• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 6
    • 下载费用:30 金币  

    玩重庆时时彩的人多: 基于中间指令动态插装的HEAPSPRAY检测方法.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN200910242714.2

    申请日:

    2009.12.15

    公开号:

    CN101719204A

    公开日:

    2010.06.02

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 21/00申请日:20091215|||公开
    IPC分类号: G06F21/00 主分类号: G06F21/00
    申请人: 北京大学
    发明人: 诸葛建伟; 陈志杰; 韩心慧; 龚晓锐; 宋程昱
    地址: 100871 北京市海淀区颐和园路5号北京大学
    优先权:
    专利代理机构: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 余长江
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN200910242714.2

    授权公告号:

    101719204B||||||

    法律状态公告日:

    2011.07.27|||2010.07.21|||2010.06.02

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种基于中间指令动态插装的Heapspray检测方法,属于计算机安全技术领域。本方法为:1)将解释执行网页动态脚本的虚拟机置于单步运行状态;2)判断当前要执行的中间指令是否为赋值类中间指令;3)如果是,则判断该指令参数中的右值参数类型是否为字符串类型,如果是且其值小于设定阈值P,则检查是否存在shellcode;如果右值参数值大于阈值P,则计算其信息熵值;4)取下一中间指令,重复步骤2)和3),如果一赋值类中间指令的右值参数存在shellcode,另一赋值类中间指令的右值参数信息熵值小于设定阈值Q,则判定该脚本存在Heapspray行为。本发明可减小系统开销、提高检测的准确率。

    权利要求书

    1: 一种基于中间指令动态插装的Heapspray检测方法,其步骤为: 1)将用于解释执行网页动态脚本的虚拟机置于单步运行状态; 2)判断当前要执行的中间指令是否为赋值类中间指令;所述赋值类中间指令为由原脚本语言中的赋值语句翻译之后的中间指令; 3)如果否则执行该中间指令,如果是赋值类中间指令,则判断该指令参数中的右值参数类型是否为字符串类型,如果否则执行该指令,如果是则对该赋值类中间指令进行检查:如果右值参数值小于设定阈值P,则检查右值参数值中是否存在shellcode;如果右值参数值大于阈值P,则计算该右值参数值的信息熵值H; 4)取出下一条要执行的中间指令,重复上述步骤2)和3),如果检查出一赋值类中间指令的指令参数中的右值参数存在shellcode,另一赋值类中间指令的指令参数中的右值参数信息熵值小于设定阈值Q,则判定该脚本存在Heapspray行为。
    2: 如权利要求1所述的方法,其特征在于采用启发式GetPC策略的检测算法检查所述右值参数中是否存在Shellcode。
    3: 如权利要求1所述的方法,其特征在于所述信息熵值H的计算公式为: H ( p ) = - Σ i = 0 n - 1 p i log ( p i ) , ]]> 其中,p i 为字节码值为i的字节数占总字符串长度的百分比,n=256。
    4: 如权利要求1所述的方法,其特征在于所述阈值P=65535字节。
    5: 如权利要求1所述的方法,其特征在于所述阈值Q=0.1。
    6: 如权利要求1所述的方法,其特征在于设置一全局变量hasshellcode,用于记录右值参数存在shellcode的所述赋值类中间指令;设置一全局变量lowEntropy,用于记录右值参数信息熵值小于所述阈值Q的所述赋值类中间指令。
    7: 如权利要求6所述的方法,其特征在于如果所述全局变量hasshellcode=1,且所述全局变量lowEntropy=1,则判定该脚本存在Heapspray行为,发出告警信息。

    说明书


    基于中间指令动态插装的Heapspray检测方法

        【技术领域】

        本发明属于计算机安全技术领域,具体涉及一种基于中间指令动态插装的Heapspray检测方法。

        背景技术

        网页木马(drive-by?download),通常是指存在于网页中的,利用客户端浏览器及插件中的安全漏洞,对浏览该网页的计算机进行攻击的恶意代码。近年来,以网页木马为主的针对客户端的攻击逐渐增多,并在所有攻击案例中占据了很大的比重。因此,如何有效检测和防范网页木马已经成为学术界和工业界共同关注和研究的重要问题。

        在网页木马的攻击过程中,为了提高攻击的通用性和成功率,攻击者经?;崾褂帽怀谱鱄eapspray的攻击方式(参见Pincus?J,Baker?B.Beyond?stack?smashing:Recent?advancesin?exploiting?buffer?overruns[C].IEEE?Security&Privacy,2004.)。Heapspray型网页木马会在内存中填充大量无危害的x86指令(如NOP、XOR?EAX,EAX等),并在其后附加实施恶意攻击行为的指令(称为shellcode),这样在溢出成功并改变CPU的指令寄存器(EIP)时,只要EIP修改为内存堆上的一个地址,执行路径就会以很大的概率跳转到这些x86指令中,并最终执行Shellcode。通过这种方式,在构造攻击代码时,攻击者可以不必精确计算溢出点和跳转地址,这就大大提高了攻击代码的通用性和成功率。Heapspray的这种特性使其成为了目前网页木马攻击所使用的主流技术手段。

        针对Heapspray型网页木马的检测,目前已有的检测算法都主要存在检测开销较大,检测准确度较低的问题。Heapspray是网页中动态语言脚本执行中的一个过程,因而检测的时机问题是一个关系到系统开销、检测准确度和检测及时程度的关键问题。目前已有的检测算法主要通过监视系统内存使用量,监视动态语言脚本虚拟机中对象的新建和释放来寻找检测时机,具体使用的检测手段和参数也局限于评估占用的连续内存大小,检测内存区域中是否有可执行的shellcode等。系统开销较大,准确度较低。

        【发明内容】

        本发明对目前最为普遍的Heapspray型网页木马的攻击过程和机理进行了深入分析,目的在于提供一种基于中间指令动态插装的Heapspray检测方法。脚本中间指令动态插装(Dynamic?Opcode?Instrumentation)的主要思想与传统的动态二进制插装(Dynamic?BinaryInstrumentation)的思想类似,动态二进制插装的主要原理是在一个二进制程序的执行过程中,在每一条将要执行的指令前添加、修改或者变换自定义指令;而本发明中的动态中间指令插装则是在脚本翻译之后生成的二进制中间指令执行过程中,插入用户自定义的具有特定功能的代码。这种动态插装的方法不需要修改待分析网页或脚本的源代码,同时可以准确获得脚本执行的语义,适应性强,准确度高。

        本发明中基于动态中间指令插装的用户自定义的具有特定功能的代码指的是检测Shellcode和Heapspray行为的代码。通过对脚本语言编译后的二进制中间指令的动态插装和关键指令参数的检查,可以有效识别网页木马中的Shellcode和Heapspray构造过程,并产生检测报警。

        对于二进制中间指令的动态插装和关键指令参数的检查,其步骤如下:

        1)、将用于解释执行网页动态脚本地虚拟机置于单步运行状态;(对应图1中的步骤1)

        2)、取出下一条要执行的中间指令,判断它是否属于关键指令,这里的关键指令指由原脚本语言中的赋值语句翻译之后的中间指令,我们称之为赋值类中间指令;(对应图1中的步骤2,3)

        3)、对于将要执行的关键中间指令,如果它的右值参数类型是字符串类型,则对其指令参数进行检查:(对应图1中的步骤4,5)

        a)、若该指令的指令参数中,右值参数的类型是字符串且长度小于一定阈值P,

        检查该字符串是否存在Shellcode;(对应图1中的步骤6,8)

        b)、若该指令的指令参数中,右值参数的类型是字符串且长度大于阈值P,计算该字符串的信息熵值;(对应图1中的步骤7,9)

        4)、在恶意代码的执行过程中,综合历次检查的结果,若在执行过程中检测出了某个指令参数中的右值参数存在shellcode以及另一个指令参数中的右值参数信息熵小于一定的阈值Q,则断定该脚本存在Heapspray行为,是一个Heapspray型网页木马。(对应图1中的步骤a,b)

        其中,上述步骤3a)中的Shellcode存在性检测算法可以使用启发式GetPC策略的检测算法(参见Polychronakis?M,Anagnostakis?K,Markatos?E.Network-level?polymorphicshellcode?detection?using?emulation[J].Journal?in?Computer?Virology,2007,vol.2,257-274.)。

        上述步骤3b)中的信息熵H的计算公式为:

        H(p)=-Σi=0n-1pilog(pi)]]>

        其中pi为字节码值为i的字节数占总字符串长度的百分比,n=256,H即为字符串的信息熵。

        本发明的优点和积极效果如下:

        1.使用动态语言中间指令动态插装技术,通过对中间指令的动态插装,可以准确地确定恶意代码执行时的语义和行为,从而在恶意代码执行的关键点(赋值语句发生时)按需对其行为进行审查,减小了系统开销。

        2.使用信息熵刻画Heapspray的重复代码部分,大量重复片段是Heapspray行为的一个重要特征,使用信息熵可以准确地刻画这一特征,与Shellcode探测配合,可以提高检测的准确率。

        【附图说明】

        图1本发明的Heapspray型网页木马检测流程图。

        【具体实施方式】

        以下以网页中使用最广泛的JavaScript执行引擎为例,对检测方法进行详细说明。

        一个基于动态中间指令插装的Heapspray检测方法的具体实施过程如下:

        1、将JavaScript虚拟机切换到单步跟踪状态,同时注册一个Handler函数,使得单步执行的虚拟机在每次要执行一条中间指令之前,都会先调用这个Handler函数。(对应图1中的步骤1)

        2、令全局变量hasShellcode=lowEntropy=0,将网页中的JavaScript脚本输入到JavaScript虚拟机中执行;

        3、由于上面事先注册了Handler函数,在虚拟机执行过程中的每一步,我们可以通过Handler函数来完成对其欲执行指令的获取和检查;(对应图1中的步骤2)

        4、首先,Handler函数会检查下一条中间指令所属指令族是否有JSOF_SET标志,若是,则表明此指令属于赋值类指令,需要对该指令进行进一步检查,否则,跳转到步骤8;(对应图1中的步骤3)

        5、接着,Handler函数会对根据该赋值指令的具体类型提取出相应的右值对象,并检测该对象是不是字符串类型,若不是,跳转到步骤8;(对应图1中的步骤4)

        6、若该对象是字符串类型,则取出其字符串长度属性,根据字符串长度决定是进行shellcode检查还是信息熵计算:(对应图1中的步骤5)

        a)、若字符串长度小于65535字节,则使用基于启发式GetPC策略的Shellcode存在性检测算法检测字符串中是否存在Shellcode,若存在,将此信息用全局变量记载(即令hasShellcode=1);(对应图1中的步骤6,8)

        b)、若字符串长度大于65535字节,则计算该字符串的信息熵,若信息熵小于0.1,将此信息用全局变量记载(即令lowEntropy=1);(对应图1中的步骤7,9)

        7、检查此时两个全局变量的值,若hasShellcode和lowEntropy同时等于1,产生Heapspray型网马报警。(对应图1中的步骤a,b)

        8、Handler函数返回,程序继续执行,在后续的执行过程中,Handler会在每个中间指令执行前被调用,即返回到步骤3,直到最终整个脚本执行结束。(对应图1中的步骤c,d,e)

        尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求?;さ姆段б匀ɡ笫榻缍ǖ姆段?。

    关 键 词:
    基于 中间 指令 动态 HEAPSPRAY 检测 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于中间指令动态插装的HEAPSPRAY检测方法.pdf
    链接地址://www.4mum.com.cn/p-5781754.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03