视窗操作系统内的一段危险代码

  • 格式:pdf
  • 大小:241.13 KB
  • 文档页数:4

彻窗操作系统内的
问题的提出
一段危险代码

在我们开发数字认证客户端软件的过程里,发现在普通
的软磁盘上使用RlPEl60核心算法进行消息摘要计算后.得
到认证软件所需要的原始Hash串,将该Hash串导入随后的
迭代计算模块里进行客户端认证,却出现无法正确解码的情
况,起初怀疑是软磁盘介质故障,但是即使更换了全新软磁
盘,问题依然存在;于是怀疑主机感染病毒,通过镜像后援
恢复后问题仍然存在,而在其他类型的外存储器上进行同样
计算却能正确进行客户端认证。
通过较长时间的分析,最后发现问题出在软磁盘引导扇
区二进制内容上的异常——软磁盘引导扇区的0EM标志位被

频繁篡改(篡改为“芝加哥CHICAGO”字头了),而且问题
并不局限于我们的设备,恰巧我们订购的一批新设备里都随
机附送了驱动程序软磁盘,为了确定问题的普遍性,我们决
定查看这些驱动程序软磁盘的引导扇区内容。在进行软磁盘
读写前,我们先将其写保护开关打开,然后检查其OEM标志
位,发现其同样已被篡改——换句话说,该批设备随机附送
的软磁盘在制造商出厂前,其0EM标志已被篡改。上述结果
证实了我们的判断——~视窗操作系统内含特殊指令,在执行
用户发出的软磁盘读写命令之前或命令完成之前,未经用户
确认,擅自执行未经用户“授权“的指令,篡改了用户软磁
盘的OEM标志!这些危险的指令将导致个人电脑的安全性隐
患。
我们先来做个实验:
1.首先查看软磁盘引导扇区0EM标志:
2、然后将软磁盘引导扇区OEM标志进行被篡改前后的
对比:

