【每日一步】电子邮件技术基础之五:邮件病毒的传播原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MIME协议其实就是一种邮件内容的组织协议,支持MIME协议的邮件阅读程序将根据MIME消息头中定义的MIME类型,调用相应的解析程序来处理消息体中的数据。例如MIME消息头中定义为邮件附件时,邮件阅读程序会提示用户保存消息体中的数据,如果定义为图像文件时,邮件阅读程序则把消息体中的数据作为一个图像文件自动打开。
由于邮件数据通常是经过BASE64编码后的ASCII码数据,邮件阅读程序只能通过分析数据的MIME消息头来获知数据类型,无法通过分析数据本身来获知数据的类型,因此,一些病毒制造者就可以把病毒程序进行BASE64编码后,再附加在邮件的MIME消息体中,然后在MIME消息头中将其MIME类型定义为图片或声音等类型,而文件名的扩展名却为.exe。这样,当邮件阅读程序解码带有病毒程序的MIME消息体后,将执行解码后得到的病毒程序。前些年曾经在全球范围内流行的Nimda病毒,就是通过这种方式进行传播的,其示意源代码如下:
MIME-Version: 1.0
Content-Type: multipart/related;//声明所包含内容为内嵌资源
type="multipart/alternative";
boundary="====_ABC1234567890DEF_===="
--====_ABC1234567890DEF_====
Content-Type: multipart/alternative;
boundary="====_ABC0987654321DEF_===="
--====_ABC0987654321DEF_====
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
--====_ABC0987654321DEF_====--
--====_ABC1234567890DEF_====
Content-Type: audio/x-wav; name="readme.exe"
//把exe文件定义成一个wav文件
Content-Transfer-Encoding: base64
Content-ID:
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAA……//经BASE64编码后的病毒源代码
--====_ABC1234567890DEF_====
这封邮件传播病毒的运行原理非常简单,如上面的源文件中的黑体字部分及相应注释所示,它就是将一个可执行文件(readme.exe)作为一个audio/x-wav 类型的声音文件嵌入到HTML页面中。由于最初的Outlook Express程序没有检查MIME消息的Content-Type头字段定义的MIME类型与其中的name属性指定的
文件扩展名是否匹配,于是导致用户打开邮件时将执行解码后的readme.exe 程序,从而感染上了病毒。这个病毒程序又利用Outlook Express中的地址簿向别人发送带毒的邮件,这样一传十,十传百,Nimda蠕虫就大行其道了。