2009-12-04 87 views
6

this question我以前問的谷歌應用程序引擎,如果我有機會獲得所有的信息在一個標準的電子郵件,而不僅僅是FromToSubjectBody領域,也是所有的報頭和MIME信息,我怎麼能驗證具有相同From地址的兩個傳入電子郵件實際上來自同一個發件人。如何驗證電子郵件發件人地址不被欺騙?

什麼,我認爲迄今:

  • 檢查電子郵件的發送服務器
  • 檢查電子郵件的發送服務器的DNS記錄
  • 驗證電子郵件的發送代理的IP地址(即Web界面,Outlook中,雷鳥等)
  • 檢查回覆到現場
  • 等等

我意識到這是一個複雜的問題(我相信像Posterous這樣的公司在這個問題上花費了大量的時間)。我只是尋找一些準備開始初步。謝謝!

更新:

答案至今都真正幫助,但只是爲了幫助他們,我的項目的背景是,我會接收電子郵件的噸並萬噸,因爲從一個Web應用程序我的用戶。他們會使用他們的電子郵件作爲向我的系統輸入數據的主要方式。這就是爲什麼我做了Posterous的比喻。用例非常相似。

+1

有一點需要考慮 - 我使用筆記本電腦並在一天中從多個不同的IP地址和SMTP服務器發送電子郵件。 – 2009-12-04 14:53:28

+0

是的,謝謝Scott,我確實考慮過這個,這就是爲什麼我有興趣看到其他方法。 – daveslab 2009-12-04 15:00:21

+1

剛剛偶然發現了這個問題,我嘗試了類似的東西。你能分享你最終做的事情嗎? – 2010-11-17 22:29:45

回答

3

你說得對,所有的頭文件和'已知好的'電子郵件進行比較可以幫助識別可能的欺騙性電子郵件。

你正在開發的東西可能最多隻是一種啓發式算法,而不是算法。

我會考慮通過時間的一天,以及如何接近加權領域「已知的好」電子郵件時的日...

而且,如果‘已知的好’電子郵件是結構化與嫌疑人不同;即Inline圖像,HTML,縮短的網址等。

2

爲什麼不通過spamassassin或一些這樣的過濾器來運行電子郵件,它會附加bayes分數。然後你可以閱讀那個分數。這將節省您重新發明輪子。

您可以對來自個人以前的所有電子郵件數據庫的電子郵件進行評分。

還有查找發件人允許的框架和DomainKeys,SpamAssassin可以爲您做。

2

只是恭維我的兄弟早些時候發佈:

不知道下,你要分析此背景下,並且是很一般我會建議你的第一個停靠港是SPF或域名密鑰,以限制的可能性來自非法來源的電子郵件被接受。我還建議只使用一臺具有SSL安全性的SMTP服務器。我這樣做,到世界各地旅遊我很少一直處於情況下,我無法發送郵件,在這些情況下是沒有工作的唯一的事情是網絡郵件(不安全本地SMTP)。

此外到:如果您要驗證郵件確實是從自己的未來,那麼你也可以使用PGP工具在發送簽名郵件,然後篩選並沒有有效簽名的任何郵件。 Thunderbird中的Enigmail是一個很好的自動簽名源,並且還有Outlook插件。

之後,如果你真的想做一個電子郵件更取證工作,那麼你可以使用貝葉斯垃圾得分的電子郵件與先前的電子郵件的數據庫。您將圍繞非唯一數據(不包括諸如「To:」之類的條目)建立一個令牌數據庫,然後對該電子郵件評分與之前電子郵件相似的可能性。理論上你應該對任何郵件得分都非常高。

很顯然,我不知道你的情況,但我認爲有許多技術,但有時更容易去比試圖修復它的路線問題的根源。

更新

根據提供的背景:

我會考慮使用「地址擴展」這是你的用戶可以發送郵件到包含使用的電子郵件地址的引用地址:電子郵件名稱[email protected] GMail和許多其他服務器都支持通過+ extension @傳送電子郵件到正確的[email protected],而不需要hi-jinx。您可以讓用戶發送帶有唯一ID的郵件作爲擴展名,這樣您就可以知道這些郵件來自他們,他們會感覺更加特別。很明顯,有人可以通過嗅探他們的傳出郵件或收到的郵件來竊取他們獨特的代碼,但這總是可能的,如果有人可以這樣做,他們也可以注入郵件。

如果你真的只是想下井分析路線,然後我只想用SpamAssassin的每用戶貝葉斯匹配的反建議。將每封郵件與發件人的郵件數據庫進行比較(而不是將傳統郵件與「帳戶」匹配)。記住,一旦你的數據庫被誤報污染,你將不得不消除誤報或冒着匹配發送者完整性的風險。

2

可能並不實用,但東西,將工作:

當接收郵件到達時,有一個「回覆發件人」功能,簡單地詢問他們是否送了它。這可能是自動生成的確認鏈接或其他內容的形式。

但因爲我不知道該項目的具體情況,這可能是不實際的......就像如果你有這個多次爲每個用戶做什麼,沒有人會忍受它。

2

也許考慮使用Sender Policy Framework。它可能不是你正在尋找的東西,但它可能有幫助。

簡而言之,SPF記錄的設計意圖是允許接收MTA(郵件傳輸代理)詢問出現在電子郵件(發件人)中的域的名稱服務器並確定郵件的始發IP (來源)被授權爲發件人的域發送郵件。

從維基百科撕開:

發送方策略框架(SPF),如在R​​FC 4408中定義 ,是旨在防止 垃圾電子郵件通過尋址一個共同 漏洞的電子郵件 確認系統,源地址 欺騙。通過在公共DNS記錄中創建特定的DNS SPF記錄,SPF允許電子郵件 管理員能夠指定 哪些Internet主機被允許發送電子郵件,聲稱源自 該域。 郵件交換器然後使用DNS 記錄驗證發件人的身份 與 電子郵件管理員發佈的列表。