admin管理员组

文章数量:1534191

2024年6月16日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.0

(22)申请日 2011.05.25

(71)申请人 成都康禾科技有限公司

地址 610000 四川省成都市高新区科园二路1号创业中心A楼103B号

(72)发明人 强文 许旭

(74)专利代理机构 成都蓉信三星专利事务所

代理人 杨春

(51)

(10)申请公布号 CN 102222185 A

(43)申请公布日 2011.10.19

权利要求说明书 说明书 幅图

(54)发明名称

一种避免操作系统启动文件被感染

的方法

(57)摘要

本发明公开了一种避免操作系统启

动文件被感染的方法,包括步骤:1、初始

化保护环境,首先在系统中用boot加载安

装一保护驱动并由用户输入保护驱动名

字;其次建立备份系统启动文件夹,并于

系统的system32目录下建立驱动配置文

件;2、系统启动时保护驱动截获文件操

作,判断文件类型,如果是备份文件夹中

的系统启动文件,则禁止操作;如果是系

统启动文件,则转下一步骤;如果是其他

文件,则放行操作;3、判断文件操作的类

型和操作进程,如果是系统进程,且以

Executive Image方式打开,则由保护驱动

接管后续读取操作,读取备份文件文件夹

中的对应文件;如果是其他情况,则放行

操作。本发明使病毒无法通过感染系统启

动文件方式,随系统开机自动运行,取得

系统控制权。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种避免操作系统启动文件被感染的方法,其特征在于包括以下步骤:

(1)初始化保护环境,包括:

A.在系统中安装一个采用文件系统过滤驱动技术的保护驱动并由用户输入保护驱

动名字,所述保护驱动采用kernel mode driver(核心模式驱动程序)模型,使用

boot加载方式安装;

B.建立备份文件夹,备份系统启动文件,并于系统的system32目录下建立文件名

与保护驱动名字相同的驱动配置文件,所述配置文件为备份文件夹路径和卸载密码;

(2)系统启动时加载保护驱动,保护驱动截获文件操作,判断文件类型,如果是

备份文件夹中的系统启动文件,则禁止操作;如果是系统启动文件,则转下一步骤

(3);如果是其他文件,则放行操作;

(3)判断文件操作的类型和操作进程,如果是系统进程,且以Executive Image方

式打开,则由保护驱动接管后续读取操作,读取备份文件文件夹中的对应文件;如

果是其他情况,则放行操作。

2.根据权利要求1所述的一种避免操作系统启动文件被感染的方法,其特征在于:

所述的系统是指

Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows

7的32位操作系统。

3.根据权利要求1所述的一种避免操作系统启动文件被感染的方法,其特征在于:

所述的系统启动文件是指系统开机到进入桌面,所启动的所有进程对应的可执行文

件。

4.根据权利要求1所述的一种避免操作系统启动文件被感染的方法,其特征在于:

所述的系统进程是指SYSTEM进程,进程和当前已经启动的系统启动文

件对应进程。

5.根据权利要求1所述的一种避免操作系统启动文件被感染的方法,其特征在于:

所述的禁止操作包括在文件系统过滤驱动的IRP_MJ_CREATE 处理例程中,返回

STATUS_ACCESS_DENIED。

6.根据权利要求1所述的一种避免操作系统启动文件被感染的方法,其特征在于:

所述的放行操作包括在文件系统过滤驱动的IRP_MJ_CREATE 处理例程中,将传

入的IRP传递到下层驱动,并且标记此文件对应FileObject为放行操作,以便在文

件过滤驱动的其他例程中也直接将IRP传递到下层。

7.根据权利要求1所述的一种避免操作系统启动文件被感染的方法,其特征在于:

所述的接管后续读取操作包括在文件系统过滤驱动的IRP_MJ_CREATE 处理例程

中,由文件系统过滤驱动打开指定的备份文件,然后把文件handle写入IRP中

FileObject的FsContext域中,同时在后续的读取例程中,驱动根据FsContext域的

