安全通告: nd6 (SA-08:10.nd6)
主題: IPv6 Neighbor Discovery Protocol routing vulnerability
分類: core
模組: sys_netinet6
發布時間: 2008-10-01
影響版本: 所有FreeBSD版本
修正版本: RELENG_7, 7.1-PRERELEASE
RELENG_7_0, 7.0-RELEASE-p5
RELENG_6, 6.4-PRERELEASE
RELENG_6_3, 6.3-RELEASE-p5
I. 相關背景資料
IPv6 節點使用 Neighbor Discovery 協定來定義資料連結層的其他節點位址,取得路由器和維持資訊的可抵達性. Neighbor Discovery protocol 使用Neighbor Solicitation (ICMPv6 type 135) 來查詢目標節點的資料連結層的位址
II. 問題描述
IPv6 router 可能允許 "on-link" 的IPv6節點來創造或更新router的neighbor暫存及轉送資訊.一個惡意的IPv6節點共享一個普通的路由器但在不同的實體區段節點可能用來假造Neighbor Discovery 訊息, 並且允許此節點更新router訊息.
III. 影響
攻擊者在不同的物理網路可以連結到相同的IPv6路由器上讓IPv6 traffice 重新導向,可能導致拒絕服務或是存取私有網路.
IV. 替代方案
防火牆封包過濾可以用來過濾流入的Neighbor Solicitation訊息,但是若沒有設定好的話,可能影響正常的IPv6操作.
反向路徑轉送檢查可以用來作為閘道,例如說防火牆或是router,從特定介面過濾,未被信任的位址以丟棄Neighbor Solicitation 訊息.
IPv6路由器管理者請參考 RFC 3756 以取得更多的 Neighbor Discovery安全相關資訊.
V. 解決方案
補充說明:
此解決方式可能造成從 non-neighbor 傳送的 Neighbor Solicitation 訊息被忽略.
可以透過sysctl設定
net.inet6.icmp6.nd6_onlink_ns_rfc4861 為非0的數值.
以下擇一:
1) 更新系統至6-STABLE, 或 7-STABLE, 或至安全通告發布後最新的 RELENG_7_0, 或 RELENG_6_3.
2) 修補現有系統:
以下patch 僅在 FreeBSD 6.3 和 7.0 系統被測試:
a) 下載patch檔案.
[FreeBSD 6.3]
# fetch http://security.FreeBSD.org/patches/SA-08:10/nd6-6.patch
[FreeBSD 7.0]
# fetch http://security.FreeBSD.org/patches/SA-08:10/nd6-7.patch
b) 更新patch檔案
# cd /usr/src
# patch < /path/to/patch
c) 重新編譯kernel 並且重新開機.
安全通告: nd6 (SA-08:10.nd6)
迴響 |
0 引用