你在这里

利用DKIM来做基于电子邮件网络钓鱼

【eNet硅谷动力网络安全频道】在最近电子邮件认证工作小组(Domain Keys Identified Mail, DKIM)所结束的讨论中,这个互联网工程团队(Internet Engineering Tasks Force, IETF)底下的小组,有部分成员已经决定不去理会现在已经有效的被用于社交工程攻击的网络钓鱼Phishing相关威胁。他们并不去验证DKIM的输入,而只是依赖于特别去处理DKIM的结果。部分成员认为去检验可能导致在DKIM认证基础下,会让使用者接收到高度欺骗性邮件的元素是违反协定层的作法。 

  详情很简单,原本的用意也是好的。DKIM希望用最简单的方式去认证域名和电子邮件的关连性,就是从From标头栏位。这关连性可以成为接收邮件的基础,但未能提供预期的保护,因为当邮件包含无效或造假的元素时,DKIM仍然会提供一个有效的认证。 虽然宣告这类邮件因为具有无效或造假的元素而无法获得有效认证并不违反协定,不过有些人认为并非如此。 

利用DKIM来做基于电子邮件网络钓鱼



  下面是如何破解DKIM的方法: 

  1.取得一个DKIM签证过的免费电子邮件帐户。 

  2.寄给自己一封属于敏感性质的信件。像是社交网站的信息。 

  3.在原本的邮件标头前加上会被DKIM忽略的假From标头栏位,让收件者误判邮件的来源。当然,该邮件可能包含一个外部连结,提示收件者如果要知道详情就连上这外部连结。而这外部连结可能会尝试做些零日攻击,或要求额外的个人资料,如收件人的社交网站个人页面来做进一步的攻击。 

  4.利用DKIM对于信息重发的不敏感,坏人可以利用邮件列表来重送这封邮件给他们锁定的受害者,这封邮件有着有效的认证,而且坏人可以将From标头栏位设定成任何他们想要的电子邮件位址。 

  和DKIM基于加密的认证所需要花费的精力比起来,不去忽略多个From标头栏位其实是容易的多。DKIM是基于RFC5322,虽然SMTP还是允许RFC822相容的邮件,但它规定了特定标头栏位的合法编号。DKIM应该也在从使用RFC3490换成使用RFC5890时,确保会防止Fake A-Labels(无效的IDNA-Labels)的使用。RFC5890定义了一个额外的3,329字元(code-points)是非法的,而现在在国际化字串准备(String Prep)被移除时允许德文的esset和希腊文的final sigma等字元。不幸的是,DKIM不想认真的去确保关键的标头栏位的合法性,也不去检查被拿来确认DKIM认证的公钥所用的域名。 

  决定去忽略电子邮件额外的From标头栏位,而仍然传回一个有效的认证结果(DKIM的唯一输出),让它变成一个邪恶的协定。为什麽邪恶呢,因为一旦收件者认为他们现在可以相信显示的From标头栏位,但实际上这协定在检查认证时会忽略或通过多个From标头栏位,所以这会将收件者置于更大的风险当中。