基于程序执行特征的网页木马检测方法技术

技术编号:4327927 阅读:486 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机安全领域,涉及基于程序执行特征的网页木马检测方法。本发明专利技术利用网络爬虫抓取网页源码,然后经过多层解码后得到可识别的脚本程序,在保留脚本程序的同时对其进行反汇编处理得到汇编源码,再判断这些源码是否存在大量无效指令填充、调用系统级函数、明显的URL链接,最后通过汇编码来深层次的检测网页中是否含有木马。由于现有挂马网站相当一部分都植入了ShellCode,要使网页中的ShellCode能在本地机器中执行,需利用系统漏洞实现缓冲区溢出,使程序跳转到ShellCode代码段上。因此只要分析执行ShellCode的条件,并根据其执行特征来分析源码,就能对待检测网页是否是网页木马做出快速检测。

【技术实现步骤摘要】

本专利技术属于计算机安全领域,涉及一种网页木马检测方法。
技术介绍
计算机病毒、木马、间谍软件和恶意代码是近几年来计算机网络面对的最 主要的安全威胁。在计算机病毒、木马、间谍软件和恶意代码的传播途径中, 除垃圾邮件外,还有一条重要的途径就是通过构造特殊的网页将病毒、木马传 播到访问该网页的用户计算机中。这种特殊的网页主要利用操作系统、浏览器、 插件等的各种漏洞,将可执行的恶意代码传播到用户计算机上进行执行,或利 用系统中的解析器、控件的执行权限将网页中的恶意代码自动运行。由于这些 特殊网页的配置和编码较为复杂,并且为了能够躲避杀毒软件的查杀,大多由 人工配置并采用第三方软件进行加密变形处理,因而成为黑客用来传播木马病 毒较为有效的方法。网页木马即利用特殊网页来传播的木马病毒,特殊网页是木马病毒的载体, 木马病毒通过特殊网页来达到传播的目的。这些特殊网页其本质在于网页而非 木马病毒本身,这些特殊网页通常是将木马病毒的执行代码编码成为该网页的 组成部分,并配合特殊网页自身的代码来激活木马程序,因此黑客群体、杀毒 软件公司和网络安全防御单位将其称之为网页木马。换而言之,网页木马是网 页中内嵌了一段能执行木马病毒的脚本程序,因此,网页木马的本质是内嵌特 殊脚本程序的网页。据江民反病毒预警中心、江民全球病毒监测网提供的数据显示,截至12月 份,江民反病毒中心共截获计算机新病毒类型总数为363000余种,这一数字是 2006年的六倍多,至此江民杀毒软件KV系列病毒库总量己经超过80万。2007年 全年病毒累计感染电脑34414793台,新病毒感染电脑台数为28879529台,其中 木马病毒感染24875117台,占病毒总数的72.28%,而网页木马在木马病毒中又 占到了3/4强。由此可见,现在网络安全面临的主要威胁是木马病毒,尤其是网3页木马。随着计算机网络攻防技术的不断进步,网页木马的传播途径也在悄悄的发 生变化。近几年,利用微软系统漏洞传播一直是网页木马的最主要传播途径。 然而监测结果显示,目前越来越多的网页木马开始绕开微软的系统漏洞,转而 利用国产应用软件的漏洞来进行传播。由于国产软件的漏洞修复动作相对较慢, 因此中毒的机率就会增大,危害时间就会更长。虽然在对网页木马的检测中杀毒软件公司积累了大量的经验和特征码,但 是由于系统漏洞、浏览器漏洞和第三方插件的漏洞层出不穷,而且黑客也在不 断地对网页木马进行更新升级,采用加密和插入干扰字符等手段来躲避检测。 用户要想躲避网页木马的攻击,必须不断的安装补丁程序或者升级系统,但是每年每月甚至每一天都会有新的漏洞出现。就在2005年7月,国际报道美国微软 称黑客正在疯狂地试图利用Windows中的两处严重安全缺陷。其中的一个缺陷 影响〃色彩管理模块〃一处理颜色的一个Windows组件;另一个缺陷与微软Java 虛拟机的JViewProfiler部分有关,微软称,该缺陷可以被用于控制用户的个人 电脑。此外,在对漏洞信息的获取上,用户和黑客是不对等的。黑客会最先知 道和利用漏洞,而用户却不可能得到及时升级,这些用户的计算机很可能将长 期受到黑客的控制。因此,切断网络木马的传播途径成为防范网页木马最有效 的方法,而网页木马检测方法最主要的是要能检测出隐藏在网页代码中的漏洞 利用代码。随着新的漏洞的出现就会有新的网页木马产生,所以检测、查杀网 页木马将是个长期、艰巨的任务。现有的网页木马检测方法主要采用的是构建一个庞大的挂马网页特征数据 库,然后对待检测网页进行逐个特征匹配。如果待检测网页中有和特征数据库相匹配的特征的话,就判断该网页是挂马网页,如果没有的话就判断为非挂马 网页。这种方法存在着以下几个弊端(1) 这种检测方法需要不断地更新特征数据库,然而随着特征数据库变得 越来越庞大,就会使系统的检测速度下降。(2) 由于这种检测方法只是对网页进行匹配检测,并没有从木马运行机理 角度去分析,因此当木马病毒编写者对挂马网页屮的特征串进行随机替换时, 这种检测方法就无法检测出该网页是否为挂马网页,从而造成漏检。(3) 由于这种检测方法采用的是特征匹配,所以在检测网页的时候,只要4出现特征匹配,系统就会断定这个网页是挂马网页。但是,实际情况中有的网 页虽然和特征数据库的特征相匹配,但却并没有挂马,而是一个正常网页。对 于这种情况,这种检测方法就会造成误检。因此,对于网页木马的检测,需要明确网页木马所要实现的功能,以及这 个功能在网页代码里是如何实现的。网页木马的运行原理是利用浏览器本身或第三方软件的漏洞,网页木马编 写者通过编写漏洞利用代码来获得系统执行权限,从而执行下载木马等操作, 以实现木马的扩散。因此,网页木马实现的关键就是编写漏洞利用代码。术语简介Shellcode是一段机器指令,是溢出程序和当今多数网络病毒的核心,它通 常是和漏洞联系在一起的。当黑客发现系统漏洞或是第三方软件漏洞时,就会 编写溢出代码来使程序溢出,使得黑客获得程序的执行权限,这样黑客就可以 改变程序的流程,使程序跳转到预先编制好的一段能完成黑客所需要功能的机 器指令上,从而实现病毒的注入或执行。这段机器指令就是Shdlcode。Heap Spray是一种溢出技术,它是用来描述一段能实现堆溢出的代码。通常 来说,这段代码是通过往进程堆里写入大量重复的字串来实现堆的溢出来获得 对程序执行指针的控制权,进而改变该指针所指向的下一条指令,使程序跳转 到事先定制好的Shellcode上,从而执行Shellcode代码来实现对系统的控制。
技术实现思路
本专利技术的目的是为了检测出用户访问的网页是否为网页木马,提出一种基 于程序执行特征的网页木马检测方法。本专利技术的基本原理是当前的网页木马都是由溢出代码和一段Shdlcode组 成。如果能确定出被检测网页的源代码中存在溢出代码和Shellcode,就可以说 明这是一个网页木马,从而快速准确的检测一个网页是否为网页木马。本专利技术提出的-种,具体步骤如下a. 使用网络爬虫软件获取被检测网页的HTML源代码;b. 运行脚本解释模块对经步骤a获取得到的网页源代码进行多层解码处理,从而得到可识别的脚本源码;因为经步骤a所抓取到的网页源代码在大多数情况下会有多种编码存在,并且有可能出现经过一层解码之后还是个不可识别的脚本代码,因此,在这种情 况下为了能够自动获得可识别的脚本代码,就需要对抓取到的网页源代码进行 多层解码处理,从而来获得网页中可识别的脚本代码。c. 对经步骤b得到的脚本源码进行字节unicode解码(即字节反序解码),如 果解码结果屮出现明显的系统调用和URL下载连接,则说明该脚本要完成木马的 自动下载,告警值加l,然后进行步骤d;若未出现明显的系统调用和URL下载连 接,则直接进行步骤d。判断脚本源码是否存在系统调用,是通过对解码结果进行模式匹配来实现 的,如果解码结果出现LoadLibmryA等系统函数,就说明其存在着系统调用。由于网页木马程序中的Shellcode是以Unicode编码形式出现的,而Shellcode 的目的是为了下载木马病毒到本地机器,所以,为了能实现下载这一功能, Shellcode必须调用系统函数来实现下载,并且,由于这些,木马病毒是来本文档来自技高网
...

