字體:小 中 大 | |
|
|
2009/11/04 11:34:25瀏覽2360|回應0|推薦0 | |
Application Attacks
Password Attack 雖然現今所有的電腦系統都是採用無法逆推的 one-way encryption function 來為使用者的密碼加密,但無法逆推也只是增加破解的難度而已,並不能阻擋駭客以窮舉法、線索法與交際套密法來入侵系統。 Brute Force Guessing 在沒有任何線索的情況下,駭客可以採用「暴力窮舉法」,把 user id 與 password 的所有可能之排列組合全部列舉出來,並以邊列舉邊簽入某電腦系統的方式,嘗試去入侵該電腦系統,此即所謂的 brute force guessing。由於現今的個人電腦之運算速度已經非常快速,再加上電腦叢集 (clustering) 的技術已臻成熟,因此以暴力窮舉法去破解電腦系統的 user id 與 password 的所需時間,已從以往的數百年縮短為數個月,故企業組織對此威脅不可掉以輕心,而其可行的反制方法為:如果某個時段內的簽入失敗次數高過某個定數,就將簽入程序凍結並通知相關的管理人員。 Dictionary 在握有線索的情況之下,駭客可以採用有規則有系統的列舉方式,去猜測某個電腦系統的 user id 與 password。這個線索可以是電腦系統的 password file (裡面有 user id 與加密過的密碼),公司員工的身家資料 (裡面有英文名字、生日、電話號碼等等),或是駭客自己所草擬出來的 user id 以及 password 之列表。實際上,網路上的確流傳著幾份由駭客群所整理出來的 user id 與 password 一覽表。 Social Engineering 駭客跑到聊天室或社群網站上聊天交朋友,藉著話題趁機詢問有關私人資訊的問題,以期套出足夠的個人資訊,進而嘗試入侵該名當事人的電腦或銀行帳戶,此即所謂的 social engineering。台灣地區的詐騙電話,有部分就是採用 social engineering 的手法;例如,「你是 XXX 嗎?我是小慧呀,你怎麼都不找我了呀? blah blah blah」。 Denial of Service denial of service 的攻擊手法,就是想辦法在短時間內造出數量龐大的 packet,令它們以排山倒海之勢湧向某個特定的主機,使該主機因為一時無法負荷而導致反應異常地遲鈍、或掉入無窮迴圈、抑或當機,其結果在 client 端看來,就是該主機對它所提出的 service request 毫無反應,這樣的現象就是所謂的 "Denial of Service"。 SYN Flood TCP/IP 在建立 connection 時所使用的 protocol,是採取 three-way handshaking 的方式,亦即 source host 會先送出一個 SYN flag enabled packet 給 destination host,destination host 收到該 SYN flag enabled packet 之後,會回覆一個 SYN/ACK enabled packet 給 source host,最後 source host 會回覆一個 ACK flag enabled packet 給 destination host,告知它整個 connectoin request 的程序已經完成。如果 destination host 遲遲等不到 source host 送來的 ACK flag enabled packet,則當等待的時間超過某一個 threshold,destination host 就會將該 connection request 丟棄。由於 destination host 等待 ACK flag enabled packet 的 threshold 不短,因此給了駭客可乘之機,他/她們可以透過一個特殊的軟體,該軟體可發送數量龐大的 SYN flag enabled packet 給某個特定的主機,接著該主機送出相對數量的 SYN/ACK enbaled packet 給該軟體所在的 source host,但該 source host 故意不送出最後相對應的 ACK enabled packet,反而繼續送出數量龐大的 SYN enabled packet,進而在 destination host 端產生更多的 pending connection request;由於 pending connectoin request 會佔用 destination host 的系統資源,所以 destination host 最後會因資源耗盡而當機,此即所謂的 "SYN flood Attack" (請參考圖 4.3-1)。 Distributed Denial of Service denial of service 是單一主機攻擊另外一台單一主機,而 distributed denial of service 則是多台主機攻擊另外一台單一主機。 Smurf 由於 Internet Control Message Protocol 無法驗證 source host ip 的合法性,因此駭客可藉由偽造的 source host ip 來對 target host 進行攻擊。例如,ICMP 中的 ping packet,它是用來確認「某部主機是否還在線」的 packet,其 protocol 如下: Source Host: "Are you still alive ?" Destination Host: "Yes, I'm alive." 根據 ICMP ping protocol 的漏洞,駭客可偽造兩個 ping packet,把它們的 source host ip 設定成 target host ip,而 destination host ip 則分別被設定成 sub-network A 與 sub-network B 中的所有 host (broadcast address),此舉將使得 sub-network A 之中與 sub-network B 之中的所有 host 都會回覆一個 "Yes, I'm alive." 的 packet 給 target host,如果回覆的數量夠多,target host 就有可能被排山倒海而來的 "Yes, I'm alive" 之 packet 所淹沒,此即所謂的 "Smurf Attack" (請參考圖 4.3-2)。 Fragmentation 此攻擊法是利用 TCP/IP protocol 未能詳盡地處理例外情況 (exception) 的弱點,想辦法造出一個某個 protocol 無法處理的 exception,進而癱瘓該台主機。就 client 端而言,fragmentation attack 亦是一種 denial of service attack,因為癱瘓的主機當然無法回應 client 端所提出的 service request。 Teardrop 就 TCP/IP 而言,如果某個 message 超過 max packet size,則它會先被切成若干個較小的 packet,再分別傳送到 destination host,待全部到齊之後,destination host 會將這些 packet 重組成 message。 teardrop 就是利用重組過程中、例外情況 (exception) 沒有被善加處理的弱點,故意地去竄改重組的位址 (offset),將這些 packet 改成具有相互重疊的不正常情況,當 destionation host 在重組過程中發現矛盾時,就會因缺乏 exception handling 的機制而導致當機 (請參考圖 4.3-3)。 |
|
( 創作|其他 ) |