簡析IPv6重定向協議安全隱患
在IPv6協議中,重定向報文的主要作用是為局域網內的節點提供正確的路由選擇。主機在啟動時具有一定的路由信息,但不一定是最優的,通過IPv6重定向協議路由器檢測到IP數據報經非最優路由傳輸,就通知主機去往該目的地的最優路徑。
在IPv6網絡中,局域網一個節點是允許多個路由存在的,至于交給誰轉發則由優先級決定,但是對于發往不同目的數據包,第一跳路由的選擇將會影響數據包發送的效率。
IPv6重定向協議工作原理:
這種報文由路由器發給局域網內的節點。假設內部節點A要將數據包發送給外部節點X,當路由器B收到這個數據包并要轉發的時候,B發現自己和A是出于一個局域網的,但這個數據包并不是由A直接發過來的,而是由局域網內另一個路由C發過來的,那么B就會告訴A,如果要發送數據包給X,直接發給B更好。這也就是報文中target和destination的意義,在本例中,target就是B的IPv6地址,destination就是X的IPv6地址。而options里面可以包括B的Mac地址,或者包含B幫A轉發的原IP包,這個IP包,對于傳輸層的協議也許會有幫助。A在收到Redir報文后自然會改變原有的路由表,將發往X的數據包直接交給B轉發。
IPv6重定向協議安全隱患分析
IPv6重定向協議本身的主要功能是為了保證主機擁有動態的、小而優的路由表,以提高報文的轉發效率。但是由于IPv6重定向協議同樣缺乏源地址認證,對于局域網惡意節點來說,可以利用IPv6重定向報文實現數據報的非法重定向,從而實現多種攻擊措施。比如它首先偽裝路由器,然后再發送Redir報文告訴被攻擊者:發往某個外網節點的數據包,走自己這條路由更好,那么被攻擊節點就會將數據包交由惡意節點轉發,惡意節點就可以不轉發禁止其通信,或進行一些篡改。
惡意節點利用IPv6路由重定向報文實現數據報重定向的基本步驟:
(1) 惡意節點偽裝路由器
(2) 發送Redir報文
(3) 告訴被攻擊者:發往某個外網節點的數據報,走攻擊者指定的路由更好
(4) 被攻擊節點修改路由表,將數據報交由惡意節點轉發
(5) 惡意節點控制被攻擊者的數據報
(6) 實施其它攻擊措施,如,丟棄、篡改等