启发式

计算机术语

启发式启发式

启发式:英文Heuristic;简化虚拟机和简化行为判断引擎的结合。主要针对:木马、间谍、后门、下载者、已知病毒(PE病毒)的变种。

目录

    1 基本信息 2 什么是启发式 3 传统反病毒特征值扫描技术 4 启发式技术的优势 5 启发式引擎

      基本信息

      中文名:启发式

      针 对:木马等已知病毒(PE病毒)的变种

      外文名:Heuristic

      概 念:虚拟机和简化行为判断引擎的结合

      什么是启发式

      Heuristic(启发式技术=启发式扫描+启发式监控)

      重点在于 特征值识别技术上的更新、解决单一特征码比对的缺陷。目的不在于检测所有的未知病毒,只是对 特征值扫描技术的补充。

      启发式技术是基于特征值扫描技术上的升级,与传统反病毒特征值扫描技术相比,优点在于对未知病毒的防御。是特征值识别技术质的飞跃。  启发式 查毒技术属于 主动防御的一种,是当前对付未知病毒的主要手段,从工作原理上可分为静态启发和动态启发两种。

      启发式指 “自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”, 是杀毒软件能够分析文件代码的 逻辑结构是否含有恶意程序特征,或者通过在一个虚拟的安全环境中前摄性的执行代码来判断其是否有恶意行为。在业界前者被称为静态代码分析,后者被成为动态 虚拟机。 静态启发技术指的是在静止状态下通过病毒的典型指令特征识别病毒的方法,是对传统 特征码扫描的一种补充。由于病毒程序与正常的应用程序在启动时有很多区别。 通常一个应用程序在最初的指令,是检查命令行输入有无参数项、清屏和保存原来屏幕显示等,而病毒程序则通常是最初的指令是直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列。静态启发式就是通过简单的反编译,在不运行病毒程序的情况下,核对病毒头静态指令从而确定病毒的一种技术。 而相比静态启发技术,动态启发技术要复杂和先进很多。动态启发式通过杀软内置的 虚拟机技术,给病毒构建一个仿真的运行环境,诱使病毒在 杀软的模拟缓冲区中运行,如运行过程中检测到可疑的动作,则判定为危险程序并进行拦截。这种方法更有助于识别未知病毒,对 加壳病毒依然有效,但如果控制得不好,会出现较多误报的情况。 动态启发因为考虑资源占用的问题,因此只能使用比较保守的虚拟机。管如此,由于动态启发式判断技术具有许多不可替代的优势,因此仍然是目前检测未知病毒最有效、最可靠的方法之一,并在各大杀软产品中得到了广泛的应用。 由于诸多传统技术无法企及的强大优势,必将得到普遍的应用和迅速的发展。纯粹的启发式代码分析技术的应用(不借助任何事先的对于被测目标病毒样本的研究和了解),已能达到80%以上的 病毒检出率,而其误报率极易控制在0.1%之下,这对于仅仅使用传统的基于对已知病毒的研究而抽取“特征字串”的特征 扫描技术的 查毒软件来说,是不可想象的.  启发式杀毒技术代表着未来 反病毒技术发展的必然趋势,具备某种人工智能特点的反病毒技术,向我们展示了一种通用的、不依赖于升级的病毒检测技术和产品的可能性。

      传统反病毒特征值扫描技术

      传统反病毒 特征值扫描技术,由 反病毒样本分析专家通过逆向反编译技术,使用反 编译器( ollydbg、ida、trw等)来检查可疑样本文件是否存在 恶意代码,从而判定 程序文件是否属于正常程序或病毒、 恶意软件。在确认程序为病毒、恶意软件后,不同的安全厂商根据自己的标准对此可疑程序样本进行特征提取和样本命名(不同安全厂商有自己规定的特征提取点和样本命名规则)。最后经过测试部门测试通过后,更新到服务器,提供用户的本地病毒库更新。在用户操作系统正常监控或用户 手动扫描后,利用 杀毒引擎对系统上的文件自动进行 特征值提取并与病毒库中已存特征值比对,条件符合即比对结果为真时,即判断此文件为病毒库中记录的特征值对应的病毒名称的病毒( 恶意软件)。

      病毒、恶意软件通常最初的指令是直接读写磁盘操作、解码指令,或获取系统目录(GetSystemDirctory)、获取磁盘类型( GetDriveType)、打开 服务管理器( OpenSCManager)等相关操作指令序列。这些都是病毒样本分析专家分析中得到的经验。

      启发式技术的优势

      启发式技术,在原有的 特征值识别技术基础上,根据反病毒样本分析专家总结的分析可疑程序样本经验(移植入反病毒程序),在没有符合特征值比对时,根据反编译后程序代码所调用的 win32 API函数情况(特征组合、出现频率等)判断程序的具体目的是否为病毒、 恶意软件,符合判断条件即报警提示用户发现可疑程序,达到防御未知病毒、恶意软件的目的。解决了单一通过特征值比对存在的缺陷。

      例如:一个可疑程序通过反病毒 杀毒引擎反编译后,发现代码中自动释放 可执行文件驻留系统目录、 伪装系统文件、注册win32服务获取系统管理权限、通过命令行删除自身文件,调用 系统组件 svchost.exe来开启后门服务,隐藏自身进程并尝试通过 OpenSCManagerA、OpenServiceA、ControlService等函数来开启系统自身的 终端服务,以便进一步控制计算机。通过这些条件即可判断为 恶意软件( 后门程序)。

      启发式引擎

      Dr.Web启发式引擎

      蜘蛛使用Dr.Web启发式引擎,该引擎是蜘蛛自己开发的,在侦测未知威胁方面卓有成效。它的启发式引擎,加入了俄罗斯人一贯擅长的一系列复杂的脱壳运算算法。因此可以轻而易举地对将近4000多种壳进行脱壳,并且在脱壳的时候,不卡系统,内存和CPU占用水平都维持在低水准中。蜘蛛能够高精度侦探 加壳对象,将其分解为组成部分并进行逐一检查,判断是否存在隐藏的危险。即便是有害程序使用的是新加壳方式,也不会逃过它的检查。实际上,流行的加壳方式分为加密保护和压缩保护。蜘蛛的启发式引擎,主要负责对加密保护这类壳( ASProtect、tElock、 Armadillo、SVK Protector、Xtreme-Protector、Obsidium、PElock等)进行脱壳。而对于压缩保护的壳( UPX、 ASpack、Petite、 PECompact、PE-PACK等),蜘蛛还有自己的特色技(Origins.Tracing TM)来额外处理,以便分担启发式分析仪单方面脱壳的压力。

      Dr.WebAV-Desk版中的云安全技术

      蜘蛛在自己的福云版AV-Desk加入了云安全技术,为提高对未知病毒的反映处理时间做出了贡献。独特的非特征性分析技术Origin.Tracing,FLY-CODE 是独一无二的全能解包器,设于Dr.Web 5.0及6.0版的搜索模块。利用这一解包器Dr.Web可解未知的打包器。利用Dr.Web病毒库中的专门记录,搜索模块能够对存在于打包压缩文件中的有害对象作出启发式判断,这时在被侦测出的对象名称后添加《可能是 Trojan.Packed》。Packed就是捆绑打包之意。即该技术有利于侦测任何含压缩保护的文件中内含有的恶意捆绑内容(广告程序、后门、木马等)。此技术是对传统特征分析(常规病毒特征码对比)和 Dr.Web启发式分析仪( 启发式引擎)的补充,大大分担启发式分析仪脱壳的压力。该技术同时有利于降低启发式分析仪的误报及缩短侦测时间。因此,当我们下载的一些程序包内含有广告插件时,蜘蛛就能很敏锐地侦测到,非常强悍。致使很多人误以为其误报正常安装程序。不过,蜘蛛也是有缺点的,那就是它的 本地化控制得不好,对部分国内软件(即使没有捆绑插件)误报。 NOD32 ThreatSense启发式引擎

      NOD32之所以能斩获如此多的奖项,其终究还是要归功于它所使用的高效综合性防护架构引擎——ThreatSense 启发式引擎。利用单一的ThreatSense启发式引擎,来处理不同的威胁(病毒、 蠕虫、木马、间谍软件、广告软件、后门程序、 网络钓鱼)。以此来简化工序,提高执行效能。除了常规病毒特征码检测外,NOD32基于TS启发式引擎的检测技术还有2种。1、静态启发。静态启发这一块含有2种技术。第一种是基于病毒库中已有的特征码对比,并在静止状态下通过简单的反编译,核对病毒头静态指令来识别病毒。第二种就是基因码检测(国外的叫法),类似于国产杀软的广谱查杀技术。主要是从各病毒变种中找到一些相同的非连续的程序代码,制作出通用的家族启发规则,内置于NOD32中。一旦在对比中发现可疑文件含有的部分代码符合或接近此家族启发规则,就进行报毒。这对NOD32来说,还算是小儿科的。真正厉害的是它的动态启发。2、动态启发动态启发远比静态启发要先进和复杂很多。它辨别病毒的方法并非依靠任何特征数据库,而是在档案扫描时主动地拆解与分析档案的执行码,并使用 虚拟机技术,给可疑文件构建一个 虚拟仿真的运行环境,诱使它在 杀软的模拟缓冲区中运行,如运行过程中检测到可疑的动作,则判定为危险程序并进行拦截。这种方法对 加壳病毒依然有效,但如果控制得不好,会出现较多误报的情况。动态启发因为考虑资源占用的问题,因此目前只能使用比较保守的虚拟机技术。我们常见的NOD32静态启发报毒,就是那些有“变种( variant)”、“可能(probably)”或带“Gen(Generic——基因启发)”字样的报法。而动态高启发报毒,则是以“未知的NewHeur_PE病毒”(probably unknown NewHeur_PE virus )来标示的。在用户病毒扫描测试中,查杀率并不是很高。

      ThreatSense.Net全球病毒预警系统

      ThreatSense.Net类似于 ESET的 云安全,它可以将客户端的 启发式引擎报警为未知NewHeur_PE病毒的样本,从后台遣送至ESET的病毒实验室,从而进一步深入指纹对比,并最终确认威胁的具体种类、名称和危害度等级。它是从NOD32 2.5就延续下来的功能,那时候很多厂商都没有云安全这个概念呢。可见ESET的技术和理念都是很有前瞻性的。通过TS.Net,用户可以将威胁的应对时间,从以往的数天降低至几小时甚至于几分钟以内,从而得到接近于零时差的保护。ESET NOD32的优点如上述般多,但缺点也是并存的。它在开了高启发之后,对于某些 加壳的文件进行模拟运行分析时,会不稳定。这样导致的结果是偶尔CPU会瞬时飙升很高,直观上就是 电脑卡几下。不过,瑕不掩瑜,NOD32的启发侦测病毒率占全部侦测率的大部分,同时误报控制得极低,所以说,它终究高启发低误报的典范代表 杀软之一。

      McAfee启发式引擎&Artemis云技术

      咖啡的启发式引擎也是自家独创的,拥有基因启发和模拟行为分析的能力。它使用了启发式杀软普遍使用到的基因码侦测技术,能非常有效地对付种类繁多的病毒和木马的变种。同时也有着很好针对未知威胁的前摄性侦测能力。Artemis 月神技术是McAfee为了即时防御在线的恶意威胁,而开发出的一种云技术应用,最早见于企业版的咖啡产品中。不过从09年开始,咖啡的家庭版产品,也加入了此技术,并更名为“Active Protection”。Artemis会查找可疑的 PE 文件,并当侦测到时,把某类的总和检查码(不会包含个人/敏感的数据)传送到由McAfee AVERT Labs架设的中央 数据库服务器。该中央数据库服务器会不断地更新新发现的恶意软件,而且 McAfee 的恶意软件队列到目前为止并未建立官方 DATs. 如果符合中央数据库内的数据,扫描仪会报告并处理侦测到的恶意软件。在 McAfee 的队列中的文件并未经历过任何分析,但会由 McAfee 的巨大白名单交叉检查以避免误判。根据由 远程维护的黑名单,可以提供较每日多次发布特征码更新来对付每小时大量出现新的恶意软件的厂商快速的保护,以防止新的恶意软件的入侵,达到所谓的零时差防护!Artemis在企业版咖啡产品中,其等级是可调的。而在家庭版产品中,无法调节相应等级。 Norton BloodHound启发式引擎

      BloodHound是 赛门铁克独家的启发式侦测技术。和众多启发式引擎无异,它会借由可疑的行为来侦测病毒。BloodHound会制造一个虚拟的安全环境,使病毒展现出他的不良企图,而不会影响到本身计算机运作的稳定性。综合性SONAR行为侦测/防御技术启发只运行于虚拟主机当中,倘若病毒木马不幸进入实体主机,就得利用“行为防御技术”了;行为防御会分析可疑程序的行为,并事先阻拦,诺顿著名的SONAR无疑是当中最成熟的。直观来说,SONAR是一种行为侦测/防御的技术,其可以在建立病毒定义档及间谍软件侦测定义档前,阻止恶意程序码侵入。这些新兴且未知的恶意程序码会透过 木马程序、 蠕虫、大众 邮件病毒、间谍软件或者下载软件病毒的形式进行攻击与破坏。当许多产品仅使用一组有限的启发式法则时,SONAR可以透过广泛且异质的应用 行为数据,大幅提升其防护能力,且明显地将误判率降至最低。具体来说,SONAR技术与卡巴单纯的 主动防御技术不同,它更注重途径防御( 诺顿注重的"途径防御",主要通过过各种不依赖病毒库的防御技术,封锁各种病毒感染途径,如漏洞防御,浏览器防御)。SONAR更多的是根据产品中一系列的引擎例如防火墙,防毒引擎,入侵防护引擎(IPS)、浏览器防护引擎(Browser Defender)等等来收集和整合信息的。然后所有这些信息会被分类器所使用来提高效能。这和其他厂商的技术有很大的区别。很多其他安全厂商没有如此庞大的信息来制作好的分类器。

      Kaspersky 加入了启发式技术的AVP引擎

      从卡巴7开始,卡巴顺应潮流,也对自己的软件加入了启发式扫描的技术。卡巴和众多启发式 杀软一样,也是基于虚拟机模拟运行分析病毒行为的。它的启发率似乎并不是很高,但对某些特定壳,启发侦测就稍微多一些。它的启发强度是可调的,有低、中、高三个等级。总的来说,启发只是卡巴的一种辅助侦测手段,其主要的侦测手段还是靠 病毒特征库和 主动防御模块。

      BitDefender 含有B-HAVE启发式技术的BD引擎

      (B-HAVE, BehavioralHeuristic Analyzer in Virtual Environments)- 在计算机内生成虚拟环境,模拟软件运行并识别是否存在恶意插件,将病毒与您的操作系统完全隔离。此技术已在实际应用得到检验:MemScan:Adware.Nail.A(BitDefender检测)在BitDefender用户系统已发现的恶意文件中排名前列。和众多启发式杀软一样,这种启发虚拟分析的技术也在BD的引擎中得到使用。Active Virus Control(活动病毒控制)BD 2010加入了AVC技术,结合B-HAVE应用环境,精确判断可疑行为,清除潜伏恶意程序,最大限度保护计算机安全。Active Virus Control技术新特点:十项认定为可疑进程活动迹象的行为:请求任何类型的用户交互后没有等待、终止执行程序时没有显示任何类型用户界面、复制或移动文件到系统文件夹、没有相关链接类型的图标、对其他进程执行代码、运行由本身创建的 二进制文件中已存储代码、在一个磁盘中不同文件里复制本身代码、在操作系统启动项里添加自己、隐藏在已知应用程序、卸载 系统文件夹中的驱动并重新注册、虚拟环境中行为启发式分析。BD有不少优点(基因启发、动态启发、病毒库大,清除能力强等),但缺点也是有的。它的产品体积很臃肿,并很难卸载干净,另外就是不能够检测一些新兴的恶意软件,检测能力有些滞后。另外,在用户病毒扫描测试时发现并不能将病毒与操作系统完全隔离,查杀率也不高。 Panda遗传性启发式引擎技术

      毫无疑问,熊猫启发式引擎,也是自己开发的。能够进行基因静态启发和高级启发虚拟环境运行分析确认病毒。该遗传性启发式技术有利于检测出未知病毒或潜在的危险病毒,也就是病毒代码库中还没有的病毒。同时与最新的SmartClean II技术结合,在清除了 蠕虫或者木马后,恢复受损的系统设置和关键部分。