[发明专利]一种基于虚拟执行模式的Flash漏洞检测方法有效

专利信息
申请号: 201210190206.6 申请日: 2012-06-11
公开(公告)号: CN102693396A 公开(公告)日: 2012-09-26
发明(设计)人: 王建新;彭程;聂石婧;董苹苹 申请(专利权)人: 中南大学
主分类号: G06F21/22 分类号: G06F21/22
代理公司: 长沙市融智专利事务所 43114 代理人: 黄美成
地址: 410083 湖南*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于虚拟执行模式的Flash漏洞检测方法,对于待检测的Flash文件,通过对其进行反编译得到ActionScript代码,然后对其类结构进行分析,根据分析的结果生成多个虚拟执行流程,每个虚拟流程即是对某一段代码的虚拟执行。在虚拟执行过程中,若遇到分支语句,则修改相应变量的值,使其能够覆盖所有分支,并为每一个分支新增虚拟执行流程,以待执行。当一次虚拟执行流程结束以后,通过对相应变量值或其它条件进行漏洞匹配,若符合Flash漏洞的触发条件,即成功检测出漏洞,否则表明该Flash文件是安全的。本发明具有误判率低,执行效率高的特点。
搜索关键词: 一种 基于 虚拟 执行 模式 flash 漏洞 检测 方法
【主权项】:
一种基于虚拟执行模式的Flash漏洞检测方法,其特征在于,包括以下步骤:步骤1:将待检测的Flash文件进行反编译,得到ActionScript代码;步骤2:对ActionScript代码进行单词扫描及词法分析,即将ActionScript代码转换成单词流,并对每个单词的类型进行分析,单词的类型包括保留字、标识符、符号、数字;步骤3:构建生成树:以生成树存储ActionScript代码:生成树中每个结点用于存储ActionScript的一行语句,若某结点具有子结点,则每个子结点存储的ActionScript语句是其父节点的ActionScript语句的子语句;步骤4:对每个结点中的语句进行结构分析,得到类结构信息,其中语句结构包括类定义语句、类成员变量定义语句及类的成员函数定义语句;在分析ActionScript代码结构时,对代码逐行进行扫描,若发现关键字“class”则为类定义语句,关键字“function”则为类的成员函数定义语句;若找到关键字“var”或“const”则为类成员变量定义语句;标记所有函数的状态为“未执行”;步骤5:基于类结构信息生成虚拟执行流程,并将虚拟执行流程放入虚拟执行流程栈中;步骤6:漏洞检测过程:从虚拟执行流程栈依次取出一个流程并执行,将该流程中调用过的函数标记为“已执行”状态,在流程执行过程中进行漏洞规则匹配,如果匹配成功,则提示存在漏洞,否则执行下一个从虚拟执行流程栈取出的流程;直到最后一个流程执行完成;步骤7:输出漏洞检测结果,检测结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201210190206.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top