CN101236499A - 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法 - Google Patents

一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法 Download PDF

Info

Publication number
CN101236499A
CN101236499A CNA2007101198113A CN200710119811A CN101236499A CN 101236499 A CN101236499 A CN 101236499A CN A2007101198113 A CNA2007101198113 A CN A2007101198113A CN 200710119811 A CN200710119811 A CN 200710119811A CN 101236499 A CN101236499 A CN 101236499A
Authority
CN
China
Prior art keywords
kernel driver
operating system
windows operating
usb device
hard disk
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
CNA2007101198113A
Other languages
English (en)
Other versions
CN100507850C (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 Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CNB2007101198113A priority Critical patent/CN100507850C/zh
Publication of CN101236499A publication Critical patent/CN101236499A/zh
Application granted granted Critical
Publication of CN100507850C publication Critical patent/CN100507850C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及计算机安全领域,具体的说是提供了一种在Windows操作系统中嵌入内核驱动程序的方法。本发明包括一个USB设备,一段存放在USB设备O扇区的加载程序,一段存放在USB设备隐藏扇区的用于示范的内核驱动程序;当计算机从USB设备启动时,BIOS将加载程序读入内存执行。加载程序通过修改内存中的数据把用于示范的内核驱动程序嵌入Windows操作系统。本发明设计新颖,在启动过程中将内核驱动程序嵌入Windows操作系统,不需要复制内核驱动程序到硬盘上,也不需要修改硬盘上的注册表;具有隐蔽性,不需要在硬盘上保存内核驱动程序。

Description

一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法
技术领域
本发明涉及计算机安全领域,具体的说是提供了一种在Windows操作系统中嵌入内核驱动程序的方法。
背景技术
将内核驱动程序嵌入Windows操作系统的普遍做法是通过安装程序把内核驱动程序拷贝到系统目录下并且修改注册表。这种方法修改了注册表和文件系统,即使以后从注册表中和文件系统中删除这些修改,但是本地硬盘仍然会保留修改过的痕迹;拷贝驱动程序和修改注册表会覆盖硬盘上原有扇区中的数据,造成硬盘上数据的改变。在计算机犯罪取证等应用场合,需要把内核驱动程序嵌入Windows操作系统中以完成某些特定功能,但硬盘上的数据不允许被修改。所以,我们需要一种不用修改硬盘扇区数据就能把内核驱动程序嵌入Windows操作系统的方法。
发明内容
本发明的目的在于提供一种在Windows操作系统中嵌入内核驱动程序的方法。
本发明的技术方案是:
包括一个USB设备,一段存放在USB设备0扇区的加载程序,一段存放在USB设备隐藏扇区的用于示范的内核驱动程序;当计算机从USB设备启动时,BIOS将加载程序读入内存执行;加载程序通过修改INT13H的中断服务程序来监控计算机对硬盘的读写;当Windows操作系统通过INT13H来读取注册表时,加载程序调用原始的INT13H中断服务程序读取硬盘上的注册表到内存,并在内存中修改读取的内容,让Windows操作系统加载一个硬盘上并不存在的内核驱动程序;当Windows操作系统通过INT13H来读取该内核驱动程序时,加载程序把读操作重定向到USB设备,读取存放在USB设备隐藏扇区的用于示范的内核驱动程序,从而把用于示范的内核驱动程序嵌入Windows操作系统。
加载程序通过修改内存中的数据将用于示范的内核驱动程序嵌入Windows操作系统,不需要改动硬盘上的数据。
用于示范的内核驱动程序的功能可以根据具体需求而改变。
当计算机从USB设备启动时,BIOS把存放在USB设备0扇区的加载程序读入内存并执行。加载程序通过修改INT13H的中断服务程序来监控计算机对目标硬盘的读写。加载程序完成修改后,把硬盘0扇区的内容读入内存0000:7C00并执行,从硬盘上启动Windows操作系统。在随后的启动过程中,硬盘上的Windows引导程序(Osloader.exe)通过INT13H读取注册表信息和文件系统信息。加载程序监测到引导程序对注册表的读写,调用原始的INT13H中断服务程序读取硬盘上的注册表到内存,并在内存中修改读取的内容,让引导程序加载一个硬盘上并不存在的内核驱动程序。当引导程序通过INT13H来读取该内核驱动程序时,加载程序把读操作重定向到USB设备,读取存放在USB设备隐藏扇区上的用于示范的内核驱动程序。至此,引导程序获得了用于示范的内核驱动程序的内容,并根据注册表的指示将它装入Windows操作系统。用于示范的内核驱动程序工作在Windows操作系统内核比一般的应用程序拥有更高的权限,其功能可以根据具体需求而改变。例如,用于示范的内核驱动程序嵌入网络驱动层次监控该计算机处理的网络数据,或者嵌入文件系统对某类型的文件进行加密和解密等等。
本发明的有益效果是:
1)设计新颖。在启动过程中将内核驱动程序嵌入Windows操作系统,不需要复制内核驱动程序到硬盘上,也不需要修改硬盘上的注册表。
2)具有隐蔽性。不需要在硬盘上保存内核驱动程序。
附图说明
图1-USB设备扇区的使用示意图;
图2-从USB启动的工作流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。本发明不仅限于以下实施例,凡是利用本发明的设计思路,做一些简单变化的设计都应进入本发明的保护范围之内。
USB设备作为加载程序和用于示范的内核驱动程序的载体,如图1。加载程序存放在USB设备的0扇区,用于示范的内核驱动程序存放在USB设备的隐藏扇区。USB设备进行普通的数据拷贝使用正常分区,即图1中USB数据区。
Windows操作系统的内核驱动程序分为总线驱动程序,功能驱动程序,过滤驱动程序几类。总线驱动程序具有负责枚举总线上连接设备,如USB总线驱动程序(usbhub.sys),PCI总线驱动程序(pci.sys);Windows也支持虚拟总线驱动程序用于管理虚拟设备。功能驱动程序完成某类设备的功能,如磁盘驱动程序(disk.sys)等。过滤驱动程序一般辅助功能驱动程序完成某些特殊的功能,比如分区管理程序(partmgr.sys)等。前两类驱动程序一般由Windows操作系统提供,在Windows操作系统源代码没有公开的情况下很难被修改;然而,Windows操作系统允许开发者嵌入过滤驱动程序来该变功能驱动程序的某些行为。以下示范把内核驱动程序(demon.sys)作为磁盘存储过滤驱动程序嵌入Windows操作系统。
Windwos操作系统启动时需要很多初始化数据,这些数据保存在注册表中。系统启动时,引导程序读取注册表来完成初始化操作。加载程序监控引导程序对注册表和文件系统的读操作,在内存中修改引导程序读取的数据。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}中UpperFilters键指示磁盘存储驱动程序的层次顺序:PartMgr.sys,Diskperf.sys。其中Diskperf.sys为Windows 2000独有。这里我们需要将内存中的UpperFilters键值进行修改,层次顺序变为:Demon.sys,PartMgr.sys,Diskperf.sys。除此之外,我们还需要在内存中的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services键下面增加Demon键,且在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Demon键下增加Start,Group等键值并且赋予相应的值。其中Start=0表示Demon.sys在计算机启动时装入。对内存中注册表数据的修改生效后,引导程序需要从文件系统获取Demon.sys文件的信息。加载程序截获引导程序对SYSTEM32\DRIVERS目录信息的访问,在内存中增加Demon.sys的信息,如文件大小、文件位置等。当引导程序根据这些信息读取Demon.sys(Demon.sys在硬盘上并不存在)时,加载程序把读操作且重定向到USB设备,读取存放在USB设备隐藏扇区的Demon.sys。至此,引导程序获得了Demon.sys的内容,并根据注册表的指示将Demon.sys装入Windows操作系统,如图2所示。

