一种基于文件系统过滤驱动的Windows白名单控制方法与流程

文档序号:11951543阅读:957来源:国知局
一种基于文件系统过滤驱动的Windows白名单控制方法与流程

本发明涉及系统注册表防护技术领域,具体涉及一种基于文件系统过滤驱动的Windows白名单控制方法。



背景技术:

随着云计算、大数据等新型技术的发展,对云主机和服务器的安全计算环境要求越来越高。安全的计算环境是云计算发展的基础,没有安全的计算环境就不能保证云端数据的安全性,没有安全的计算环境就不能保证云端业务的可持续性。软件白名单机制是构建安全计算环境的重要措施。一种基于文件系统过滤驱动的Windows白名单控制方法,有效的解决了Windows系统上软件白名单技术的实现机制及如何部署的问题。Windows系统上可运行的二进制文件,通常有三种方式:

1、EXE文件,可独立运行的可执行文件;

2、DLL文件,必须由EXE文件加载到自身的进程地址空间才能运行的动态库文件;

3、SYS文件,由系统进程加载到内核空间运行的驱动文件。

如果黑客或内部人员新增、修改、替换这三种类型文件中的任意一个,造成当前操作系统存在恶意文件,计算环境将不再安全。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种基于文件系统过滤驱动的Windows白名单控制方法,可以禁止非白名单清单中的进程启动,禁止非白名单清单中的动态库和驱动加载,同时保证白名单清单中的进程文件、动态库文件和驱动文件不被非法写入、覆盖、替换、删除和重命名,保证当前操作系统不再新建二进制文件,从而建立一个安全的操作系统计算环境。

本发明所采用的技术方案为:

一种基于文件系统过滤驱动的Windows白名单控制方法,所述方法通过在Windows NTFS文件系统上面增加过滤驱动,在整个操作系统上控制非白名单中的进程启动,控制非白名单中的动态库加载,控制非白名单中的驱动加载,控制二进制文件添加,控制白名单中的二进制文件被写入、覆盖、替换、删除和重命名,使操作系统保持干净、安全的运行环境。

所述方法涉及的模块包括:(1)文件系统过滤驱动模块、(2)白名单主服务进程模块,其中:

(1)文件系统过滤驱动模块:采用内核驱动的方式实现,由白名单主服务进程模块安装,随操作系统运行自动运行;

在操作系统运行期间,发生PE文件映射行为时,自动进入文件系统过滤驱动模块;该模块将遍历自身的白名单清单链表,判断该PE文件映射是否允许,如果是白名单清单中的二进制文件,则将此访问传递到NTFS文件系统,操作系统正常完成此映射;如果不是白名单清单中的二进制文件,则将此访问过程阻止,操作系统映射PE文件失败,从而使得对应的进程无法启动、动态库无法加载、驱动无法加载;

(2)白名单主服务进程模块:白名单主服务进程模块采用Windows应用程序的方式实现,白名单主服务进程在初始化时安装文件系统过滤驱动模块,同时扫描操作系统上的所有PE文件,将各个PE文件的全路径和文件内容的SHA1值添加到驱动的白名单清单中。

操作系统运行期间,所述文件系统过滤驱动模块拦截文件创建行为,禁止创建二进制文件,操作系统运行期间所有针对白名单清单链表中的二进制文件的写入、覆盖、替换、删除、重命名,都将被文件系统过滤驱动拦截后予以拒绝。

白名单主服务进程初次启动在操作系统刚刚安装/配置完成且网络断开的情况下进行。

白名单主服务进程主动退出时,自动从当前操作系统中卸载文件系统过滤驱动模块和自身白名单主服务进程模块,白名单控制方法的保护失效,从而将用户的操作系统运行环境复原。

SHA1安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2-64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。HA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。

本发明的有益效果为:

本发明具有技术鲜明、部署简单的特点,通过使用Windows操作系统标准的文件系统过滤驱动技术,拦截进程启动、动态库加载、驱动加载、二进制文件创建、二进制文件写入、二进制文件删除、二进制文件重命名,可以全面增强Windows操作系统的安全性。在用户使用方面增加了极大的便利性。白名单主服务进程在安装文件系统过滤驱动之后,自动扫描当前系统上的所有二进制文件,建立白名单清单链表,不需要用户进行任何干预。

附图说明

图1为本发明二进制文件启动/加载保护流程图;

图2为本发明二进制文件写入等破坏性操作保护流程图。

具体实施方式

下面结合说明书附图,根据具体实施方式对本发明进一步说明:

实施例1:

一种基于文件系统过滤驱动的Windows白名单控制方法,所述方法通过在Windows NTFS文件系统上面增加过滤驱动,在整个操作系统上控制非白名单中的进程启动,控制非白名单中的动态库加载,控制非白名单中的驱动加载,控制二进制文件添加,控制白名单中的二进制文件被写入、覆盖、替换、删除和重命名,使操作系统保持干净、安全的运行环境。

可以禁止非白名单清单中的进程启动,禁止非白名单清单中的动态库和驱动加载,同时保证白名单清单中的进程文件、动态库文件和驱动文件不被非法写入、覆盖、替换、删除和重命名,保证当前操作系统不再新建二进制文件,从而建立一个安全的操作系统计算环境。

实施例2

在实施例1的基础上,本实施例所述方法涉及的模块包括:(1)文件系统过滤驱动模块、(2)白名单主服务进程模块,其中:

(1)文件系统过滤驱动模块:采用内核驱动的方式实现,由白名单主服务进程模块安装,随操作系统运行自动运行;

在Windows操作系统中,可执行文件(EXE文件)、动态库文件(DLL文件)和驱动文件(SYS文件)都是PE格式的文件,不管是进程启动,是动态库加载,还是驱动加载,都要由操作系统将PE文件映射到内存;

在操作系统运行期间,发生PE文件映射行为时,例如:A进程要终止B进程、A进程要加载B动态库、系统进程要加载驱动,会自动进入文件系统过滤驱动模块;该模块将遍历自身的白名单清单链表,判断该PE文件映射是否允许,如果是白名单清单中的二进制文件,则将此访问传递到NTFS文件系统,操作系统正常完成此映射;如果不是白名单清单中的二进制文件,则将此访问过程阻止,操作系统映射PE文件失败,从而使得对应的进程无法启动、动态库无法加载、驱动无法加载;如图1所示;

(2)白名单主服务进程模块:白名单主服务进程模块采用Windows应用程序的方式实现,白名单主服务进程在初始化时安装文件系统过滤驱动模块,同时扫描操作系统上的所有PE文件,将各个PE文件的全路径和文件内容的SHA1值添加到驱动的白名单清单中。

实施例3

在实施例2的基础上,本实施例在操作系统运行期间,所述文件系统过滤驱动模块拦截文件创建行为,禁止创建二进制文件,操作系统运行期间所有针对白名单清单链表中的二进制文件的写入、覆盖、替换、删除、重命名,都将被文件系统过滤驱动拦截后予以拒绝,如图2所示。

实施例4

在任一实施例1、2或3的基础上,本实施例为了安全起见,白名单主服务进程初次启动最好在操作系统刚刚安装/配置完成且网络断开的情况下进行。

实施例5

在实施例4的基础上,本实施例白名单主服务进程主动退出时,自动从当前操作系统中卸载文件系统过滤驱动模块和自身白名单主服务进程模块。本白名单控制方法的保护失效,从而将用户的操作系统运行环境复原。

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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