当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于ARM指针验证的内核代码指针完整性保护方法技术

技术编号:26763313 阅读:164 留言:0更新日期:2020-12-18 23:23
本发明专利技术公开了一种基于ARM指针验证的内核代码指针完整性保护方法,利用指针验证码对内核中所有的敏感指针提供完整性保护。此方法包括如下步骤:(1)定位内核代码中所有的敏感指针;(2)插入指针验证指令使得:向内存写入敏感指针前生成并嵌入指针验证码,从内存读入敏感指针后检查指针验证码;(3)修改内核启动代码,在启动早期初始化指针验证特性,随后初始化全局敏感指针的指针验证码。本发明专利技术不仅保护了内核的控制流完整性,也能防止攻击者通过篡改数据指针间接篡改代码指针,在内核中全面保护了代码指针完整性。

【技术实现步骤摘要】
一种基于ARM指针验证的内核代码指针完整性保护方法
本专利技术涉及计算机系统安全领域,尤其涉及一种基于ARM指针验证(PointerAuthentication,PA)的内核代码指针完整性(CodePointerIntegrity,CPI)的保护方法。
技术介绍
操作系统是计算机系统运行的基础,其上任何安全问题会直接危害系统整体安全。近年来,针对操作系统的攻击层出不穷,如2010年的震网病毒和2017到2019年的WannaCry蠕虫式勒索病毒。根据攻击手段的演化,对操作系统的攻击主要分为三类:代码注入攻击、代码重用攻击以及非控制数据攻击。与此同时,操作系统安全在攻击者和防护者的不断对抗中得到很大提升,随着抗代码注入攻击硬件安全特性的大规模部署,主流操作系统均已实现基于硬件的抗代码注入攻击防护。攻击者无法注入新的代码,转而篡改系统中的代码指针,控制系统控制流重用已有代码片段构造攻击载荷,被称为代码重用攻击。篡改返回地址的ROP攻击和篡改函数指针的JOP攻击都是常见的代码重用攻击技术。非控制数据攻击由于限制条件多、攻击载荷复杂以及通用性较低等特点本文档来自技高网...

【技术保护点】
1.一种基于ARM指针验证的内核代码指针完整性保护方法,其特征在于,包括:/n标记操作系统代码中所有的函数指针类型为敏感指针类型,得到初始化的敏感指针类型集,其中敏感指针类型集为所有敏感指针类型的集合;/n根据初始化的敏感指针类型集和代码中包含的类型信息,计算并确定完整的敏感指针类型集;/n根据确定的敏感指针类型集,标记代码结构体中所有敏感指针类型的域为敏感指针域,得到初始化的敏感指针域集,其中敏感指针域集为所有敏感指针域的集合;根据确定的敏感指针类型集,标记代码中所有敏感指针类型的变量为敏感指针变量,得到初始化的敏感指针变量集,其中敏感指针变量集为所有敏感指针变量的集合;/n根据代码语义、初...

【技术特征摘要】
1.一种基于ARM指针验证的内核代码指针完整性保护方法,其特征在于,包括:
标记操作系统代码中所有的函数指针类型为敏感指针类型,得到初始化的敏感指针类型集,其中敏感指针类型集为所有敏感指针类型的集合;
根据初始化的敏感指针类型集和代码中包含的类型信息,计算并确定完整的敏感指针类型集;
根据确定的敏感指针类型集,标记代码结构体中所有敏感指针类型的域为敏感指针域,得到初始化的敏感指针域集,其中敏感指针域集为所有敏感指针域的集合;根据确定的敏感指针类型集,标记代码中所有敏感指针类型的变量为敏感指针变量,得到初始化的敏感指针变量集,其中敏感指针变量集为所有敏感指针变量的集合;
根据代码语义、初始化的敏感指针域集和初始化的敏感指针变量集,计算并确定完整的敏感指针变量集和敏感指针域集;
根据确定的敏感指针变量集,对操作系统内核代码进行如下修改:在敏感指针变量写入内存的代码前插入PAC生成代码StoreGenkey(sensptr),在敏感指针变量从内存中读取的代码后插入PAC验证代码LoadAuthkey(sensptr),其中key表示128bit的PA密钥,sensptr表示敏感指针变量,当操作系统内核运行时,动态执行插入的PAC生成代码生成敏感指针的PAC,动态执行插入的PAC验证代码验证敏感指针的PAC,若PAC验证通过,则代码指针一定完整,反之,则代码指针完整性被破坏;
在操作系统内核启动代码中插入PA密钥初始化代码keyinit(),该代码开启ARMCPU的PA特性并用随机数初始化PA密钥;
根据确定的敏感指针变量集,确定该集合中的全局变量,记为全局敏感指针变量;
根据确定的全局敏感指针变量,在keyinit()之后插入全局敏感指针变量初始化代码sensvar_init(),该代码对所有全局敏感指针变量调用StoreGenkey(gsensptr),其中key表示128bit的PA密钥,gsensptr表示全局敏感指针变量。


2.根据权利要求1所述一种基于ARM指针验证的内核代码指针完整性保护方法,其特征在于,根据初始化的敏感...

【专利技术属性】
技术研发人员:杨昱天朱凇伯申文博周亚金任奎王文海
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1