启发式代码分析方法技术

技术编号:7155388 阅读:249 留言:0更新日期:2012-04-11 18:40
一种在计算设备检测恶意软件的方法。所述方法包括:检查软件程序,所述软件程序包括程序指令序列;判定所述序列中每个指令是否符合怀疑准则组中的任一准则;给符合所述怀疑准则中任一准则的每个指令分派一指令级评分;对每个指令的所述指令级评分求和来得到程序级评分;判定所述程序级评分是否超过阈值;以及如果所述程序级评分超过阈值,生成报告,所述报告表明恶意软件检测结果。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2009年8月27日递交的美国专利申请 No. 12/548, 747的优先权权益,该美国专利申请No. 12/548, 747要求2008年8月观日递交的美国临时申请No. 61/092,602的优先权。本公开涉及对经由通信网络传送的数据的识别和分析,并且更具体地,涉及对有害或有恶意的软件或数据的检测和分析。随着计算机网络技术和架构在数年来已经得到改进,计算机网络设备之间所传送的数据量和数据速率已经急剧增长。在这些所传送的数据中,有一类数据被称为恶意软件。 恶意软件(malware或者malicious software)是一种设计来在未经设备所有者知悉或者同意的情况下潜入计算设备的计算机程序。恶意软件已经开始指代一类广泛的软件,其包括各种敌意的、侵入式或者其他恼人形式的软件或计算机代码。恶意软件包括各种病毒、蠕虫、木马(trojan horse或者trojan)、后门(rootkit)、间谍软件、广告软件和任何其他不希望的有恶意的软件。各种类型的恶意软件可以收集与用户相关的个人信息并且将这些信息发送回信息收集设备。其他类型的恶意软件可以导致计算设备工作性能低下或者完全不工作。识别并移除恶意软件的一种尝试即反病毒软件。常规的反病毒软件使用基于搜索序列和规则的分析来查找已知恶意软件。然而,恶意软件代码可以被恶意软件程序作者频繁地改动,从而基于搜索序列和规则的分析可能对检测更新的程序力不能及。较新的反病毒软件使用更高级精深的识别技术,尤其是在试图检测新的和未知的恶意软件程序时。现有的恶意软件程序可能共享类似的命令模式,不管用于实现恶意软件的实际编码如何,所述类似的命令模式可以被反病毒软件识别。然而,这样的方法对于检测不具有之前所检测到的操作模式的新病毒和未知病毒来说不是非常有用。为了解决该问题,新近开发的反病毒软件检测方法评估可疑程序行为。如果反病毒软件找到与可以被称为“良好样式”的行为的巨大差异,反病毒软件应用可以假设其已经检测到了新的病毒或恶意软件程序。这些方法可以使用总体术语而被称为“启发式”恶意软件检测方法。通常,启发式分析意味着在某个隔离且安全的环境中启动被检查程序,并且该方法调查其性能。该方法试图收集尽可能多的信息并且评估被检查程序的性能是否可以被认为是正当的,或者该程序是否图谋一些不平常或者危险的东西。如果检测到可疑活动, 则可以将该程序归类为可疑的或者甚至是有害的。启发式分析可以提供某些优点。它在无论被检查程序在过去是否曾被检查过的情况下起作用。它还可以识别新的病毒和木马。然而,也有一些缺点。缺点包括1)缺乏精确性。没有启发式方法可以被认为是完全精确的。正确的软件行为和有害的软件行为之间的界线可能是模糊的。因此,对干净程序的误告警以及对真正恶意软件错失检测可能是普遍的。2)时间要求。在人们可以肯定不会导致伤害的安全环境中启动程序是时间要求非常高的。43)对策众多。恶意软件作者使用数种花招来防止这类分析。避免所有陷阱和诡计是极度困难的。
技术实现思路
在该文献中所描述的专利技术并不限于所描述的特定系统、方法或协议,因为它们可以改变。本文所使用的术语仅用于描述特定实施方案的目的,并且其并不意图限制本公开的范围。必须注意,如本文及所附权利要求书中所使用的,除非上下文另外明确指出,否则单数形式“一”(“a”和“an”)和“所述”包括复数指称。除非另外定义,否则本文使用的所有技术和科学术语具有本领域普通技术人员所普遍理解的含义。使用在这里,术语“包括” 意味着“包括但不限于”。在一个总的方面,实施方案公开在计算设备检测恶意软件的方法。所述方法包括 通过所述计算设备的处理器检查软件程序,所述软件程序包括储存在计算机可读介质上的程序指令序列,所述计算机可读介质可操作地连接到所述处理器;通过所述处理器判定所述序列中每个指令是否符合怀疑准则组中的任一准则;通过所述处理器给符合所述怀疑准则中任一准则的每个指令分派一指令级评分;通过所述处理器对每个指令的所述指令级评分求和来得到程序级评分;通过处理器判定所述程序级评分是否超过阈值;以及如果所述程序级评分超过阈值,通过所述处理器生成报告,所述报告表明恶意软件检测结果。在另一个总的方面,实施方案公开在计算设备检测恶意软件的方法。所述方法包括通过所述计算机设备的处理器运行软件分析程序的步骤。具体地,运行所述软件分析程序的操作包括通过所述处理器加载程序指令序列,所述程序指令序列储存在计算机可读介质上,所述计算机可读介质可操作地连接到所述处理器;通过所述处理器,当所述序列中的每个程序指令被执行时检查所述每个程序指令;通过所述处理器,在执行过程中判定所述序列中每个指令是否符合怀疑准则组中的任一准则;通过所述处理器给符合所述怀疑准则中的任一准则的每个指令分派一指令级评分;通过所述处理器对每个指令的所述指令级评分求和来得到程序级评分;通过处理器判定所述程序级评分是否超过阈值;以及如果所述程序级评分超过阈值,通过所述处理器生成报告,所述报告表明恶意软件检测结果。在一个总的方面,实施方案公开在计算设备检测恶意软件的方法。所述方法包括 通过所述计算机设备的处理器检查软件程序,所述软件程序包括储存在计算机可读介质上的程序指令序列,所述计算机可读介质可操作地连接到所述处理器;通过所述处理器判定所述序列中每个指令是否符合怀疑准则组中的任一准则,其中所述怀疑准测组包括对所述指令是否会导致数据转换的判定,对所述指令是否会引起进入到另一个指令的跳转的判定,以及对至少两个顺序指令是否有同一含义的判定;通过所述处理器给符合所述怀疑准则中任一准则的每个指令分派一指令级评分;通过所述处理器对每个指令的所述指令级评分求和来得到程序级评分;通过处理器判定所述程序级评分是否超过阈值;以及如果所述程序级评分超过阈值,通过所述处理器产生成报告,所述报告表明恶意软件检测结果。附图说明参照以下描述和附图,将清楚本专利技术的方面、特征、益处和优点,在附图中图1图示与技术上纯粹的(technically pure)软件程序相关的示例性代码;图2图示与恶意软件程序相关的示例性代码;图3图示示例性恶意软件检测过程;图4图示用于实现图3所描述过程的示例性计算设备。具体实施例方式本公开描述分析潜在可疑程序的新的启发式方法,所述方法在无需在实际操作环境中运行所述程序的情况下起作用,由此消除可疑程序进行任何有害操作的可能性。如上面提及的,启发式恶意软件检测方法可以在可疑程序正在安全环境中运行时检查该可疑程序——一种在本文中被称为“动态”方法的方法。然而,这些动态方案具有各种与在安全环境中运行软件所需的时间和资源相关的缺点。相反,下面被描述为“静态”启发式分析方法在无需运行可疑程序的情况下检查所述可疑程序代码。本公开还描述一种用于分析程序代码的静态方法。该分析不仅仅是从基于程序行为的范围进行的,而是从基于技术纯粹性(purity)的范围进行的。该方法查找程序代码与普通“官方”工具所产生程序代码相比的差异。使用在这里,术语“官方工具”指普遍使用的汇编器和运行时压缩器。本公开中描述的方法认定以标准且正确的方式创建的程序代码是技术上纯粹的、功能上直截了当的,并且没有包括任何有恶意的编码花招来阻挡分析。技术纯粹性本文档来自技高网
...

【技术保护点】
1.一种在计算设备检测恶意软件的方法,所述方法包括:通过所述计算设备的处理器检查软件程序,所述软件程序包括储存在计算机可读介质上的程序指令序列,所述计算机可读介质可操作地连接到所述处理器;通过所述处理器判定所述序列中每个指令是否符合怀疑准则组中的任一准则;通过所述处理器给符合所述怀疑准则中任一准则的每个指令分派一指令级评分;通过所述处理器对每个指令的所述指令级评分求和来得到程序级评分;通过处理器判定所述程序级评分是否超过阈值;以及,如果所述程序级评分超过阈值,通过所述处理器生成报告,所述报告表明恶意软件检测结果。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:Z·布里特恩巴彻
申请(专利权)人:AVG技术捷克有限责任公司
类型:发明
国别省市:CZ

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1