本月初,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在物理內存中的位置是073200000,明天位置可能就移到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)上做進一步解讀。
* 文章來源:Softpedia,FB小編歐陽洋蔥編譯,轉載須注明來自FreeBuf黑客與極客(FreeBuf.COM)