[发明专利]一种基于TrustZone的内核数据完整性保护方法在审
申请号: | 202211514849.1 | 申请日: | 2022-11-30 |
公开(公告)号: | CN115964758A | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 韩皓;王彩亦;黄健;薛善良 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F21/64 | 分类号: | G06F21/64 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 于瀚文 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 trustzone 内核 数据 完整性 保护 方法 | ||
本发明提供了一种基于TrustZone的内核数据完整性保护方法,包括编译器和监视器。编译器的输入是内核(及待保护的应用程序)的源代码,编译器执行静态分析,确定所有需要保护的安全关键数据,并在程序中插入必要的监控代码,以向独立操作系统运行的监视器报告与需要保护的目标相关的操作。监视器接收到受保护程序中安全关键数据的合法(即原程序定义的)操作后,在专用表中生成或更新关键数据的卷影副本。使用安全关键数据时,监视器将通过比较其运行时值和卷影副本来检查关键数据的完整性。如果检测到不匹配,则表示受保护程序中安全关键数据被非法更改。作为响应,监视器将终止相应的程序,通过proc文件系统向用户报告违规情况。
技术领域
本发明属于系统安全领域,尤其涉及一种基于TrustZone的内核数据完整性保护方法。
背景技术
现实中,操作系统内核存在漏洞,其中在内存中的数据会受到内存损坏攻击(Memory Corruption Attack)。一旦攻击者攻击操作系统内核,他们就可以获得系统的最高权限,并执行他们想要的任何恶意操作,包括操纵底层硬件、在系统中执行任意代码、在内存或磁盘上读写任意数据等。
内存损坏攻击可以大致分为两类:面向控制的或面向数据的。针对控制流劫持攻击的防御措施包括数据执行预防(DEP)、内存随机化(如ASLR、DSR)、控制流完整性(CFI)。防御面向数据攻击的防御措施有动态攻击分析(DTA)和数据流完整性(DFI)。
然而,以上现有方法存在很多不足之处。例如,这些防御在没有特殊硬件支持的情况下会产生很大的开销,控制流可能会受到非控制数据的影响,防御措施多以控制流保护为主,缺乏对非控制流数据的保护等。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于TrustZone的内核数据完整性保护方法,通过带外方式(Out-of-band)以较少的开销、较高可靠性保护操作系统内核(包括应用程序)免受内存损坏攻击。
本发明所述的一种基于TrustZone的内核数据完整性保护方法,包括:
步骤1,向编译器输入内核及待保护的应用程序的源代码,编译器执行静态分析,确定所有需要保护的安全关键数据,并在程序中插入必要的监控代码,以向独立操作系统运行的监控器报告与需要保护的目标相关的操作;
步骤2,监视器接收到受保护程序中安全关键数据的合法(即原程序定义的)操作后,在专用表中生成或更新安全关键数据的卷影副本。稍后,当使用所述安全关键数据时,监视器将通过比较其运行时值和卷影副本来检查关键数据的完整性。如果检测到不匹配,则表示受保护程序中安全关键数据被非法更改。作为响应,监视器将终止相应的程序,并通过proc文件系统向用户报告违规情况。
步骤1中,所述需要保护的内核(及待保护的应用程序)在内存中的安全关键数据包含:
返回地址;
函数指针;
Vtables指针;
用户注释的非控制数据。
步骤1包括如下步骤:
步骤1-1,编译器定位目标,确定在待保护的应用程序或内核中插入代码的位置,以报告目标内存数据;
步骤1-2,编译器进行代码插装,得到插入了安全代码的增强程序;
步骤1-3,增强程序中对安全关键数据的操作,通过高速共享内存OCRAM从NormalWorld传递到Secure World的监控器中;
步骤1-4,受保护程序向监视器报告五种类型的操作,包括OP_STORE、OP_LOAD、OP_PUSH、OP_POP、OP_FORK和OP_FREE,来监控安全关键数据的生命周期。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211514849.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有清障功能的消防机器人
- 下一篇:夹紧机构、攀爬保护系统及使用方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置