电子邮件协议威胁及分析
- 格式:doc
- 大小:60.95 KB
- 文档页数:11
电子邮件协议威胁及分析 2013.10.25 摘 要
本文介绍了电子邮件协议的基本内容,以及在各协议下电子邮件面临的威胁,最后介绍了解决相关漏洞和攻击的一般性对策。
关键词:SMTP;POP3;IMAP;MIME;漏洞和攻击;对策; 目 录 摘要.....................................................
一电子邮件系统的基本概念 1.1 ISO/OSI电子邮件系统 1.2 TCP/IP电子邮件系统 二 电子邮件协议 2.1 SMTP 协议 2.1.1 漏洞和攻击 2.2 POP3 和IMAP 协议 2.2.1 漏洞和攻击 2.3 MIME 协议 2.3.1 漏洞和攻击 2.4 基于万维网的HTTP 三 一般电子邮件对策 3.1 加密和验证 3.2 邮件过滤处理 3.3 内容过滤处理
参考文献 ................................................... 一、电子邮件系统的基本概念 电子邮件是一种用电子手段提供信息交换的现代邮政通信方式,电子邮件让 人们能方便快捷地传递信息,让世界各地的人们之间能够轻松地交流。
1.1 ISO/OSI电子邮件系统 MOTIS电子邮件系统分为两部分: 用户代理UA:为用户提供良好的操作界面,并负责生成与处理消息; 信息传输代理MTA:主要负责消息传输,即所谓的“电子邮局”。 在电子邮件系统的具体实现中,UA一般位于个人计算机内,而MTA一般位 于邮件服务器中。MOTIS的电子邮件传输是存储转发型的,其中的MTA扮演网 关的角色,邮件经逐个MTA传输直至信宿用户所在的MTA。
图1 MOTIS电子邮件系统的模型 1.2TCP/IP电子邮件系统 TCP/IP 电子邮件系统在概念上也分为用户界面和邮件传输两部分,但邮件传 输部分并未独立出来,形成一个类似MOTIS中MTA的组件,这是因为TCP/IP自 始至终坚持端到端的思想,TCP/IP电子邮件系统也采用端到端的传输方式。 TCP/IP中采用spoolin(g 假脱机)缓冲技术来解决延迟传递(delayeddelivery) 问题,将用户收发邮件与实际的邮件传输区别开来。
图2 采用spooling技术的电子邮件系统 二、电子邮件协议 收发电子邮件在的过程中,要遵循一些基本协议和标准,这些协议和标准保 证电子邮件在各种不同的网络与操作系统之间能够正确地进行传输。常见的电子 邮件传输协议主要有以下三种 SMTP(简单邮件传输协议):最常用的电子邮件传送协议; POP3(邮局协议):最常用的电子邮件接收协议; IMAP4(网络邮件访问协议):POP3的一种替代协议,提供了邮件检索和邮件处理的新功能。 2.1 SMTP协议
SMTP协议的作用是:当发送方计算机与支持 SMTP协议的电子邮件服务器 连接时,将电子邮件由发送方计算机准确无误地传送到接收方的电子邮箱中。 SMTP 的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网 络上的主机接力式传送。SMTP一个相对简单的基于文本的协议。通过 SMTP发 送的所有电子邮件都是普通文本格式的,它不能直接传输图像、声音等非文本信 息,但可以应用MIME标准将二进制文件编码后再通过SMTP传输。 由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的SMTP 进程就是SMTP 服务器。SMTP 规定了 14 条命令和21 种应答信息。每条命令用4 个字母组成,而每一种应答信息一 般只有一行信息,由一个3 位数字的代码开始,后面附上(也可不附上)很简 单的文字说明。
常用SMTP命令一览表 命令 描述 HELO 用于启动邮件传输过程
MAIL 用于初始化邮件传输
RCPT 用于标识单个邮件接收人,在MAIL 命令后面可有多个
RCPT命令 DATA 用于将邮件报文发送给服务器
QUIT 用于终止客户端与服务器之间的连接
RSET 用于中止当前的邮件事务并使两端复位
VRFY 用于验证指定的用户/邮箱是否存在,即验证接收方地址
是否正确 NOOP 空操作命令
SMTP应答码 代码 描述 代码 描述 211 系统状态或系统帮助响应 500 命令不可识别或语法错
214 帮助信息 501 参数语法错
220 服务准备就绪 502 命令不支持 221 关闭连接 503 命令顺序错
250 请求操作就绪 504 命令参数不支持
251 非本地用户,转发 到 550 操作未执行:邮箱不可用
354 开 始 邮 件 输 入 , 以 .结束 551 非本地用户,请尝 试
421 服务不可用 552 操作中止:存储空间不足
450 操作未执行:邮箱忙 553 操作未执行:邮箱名不正确
451 操作中止:本地错误 554 传输失败
452 操作未执行:存储空间不足
2.1.1 漏洞和攻击: (1)基于头部的攻击 基于头部的攻击不是很常见,因为头部较简单,任何无效的命令和回应都会被忽略。早期版本的电子邮件服务器遭受过缓冲区溢出的攻击,早期的实现对于SMTP命令和回应有固定的缓冲区大小,有几个很有名的攻击就是通过发送过长的命令来攻击固定的缓冲区的。现在的电子邮件服务器已经进行了修补,设计上可以接受任意长度的输入信息,一般是通过倒腾的方式在固定长度的缓冲区上处理所有输入的命令和回应。然而,仍然有一种攻击代码,通过命令行缓冲区溢出攻击SMTP服务器。对某些特别的服务或协议发动的攻击,其中的大多数还无法防范,这使得对一个网络的防护更加困难。
(2)基于协议的攻击 基于协议的攻击与基于指令~回应方式的协议攻击相比不是很常见,因为协议消息的时序和顺序是有控的且任何冲突都会被忽略。
(3)基于验证的攻击 对电子邮件的攻击最常见的类型是基于验证的攻击,这是因为大多数SMTP协议中缺少验证。最常见的SMTP验证攻击是采用伪冒发送者进行直接或间接的过程调用中继手段,这类攻击称为电子邮件欺骗。客户端负责告诉服务器发送者的电子邮件地址,但没有过程或协议来验证电子邮件消息的f发送者。唯一被广泛采纳的对策是检查发送者的域看是否有效,这是c采用域名服务中的域名查询协议来实现的。
电子邮件地址欺骗也用于垃圾邮件和其他恶意邮件消息。有几种方法可以用于发送带有欺骗地址的电子邮件,其中包括在UA中返回地址。垃圾邮件发送者使用与MTA交互的客户软件,这里的MTA使用SMTP协议。由于UA只对用户显示了精简的头部,因此用户并不能很容易地看出消息中包含的是欺骗的发送者的地址。如果攻击者在返回时使用的地址是实际存在的地址,将导致过多的电子邮件流量发送到被伪冒的地址,致使电子邮件服务器系统磁盘存储空间被填充。这种攻击被认为是基于流量的攻击。
电子邮件系统的另一个缺点是允许远程用户伪造返回地址。这使得连接到一个单独的电子邮件服务器的UA可以有一个机构的返回地址,而不是发送者的计算机地址。
另一个基于验证的攻击是用户名探测,这类攻击很容易实施,但很少有安全隐患。如果用户不是有效的,那么RCPT TO:命令返回知道错误,这可以用于发现用户名,至少用于验证用户名。如果攻击者没有关于目标的信息,那么使用SMTP猜测用户名将是很浪费时间的,同时会被记载。大多数时间,电子邮件用户名是大家都知道的,因此通过探测用户名不会给攻击者带来更多的额外信息。 (4)基于流量的攻击 除了基于验证的攻击,还有对电子邮件系统实施的基于流量的攻击。最常见的攻击是用大量的信息消耗磁盘空间而导致电子邮件服务器崩溃。随着磁盘空间的增加,这类攻击不怎么起作用了。另外一个常见的雪崩攻击是事故性的,并发生在某个用户使用中继给一批用户发送邮件时。
另外一个基于流量的攻击是嗅探SMTP流量。有互联网嗅探流量是很困难的,但攻击者如果能访问机构内的网络,则他可以嗅探就够内的流量。SMTP协议时不加密的,所以攻击者可以读取电子邮件的消息。
2.2 POP3协议和IMAP 协议(InternetMessageAccessProtocol)
POP3是一种邮件接收协议,其作用是:当用户计算机与支持POP协议的电 子邮件服务器连接时,把存储在该服务器的电子邮箱中的邮件准确无误地下载到 用户的计算机中。POP3 属于离线式协议,即不能对邮件进行在线操作,必须下 载到本地才能进行处理。离线工作方式适合于那些从固定计算机上接收邮件的用 户使用,因为邮件必须从服务器上删除。POP协议已发展到第三版,称作POP3 POP3与SMTP一样都是请求响应协议,命令与响应也都是用NVT ASCII格式 的文本表示。POP3响应由一个状态码和其后的附加信息组成,只有两种状态码: “+OK”(正确)和“-ERR”(失败)。
常用POP3命令 命令及格式 描述 USERusername 指定用户名
PASSpassword 指定密码
STAT 询问邮箱状态(如邮件总数和总字节数等)
LIST [Msg#] 列出邮件索引(邮件数量和每个邮件的大小)
RETR[Msg#] 取回指定的邮件
DELE[Msg#] 删除指定的邮件
NOOP 空操作
RSET 重置所有标记为删除的邮件,用于撤消DELE命令
QUIT 提交修改并断开连接
IMAP(Internet MessageAccessPotocol)是一种用于邮箱访问的协议,使用 IMAP协议可以在Client端管理Server上的邮箱,它与pop不同,邮件是保留在 服务器上而不是 download到本地,在这一点上 IMAP是与 Webmail相似的。但 IMAP有比Webmail更好的地方,它比webmail更高效和安全,可以离线阅读等 等,如果想试试可以用OutlookExpress,只要配好一个帐号,将我的邮件接收服务 器设置为IMAP服务器就可以了。 IMAP(Internet消息访问协议)是与POP3对应的另一种协议,为美国斯坦福大学在 1986年开始研发的多重邮箱电子邮件系统。它能够从邮件服务器上获取有 关E-mail的信息或直接收取邮件,具有高性能和可扩展性的优点。IMAP为很 多客户端电子邮件软件所采纳,如OutlookExpress、NetscapeMessenger 等,支 持IMAP的服务器端的软件也越来越多,如CriticalPath、Eudora、iPlanet、Sendmail 等。 IMAP提供操作的三种模式