一种基于签名机制控制ELF文件运行的方法技术

技术编号:13039254 阅读:57 留言:0更新日期:2016-03-23 10:49
本发明专利技术公开了一种基于签名机制控制ELF文件运行的方法,其具体实现过程为:对整个系统运行空间进行区域划分,即通过签名机制实现对系统运行空间的区域划分,通过签名机制控制每个区域的安全级别,不同的签名具有不同的安全级别;应用程序运行在特定的区域中,即应用程序在启动、运行、关闭的整个运行过程中,首先根据签名判断程序是否能够运行,其次根据程序所属区域限制其执行权限和操作行为。该一种基于签名机制控制ELF文件运行的方法与现有技术相比,适用于系统环境相对稳定的工作环境,通过签名和区域控制技术确保ELF文件的可靠性和运行过程的可控性;该过程易于实现,操作简单,实用性强,易于推广。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其是Linux操作系统运行过程中对ELF执行过程的防护方法,具体地说是一种实用性强、基于签名机制控制ELF文件运行的方法
技术介绍
ELF文件是Linux操作系统的可执行文件,有可执行文件和库文件等执行格式。由于ELF文件不具备完整性校验机制,因此可以通过修改ELF文件来达到攻击的目的。基于开源精神的Linux操作系统目前正在被广泛使用,Linux操作系统下的各种工具都遵循GPL协议,任何人都可以下载修改,并重新发布。攻击者可以随时利用和研究这些工具,导致ELF文件的安全性受到严峻的考验。由于数字签名是一种校验文件完整性的有效方法,其签名数据的不可修改性成为校验ELF文件完整性的有效方法。由于校验数据完整性只能保证程序在启动时是完整的,不能控制程序在运行过程中的行为,因此基于区域概念被提出,并用于控制程序的运行行为已经成为现实,基于此,现提供一种基于签名机制控制ELF文件运行的方法。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、基于签名机制控制ELF文件运行的方法。—种基于签名机制控制ELF文件运行的方法,其具体实现过程为: 对整个系统运行空间进行区域划分,即通过签名机制实现对系统运行空间的区域划分,通过签名机制控制每个区域的安全级别,不同的签名具有不同的安全级别; 应用程序运行在特定的区域中,即应用程序在启动、运行、关闭的整个运行过程中,首先根据签名判断程序是否能够运行,其次根据程序所属区域限制其执行权限和操作行为。所述方法实施前,首先进行系统初始化步骤,首先要搜索整个系统下的ELF文件,然后对每个ELF文件签发证书,将这些证书放到数据库中,将保存到数据库中的文件划分到不同的区域中。所述签名机制包括两部分内容:一部分是完成区域签名,该签名首先是将系统下的ELF文件签名,对ELF文件划分区域后,完成对区域的签名;另一部分是控制ELF文件在不同区域的执行。所述签名机制下存在三种工作模式:强制、自学习和禁用模式,其中强制模式下,只有符合签名规则的ELF文件才允许在制定的区域中运行;自学习模式下,程序自由运行,记录其在运行过程中的动作,自动划分区域和分配动作;禁用模式下,该签名机制将被关闭。在上述三种不同的模式下,程序的控制模式不同,其中强制模式下一个程序必须属于一个区域,并在该区域中执行规定的操作及操作对象,否则该程序将不允许执行;自学习模式下,程序的执行首先必须符合强制模式,若一个程序不属于任何一个区域中,在学习模式下将运行在单独一个学习的区域中,学习完毕后由系统分配器所属区域,当有系统自动分配的程序时,给出告警提示,由管理员确认其安全性。对ELF文件的签名和校验是通过读取ELF文件头和特定算法选取的ELF文件数据、签名者信息、签名时间、签名算法生成散列值实现的,并将该散列值存储到预先留出的特定区域;校验时通过相同的签名算法读取文件信息生成散列值,并将散列值与库中值进行校验;该存储区域只运行签名程序读取和写入到特定文件的操作,只允许校验程序读取特定文件操作。所述签名内容保存到系统的特定区域中,该特定区域是指数据加密存储在硬盘数据库中,该区域数据只允许签名和校验程序读取和写入。所述步骤二中,系统运行过程中,对每个程序的控制根据模式、校验、区域进行控制:当程序运行时,首先判断工作模式:禁用模式下,判断是否属于特殊区域,若不属于特殊区域直接运行,若属于特殊区域则进入特殊区域执行,受特殊区域限制;自学习模式下,校验ELF签名,不存在签名,进入自学习区域执行,若存在签名且失败,阻止运行,若成功,判断所属区域进入该区域执行,受该区域限制;强制模式下,校验ELF签名,不存在签名阻止运行,若存在签名且校验失败阻止运行,若成功判断所属区域进入该区域执行。所述系统的整体框架包括系统控制、文件签名、区域划分、ELF文件执行控制程序、特殊区域、默认区域、自学习区域及管理员自定义的控制区域和存放配置文件的数据库,其中: 系统控制用于完成所有策略的生成、配置、下发部件;文件签名为对ELF文件签名和保存到数据库中的部件;区域划分是用来生成区域及区域签名的部件;ELF文件控制程序用来截获ELF文件执行并校验其签名;默认区域为具有全部操作权限的区域,不对程序做任何限制;特殊区域仅允许系统控制程序、文件签名程序、区域划分程序程序执行,对数据库由读写权限,对其它文件仅具有读的权限;自学习区域记录程序的操作,并汇总到数据库;区域控制为管理员自己创建的区域,这个区域中仅允许执行规定的操作和访问规定的文件,这里的规定操作包括读、写、创建、删除,其它操作或者文件将执行拒绝动作。本专利技术的一种基于签名机制控制ELF文件运行的方法,具有以下优点: 本专利技术的一种基于签名机制控制ELF文件运行的方法,适用于系统环境相对稳定的工作环境,通过签名和区域控制技术确保ELF文件的可靠性和运行过程的可控性;该过程易于实现,操作简单,实用性强,易于推广。【附图说明】附图1为本专利技术的整体框架示意图。附图2为本专利技术的系统初始化流程图。附图3为校验及区域控制示意图。附图4为区域控制示意图。【具体实施方式】下面结合附图和具体实施例对本专利技术作进一步说明。本专利技术提供一种基于签名机制控制ELF文件运行的方法,其具体实现过程为: 对整个系统运行空间进行区域划分,即通过签名机制实现对系统运行空间的区域划分,通过签名机制控制每个区域的安全级别,不同的签名具有不同的安全级别; 应用程序运行在特定的区域中,即应用程序在启动、运行、关闭的整个运行过程中,首先根据签名判断程序是否能够运行,其次根据程序所属区域限制其执行权限和操作行为。所述签名机制包括两部分内容:一部分是完成区域签名,该签名首先是将系统下的ELF文件签名,对ELF文件划分区域后,完成对区域的签名;另一部分是控制ELF文件在不同区域的执行。所述签名机制下存在三种工作模式:强制、自学习和禁用模式,其中强制模式下,只有符合签名规则的ELF文件才允许在制定的区域中运行;自学习模式下,程序自由运行,记录其在运行过程中的动作,自动划分区域和分配动作;禁用模式下,该签名机制将被关闭。不同的区域可以通过策略分配不同的执行权限。如限制执行的操作和限制执行操作的对象。当程序需要运行时首先需要检测其允许的区域,然后根据区域检测其是否允许执行相应的权限。不同的模式下,程序的控制模式不同。强制模式下一个程序必须属于一个区域,并在该区域中执行规定的操作及操作对象。否则改程序将不允许执行。自学习模式下,程序的执行首先必须符合强制模式,若一个程序不属于任何一个区域中,在学习模式下将运行在单独一个学习的区域中,学习完毕后由系统分配器所属区域。对于有系统自动分配的程序,会给出告警提示,由管理员确认其安全性。对ELF文件的签名和校验是通过读取ELF文件头和特定算法选取的ELF文件数据、签名者信息、签名时间、签名算法生成散列值实现的,并将该散列值存储到预先留出的特定区域;校验时通过相同的签名算法读取文件信息生成散列值,并将散列值与库中值进行校验;该存储区域只运行签名程序读取和写入到特定文件的操作,只允许校验程序读取特定文件操作。[当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于签名机制控制ELF文件运行的方法,其特征在于,其具体实现过程为:对整个系统运行空间进行区域划分,即通过签名机制实现对系统运行空间的区域划分,通过签名机制控制每个区域的安全级别,不同的签名具有不同的安全级别;应用程序运行在特定的区域中,即应用程序在启动、运行、关闭的整个运行过程中,首先根据签名判断程序是否能够运行,其次根据程序所属区域限制其执行权限和操作行为。

【技术特征摘要】

【专利技术属性】
技术研发人员:戴纯兴
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1