送信元ノード

不正なIPv6アドレスの検出
および削除の信頼性の向上
CS学科 後藤研究室
1G04R144-0 田代 賢治
1
研究の背景
• IPv6とは、アドレス空間が不足しつつあるIPv4
に替わって作られたプロトコルである
– IPv4のアドレスは32bitのため、約42億通りのアドレ
スしか設定できない
– IPv6のアドレスは128bitのため、枯渇の心配がない
• IPv6には、IPアドレスを自動的に生成する機能
や、1つのインターフェースに複数のIPアドレス
を設定できる機能がある
2
研究の目的①
• IPv6を用いた通信では、ホストに間違ったIP
アドレスが設定されることがある (補足資料
参考)
• 間違ったIPv6アドレスを自動的に削除する方
法が提案されているが、この方法にはいくつ
かの問題点が指摘されている
3
既存の方法
• ホストが持つIPv6アドレスを送信元アド
レスとして、任意のホストにメッセージを
送り、応答が返ってこなければ送信元ア
ドレスが間違っている」とみなして削除
悪意のあるノードによる偽の応答、
ノード間の経路の障害などで正常
な判断ができなくなる恐れがある
4
間違ったアドレスを削除する手順(既存の方法)
送信先アドレス:
2001:200:0:8002:203:47ff:fea5:3085/64
通信要求
インターネット
通信応答 (送信先のIPアドレスが
間違っているため、応答が届かない)
アドレス(正しい):
2001:200:125:1000:206:5bff:fe49:24cc/64
こちらを送信元
アドレス(削除対象):
アドレスとする
2001:200:0:1000:206:5bff:fe49:24cc/64
応答が返らないため、間違ったアドレスとみなし、 削除する 5
研究の目的②
• 今回の研究では、既存の方法において指摘
されている問題点の一部 (スライド4に記述し
たもの) を解決し、通信における信頼性をより
高める方法を提案する
主に、正しい送信元アドレスを用いても応答が返
らない場合及び間違った送信元アドレスを用いて
も不正に応答が返される場合に対する備え
6
提案した方法①
• 複数のノードにメッセージを送る
– 少数のノードとの通信経路等に異常が生じ
ても正しい送信元アドレスが間違いと誤認
されない
– 逆に、少数のノードから不正な応答が返さ
れても間違った送信元アドレスが正しいと
誤認されない
7
間違ったアドレスを削除する手順(提案した方法)
不正なアドレスを削除する手順
送信元ノード (IPアドレスの
チェックの対象とするノード)
通信応答
インターネット
通信要求
送信先ノード1
送信先ノード2
送信先ノード3
3つのノードのうち、2つ以上から
応答が返ってくれば、アドレスは正しいとみなす
8
提案した方法②
• 多数のノードへの通信に異常が生じた場合
及び多数のノードから不正な応答を返された
場合、送信元アドレスが正しいか間違いか判
断できない
送信元ノード
メッセージ
送信先ノード
応答
多数のノードへの通信に異常が生じた場合、
送信元アドレスが正しいか間違いか判断できない
9
提案した方法③
• 正しいと送信元アドレスを用いてメッセージを
送信し、返ってきた応答が少ない場合
• わざと間違った送信元アドレスを用いてメッ
セージを送信し、返ってきた応答が多い場合
これらの場合、ホストのIPv6アドレスが正しい
か間違いかを判断できないため、作業を中断
10
実証実験
• 送信先ノードを3つとし、以下の通りの状況を
作成
– ①通信、応答に異常なし
– ②通信経路1つに異常あり
– ③通信経路すべてに異常あり
– ④1つのノードが不正な応答を返す
– ⑤すべてのノードが不正な応答を返す
• ①において、動作時間を既存の方法と比較
11
実験結果①
• 状況①、②、④において、間違ったアドレスの
み削除されることを確認
• 状況③、⑤において、IPアドレスが正しいか
間違いか判断できないとみなし、作業を中断
することを確認
• 提案した方法では、間違ったアドレスの削除
に既存の方法の約3倍の時間がかかることを
確認
12
実験結果②
間違ったIPアドレスの消去にかかった時間)
間違ったIPv6
アドレスの数
実行時間
実行時間
(既存の方法)
(提案した方法)
0
0.003s
3.063s
1
1.018s
6.111s
2
2.028s
9.162s
3
3.034s
12.216s
4
4.043s
15.265s
5
5.056s
18.306s
13
まとめ
• 本研究にて提案した方法により、以下のことを確認
– 既存の方法と同じように不正なIPアドレスを削除できる
– さらに、通信経路や送信先ノードに異常がある場合もアド
レスが正しいか間違いかを誤認されない
– 間違ったIPアドレスを削除するのに、送信先ノードの数に
ほぼ比例した時間がかかる
結論として、複数のノードにメッセージを送って応答
を確認することにより、所要時間は長くなるが信頼
性が高まることを確認
14
今後の課題
• 既存の方法に対して時間がかかる
– メッセージのデータ量やタイムアウト時間及び送
信先ホストの数を状況に応じて調整することが望
ましい
• ネットワークプレフィックスの変更への対応
– ノードが別のネットワークに移動するとIPアドレス
が変更されるため、プログラムを再度実行し、正
しいIPアドレスの情報を更新することが必要
15
おわり
ご清聴ありがとうございました。
16
補足資料 (2/2補足)
17
IPv6のアドレス
• 128bitのアドレス空間を持ち、通常16進
数の32桁で表される
– 上位64bitが、ルータから通知されるネットワーク
プレフィックスであり、ノードが所属するネットワー
クを識別する時に用いられる
– 下位64bitが、各ノードのインターフェースを識別
するときに用いられるインターフェースIDである
18
間違ったIPv6アドレスとは?
• 以下の理由により、誤ったネットワークプレ
フィックスがホストに設定されることがある
– ルータの設定ミスによる間違ったプレフィックスの
通知
– 悪意のあるユーザによる不正なプレフィックスの
送信
– ユーザーによる誤ったIPアドレスの設定
• プレフィックスが間違っているとホストに設定
されるIPv6アドレスも間違ったものになる
19
通信に使用するIPv6アドレスの選択
• 例えば、以下のような場合を想定する
• 送信元ノードのアドレス
– 2001:200:fee5:1000:206:5bff:fe49:24cc/64
– 2001:200:0:8000:206:5bff:fe49:24cc/64
• 送信先アドレス:2001:200:0:1002:203:47ff:fea5:3085/64
送信元のノードに複数のアドレスがある場合、送信先アドレ
スに対し、頭から等しいビット列が長い方のアドレスを送信
元アドレスとして選択する
(この場合、上のアドレスは上位 32bit が等しく、下のアドレ
スは上位 48bit が等しいため、下のアドレスが選択される)
20