1. 程式人生 > >協議欺騙攻擊技術常見種類簡析及防範

協議欺騙攻擊技術常見種類簡析及防範

轉換 改變 實現 定向 要求 內網 容易 通過 加密

IP欺騙攻擊

IP欺騙技術就是通過偽造某臺主機的IP地址騙取特權從而進行攻擊的技術。許多應用程序認為如果數據包能夠使其自身沿著路由到達目的地,而且應答包也可以回到源地,那麽源IP地址一定是有效的,而這正是使源IP地址欺騙攻擊成為可能的前提。

假 設同一網段內有兩臺主機A、B,另一網段內有主機X。B 授予A某些特權。X 為獲得與A相同的特權,所做欺騙攻擊如下:首先,X冒充A,向主機 B發送一個帶有隨機序列號的SYN包。主機B響應,回送一個應答包給A,該應答號等於原序 列號加1。然而,此時主機A已被主機X利用拒絕服務攻擊 “淹沒”了,導致主機A服務失效。結果,主機A將B發來的包丟棄。為了完成三次握手,X還需要向B回送一個應答包,其應答號等於B向A發送數據 包的序列號加1。此時主機X 並不能檢測到主機B的數據包(因為不在同一網段),只有利用TCP順序號估算法來預測應答包的順序號並將其發送給目標機B。如果猜測正確,B則認為收到的 ACK是來自內部主機A。此時,X即獲得了主機A在主機B上所享有的特權,並開始對這些服務實施攻擊。

要防止源IP地址欺騙行為,可以采取以下措施來盡可能地保護系統免受這類攻擊:

· 拋棄基於地址的信任策略: 阻止這類攻擊的一種非常容易的辦法就是放棄以地址為基礎的驗證。不允許r類遠程調用命令的使用;刪除.rhosts 文件;清空/etc/hosts.equiv 文件。這將迫使所有用戶使用其它遠程通信手段,如telnet、ssh、skey等等。
·使用加密方法: 在包發送到 網絡上之前,我們可以對它進行加密。雖然加密過程要求適當改變目前的網絡環境,但它將保證數據的完整性和真實性。
·進行包過濾:可以配置路由器使其能夠拒絕網絡外部與本網內具有相同IP地址的連接請求。而且,當包的IP地址不在本網內時,路由器不應該把本網主機的包發送出去。

有一點要註意,路由器雖然可以封鎖試圖到達內部網絡的特定類型的包。但它們也是通過分析測試源地址來實現操作的。因此,它們僅能對聲稱是來自於內部網絡的外來包進行過濾,若你的網絡存在外部可信任主機,那麽路由器將無法防止別人冒充這些主機進行IP欺騙。


ARP欺騙攻擊

在 局域網中,通信前必須通過ARP協議來完成IP地址轉換為第二層物理地址(即MAC地址)。ARP協議對網絡安全具有重要的意義,但是當初ARP方式的設 計沒有考慮到過多的安全問題,給ARP留下很多的隱患,ARP欺騙就是其中一個例子。而ARP欺騙攻擊就是利用該協議漏洞,通過偽造IP地址和MAC地址 實現ARP欺騙的攻擊技術。

  我們假設有三臺主機A,B,C位於同一個交換式局域網中,監聽者處於主機A,而主機B,C正在通信。現在A希望能嗅探到B->C的數據, 於是A就可以偽裝成C對B做ARP欺騙——向B發送偽造的ARP應答包,應答包中IP地址為C的IP地址而MAC地址為A的MAC地址。 這個應答包會刷新B的ARP緩存,讓B認為A就是C,說詳細點,就是讓B認為C的IP地址映射到的MAC地址為主機A的MAC地址。 這樣,B想要發送給C的數據實際上卻發送給了A,就達到了嗅探的目的。我們在嗅探到數據後,還必須將此數據轉發給C, 這樣就可以保證B,C的通信不被中斷。
以上就是基於ARP欺騙的嗅探基本原理,在這種嗅探方法中,嗅探者A實際上是插入到了B->C中, B的數據先發送給了A,然後再由A轉發給C,其數據傳輸關系如下所示:

