
概述硬盘还原卡也称硬盘保护卡,它主要的功能就是还原硬盘上的数据。每一次开机时,硬盘保护卡总是让硬盘的部分或者全部分区能恢复先前的内容。换句话说,任何对硬盘受保护的分区的修改都无效,这样就起到了保护硬盘数据的内容。
硬盘保护卡的原理简单来讲就是它接管对硬盘进行读写操作的一个INT13中断,保护卡在系统启动的时候首先用它自己的程序接管INT13中断地址。这样,只要是对硬盘的读写操作都要经过保护卡的保护程序进行保护性的读写。也就是先将FAT文件分配表、硬盘主引导区、CMOS信息、中断向量表等信息都保存到保护卡内的临时储存单元中。用来应付我们对硬盘内数据的修改。每当我们向硬盘写入数据时,其实还是完成了写入到硬盘的操作,可是没有真正修改硬盘中的FAT。而是写到了备份的FAT表中,这就是为什么系统重启后所有写操作一无所有的原因了。
还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOS的INT13中断,将FAT、引导区、CMOS信息、中断向量表等信息都保存到卡内的临时储存单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时储存单元中,用来应付我们对硬盘内数据的修改;最后是在硬盘中找到一部分连续的空磁盘空间,然后将我们修改的数据保存到其中。
硬盘保护卡在学校的机房管理中占有很重要的地位,基本上达到了“一卡无忧”的目标,使用了硬盘保护卡后极大的减少了机房的维护,基本无需担心病毒、误操作等问题。当然,如果硬盘发生了物理性损坏,硬盘保护卡是无能为力的。 在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下非物理损坏,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。
最新一代纯硬件还原卡:众所周知,从2007年开始爆发的机器狗病毒肆虐了整个还原卡的领地,几乎让还原卡产品的容面一扫而光。 各个还原卡厂家也是为了遏制住类似于“机器狗”这样的利用还原卡漏洞穿透还原卡的病毒,开展了技术的竞赛。
大部分厂家集中于往产品打补丁的方式,类似于杀毒软件的防御原理,出来了新的一类机器狗,就打上新的一类补丁,让防毒和病毒还是处于无休止的技术竞赛中。
到09年初,市面上出现了一种新的产品--蓝芯防毒卡[4]。据相关资料介绍,该卡直接从物理上接管硬盘读写控制权,再通过PCI-E接口(也有PCI版本)跟主板连接,让防毒卡具备了在根本上控制磁盘访问的技术可能性。
由于采用了硬件级的还原保护技术,让受到保护的分区和数据免受各种已知或未知病毒的侵扰。
各位可能都有一个疑问:为何蓝芯防毒卡能防未知病毒?
这是很多人的疑问,类比一下,还原产品和防毒卡都是对要保护的数据修建一堵围墙,围墙的门相当于读写控制。从技术原理上来说,操作系统有多个层次的读写控制,也就是说有多道门,之前的产品由于本身不能物理上接管磁盘读写,所以,都是在前面几道门堵一堵病毒,而我们是在最后一道门,也是最根本的这道门。所以,我们能把病毒堵住,而别人的可能对某些病毒就堵不住。
防毒卡不是杀毒软件,原理也不一样,无需辨别病毒,因为我们是一道门,哪怕是人为的破坏,我们都给堵住在墙外面。
未来的病毒也是一种软件而已,我们是最后一道门,所以,不论病毒技术如何改进,要破坏数据都不得不通过这最后一道门。而这道门又在我们的掌握中,所以,未知的病毒只要还是软件就无法破坏。
软件做的“硬盘还原卡”“硬盘还原卡”是对硬盘中数据进行保护的一种板卡。其优点是可以瞬间恢复各种病毒破坏或人为操作而导致的数据丢失。不过安装还原卡不仅占用系统固定的中断IRQ等资源,还会造成计算机的速度相对较慢,况且价格又不便宜。那么有没有什么可以不花银子的东东呢?
答案当然是肯定的,好了,现就来见识一下“还原精灵”吧。这是一款体积小巧、功能强大的工具,它几乎不占用硬盘空间就可以对数据进行还原保护。无论是误删除、格式化还是遭到病毒破坏等都能安全恢复。下面就一起见识一下吧。
一、安装
先把它给下载回来。下载得到的是IMG镜像格式文件,这就是还原精灵的系统镜像文件。先用HD-COPY将其还原到一张空白的软盘里去,具体过程如下:
(1)准备一张格式化好的空白软盘。
(2)执行HD-COPY并在主菜单下移动光标选择“GET FROM FILE”按回车键。
(3)输入该文件的文件名fd.img,回车,将此文件恢复到缓冲区。
(4)在主菜单下移动光标选择“WRITE,然后再选择目标盘(A:/B:),按回车确定,将该文件写到目标盘。
好了,到此一张“还原精灵”的系统盘就制作完成了。
接下来我们要将这块“硬盘还原卡”装入计算机。首先把刚做好的那张“还原精灵”的系统盘放入软驱,然后在你所要保护的操作系统下(这里以Windows 98为例)直接运行盘上的Setup.exe,装入还原精灵的驱动程序
最后重新启动计算机,按Del键进入CMOS,设置CMOS为软盘启动。使用做好的“还原精灵”系统盘启动计算机,自动进入还原精灵的安装向导,并输入软件的序列号。
(注意:序列号不要输错,如果输入错误三次,这张系统盘将报废,那就只能重新再做一张了)
二、设置
第一次安装还原精灵成功后,即可直接进入还原精灵的控制台,进行设置。以后若想进入控制台对系统进行设置,可在开机后按系统热键Home后,输入管理员密码即可(还原精灵的密码缺省设置为:12345678)。
接下来你可以根据自己的需要,自行设定要保护的硬盘分区和选择不同的还原方式(包括自动还原、手动还原、定时还原等),建议使用自动还原。另外你还可以设定“定时还原时间距离、是否允许软盘启动、设定密码”等功能。如果你要保护的操作系统为Windows XP或Windows 2000,那么一定要把允许从软盘启动选中,否则系统将出现严重问题。
最后如果你安装完还原精灵后,还要安装其他的程序或添加删除文件,想对硬盘数据进行更新的话,那么必须把还原模式设为数据转储模式。重新启动计算机时会弹出一个菜单,选择数据转储,并输入管理员密码,即可进行数据更新了(注意:更新完数据后一定要把还原模式设回“自动还原”,否则就失去了还原精灵的意义了)。
当然“还原精灵”也不是完美无缺。美中不足的是在使用后系统的运行速度会变得稍慢,但对于现在大多数计算机的配置来讲,影响不会很大。更何况使用硬盘还原卡,速度也会变慢的。如果你认为速度第一的话,可以在控制台中移除还原精灵,并在进入操作系统后,再次插入“还原精灵”的系统盘,然后运行Setup.exe卸载它的驱动程序,这样就可以删除还原精灵了。
硬盘还原卡的安装和使用一、原理篇
硬盘还原卡也称硬盘保护卡,在教育、科研、设计、网吧等单位使用较多。它可以让电脑硬盘在大多情况下非物理损坏,恢复到最初的样子。换句话说,不管是病毒、误改、误删、故意破坏硬盘的内容等,都可以轻易地还原。
还原卡的主体是一种硬件芯片,插在主板上与硬盘的MBR(主引导扇区)协同工作。大部分还原卡的原理都差不多,其加载驱动的方式十分类似DOS下的引导型病毒:接管BIOS的INT13中断,将FAT、引导区、CMOS信息、中断向量表等信息都保存到卡内的临时储存单元中或是在硬盘的隐藏扇区中,用自带的中断向量表来替换原始的中断向量表;再另外将FAT信息保存到临时储存单元中,用来应付我们对硬盘内数据的修改;最后是在硬盘中找到一部分连续的空磁盘空间,然后将我们修改的数据保存到其中。
每当我们向硬盘写入数据时,其实还是写入到硬盘中,可是没有真正修改硬盘中的FAT。由于保护卡接管INT13,当发现写操作时,便将原先数据目的地址重新指向先前的连续空磁盘空间,并将先前备份的第二份FAT中的被修改的相关数据指向这片空间。当我们读取数据时,和写操作相反,当某程序访问某文件时,保护卡先在第二份备份的FAT中查找相关文件,如果是启动后修改过的,便在重新定向的空间中读取,否则在第一份的FAT中查找并读取相关文件。删除和写入数据相同,就是将文件的FAT记录从第二份备份的FAT中删除掉。
二、安装篇
现在市面上硬盘还原卡种类很多,大多是PCI总线,采用了即插即用技术,不必重新进行硬盘分区,而且免装驱动程序。安装时把卡插入计算机中任一个空闲的PCI扩展槽中,开机后检查BIOS以确保硬盘参数正确同时将BIOS中的病毒警告设置为Disable。在进入操作系统前,硬盘还原卡会自动跳出安装画面,先放弃安装而进入Windows,确保计算机当前硬件和软件已经处于最佳工作状态,建议检查一下计算机病毒,确保安装还原卡前系统无病毒。最好先在Windows里对硬盘数据作一下碎片整理。杀毒软件的实时防毒功能、各种基于Windows的系统防护/恢复软件的功能已经完全或者部分地被还原卡包含,建议关闭或不安装或卸载。
重启后安装还原卡,并设置还原卡的保护选项(具体设置因还原卡不同而异)。但大多都应有以下几项:硬盘保护区域设定、还原方式设定(包括开机自动恢复、选择恢复和定时恢复等)、密码设定等。设置完毕,保护数据后,整个硬盘就在还原卡的保护之下了。
三、使用篇
1.使用GHOST进行磁盘对拷
很多的还原卡在说明书中写着并不支持GHOST的使用,因为还原卡在硬盘的隐藏扇区中写有数据,直接对拷后很可能会蓝屏进不了系统。然而很多情况下(如网吧、学校等单位大批机器软件安装),我们还是要使用GHOST做磁盘对拷。必须将源盘和目标盘的还原卡彻底移除(大部分还原卡的设置选项均中有移除选项,有的厂商提供专门的卸载工具,或者将还原卡从主板上直接拔下),这样才能安全清除还原卡在隐藏扇区中保存的数据,然后就能正常地使用GHOST了。
2.保留一定的硬盘空间
大多数厂商标榜自己的还原卡不占用硬盘空间,但硬盘可用空间非常少时,硬盘还原卡就会工作不正常了。因为硬盘剩余空间太少,当硬盘写操作较多时,还原卡因为没有足够的动态缓冲区而强制系统停机。所以建议使用保护卡时不要将硬盘空间占满,至少剩余几百兆可用空间给硬盘还原卡存储临时数据。
3.慎用还原卡的多分区引导
有些还原卡提供了多重引导分区的功能,但要注意利用还原卡进行特殊分区会破坏原有硬盘的所有内容与信息,要删除这些分区时也将会破坏所有的信息,在操作时一定要作好对重要数据的备分。各个多引导分区之间并不可见,各系统不能相互访问到。如需要多操作系统,建议使用第三方多重引导软件,例如System Commander等。
4.还原卡的安全性
无疑,保证数据的安全是还原卡最重要的一个方面。实际上,当隐藏扇区中保护卡保存的数据受到损坏时或硬盘本身受到了物理损坏时,硬盘其它被保护的资料就很容易出现问题,如发生硬盘死锁、无法读取数据等现象。此外,由于大部分还原卡的原理都是修改中断向量表来接管INT13中断,所以一些高手很容易通过找到Int13h的原始BIOS中断向量值,填入中断向量表的方法,恢复INT13的BIOS中断向量,来达到屏蔽掉还原卡的效果。
此外还原卡密码的安全性也令人担忧。网上有居心叵测之人提供了某些品牌还原卡的破解工具;部分品牌的还原卡本身带有通用密码;另外还有一部分厂商提供了还原卡的密码清除工具或还原卡安装信息清除工具(可能是厂商怕用户不慎忘记密码而设置的,可是这却无形中降低了数据的安全性)。
所以,还原卡的保护功能给日常的工作提供了便利,却是防君子防不了小人,防菜鸟防不了黑客的,永远都不要相信还原卡是万能的!
5.还原卡的选择
首先要选择兼容性好的还原卡。由于操作系统、主板类型的不同,还有安装的各种软件,不可能保证还原卡百分之百的与主机兼容。市场上还原卡种类很多,选购时一定要注意是否全面支持DOS、Win32、Win95/97/98/2000/NT、Linux等常见操作系统,并让系统在真正的32位系统下工作,而不是MS-DOS兼容方式;是否完全不占系统IRQ及I/0资源,有无硬件及软件相冲突的问题;最大支持硬盘的数量。此外,除了最基本的硬盘保护功能,很多还原卡还拥有其他功能,如BIOS数据保护,自带硬盘对拷和网络对拷功能,网络维护,多重引导分区,软件升级等,更为用户提供了方便。
提醒还原卡用户要提醒虚拟还原用户的是,不要以为装有还原卡或是还原软件就掉以轻心,要知道世界上还是有病毒能够穿透虚拟还原技术的保护,达到破坏硬盘的目的的,想象一下如果把这一原理运用到CIH病毒中,或者运用到硬盘杀手病毒中,其后果是不堪设想的。
谈谈如何用这种可以穿透虚拟还原技术的代码来破解还原软件(如还原精灵)吧。以下是我写的用来测试破解还原精灵的代码,本代码编译后的程序需要在纯DOS环境执行,在DOS下我用这段代码成功的把还原精灵给卸载了。
.286
CODE SEGMENT
ASSUME CS:CODE,DS:code,ES:code
START:
;----------------------------------------------------------
;以下代码用INT13H读主引导区
mov ax,0201h
mov dx,0080h
mov cx,0001h
mov bx,7c00h
int 13h
;---------------------------------------------------------
;以下代码用I/O端口来写主引导区
mov dx,1f6h ; 要读入的磁盘号及磁头号
mov al,0a0h ; 磁盘0,磁头0
out dx,al
mov dx,1f2h ; 要写的扇区数量
mov al,1 ; 写一个扇区
out dx,al
mov dx,1f3h ;要写的扇区号
mov al,1 ;写到1扇区
out dx,al
mov dx,1f4h ; 要写的柱面的低8位
mov al,0 ; 低8位为0
out dx,al
mov dx,1f5h ; 要写的柱面的高2位
mov al,0 ; 高2位为0
out dx,al
mov dx,1f7h ;命令端口
mov al,30h ;尝试着写扇区.
out dx,al
oogle:
in al,dx
test al,8 ;磁盘扇区缓冲是否准备好
jz oogle
mov cx,512/2 ;设置循环次数(512/2)
mov si,7c00h
mov dx,1f0h ;数据端口,用来存放要发送的数据.
rep outsw ;发送数据.
; ------------------------------------------------------------------------------
;退出程序
mov ah,4ch
int 21
CODE ENDS
END START
上面的程序非常简单,说明如下:
1、先把被还原精灵备份的原来的主引导区用INT13H读出来,这里虽然是对0头0道1扇进行读操作,但实际上是在读被还原精灵把原来的主引导区备份进去的那个扇区;
2、把读出的原来的主引导区通过输入输出操作写进真正的主引导区,换句话说就是把还原精灵给彻底删除了,此时重新启动你将发现还原精灵已经没有了。
我写了个FORWIN98/NT/XP的卸载还原精灵等软件的程序,不过已经有人先我一步了,那就是网吧终结者出的一个清MBR的程序,我试了一下,发现的确有用,我还没有仔细分析该程序,但我敢肯定其原理差不多。那个程序写得不错,不过我认为有一点需要改进,我的硬盘的MBR程序是我自己写的,用来实现多引导操作,当我执行完该清MBR程序后,我的多引导代码就没了,我觉得此程序如果能把核心代码部分改成象我以上的代码,在还原精灵下是把装还原精灵之前的MBR写回到主引导区,即使没装还原精灵的硬盘也只是把主引导区写回主引导区,就没有任何的危险了。
用以上的方法要实现还原卡的破解可能是不行的,因为还原卡毕竟是硬件,它可以先于硬盘引导前执行,这样即使你写回了硬盘的主引导区,还原卡还是可以把它写回的,但是,在破解还原卡的时候,完全可以利用文章中的原理,把还原卡写入硬盘主引导区的真正代码读出进行分析,甚至有些还原卡的密码就在这个扇区中。
对于还原卡和还原软件的制造者来说,如何让您制造的还原卡或还原软件更安全,可能是一个需要思考的问题。真心希望以后的还原卡或是还原软件在拦截INT13H的同时也能拦截硬盘I/O操作。
在我安装还原精灵的时候看到一个选项是“防止硬盘I/O破坏”,开始还以为还原精灵在这方面做的不错,想到了从拦截I/O操作来保护硬盘。可惜我错了,即使选择这一个选项,也同样可以通过输入输出端口操作来写硬盘。对于掌握了这种技术的人来说,这种还原卡或是还原软件可以说是形同虚设。因此我认为,还原卡和还原软件不但要实现拦截所有硬盘写操作、拦截对主引导区的读写操作,更应该拦截对硬盘的读写端口的操作,只有这样的虚拟还原技术才可能使基于硬盘的读写端口操作所对硬盘的破坏或是对虚拟还原技术的破解变成不可能。
如何防止还原卡被破解一、是为主板设定一通用密码,这样一旦BIOS更改,可用通用密码开机,并使硬盘还原功能生效;
二、是再次重写BIOS,采用类似于锁定BIOS中的启动第一项的方法,将BIOS中的超级用户口令的设置功能锁定,并使其保持为刷新BIOS前所设定的值,这样这样就拥有了一个无法更改的超级用户口令。
三、当然也可以在BIOS中干脆将设置用户口令的功能去除或是在BIOS中将系统口令的检测状态(“PASSWORD CHECK”)锁定为“SETUP”。