图片病毒技术原理剖析

一、被诅咒的油画

在网络上流传着一幅诡异的油画,据说很多人看后会产生幻觉,有人解释为油画的构图色彩导致的视觉刺激,也有人认为是心理作用,众说纷纭,却没有令人信服的答案。在网络公司上班的秘书小王也从一个网友那里得知了这幅画,她马上迫不及待的点击了网友给的图片连接。

图片出来了,小王终于见识到了传说中诡异的油画,面对着屏幕上那两个看似正常的孩子,她却觉得背后凉飕飕的。那网友也很热心的和她聊这幅画的来源,小王入神的听着,丝毫没有注意到IE浏览器左下角的状态栏打开页面的进度条一直没停止过。

如果说小王刚才只是背后发冷的话,那么现在她已经是全身发冷了:电脑光驱自动弹了出来,刚按回去又弹了出来,她着急的请教那个网友,那边很平静的说:“哦,也许是光驱坏了吧,我有事先下了,你找人修一下。”然后头像暗了。

小王已经无法回复他的话了:鼠标正在不听使唤的乱跑,键盘也没了反应,过了一会儿,电脑自己重启了,而且永远停留在了“NTLDR is missing...”的出错信息上。

显而易见,这又是一个典型的木马破坏事件,但是小王打开的是图片,难道图片也会传播病毒了?答案很简单也很出人意料:小王打开的根本不是图片。

IE浏览器的功能很强大,它可以自动识别并打开特定格式的文件而不用在乎它是什么文件后缀名,因为IE对文件内容的判断并不是基于后缀名的,而是基于文件头部和MIME。当用户打开一个文件时,IE读取该文件的头部信息并在本机注册表数据库内查找它对应的MIME格式描述,例如打开一个MIDI文件,IE先读取文件前面一段数据,根据MIDI文件的标准定义,它必须包含以“RIFF”开头的描述信息,根据这段标记,IE在注册表定位找到了“x-audio/midi”的MIME格式,然后IE确认它自己不具备打开这段数据的能力,所以它根据注册表里的文件后缀名信息找到某个已经注册为打开后缀名为“.MID”的文件,然后提交给此程序执行,我们就看到了最终结果。

正是因为这个原理,所以IE很容易受伤。入侵者通过伪造一个MIME标记描述信息而使网页得以藏虫,在这里也是相同的道理,小王打开的实际上是一个后缀名改为图片格式的HTML页面,它包含上述两个漏洞的病毒文件和一个高度和宽度都设置为100%的图片IMG标记,所以在小王看来,这只是一个图片文件,然而,图片的背后却是恶毒的木马。木马程序体积都比较大,下载需要一定时间,这就是IE进度条一直没停止的原因。入侵者为了确保受害者打开页面的时间可以使整个木马文件下载完毕,就采用了社会工程学,让受害者不会在很短的时间内关闭页面,当木马下载执行后,“图片”的诅咒就应验了。

二、位图特性的悲哀

他是一家公司的网络管理员,在服务器维护和安全设置方面有足够多的经验,因此他无需惧怕那些利用浏览器漏洞实现的病毒。这天他在一个技术论坛里看到一个网友发的关于AMD某些型号的处理器存在运算瑕庇的帖子,并给出一个测试页面连接,根据官方描述,如果你用的CPU存在瑕庇,那么你会看到页面上的测试图片显示得破损错乱。他心里一惊:自己用的CPU正是这个型号。他马上点击了页面连接。

看着页面上乱七八糟的一幅图片,他心里凉了一截:这台机器的CPU居然有问题,而他还要用这台机器处理公司的重要数据的!他马上去管理部找负责人协商,把显示着一幅胡里花哨图片的机器晾在一边。

管理部答应尽快给他更换一台机器,让他把硬盘转移过去,因为上面有重要的业务资料。他回来时看到那幅图片还在耀武扬威,他厌恶的关闭了页面,照例打开存放资料的文件夹,他的脑袋一下子空白了:资料不见了!谁删除了?他慌乱的查找硬盘每个角落,可那些文件却像蒸发了一样。许久,他终于反应过来了:机器被入侵了!他取下硬盘直奔数据恢复公司而去。