20。{削悟丫;,、、M

廖红旭
戢磁盘5】导蓐诞傩-标志梭篡改葡:
引导扁区瞒移:0000EB3E∞囊缸勰sf姻柚-0d嚣3l
000201ol00

.>.一错粼.1…

tt
oEx标志位oE■标志寰现
较磁盘5l导崩区o£I标志槛篁藏后:

引导扁区瞒移:0000
EBaE90黪镰l鹭簿t&-∞d8taoo02
01ol00

.>.+z_铀I辩.….

十tt
oEI标志位toE_标志表现

(请特别注意上面的“Im”字符)

上述OEM标志“(swlN41”(或其他内容)都会被篡改
为“cHIcAG0芝加哥”字头的,不论是在DOs窗口下执行
Format命令还是鼠标右键弹出的快捷键菜单下的”格式化”
选项,而且大部分的软磁盘读写操作如D旧、c0PY,DEL及
REN等都会导致上述篡改的频繁发生,即使是对用“磁盘空
间管理软件”压缩过的软磁盘!
而篡改指令来自视窗操作系统内的一段危险代码,在后
面的分析,我们可以看到,该段危险代码保存于视窗操作系
统内一个很重要的底层虚拟设备驱动程序VFAT里,机器启
动后其自动被视窗操作系统的前导程序装载,所以这段危险
代码的执行可以避过所有反病毒软件的实时扫描,不论该反
病毒软件是疏忽还是有意忽略了这个危险的操作。大家

还记得.早期的计算机病毒如“B川n”.“Je
rusa
Jem”等都会

往磁盘的引导扇区或可执行文件内写入各式各样的¨ected
标志,从这个角度看,不管视窗操作系统的开发商基于什么
考虑,其内置的这段危险代码频繁写入其“标志“于软磁盘
引导扇区oEM标志位,这与很多实际已知病毒的表现无异,
这让人很自然地联想到类似的计算机病毒而且操作系统应
该严格执行操作者对软磁盘的读写指令,操作系统本身也应

 万方数据
该禁止其任何组件对系统敏感的数据结构进行“未获授权“
的操作!甚至病毒设计者可以利用这个”后门“将自己的
¨ecled标志在形式与保存的位移上与oEM标志保持一致或
直接盗用这个“标志”以避开反病毒软件的实时监控。二、问题的分析1、预备知识(1)视窗操作系统的启动过程(只列出有助于我们理解的部分)l勋_B10sl寻找并6e重ll谴八磋盘主引导记录船R及II装戟Iosys到内存井l自举r—’1PrJP设备r叫活动分区引导记录BR卜叫构造最精简的F。t裹l蛰岖围七噩也氢(2)什么是VFat我们知道,FaT实际上是一文件系统的简称,其作用是组织磁盘及移动介质的数据,在视窗操作系统开发商早期的产品里广泛应用,大家熟知的文件名限制在11个字符以及缺乏对unicode的支持等都是其特点,FaT有效的文件名的格式为:[[drlve:]】[【dIrectory\】】filename【[extenslon】】也就是说没有现在“自然”的长文件名支持。FaT文件系统的主要优点是可以方便地被早期的磁盘操作系统(包括Os/2等)所访问,也支持软磁盘及其他移动介质;其主要的缺点是对文件名的长度等的限制上以及不支持unicode等。VFat是保护模式下的文件系统。VFat也采取类似于FaT的方式组织磁盘及移动介质的数据,所以与FaT兼容,也是使用“文件分配表“(Fat)及。文件目录表”(Fdt)来存储磁盘文件信息,但是VFat支持长文件名。在FaT文件系统里,一个列出完整路径的文件名串长度不能超过255个字符(含字串结束符),这点与NTFS类似(其最多不能超过256个字符)j而在VFat文件系统里,一个列出完整路径的文件名串长度最多可达260个字符(含字串结束符)。值得注意的是.由于支持长文件名,所以如果碰巧有个文件其名长达255个字符,那么在VFal文件系统里.这个文件只能存储在根目录下,或根目录下的级子目录里了.而且该一级子目录名最多只能是4个字符(最后一个字符用于字串结束符)。2、篡改oEM标志的危险代码分析要找到视窗操作系统里篡改软磁盘OEM标志的危险代码.使用可以运行在系统级的内存探察程序或调试器,搜索安全操作系统专题。技术豢蠢,。j“=IHc”字串,就可以很容易在视窗操作系统内存里找到这段危险的代码,它们就“藏”在VFat模块里,但是不要试图在自己的机器硬盘内找到这串代码或查找Vfat文件,因为其在视窗操作系统的最初安装过程里早已被Deleted了.原因
是VF
a【V×D被成功”装订”到虚拟设备驱动程序库文件VMm

内了,如果读者想得到完整的VFat文件,只要用外部命令
“Extract/A/E…”从视窗操作系统的安装盘内的某个cAB
文件内(各版本不同)导出来即可(使用通配符可快速解
压)。
下面我们就对这段危险的代码进行分析
(1)主要流程

(2)部分关键代码分析
用于“判断当前0EM标志是否为【特定】的磁盘签名”
的过程将已计算好的时戳进行编码,并依次填入oEM标志位
对于“当前软磁盘的OEM标志有【cHIcAGO芝加哥】字头签
名“、“当前软磁盘的OEM标志为【特定】的磁盘签名”的情
况,通过本过程对OEM标志内含的时戳进行解码.以备读取。

三、结束语

我们一直对这个被篡改的OEM标志的流动在视窗操作
系统内部进行追查,以期发现视窗操作系统对其的真正用
意,可是除了所谓的“VofTrack”作用并在每次的篡改都刷
新该OEM标志的时戳外,因时间所限,暂时没有看到其更深
层次的作用.结果让人很是有些费解。现在的操作系统都很
庞大,深藏其间的“隐秘”操作有多少不得而知,曾
度传

得沸沸扬扬的某国操作系统产品里被发现内置该国国安局密
钥的消息,大家一定早有耳闻,再看现在的某操作系统产品

 万方数据
薹鎏。技7R・安全操作系统专题
关键入口(偏移地址以各人机器显示为实,不必拘泥)
所谓的“激活”机制等,不~而足.剔除其可以公开的商业
理由,其更深层次的国家战略考虑值得我们大家警惕。
所以我们认为,如果对软件系统产品特别是像操作系统
这样的基础软件产品,在没有彻底由本国政府组织资深计算
机安全专家评估其安全性之前,就大规模引进、大规模部
署,实在相当危险;而且在关乎国家安全.国计民生等领域.
如果不能从源代码级甚至汇编级上把握从国外引进的操作系
统产品.最后还是会受制于人!随着”红旗”与“龙芯”的
相继问世,情况令人振奋.谨于此向这些“中华脊梁”表达
个普通程序员的敬意!(作者单位Abusys公司)o

22
㈡"

本文仅供参考,如果读者希望重复实黢及数据,请一定
严格按照本文依照本文的所有实验倒前请记住,我们对尽管我们知道
是读者行动之
式的担保。

 万方数据
视窗操作系统内的一段危险代码
作者:廖红旭
作者单位:Abusys公司
刊名:
计算机安全

英文刊名:NETWORK & COMPUTER SECURITY
年,卷(期):2004(2)

本文链接:http://d.g.wanfangdata.com.cn/Periodical_dzzwyjc200402008.aspx