本月初,Tor Project對Tor(洋蔥)瀏覽器進行了更新,新版為6.5a1——與此同時還有個「hardened」加固版。這次的Tor瀏覽器6.5a1-hardened加固版也是6.5版本系列中的首個加固版本。
Tor Project項目的官方博客中提到,這次的6.5a1加固版針對Firefox有比較重要的安全更新(Firefox 45.2.0esr);Tor版本更新至0.2.8.3-alpha,向後移植了一些安全特性。
不過從加州大學爾灣分校(UCI)最新公布的一份研究論文來看,這次Tor瀏覽器加固版的亮點在於某種叫做「Selfrando」的新特性。這篇論文是由9名研究人員共同研究完成的。他們將「Selfrando」稱作是「加強、實用的加載時隨機技術(load-time randomization technique)」。
說白了,Tor用戶瀏覽網頁追求的就是匿名性,而有些攻擊者——不管是政府還是什麼——會剝開這層洋蔥,實現所謂的「去匿名化」。而這次的新版Tor瀏覽器就是要加大「去匿名化」的難度。
Selfrando是ASLR的替代方案Tor Project和加州大學爾灣分校的研究人員花了好幾個月的時間,合作研發出了這種Selfrando技術,實際上是期望用Selfrando來替代ASLR。
ASLR也就是地址空間布局隨機化,它實現的是將代碼的入口數據點分散在內存中,這樣一來,入口數據點的地址變得不可預測,惡意代碼要入侵系統難度也就加大了很多。比如說,今天啟動電腦的時候,xxx.dll在物理內存中的位置是0×73200000,明天位置可能就移到0x779b0000了。比較主流的作業系統和瀏覽器通常都對ASLR提供支持。
Selfrando可以簡單理解為ASLR的升級方案。它將每個代碼函數都單獨開來,並對其內存地址進行隨機化。攻擊者無法預測代碼執行的內存位置,也就無法進行內存溢出攻擊。Selfrando和ASLR的區別就像上面這張圖一樣。
另一方面,很多人可能會擔心這種機制會讓性能下降。研究人員表示,從基準測試來看,加固版Tor瀏覽器運行時間也就多了不到1%,所以對性能的影響是微乎其微的。而且對開發者而言,要使用Selfrando也很方便,並不需要對現有代碼做出太大的改變。研究人員表示:
「絕大部情況下,用Selfrando就像給現有構建腳本加個新的編譯器和連結標籤(linker flags)一樣簡單。」
Selrando的實際意義在哪裡?如文章開頭所說,Selrando的存在很大程度上是為了讓用戶瀏覽網頁的匿名性變得更好。所以對米國用戶而言,抵禦FBI的追蹤就是Tor瀏覽器存在很大的意義了。
過去幾年中,FBI針對Tor用戶的追蹤,不管是自己做研究,還是出錢找第三方組織,都是為了揭示這部分用戶究竟在做什麼,以及真實身份為何。這樣的例子先前也並不少見,比如說針對絲綢之路黑市的追蹤,還是Playpen兒童色情內容的取締)。僅後者,FBI就追蹤了大約1300個IP,並向137人提起訴訟。
從這些事例來看,FBI的行為當然也是打著爭議旗號的,至於FBI是否還有其他意圖,那就不得而知了。不過這樣的追蹤行為,也招致了不少隱私權利組織等第三方機構的不滿。Tor瀏覽器加強這方面的投入,也就可以理解了。
Selfrando也是個開源項目(GNU Affero公共授權),所以Tor Project自然很歡迎開發者採用Selfrando的代碼。對Selfrando有興趣的同學,可以點擊這裡在GitHub上查看該項目,也可以點擊這裡查看加州大學爾灣分校公布的研究報告——這份研究也將在下個月的隱私加強技術座談會(Privacy Enhancing Technologies Symposium)上做進一步解讀。
轉自:FreeBuf