事后他仔细分析了原因,因为机器已经通过了严格的安全测试而且打了所有补丁,通过网页漏洞和溢出攻击是不可能的了,唯一值得怀疑的只有那个所谓的瑕庇测试网页了,他迅速下载分析了整个页面代码,看着页面源代码里后缀名为“.BMP”的IMG标记和一堆复杂的脚本代码,他知道自己是栽在了BMP木马的手上。

那幅“测试瑕庇”的图片,无论到什么机器上都是一样有“瑕庇”,因为它根本不是图片文件,而是一个以BMP格式文件头部开始的木马程序。

为什么看似温顺的图片文件也变成了害人的凶器?这要从位图(Bitmap)格式说起,许多朋友应该都知道流传了很久的被称为“图片藏字”的“密文”传播方式,即在位图文件尾部追加一定量的数据而不会对原位图文件造成太大破坏,这是位图格式的限制宽松而造成的。系统判断一个位图文件的方法并不是严格盘查,而是仅仅从文件头部的54字节里读取它的长宽、位数、文件大小、数据区长度就完成了图片的识别,宽松的盘查机制使得BMP木马得以诞生。

不过先要澄清一点概念,BMP木马并不是在BMP位图文件屁股后追加的EXE文件,而是一个独立的EXE可执行文件,但是它的文件PE头部已经用位图文件头部替换了,由于系统的盘查机制,这个EXE文件就被浏览器认成位图文件了。既然是位图,在浏览器的程序逻辑里,这是需要下载到Internet高速缓存文件夹然后显示在页面上的文件,但是因为这个文件本来就不是位图,它被强制显示出来以后自然会变成一堆无意义的垃圾数据,在用户眼里,它就成了一幅乱七八糟的图像。但这不是引起木马危机的原因,要留意的是这些文字:“需要下载到Internet高速缓存文件夹”!这说明浏览器已经请狼入室了——木马已经在硬盘上安家了,但是目前它还在沉睡中,因为它的文件头部被改为位图格式,导致它自身已经不能运行,既然不能运行,理所当然就不能对系统构成危害,那么这只狼在硬盘呆多久也是废物一个,入侵者当然不能任由它浪费,因此他们在做个页面给浏览器下载木马的同时,也会设置页面代码让浏览器帮忙脱去这只狼的外衣——把位图格式头部换成可执行文件的PE头部,然后运行它。经过这些步骤,一只恶狼进驻了系统。

这个无法修补的漏洞十分可怕,用户很难知道他们正在浏览的页面是否正在偷偷下载着木马数据,因为即使他们打好了所有补丁也无济于事,木马是被IE“合法”下载的,不属于代码漏洞,而且单靠程序本身也很难判断这个图像是不是木马程序,机器靠二进制完成处理工作,而不是视网膜成象交给大脑判断。但是,由于这也是需要下载文件的入侵方式,它能否下载完毕以及用户愿不愿意去看页面就要取决于入侵者的社会工程学了,在任何一个页面里放出一个乱七八糟的图片或者来一个隐藏的图片框都不是最明智的选择,除非利用一些“暇庇声明”或更能引起人的兴趣的伎俩。那家公司的网管之所以会这么不设防,就是因为攻击者偷用了人们的“心理盲区”,因为人们对安全、漏洞、病毒、暇庇等内容会特别敏感,所以入侵者发个专业暇庇案例就欺骗了一大堆人,这次是拿真实的事件:AMD某些型号CPU会导致图像显示出问题的暇庇来做鱼饵,下一次又该拿什么了呢?

时间: 2024-09-26 22:33:59

图片病毒技术原理剖析的相关文章

移动端监控体系之技术原理剖析

在这样一个注重用户体验的时代,APM 技术快速发展,国内更是百花齐放,最近对各个公司的 APM 产品有一个调研,并在此基础上进行了自己的实践.这里就从 iOS 的角度出发,谈谈自己对移动端 APM 的技术上的理解,并提供相对应的实例. 何为 APM APM 的全称是Application performance management,即应用性能管理,通过对应用的可靠性.稳定性等方面的监控,进而达到可以快速修复问题.提高用户体验的目的. 国内各大公司都有自己的一套监控体系,这个系统可能是自己研发,

局域网病毒入侵原理及防范方法

