电子邮件协议威胁及分析
2013.10.25
摘要
本文介绍了电子邮件协议的基本内容,以及在各协议下电子邮件面临的威胁,最后介绍了解决相关漏洞和攻击的一般性对策。
关键词:S M T P;P O P3;I M A P;M I M E;漏洞和攻击;对策;
目录
摘要.....................................................
一电子邮件系统的基本概念
1.1I S O/O S I电子邮件系统
1.2TCP/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 位数字的代码开始,后面附上(也可不附上)很简
单的文字说明。
2.1.1 漏洞和攻击:
(1)基于头部的攻击
基于头部的攻击不是很常见,因为头部较简单,任何无效的命令和回应都会被忽略。早期版本的电子邮件服务器遭受过缓冲区溢出的攻击,早期的实现对于SMTP命令和回应有固定的缓冲区大小,有几个很有名的攻击就是通过发送过长的命令来攻击固定的缓冲区的。现在的电子邮件服务器已经进行了修补,设计上可以接受任意长度的输入信息,一般是通过倒腾的方式在固定长度的缓冲区上处理所有输入的命令和回应。然而,仍然有一种攻击代码,通过命令行缓冲区溢出攻击SMTP服务器。对某些特别的服务或协议发动的攻击,其中的大多数还无法防范,这使得对一个网络的防护更加困难。
(2)基于协议的攻击
基于协议的攻击与基于指令~回应方式的协议攻击相比不是很常见,因为协议消息的时序和顺序是有控的且任何冲突都会被忽略。
(3)基于验证的攻击
对电子邮件的攻击最常见的类型是基于验证的攻击,这是因为大多数SMTP协议中缺少验证。最常见的SMTP验证攻击是采用伪冒发送者进行直接或间接的过程调用中继手段,这类攻击称为电子邮件欺骗。客户端负责告诉服务器发送者的电子邮件地址,但没有过程或协议来验证电子邮件消息的f发送者。唯一被广泛采纳的对策是检查发送者的域看是否有效,这是c采用域名服务中的域名查询协议来实现的。
电子邮件地址欺骗也用于垃圾邮件和其他恶意邮件消息。有几种方法可以用于发送带有欺骗地址的电子邮件,其中包括在UA中返回地址。垃圾邮件发送者使用与MTA交互的客户软件,这里的MTA使用SMTP协议。由于UA只对用户显示了精简的头部,因此用户并不能很容易地看出消息中包含的是欺骗的发送者的地址。如果攻击者在返回时使用的地址是实际存在的地址,将导致过多的电子邮件流量发送到被伪冒的地址,致使电子邮件服务器系统磁盘存储空间被填充。这种攻击被认为是基于流量的攻击。
电子邮件系统的另一个缺点是允许远程用户伪造返回地址。这使得连接到一个单独的电子邮件服务器的UA可以有一个机构的返回地址,而不是发送者的计算机地址。
另一个基于验证的攻击是用户名探测,这类攻击很容易实施,但很少有安全隐患。如果用户不是有效的,那么RCPT TO:命令返回知道错误,这可以用于发现用户名,至少用于验证用户名。如果攻击者没有关于目标的信息,那么使用SMTP猜测用户名将是很浪费时间的,同时会被记载。大多数时间,电子邮件用户名是大家都知道的,因此通过探测用户名不会给攻击者