自由門與無界網絡是突破防毒牆限制的軟體,即所謂的「破網」。官方網站上當然不會「說」太多,所以找了一下網路上討論的「問題」,希望能夠比對找出實際底層的原理。
後來發現,他們的原理很簡單,並沒有特殊的技術。
用此軟體的使用者,最常見的用途是:
- 突破中國國家防火牆,訪問國外被限制的網站;
- 突破公司防火牆,訪問被公司限制的網站。
破網原理
兩個原理都一樣,但為了方便說明,我還是用一個簡單的表達式。
自用電腦 → 防火牆 → 無界代理器(國外Proxy) → 暱名代理器(國外的暱名Proxy) → 網站。
其中,暱名代理器是我的猜測,因為這種服務會造成很多的流量,為了節省成本,分散流量的策略自然就轉到暱名代理身上。而表達式中的「防火牆」就是阻止我們外連的設備,因此重點在於如何突破。
突破防火牆的原理
常用的突破原理是用 Tunneling 的技術。
估計是在自用電腦上,用 SSH (或類似)協議與無界代理器連線。這是第一次要突破防火牆,最可能的是走 Port 80, 443, 8080 等,這些端口最不可能被防火牆阻止。而這些協議是經過加密處理的。
連線成功後,在自用電腦上開端口 (Port),自由門是開 8567,無界網絡是開 9666。這個端口直接對映無界代理器,使得自用電腦使用這個端口,就等於使用無界代理器。所以才會在設定成功後,無論是自由門還是無界網絡,都要手動或自動設定代理器為這些端口。
設定成功後,以後瀏覽器就會以本機上的端口對外連線。這是第二次要突破防火牆,只要防火牆沒有把本機上的對外連線端口封掉(自由門是 8567,無界網絡是 9666),就可以正常進出了。
具體網路封包可以在這裡看到:
2006-05-30 22:52:22.343 等待 5 秒后重试
2006-05-30 22:52:27.343 正在连接 127.0.0.1:8567
2006-05-30 22:52:27.359 已连接
2006-05-30 22:52:27.359 GET /do/Qa_k/1udw9Lj8P/bZD0vM/6ADNr/sJrWr/20060528_ethereal-setup-0.99.0.rar HTTP/1.1
2006-05-30 22:52:27.359 Host: 127.0.0.1:8567
2006-05-30 22:52:27.359 Accept: */*
2006-05-30 22:52:27.359 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 9icon_cool.gif
2006-05-30 22:52:27.359 Range: bytes=4812516-13053145
2006-05-30 22:52:27.359 Connection: Keep-Alive
2006-05-30 22:52:27.390 socket函数出错
2006-05-30 22:52:27.390 等待 5 秒后重试
用類似這些突破防火牆的軟體,真的安全嗎?
答案是:根本不安全。
以原理圖說明:
自用電腦 → 防火牆 → 無界代理器(國外Proxy) → 暱名代理器(國外的暱名Proxy) → 網站。
先前有提到,用加密的協議突破防火牆。但僅限自用電腦到無界代理器這一段,之後的就不保證安全了。從無界代理器到網站的部分,全都是未加密的封包處理。
這裡必須要了解的是:Proxy 可以紀錄任何你瀏覽的資訊,如連線網址、帳號、密碼、信用卡資料等。再加上,後面這一段並沒有以加密的方式處理。
所以用這些軟體根本不能保障你的安全。
為什麼 ZoneAlarm 會報「Ultrascape MFC Application is trying to access the web」?
這是因為無界網絡使用加密的封包技術,嘗試突破防火牆設定。通常防火牆都不會針對封包解密,因為這會耗很多運算資源,因此常見的作法是,回報”有特殊加密封包嘗試經過防火牆”的訊息。
為什麼防毒軟體會將這類軟體視為木馬(trojan)?
根據趨勢科技的說法是,這類軟體會破壞公司的安全政策,例如不允許瀏覽非法網站或藏有惡意程式的網站,所以才會認定為木馬。
On this day..
- ShadowServer 上的 0day 統計 - 2009
- 富X金控網站被植入Rootkit - 2006