【技术保护点】
基于程序执行特征的网页木马检测方法,其特征在于具体步骤包括:  a.使用网络爬虫软件获取被检测网页的HTML源代码;  b.运行脚本解释模块对经步骤a获取得到的网页源代码进行多层解码处理,从而得到可识别的脚本源码;  c.对经步骤b得到的脚本源码进行字节unicode解码,如果解码结果中出现明显的系统调用和URL下载连接,则说明该脚本要完成木马的自动下载,告警值加1,然后进行步骤d;若未出现明显的系统调用和URL下载连接,则直接进行步骤d;  d.对经步骤b得到的可识别的脚本源码进行反汇编操作,然后判断该汇编代码是否是可执行的,如果是,则说明这一脚本含有Shellcode代码,告警值加1,然后进行步骤e;若该汇编代码是不可执行的,则直接进行步骤e;  e.对脚本源码进行程序流程分析,如果发现有明显的对内存写入大量数据的操作,那么就说明这个脚本源码要实现某种溢出操作,告警值加1;  f.如果告警值为累计为3的话就说明该网页是一个网页木马,如果告警值累计1或是2的话,说明该网页是个疑似网页木马,如果告警值累计为0的话就说明该网页是个正常网页。

【技术特征摘要】
1.基于程序执行特征的网页木马检测方法,其特征在于具体步骤包括a.使用网络爬虫软件获取被检测网页的HTML源代码;b.运行脚本解释模块对经步骤a获取得到的网页源代码进行多层解码处理,从而得到可识别的脚本源码;c.对经步骤b得到的脚本源码进行字节unicode解码,如果解码结果中出现明显的系统调用和URL下载连接,则说明该脚本要完成木马的自动下载,告警值加1,然后进行步骤d;若未出现明显的系统调用和URL下载连接,则直接进行步骤d;d.对经步骤b得到的可识别的脚本源码进行反汇编操作,然后判断该汇编代码是否是可执行的,如果是,则说明这一脚本含有Shellcode代码,告警值加1,然后进行步骤e;若该汇编代码是不可执行的,则直接进行步骤e;e.对脚本源码进行程序流程分析,如果发现有明显的对内存写入大量数据的操作,那么就说明这个脚本源码要实现某种溢出操作,告警值加1;f.如果告警值为累计为3的话就说明该网页是一个网页木马,如果告警值累计1或是2的话,说明该...

【专利技术属性】
技术研发人员:陶然李志勇蔡镇河王越杜华张昊
申请(专利权)人:北京理工大学
类型:发明
国别省市:11[中国|北京]

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

1