首页 > 网络安全 > 猥琐的邮件欺诈攻击以及解决方案

猥琐的邮件欺诈攻击以及解决方案

作者:云舒
      最近比较流行猥琐流客户端攻击方法,不过都是以XSS等WEB方面的攻击为主。趁这个机会,我顺便把邮件欺诈这个也比较猥琐的老问题拿 出来说一说。问题虽老,但是用来结合社会工程学,做些挂马欺诈的事情,应该危害还是相当大的。
      比如说,你某天收到你boss发给你的一封邮件,给你一个 word文档,难道你不会打开看看么?当然,如果连boss的邮件都在虚拟机里面打开就另说了。具体怎么做太简单我就不说了,这里大致描述一下原理。假设a@domain-a.com要发一封邮件到b@domain-b.com, 正常工作流程是这样的:用户a连接smtp.domain-a.com的smtp服务,进行身份认证,发送邮件内容。随后,smtp.domain- a.com会解析domain-b.com的mx记录得到mx.domain-b.com,连接这个mx记录的smtp服务端口,将a@domain-a.com的那封邮件发送过来,mx.domain-b.com再转交到pop3.domain-b.com,发送给b@domain-b.com。 这里问题就来了,因为邮件是从另外的smtp服务器发送过来的,而smtp.domain-a.com不可能有mx.domain-b.com的账号,也 就是说mx.domain-b.com不可能对smtp.domain-a.com进行身份认证。那么用户接受到的邮件为什么会有发件人信息呢?这个,就 是由smtp.domain-a.com随便说了。因此,你随时可能收到来自你Boss的,附加一个包含0Day的word文档作为附件的邮件……
      对这个问题,我晚上做了一些测试,给hotmail发送伪造源为admin@hotmail.com的邮件被认出来是伪造的放到了垃圾箱,其它的包括gmail,yahoo在内的各大邮箱,都没有部署有效的措施,至于各大企业内部的工作邮箱,我就没敢测试了,也许情况不容乐观。说了攻击,下面主要描述一下解决方案。
      解决方案也许不是完全的,但是至少可以解决来自本域的欺诈邮件,保证你不会收到看似来自你 boss的攻击邮件。解决方案很简洁,主要是微软的Sender ID技术,和yahoo的DomainKeys技术,而且这两种技术思路上也非常接近。 Sender ID利用DNS扩展,来验证邮件发送者是否真的来自它声称的域。工作流程图如下:前面的过程和开始一样,用户a(Sender)通过smtp服务将自己发送给b@domain-b.com的 邮件发送给smtp.domain-a.com。smtp.domain-a.com声称发件人是domain-a.com域的a用户,将邮件发送给 mx.domain-b.com(inbound e-mail server),再转发到pop3.domain-b.com。但是在部署了Sender ID之后,mx.domain-b.com在接收到邮件的时候,会查询domain-a.com域的SPF记录,而SPF记录,保存着允许发送 domain-a.com域邮件的IP段。显然,这个是由domain-a.com域名的拥有者控制的,其它人无法伪造。因此,攻击者伪装domain- b.com发送邮件给domain-b.com域的其他人时,连接过来的IP是攻击者的邮件服务器,而查询出来的允许IP段则是domain-b.com 域公司的IP,显然,这两个IP是不会匹配的,那么就可以判断到这个邮件是伪造的了。简单的说,Sender ID就是首先在domain-b.com的dns服务器上加一个SPF记录,内容为允许发送domain-b.com域邮件的IP段,一般来说指向 smtp.domain-b.com的IP就可以了。接收到号称来自domain-b.com域的邮件时,将DNS SPF解析的结果与IP层获取到的连接IP地址匹配即可。能匹配则是正确的邮件,不匹配则表示是欺诈的攻击邮件。
      相比而言,DomainKeys更为安全,采用了非对称加密签名的方式,甚至可以防止邮件被篡改,只是对系统的资源消耗大了一些。与 Sender ID的区别在于,DomainKeys方案在域的DNS记录中不是保存了允许放松该域邮件允许的IP段,而是保存了一个公钥,相对的私钥保存在SMTP服 务器上。当用户a@domain-a.com在发送邮件 时,SMTP.domain-a.com将用户a此封邮件的邮件头加上邮件内容一起使用私钥做RSA签名,然后将签名附加在邮件头中一起发送。在邮件接收 方服务器mx.domain-b.com接收到邮件时,从domain-a.com的_domainkey记录中获取到该域的公钥,使用公钥对邮件头中包 含的数字签名做验证。签名检验不符合则为伪造邮件,合格则为正常。总的来说,这两个方法都是要求邮件发送方在DNS中做一个特定的记录,要么是发送方的IP段,要么是公钥。最终邮件接收方根据接收邮件 时候的信息,和这个DNS解析出来的特征做对比,匹配则不是伪造邮件。这两种技术都需要邮件发送方的支持,所以推广比较困难。但是至少,可以在自己的本域 启用,防止攻击者伪造自己本域的邮件。
      根据测试来看,hotmail就使用了自己的Sender ID技术,可以认出伪造的hotmail.com域的邮件。
      博主0point手记:记得在07年用雅虎邮箱的时候,它就启用了发信人域名认证这项技术,hotmail的也经常用,但它的默认界面文字实在太小了,找个按钮都要半天也就从没注意过这方面的细节。个人相信在不久的将来邮件域认证技术会大规模应用(虽然可能各邮件服务商只提供针对自己的域认证),因为主要在发送端做一个简单的认证即可,但企业邮局应用此技术估计还要N久N久。

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/369

  1. 还没有评论
评论提交中, 请稍候...

留言



注意: 您给他人的评论回复将通过邮件通知到对方。

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks