觀點

無恃其不來,恃吾有以待之”、“知己知彼,百戰不殆” 駭客入侵與防護

2004 / 11 / 15
陳東柏
無恃其不來,恃吾有以待之”、“知己知彼,百戰不殆” 駭客入侵與防護

在戰國初年的時候,楚惠王聘用公輸般,也就是後來人們稱為魯班。他替楚王設計了雲梯,向宋國進攻。墨子聽到這消息,就急急忙忙地親自跑到楚國去見公輸般,勸他不要幫助楚惠王攻打宋國。但楚惠王和公輸般認為用雲梯攻城很有把握而不予答應。

墨子解下了身上的皮帶,在地下圍著當做城牆,再拿幾塊小木板當做攻城的工具,叫公輸般來演習一下,比一比本領。公輸般採用一種方法攻城,墨子就用一種方法守城。公輸般用了九套攻法,都被墨子一一破解。

楚惠王看到墨子守城的本領,知道要打勝宋國沒有希望,最後只好決定不進攻宋國了。就這樣,一場戰爭就被墨子阻止了。

在談如何防護駭客入侵之前,就讓我們先瞭解一下駭客入侵的手法吧!

我們定義的駭客攻擊是一種針對資訊系統的防禦和保護,所採取的有系統之智慧型攻擊行為,值得注意的是這種智慧型行為是經過深思熟慮的,廣泛而言,攻擊可以分為積極/破壞型(active)與消極/非破壞型(passive),兩者主要的差異在於前者會破壞系統或是系統內的資料。

而後者只是竊聽系統或竊取系統內資料的內容,並不會更動系統及其內容。每年都有新的駭客入侵,駭客手法目前大約可分為二十種,常見的方法有如圖所示下列這些。
特洛伊木馬及開後門 (Trojans and Backdoors)
有如木馬屠城記的特洛伊木馬,駭客會將特殊設計所謂的木馬程式,經由特殊設計的網頁、電子郵件或是藏在某個檔案之中發送,當您點閱或執行這些網頁、郵件或檔案時,木馬程式就已經隱藏在您的電腦當中,悄悄的建立一個不為人知的聯絡管道,駭客可以經由這個特殊隱藏管道,為所欲為,他可以偷得您電腦中的檔案,或是傳送檔案到您的電腦當中,甚至是破壞您的電腦。另一方面,這個木馬程式也可以記錄您的行為傳回駭客手中,如此,駭客就可以知道您銀行當中的密碼或是其他系統的帳號。

而與病毒不同的是,病毒一般是獨立的程式,並不需要與伺服器連結,而木馬程式為client/server架構,存在被害者電腦當中的是client程式,而與駭客的伺服器連結。

以往這類木馬程式較有名的有Tini,NetCat,SubSeven等等,以Tini舉例,它的client端是一個用組合語言寫成的迷你程式,只有3kb,所使用TCP port 7777與伺服器連結,且使用的網路頻寬也很小,讓您幾乎察覺不出還有何異狀。

資訊攔截(Session Hijacking)
利用特殊的程式或是硬體設備,駭客可以攔截網路的封包,或是偷偷錄製您鍵盤的動作,來竊取您的密碼,甚至您的一舉一動,都在駭客的監視之中。而與欺騙 (Spoofing)不同的是,資訊攔截是在使用者同時在線上的情況下,攔截封包並加以拆解,而欺騙是駭客製造他是受害者的假象,矇騙主機,才取得他所需要的資訊或加以破壞。

以往此類程式較有名的有Juggernaut、TTY Watch、 IP Watcher等,以Juggernaut 為例,基本上是在Linux作業平台上執行的一個網路嗅探者(sniffer),利用擷取TCP 封包,可以監視區域網路中的所有網路交通,也可以利用關鍵字來取得所要的資料。

網站入侵(Hacking Web Servers)
『微軟週二發佈了10個軟體安全通告,警告Windows用戶與企業管理人員總共22個影響到微軟產品的新漏洞。』沒錯,目前全世界的軟體系統都不敢保證是百分之百沒有漏洞的,而常見的web網站伺服器種類有微軟的IIS(Internet Information Server)、Apache Web Server與Sun ONE Web Server,這些伺服器往往存在臭蟲(bugs)或漏洞,使得駭客可以利用這些漏洞入侵,竊取資訊,串改網頁甚至破壞系統。然而比較遺憾的是,這類駭客的防護,必須由作業系統來補丁。

而另一方面,駭客也可能利用特殊設計的網頁,來危害使用者的系統,竊取個人隱私。

網頁密碼破解 (Web Based Password Cracking Techniques)
現在這類的駭客手法繁多,有用上述所用的木馬程式或是資訊攔截來取得您的密碼,或是利用特殊的程式組合密碼的可能性來猜您所使用的密碼,也有駭客是製作一模一樣的網站,讓您誤認,然後記錄您所輸入的ID與密碼,進一步竊取您的資料甚至金錢。

資料庫入侵(SQL Injection)
資料庫入侵(SQL Injection)是一種針對在防火牆內的資料庫攻擊的方法,一種常見的手法是,駭客嘗試利用修改web-based 程式的參數,以修改SQL 指令,進一步從資料庫當中取得資料。 而SQLDict 是一個破解 SQL伺服器的字典工具,它會先用英文字典裡的英文單字來嘗試破解使用者的密碼,讓駭客取得SQL伺服器的使用權限,如果不行,就使用所有鍵盤字所有的組合來嘗試破解,當然這樣所花的時間可能是很龐大的。

除了上述的常見手法,其他還有足跡(footprinting)、病毒(Virus)、嗅探者(Sniffers)等十餘種駭客入侵的手法,都是在做駭客防護時所必須瞭解和認識的。而就如同一個好的守城者,必須瞭解城池的建築結構,兵力分佈等等,而做一個頂級的駭客防護者,同樣地要瞭解所使用的作業平台(如Windows﹨Unix﹨Linux)、網路、相關的硬體及軟體,以及資安方面的知識。而且必須不斷的吸取新知,以應付不斷推陳出新的駭客手法。這條路是漫長的,國內企業必須重視資安的問題,培育資安防護的人才。