図 ルーターによる送信元検証技術「uRPF」のしくみ
図 ルーターによる送信元検証技術「uRPF」のしくみ
[画像のクリックで拡大表示]

 uRPF(unicast reverse path forwarding)は,ルーターのルーティングのしくみを使ったパケット・フィルタ技術である。ワームやボットに感染したパソコンが出す不正パケットをインターネット上で遮断するのに利用できるとして期待されている。

 ルーターは,自身にパケットが入ってくると,パケットのあて先アドレスを取り出し,そのアドレスを経路表(ルーティング・テーブル)に照らし合わせてパケットの送出先を決める。uRPFは,この動作を応用する。

 uRPFでは,入ってきたパケットの「あて先アドレス」ではなく「送信元アドレス」を取り出す(図の1)。そして,この送信元アドレスが,経路表に経路情報として存在するかを調べる(同2)。経路情報が見つかればそのパケットを転送し,見つからなければ廃棄する(同3)。

 ルーターにネットワークをつなぐと,そのネットワークは必ず経路表に経路情報として登録される。そのため,経路情報として登録されていないアドレスからパケットが来ることはない。しかし,感染パソコンが出すパケットの多くは,送信元アドレスが詐称されている。そこで,経路表にないアドレスから来たパケットは,不正パケットと見なして廃棄するのである。

 送信元アドレスを調べてパケットを廃棄すること自体は,これまでのパケット・フィルタ技術でも設定できた。しかし,フィルタを使ってパケットの送信元をチェックするプロバイダはあまりなかった。理由は,フィルタを設定する作業の負荷が極めて大きいから。従来のフィルタ機能では,パケット通過のルールを管理者が固定的に設定する。そのため,インターネットにつながるユーザーが増えたり,移転や契約解除のたびにフィルタを追加・変更・削除する必要がある。ユーザーを収容するすべてのルーターでこうした作業を行うのは,大きな負荷がかかる。

 それに対してuRPFでは,uRPFの機能をオンにするコマンドを入力するだけでよい。ルーターが持つ最新のルーティング・テーブルをフィルタのルールに流用するので,管理者がフィルタ・ルールをいちいち設定しなくても,常に最新の状態でフィルタをかけられる。これがuRPFのメリットである。