[发明专利]一种基于动态污点分析进行消息语义解析的方法无效
申请号: | 201110437004.2 | 申请日: | 2011-12-23 |
公开(公告)号: | CN102521543A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 张博锋;吴逸伦;赖志权;乔林波;唐勇;张怡 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;H04L29/06 |
代理公司: | 湖南省国防科技工业局专利中心 43102 | 代理人: | 冯青 |
地址: | 410073 湖南省长*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 污点 分析 进行 消息 语义 解析 方法 | ||
技术领域
本发明针对网络交互产生的消息进行语义解析,通过分析软件执行过程中的函数调用以及污点在软件执行过程中的传播过程,获取用于描述消息语义的信息,可以应用于软件的网络交互信息提取和分析。
背景技术
随着互联网的日益推广和广泛应用,计算机用户通过互联网进行数据交互愈加频繁。互联网在便利用户进行数据交互的同时,也承担着交互数据带来的潜在的威胁。目前,互联网已经成为了黑客进行病毒传播的主要途径。在数据交互的同时植入病毒信息成为了当前黑客进行病毒扩散的重要手段。软件通过互联网进行数据交互时,可能携带了一定量的病毒信息,而这些信息对于用户而言是隐性的。病毒就是通过这些隐性的方法,进入用户计算机系统从而对计算机造成破坏。因此,对于消息语义进行解析以获取消息语义格式成为了分析互联网环境,保障主机安全的一种重要方法。在军事应用方面,解析网络消息语义成为了保护军事信息安全,分析对方信息系统的关键技术之一。
动态污点分析(Dynamic Taint Analysis,DTA)是动态分析中一个细化的技术。动态污点分析是指在软件运行时,跟踪软件对数据的处理,并记录处理过程中数据在内存中的传播。目前,动态污点分析已经广泛地应用于软件未知漏洞检测,恶意软件分析,测试用例生成等。污点分析的目标主要是跟踪目标数据同源数据的关系,分析并判断目标数据是否同源数据有相关。动态污点分析主要由污点源引入、污点源传播以及污点源确认三个部分组成。每一个部分的具体内容如下。
污点源引入:定义了需要跟踪并分析的输入数据,即源数据。物理内存,CPU寄存器,硬盘以及网络接口缓冲区等属于内部空间,其中的任何区域都可以被设置成为污点源。键盘输入、鼠标点击等属于外部输入,这些输入也可以被设置为污点源。对于被设置为污点源的区域,DTA将会给污点源一个特定的标识,用来表征这块区域已经被污染(tainted)。
污点传播过程:在污点源引入之后,随着程序执行的不断深入,污点数据作为输入参数将会参与各种运算,此时运算得到的输出结果就会同输入参数产生依赖关系,这种依赖关系就被认为是污点的传播。被污点传播到的输出参数被认为是新的污点,其污点标识同输入参数的污点标识相同。
污点确认:主要针对目标数据进行,用于分析目标数据同源数据的关系。随着程序的运行,污点传播逐渐深入,污点数据不断增多。此时,对于目标数据的污点确认成为了动态污点分析的最后一个流程。污点确认的范围很广,任何一个内存变量或者寄存器都可以进行污点确认。
目前对于消息格式的解析技术也是互联网中的研究热点。但是目前的消息解析重点对于消息的内容进行提取,而不是对消息中每一个字段的语义进行分析。仅获取消息的内容是不够的,例如,病毒通过互联网进行传播时,会将自身可执行文件嵌入发送消息中,对于消息内容的提取而言,仅仅知道了发送消息中每一个字节的内容,但是并不知道这块内容的具体含义。因此,在对于消息进行解析时,对于消息每一个字段的语义提取是分析消息构成,甚至分析软件网络交互动机的关键。
发明内容
本发明的目的在于利用动态污点分析的技术方法,对软件在网络交互中产生的消息进行语义提取,提高对于软件的分析能力。本发明分别于发送消息和接收消息的语义解析采用不同方法加以实现。
为实现本发明的目的,采用的技术方案包括以下步骤:
第一步,设置隔离环境。隔离环境由虚拟操作系统,虚拟机监视器以及必要的网络环境组成。虚拟操作系统为软件提供了运行的平台,虚拟机监视器用于监视虚拟操作系统中的软件,并完成同外部分析的交互。必要的网络环境用于触发软件的网络行为,保证在分析过程中软件能够正确产生消息。隔离环境的设置方法是:
1.1在宿主操作系统中安装虚拟机监视器。虚拟机监视器必须具备对整个虚拟环境的监控能力。目前常用的虚拟机监视器由QEMU,TEMU等,这些工具提供了基于硬件层的虚拟环境模拟,能搭载多种虚拟操作系统。在正确安装虚拟机监视器后,利用虚拟机监视器开启虚拟操作系统,开启的虚拟操作系统必须满足软件对于操作系统的要求。
1.2在隔离环境中建立网络互联。建立虚拟操作系统同外部的网络互联,保证双方可以通过网络进行通信。
第二步,利用动态分析,监控软件的函数调用行为。监控方法如下:
2.1在隔离环境中运行软件,利用虚拟机监视器监视软件执行的每一条指令,利用指令提供的信息获取软件的函数调用行为。获取函数调用行为的具体过程为:
2.1.1虚拟机监视器监听软件运行过程中执行的call指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110437004.2/2.html,转载请声明来源钻瓜专利网。