送信元IPアドレスを偽装して別の機器になりすます攻撃。
IPスプーフィングとは、送信元IPアドレス(=ネットワーク上の機器の住所)を偽装して、別の機器になりすます攻撃のことです。「スプーフィング(spoofing)」は英語で「なりすまし・だます」という意味です。
身近な例で考えると、差出人を別人の名前にして手紙を送ることに似ています。封筒の「差出人」欄を友人の名前と住所に書き換えれば、受け取った相手は「友人から届いた」と信じ込み、返事もその友人宛てに送ってしまいます。IPスプーフィングはこれをネットワーク上で行うものです。
上の図解では、攻撃者が自分のパケットの「送信元」を正規の機器のIPアドレスに書き換えて標的サーバへ送り、サーバを「正規の機器から来た」と勘違いさせる様子を示しています。
インターネット上のデータはパケット(=小さく分割された荷物のようなデータの単位)に分けて運ばれます。各パケットの先頭には、宛先IPアドレスと送信元IPアドレスが書かれた「あて名ラベル」が付いています。
偽装が成立するポイントは次のとおりです。
・送信元IPは自己申告:送信元IPアドレスは、送る側が自分で書き込む情報です。受け取る側はそれが本物かどうかをすぐには確認できません。
・書き換えればなりすませる:攻撃者が送信元欄を別の機器のIPに書き換えると、受け取ったサーバはそのIPの機器から来たと信じてしまうのです。
・応答は偽装先へ届く:サーバが返事を送ると、その応答は偽装された送信元IP(=なりすまされた正規機器)へ向かいます。
この性質を悪用すると、攻撃にはいくつかの狙いがあります。
・出所を隠す:本当の攻撃者のIPが記録されないため、追跡を逃れられます。
・アクセス制限の突破:「特定のIPからの通信だけ許可」という設定を、そのIPになりすまして突破します。
・応答先のすり替え:大量の応答を偽装した相手に集中させ、DDoS攻撃(=大量の通信で相手をパンクさせる攻撃)に悪用します。
対策の基本は、「ありえない送信元IPのパケットを通さない」ことと、「IPアドレスだけを信用しない」ことです。
ネットワーク側の主な対策は次のとおりです。
・パケットフィルタリング:組織のネットワークの出入口(ルータやファイアウォール)で、内部から外へ出るパケットの送信元IPが正しいか、外から入るパケットの送信元が内部のIPを偽っていないかを確認し、おかしいものを破棄します。
・イングレス/エグレスフィルタリング:入ってくる通信(イングレス)と出ていく通信(エグレス)の両方で、ありえない送信元IPを止める仕組みです。
通信レベルの対策としては、暗号化と本人確認を組み合わせることが有効です。
・IPアドレスだけで認証しない:送信元IPは偽装できるので、それだけを本人確認の根拠にせず、暗号や証明書による確認を併用します。
・暗号化通信を使う:通信を暗号化して相手を確かめる仕組みを使えば、なりすました相手が割り込んでも正しくやり取りできません。
なぜ偽装できるのかというと、パケット(=インターネット上で運ばれるデータの小さな塊)の「送信元IPアドレス」は、送る側が自分で値を書き込む仕組みになっているからです。受け取る側のサーバには、その値が本当に正しいかどうかを自動的に確かめる手段がありません。
手紙に例えると、封筒の「差出人」欄は投函する人間が自由に書けます。受取人は封筒を開けた時点では、その差出人が本物かどうか分かりません。IPスプーフィングはこれをネットワーク上でやっていることです。
この仕組みはインターネットの設計(TCP/IP=ネットワーク通信の基本ルール)の歴史的な特性です。もともとのインターネットは「信頼できる相手同士」でつながる前提で設計されており、送信元をいちいち確認する仕組みが組み込まれませんでした。現在もその構造は残っているため、対策はネットワークの出入口での監視や暗号化を加えることで行います。
IPスプーフィングの代表的な悪用例が反射型攻撃(リフレクション攻撃)です。攻撃者は送信元IPを被害者のIPに偽装したうえで、インターネット上の別のサーバ(中継サーバ)に問い合わせを送ります。
なぜこれが問題になるのか、順を追うと次のようになります。
・①攻撃者:「送信元=被害者のIP(偽)」というパケットを中継サーバへ送る
・②中継サーバ:問い合わせへの応答を、書かれた送信元IP(=被害者)へ返す
・③被害者:頼んでもいない大量の応答データが一方的に届き、通信が詰まる
この手口の巧妙な点は2つあります。1つ目は増幅:小さな問い合わせに対して大きな応答が返る仕組みを使うと、少ない送信量で大量のデータを被害者に浴びせられます。2つ目は隠蔽:中継サーバに残るログは「被害者のIPから来た」と記録されるため、攻撃者の本当の場所が分かりにくくなります。このため、IPスプーフィングへの対策なしには反射型攻撃は止められません。