[发明专利]操作系统中断安全隐患定位系统及其应用在审
申请号: | 201510621409.X | 申请日: | 2015-09-25 |
公开(公告)号: | CN105183552A | 公开(公告)日: | 2015-12-23 |
发明(设计)人: | 朱龙飞;史建琦;何积丰 | 申请(专利权)人: | 东华大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 操作系统 中断 安全隐患 定位 系统 及其 应用 | ||
技术领域
本发明涉及一种操作系统中断安全隐患定位系统及其应用,属于操作系统软件技术领域。
背景技术
中断处理是操作系统的一个重要组成部分,它为系统的运行提供了一种基于事件的快速响应机制。引起中断的事件被称为中断源,中断源发出的中断处理信号成为中断请求,中断源对应的事件处理程序成为中断处理程序。中断请求的不确定性和中断处理机制的复杂性给操作系统的运行带来了很大的隐患。
中断引发的问题主要有两种:第一种是溢出类问题,无论是堆栈的溢出还是引发的全局变量内容的溢出,都将会使进入非正常的状态之中。此类错误同时可能会产生除中断嵌套层数变量与堆栈指针溢出以外的问题,与中断嵌套变量及堆栈指针有关的其它逻辑判断变量值都有可能会产生错误的结果。第二种是数据操作错误,由于中断程序的特殊调用过程与调用的时间的不确定性,造成了原有的数据操作的事务性特征无法得到保持,从而产生了数据操作错误。这种错误又可以分为数据误读错误与数据脏读错误。数据误读错误是指中断处理程序修改被中断的事务性任务的数据环境。例如在被中断程序P中,在中断点后使用了全局变量v1,在中断处理程序INTP中,将不能许可对v1进行写操作。否则将会产生中断数据误读的错误。数据脏读错误是指中断的处理程序读取被中断的事务性任务将操作的数据环境。例如在被中断的事务性任务P中,在中断点后修改了全局变量v1,在中断处理程序INTP中,将不能许可对v1进行读操作。否则将有可能产生中断数据脏读的错误。
DWARF规范是一种广泛使用、标准化、可扩展的调试信息格式,用来规范各种编程语言的源代码与目标代码之间关系的信息,包括源代码中的变量信息、数据类型信息、常量信息、子程序信息等。DWARF对于调试信息采用结构化的描述方法,调试信息单元(DebuggingInformationEntry,DIE)是构成整个结构的基本单位。DIE可以分为两种类型,一种是用于描述数据和数据结构的;另外一种是用于描述函数及其它可执行代码的。根据这些结构化信息,我们可以自动提炼出定位中断安全隐患所需要的各种信息。中断安全隐患给操作系统的正确运行带来了很大的问题。
发明内容
本发明所要解决的是现有技术中无法对检测出的中断安全隐患进行自动定位、进而无法形成有效的代码改进方案的问题。
为了解决上述问题,本发明提供了一种基于DWARF规范的操作系统中断安全隐患定位系统,其特征在于,包括:调试信息处理模块,其对编译后生成的基于DWARF规范的调试信息文件进行信息提取;目标代码抽象模型生成模块,其为编译后的目标代码建立抽象模型;模型验证模块,其检测抽象模型中是否存在中断安全隐患;回溯模块,其根据调试信息找到隐患模型代码相对应的源代码,实现对中断安全隐患的定位,返回错误执行路径。
本发明还提供了一种操作系统中断安全隐患的定位方法,其特征在于,采用上述操作系统中断安全隐患定位系统,具体包括以下步骤:
步骤一:在调试信息处理模块中提取调试信息,建立源代码及目标代码之间的对应关系;
步骤二:在模型生成模块中,为步骤一所得目标代码建立抽象模型,建立目标代码与模型代码之间的对应关系;
步骤三:在模型验证模块中,检测抽象模型中是否存在中断安全隐患;
步骤四:在回溯模块中,根据调试信息回溯隐患产生过程,返回错误执行路径。
优选地,所述步骤一中的调试信息具体包括全局变量与其内存地址的对照符号表、函数名字及入口地址、函数的源代码及相对应的目标代码。
优选地,所述步骤二对所述步骤一所得的目标代码进行抽象,将目标代码抽象为节点构成的树状结构。每个节点代表着和某一全局变量相关的读/写操作;树状结构是在目标代码执行路径的基础上抽象出来的;包括分支结构,循环结构,函数调用。
优选地,所述步骤三中的中断安全隐患是指模型代码中因中断发生导致执行错误的模型代码。
进一步地,所述步骤三中的中断安全隐患的检测是将自动机模型插入机器码中的可中断点,覆盖所有函数可能执行路径,利用模型检测工具进行检测。
更进一步地,所述模型检测工具为SPINmodelchecker、NuSMV或UPPAAL等。
优选地,所述步骤四具体为:通过模型代码与目标代码的关系、目标代码与源代码的关系将可能出现的数据竞争的源代码以代码运行路径文件形式输出。得到缺陷报告后,可根据缺陷报告查出造成中断安全隐患的代码,分析相应的错误执行路径修补对应的漏洞,从而有助于建立具备中断安全性的系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510621409.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动推拉器
- 下一篇:一种磁头安装用弹簧片