handle信息,通过系统调用完成实际读取,将结果写入IRP对应域中,后续的写入

操作都将被忽略,但是向上层返回成功,保证备份的文件不会被修改。

说 明 书

技术领域

本发明涉及一种避免操作系统启动文件被感染的方法,具体来说,涉及一种让病毒

感染后无法开机启动的方法。

背景技术

计算机病毒是现在计算机应用方面面临的重大问题,它轻则影响系统性能,破坏系

统稳定性,重则删除文件,盗取机密信息,给计算机用户带来不便甚至经济上的损

失。

传统上使用两种手段来解决计算机使用中的病毒问题。第一种是杀毒软件技术,其

原理是当操作系统将要读取文件的时候,或者通过网络传输数据的时候,杀毒软件

模块将会先分析文件或数据内容,判断是否和预先定义的病毒特征匹配。如果匹配,

则认为是有毒,那么杀毒软件会阻止操作系统的文件操作。杀毒软件的主要缺点在

于,由于可执行代码本身是可变换的,如果病毒本身被压缩,或者加壳处理过,那

么杀毒软件的特征库就完全失去了作用。新型的杀毒软件会用虚拟机模拟执行的方

式做行为特征匹配,但是这种方式误判率很高,经常会把正常软件当做病毒报警,

造成用户的困扰。

第二种是磁盘还原技术,其原理是在磁盘上划分出一块保留区域,系统的所有写盘

操作都被还原驱动导向到保留区中,并建立导向扇区和实际扇区的映射表。当系统

重启之后,抛弃上次的保留区数据和映射表。这样每次开机看到的都是一样的系统,

不会留下上次操作的痕迹,自然也没有病毒可以在重启之后保留下来。磁盘还原的

缺点是,只能针对整个磁盘卷做还原,会对整个卷造成影响,保护的粒度过大,同

时磁盘还原需要对系统的所有磁盘操作进行拦截和分析,所以会对系统性能有较大

影响。这样用户如果有其他有用数据需要保留,则需要通过特殊的手段才能达成,

造成了使用的不便。

发明内容

针对上述现有技术,本发明要解决的技术问题是提供一种避免操作系统启动文件被

感染的方法,使得病毒无法通过感染系统启动文件的方式,随系统开机而自动运行,

取得系统控制权。

为了解决上述技术问题,本发明采用如下技术方案:一种避免操作系统启动文件被

感染的方法,包括以下步骤:

(1)初始化保护环境,包括:

A.在系统中安装一个采用文件系统过滤驱动技术的保护驱动并由用户输入保护驱

动名字,所述保护驱动采用kernel mode driver(核心模式驱动程序)模型,使用

boot加载方式安装;

B.建立备份文件夹,备份系统启动文件,并于系统的system32目录下建立文件名

与保护驱动名字相同的驱动配置文件,所述配置文件为备份文件夹路径和卸载密码;

(2)系统启动时加载保护驱动,保护驱动截获文件操作,判断文件类型,如果是

备份文件夹中的系统启动文件,则禁止操作;如果是系统启动文件,则转下一步骤

(3);如果是其他文件,则放行操作;

(3)判断文件操作的类型和操作进程,如果是系统进程,且以Executive Image方

式打开,则由保护驱动接管后续读取操作,读取备份文件文件夹中的对应文件;如

果是其他情况,则放行操作。

作为优选,所述的系统是指

Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows

7的32位操作系统。

作为优选,所述的系统启动文件是指系统开机到进入桌面,所启动的所有进程对应

的可执行文件。

作为优选,所述的系统进程是指SYSTEM进程,进程和当前已经启动的

系统启动文件对应进程。

作为优选,所述的禁止操作包括在文件系统过滤驱动的IRP_MJ_CREATE 处理例

程中,返回STATUS_ACCESS_DENIED。

作为优选,所述的放行操作包括在文件系统过滤驱动的IRP_MJ_CREATE 处理例

程中,将传入的IRP传递到下层驱动,并且标记此文件对应FileObject为放行操作,