计算机病毒在网络中泛滥已久,而其在局域网中也能快速繁殖,导致局域网计算机的相互感染,下面将为大家介绍有关局域网病毒的入侵原理及防范方法. 一.局域网病毒入侵原理及现象 一般来说,计算机网络的基本构成包括网络服务器和网络节点站(包括有盘工作站.无盘工作站和远程工作站).计算机病毒一般首先通过各种途径进入到有盘工作站,也就进入网络,然后开始在网上的传播.具体地说,其传播方式有以下几种. (1)病毒直接从工作站拷贝到服务器中或通过邮件在网内传播: (2)病毒先传染工作站,在工作站内存驻留,等运行网络盘

局域网病毒入侵原理,要如何防范?

计算机病毒在网络中泛滥已久,而其在局域网中也能快速繁殖,导致局域网计算机的相互感染,使整个公司网络瘫痪无法正常运做,其损失是无法估计的. 一.局域网病毒入侵原理及现象 一般来说,计算机网络的基本构成包括网络服务器和网络节点站(包括有盘工作站.无盘工作站和远程工作站).计算机病毒一般首先通过各种途径进入到有盘工作站,也就进入网络,然后开始在网上的传播.具体地说,其传播方式有以下几种. (1)病毒直接从工作站拷贝到服务器中或通过邮件在网内传播; (2)病毒先传染工作站,在工作站内存驻留,等运行网络盘

【Xamarin 跨平台机制原理剖析】

原文:[Xamarin 跨平台机制原理剖析] [看了请推荐,推荐满100后,将发补丁地址]   Xamarin项目从喊口号到现在,好几个年头了,在内地没有火起来,原因无非有三,1.授权费贵 2.贵 3.原生态Java开发Android的越来越多,人工费用成本降低. 上面说的3条,都跟钱相关,不占技术边,看起来跟本文的标题严重不符.但是,细细看来,如果这个产品的圈子打不开,再牛的技术,也是枉然.因为技术是在不断推进的, 性能问题,技术问题,实现问题,等等都可以随着时间的推动去解决,但是,Xamar

【Xamain 跨平台机制原理剖析】

原文:[Xamain 跨平台机制原理剖析] [看了请推荐,推荐满100后,将发补丁地址]   Xamarin项目从喊口号到现在,好几个年头了,在内地没有火起来,原因无非有三,1.授权费贵 2.贵 3.原生态Java开发Android的越来越多,人工费用成本降低. 上面说的3条,都跟钱相关,不占技术边,看起来跟本文的标题严重不符.但是,细细看来,如果这个产品的圈子打不开,再牛的技术,也是枉然.因为技术是在不断推进的, 性能问题,技术问题,实现问题,等等都可以随着时间的推动去解决,但是,Xamari

初探无水印信息图片加密技术

背景 随着手机APP越来越多,对于APP信息安全面临的挑战越来越大,像接口传递的验证信息这些相对保密的信息如果直接放在app中明文,那么毫无疑问,很容易就被破解出来,想干嘛就干嘛.因此为了对部分本地信息加密,想出过无数的办法,本次讨论的重点,无水印信息图片加密.** 原理 无水印信息图片加密,基本原理,就是将信息负载再图片上,然后程序通过特定的算法将信息再度拿出来,而图片一看下去也是正常显示的,肉眼看不出任何的猫腻.那么到底怎么附加法? 1. **追加信息法:** 利用不同格式图片的特性,例如

秋色园QBlog技术原理解析:独创的多语言翻译机制(九)

文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL 4: 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四) --介绍URL如何定位到处理程序 5: 秋色园QBlog技术原理解析:Module之页面基类设计(五) --介绍创建

秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四)

文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL   附说: 为了加快 秋色园 和 CYQ.Data 数据框架 的开源速度及更好的发展, 目前正在寻找开源团队成员,有意向创业加入者, 欢迎点击看此贴:秋色园[CYQ.Data]开源团队寻人   OK

秋色园QBlog技术原理解析:页面内容填充及多语言翻译流程演示示例(十)

文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文件的作用 2: 秋色园QBlog技术原理解析:认识整站处理流程(二) --介绍秋色园业务处理流程 3: 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三) --介绍如何实现无后缀URL 4: 秋色园QBlog技术原理解析:UrlRewrite之URL重定向体系(四) --介绍URL如何定位到处理程序 5: 秋色园QBlog技术原理解析:Module之页面基类设计(五) --介绍创建