2008-01-07

基礎概念..有了防火牆就真的安全嗎?

目前很多有一些網路基礎概念的END USER或是中小企業的MIS會很單純的認為有了防火牆+NAT檔在前面,把外到內的Port全檔掉,外面就無法入侵到內部網路的電腦了,但是事實真是如此嗎?

其實現在很多入侵的第一步已經不是單純利用網路掃瞄找漏洞了,而是轉而使用社交工程(Social Engineering)進行第一步的滲透,最常見的就是先透過E-Mail/IM(MSN/Yahoo Messenger...etc)/惡意Web...等由內到外所發起的連線方式,誘使使用者被感染/植入惡意程式(木馬),像是發送內含木馬的E-Mail或是MSN傳檔,或是誘使USER訪問具有惡意程式植入的網站。

而這些惡意程式並不是像過去那樣單純打開一個對外的連接Port供外部連結進入
因為若只是單純開洞的方式在防火牆+NAT的環境內是無法生效的,因為內網的機器沒有實體IP對應,在防火牆上也不會無故做Mapping的動作,所以內網的機器就算中標了被開個洞,從Internet也是連不到的,就像是在一個被城牆保護的據點內,就算把城內房子的門鎖全撬壞,外人還是過不了外頭那道城牆一樣


現在常見的方式是由被感染的電腦主動向遠端發起連線建立反向通道連結,
簡單說就像是一個城外有城牆保護著,硬打是打不進來的,但是如果裡面有人從城內向外扔一根繩索出去,外頭的人就可以順著這根繩索爬進來了。

就曾經實際發現到的兩個案例來說:

第一隻木馬是利用UDP 53 (DNS Service)進行反向通道的資料傳輸,運作方式為受感染的電腦會持續針對某個特定的DNS進行Query,而這個被查詢的HOST是DDNS(Dynamic DNS Server),也就是目的地是沒有固定IP的,當遠端主控的HOST電腦開機手動或是自動執行特定程式update過DNS record後,這個DNS Query才會返回正確的IP值,接下來受感染電腦就會以UDP 53連結先前Query到的IP以此連線建立反向通道,後續的入侵便無視防火牆的存在了。

另一隻木馬則是走HTTP所使用的TCP 80,
受感染的電腦會先去某個特定網址(通常也是個被入侵的魁儡)查詢當前主控HOST的IP/PORT,

而這個特定網址也是會由遠端主控的HOST電腦手動或是自動執行特定程式update最新的IP/PORT紀錄,接下來受感染的電腦便以得到的IP/PORT作為目的進行連接,一但連接成功也就建立起了反向通道了。

而這兩隻木馬所發起的對外主動連線一個是UDP 53,另一個是TCP 80,一般來說在防火牆上面內到外的Policy中都是不會特別去檔的。
同時由於網管或是內網的USER通常會認為前面有防火牆擋著而放鬆警惕,有的電腦甚至可說是完全不設防的狀態,網芳/內部資料庫的密碼沒設或是AD權限亂開等...造成的結果就是對方只要能穿牆滲透,接下來就等於是如入無人之境一般。


所以在防火牆後面真的安全嗎?
針對上面兩個案例,除非把內向外的Policy設的很變態,加上強制通過Transparent proxy,否則是難以抵擋有心人士的滲透入侵的。
同時內網的機器也切忌為了使用方便而疏於防範。

PS:第二支木馬在經過追查分析後發現原始程式是對岸放出來的
有興趣的人可以從線上說明了解到他的基本運作原理
http://www.xdoors.net/help/x-door-help1.htm
http://www.xdoors.net/help/x-door-help2.htm

2 則留言:

GarageWoman=車庫女人 提到...

好文.

事實上本公司就看過第二支木馬這樣的型態,目的就視建立反向通到. 不知道針對這樣的是情除了工程師好好比對以外, 小歪大大有沒有後續文的解決之道呢?

小歪 提到...

這個要"解決"就是個很大的題目了,目前似乎也沒有個簡單而完全的解法,很多時候是道高一尺魔高一丈.
改天心情好時再來寫一些基本的判斷與處理方式好了.