針對設備轉發表的攻擊

爲了合理有限的轉發數據,網絡設備上一般都建立一些寄存器表項,比如MAC地址表,ARP表,路由表,快速轉發表,以及一些基於更多報文頭字段的表格,比如多層交換表,流項目表等。這些表結構都存儲在設備本地的內存中,或者芯片的片上內存中,數量有限。如果一個攻擊者通過發送合適的數據報,促使設備建立大量的此類表格,就會使設備的存儲結構消耗盡,從而不能正常的轉發數據或崩潰。

下面針對幾種常見的表項,介紹其攻擊原理:
針對mac地址表的攻擊
MAC地址表一般存在於以太網交換機上,以太網通過分析接收到的數據幀的目的MAC地址,來查本地的MAC地址表,然後作出合適的轉發決定。這些MAC地址表一般是通過學習獲取的,交換機在接收到一個數據幀後,有一個學習的過程,該過程是這樣的:

  1. 提取數據幀的源MAC地址和接收到該數據幀的端口號;
  2. 查MAC地址表,看該MAC地址是否存在,以及對應的端口是否符合;
  3. 如果該MAC地址在本地MAC地址表中不存在,則創建一個MAC地址表項;
  4. 如果存在,但對應的出端口跟接收到該數據幀的端口不符,則更新該表;
  5. 如果存在,且端口符合,則進行下一步處理。

分析這個過程可以看出,如果一個攻擊者向一臺交換機發送大量源MAC地址不同的數據幀,則該交換機就可能把自己本地的MAC地址表學滿。一旦MAC地址表溢出,則交換機就不能繼續學習正確的MAC表項,結果是可能產生大量的網絡冗餘數據,甚至可能使交換機崩潰。而構造一些源MAC地址不同的數據幀,是非常容易的事情。

針對ARP表的攻擊
ARP表是IP地址和MAC地址的映射關係表,任何實現了IP協議棧的設備,一般情況下都通過該表維護IP地址和MAC地址的對應關係,這是爲了避免ARP解析而造成的廣播數據報文對網絡造成衝擊。ARP表的建立一般情況下是通過二個途徑:

  • 主動解析。
    如果一臺計算機想與另外一臺不知道MAC地址的計算機通信,則該計算機主動發ARP請求,通過ARP協議建立(前提是這兩臺計算機位於同一個IP子網上);
  • 被動請求。
    如果一臺計算機接收到了一臺計算機的ARP請求,則首先在本地建立請求計算機的IP地址和MAC地址的對應表。因此,如果一個攻擊者通過變換不同的IP地址和MAC地址,向同一臺設備,比如三層交換機發送大量的ARP請求,則被攻擊設備可能會因爲ARP緩存溢出而崩潰。

針對ARP表項,還有一個可能的攻擊就是誤導計算機建立正確的ARP表。根據ARP協議,如果一臺計算機接收到了一個ARP請求報文,在滿足下列兩個條件的情況下,該計算機會用ARP請求報文中的源IP地址
和源MAC地址更新自己的ARP緩存:

  • 如果發起該ARP請求的IP地址在自己本地的ARP緩存中;
  • 請求的目標IP地址不是自己的。

可以舉一個例子說明這個過程,假設有三臺計算機A,B,C,其中B已經正確建立了A和C計算機的ARP表項。假設A是攻擊者,此時,A發出一個ARP請求報文,該請求報文這樣構造:

  1. 源IP地址是C的IP地址,源MAC地址是A的MAC地址;
  2. 請求的目標IP地址是A的IP地址。

這樣計算機B在收到這個ARP請求報文後(ARP請求是廣播報文,網絡上所有設備都能收到),發現B的ARP表項已經在自己的緩存中,但MAC地址與收到的請求的源MAC地址不符,於是根據ARP協議,使用ARP請求的源MAC地址(即A的MAC地址)更新自己的ARP表。這樣B的ARP混存中就存在這樣的錯誤ARP表項:C的IP地址跟A的MAC地址對應。這樣的結果是,B發給C的數據都被計算機A接收到。

轉自:https://1024s.top/blog/detail

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章