《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 電子郵件環(huán)境下STARTTLS的安全性分析

電子郵件環(huán)境下STARTTLS的安全性分析

2021-10-20
來(lái)源:嘶吼專業(yè)版
關(guān)鍵詞: 電子郵件

  STARTTLS,是一種明文通信協(xié)議的擴(kuò)展,能夠讓明文的通信連線直接成為加密連線(使用SSL或TLS加密),而不需要使用另一個(gè)特別的端口來(lái)進(jìn)行加密通信,屬于機(jī)會(huì)性加密。

  電子郵件客戶端和服務(wù)器之間的連接提供了兩種使用 TLS 保護(hù)的方法:隱性 TLS 從一開(kāi)始就對(duì)連接進(jìn)行加密并在單獨(dú)的端口上運(yùn)行,而 STARTTLS 提供了一種將現(xiàn)有未加密連接升級(jí)到 TLS 的機(jī)制。

  有時(shí) STARTTLS 被視為一種機(jī)會(huì)加密模式,僅在可用時(shí)提供 TLS 保護(hù)。這很容易受到降級(jí)攻擊。但是,現(xiàn)代電子郵件客戶端通常期望強(qiáng)制執(zhí)行 STARTTLS,并且在啟用時(shí),不可能進(jìn)行未加密的通信。

  通過(guò)STARTTLS升級(jí)連接是很脆弱的,容易受到許多安全漏洞和攻擊的影響。我們?cè)?STARTTLS 實(shí)現(xiàn)中發(fā)現(xiàn)了 40 多個(gè)漏洞。我們的結(jié)論是,這些漏洞是如此普遍,所以我們建議盡可能避免使用STARTTLS。

  我們假設(shè)中間人 (MitM) 攻擊者可以修改電子郵件客戶端和提供商的電子郵件服務(wù)器之間建立的連接。

  通過(guò)命令注入使用 SMTP 和 IMAP 竊取登錄憑據(jù)

  2011 年,Postfix 開(kāi)發(fā)人員 Wietse Venema 描述了 STARTTLS 實(shí)現(xiàn)中的一個(gè)漏洞,該漏洞允許注入服務(wù)器將其解釋為加密連接的一部分的明文命令。這是通過(guò)使用 STARTTLS 命令向同一 TCP 段中的服務(wù)器發(fā)送附加命令來(lái)實(shí)現(xiàn)的。

  我們發(fā)現(xiàn),盡管自2011年以來(lái)人們就知道這個(gè)漏洞,但它仍然非常普遍。截止目前共發(fā)現(xiàn)了15個(gè)易受攻擊的實(shí)現(xiàn)場(chǎng)景,在掃描中,2%的郵件服務(wù)器顯示了這個(gè)漏洞。

  此命令注入可用于通過(guò) SMTP 和 IMAP 協(xié)議竊取憑據(jù)。

  我們的攻擊需要一個(gè)中間人 (MitM) 攻擊者,該攻擊者可以修改網(wǎng)絡(luò)流量并在同一服務(wù)器上擁有自己帳戶的登錄憑據(jù)。攻擊者可以注入對(duì)其進(jìn)行身份驗(yàn)證的命令,然后開(kāi)始發(fā)送 (SMTP) 或存儲(chǔ) (IMAP) 電子郵件,受害者發(fā)送的登錄憑據(jù)將存儲(chǔ)在攻擊者可以訪問(wèn)的電子郵件中。

  命令注入還可用于跨協(xié)議攻擊,以使用郵件服務(wù)器的證書(shū)提供 HTTPS 內(nèi)容。

  通過(guò)響應(yīng)注入偽造郵箱內(nèi)容

  我們發(fā)現(xiàn)了一種類似于電子郵件客戶端應(yīng)用程序中的命令注入的攻擊,稱之為響應(yīng)注入。此漏洞影響了許多流行的郵件客戶端,包括 Apple Mail、Mozilla Thunderbird、Claws Mail 和 Mutt。

  通過(guò)在 TLS 握手之前向服務(wù)器消息注入額外的內(nèi)容以響應(yīng) STARTTLS 命令,我們可以注入服務(wù)器命令,客戶端將處理這些命令,就好像它們是加密連接的一部分一樣,這可用于偽造郵箱內(nèi)容。

  通過(guò) PREAUTH 和 REFERRAL 竊取憑據(jù)的 IMAP 連接降級(jí)

  在 IMAP 協(xié)議中,服務(wù)器可以通過(guò) PREAUTH 命令在第一條消息中通知客戶端它已經(jīng)通過(guò)了身份驗(yàn)證。該協(xié)議禁止在已驗(yàn)證狀態(tài)下使用 STARTTLS 命令。因此,如果客戶端應(yīng)用程序接受 PREAUTH,則它無(wú)法強(qiáng)制執(zhí)行 STARTTLS。

  中間人攻擊者可以使用它來(lái)阻止 STARTTLS 升級(jí)連接并強(qiáng)制客戶端使用未加密的連接。該漏洞最初于2014年在Trojitá中被發(fā)現(xiàn)。我們發(fā)現(xiàn),其他多個(gè)電子郵件客戶端應(yīng)用程序也容易受到同一漏洞的攻擊。

  此漏洞與 IMAP 功能登錄引用和郵箱引用結(jié)合使用時(shí)尤其嚴(yán)重,這些命令允許服務(wù)器指示客戶端登錄到另一個(gè) IMAP 服務(wù)器。通過(guò)使用 PREAUTH 來(lái)防止加密連接,攻擊者可以使用引用來(lái)強(qiáng)制客戶端將憑據(jù)發(fā)送到攻擊者控制的服務(wù)器。幸運(yùn)的是,許多客戶端不支持推薦功能。我們發(fā)現(xiàn)只有一個(gè)客戶—— Alpine,容易受到這種 PREAUTH 和推薦組合的影響。

  總結(jié)

  本文描述的所有漏洞都依賴于不安全連接到安全連接的轉(zhuǎn)換,隱性 TLS 沒(méi)有這樣的轉(zhuǎn)換,因此不容易受到這些攻擊。因此,我們認(rèn)為隱性 TLS 比 STARTTLS 更安全。

  我們還指出 STARTTLS 總是引入至少一個(gè)額外的連接,所以隱性 TLS 通常提供更好的性能。

  安全影響

  我們認(rèn)為本文所講的攻擊難以大規(guī)模執(zhí)行,主要用于有針對(duì)性的攻擊。因此,你應(yīng)該始終更新軟件并重新配置電子郵件客戶端以只使用隱性 TLS。

  安全建議

  ?對(duì)于電子郵件客戶端用戶

  如果可能,我們建議用戶檢查并配置他們的電子郵件客戶端,以在專用端口上使用帶有隱性 TLS 的 SMTP、POP3 和 IMAP,即SMTP/Submission端口465,POP3端口995,IMAP端口993。某些郵件服務(wù)提供商,尤其是 Microsoft 和 Apple,不支持SMTP/Submission的隱式TLS。我們建議用戶讓他們的郵件服務(wù)提供商提供更安全的隱性 TLS 選項(xiàng)。

  ?對(duì)于應(yīng)用程序開(kāi)發(fā)人員

  默認(rèn)情況下,電子郵件服務(wù)器和客戶端應(yīng)用程序都應(yīng)提供隱性 TLS。從長(zhǎng)遠(yuǎn)來(lái)看,軟件開(kāi)發(fā)人員可能會(huì)決定根本不支持 STARTTLS,從而簡(jiǎn)化他們的代碼和配置對(duì)話框和文件。

  我們建議在服務(wù)器端和客戶端審核所有支持 STARTTLS 的應(yīng)用程序,因?yàn)閼?yīng)用程序需要確保沒(méi)有未加密的內(nèi)容作為加密連接的一部分被處理。IMAP 應(yīng)用程序必須確保它們不允許將 PREAUTH 與 STARTTLS 結(jié)合使用,可以使用EAST 工具包,它允許測(cè)試應(yīng)用程序。

  ?對(duì)于郵件服務(wù)器管理員

  確保你使用的服務(wù)器支持所有支持的協(xié)議的隱性 TLS,如果可能,請(qǐng)考慮為 IMAP、POP3 和 SMTP 提交禁用 STARTTLS。

  如果你確實(shí)需要支持 STARTTLS,建議使用建議的工具針對(duì)所有支持的協(xié)議的命令注入漏洞測(cè)試服務(wù)器。如果服務(wù)器軟件易受攻擊,立馬應(yīng)該進(jìn)行安全更新。

  常見(jiàn)問(wèn)題

  ?STARTTLS不安全嗎?

  STARTTLS有兩種“模式”,“機(jī)會(huì)主義模式”和“強(qiáng)制模式”。電子郵件客戶端在提交新郵件或訪問(wèn)現(xiàn)有郵件之前必須使用用戶名和密碼進(jìn)行身份驗(yàn)證。對(duì)于這些連接,必須嚴(yán)格執(zhí)行通過(guò)STARTTLS傳輸?shù)絋LS的轉(zhuǎn)換,因?yàn)榻导?jí)將暴露用戶名和密碼,并給予攻擊者對(duì)電子郵件帳戶的完全訪問(wèn)權(quán)。

  ?如何測(cè)試使用的軟件是否易受攻擊?

  我們了提供允許測(cè)試電子郵件客戶端和服務(wù)器的 EAST 工具包。

  使用我們的命令注入測(cè)試器測(cè)試電子郵件服務(wù)器的命令注入相對(duì)容易。testssl.sh(開(kāi)發(fā)版)和 TLS-Attacker/TLS-Scanner也會(huì)檢查命令注入。

  ?其他支持 STARTTLS 或類似機(jī)制的協(xié)議是否受到影響?

  我們希望在其他使用 STARTTLS 的協(xié)議中看到類似的漏洞,例如 XMPP、FTP、IRC 或 LDAP。因此,我們建議避免 STARTTLS 并盡可能使用隱性 TLS。

  ?郵件服務(wù)器之間的通信(MTA到MTA)如何處理?

  傳統(tǒng)上,電子郵件服務(wù)器之間的 STARTTLS 只能防止被動(dòng)攻擊,容易受到主動(dòng)攻擊,例如 STARTTLS 攻擊。




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。