行動平台上的 Tor browser

在「The problem behind mobile TOR browsers' ip disclosure」測了四個行動平台的 Tor 瀏覽器,其中三個是 Android 上的,一個是 iOS 的。

四個瀏覽器測試的結果中,只有 iOS 上的 Onion Browser (要 USD$0.99) 可以在修改設定後達到最低限度「隱藏 real ip」的標準:

作者的建議是不要在行動平台上有太多期望,隱藏 real ip 只是其中一個環節...

架設 Tor 的 Hidden Service

會想要寫這篇是因為前陣子警察施暴影片YouTube 上一直被下架。

Tor 最常用到的是「隱藏使用者」的功能:使用者從 Internet 連到 Tor network 的進入節點 (entry node) 後,透過全世界的 Tor 節點加密傳輸,最後在出口節點 (exit node) 再連回 Internet 上的服務,藉此隱匿行蹤。

另外一個比較少被提到的用途是「架站」,也就是 Hidden Service。

在傳統的 Internet 架構上,知道 IP address 就容易發現機器所在地,要抄台或是在 ISP 端直接 ban IP address 也就相對容易。而 Hidden Service 就是想把服務藏到 Tor network 裡,讓外部不知道是哪一台伺服器,達成無法審查內容的目標。

官方的文件是「Configuring Hidden Services for Tor」這份。而這邊以 Ubuntu 12.04 的環境為例。

首先是先架設 web server,可以是 apache 或是 nginx,這不是本篇文章的重點 :p

然後在 /etc/tor/torrc 裡面加上:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

表示 hidden service 的相關資料會放在 /var/lib/tor/hidden_service/ 下,並且提供 port 80 的服務 (轉到本機 127.0.0.1 的 port 80)。

接下來重跑 tor:

service tor restart

然後看 hostname 是什麼:

cat /var/lib/tor/hidden_service/hostname

會看到一個 *.onion 格式的 hostname,像我架設的機器就會看到:

btyz5lgqirxipopo.onion

*.onion 的網址必須透過 Tor 的機制連,對一般人會比較麻煩。所以這邊要教的是透過 proxy 提供服務:

這樣就變得有很多用途...

NSA 與 GCHQ 對抗 Tor 的方式

衛報網站上公開了 NSA (美方) 以及 GCHQ (英方) 如何對抗 Tor 的方式,包含了內部的投影片:「'Tor Stinks' presentation – read the full document」。

投影片上可以看到,居然還有 workshop 可以參加...

下面列出這份投影片的內容,要注意這是 2012 年的資訊了。

事實的介紹

先說明了不可能辨識出所有 Tor 使用者,只能透過人工找出少數的使用者。

接下來說明了目前的概況。目前只能掌握少數的 Tor 節點,其中 entry node 與 exit node 會是辨識出 Tor 使用者的重點,如果能夠增加這些節點的數量,會對於辨識有很大的幫助。

要如何分析這些資訊

透過 cookie 的交叉比對,有機會將 Tor 使用者與真實世界的流量連接起來,像是透過 DoubleclickID 這個值。

接下來是想辦法建立資料庫,將 IP 與時間點的對應建立起來。利用這些資訊才有辦法知道這個 IP 的情況。

技術分析

接下來可以看到各種技術分析。包括對 Hidden Service 的攻擊 (2012 年當時沒有進度),另外試著用 Timing Attack 攻擊 (2012 年當時也沒有進度,不過有在研究了)。

另外在 AWS 上建立節點也是 2012 年當時就進行的項目。

攻擊 Tor

各種攻擊手段,包含了如果有 ISP 可以配合攔截封包時的作法。以及攻擊不屬於自己的節點的方式。再來就是有沒有辦法癱瘓 Tor 節點...

總結

情報單位其實花了非常多力氣研究 Tor,但沒有很好的成果。Tor 算是直接再技術上 (數學上) 抵抗的相當頑強。這部內部文件流出後可以預期會有不少「應用」(只要是英美政府不喜歡的「應用」) 會往上發展。

多增加 Tor 的節點看起來會是目前最直接的抵抗方式,而且這個抵抗方式對於一般人相對容易,達到了擴散容易的效果。

1024bits 的 RSA 與 DH...

看到「Majority of Tor crypto keys could be broken by NSA, researcher says」,說明 NSA 曾經跟 IBM 訂作特殊晶片:

"Everyone seems to agree that if anything, the NSA can break 1024 RSA/DH keys," Graham wrote in a blog post published Friday. "Assuming no 'breakthroughs,' the NSA can spend $1 billion on custom chips that can break such a key in a few hours. We know the NSA builds custom chips, they've got fairly public deals with IBM foundries to build chips."

而目前大多數的 Tor 節點都是用 2.3.x 的版本 (使用 1024bits DHE),官方網站目前也是提供 2.3.x 下載,只有少數使用 2.4.x (使用 ECDHE),不過一時間找不到 ECDHE 用多長的 EC key,所以也不清楚抵抗能力到底到麼程度...

日本警察廳希望 ISP 阻擋 Tor...

昨天看到日本警察廳希望 ISP 阻擋 Tor 的新聞:「Japanese police ask ISPs to start blocking Tor」、「Japanese police target users of Tor anonymous network」。

原始的報導是「警察庁有識者会議:サイト管理者が通信遮断を 匿名悪用で」,英文版是「NPA to urge ISP industry to help site administrators block users of hijacking software」。

是日本... 這有點讓人出乎意料 XDDD