Claims (3)

1. 一种借助USB启动在Windows操作系统中嵌入内核驱动程序的方法,其特征在于:包括一个USB设备,一段存放在USB设备0扇区的加载程序,一段存放在USB设备隐藏扇区的用于示范的内核驱动程序;当计算机从USB设备启动时,BIOS将加载程序读入内存执行;加载程序通过修改INT13H的中断服务程序来监控计算机对硬盘的读写;当Windows操作系统通过INT13H来读取注册表时,加载程序调用原始的INT13H中断服务程序读取硬盘上的注册表到内存,并在内存中修改读取的内容,让Windows操作系统加载一个硬盘上并不存在的内核驱动程序;当Windows操作系统通过INT13H来读取该内核驱动程序时,加载程序把读操作重定向到USB设备,读取存放在USB设备隐藏扇区的用于示范的内核驱动程序,从而把用于示范的内核驱动程序嵌入Windows操作系统。
2. 如权利要求1所述的一种借助USB启动在Windows操作系统中嵌入内核驱动程序的方法,其特征在于:加载程序通过修改内存中的数据将用于示范的内核驱动程序嵌入Windows操作系统,不需要改动硬盘上的数据。
3. 如权利要求1所述的一种借助USB启动在Windows操作系统中嵌入内核驱动程序的方法,其特征在于:用于示范的内核驱动程序的功能可以根据具体需求而改变。
CNB2007101198113A 2007-07-31 2007-07-31 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法 Expired - Fee Related CN100507850C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101198113A CN100507850C (zh) 2007-07-31 2007-07-31 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101198113A CN100507850C (zh) 2007-07-31 2007-07-31 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法

Publications (2)

Publication Number Publication Date
CN101236499A true CN101236499A (zh) 2008-08-06
CN100507850C CN100507850C (zh) 2009-07-01

Family

ID=39920145

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101198113A Expired - Fee Related CN100507850C (zh) 2007-07-31 2007-07-31 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法

Country Status (1)

