IPスプーフィング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

IPスプーフィング(アイピースプーフィング)とは、IP通信において、送信者のIPアドレスを詐称して別のIPアドレスに「なりすまし」(英:spoofing)を行う攻撃手法を指す。より原義に近い形としてIPアドレススプーフィングと呼ぶこともある。

概要[編集]

IP通信において、不正アクセスを防止する観点からフィルタリングを行うケースは多く、「特定のIPアドレスからの接続のみ可能」といったアクセス制限が施されている場合がある。このようなアクセス制限が施されている状況下にあっても、送信元IPアドレスを詐称することができればアクセス制限を迂回できてしまうため、攻略対象システムへの不正アクセスを成功させる可能性が高まる。また、攻略対象システムに残されるログにも詐称されたIPアドレスが記録されるため、攻撃者が攻略対象システムの管理者による追跡を逃れられる可能性が高まる。このような観点から、不正侵入等を目的とした不正アクセスにおいてはIPスプーフィングが有用とされている。

DoS攻撃SYN floodSmurf attackping of deathping floodなど)では、攻撃対象のサービス提供を妨害することが主目的である。このような攻撃がごく少数のIPアドレスから行なわれている場合、それらのIPアドレスからのアクセス制限を施すことが攻撃への有効な対策となる。しかし、IPスプーフィングを用いて攻撃元を詐称すると、このような対策は無効となる。また、攻撃元を詐称することで本当の攻撃元の特定が困難となり、攻略対象システムの管理者からの追跡を逃れられる可能性が高まる。このような観点からDoS攻撃におけるIPスプーフィングは有用であり、現実にはほぼこの攻撃手法が併用されている。

原理[編集]

IP通信におけるパケットのヘッダ部分には、送信元IPアドレスが含まれている。通常、パケットのヘッダ部分の送信元IPアドレスには、パケット送信者自身のIPアドレスをセットする。これにより、パケットを受けた受信者は送信者IPアドレスを正しく把握することができ、そのIPアドレスに対するサービス提供の決定およびサービス提供開始を行うことができる。また、送信元IPアドレスが、サービス提供が許されていないIPアドレスやDoS攻撃を行なってくるIPアドレスであれば、アクセスを拒否することが可能となる。しかし、パケットのヘッダ部分の送信元IPアドレスが詐称されていると、これらの事情は大きく変わってくる。

インターネットに接続された環境では「WANは危険だがLAN内は比較的安全」という考えで、送信元IPアドレスがLAN内のIPアドレスであればさほど強くアクセス制限を施していないケースが見られる。このようなケースで、本来であればWANからのアクセスであるにも関わらず、パケットのヘッダ部分の送信元IPアドレスにLAN内のIPアドレスを指定したパケットを送り込むことに成功すれば、攻略対象は接続が許可されているLANからのアクセスであると誤解し、サービスを提供してしまう可能性がある。もっとも、不正侵入等を目的とした不正アクセスでは、単純にパケットを一つ送り込むだけでは不充分であるため、TCPシーケンス番号予測攻撃などを併用してTCPセッションの確立を装う必要がある。

DoS攻撃においてはセッション確立といった困難な事情はないため、単純に攻撃元を詐称したパケットを用いるだけで、アクセス元を特定することやアクセス制限の対象となるアクセス元を決定することは困難となる。このように、コストパフォーマンスの観点から、DoS攻撃にはIPスプーフィングがほぼ併用される。

対策[編集]

不正侵入等を目的とした不正アクセスにおいてはTCPセッションの確立がほぼ必須となるため、TCPシーケンス番号予測攻撃への対策を施すという手がある。昨今のシステムであればRFC1948[1]で示された対策はほぼ施されていると考えられる。古いシステムであれば、IPSec等の暗号化されたプロトコルを使用するという方法がある。このような事情から、最近の対策は不正侵入等を目的とした不正アクセスよりも、DoS攻撃に主眼が置かれている。

途中経路上での対策として、IPスプーフィングが疑われるパケットを破棄する対策が有効となる。例えば、WANとLANの境界線上にあるルータ上のフィルタリングルールに、「IPアドレスのみを用いたルール」を使用するのではなく、「通過するネットワークアダプタを考慮した上での、IPアドレスを併用したルール」を使用するといった対策である。例を挙げると、WANからLAN行きのパケットが送信元も送信先もLAN内のIPアドレスを示しているなら、IPスプーフィングが疑われる。また、ループバックデバイス以外のデバイスにlocalhostの送信元IPアドレスを持つパケットが到達すれば、そのケースもIPスプーフィングが非常に強く疑われる。後者についていえば、IPv6では、localhostの送信先IPアドレスを持つIPv6パケットをルータは配送してはならないと、RFC3513で明確に規定されている[2]。なお、この手法は不正侵入等を目的とした不正アクセスに有効な対策である上に、攻撃者が所属するプロバイダの出口部分のルータに施されている場合は、DoS攻撃に対しても有効な対策となり得る。

DoS攻撃発生時に攻撃者IPアドレスを特定する手法として、「IPパケットに経由ルータの情報を断片化して盛り込む(マーキング)手法」や「各経由ルータが通過パケットのハッシュ値を蓄えておき、DoS攻撃が発生した場合に近隣のルータに通知することで同一ハッシュ値の通過ルートを特定する手法(uRPF、RFC3704)」などが検討されている。但し、パケット配送時のオーバーヘッドなどの問題から現実的なものとはなっていない。

関連項目[編集]

脚注[編集]

[ヘルプ]
  1. ^ RFC1948 - シーケンス番号予測攻撃からの防御(原題はDefending Against Sequence Number Attacks)
  2. ^ RFC3513 - Internet Protocol Version 6 (IPv6) Addressing Architecture

参考文献[編集]

  • 久米原栄 『UNIX Network セキュリティ管理』 ソフトバンククリエイティブ、2002年ISBN 978-4-7973-1687-2 - 1.3.5「IP(アドレス)スプーフィング」

外部リンク[編集]

  • RFC1948 - Defending Against Sequence Number Attacks
  • RFC3704 - Ingress Filtering for Multihomed Networks