Firefox 成為第一個預設啟用 HTTP/2 的主流瀏覽器

Firefox 36 的 Release Notes 內宣佈預設啟用 HTTP/2

Support for the full HTTP/2 protocol. HTTP/2 enables a faster, more scalable, and more responsive web.

另外 Firefox 36 也拔除 RC4

No longer accept insecure RC4 ciphers whenever possible

接下來應該是 Google Chrome 預設啟用,以及 nginx 的 server implementation...

CloudFlare 宣佈停用 RC4,並且支援 ChaCha20+Poly1305

CloudFlare 同時宣佈了停用 RC4 與支援 ChaCha20+Poly1305 的計畫:「End of the road for RC4」、「Do the ChaCha: better mobile performance with cryptography」。

2014 年年初的時候,CloudFlare 先把 RC4 從 TLS 1.1+ 的連線拿掉,而 2014 年五月時,再把 RC4 搬到 cipherlist 裡優先權最低的,成功的讓 99.9991% 的 request 改用 AES3DES (大約五個 9 ):

而九個月後的現在,CloudFlare 上 RC4 使用的比率則是降到了 0.000002%,反過來說也就是 99.999998% 的等級 (七個 9),也讓 CloudFlare 決定直接停用掉 RC4。

另外一個重大的新進展則是 ChaCha20+Poly1305,兩個都是 Daniel J. Bernstein 的作品。其中 ChaCha20 是 stream cipher,Poly1305 是 MAC。

由於 RC4 已經不夠安全,在行動平台上要夠安全必須使用 AES,但 AES 在 ARM 上面還沒有普及:在 Nexus 6 用的 ARMv7 不支援,是透過 Qualcomm Snapdragon 805 的加掛模組做的,而在低階手機支援度就更不用說了。

Google 大力推動 ChaCha20+Poly1305 的目的,是為了在行動平台上找到一個與 RC4 可以匹敵的速度,而且有著可以超越 AES-GCM 安全性的 cipher+MAC。

在 CloudFlare 採用 ChaCha20+Poly1305 前,Google 是唯一一個在 HTTPS 上大幅採用的單位,而瀏覽器的部份也只有 Google Chrome 有支援。雖然 Firefox 一直有喊著要支援,但這是個雞生蛋蛋生雞的問題,可以看到進度不怎麼快 (Bug 917571 - Support ChaCha20+Poly1305 cipher suites)。

CloudFlare 支援之後,使用 ChaCha20+Poly1305 的 pool 瞬間大了不少。可以看到一上線的使用率不算低,瞬間就有 10% 了:

希望可以推動 Firefox 快一點支援... (這是養大 pool 的下一步)

Mozilla 的 Shumway 登陸 Firefox Nightly Channel

MozillaShumway 專案是用 JavaScript 實作的 Flash Player,算是把 Flash Plugin 淘汰掉的方案:

Shumway is an HTML5 technology experiment that explores building a faithful and efficient renderer for the SWF file format without native code assistance.

由於是跑在 JavaScript 內,安全性受到 SpiderMonkey 的 Sandbox 保護,相較於 Adobe 常常出 security update 讓人有點頭痛...

最近 Shumway 的大進展是在 Firefox Nightly Channel 啟用了部份網站,可以測試 Amazon.com 上的影片:「Firefox Nightly now plays Amazon.com Flash videos using Shumway」。

不知道有沒有機會 porting 到 Google Chrome 上面...

記錄 Firefox/Chrome 在 TLS 的 Session Key 供 Wireshark 使用

以往要看 TLS traffic,需要用 mitmproxy 之類的軟體擋在中間,這需要在 client 端安裝對應的 CA root certificate。

而剛剛在「Decrypting TLS Browser Traffic With Wireshark – The Easy Way!」這篇文章裡面提到了如何讓 FirefoxChrome 記錄下 TLS 的 Session Key,然後倒給 Wireshark 使用。(文章裡有提到需要 dev 版本,不確定是因為新版支援的關係,還是這個功能限制在 dev 版才能用)

方法是在執行時設定 SSLKEYLOGFILE 這個環境變數,指定寫到某個檔案裡。不論是在 Windows & MacOSX & Linux 都一樣。

之後就可以把 Session Key 丟給 Wireshark 處理了,就像是這樣:(原文的範例)

Firefox 版的 µBlock

翻資料才知道一月中的時候 µBlock 就支援 Firefox 了:「µBlock - An efficient blocker for Chromium, Firefox, and Safari. Fast and lean.」。

可以看到不遺餘力的酸 Adblock Plus,裝了 ABP 記憶體使用量反而變大,而且變慢很多:

