[发明专利]基于Linux的ELF文件数据完整性保护方法在审
| 申请号: | 202010720818.6 | 申请日: | 2020-07-24 |
| 公开(公告)号: | CN113971297A | 公开(公告)日: | 2022-01-25 |
| 发明(设计)人: | 张靖棠;宗华 | 申请(专利权)人: | 张靖棠;宗华 |
| 主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F21/10 |
| 代理公司: | 南京新慧恒诚知识产权代理有限公司 32424 | 代理人: | 李晓静 |
| 地址: | 211106 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 linux elf 文件 数据 完整性 保护 方法 | ||
1.基于Linux的ELF文件数据完整性保护方法,其特征在于:具体步骤如下:
步骤一、提供一个对标准的二进制可执行文件格式ELF文件进行签名的工具,能够将数字签名附加到ELF文件的段中;
步骤二、在Linux内核初始化时,会将所有可执行文件格式的处理函数组织为一个链表,在所述链表中添加一个ELF签名验证处理函数,所述ELF签名验证处理函数专门用于提取并验证ELF中的数字签名;
步骤三、在Linux内核中,ELF二进制可执行文件格式的标准执行流程之前,先从ELF文件中提取数字签名,再对ELF文件中的数字签名进行验证;如果数字签名通过验证,则内核正常执行该ELF文件;如果数字签名没有通过验证,内核禁止该ELF文件被执行。
2.根据权利要求1所述的基于Linux的ELF文件数据完整性保护方法,其特征在于:步骤二中,在所述链表中添加一个ELF签名验证处理函数,具体方法如下:将ELF签名验证处理函数直接编译到Linux内核的二进制文件中,同时需要控制处理函数的编译顺序、以及被内核初始化的方式和等级,使得处理函数在链表中的位置位于内核内置的ELF处理程序之前。
3.根据权利要求1所述的基于Linux的ELF文件数据完整性保护方法,其特征在于:步骤二中,在所述链表中添加一个ELF签名验证处理函数,具体方法如下:将ELF签名处理函数编译为一个内核模块,在内核启动之后,手动将这个处理函数添加到链表上第一个位置。
4.根据权利要求3所述的基于Linux的ELF文件数据完整性保护方法,其特征在于:系统管理员用户能够手动装载或卸载所述ELF签名验证处理函数模块。
5.根据权利要求1所述的基于Linux的ELF文件数据完整性保护方法,其特征在于:在新加入的ELF签名验证处理函数中,能够解析ELF的格式,提取其中的数字签名所在段以及被数字签名保护的段,并利用内核中的密钥验证数字签名是否正确。
6.根据权利要求1所述的基于Linux的ELF文件数据完整性保护方法,其特征在于:步骤一中,将数字签名附加到ELF文件的段中,具体方法如下:向ELF文件中附加数字签名时,需要将数字签名作为一个段加入到文件中,并将该段的名称字符串加入到段名字符串表中,将该段的基本信息加入到段头部表中;最终,还需要修改ELF文件头中的段数量和段头部表在文件中的偏移量,以及ELF文件头中指示的段名字符串表的索引。
7.根据权利要求1所述的基于Linux的ELF文件数据完整性保护方法,其特征在于:读取ELF文件中的数字签名时,根据数字签名所在段的名称字符串在段名字符串表中寻找相应的段,并根据段头部表中指示该段在文件中的位置和长度,直接读取数字签名的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于张靖棠;宗华,未经张靖棠;宗华许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010720818.6/1.html,转载请声明来源钻瓜专利网。





