一种基于编译器识别的APT检测方法及系统技术方案

技术编号:10188158 阅读:158 留言:0更新日期:2014-07-04 20:36
本发明专利技术公开了一种基于编译器识别的APT检测方法及系统,首先,获取待检测的PE文件,并检测所述PE文件在特定位置处是否存在编译器特征码,若存在,则判定所述PE文件为非病毒程序,否则检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序,否则判定所述PE文件为加壳程序,对所述PE文件进行脱壳处理后,继续进行检测;本发明专利技术所述的方法可以脱离对庞大病毒库的依赖,有效检测已知病毒和未知病毒。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于编译器识别的APT检测方法及系统,首先,获取待检测的PE文件,并检测所述PE文件在特定位置处是否存在编译器特征码,若存在,则判定所述PE文件为非病毒程序,否则检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序,否则判定所述PE文件为加壳程序,对所述PE文件进行脱壳处理后,继续进行检测;本专利技术所述的方法可以脱离对庞大病毒库的依赖,有效检测已知病毒和未知病毒。【专利说明】—种基于编译器识别的APT检测方法及系统
本专利技术涉及计算机网络安全
,尤其涉及一种基于编译器识别的APT检测方法及系统。
技术介绍
传统的病毒检测方法通常都是基于特征码的检测,即根据捕获的样本,对同一种病毒或同一病毒家族提取一段共有的代码作为特征码,从而避免对正常的文件产生误报,实现病毒检测的目的。传统的病毒检测方法由于是基于特征码的检测方法,对已知病毒的检测效果较为有效,但是对于未知病毒就显得无能为力了。而且,传统的病毒检测方法需要携带庞大的病毒库,检测能力在很大程度上取决于病毒库的更新是否及时。对于新型病毒的出现,例如变型病毒或者多态病毒,都对传统的病毒检测提出了挑战,因为传统方法无法提取出公共特征。目前,网络威胁已经进入高级可持续威胁(APT)时代,单纯依靠已知信息是不能解决APT问题的,APT时代需要的是发现未知威胁的能力。
技术实现思路
针对上述技术问题,本专利技术提供了一种基于编译器识别的APT检测方法及系统,该方法通过使用编译器识别技术来判定所述PE文件是否携带病毒,可以更加有效的检测未知病毒。本领域的技术人员可以知道:一般经过编译器编译过的二进制程序都具有共同的框架。不同类型的编译器具有不同的框架。同时,作为正常的程序,其框架通常位于程序的特定位置(例如程序入口点、程序可开始执行的位置等)。由此,可以利用所述框架作为编译器识别的特征码。由于病毒体代码不是由编译器编译的,不是一个完整的程序,因此,病毒体代码本身不具备编译器特征码。病毒为了获得执行权限,通常会修改程序的框架,以此改变程序的执行顺序,以便可以优先执行病毒体代码。因此,通常含有病毒代码的程序的编译器特征码位于其他位置。本专利技术采用如下方法来实现:一种基于编译器识别的APT检测方法,包括: 步骤1、获取待检测的PE文件,并检测所述PE文件在特定位置处是否存在编译器特征码,若存在,则判定所述PE文件为非病毒程序,否则执行步骤2 ; 步骤2、检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序,否则判定所述PE文件为加壳程序,对所述PE文件进行脱壳处理后,继续执行步骤I ; 所述特定位置是不同程序经相同编译器编译后具有相同框架代码的位置,至少包括:程序入口点或者程序开始执行的位置; 所述编译器特征码是从经编译器编译后的程序的所述特定位置处提取的特征码。进一步地,当判定所述PE文件为非病毒程序后,还包括:使用反病毒引擎进一步检测。进一步地,所述检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码的方法为滑动检测技术,所述滑动检测技术为:从程序的设定位置开始,按照设定的顺序,依次向后滑动检测,当检测到特征码时则停止的检测技术。一种基于编译器识别的APT检测系统,包括: 第一检测模块,获取待检测的PE文件,并检测所述PE文件在特定位置处是否存在编译器特征码,若存在,则判定所述PE文件为非病毒程序,否则将所述PE文件发送至第二检测模块; 第二检测模块,接收发送来的所述PE文件,检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序,否则判定所述PE文件为加壳程序,对所述PE文件进行脱壳处理后,将所述PE文件发送至第一检测模块; 所述特定位置是不同程序经相同编译器编译后具有相同框架代码的位置,至少包括:程序入口点或者程序开始执行的位置; 所述编译器特征码是从经编译器编译后的程序的所述特定位置处提取的特征码。进一步地,当第一检测模块判定所述PE文件为非病毒程序后,还包括:使用反病毒引擎进一步检测。进一步地,所述检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码的方法为滑动检测技术,所述滑动检测技术为:从程序的设定位置开始,按照设定的顺序,依次向后滑动检测,当检测到特征码时则停止的检测技术。综上所述,本专利技术提供了一种基于编译器识别的APT检测方法及系统,首先记录经现有编译器编译后的程序具有的程序框架,从所述框架中提取编译器特征码用于后续的编译器识别,获取待检测的PE文件,判断所述PE文件的特定位置处是否存在编译器特征码,若存在则判定为非病毒程序,否则继续判断所述PE文件的其他位置处是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序。因为,当检测到所述PE文件在特定位置处不含有编译器特征码,而在其他位置含有编译器特征码时,则认为存在病毒程序改变了程序本来的框架,改变了程序的执行顺序,以便可以优先执行病毒体代码,并由此判断所述PE文件为病毒程序。该专利技术所述的方法及系统可以更有效的检测已知病毒和未知病毒,并且其检测的准确率与病毒库的更新无关,可以更加有效地对抗变形病毒或者多态病毒等新型病毒。【专利附图】【附图说明】为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种基于编译器识别的APT检测方法流程图; 图2为本专利技术提供的一种基于编译器识别的APT检测系统结构图。【具体实施方式】本专利技术给出了一种基于编译器识别的APT检测方法及系统,为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术中技术方案作进一步详细的说明: 本专利技术首先提供了一种基于编译器识别的APT检测方法,如图1所示,包括: SlOl获取待检测的PE文件; S102检测所述PE文件在特定位置处是否存在编译器特征码,若存在,则判定所述PE文件为非病毒程序,否则执行S103 ; S103检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序,否则判定所述PE文件为加壳程序,继续执行S104 ; S104对所述PE文件进行脱壳处理后,继续执行SlOl ; 所述特定位置是不同程序经相同编译器编译后具有相同框架代码的位置,至少包括:程序入口点或者程序开始执行的位置; 所述编译器特征码是从经编译器编译后的程序的所述特定位置处提取的特征码。其中,上述所述的编译器可以为一个或者多个,可以从现有的编译器中提取编译器特征码,用于后续检测。优选地,当判定所述PE文件为非病毒程序后,还包括:使用反病毒引擎进一步检测。优选地,所述检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码的方法为滑动检测技术,所述滑动检测技术为:从程序的设定位置开始,按照设定的顺序,依次向后滑动检测,当检本文档来自技高网
...
一种基于编译器识别的APT检测方法及系统

【技术保护点】
一种基于编译器识别的APT检测方法,其特征在于,包括:步骤1、获取待检测的PE文件,并检测所述PE文件在特定位置处是否存在编译器特征码,若存在,则判定所述PE文件为非病毒程序,否则执行步骤2;步骤2、检测所述PE文件在除特定位置外的其他位置是否存在编译器特征码,若存在,则判定所述PE文件为病毒程序,否则判定所述PE文件为加壳程序,对所述PE文件进行脱壳处理后,继续执行步骤1;所述特定位置是不同程序经相同编译器编译后具有相同框架代码的位置,至少包括:程序入口点或者程序开始执行的位置;所述编译器特征码是从经编译器编译后的程序的所述特定位置处提取的特征码。

【技术特征摘要】

【专利技术属性】
技术研发人员:童志明沈长伟张栗伟
申请(专利权)人:北京安天电子设备有限公司
类型:发明
国别省市:北京;11

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

1