目前只提供 xpi 檔下載安裝,暫時沒有在 addons.mozilla.org 上出現。

利用 WebRTC 取得瀏覽器端的 IP address

TorrentFreak 上看到的:「Huge Security Flaw Leaks VPN Users' Real IP-Addresses」。

可以在「https://diafygi.github.io/webrtc-ips/」這邊測試,就算你在 NAT 以及 VPN 後面也可以取得真實的 Public IP 資訊。

Google Chrome 的使用者可以裝「WebRTC Block」阻擋 WebRTC,而 Firefox 則可以透過 about:config 的設定關閉 media.peerconnection.enabled 這個值:

目前還不太會用到 WebRTC,先擋起來之後再說...

Firefox 十週年

Mozilla 的 blog 上提到了 Firefox 十週年:「Celebrating 10 Years of Firefox」。

2002 年,Mozilla 推出了 Firebird,後來因為商標名稱的衝突,在 2004 年 11 月 9 日改名叫 Firefox,並推出 Firefox 1.0:「Mozilla Foundation releases the highly anticipated Mozilla Firefox 1.0 web browser」。

Firebird/Firefox 的出現改變了整個 web,讓人有所選擇,並且推動了 web 的發展。如果當年沒有 Firebird/Firefox,HTML5 這些新技術不知道要晚幾年才會出現。

Firefox 最新的版本增加了 Forget 功能,可以「遺忘」這五分鐘的資料,或是兩小時、24 小時:

這功能頗有趣的 XD

Firefox 擋 Canvas Fingerprint 的套件

在「How to block Canvas Fingerprinting in Firefox」這篇終於看到擋 Canvas Fingerprint 的延伸套件了:「CanvasBlocker」。

關於 Canvas Fingerprint,可以參考之前「用 Canvas Fingerprint 取代部份 Cookie」這篇文章。

截圖看起來有點陽春 (設定的方式很 geek),不過算是個開始,之後應該會愈改愈好:

Firefox 33,總算支援 H.264 了...

前幾天推出的 Firefox 33 把 Cisco 弄出來的 OpenH264 給包進去了,使用者不需要再透過 flash 就可以觀看 H.264 的影片:「Firefox — Notes (33.0) — Mozilla」。

Imgur 的計畫 (「Imgur 的 GIFV (GIF 轉 MP4)」這篇提到的東西) 看起來跟這個有關...

不過算一算日期,這個版本一定有 SSL 3.0 的問題 (POODLE),使用者還是得自己設定 TLS 的最小版本號碼,這點就比較可惜了...

介紹 Tails:Privacy for anyone anywhere

來介紹 Tails 這個以隱私為重點而設計出來的環境。

Tails 是一個獨立的作業環境,以 Debian 打造,並且使用 Tor 保護隱私,另外透過調整過的 Firefox (在 Debian 裡叫做 Iceweasel) 確保連線的安全。

設計上,整個系統利用 iptables 保護,只允許 Tor 的流量連出去,而其他的程式都是透過環境變數與 proxy 設定連外,所以用 curl (透過環境變數設定 proxy) 可以通,但用 nc 直接連卻不會通:

要注意的是,由於這是使用 Tor 作為隱私保護,所以非 HTTPS 的連線都應該被視為會被竊聽或是加料的環境,請避免使用 Tails 連上 HTTP 網站。

Tails 可以在網站上可以下載 ISO image 安裝,下載完後請務必確認 SHA256 是否正確 (網站上有 SHA256 的值,加上 HTTPS 的網址,直接看網站上的這個 SHA256 值應該還算安全)。

拿到 ISO image 後可以選擇燒成光碟後開機執行,這是官方比較推薦的方法。如果是使用虛擬機執行時,需要確認母虛擬機的主體 (Host) 是安全的。

這邊以 VirtualBox 為例子,選擇 Debian 32bits 然後直接把 ISO image 掛上去:

使用虛擬機時,記憶體開個 1GB 應該是夠用 (我是開 2GB,因為沒有掛硬碟當 crypto swap,記憶體大理論上會順一點),看個人環境而自己選擇。開機後會出現:

放著開進去或是選 Live 進去都可以,接下來會出現登入畫面:

第一次玩可以直接用預設值選 Login 就好。登入進去後可以看到這個畫面:

然後過一陣子後右上角會出現黃色的洋蔥 icon,表示已經連上 Tor:

再等一陣子後右上角的洋蔥就會變成綠色,表示已經順利連上:

瀏覽器開起來預設會連到 Tails 的官方網站:

接下來就可以開始做事了:(這是不良示範,你不應該在匿名 channel 裡面查詢與自己有關的資訊)

到這邊應該有個獨立的環境可以玩了...