| spoofing 攻擊 來源:Kapil Sharma |
一個 spoofing 攻擊型態就是假造來源的 IP 位址。也就是冒充別人的一種方法。
在大部份的 Unix (包括 Linux) 的作業系統上, 有許多應用/工具程式在確認使用
者時, 都倚靠來源 IP 位址作為輔助, 甚至一些人在為自己網域做安全管理的工作
時, 也是以主機 IP 位址來做權限控制。這裡要提出的是, 以使用者來源 IP 來做
辨認並不是一個可靠的方法。使用者的來源 IP 可能是假造的。
為了瞭解假造來源位址的過程, 我們將先解釋 TCP 和 IP 做確認個程序, 接著再
說明攻擊者如何假造矇騙過關。
當一個 TCP 的連線建立時( virtual circuit ), 每一個 TCP 封包都會貼上一個
序號號碼, 以做為標示使用。連線雙方的主機都利用這個序號來做封包傳遞的錯誤
檢查和報告。
Rik Farrow 先生(女士?)在他的一篇名為 "Sequence Number Attacks" 文章中提
到有關序號系統的說明如下:
序號是用來告知已經收到資料的確認回應。在 TCP 連線的一開始,
client 會送出一個貼有 TCP 起始序號的封包, 但是沒有確認( 當然,
這時也不可能有確認封包 )。如果這時對方有一個 server 程式在對
方主機上跑, 則 server 端會送回貼有他自己起始序號的 TCP 封包,
和一個確認值( client 端送來的起始序號加一 )。當 client 端收
到這個封包時, 他必須送回他自己的確認值( server 端的起始序號加
一 )
因此, 入侵者必須解決兩個問題:
1. 他必須假造一個來源位址
2. 他必須跟攻擊目標的序號確認無誤
第二點是較困難的步驟, 因為攻擊目標設定起始序號後, 入侵者必須
正確的回應才可保有這個連線狀態。當入侵者能猜到這個序號, 他就
可以和攻擊目標的序號系統同步, 建立一個有效的連線了。
可能會遭受假造 IP 攻擊的程式有下列幾項:
* RPC ( 採用 Remote Procedure Call 的程式 )
* X Window system
* R 系列的程式 ( rsh, rlogin, rexec, ... )
* 以 IP 位址做確認動作的所有程式
TCP 和 IP 的位址假造工具:
1. Mendax (Linux 平台): Mendax 是個容易上手的 TCP 序號預測及 rshd 位址
假造的工具。
2. spoofit.h : spoofit.h 是一個文件完備的 library, 可以讓你把 IP 假造
的功能加到其他市程式中。
3. ipspoof : ipspoof 是個包含了 TCP 及 IP 造假的工具。
4. hunt : hunt 是一個提供許多造假功能的網路竊聽軟體。
防止 IP 造假的攻擊
以下提供了幾種防堵 IP 造假攻擊的方法:
* 避免使用來源位址來做身份確認的動作。最好是整個作業系統堤供
以密碼學為基礎的確認方法。
* 在 Router 或防火牆上( 建議盡量在 router 這層就擋 )擋掉來自
internet 卻說他是以 intranet IP 位址為來源的網路封包。
* 如果必須允許 intranet 外界的可信任主機連線, 最好在 router
這層就啟動加密連線的功能。
結論:
假造來源的攻擊是危險而且難以偵測的。當這項攻擊方法越來越普及時, 要防止
這類攻擊的最佳方法就是採用如加密的身份確認來保護你的內部網路。
Kapil Sharma 是一個 Linuix/Internet 的電腦網路安全顧問。他已經在各種
Linux 系統上有兩年以上經驗, 你可在他的網址 http://www.linux4biz.net
上得到更多有關他的資訊。