TOR與GFW的PK(1)——MEEK,讓Tor復活的英雄!
不過最近出的meek外掛程式和obfs4網橋又成功讓TOR復活了,除了這兩種,TOR團隊還開發了幾種流量混淆插 件:FlashProxy,FTE(Format-Transforming Encryption,格式轉換加密),FTE-IPv6,ScrambleSuit,還有幾種停止開發了。
obfs4我已經介紹過了[1],這次我具體說說MEEK,在以後的系列裡具體介紹一下其他外掛程式。
先 插一件事:我一直在強調當使用TOR+前置代理時,前置代理看到的是強加密的TOR流量,但有些人就想到了一個問題:從前置代理伺服器到出口節點,自然是 強加密的TOR流量(此時可以把前置代理伺服器理解為本機,入口節點只知道代理伺服器的IP地址),但從本機到代理伺服器的這段路呢?是不是只有翻牆工具 提供的加密處理,而對於代理伺服器而言能看到明文呢?
答案是:不是,從本機到代理伺服器的這段路也是強加密的TOR流量。
這裡要引入一個概念:」原生支持HTTPS「。我曾經多次提過不原生支持HTTPS的翻牆工具(如GoAgent)無法成為TOR的前置代理,為什麼呢?
所 謂」原生支持HTTPS「簡單來說就是當單獨使用某一翻牆工具時,你可以直接連接到被牆的HTTPS網站而不用對作業系統做任何改動。對,像 goagent那樣要導入自己的數字證書就是在對作業系統進行改動(關於這一點,我會在接下來分析各翻牆手段原理及安全性時進行詳細說明)。
或者說連接到HTTPS網站時,從本機到目標網站伺服器都是TLS強加密[2](我用流程圖說明一下這段過程)
對於原生支持HTTPS的翻牆軟體來說,在連接HTTPS網站時遠程伺服器只知道用戶連接了哪個網站以及真實IP(一重代理),而完全不知道傳輸內容(關於這一點,我以後會具體說明其中的原理,現在只要知道這個結論就行了)。
那 么TOR+前置代理時情況也是一樣的,TOR從設計上就保證了從本機到出口節點都是HTTPS強加密,中間不會有任何解密過程,自然遠程伺服器也不會知道 你的傳輸內容(前提是翻牆工具要支持原生HTTPS,所以不支持原生HTTPS的GAE類翻牆工具無法成為TOR的前置代理)。
明白了這些,就可以開始說MEEK了。MEEK的原理是將TOR流量偽裝成普通的雲計算流量從而騙過GFW,成功翻牆。
具 體來說就是這樣一個過程:本機上的TOR客戶端與雲計算平台伺服器進行通信(GAE,amazon,azure),再與MEEK SERVER進行通信,再先與目錄伺服器通信獲得中繼節點信息再連接到入口節點,搭建TOR環路(我在下面給出原理圖)。這一段路也是原生支持HTTPS 的(TOR自帶的流量混淆外掛程式都原生支持HTTPS),而且直到出口節點,你的數據都是被TLS強加密著的,如果目標網站支持HTTPS,還會一直強加密 到目標網站伺服器為止,除非進行中間人攻擊,否則沒人知道你幹了什麼。
MEEK高明的地方就在於GFW無法區分被混淆過的TOR流量和普通雲計算流量,但又不敢封殺雲計算IP,因為不少牆內公司都依賴這些雲計算服務,貿然封封鎖會造成嚴重的經濟損失。
【不過事實上已經封殺了GAE,但有解決方案:
2,在https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Go下 載go_appengine與python,然後修改app.yaml中的google id號(替換裡面的「meek-reflect」),然後再上傳(運行go_appengine/goapp deploy)。可以像goagent一樣上傳多個,反正每個ID就1G的流量。
3,最後修改torrc文件,寫上: UseBridges 1
Bridge meek 0.0.2.0:1 url=https://yourapphere.appspot.com/ front=www.google.com
ClientTransportPlugin meek exec ./meek-client --log meek-client.log申請GAE賬號是需要手機號的,不過可以繞過[4]
*或者可以直接修改host填上可用的google IP,meek-google就復活了。*】
其他兩種meek外掛程式(amazon和azura)分別依賴於amazon和微軟的雲平台,也是可以自行搭建後給自己用的,不過操作複雜不適合小白,有興趣的技術黨可以看這裡[5],裡面描述了搭建過程,可以自己試試。
下一篇我會講講ScrambleSuit,obfs4和ScrambleSuit的原理有相通之處,諸位就把下一篇當成對於這篇[6]的補充好了。
補充說明:後來Tor開發者又專門敘述了如何應對MEEK被屏蔽,請看https://plus.google.com/109790703964908675921/posts/26zCmDmjYXP
最後照例附上科普文鏈接集合:https://plus.google.com/u/0/109790703964908675921/about
參考資料:
1,TOR網橋,主動探測攻擊和燒錢的GFW
https://plus.google.com/109790703964908675921/posts/aLcyVfcH7mP
2,SSL/TLS的原理以及網際網路究竟是如何工作的(3) ————TLS的專場!
https://plus.google.com/109790703964908675921/posts/NwWoGQ9mcDY
3,https://allinfa.com/goagent-v322-gae.html
4,https://blog.sina.com.cn/s/blog_4c451e0e01018rdx.html
5,MEEK設計文檔https://trac.torproject.org/projects/tor/wiki/doc/meek#Distinguishability
6,TOR網橋,主動探測攻擊和燒錢的GFW
https://plus.google.com/109790703964908675921/posts/aLcyVfcH7mP
本文鏈接:TOR與GFW的PK(1)——MEEK,讓Tor復活的英雄!
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。
這裡是你留言評論的地方