Country Link
CN (1) CN100507850C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944034A (zh) * 2009-07-03 2011-01-12 群联电子股份有限公司 档案执行方法及系统以及可程序存储装置
WO2011032461A1 (zh) * 2009-09-18 2011-03-24 中兴通讯股份有限公司 一种实现免驱上网的装置、方法及usb数据卡
CN102033822A (zh) * 2010-12-01 2011-04-27 北京同有飞骥科技股份有限公司 一种存储操作系统与硬件系统的绑定方法
CN102169442A (zh) * 2011-03-24 2011-08-31 杭州华三通信技术有限公司 使用usb设备进行系统引导的方法、设备、装置及系统
CN102906698A (zh) * 2010-05-20 2013-01-30 杉中顺子 外部启动设备、外部启动方法、信息处理装置及网络通信系统
CN103020538A (zh) * 2011-09-23 2013-04-03 国民技术股份有限公司 一种终端数据保护方法及终端
WO2015006923A1 (en) * 2013-07-16 2015-01-22 Intel Corporation Techniques for dynamically redirecting device driver operations to user space

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944034A (zh) * 2009-07-03 2011-01-12 群联电子股份有限公司 档案执行方法及系统以及可程序存储装置
CN101944034B (zh) * 2009-07-03 2014-04-16 群联电子股份有限公司 文件执行方法及系统
WO2011032461A1 (zh) * 2009-09-18 2011-03-24 中兴通讯股份有限公司 一种实现免驱上网的装置、方法及usb数据卡
CN102906698A (zh) * 2010-05-20 2013-01-30 杉中顺子 外部启动设备、外部启动方法、信息处理装置及网络通信系统
CN102033822A (zh) * 2010-12-01 2011-04-27 北京同有飞骥科技股份有限公司 一种存储操作系统与硬件系统的绑定方法
CN102033822B (zh) * 2010-12-01 2012-07-25 北京同有飞骥科技股份有限公司 一种存储操作系统与硬件系统的绑定方法
CN102169442A (zh) * 2011-03-24 2011-08-31 杭州华三通信技术有限公司 使用usb设备进行系统引导的方法、设备、装置及系统
CN102169442B (zh) * 2011-03-24 2014-09-10 杭州华三通信技术有限公司 使用usb设备进行系统引导的方法、设备、装置及系统
CN103020538A (zh) * 2011-09-23 2013-04-03 国民技术股份有限公司 一种终端数据保护方法及终端
CN103020538B (zh) * 2011-09-23 2016-01-13 国民技术股份有限公司 一种终端数据保护方法及终端
WO2015006923A1 (en) * 2013-07-16 2015-01-22 Intel Corporation Techniques for dynamically redirecting device driver operations to user space
US9384015B2 (en) 2013-07-16 2016-07-05 Intel Corporation Techniques for dynamically redirecting device driver operations to user space

Also Published As

Publication number Publication date
CN100507850C (zh) 2009-07-01

Similar Documents

Publication Publication Date Title
CN100507850C (zh) 一种借助USB设备启动在Windows操作系统中嵌入内核驱动程序的方法
US8839228B2 (en) System and method for updating an offline virtual machine
US8489552B1 (en) Generic granular restore of application data from a volume image backup
CN109558211B (zh) 保护可信应用与普通应用的交互完整性和保密性的方法
JP4916576B2 (ja) マルチオペレーティングシステム(os)起動装置及びマルチos起動プログラム及び記録媒体及びマルチos起動方法
KR101928127B1 (ko) 애플리케이션용 선택적 파일 액세스 기법
CN1029336C (zh) 保护个人计算机中系统应用程序的装置
CN107092441B (zh) 虚拟盘存储技术
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
JP5821034B2 (ja) 情報処理装置、仮想マシン生成方法及びアプリ配信システム
CN101297280B (zh) 隔离扩展和设备驱动程序的配置
CN101236498B (zh) 一种借助PCI卡启动在Windows操作系统中嵌入内核驱动程序的方法
CN106250125A (zh) 获取日志的方法及装置
CN100514305C (zh) 实现操作系统安全控制的系统及方法
EP3785149B1 (en) Memory assignment for guest operating systems
CN101373457B (zh) Windows环境下一种基于USB设备的硬盘写保护锁的方法
CN101226494A (zh) 一种计算机系统的备份和恢复的方法
CN101236532A (zh) Windows环境下基于USB设备的硬盘加密方法
CN101236500B (zh) 一种借助光盘启动在Windows操作系统中嵌入内核驱动程序的方法
CN101236533B (zh) Windows环境下一种基于PCI卡实现硬盘写保护锁的方法
CN102222185B (zh) 一种避免操作系统启动文件被感染的方法
CN108563491B (zh) 一种基于虚拟机的自省自动化管理、配置与自省方法
CN100424652C (zh) 一种基于嵌入式操作系统的硬盘自恢复保护方法
US7917952B1 (en) Replace malicious driver at boot time
CN115640269B (zh) 一种基于按需复制的安卓应用安装加速方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090701

Termination date: 20100731