Saturday, 21 February 2015

美国硬盘窃听软件的猜想推测

 据外媒报道, 俄国网络安全公司卡巴斯基实验室表示,该公司已在东芝、西部数据、希捷和IBM等企业生产的电脑硬盘中,发现了多种设计精密的间谍软件,该软件可窃听全世 界的大多数电脑,卡巴斯基间接暗示这些软件是美国情报机构NSA设计。那么,这种隐藏在硬盘里的窃听程序是怎么工作的呢?我这里对其进行一些推测和猜想。
 间谍软件在哪里
  普通个人电脑开机从硬盘启动的过程是这样的,开机后先是BIOS加电自检(POST——Power On Self Test),内存地址为0fff:0000,之后将硬盘第一个扇区:主引导记录(0头0道1扇区,也就是Master Boot Sector,512个字节)读入内存地址0000:7c00处,之后会跳转到0000:7c00处执行主引导记录(MBR)中的程序,MBR在主分区表 中搜索标志为活动的分区,然后将活动分区的第一个扇区读入内存地址0000:7c00处,检查0000:7dfe是否等于0xaa55,若不等于则显示 “Missing Operating System”,如果一切正常,则跳转到0000:7c00处继续执行特定系统的启动程序,之后电脑的控制权就交给了操作系统。
 从这个系统引导过程中可以看出,如果要在硬盘中预装间谍软件并执行,那应该会修改主引导记录MBR程序,在里面加入相关功能。

 间谍软件是什么
  从我这个推想看来,这种程序其实有可能和很早出现的引导区病毒一样,这也是最早出现的病毒之一,这种病毒对于老式的DOS、Windows9x的危害很 大,但对于Windows NT系统影响很小,因为NT系统加载后将限制早先引导程序的操作,早先的病毒将不会再被激活,目前即使最老的Windows XP也是基于NT内核的。
 间谍软件能做什么
 由于目前大多数操作系统(包括 Windows XP)都会限制MBR程序,因此MBR里的程序将无法在Windows系统下进行传播,可以推断,改写MBR程序最多也只能导致Windows系统无法启 动和加载,而无法实现控制Windows并进行网络传输。而当用户重新安装操作系统的时候,会重写MBR的数据,从而清除被修改的MBR程序。
 而在Windows加载之前,MBR程序能做什么呢?由于网络驱动没有加载,因此该程序显然无法联网,文件系统没有加载,该程序也不能读写文件,只能对硬盘物理扇区进行读写,一旦读写错误破坏了Windows系统,用户就会重装,从而重写MBR,而清除掉该程序。
 间谍软件如何清除
  从这个推测来看,如果这个间谍软件是基于主引导扇区MBR的,那么只要重写一下MBR即可,以前在DOS或Windows9x下,使用fdisk /mbr即可重写,在目前的Windows系统下,使用一些磁盘分区工具可以重写MBR,重写之后,系统引导就不会加载额外的其他程序了。
  由于硬盘只是存储设备,而没有计算处理能力,因此这种改写MBR的程序其实并不可怕。实际上我觉得,如果我是NSA的话,会考虑把间谍程序藏在CPU(中 央处理器)里会更具可行性和可操作性,因为CPU不仅有计算能力,也有存储,将一条隐含的指令放进去等待时机进行触发会更靠谱一些。


from 月光博客 http://www.williamlong.info/archives/4150.html