Firefox 48 將引入 Multi-process 模式

現在是 Firefox 47,也就是下個版本就會引入 Multi-process 模式了:「Firefox 48 finally enables Electrolysis for multi-process goodness」。

Multi-process 模式也就是 Electrolysis,這對權限的分離 (sandbox) 以及效能的提昇有著顯著的幫助:

Electrolysis functionality hosts, renders, or executes web related content in background child processes which communicate with the "parent" Firefox browser via various ipdl protocols. The two major advantages of this model are security and performance. Security improvements are accomplished through security sandboxing, performance improvements are born out of the fact that multiple processes better leverage available client computing power.

這算是個開頭,地基打出來以後,之後就可以拆更多東西到其他的 child process。

把 Google Chrome 預設的 JavaScript 關閉,開白名單...

就如同標題寫得,把 Google Chrome 的 JavaScript 關閉,然後開白名單,這樣的好處有不少:

  • 大幅增加載入的速度:即使用了 Ghostery,還是有不少 JavaScript 的程式被執行到。
  • 增加網站安全性:雖然 Google Chrome 的 sandbox 不算差,但完全不要跑 JavaScript 可以擋下很多安全性問題。
  • 對 anti-adblock 機制的抵抗力:意外的發現不少 anti-adblock 機制都是透過 JavaScript 偵測,而這個方法直接擋下來了。
  • 對 infinite-scrolling 機制的抵抗力:有不少新聞網站拉到最底端會自動讀取相關的新聞 (或是類似的機制),我其實很不喜歡這樣的機制... 直接省下來 XD

另外就是透過 Google Chrome 本身的同步機制,其實可以設一次所有機器都生效,不算太麻煩。沒意外的話應該會一直用下去...

AWS Lambda 的本地端測試工具

Twitter 上看到的工具:「Run AWS Lambda Functions on your local computers, for testing purposes」。可以在本地端測試 AWS Lambda 的程式碼:

在瀏覽器上面用 JavaScript 進行 Side-channel attack

用 JavaScript 就可以攻擊 L3 cache,進而取得資料:「JavaScript CPU cache snooper tells crooks EVERYTHING you do online」。

論文出自「The Spy in the Sandbox – Practical Cache Attacks in Javascript」(PDF) 這篇。

不需要任何外掛或 exploit,就純粹是利用 cache 反應時間的 side-channel attack。另外由於 AMD 的 cache 架構不同,這次的攻擊實作僅對 Intel 有效:

The Intel cache micro-architecture isinclusive– all elements in the L1 cache must also exist in the L2 and L3 caches. Conversely, if a memory element is evicted fromthe L3 cache, it is also immediately evicted from the L2 and L1 cache. It should be noted that the AMD cachemicro-architecture is exclusive, and thus the attacks described in this report are not immediately applicable tothat platform.

這次的攻擊方法真變態...

Rowhammer Bug:攻擊記憶體的值...

GoogleProject Zero 實做 Rowhammer Bug:「Exploiting the DRAM rowhammer bug to gain kernel privileges」。

開頭就很科幻:

“Rowhammer” is a problem with some recent DRAM devices in which repeatedly accessing a row of memory can cause bit flips in adjacent rows.

然後就提到實做了:

We tested a selection of laptops and found that a subset of them exhibited the problem. We built two working privilege escalation exploits that use this effect.

給出了 NaCl sandbox escape 與 Kernel privilege escalation 兩種方式。

這頭快炸了...

iframe 的 sandbox 功能...

在「Play safely in sandboxed IFrames」這篇文章提到 HTML5 有對 iframe 制定 sandbox 屬性,這可以讓開發者比較容易處理安全性問題。

比較讓我驚訝是開頭的 browser support 清單是主流全部支援,但又沒寫版號:

不過實際到「Can I use sandbox attribute for iframes?」查,發現沒那麼美好 XD

主要的瀏覽器中,IE 要到 10 才有支援,另外 Firefox 剛支援沒多久 (17 以及之後的版本,目前是 18),看起來要等 Windows 7 的 IE8 被淘汰?

Adobe Reader X 的 Sandbox...

Adobe Reader X (也就是 10) 相較於之前的版本,引入了 Sandbox 的架構。安全性比起之前的版本好很多。

Slashdot 就有提到 Adobe Reader X 釋出以後,對最近的一些惡意 PDF 的抗性高出不少:「Adobe's Reader X Spoils New PDF Attack」。

另外對於安裝 Adobe Reader X 時需要安裝 DLM 的問題,一般常見的解法是到 Adobe 的 FTP 下載:「ftp://ftp.adobe.com/」。在防火牆內可能會有問題,這時候可以先用 Web FTP 的服務先看到檔名,再用該檔名去 Google 上尋找 ardownload.adobe.com 的官方連結下載。