以便在文件过滤驱动的其他例程中也直接将IRP传递到下层。

作为优选,所述的接管后续读取操作包括在文件系统过滤驱动的

IRP_MJ_CREATE 处理例程中,由文件系统过滤驱动打开指定的备份文件,然后把

文件handle写入IRP中FileObject的FsContext域中,同时在后续的读取例程中,

驱动根据FsContext域的handle信息,通过系统调用完成实际读取,将结果写入

IRP对应域中,后续的写入操作都将被忽略,但是向上层返回成功,保证备份的文

件不会被修改。

与现有技术相比,本发明具有以下优点:采用备份系统启动文件的方式保护系统启

动文件,使得病毒无法在开机后立即在系统中运行,从而使得病毒失去传播和发作

能力,由于驱动配置文件名由用户指定,不固定,并且被内核驱动禁止写入双重保

险,备份的系统启动文件可以保证是正确的。因为系统启动文件数量是很少的(相

对于整个盘的容量),所以备份所要的磁盘空间比起磁盘还原来说少很多,几乎可

以忽略不计;而且,由于系统启动文件只有在系统启动的时候才会被频繁访问,所

以本方法的运行时效率也很高,几乎不会影响系统性能;本方法在保护系统启动文

件的同时,不会对用户的其他文件造成影响。

附图说明

图1为本发明保护环境初始化的流程图;

图2为本发明具体工作的流程图。

具体实施方式

下面将结合附图及实施例对本发明作进一步的描述。

如图1所示为初始化环境保护的流程图,首先,初始化程序会将保护驱动文件名改

为一个用户输入的名字,并在需要保护的系统中将保护驱动安装为boot加载方式。

此步骤是为了防止有针对本保护方案的攻击;然后,建立一个文件名与保护驱动相

同的配置文件于系统的system32目录下,内容为启动文件备份文件夹路径(程序

提示用户输入)和卸载密码(程序提示用户输入)。接下来,建立启动文件备份文

件夹;初始化系统启动文件有3种情况:1.如果需要保护的系统启动文件已经确定

(比如一个集中化的计算机环境,多台计算机配置完全相同),那么可以直接将系

统启动文件放入备份文件夹中,先用文件管理器打开备份文件夹目录并退出,用户

自行拷贝内容至备份文件夹内;2.初始化程序根据用户选择的备份的文件列表,通

常列出常用系统启动文件列表和当前系统开机启动程序列表,用户打钩选择,程序

拷贝选择需要备份的文件至备份文件夹内。3.留为空文件夹,下次系统启动时,保

护驱动会根据winlogon进程启动前的所有进程进行自动启动文件识别和备份。

参见图2为本方法的具体工作流程图,系统在启动时加载文件系统过滤驱动构成的

保护驱动,保护驱动截获所有的文件操作,当截获到文件打开操作时,首先获取将

打开文件的全路径,如果是备份系统启动文件,则返回拒绝访问的错误码,禁止操

作文件;如果是非系统启动文件,那么允许通过,正常操作文件,直接传递Irp至

下层设备;如果是系统启动文件,那么将接管关于此FileObject的所有后续操作,

例如,根据调用参数和调用进程,判断是否为系统进程的正常读取,且以

Executive Image方式打开,如果是则从配置文件获取备份文件夹目录位置,读取备

份启动文件,如果发现有写入备份的系统启动文件的动作,则禁止写入;如果对备

份文件夹及其内容有列目录的操作,则隐藏备份文件夹。如果是其他情况,则读入

原始位置文件,在此FileObject的FsContext域中记录相关的对应信息,让上层读

取对应的备份系统启动文件内容。

如果需要更新系统,先要暂停驱动。暂停驱动需要通过初始化程序输入卸载密码,

并选择暂停功能。保护驱动会校验程序md5码和密码,防止恶意暂停和卸载。暂

停驱动后,系统可以自由更新。再次启动保护需要在初始化程序里开启,初始化程

序会先更新备份更改的系统启动文件,然后启动保护驱动。

本文标签: 文件驱动操作系统保护