2008年1月24日 星期四

雙面危機(Double-Edged Crisis)

最近接觸了一些資安上的議題,發現網路上有很多人在討論,不過...絕大多數的人都是嘗試心態者居多,所以就去四處找尋相關工具來使用,以達到其目的。

老實說,透過網路能夠找到的工具有很多,有動輒幾百美金的專業軟體、隨處可見的合法資源,甚至有地下版本的相關軟體(很多來自對岸)。

基於人性的誘因,這些地下版本的軟體在某些團體或是通路中廣為流傳,無論使用者是為了研究好玩測試而使用那些軟體,你都得有個心裡準備,這把雙面刃,除了幫你切開對方的弱點之外,也有可能讓自己成赤裸裸地呈現在大家面前,如果是為了資安的角度來使用它,那是極為諷刺的一件事...

這一類軟體最早是被應用在破解軟體註冊機...等相關程式,這一類的網站你只要Google上搜尋「hacker、crack、破解...等」字眼,包準你有看不完的資訊,只是這些工具往往都見不得光,更別提能有什麼組織來審查,所以相關工具被加料的消息時有所聞。(連P2P流傳的影片都能加料...)

回過頭來,仔細想想為什麼這一類的消息會被挖掘出來呢?就是因為有人身受其害,才會傳出類似的訊息(當初好奇心別這麼強,應該不會有事!),排除這一類的人之外,現在,透過社交網路服務(Social Networking Service)也讓不少人陷入相同的危機中(人性的弱點),例:某某優惠卷、某某打折訊息...等,如果在這一類廣告文宣的連結上加入木馬程式(如果電腦中有類似入侵手法中的MS06-001弱點,就可得逞),就可以吸引為數不少的人點閱而受害。

如果真要使用相關軟體時,應該怎麼做比較安全呢?這一點有很多衝突之處,實際要做起來,會有很多繁瑣的部份(花費的時間,讓你開始懷疑是否值得這麼做...),常見的方法有:

1.以防毒軟體掃描:

如果遇到加密的壓縮檔、包裝過的安裝檔...等,其實都無法掃描出本體是否真的有加過料,甚至加料的內容本身並無具體特徵,只是潛藏在系統中,等待機會爆發。

所以遇到這類軟體或檔案,就得先解開壓縮檔後再來進行掃描,對於已經包裝成安裝檔的程式(*.exe)可能就只能擲杯來保佑自己別中獎。

2.以MD5檢查碼來驗證:

某些較具有公信力或善意的社群,在釋出相關軟體時,同是會附上一組MD5的檢查碼(MD5SUM)來做為驗證手段,就連我們每年報稅所使用的報稅軟體也有相關的機制。

傳聞(因為沒親眼看過,只用傳聞二字),有手法可以破解MD5(透過暴力法),聽起來要經過很久的時間才能做到,但是已經有人(對岸的文章)透過其它的演算法來猜測密碼,能夠在合理的時間內把MD5加密法給破解。

PS:MD5加密法的破解
並不代表MD5SUM能被假造,原則上MD5SUM只要有修改過檔案,就會產生不同數值。

3.把網路切斷(透過防火牆將網路完全封鎖):

執行該程式,查看是否要求對外連線,再去分析它連線的主機位置是否合理?(也有可能是跳板主機或僵屍電腦)。

但是,這個方法一樣有盲點存在,例如:該軟體原本就是用來偵測網路狀態(一定得開通網路),甚至該軟體是經過80 port與外界連絡(除非你連80 port都封鎖...絕大多數的公司都不可能吧!?)。

4.利用虛擬機器(VMWARE...等):

將程式運行的環境鎖定在虛擬機器內,就算真的把系統改得千瘡百孔,大不了就是砍掉重來,也不會影響原本系統的運行,只要能夠使用他達成目的即可(研究、實驗、測試...)。

這方法能減少對主要系統的危害,但是虛擬技術需要硬體支援才能達成,否則原本就只有512MB記憶體的電腦,已經是捉襟見肘,還得騰出資源給虛擬機器使用,很有可能會弄巧成拙。(看XP死給你看...)

以上的四種方式,都是用來保護自己的,如果你非得使用或測試那些軟體時,多少可以避免被它加的料或禮物,反嗜其身。

那些「便利軟體」雖然有這些風險存在,對於熱衷使用的人來說,它的誘因遠超過可能帶來的麻煩,對我來說,雖然我也曾想過測試相關的應用技巧,不過...光是想到可能惹來的後患,就打消了這個想法,畢竟沒安全性,一切的資訊就變得毫無價值可言。

PS:雖然如此,如果真的要研究的話,仔細尋找還是可以找到不少合法軟體,能夠達到相同效果,畢竟軟體合法性使用技巧應用範圍,沒有絕對的關係。(台灣也有類似的討論網站,不知什麼因素而關站,例:CRETIX於2006-12-06關站)