B----->A----->C

B<----A<------C
 於是A就成功於截獲到了它B發給C的數據。上面這就是一個簡單的ARP欺騙的例子。

 ARP欺騙攻擊有兩種可能,一種是對路由器ARP表的欺騙;另一種是對內網電腦ARP表的欺騙,當然也可能兩種攻擊同時進行。但不管怎麽樣,欺騙發送後,電腦和路由器之間發送的數據可能就被送到錯誤的MAC地址上。

 防範ARP欺騙攻擊可以采取如下措施:

·在客戶端使用arp命令綁定網關的真實MAC地址命令
·在交換機上做端口與MAC地址的靜態綁定。
·在路由器上做IP地址與MAC地址的靜態綁定
·使用“ARP SERVER”按一定的時間間隔廣播網段內所有主機的正確IP-MAC映射表。

DNS欺騙攻擊

DNS 欺騙即域名信息欺騙是最常見的DNS安全問題。當一個DNS服務器掉入陷阱,使用了來自一個惡意DNS服務器的錯誤信息,那麽該DNS服務器就被欺騙了。 DNS欺騙會使那些易受攻擊的DNS服務器產生許多安全問題,例如:將用戶引導到錯誤的互聯網站點,或者發送一個電子郵件到一個未經授權的郵件服務器。網 絡攻擊者通常通過以下幾種方法進行DNS欺騙。

(1)緩存感染
黑客會熟練的使用DNS請求,將數據放入一個沒有設防的DNS服務器的緩存當中。這些緩存信息會在客戶進行DNS訪問時返回給客戶,從而將客戶引導到入侵者所設置的運行木馬的Web服務器或郵件服務器上,然後黑客從這些服務器上獲取用戶信息。

(2)DNS信息劫持
入侵者通過監聽客戶端和DNS服務器的對話,通過猜測服務器響應給客戶端的DNS查詢ID。每個DNS報文包括一個相關聯的16位ID號,DNS服務器根據這個ID號獲取請求源位置。黑客在DNS服務器之前將虛假的響應交給用戶,從而欺騙客戶端去訪問惡意的網站。

(3)DNS重定向
攻擊者能夠將DNS名稱查詢重定向到惡意DNS服務器。這樣攻擊者可以獲得DNS服務器的寫權限。

防範DNS欺騙攻擊可采取如下措施:

·直接用IP訪問重要的服務,這樣至少可以避開DNS欺騙攻擊。但這需要你記住要訪問的IP地址。
·加密所有對外的數據流,對服務器來說就是盡量使用SSH之類的有加密支持的協議,對一般用戶應該用PGP之類的軟件加密所有發到網絡上的數據。這也並不是怎麽容易的事情。

源路由欺騙攻擊

通 過指定路由,以假冒身份與其他主機進行合法通信或發送假報文,使受攻擊主機出現錯誤動作,這就是源路由攻擊。在通常情況下,信息包從起點到終點走過的路徑 是由位於此兩點間的路由器決定的,數據包本身只知道去往何處,但不知道該如何去。源路由可使信息包的發送者將此數據包要經過的路徑寫在數據包裏,使數據包 循著一個對方不可預料的路徑到達目的主機。下面仍以上述源IP欺騙中的例子給出這種攻擊的形式:

主 機A享有主機B的某些特權,主機X想冒充主機A從主機B(假設IP為aaa.bbb.ccc.ddd)獲得某些服務。首先,攻擊者修改距離X最近的路由 器,使得到達此路由器且包含目的地址aaa.bbb.ccc.ddd的數據包以主機X所在的網絡為目的地;然後,攻擊者X利用IP欺騙向主機B發送源路由 (指定最近的路由器)數據包。當B回送數據包時,就傳送到被更改過的路由器。這就使一個入侵者可以假冒一個主機的名義通過一個特殊的路徑來獲得某些被保護 數據。

為了防範源路由欺騙攻擊,一般采用下面兩種措施:

·對付這種攻擊最好的辦法是配置好路由器,使它拋棄那些由外部網進來的卻聲稱是內部主機的報文。

協議欺騙攻擊技術常見種類簡析及防範