利用DKIM來做基于電子郵件網(wǎng)絡(luò)釣魚
DKIM從From標(biāo)頭欄位方式去認(rèn)證域名和電子郵件的關(guān)連性
在最近電子郵件認(rèn)證工作小組(Domain Keys Identified Mail, DKIM)所結(jié)束的討論中,這個互聯(lián)網(wǎng)工程團(tuán)隊(Internet Engineering Tasks Force, IETF)底下的小組,有部分成員已經(jīng)決定不去理會現(xiàn)在已經(jīng)有效的被用于社交工程攻擊的網(wǎng)絡(luò)釣魚Phishing相關(guān)威脅。他們并不去驗證DKIM的輸入,而只是依賴于特別去處理DKIM的結(jié)果。部分成員認(rèn)為去檢驗可能導(dǎo)致在DKIM認(rèn)證基礎(chǔ)下,會讓使用者接收到高度欺騙性郵件的元素是違反協(xié)定層的作法。
詳情很簡單,原本的用意也是好的。DKIM希望用最簡單的方式去認(rèn)證域名和電子郵件的關(guān)連性,就是從From標(biāo)頭欄位。這關(guān)連性可以成為接收郵件的基礎(chǔ),但未能提供預(yù)期的保護(hù),因為當(dāng)郵件包含無效或造假的元素時,DKIM仍然會提供一個有效的認(rèn)證。 雖然宣告這類郵件因為具有無效或造假的元素而無法獲得有效認(rèn)證并不違反協(xié)定,不過有些人認(rèn)為并非如此。

破解DKIM的方法
1.取得一個DKIM簽證過的免費電子郵件帳戶。
2.寄給自己一封屬于敏感性質(zhì)的信件。像是社交網(wǎng)站的信息。
3.在原本的郵件標(biāo)頭前加上會被DKIM忽略的假From標(biāo)頭欄位,讓收件者誤判郵件的來源。當(dāng)然,該郵件可能包含一個外部連結(jié),提示收件者如果要知道詳情就連上這外部連結(jié)。而這外部連結(jié)可能會嘗試做些零日攻擊,或要求額外的個人資料,如收件人的社交網(wǎng)站個人頁面來做進(jìn)一步的攻擊。
4.利用DKIM對于信息重發(fā)的不敏感,壞人可以利用郵件列表來重送這封郵件給他們鎖定的受害者,這封郵件有著有效的認(rèn)證,而且壞人可以將From標(biāo)頭欄位設(shè)定成任何他們想要的電子郵件位址。
和DKIM基于加密的認(rèn)證所需要花費的精力比起來,不去忽略多個From標(biāo)頭欄位其實是容易的多。DKIM是基于RFC5322,雖然SMTP還是允許RFC822相容的郵件,但它規(guī)定了特定標(biāo)頭欄位的合法編號。DKIM應(yīng)該也在從使用RFC3490換成使用RFC5890時,確保會防止Fake A-Labels(無效的IDNA-Labels)的使用。
RFC5890定義了一個額外的3,329字元(code-points)是非法的,而現(xiàn)在在國際化字串準(zhǔn)備(String Prep)被移除時允許德文的esset和希臘文的final sigma等字元。不幸的是,DKIM不想認(rèn)真的去確保關(guān)鍵的標(biāo)頭欄位的合法性,也不去檢查被拿來確認(rèn)DKIM認(rèn)證的公鑰所用的域名。
決定去忽略電子郵件額外的From標(biāo)頭欄位,而仍然傳回一個有效的認(rèn)證結(jié)果(DKIM的唯一輸出),讓它變成一個邪惡的協(xié)定。為什麼邪惡呢,因為一旦收件者認(rèn)為他們現(xiàn)在可以相信顯示的From標(biāo)頭欄位,但實際上這協(xié)定在檢查認(rèn)證時會忽略或通過多個From標(biāo)頭欄位,所以這會將收件者置于更大的風(fēng)險當(dāng)中。
DKIM做基于電子郵件網(wǎng)絡(luò)釣魚的分析就為大家介紹完了,希望大家已經(jīng)理解以上的內(nèi)容。
【編輯推薦】