三、魔鬼的诅咒 对于某娱乐论坛的大部分用户来说,今天是个黑色的日子,因为他们在看过一个《被诅咒的眼睛》油画帖子后,系统遭到了不明原因的破坏。
图片带毒来袭,实在让所有人都擦了一把汗,然而我们都知道,JPEG、GIF等格式图片不具备可以执行自身并散播病毒的条件,这不符合逻辑。回忆一下2004年9月14日的事,微软发布了MS04-028安全公告:JPEG处理(GDI+)中的缓冲区溢出可能使代码得以执行。没错,就是这个漏洞,它的术语叫GDI+,对应的动态链接库为GdiPlus.dll,这是一种图形设备接口,能够为应用程序和程序员提供二维媒介图形、映像和版式,大部分Windows程序都调用这个DLL完成JPEG格式图片的处理工作。但是现在,正是这个“公众人物”成了众矢之的。 这个溢出是怎么产生的呢?这要从系统如何读取JPEG格式图形的原理说起,系统处理一个JPEG图片时,需要在内存里加载JPEG处理模块,然后JPEG处理模块再把图片数据读入它所占据的内存空间里,也就是所说的缓冲区,最后我们就看到了图片的显示,然而就是在图片数据进入缓冲区的这一步出了错——Windows规定了缓冲区的大小,却没有严格检查实际容纳的数据量,这个带缺陷的边界检查模式导致了噩梦。 入侵者把一个JPEG图片的数据加工得异常巨大并加入恶意指令,那么这个图片在系统载入内存时候会发生什么情况呢?图片数据会涨满整个JPEG处理模块提供的缓冲区并恰好把恶意指令溢出到程序自身的内存区域,而这部分内存区域是用于执行指令的,即核心区,于是恶意指令被程序误执行了,入侵者破坏系统或入侵机器的行为得以正常实施。有人也许会疑惑,入侵者都是神算子吗,他们为什么能准确的知道会是哪些数据可以溢出执行?答案很简单,因为Windows在分配JPEG处理模块的空间时,给它指定的内存起始地址是固定的,入侵者只要计算好这个空间大小,就能知道会有哪些数据被执行了,所以JPEG病毒迅速传播起来。
|
正在阅读:被诅咒的油画 揭秘图片病毒技术的内幕被诅咒的油画 揭秘图片病毒技术的内幕
2007-09-21 09:57
出处:
责任编辑:zhangxinxin
键盘也能翻页,试试“← →”键