IPスプーフィングとは
IPスプーフィング(
IPアドレススプーフィング)は、ネットワーク通信において、送信元の
IPアドレスを偽装する攻撃手法です。これは、不正アクセスや
DoS攻撃(サービス妨害攻撃)などのサイバー攻撃に利用されます。攻撃者は、自身の
IPアドレスを隠蔽し、標的システムへの侵入や攻撃を成功させる可能性を高めます。また、ログに残る
IPアドレスも偽装されるため、追跡を逃れることも可能になります。
概要
ネットワークにおけるアクセス制限は、特定の
IPアドレスからの接続のみを許可する形で実施されることがあります。しかし、IPスプーフィングを利用すると、この制限を迂回することが可能です。攻撃者は、許可された
IPアドレスを装い、システムに侵入できます。このため、不正アクセスにおいてIPスプーフィングは非常に有効な手段となります。
DoS攻撃では、大量のトラフィックを送信してシステムをダウンさせることを目的とします。攻撃元が少数の
IPアドレスの場合、それらの
IPアドレスからのアクセスを遮断すれば攻撃を防げますが、IPスプーフィングを使用すると、攻撃元を特定するのが困難になります。これにより、攻撃者は追跡を逃れ、攻撃を継続できます。
原理
IP
パケットのヘッダ部分には、送信元
IPアドレスが含まれています。本来、この送信元
IPアドレスには
パケット送信者自身の
IPアドレスが設定されるべきです。これにより、受信者は送信元を正しく認識し、サービス提供の可否を判断できます。また、攻撃や不正な
IPアドレスからのアクセスを拒否することも可能です。
しかし、IPプロトコルの仕様上、ヘッダの送信元
IPアドレスは容易に偽装可能です。例えば、「LAN内は安全」という考えのもと、LAN内の
IPアドレスからのアクセスは緩く制限されている場合があります。この場合、WANからのアクセスであっても、LAN内の
IPアドレスを偽装して
パケットを送信すれば、システムは許可されたアクセスと誤認し、サービスを提供してしまう可能性があります。
ただし、不正侵入の場合、単に
パケットを送信するだけでは不十分です。TCP通信の場合は、3ウェイ・ハンドシェイクによるコネクション確立が必要であり、TCPシーケンス番号予測攻撃などを併用して、TCP
セッションの確立を偽装する必要があります。一方、UDPはコネクションレス型の通信なので、このような複雑な手順は不要です。
DoS攻撃の場合、
セッション確立は不要なため、送信元を偽装した
パケットを送信するだけで、攻撃元を特定したり、アクセス制限をかけたりすることが困難になります。
対策
シーケンス番号予測攻撃対策
不正侵入にはTCP
セッションの確立が必須です。そのため、TCPシーケンス番号予測攻撃への対策が有効です。現在では、RFC1948で示された対策がほとんどのシステムで導入されています。古いシステムの場合は、IPSecなどの暗号化プロトコルを使用することで対策できます。
ルータでのフィルタリング
IPスプーフィングを疑われる
パケットを破棄する対策も重要です。ルータのフィルタリングルールでは、
IPアドレスだけでなく、通過するネットワークアダプタを考慮したルールを使用します。例えば、WANからLANへの
パケットで、送信元と送信先が両方ともLAN内の
IPアドレスを示している場合、IPスプーフィングの可能性が高いと判断できます。また、ループバックデバイス以外でlocalhostの送信元
IPアドレスを持つ
パケットも同様に疑わしいです。
IPv6では、localhostの送信先
IPアドレスを持つ
パケットはルータで配送してはならないとRFC3513で規定されています。
これらの対策は、不正侵入だけでなく
DoS攻撃にも有効です。特にプロバイダの出口部分のルータでこれらの対策が行われると、
DoS攻撃の防御に非常に効果的です。
DoS攻撃時の攻撃元
IPアドレス特定のために、
パケットに経由ルータの情報を断片化して記録するマーキング手法や、各ルータが通過
パケットのハッシュ値を蓄積し、
DoS攻撃時に近隣ルータに通知してルートを特定するuRPF(RFC3704)などが検討されていますが、
パケット配送時のオーバーヘッドなどの問題があり、実用化は難しい状況です。
BGPでアドバタイズされていない
IPアドレス帯は、攻撃者が悪用しやすい領域となります。したがって、
IPアドレス管理者は、これらの
IPアドレスに対して適切な設定を行う必要があります。
関連項目
TCPシーケンス番号予測攻撃:不正侵入時に、IPスプーフィングと組み合わせて利用される攻撃手法。
ソース・ルーティング:ルータを跨いでの
セッションハイジャックや偽の
セッション確立に使われることがある。
ルーター:ネットワークの境界でIPスプーフィング対策を行う上で重要。
NAT:
ネットワークアドレス変換。
uRPF:逆方向パス転送。
脚注
参考文献
久米原栄 『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