[发明专利]一种基于中间语言和污点分析的软件数据流分析方法有效
申请号: | 201811156016.6 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109324971B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 喻波;杨强;乐泰;唐勇;解炜;周旭;罗艳 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/56 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 中间 语言 污点 分析 软件 数据流 方法 | ||
本发明公开了一种基于中间语言和污点分析的软件数据流分析方法,其步骤包括:步骤S1:定义指令格式和表达式格式;统一描述中间语言的通用指令类型,构建了临时变量表达式、寄存器表达式和污点标记表达式,用于污点分析过程中的数据表示;步骤S2:构建基于中间语言的污点传播规则,污点标记用taint_label表示;步骤S3:基于中间语言的程序数据流动态跟踪分析流程;步骤S4:当程序执行过程中,通过基于跟踪的污点信息来构建污点源与全局变量TG、局部变量TL、系统调用函数参数TF之间的数据流关系。本发明具有准确性更好、全面性更强、信息将更加丰富等优点。
技术领域
本发明主要涉及到基于污点分析的数据流分析方法,特指一种基于中间语言和污点分析的软件数据流分析方法。
背景技术
污点分析技术是恶意代码检测、软件供应链安全、软件漏洞挖掘等方面的关键技术。基于污点分析能够对软件程序进行数据流分析,其主要过程包括输入数据的污点标记、污点传播跟踪、污点分析等。污点分析技术在具体应用方面,主要有如下类型:一是应用于标记输入数据,以通过污点跟踪的方法来发现污点数据的危险使用,这一类主要是应用于软件漏洞挖掘和恶意代码分析;二是利用污点分析方法来构建输入数据、关键检验点、路径约束和内部变量之间的关系,软件漏洞挖掘和供应链安全;三是建立起输入数据与内部系统函数调用的关系,从而推导出行为特征,这一类主要是应用于软件供应链安全和恶意代码分析。而软件数据流分析是污点分析具体应用的基础。
然而目前污点分析技术在应用于软件数据流分析方面也存在一些不足,常用污点分析方法都是基于汇编语言设计污点传播规则的,虽然能够正确处理移位指令、算数指令、常数指令等指令类型,但是难以准确对跳转指令、比较指令等隐式地影响标记寄存器和影响控制流的指令建立污点传播规则。由于指令集的差异,也难以应用于跨指令集的软件分析应用中,比如跨指令集漏洞检索应用等。另外一个不足是,污点传播过程中,常见的污点分析方法只记录了污点源和污点标记,丢失了污点数据之间的操作关系等语义信息。
从实际应用的角度来看,恶意代码的行为分析需要分析恶意代码的远程控制输入数据与内部系统调用之间的关系,来构建恶意行为模型;在基于模糊测试的软件漏洞挖掘过程中,需要基于软件数据流分析来挖掘输入数据与内部数据流之间的关系,需要细粒度的记录和跟踪内部变量之间的关系。现有的污点分析方法不能够满足这种细粒度、准确的软件数据流分析的需求。软件数据流的分析过程既需要准确全面的跟踪污点传播过程,也需要把握记录除污点源和污点标记以为的更多的丰富的信息。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种准确性更好、全面性更强、信息将更加丰富的基于中间语言和污点分析的软件数据流分析方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于中间语言和污点分析的软件数据流分析方法,其步骤包括:
步骤S1:定义指令格式和表达式格式;统一描述中间语言的通用指令类型,构建了临时变量表达式、寄存器表达式和污点标记表达式,用于污点分析过程中的数据表示;
步骤S2:构建基于中间语言的污点传播规则,污点标记用taint_label表示;
步骤S3:基于中间语言的程序数据流动态跟踪分析流程;
步骤S4:当程序执行过程中,通过基于跟踪的污点信息来构建污点源与全局变量TG、局部变量TL、系统调用函数参数TF之间的数据流关系。
作为本发明的进一步改进:所述步骤S1包括为:
S101:中间语言通用指令格式表示;
算数指令和移位指令类:减法指令Sub、加法指令Add、逻辑右移指令Sar、逻辑左移指令Shl、或指令Or;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811156016.6/2.html,转载请声明来源钻瓜专利网。