"壓縮比信息泄漏一點通" ***詳解

一、背景

關於SSL BEAST ***的作者Juliano Rizzo 和Thai Duong 發佈了一個新的被稱爲壓縮比信息泄漏一點通***(Compression Ratio Info-leak Made Easy)方法。它允許***者解密在SSL隧道傳輸的敏感信息。利用此漏洞的最直接的方式是用它來檢索通過應用程序的Cookie,並使用它們登錄到作爲受害者的應用中。

壓縮比信息泄漏一點通是***SSL壓縮和SPDY所熟知的方式。 SPDY是一種由谷歌開發特殊的類似於HTTP的協議,並有節制地應用於各地網絡。據Ivan Ristic的統計,通過SSLpluse收集,大約有42%的服務器支持SSL壓縮,SPDY協議的支持率是0.8%。 SSL壓縮是一項可選功能,默認情況下,可能會或可能不會被啓用 。然而SPDY將被明確設計到你的web應用程序。

二、技術

壓縮比信息泄漏一點通的工作原理是利用壓縮函數的一個屬性,與壓縮前的數據長度無關。內部的壓縮函數更復雜,但這個簡單的例子展示瞭如何被利用導致信息泄漏。回顧一下以下的瀏覽器POST方式:

POST /target HTTP/1.1

Host: example.com

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0)Gecko/20100101 Firefox/14.0.1

Cookie: sessionid=d8e8fca2dc0f896fd7cb4cb0031ba249

sessionid=a

以十六進制顯示此數據如下:

  wKiom1PwepbhQUouAACmWvGNANQ634.jpg 


DEFLATE壓縮算法如前所述,內部更復雜,但基本算法是尋找重複的字符串,將它們移動到一個字典,並用字典的條目與參考取代實際的字符串。我們會拿上面的例子,並找出兩個重複的字符串,我們可以刪除:“.1”和“的sessionid=”。我們將它們移動到一個字典,並用節節中未使用的信息(0x00和0x01)取代它。

wKiom1Pwet_SlGeAAACpCxU8bmI657.jpg


這已將信息從195字節壓縮到187字節。在BODY請求部分,我們指定“sessionid=a”。當指定的”SessionID=d“,我們看會發生什麼,這是祕密會話cookie的第一個字符:

wKioL1PwfC6x7lhpAACjIX0tUlE588.jpg

    現在,我們已經將信息從195字節壓縮到186字節。***者可以觀察到的SSL數據包的大小,可以使用這種技術以自適應的方式去推出cookie的確切值。

作爲一種方法,如前所述,真正的deflate獲取賬號有更多的方法(例如,解壓出的字符串長度),工作在一個滑動窗口通過的數據(檢查整個數據塊,而不是一次) - 但這個簡單的例子表明,通過單個的字節長度不同,我們尋找揭示我們已經猜到了正確的字符。對於更復雜的分析,你可以找出Thomas Pornin的《answer at stackexchange》和Krzysztof Kotowicz的《a proof of concept code》。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章