CN101414329B - 删除正在运行中的病毒的方法 - Google Patents

删除正在运行中的病毒的方法 Download PDF

Info

Publication number
CN101414329B
CN101414329B CN200710162445.XA CN200710162445A CN101414329B CN 101414329 B CN101414329 B CN 101414329B CN 200710162445 A CN200710162445 A CN 200710162445A CN 101414329 B CN101414329 B CN 101414329B
Authority
CN
China
Prior art keywords
file
authority verification
virus
function
virus document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200710162445.XA
Other languages
English (en)
Other versions
CN101414329A (zh
Inventor
韩宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing net an Technology Limited by Share Ltd
Original Assignee
Beijing Rising Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Rising Information Technology Co Ltd filed Critical Beijing Rising Information Technology Co Ltd
Priority to CN200710162445.XA priority Critical patent/CN101414329B/zh
Publication of CN101414329A publication Critical patent/CN101414329A/zh
Application granted granted Critical
Publication of CN101414329B publication Critical patent/CN101414329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于删除正在运行的病毒文件的方法,包括:拦截由操作系统内核导出的用于文件的权限验证的函数;发现正在运行的病毒文件;当有对于该病毒文件的打开请求时,由文件系统调用所述用于文件的权限验证的函数;当确定该文件打开请求是由指定的杀毒软件提出并将删除该病毒文件时,修改所述用于文件的权限验证的函数的参数或返回值,使得文件系统成功完成文件的权限验证,以允许该指定的杀毒软件删除该病毒文件,从而清除病毒。

Description

删除正在运行中的病毒的方法
技术领域
本发明涉及一种删除病毒文件的方法。
背景技术
当计算机已经被病毒程序感染以后,病毒程序处于运行状态,这时正在运行的文件是受操作系统保护的,是禁止删除的。例如,当打开一个WORD文件时,如果用户试图删除该文件,系统会提示文件被占用而无法删除。这就造成查杀病毒时无法清除正在运行的病毒的问题。
以往的方法都是重新启动计算机,在病毒运行之前删除它,这要求用户重新启动计算机,而在某些服务器上并不是随时都能重启的,这就造成了杀毒不彻底的情况,还有些病毒本身做了自我保护,它的进程不能被直接结束。所以要想彻底根除病毒,就要删除病毒文件。
计算机里的文件有访问权限,如执行方式、共享读权限、独占读权限、共享写权限、独占写权限、删除权限,这里“独占”的意思是一个用户打开时其他用户就不能打开了。当一个文件被访问时,首次打开这个文件时可以赋予这个文件一些权限(如共享读权限,独占写权限或者删除权限),其中以执行方式打开的文件是由系统以可执行的方式打开的,没有删除权限的。所以当病毒在运行的时候,如果以删除权限打开它就会失败,文件就无法删除。因此,目前对于正在运行的病毒文件尚不能即时删除。
发明内容
本发明的目的在于提供一种可删除正在运行的病毒的方法,达到彻底清除病毒的目的。
根据本发明,提供一种用于删除正在运行的病毒文件的方法,包括:
拦截由操作系统内核导出的用于文件的权限验证的函数;
发现正在运行的病毒文件;
当有对于该病毒文件的打开请求时,由文件系统调用所述用于文件的权限验证的函数;
当确定该文件打开请求是由指定的杀毒软件提出并将删除该病毒文件时,修改所述用于文件的权限验证的函数的参数或返回值,使得文件系统成功完成文件的权限验证,以允许该指定的杀毒软件删除该病毒文件。
在本发明的实施例中,所述用于文件的权限验证的函数是由WindowsNT内核导出的以下三个函数:
IoCheckShareAccess、MmFlushImageSection和SeAccessCheck。
在本发明的实施例中,所述拦截步骤包括:修改文件FAT.SYS和NTFS.SYS被加载后的内存镜像的引入表,使其指向指定的权限验证驱动。
在本发明的实施例中,所述用于文件的权限验证的函数的参数或返回值被修改成说明文件的权限验证成功的状态。
通过在杀毒软件中采用本发明的方法,可以强制删除正在运行的病毒文件,提高杀毒软件的杀毒能力。
以下结合附图进一步描述本发明的实施例。
附图说明
图1是根据本发明的实施例进行强制杀毒的流程图;
图2是根据本发明的实施例进行强制杀毒的实例示意图。
具体实施方式
图1和图2示出本发明的一个优选实施例。以下参照图1和图2,描述在该实施例删除正在运行的病毒文件的过程。
(1)首先拦截如下三个函数:
IoCheckShareAccess,MmFlushImageSection,SeAccessCheck
当文件被打开时,文件系统会对这个文件打开请求进行权限验证,只有权限验证通过的才可以打开文件.
一个文件首次被打开时,WindowsNT系统会调用由其内核的IoSetShareAccess,IoUpdateShareAccess这两个函数来设置文件初始权限,这两个函数是美国微软公司公开的函数,本领域技术人员都可以查看到函数的具体说明。这两个函数主要是用于在文件打开时设置文件的共享权限和更新权限。
当文件再次被打开时,系统会调用IoCheckShareAccess,MmFlushImageSection,SeAccessCheck三个函数进行文件权限的验证,这三个函数都是由WINDOWSNT内核导出的函数,也是微软公司公开的函数。本领域技术人员同样可以在微软公司的网站上查找这三个函数的定义和相关说明。
IoCheckShareAccess是用来验证共享权限是否合法,它要去调用SeAccessCheck函数去获得文件在第一次打开时所设置的权限,如果合法文件打开操作则继续,否则文件打开操作就会被中止。
MmFlushImageSection是用来将在内存中的文件数据写入到磁盘上的一个函数,它是整个验证过程的辅助函数,文件在以写权限和删除权限打开时都要调用这个函数,以实现数据同步,避免有损坏的文件发生。如果这个函数调用失败,也会迫使文件权限验证中止。这三个函数都返回了正确的结果,文件打开的验证操作就成功了。
基于上述情况,在该实施例中对上述三个函数进行拦截,通过修改函数的参数或返回值来达到权限验证合法化的目的。
这些函数的具体拦截方法是:修改FAT.SYS、NTFS.SYS文件被加载后的内存镜像的引入表,使其指向用户指定的权限验证驱动,这样当文件打开时,就可以拦截到这三个函数的调用,在判断是不是用户指定的杀毒程序要删除病毒文件(判断方法是:如果是用户自己指定的杀毒程序就进行返回值或参数修改),如果是用户指定的杀毒软件的杀毒请求,就修改这三个函数的返回值或参数,以达到绕过文件系统的权限验证的目的。
(2)用户执行查毒扫描或文件监控发现有文件打开操作。
(3)由病毒扫描程序(如Rav.exe)调用引擎扫描病毒文件(如c:\virus.exe),如图2所示。
(4)引擎调用文件系统(FAT.SYS或NTFS.SYS)打开文件,进行文件扫描,调用磁盘系统读取文件(c:\virus.exe)的数据,看是不是病毒,如果是病毒则根据用户查毒设置进行操作,如果是删除病毒文件,则调用文件系统以删除方式打开病毒文件(c:\virus.exe),准备删除,那么将会触犯文件系统的文件权限验证机制。
(5)当有文件打开请求时,文件系统调用
IoCheckShareAccess,MmFlushImageSection,SeAccessCheck
这三个函数进行文件权限验证,由于这三个函数都已经被拦截了,所以可以对其返回值和参数进行修改。
(6)检查是不是用户指定的杀毒软件打开病毒文件并将删除病毒文件;
(7)由修改权限验证模块修改如上三个函数的参数或返回值,使文件的权限验证成功,从而可以绕过文件系统的权限控制来达到权限验证合法化的目的,由此允许删除磁盘上的病毒文件,以便成功地彻底清除病毒。
本实施例适用于WINDOWSNT系统,包括64位系统。
在其它的操作系统中存在与上述三个函数类似的用于文件的权限验证的函数。应用本发明的方法同样可以达到删除正在运行的病毒文件之效果。
以上实施例是用于对本发明做示例性说明,而不是对于本发明的限定。本领域技术人员可以采用公知技术常识,以其它可替换的手段对本发明进行相应的修改和变型以适用于不同的应用。本发明的保护范围应该以权利要求书的限定为准。

Claims (2)

1.一种用于删除正在运行的病毒文件的方法,包括:
拦截由操作系统内核导出的用于文件的权限验证的函数;
发现正在运行的病毒文件;
当有对于该病毒文件的打开请求时,由文件系统调用所述用于文件的权限验证的函数;
当确定该文件打开请求是由指定的杀毒软件提出并将删除该病毒文件时,修改所述用于文件的权限验证的函数的参数或返回值,使得文件系统成功完成文件的权限验证,以允许该指定的杀毒软件删除该病毒文件;
其中,所述用于文件的权限验证的函数是由WindowsNT内核导出的以下三个函数:
IoCheckShareAccess、MmFlushImageSection和SeAccessCheck;
所述拦截步骤包括:
修改文件FAT.SYS和NTFS.SYS被加载后的内存镜像的引入表,使所述引入表指向指定的权限验证驱动,由此使得所述三个函数的调用在文件打开时被拦截。
2.根据权利要求1所述的方法,其中,所述用于文件的权限验证的函数的参数或返回值被修改成说明文件的权限验证成功的状态。
CN200710162445.XA 2007-10-15 2007-10-15 删除正在运行中的病毒的方法 Active CN101414329B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710162445.XA CN101414329B (zh) 2007-10-15 2007-10-15 删除正在运行中的病毒的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710162445.XA CN101414329B (zh) 2007-10-15 2007-10-15 删除正在运行中的病毒的方法

Publications (2)

Publication Number Publication Date
CN101414329A CN101414329A (zh) 2009-04-22
CN101414329B true CN101414329B (zh) 2016-03-30

Family

ID=40594862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710162445.XA Active CN101414329B (zh) 2007-10-15 2007-10-15 删除正在运行中的病毒的方法

Country Status (1)

Country Link
CN (1) CN101414329B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539972B (zh) * 2009-04-28 2012-08-29 北京红旗贰仟软件技术有限公司 一种电子文档信息保护方法及系统
CN102214088B (zh) * 2010-04-07 2015-07-01 腾讯科技(深圳)有限公司 文件解锁的方法和装置
CN102855433B (zh) * 2011-06-27 2016-03-30 北京奇虎科技有限公司 一种文件解锁的方法及装置
CN102855431B (zh) * 2011-06-27 2015-08-05 奇智软件(北京)有限公司 一种文件解锁、粉碎的方法及装置
CN104732142B (zh) * 2011-06-27 2017-12-12 北京奇虎科技有限公司 一种文件解锁的方法及装置
CN103617065A (zh) * 2013-12-13 2014-03-05 广州市久邦数码科技有限公司 一种强力卸载移动终端系统软件的系统及方法
CN104008338B (zh) * 2014-05-08 2017-06-27 北京金山安全软件有限公司 一种Android恶意程序处理方法、装置及设备
CN107153792B (zh) * 2017-04-06 2020-07-24 北京安云世纪科技有限公司 一种数据安全处理方法、装置及移动终端

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Greg Hoglund.一个修改NT内核的真实RootKit.《http://www.xfocus.net/articles/200306/558.html》.2003,第1页,第15-18页. *
uty.Calling a DLL in a Kernel-Mode Driver.《http://blog.donews.com/uuty/archive/category/%E6%94%B6%E8%97%8F》.2005,第19页. *
老Y.发一块代码段(删除正在运行的程序文件).《http://bbs.pediy.com/showthread.php?t=45233》.2007,第1-4页. *

Also Published As

Publication number Publication date
CN101414329A (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
CN101414329B (zh) 删除正在运行中的病毒的方法
US8161563B2 (en) Running internet applications with low rights
US8650578B1 (en) System and method for intercepting process creation events
JP6370747B2 (ja) バーチャルマシーンモニタベースのアンチマルウェアセキュリティのためのシステム及び方法
EP3123311B1 (en) Malicious code protection for computer systems based on process modification
US8484483B2 (en) Method for protecting computer programs and data from hostile code
US8464050B2 (en) Selective authorization of the loading of dependent code modules by running processes
US10289860B2 (en) Method and apparatus for access control of application program for secure storage area
US20100306851A1 (en) Method and apparatus for preventing a vulnerability of a web browser from being exploited
US10783041B2 (en) Backup and recovery of data files using hard links
US8413253B2 (en) Protecting persistent secondary platform storage against attack from malicious or unauthorized programs
US20060230454A1 (en) Fast protection of a computer's base system from malicious software using system-wide skins with OS-level sandboxing
US20100313271A1 (en) Portable media system with virus blocker and method of operation thereof
US9219728B1 (en) Systems and methods for protecting services
US7860850B2 (en) Scanning files using direct file system access
CN111222122A (zh) 应用权限管理方法、装置及嵌入式设备
KR101207434B1 (ko) 이종의 디지털 문서 보호 시스템 간의 충돌 방지 시스템 및 방법
KR20030090568A (ko) 단말기 내의 자원 보호 시스템 및 방법
RU85249U1 (ru) Аппаратный антивирус
CN112434285B (zh) 文件管理方法、装置、电子设备及存储介质
WO2009048158A1 (ja) ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法
JP2007219786A (ja) 未知のマルウェアによる情報漏洩防止システム
EP1225512A1 (en) Method for protecting computer programs and data from hostile code
JP7476140B2 (ja) 情報処理装置、情報処理方法、およびプログラム
HK1127418A (zh) 刪除正在運行中的病毒的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1127418

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: BEIJING RISING INTERNATIONAL TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING RISING INTERNATIONAL SOFTWARE CO., LTD.

Effective date: 20100413

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 ROOM 1305, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN AVENUE, BEIJING CITY TO: 100190 ROOM 1301, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN AVENUE, HAIDIAN DISTRICT, BEIJING CITY

TA01 Transfer of patent application right

Effective date of registration: 20100413

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Applicant after: Beijing Rising Information Technology Co., Ltd.

Address before: 100080, room 1305, Zhongke building, 22 Zhongguancun street, Beijing

Applicant before: Beijing Rising International Software Co., Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee after: Beijing Rising Information Technology Co., Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee before: Beijing Rising Information Technology Co., Ltd.

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1127418

Country of ref document: HK

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee after: Beijing net an Technology Limited by Share Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee before: Beijing Rising Information Technology Co., Ltd