一种Linux系统软件白名单兼容性处理方法与流程

文档序号:11520150阅读:1040来源:国知局
一种Linux系统软件白名单兼容性处理方法与流程

本发明涉及计算机操作系统安全技术领域,特别涉及一种linux系统软件白名单兼容性处理方法。



背景技术:

随着云计算、大数据等新型技术的发展,对云主机和服务器的安全计算环境要求越来越高。软件白名单机制能够禁止非白名单清单以外的任何程序运行,是一种很好的解决安全计算环境的方法。

但是同时,白名单机制极高的安全性也带来了系统运行的兼容性问题。例如:操作系统运行期间会更新/升级系统,也会定期自动打一些补丁,而更新、升级、打补丁都会创建和修改一些软件白名单清单中的文件。由于这些文件受软件白名单内核驱动模块的保护,所以更新、升级、打补丁会失败,影响了操作系统的正常维护。再如:用户业务系统需要经常性的做一些升级/维护或文件更新/替换,也同样会受到软件白名单机制的影响。

基于上述问题,本发明提出了一种linux系统软件白名单兼容性处理方法。通过在软件白名单内核驱动模块增加可信规则和增加对写入、删除、重命名的针对性处理,有效的解决了软件白名单应用过程中的兼容性问题。



技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的linux系统软件白名单兼容性处理方法。

本发明是通过如下技术方案实现的:

一种linux系统软件白名单兼容性处理方法,其特征在于:改进软件白名单的内核驱动模块,包括增加可信规则进程,控制二进制文件写入进程和控制二进制文件删除/控制二进制文件重命名进程,使其能够根据规则配置和自动识别,从而使操作系统本身及用户关注的业务系统相关的进程启动,动态库加载和驱动加载程序正常运行,避免操作系统的正常功能受到影响,避免业务系统的日常维护受到影响,彻底解决linux操作系统软件白名单的兼容性问题,在操作系统保持干净、安全运行环境的基础上,使操作系统自身运行正常,用户业务系统运行正常。

所述可信规则包括可信用户,可信路径,可信进程和程序更新器;所述可信用户是将某个用户设为可信,设为可信的用户运行的所有程序都被信任;所述可信路径是将某个路径设为可信,设为可信的路径下的所有文件都被信任;所述可信进程是将某个程序文件设为可信,设为可信的程序运行将被信任;所述程序更新器是将某个程序文件设为程序更新器,设为程序更新器的程序文件不但因被信任而运行,而且该程序文件创建的文件会自动加入白名单清单,从而自动可信;所述控制二进制文件写入进程和控制二进制文件删除/控制二进制文件重命名进程均可通过判断操作进程是否为程序更新器来决定是否允许执行。

所述可信规则进程即标识一些不是白名单清单链表中的程序可信,允许其运行;所述内核驱动模块拦截到程序后首先判断程序是否是可信规则中的进程;如果是可信规则中的进程,则不用遍历自身的白名单清单链表,将此访问传递到原系统调用,操作系统正常完成此映射;如果不是可信规则中的进程,则要遍历自身的白名单清单链表,来决定是否允许其运行。

所述控制二进制文件写入进程包括以下步骤:

(1)内核驱动模块拦截所有文件写入操作,获取写操作进程的信息,并根据已经写入的数据判断被写入文件是否是elf文件;

(2)如果被写入文件不是elf文件,则允许其继续写入;

(3)如果被写入文件是elf文件,则再根据写操作进程信息进行判断写操作进程是否是程序更新器;

(4)如果写操作进程是程序更新器,则允许其继续写入,写入完成后自动将被写入文件的全路径和文件内容的sha1值更新到白名单清单;

(5)如果写操作进程不是程序更新器,则拒绝其写入。

所述控制二进制文件删除/控制二进制文件重命名进程包括以下步骤:

(1)内核驱动模块拦截所有文件删除与重命名操作,获取删除/重命名操作进程的信息;

(2)判断进行删除/重命名操作的进程是否是程序更新器;

(3)如果进行删除/重命名操作的进程是可信规则中的程序更新器,允许其删除/重命名,删除/重命名完成后自动更新到白名单清单;

(4)如果进行删除/重命名操作的进程不是可信规则中的程序更新器,则遍历软件白名单清单链表,判断被删除/重命名的文件是否是清单文件;

(5)如果被删除/重命名的文件是清单文件,拒绝其删除/重命名;

(6)如果被删除/重命名的文件不是清单文件,允许其删除/重命名。

