TLS安全性:“幸運13”攻擊
根據(jù)兩位研究者的介紹,運輸層安全性(TLS)協(xié)議的最新漏洞并不會馬上造成問題,但是卻會為后續(xù)改進的同類攻擊留下可趁之機。此外,它也屬于互聯(lián)網(wǎng)基礎(chǔ)的客戶端-服務器安全機制的最新問題。
Kenneth Paterson教授是一篇最新發(fā)表的TLS(運輸層安全)攻擊論文的共同撰寫人,他在一次電話訪談中說道:“多年以來,我一直熱衷于加密技術(shù)的實際應用,在這種環(huán)境中,TLS是我們的最大研究目標。”他說,他已經(jīng)對其他通信協(xié)議研究了幾年時間的,研究內(nèi)容是通過這些協(xié)議的各種消息調(diào)用順序來了解消息內(nèi)容。該論文名稱是《幸運13:攻破TLS和DTLS記錄協(xié)議》,它由Paterson及博士生Nadhem AlFardan共同完成,他們均屬于倫敦皇家霍洛威大學的信息安全小組。
Paterson指出,對于TLS帳戶,攻擊者位于使用TLS協(xié)議的客戶端與服務器之間,而且“攻擊者所做的事情就是攔截數(shù)據(jù)包,然后以一種詭秘的方式篡改它們。”傳輸給服務器的數(shù)據(jù)包具有特殊的排列方式,其中有一個報頭域包含13個字節(jié),因此將這種攻擊命名為:“幸運13”。教授指出,攻擊者“隨后會將這些數(shù)據(jù)包發(fā)送到服務器,進行解密,而因為TLS有一種完整性保護機制,所以服務器解密時會產(chǎn)生錯誤。”
“服務器很聽話,它一定會向客戶端發(fā)送一個錯誤的消息。”接下來發(fā)生的事情很重要:“實際上,根據(jù)解密具體過程,產(chǎn)生錯誤消息所需要的時間會有所差別。我們修改了數(shù)據(jù)包,并且修改過程會占用一定的服務器處理時間,然后在這段時間差就泄露了明文。”
根據(jù)Paterson的介紹,測得的時間差在毫秒級。這個數(shù)據(jù)量“主要取決于服務器所使用的硬件。時間差還受到另一個因素的影響,即包含這些錯誤消息的數(shù)據(jù)包還需要通過網(wǎng)絡進行傳輸。所以,它們會受到諸如網(wǎng)絡路由等各種延遲和抖動因素的影響。”
測量精確時間差的最佳場景是攻擊者與服務器位于同一網(wǎng)斷。Paterson指出,這并不是一種典型情況,但是這也是可能的,攻擊者實際上就是一個ISP,而您是ISP實際對抗的人。
但是,一般而言,論文作者說明這并不是任何機智的攻擊者都希望出現(xiàn)的第一攻擊位置。首先,攻擊者在網(wǎng)絡拓撲中離服務器越遠,那么時間差就會越難估值。而即使就在附近,恢復每一個字節(jié)才能得到許多時間差樣例。
所有這些樣例都意味著需要初始化許多的TLS會話。這樣會造成許多的“噪音”,從而很容易暴露攻擊者(而且,即使不考慮攻擊者的問題,實際上大多數(shù)商業(yè)服務器也不會為同一個IP地址啟動多到不正常的會話)。
雖然這個版本的幸運13攻擊可能在實際環(huán)境中并不常見,但是研究幸運13的團隊指出,他們并不明確這種攻擊會出現(xiàn)多少種改進版本,也不知道后續(xù)改進版本是否會產(chǎn)生更為可靠的攻擊效果。
可能有哪些改進呢?第一種可能是減少破解底層密碼所需要的會話數(shù)量。而且,Paterson指出了一些已經(jīng)能夠有效減少會話數(shù)量的方法:“如果您希望獲取一些內(nèi)容——例如,假設您要解析Cookie頭的前幾個字節(jié),并且知道標準Cookie的格式,那么所需要的樣例數(shù)量可以從223下降為219。”他說:“然后,還有另一個方法:如果攻擊者還知道塊中最后2個字節(jié)之一,那么所需要的樣例數(shù)量又可以從219下降為213。”
這仍然是噪音,但是攻擊速度已經(jīng)顯著提高;在論文所使用的測試環(huán)境中,它在15分鐘內(nèi)就破解了1個字節(jié)的明文。如果Paterson想要發(fā)起攻擊(他選擇了發(fā)送一封網(wǎng)絡釣魚電子郵件),那么這種方法并不是他的第一選擇,但是這是在TLS安全及上層安全性(SSL)的所有問題出現(xiàn)的新問題。舉一些最新例子:SSL的處理缺陷已經(jīng)被用于遠程消除Android和iOS移動設備的內(nèi)存;JavaScript攻擊工具BEAST也被用于攻擊瀏覽器的SSL會話;經(jīng)常出現(xiàn)的電子證書問題通過偽裝SSL協(xié)議的底層信任破壞了互聯(lián)網(wǎng)最廣泛使用的SSL安全機制。關(guān)于TLS/SSL攻擊的例子還有很多很多,而本文談到的幸運13只是其中之一……