[发明专利]一种恶意PDF文档检测方法在审
申请号: | 202011536712.7 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112464239A | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 肖树根;胡建勋 | 申请(专利权)人: | 中科信息安全共性技术国家工程研究中心有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 恶意 pdf 文档 检测 方法 | ||
1.一种恶意PDF文档检测方法,其特征在于:所述恶意PDF文档检测方法包括如下步骤:
步骤一:查询已知文件数据库并确认待检测PDF文档是否有检测记录,如有,直接输出检测结果并结束检测;
步骤二:如在已知文件数据库中未检测到待检测PDF文档的检测记录,提取待检测PDF文档中的恶意攻击载荷代码并作为静态检测和动态检测的输入;
步骤三:将所述恶意攻击载荷代码反混淆处理后输入YARA引擎并做特征匹配以进行静态检测;
步骤四:所述恶意攻击载荷代码放入SpiderMonkey引擎并取得所有String变量,以及将所述String变量输入Libemu引擎进行动态检测。
2.如权利要求1所述的一种恶意PDF文档检测方法,其特征在于:所述静态检测的具体步骤包括:
对输入的所述恶意攻击载荷代码进行反混淆处理;
将经过反混淆处理的恶意攻击载荷代码输入YARA引擎与静态特征库进行特征匹配;如果匹配上某些特征,判定该PDF文档属于恶意PDF文档;如果特征库中没有任何特征与待检测文档相匹配,将所述恶意攻击载荷代码作为动态检测的输入。
3.如权利要求1所述的一种恶意PDF文档检测方法,其特征在于:所述动态检测的具体步骤为:
将所述恶意攻击载荷代码放入SpiderMonkey引擎进行解释执行,监测并记录执行过程中产生的所有String变量,将所述String变量作为Libemu引擎的输入;
在Libemu引擎中,针对输入的String变量,检测其中是否包含Shellcode壳代码,如果包含Shellcode,判定其为恶意PDF文档;如果不包含Shellcode,判定其为非恶意PDF文档。
4.如权利要求2所述的一种恶意PDF文档检测方法,其特征在于:所述静态检测判定的恶意PDF文档存入YARA引擎的静态特征库以及更新入已知文件数据库。
5.如权利要求1所述的一种恶意PDF文档检测方法,其特征在于:提取待检测PDF文档中的恶意攻击载荷代码的步骤包括:
读取待检测的PDF文档;解析结构,根据交叉引用表和对象引用链提取所有PDF对象名;对所有PDF对象名进行归一化处理;进行目录字典检索,寻找活动字典的入口地址;对含有JavaScript代码的候选位置进行搜索,检测其数据类型;
如果其数据类型为“Rendition”或“JavaScript”,并且字典中包含有“JS”,则判定此字段便含有JavaScript代码,对JavaScript代码进行提取并形成所述恶意攻击载荷代码。
6.如权利要求2所述的一种恶意PDF文档检测方法,其特征在于:所述恶意攻击载荷代码进行反混淆处理的方法为:
遍历字符串s;
如果s中有字符“/*”,则删除s中以“/*”为起始点,以“*/”为终止点的字符串;
遍历字符串s;
如果s中有字符“+”,并且前一个字符为“””,则删除这三个字符;
检查s是否调用了编码的API,如果是,调用对应的解码的API;
将处理结果保存到新的文件中完成所述恶意攻击载荷代码的反混淆处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科信息安全共性技术国家工程研究中心有限公司,未经中科信息安全共性技术国家工程研究中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011536712.7/1.html,转载请声明来源钻瓜专利网。