[发明专利]恶意代码的检测方法及装置有效
| 申请号: | 201280002026.9 | 申请日: | 2012-12-10 |
| 公开(公告)号: | CN103221960A | 公开(公告)日: | 2013-07-24 |
| 发明(设计)人: | 诸葛建伟;钱晓斌;侯永干;富键;陆恂;王若愚 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 恶意代码 检测 方法 装置 | ||
技术领域
本发明涉及通信安全技术领域,尤其涉及一种恶意代码的检测方法及装置。
背景技术
PDF(portal document format,便携文件格式)是一种电子文件格式。这种格式不受阅读软件、硬件以及操作系统的限制,可以在包括Windows、Linux和Mac OS的任何平台中使用。JavaScript是一种广泛用于客户端网页开发的脚本语言,这种脚本语言能够实现的功能十分丰富。在PDF中嵌入JavaScript脚本语言对于实现PDF文件的交互特性十分重要,譬如动态内容的呈现、表格和3D界面等等。
恶意JavaScript脚本程序是恶意攻击代码中的一个新型病毒,对软件系统增加、改变或删除部分脚本,以制造危害或者破坏计算机系统功能和网络的完整性、保密性、可用性等为目的。它通常由一段JavaScript脚本语言编写而成,恶意JavaScript脚本程序书写形式灵活化,易通过各种代码混淆技术产生变种,当前的反病毒技术很难达到对它的控制及防护能力。
恶意JavaScript脚本的传播通常是通过浏览器、局域网共享、即时聊天和Email为载体实现的。近年来,随着PDF漏洞利用技术的日益成熟,越来越多的恶意JavaScript被放在了PDF文件里。
代码混淆,顾名思义是一种人为刻意地使脚本代码显得杂乱难懂的技术。在许多商业软件中,为了保护版权开发者可能将代码进行混淆从而给逆向工程师增添困难。在恶意脚本中,混淆的使用则是为了躲过杀毒软件和防火墙中的病毒特征库扫描,并给人工的恶意攻击代码分析制造麻烦。
相比于网页中的恶意JavaScript脚本,PDF中的恶意脚本在混淆上更多地利用了PDF标准里的一些特性。如在文件的定义中使用字母和数字的十六进制码来代替相应文字,使用PDF流对象来对某些含有JavaScript脚本的对象进行隐藏和使用PDF流对象中的编码嵌套功能用多种编码方法处理JavaScript脚本。现有浏览器端的许多解混淆工具无法对采用上述混淆方法进行混淆的JavaScript脚本进行解混淆,因此促使了恶意脚本通过PDF文件传播攻击,常见的攻击方式包括网页中包含恶意PDF文件、定向钓鱼邮件中包含恶意PDF文件附件等,其中恶意PDF文件是指携带恶意JavaScript脚本的PDF文件。
现有对PDF文件中脚本进行检测的方法有:
模拟执行环境来执行被检测的PDF文件,通过模拟被检测的PDF文件在正常的系统操作环境中的行为,来检测文件执行时的调用等一系列操作,从而发现恶意行为。但这种方法对于常见的JavaScript的欺骗隐藏手段,例如某个PDF文件中的JavaScript脚本只在特定时段或依赖特定的插件才会呈现恶意行为的设置,就无法检测到此类恶意行为。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:不能对携带在PDF文件中的恶意JavaScript代码,特别是通过混淆的方式携带在PDF文件中的恶意JavaScript代码进行准确的检测。
发明内容
本发明实施例提供一种恶意代码的检测方法及装置,能够提高对携带在PDF文件中的恶意JavaScript代码的检测准确性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种恶意代码的检测方法,包括:
提取PDF文件中的JavaScript脚本代码;
启动预定的支持PDF标准的脚本解释器对所述JavaScript脚本代码运行解混淆进程,并根据所述解混淆进程,获得所述JavaScript脚本代码对应的代码信息,所述代码信息的类型包括操作码和字符串变量;
根据所述代码信息的类型对应的检测规则,检测所述JavaScript脚本代码是否为恶意代码。
在第一方面的第一种可能实现方式中,在所述启动预定的支持PDF标准的脚本解释器对所述JavaScript脚本代码运行解混淆进程之前,还包括:
将库文件插桩注入在所述脚本解释器的解混淆进程中,所述库文件用于获取所述脚本解释器在解混淆JavaScript脚本代码进程中产生的被解混淆JavaScript脚本代码对应的代码信息。
结合第一方面以及第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,如果所述代码信息的类型为操作码,则所述根据所述代码信息的类型对应的检测规则,检测所述JavaScript脚本代码是否为恶意代码包括:
在已存储的恶意操作码特征库中匹配所述JavaScript脚本代码对应的操作码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280002026.9/2.html,转载请声明来源钻瓜专利网。





