CN101667236A - 一种控制驱动程序安装的方法和装置 - Google Patents

一种控制驱动程序安装的方法和装置 Download PDF

Info

Publication number
CN101667236A
CN101667236A CN200810213376A CN200810213376A CN101667236A CN 101667236 A CN101667236 A CN 101667236A CN 200810213376 A CN200810213376 A CN 200810213376A CN 200810213376 A CN200810213376 A CN 200810213376A CN 101667236 A CN101667236 A CN 101667236A
Authority
CN
China
Prior art keywords
driver
install
operating system
functional module
appointment
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.)
Granted
Application number
CN200810213376A
Other languages
English (en)
Other versions
CN101667236B (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 International Software 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 International Software Co Ltd filed Critical Beijing Rising International Software Co Ltd
Priority to CN2008102133765A priority Critical patent/CN101667236B/zh
Publication of CN101667236A publication Critical patent/CN101667236A/zh
Application granted granted Critical
Publication of CN101667236B publication Critical patent/CN101667236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种控制驱动程序安装的方法和装置,其中,该方法包括:拦截操作系统通知其各个功能模块执行相应操作的通知动作和所述操作系统中用于安装驱动程序的功能模块操作所述操作系统中的注册表的操作动作;当拦截到所述通知动作并且所述拦截的通知动作表明所述操作系统通知所述用于安装驱动程序的功能模块安装一个指定的驱动程序时,存储所述指定的驱动程序的路径信息;当拦截到所述操作动作并且所述拦截的操作动作表明所述用于安装驱动程序的功能模块向所述注册表写入数据时,基于所述存储的路径信息和预先设置的保存在其上的驱动程序不允许安装的区域来确定所述指定的驱动程序是否允许安装;以及,当确定结果为否定时,通知所述操作系统不安装所述指定的驱动程序。利用该方法和装置,能够防止病毒、流氓软件、木马等向操作系统安装驱动程序。

Description

一种控制驱动程序安装的方法和装置
技术领域
本发明涉及一种控制驱动程序安装的方法和装置。
背景技术
随着计算机技术的发展,病毒、流氓软件、木马等也在不断地升级,它们已经从用户级的普通程序发展成为内核级的驱动程序。
驱动程序的特点是对操作系统的内核有最高权限,因而属于驱动程序的病毒、流氓软件、木马等不但可以修改内核数据,而且可以直接摧毁安全软件的防线。
因此,控制和防止病毒、流氓软件、木马等向操作系统安装驱动程序已经迫在眉睫。
发明内容
本发明的目的在于提供一种控制驱动程序安装的方法和装置,以防止病毒、流氓软件、木马等向操作系统安装驱动程序。
为了实现本发明的目的,按照本发明的一种控制驱动程序安装的方法,包括步骤:拦截操作系统通知其各个功能模块执行相应操作的通知动作和所述操作系统中用于安装驱动程序的功能模块操作所述操作系统中的注册表的操作动作;当拦截到所述通知动作并且所述拦截的通知动作表明所述操作系统通知所述用于安装驱动程序的功能模块安装一个指定的驱动程序时,存储所述指定的驱动程序的路径信息;当拦截到所述操作动作并且所述拦截的操作动作表明所述用于安装驱动程序的功能模块向所述注册表写入数据时,基于所述存储的路径信息和预先设置的保存在其上的驱动程序不允许安装的区域来确定所述指定的驱动程序是否允许安装;以及,当确定结果为否定时,通知所述操作系统不安装所述指定的驱动程序。
为了实现本发明的目的,按照本发明的一种控制驱动程序安装的装置,包括:拦截模块,用于拦截操作系统通知其各个功能模块执行相应操作的通知动作和所述操作系统中用于安装驱动程序的功能模块操作所述操作系统中的注册表的操作动作;存储单元,用于当拦截到所述通知动作并且所述拦截的通知动作表明所述操作系统通知所述用于安装驱动程序的功能模块安装一个指定的驱动程序时,存储所述指定的驱动程序的路径信息;确定模块,用于当拦截到所述操作动作并且所述拦截的操作动作表明所述用于安装驱动程序的功能模块向所述注册表写入数据时,基于所述存储的路径信息和预先设置的保存在其上的驱动程序不允许安装的区域来确定所述指定的驱动程序是否允许安装;以及,通知模块,用于当确定结果为否定时,通知所述操作系统不安装所述指定的驱动程序。
附图说明
通过下面结合附图的详细描述,本发明的其它特征、特点和优点将变得更加显而易见。其中:
图1示出了按照本发明一个实施例的控制驱动程序安装的方法的流程图。
具体实施方式
下面,将结合附图以Windows操作系统为例来描述本发明的各个实施例。
首先,简要描述在Windows操作系统中安装驱动程序的过程。
当一个程序要在Windows操作系统中安装驱动程序时,它将调用系统函数CreateService()来请求Windows操作系统安装驱动程序。收到安装驱动程序的请求后,Windows操作系统使用一个用于通知其各个功能模块执行相应操作的系统函数NtRequestWaitReplyPort()来通知用于安装驱动程序的功能模块SERVICE.EXE安装该驱动程序,其中,该系统函数NtRequestWaitReplyPort()包含了被通知的功能模块SERVICE.EXE的标识信息和将要被安装的驱动程序的路径信息。然后,SERVICE.EXE调用用于操作(写入数据、修改数据和删除数据等)Windows操作系统的注册表的系统函数NtSetValueKey()在注册表中写入该驱动程序的数据,完成该驱动程序的安装。
由上述驱动程序的安装过程可以看出,在安装驱动程序时都会调用系统函数NtRequestWaitReplyPort()和NtSetValueKey(),因此,按照本发明的一个方面,通过拦截系统函数NtRequestWaitReplyPort()和NtSetValueKey()来达到防止病毒、流氓软件、木马等向操作系统安装驱动程序的目的。
图1示出了按照本发明一个实施例的控制驱动程序安装的方法的流程图。如图1所示,首先,预先设置存储于其上的驱动程序不允许安装在Windows操作系统中的区域(步骤S100)。
然后,在Windows操作系统的SSDT表中设置钩子来拦截Windows操作系统对系统函数NtRequestWaitReplyPort()的调用和Windows操作系统中的功能模块SERVICE.EXE对系统函数NtSetValueKey()的调用(步骤S110)。在本实施例中,系统函数NtRequestWaitReplyPort()是Windows操作系统通知其各个功能模块执行操作的通知动作,而系统函数NtSetValueKey()是功能模块SERVICE.EXE操作注册表的操作动作。
接着,当拦截到Windows操作系统调用系统函数NtRequestWaitReplyPort()时,根据系统函数NtRequestWaitReplyPort()所包含的参数,检查是否Windows操作系统调用系统函数NtRequestWaitReplyPort()来通知功能模块SERVICE.EXE安装一个驱动程序(步骤S120)。
如果步骤S120的检查结果为否,则流程结束。
如果步骤S120的检查结果为是,则把系统函数NtRequestWaitReplyPort()中所包含的驱动程序的路径信息保存在存储单元中(步骤S130)。
当拦截到功能模块SERVICE.EXE调用系统函数NtSetValueKey()时,根据系统函数NtSetValueKey()所包含的参数,检测是否功能模块SERVICE.EXE向注册表写入数据(步骤S140)。在这里,如果功能模块SERVICE.EXE调用系统函数NtSetValueKey()向注册表写入数据而不是更新注册表中的数据或者删除注册表中的数据,则表明功能模块SERVICE.EXE在安装驱动程序。
如果步骤S140的检查结果为否,则删除保存在存储单元中的信息(步骤S150),流程结束。
如果步骤S140的检查结果为是,则根据存储单元中所保存的驱动程序的路径信息,获取存储该驱动程序的区域(步骤S160)。
确定是否该获取的区域是步骤S100中预先设置的区域(步骤S170)。
如果步骤S170的检查结果为否,则删除保存在存储单元中的信息(步骤S150),流程结束。
如果步骤S170的检查结果为是,则通知Windows操作系统不允许安装该驱动程序(步骤S180)。
本领域技术人员应当理解,虽然上面的实施例中以Windows操作系统为例来描述本发明,但是本发明并不局限于仅用在Windows操作系统中。事实上,本发明也可以用在Linux、Unix等这样的其它操作系统中。
本发明的上述各个实施例所描述的控制驱动程序安装的方法,可以利用软件、硬件或者软硬件结合的方式来实现。
本领域的技术人员应当理解,本发明所公开的控制驱动程序安装的方法和装置可以在不偏离发明实质的情况下做出各种变形、改变和变化,因此,本发明的保护范围由所附的权利要求书定义。

Claims (10)

1、一种控制驱动程序安装的方法,包括步骤:
拦截操作系统通知其各个功能模块执行相应操作的通知动作和所述操作系统中用于安装驱动程序的功能模块操作所述操作系统中的注册表的操作动作;
当拦截到所述通知动作并且所述拦截的通知动作表明所述操作系统通知所述用于安装驱动程序的功能模块安装一个指定的驱动程序时,存储所述指定的驱动程序的路径信息;
当拦截到所述操作动作并且所述拦截的操作动作表明所述用于安装驱动程序的功能模块向所述注册表写入数据时,基于所述存储的路径信息和预先设置的保存在其上的驱动程序不允许安装的区域来确定所述指定的驱动程序是否允许安装;以及
当确定结果为否定时,通知所述操作系统不安装所述指定的驱动程序。
2、如权利要求1所述的方法,其中,所述存储步骤进一步包括:
当拦截到所述通知动作时,基于所述拦截的通知动作来检查是否所述操作系统通知所述用于安装驱动程序的功能模块安装一个驱动程序;以及
如果检查结果为肯定,则将所述用于安装驱动程序的功能模块安装的驱动程序的路径信息存储为所述指定的驱动程序的路径信息。
3、如权利要求1所述的方法,其中,所述确定步骤进一步包括:
当拦截到所述操作动作时,基于所述拦截的操作动作来检测是否所述用于安装驱动程序的功能模块向所述注册表写入数据;
如果所述检测结果为肯定,则基于所述存储的路径信息来获取保存所述指定的驱动程序的区域;以及
根据所述获取的区域和所述预先设置的保存在其上的驱动程序不允许安装的区域来判断所述指定的驱动程序是否允许安装。
4、如权利要求1所述的方法,其中,
所述通知动作是系统函数NtRequestWaitReplyPort(),所述操作动作是系统函数NtSetValueKey(),以及所述用于安装驱动程序的功能模块是SERVICES.EXE。
5、如权利要求1所述的方法,其中,还包括:
如果所述确定结果为肯定,则删除所述存储的路径信息。
6、一种控制驱动程序安装的装置,包括:
拦截模块,用于拦截操作系统通知其各个功能模块执行相应操作的通知动作和所述操作系统中用于安装驱动程序的功能模块操作所述操作系统中的注册表的操作动作;
存储单元,用于当拦截到所述通知动作并且所述拦截的通知动作表明所述操作系统通知所述用于安装驱动程序的功能模块安装一个指定的驱动程序时,存储所述指定的驱动程序的路径信息;
确定模块,用于当拦截到所述操作动作并且所述拦截的操作动作表明所述用于安装驱动程序的功能模块向所述注册表写入数据时,基于所述存储的路径信息和预先设置的保存在其上的驱动程序不允许安装的区域来确定所述指定的驱动程序是否允许安装;以及
通知模块,用于当确定结果为否定时,通知所述操作系统不安装所述指定的驱动程序。
7、如权利要求6所述的装置,其中,所述存储模块进一步包括:
检查模块,用于当拦截到所述通知动作时,基于所述拦截的通知动作来检查是否所述操作系统通知所述用于安装驱动程序的功能模块安装一个驱动程序;以及
保存模块,用于当检查结果为肯定时,将所述用于安装驱动程序的功能模块安装的驱动程序的路径信息存储为所述指定的驱动程序的路径信息。
8、如权利要求6所述的装置,其中,所述确定模块进一步包括:
检测模块,用于当拦截到所述操作动作时,基于所述拦截的操作动作来检测是否所述用于安装驱动程序的功能模块向所述注册表写入数据;
获取模块,用于当所述检测结果为肯定时,基于所述存储的路径信息来获取保存所述指定的驱动程序的区域;以及
判断模块,用于根据所述获取的区域和所述预先设置的保存在其上的驱动程序不允许安装的区域来判断所述指定的驱动程序是否允许安装。
9、如权利要求6所述的装置,其中,
所述通知动作是系统函数NtRequestWaitReplyPort(),所述操作动作是系统函数NtSetValueKey(),以及所述用于安装驱动程序的功能模块是SERVICES.EXE。
10、如权利要求6所述的方法,其中,还包括:
删除模块,用于当所述确定结果为肯定时,删除所述存储的路径信息。
CN2008102133765A 2008-09-02 2008-09-02 一种控制驱动程序安装的方法和装置 Active CN101667236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102133765A CN101667236B (zh) 2008-09-02 2008-09-02 一种控制驱动程序安装的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102133765A CN101667236B (zh) 2008-09-02 2008-09-02 一种控制驱动程序安装的方法和装置

Publications (2)

Publication Number Publication Date
CN101667236A true CN101667236A (zh) 2010-03-10
CN101667236B CN101667236B (zh) 2013-11-20

Family

ID=41803854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102133765A Active CN101667236B (zh) 2008-09-02 2008-09-02 一种控制驱动程序安装的方法和装置

Country Status (1)

Country Link
CN (1) CN101667236B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110219A (zh) * 2009-12-28 2011-06-29 株式会社理光 用于禁止修改程序配置的操作的系统、设备和方法
CN102650942A (zh) * 2011-02-23 2012-08-29 联想(北京)有限公司 一种安装驱动程序的方法和电子设备
CN103632086A (zh) * 2013-11-15 2014-03-12 北京奇虎科技有限公司 修复基本输入输出系统bios恶意程序的方法和装置
CN105335184A (zh) * 2014-08-07 2016-02-17 北京奇虎科技有限公司 应用安装的方法和装置
CN105893847A (zh) * 2016-04-22 2016-08-24 北京金山安全软件有限公司 一种保护安全防护应用程序文件的方法、装置及电子设备
CN106022100A (zh) * 2016-05-17 2016-10-12 北京金山安全软件有限公司 一种拦截恶意程序安装的方法、装置及电子设备
CN106843917A (zh) * 2015-12-07 2017-06-13 珠海市君天电子科技有限公司 一种驱动程序的加载方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1811387A4 (en) * 2004-08-25 2016-04-13 Nec Corp INFORMATION COMMUNICATION DEVICE AND PROGRAMMING ENVIRONMENTAL CONTROL METHOD
CN100461197C (zh) * 2006-05-16 2009-02-11 北京启明星辰信息技术有限公司 一种恶意代码自动分析系统及方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612739B2 (en) 2009-12-28 2013-12-17 Ricoh Company, Ltd. System, apparatus, and method for inhibiting operation that modifies program configuration
CN102110219A (zh) * 2009-12-28 2011-06-29 株式会社理光 用于禁止修改程序配置的操作的系统、设备和方法
CN102110219B (zh) * 2009-12-28 2014-12-24 株式会社理光 用于禁止修改程序配置的操作的系统、设备和方法
CN102650942B (zh) * 2011-02-23 2015-08-26 联想(北京)有限公司 一种安装驱动程序的方法和电子设备
CN102650942A (zh) * 2011-02-23 2012-08-29 联想(北京)有限公司 一种安装驱动程序的方法和电子设备
CN103632086B (zh) * 2013-11-15 2017-04-05 北京奇虎科技有限公司 修复基本输入输出系统bios恶意程序的方法和装置
CN103632086A (zh) * 2013-11-15 2014-03-12 北京奇虎科技有限公司 修复基本输入输出系统bios恶意程序的方法和装置
CN105335184A (zh) * 2014-08-07 2016-02-17 北京奇虎科技有限公司 应用安装的方法和装置
CN105335184B (zh) * 2014-08-07 2020-06-12 北京奇虎科技有限公司 应用安装的方法和装置
CN106843917A (zh) * 2015-12-07 2017-06-13 珠海市君天电子科技有限公司 一种驱动程序的加载方法及装置
CN106843917B (zh) * 2015-12-07 2020-02-18 珠海豹趣科技有限公司 一种驱动程序的加载方法及装置
CN105893847A (zh) * 2016-04-22 2016-08-24 北京金山安全软件有限公司 一种保护安全防护应用程序文件的方法、装置及电子设备
CN105893847B (zh) * 2016-04-22 2019-01-25 珠海豹趣科技有限公司 一种保护安全防护应用程序文件的方法、装置及电子设备
CN106022100A (zh) * 2016-05-17 2016-10-12 北京金山安全软件有限公司 一种拦截恶意程序安装的方法、装置及电子设备

Also Published As

Publication number Publication date
CN101667236B (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN101667236B (zh) 一种控制驱动程序安装的方法和装置
US8397297B2 (en) Method and apparatus for removing harmful software
US7620990B2 (en) System and method for unpacking packed executables for malware evaluation
EP3502944B1 (en) Detecting script-based malware cross reference to related applications
US20130067577A1 (en) Malware scanning
US20070067843A1 (en) Method and apparatus for removing harmful software
US20050216762A1 (en) Protecting embedded devices with integrated reset detection
CN102150105A (zh) 虚拟容器的部署和管理
CN102081722A (zh) 一种保护指定应用程序的方法及装置
CN107330328B (zh) 防御病毒攻击的方法、装置及服务器
US9298916B2 (en) Method and apparatus for enhanced file system monitoring on mobile communications devices
US20100011443A1 (en) Method for preventing the spreading of malware via the use of a data security device
CN105335654A (zh) 一种Android恶意程序检测和处理方法、装置及设备
US10346320B2 (en) Restricting applications and users that can make persistent changes to artifacts
US20160371492A1 (en) Method and system for searching and killing macro virus
US7895654B1 (en) Efficient file scanning using secure listing of file modification times
AU2017204194B2 (en) Inoculator and antibody for computer security
CN107479874B (zh) 一种基于Windows平台的DLL注入方法及系统
CN104036188A (zh) 一种Android恶意程序检测方法、装置及设备
CN105243324A (zh) 一种用户终端中恶意软件的识别方法、装置及用户终端
US20030131248A1 (en) Process for preventing virus infection of data-processing system
US20080127352A1 (en) System and method for protecting a registry of a computer
CN109684826B (zh) 应用程序沙箱反逃逸方法和电子设备
CN109214186A (zh) 一种基于内核层的拦截木马病毒系统及方法
KR20110057297A (ko) 악성 봇 동적 분석 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
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: 100190 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: 100190, room 1305, Zhongke building, 22 Zhongguancun street, Beijing

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

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1142148

Country of ref document: HK

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: 1142148

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