本发明的有益效果是:该linux系统软件白名单兼容性处理方法,有效的解决了软件白名单应用过程中的兼容性问题,同时又保证了计算环境的安全性,从而建立了一个安全、可行、合理的操作系统计算环境,适宜推广应用。

附图说明

附图1为本发明可信规则进程流程示意图。

附图2为本发明控制二进制文件写入进程流程示意图。

附图3为本发明控制二进制文件删除/控制二进制文件重命名进程流程示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该linux系统软件白名单兼容性处理方法,改进软件白名单的内核驱动模块,包括增加可信规则进程,控制二进制文件写入进程和控制二进制文件删除/控制二进制文件重命名进程,使其能够根据规则配置和自动识别,从而使操作系统本身及用户关注的业务系统相关的进程启动,动态库加载和驱动加载程序正常运行,避免操作系统的正常功能受到影响,避免业务系统的日常维护受到影响,彻底解决linux操作系统软件白名单的兼容性问题,在操作系统保持干净、安全运行环境的基础上,使操作系统自身运行正常,用户业务系统运行正常。

所述可信规则包括可信用户,可信路径,可信进程和程序更新器;所述可信用户是将某个用户设为可信,设为可信的用户运行的所有程序都被信任;所述可信路径是将某个路径设为可信,设为可信的路径下的所有文件都被信任;所述可信进程是将某个程序文件设为可信,设为可信的程序运行将被信任;所述程序更新器是将某个程序文件设为程序更新器,设为程序更新器的程序文件不但因被信任而运行,而且该程序文件创建的文件会自动加入白名单清单,从而自动可信;所述控制二进制文件写入进程和控制二进制文件删除/控制二进制文件重命名进程均可通过判断操作进程是否为程序更新器来决定是否允许执行。

不管是进程启动,是动态库加载,还是驱动加载,都要由操作系统将elf文件映射到内存。在操作系统运行期间,发生elf文件映射行为时,例如:a进程要启动b进程、a进程要加载b动态库、进程要加载驱动,都会自动进入内核驱动模块。

所述可信规则进程即标识一些不是白名单清单链表中的程序可信,允许其运行;所述内核驱动模块拦截到程序后首先判断程序是否是可信规则中的进程;如果是可信规则中的进程,则不用遍历自身的白名单清单链表,将此访问传递到原系统调用,操作系统正常完成此映射;如果不是可信规则中的进程,则要遍历自身的白名单清单链表,来决定是否允许其运行。

所述控制二进制文件写入进程包括以下步骤:

(1)内核驱动模块拦截所有文件写入操作,获取写操作进程的信息,并根据已经写入的数据判断被写入文件是否是elf文件;

(2)如果被写入文件不是elf文件,则允许其继续写入;

(3)如果被写入文件是elf文件,则再根据写操作进程信息进行判断写操作进程是否是程序更新器;

(4)如果写操作进程是程序更新器,则允许其继续写入,写入完成后自动将被写入文件的全路径和文件内容的sha1值更新到白名单清单;

(5)如果写操作进程不是程序更新器,则拒绝其写入。

该linux系统软件白名单兼容性处理方法,通过在现有软件白名单技术上改进内核驱动模块,增加文件写入控制功能,使得只有配置的程序更新器可以写入,且写入后的文件变化会自动同步到白名单清单。避免了程序更新器以外的其它程序创建新的二进制文件,避免了程序更新器以外的其它程序对白名单清单中的二进制文件进行改写、覆盖和替换。

所述控制二进制文件删除/控制二进制文件重命名进程包括以下步骤:

(1)内核驱动模块拦截所有文件删除与重命名操作,获取删除/重命名操作进程的信息;

(2)判断进行删除/重命名操作的进程是否是程序更新器;

(3)如果进行删除/重命名操作的进程是可信规则中的程序更新器,允许其删除/重命名,删除/重命名完成后自动更新到白名单清单;

(4)如果进行删除/重命名操作的进程不是可信规则中的程序更新器,则遍历软件白名单清单链表,判断被删除/重命名的文件是否是清单文件;

(5)如果被删除/重命名的文件是清单文件,拒绝其删除/重命名;

(6)如果被删除/重命名的文件不是清单文件,允许其删除/重命名。

该linux系统软件白名单兼容性处理方法,通过在现有软件白名单技术上改进内核驱动模块,增加文件删除/重命名控制功能,使得只有配置的程序更新器可以删除/重命名,且删除过的文件自动从白名单清单剔除,重命名后的文件路径会自动同步到白名单清单。避免了程序更新器以外的其它程序对白名单清单中的文件进行删除,避免了程序更新器以外的其它程序对白名单清单中的文件进行重命名。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1