【技术实现步骤摘要】
一种基于静态分析的操作系统内核敏感数据识别方法
[0001]本专利技术涉及操作系统内核敏感数据识别,具体地说,是一种基于静态分析的操作系统内核敏感数据识别方法。
技术介绍
[0002]操作系统内核是现代软件与软件的基石,但内存安全问题是内核安全面临的一个严峻威胁。为了攻击者防止利用内核中的内存漏洞,实现内核提权的目的,计算机安全研究人员提出了多种防御机制,如KASLR、stackcanary、控制流完整性保护、页表保护机制等。然而,这些机制没有阻止攻击者通过篡改内核中的敏感数据来实现内核提权。例如,攻击者能够修改cred结构体对象的uid字段,将当前进程修改为root用户进程;CVE
‑
2020
‑
13829通过修改全局变量ss_initialized的值,绕过了Samsung移动设备的SEAndroid保护,进而获取了root权限。因此,保护内核中的敏感数据是有必要的。
[0003]目前,多个研究工作设计敏感数据的识别算法以自动化地识别重要的数据类型,但自动识别算法依赖于对操作系 ...
【技术保护点】
【技术特征摘要】
1.一种基于静态分析的操作系统内核敏感数据识别方法,其特征在于,1)用户使用敏感字段标注技术,标注重要的结构体字段类型,编译器自动识别程序中的标注,从而自动识别出用户标注的敏感结构体字段集合;2)基于标注的敏感结构体字段集合,识别操作系统内核中的敏感数据,对敏感数据进行数据流依赖分析,识别操作系统内核中与敏感数据存在数据流依赖关系的数据,并将该数据对应的结构体字段定义为敏感字段;3)基于标注的敏感结构体字段集合,识别操作系统内核中的敏感数据,对敏感数据进行控制流依赖分析,识别操作系统内核中与敏感数据存在控制流依赖关系的数据,并将该数据对应的结构体字段定义为敏感字段;4)依据步骤2)和步骤3)中识别且定义的敏感字段的类型的数据是否可能被用于条件判断,设计过滤算法筛选不重要的字段。2.根据权利要求1所述的基于静态分析的操作系统内核敏感数据识别方法,其特征在于,所述的敏感字段标注技术为修改编译器前端Clang,添加新的attribute,名为pac_tag,通过某个结构体字段加上该attribute,开发者将该字段标注为敏感字段,在Clang解析结构体定义时,修改解析逻辑,将被加上该attribute的结构体字段保存起来,在Clang将抽象语法树转换为LLVM IR时,通过LLVM M...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。