TLS的目前使用最廣泛的加密技術。但由于歷史原因,郵件協(xié)議中并沒有直接使用TLS協(xié)議而是通過STARTTLS 來進行協(xié)商。STARTTLS可以在SMTP、POP3、TMAP等郵件通信協(xié)議使用使得傳輸過程從明文升級到加密的連接,而不需要使用單獨的通信加密端口。STARTTLS的引入增加了復雜性,也引入了命令注入等潛在攻擊方式。
在8月11-13日舉行的第30屆USENIX Security Symposium安全大會上,研究人員在不同的STARTTLS實現(xiàn)中發(fā)現(xiàn)了40個未修復的安全漏洞,約32萬郵件服務器受到命令注入攻擊的影響。攻擊者利用這些安全漏洞可以執(zhí)行中間人攻擊,偽造郵件客戶端內容和竊取相關憑證信息。
漏洞影響多個主流的郵箱客戶端,包括Apple Mail、Gmail、Mozilla Thunderbird、Claws Mail、Mutt、Evolution、Exim、Mail.ru、Samsung Email、Yandex和KMail郵箱客戶端。攻擊過程需要惡意方具有修改郵箱客戶端和郵箱服務器之間的連接,并具有郵件服務器上的賬號的登錄憑證。
郵箱客戶端在提交新郵件或訪問現(xiàn)有郵件之前,必須用用戶名和密碼進行認證。對于這些連接,通過STARTTLS到TLS的過渡必須嚴格執(zhí)行,因為安全降級會泄露用戶名和密碼,攻擊者就可以具有郵箱賬號的完全訪問權限。
在另一個場景中,攻擊者還可以偽造郵件內容。在TLS握手之前,可以在服務器消息中插入額外的內容作為STARTTLS命令的響應,客戶端就會被誘使處理服務器命令,就好像是加密連接的一部分一樣。研究人員將這一攻擊稱之為響應注入(response injection)。
IMAP協(xié)議定義了郵箱客戶端從郵箱服務器通過TCP/IP連接提取郵件消息的標準。PREAUTH是一個響應,表明連接已經經過外部方法認證了。惡意攻擊者可以通過發(fā)送PREAUTH消息來預防連接升級和迫使客戶端用非加密的連接形式來繞過IMAP中的STARTTLS實現(xiàn)。
研究人員對SMTP、POP3和 IMAP中的STARTTLS進行了分析,開發(fā)了一個包含超過100個測試用例的半自動化的測試工具集EAST,涵蓋針對郵件協(xié)議的STARTTLS移除、命令和響應注入、修改攻擊、UI欺騙攻擊等。研究的主要關注點是郵件發(fā)送和郵件提取的機密性和完整性。通過對28個客戶端和23個服務器進行分析,研究人員發(fā)現(xiàn)了超過40個STARTTLS漏洞,攻擊者利用這些漏洞可以發(fā)起郵箱欺騙、憑證竊取等攻擊。28個客戶端中只有3個沒有任何STARTTLS相關的安全問題,23個測試的服務器中只有7個沒有發(fā)現(xiàn)任何安全問題。
研究人員進行互聯(lián)網掃描發(fā)現(xiàn),有超過32萬郵箱服務器(約2%)受到命令注入攻擊的影響。
相比STARTTLS,implicit TLS更加安全。研究人員建議用戶將郵箱客戶端配置為使用配置了implicit TLS的SMTP、POP3和IMAP(端口分別為465、995和993)以默認提供TLS功能。