アドレス偽装とは?手法・仕組み・検出・対策を徹底解説(IP/メール/ARP/DNS/BGP)

はじめに:アドレス偽装とは

アドレス偽装(アドレス・スプーフィング)は、ネットワークや通信において送信元または宛先を偽って通信する行為の総称です。攻撃者が自らの正体を隠蔽して攻撃を行ったり、他者になりすまして不正な利得を得たりするために用いられます。対象はIPアドレス、メールのFromヘッダ、ARPテーブル、DNSレコード、BGPの経路情報、さらには電話の発信者番号(Caller ID)やGPS信号など多岐にわたります。本コラムでは各種の偽装の技術的背景、攻撃手法、検知法、実務的な対策を詳しく解説します。

アドレス偽装の主な種類

  • IPアドレス偽装:パケットのIPヘッダに任意の送信元アドレスを設定する手法。DDoSの反射・増幅攻撃でよく使われます。
  • メールアドレス偽装:SMTPのFrom/Reply-ToやSMTPエンベロープを偽るフィッシングやスパム。
  • ARP偽装(ARPスプーフィング):同一LAN内でIPとMACの対応を偽り、通信を盗聴/中継/遮断する攻撃。
  • DNS偽装(DNSキャッシュポイズニングや偽の応答):名前解決を操作して偽サイトへ誘導。
  • BGPハイジャック:経路制御プロトコルで自分のネットワークが特定プレフィックスの正当な経路であると偽り、トラフィックを盗聴または攪乱。
  • 他(Caller ID、GPS、URLホモグラフなど):電話番号や位置情報、表示されるURLを偽装する技術。

技術的背景:なぜ偽装が可能か

多くのプロトコルは設計当初、暗号的な認証を前提にしていませんでした。IPはベストエフォートでパケット交換を行うため、送信元アドレスの検証が必須ではなく、ヘッダを書き換えれば任意の送信元に見せかけられます。ARPやBGPなど、近年まで相手の正当性を検証する仕組みが薄かったプロトコルでは、応答を信頼してしまうと容易に偽情報を受け入れてしまいます。

攻撃の実例と原理

以下は代表的な攻撃パターンです。

  • 反射・増幅型DDoS:攻撃者は送信元を被害者のIPに偽装して、大量の小さなリクエストを公開サーバ(DNS、NTP、Memcachedなど)に送る。公開サーバはその応答を被害者に返すため、帯域やリソースが圧迫される。UDPプロトコルはコネクションレスのため偽装に向く。
  • TCPにおける盲目的偽装:TCPは三者間ハンドシェイクで接続元の応答を期待するため、単純な偽装では継続的な通信は難しい。だが、ISN(初期シーケンス番号)を予測したり、既存の接続のシーケンス番号を推測できれば通信を奪取できる。
  • ARPスプーフィング(中間者攻撃):LAN上で攻撃者がゲートウェイのMACアドレスを自分のMACに対応付けることで、同一セグメント内の通信を経由させて盗聴や改竄を行う。
  • DNSキャッシュポイズニング:キャッシュサーバに偽のDNS応答を注入し、正規ドメインの名前解決を偽サイトへ書き換える。
  • BGPハイジャック:AS(自律システム)境界で不正に特定プレフィックスの起点を広報し、インターネットの経路収束によりトラフィックが迂回・流用される。

検出方法(ネットワーク運用とセキュリティ監視)

偽装を検出するには多面的な観測が有効です。

  • パケットレベルの分析:TCP/UDPヘッダ、ISN、TTLの変化や不整合をチェックすることで、送信元が矛盾しているパケットを検出できます。NetFlow/IPFIXなどのフロー情報も異常な通信パターン発見に有用です。
  • ARP監視:同一IPに複数のMACが割り当てられる変化や、短時間にARPテーブルが更新される挙動を検知します。ARP監査ツールやスイッチの動的ARP検査(DAI)を利用します。
  • DNS応答の整合性確認:DNSSECを導入していれば応答の署名で改竄を検出可能です。DNSサーバのキャッシュ変化や異常なTTLの変動も警戒ポイントです。
  • BGP監視:パスの突然の変化や自ASではない経路の起点表示、最大長より短いプレフィックスの広告などを検知する。RPKI検証統計やBGPモニタリング(RouteViews、RIPE RISなど)を活用します。
  • メール配送の健全性チェック:SPF/DKIM/DMARCの評価結果を監査し、外部からのなりすまし送信をブロックまたは隔離します。

実務的な防御対策(ネットワーク層)

ネットワーク運用側で行うべき代表的な対策です。

  • インバウンド/アウトバウンドフィルタリング(BCP38/RFC2827):ISPは顧客ネットワークから送信されるパケットの送信元IPがその顧客に割り当てられているかを検証する。これにより、送信元偽装が大幅に抑止されます。
  • Unicast Reverse Path Forwarding(uRPF):ルータで逆経路の有無をチェックし、正しい経路から来ていないパケットを破棄します。厳格モードと緩和モードがあり、トポロジにより適切な設定を選びます。
  • スイッチのセキュリティ機能:ポートセキュリティ、動的ARP検査(DAI)、DHCPスヌーピングなどにより、LANレベルでのなりすましを防止します。
  • フロー監視と異常検知:NetFlow、sFlow、IDS/IPS、SIEMで大量のパケットや異常フローを早期に検出します。

メール/アプリケーション層の対策

  • SPF(Sender Policy Framework):送信ドメインのDNSに送信許可IPを記載し、受信側が検証します(RFC 7208)。
  • DKIM(DomainKeys Identified Mail):メールに電子署名を付与して送信者のドメインと内容の整合性を保証します(RFC 6376)。
  • DMARC(Domain-based Message Authentication, Reporting & Conformance):SPF/DKIMの検証ルールをドメイン所有者が定義し、ポリシーに基づき受信側で処理する仕組み(RFC 7489)。
  • HTTPSとHSTS、ドメイン監視:ウェブアプリケーションは常時TLSを採用し、Certificate Transparencyやサブドメイン監視で不正な証明書や類似ドメインを早期に発見します。

BGPおよびインターネットレイヤでの対策

インターネット規模の偽装(経路ハイジャック)には以下が有効です。

  • RPKI(Resource Public Key Infrastructure)とROA:ASが自らのプレフィックスを証明する署名付きの宣言(ROA)を作成し、BGPルータで起点の正当性を検証します。これにより不正な起点広告を防止できます。
  • ピア/トランジットのフィルタリングとプレフィックス・リスト:ISP間で受け入れる経路をフィルタリングして、意図しない広告をブロックします。
  • 外部モニタリングとアラート:RouteViews、RIPE RISなどの外部データと比較して自ASのプレフィックスの挙動を監視します。

ブラウザやユーザー向けの対策

ユーザー側でできることも重要です。

  • URLの正規性確認とホモグラフ対策:パunycodeなどによる見た目の類似ドメインに注意し、ブラウザのIDN表示設定を利用する。
  • メールのヘッダ確認:疑わしいメールはヘッダを展開してReceived情報やSPF/DKIM/DMARCの検証結果を確認する。
  • 二要素認証(2FA)と適切なログ監査:アカウント乗っ取りによるなりすまし被害を軽減します。

運用上のベストプラクティス

  • 組織はネットワーク境界でのインバウンド・アウトバウンドフィルタリングを実施する。
  • メール送信ドメインはSPF/DKIM/DMARCを適切に設定し、報告(RUA/RUF)で不正利用を監視する。
  • BGPを運用する事業者はRPKIとローカルルールに基づくフィルタを導入する。
  • 内部ネットワークではスイッチ機能(DAI、ポートセキュリティ)とDHCPスヌーピングを有効化する。
  • インシデント発生時のログ保全、外部通報ルート、復旧手順を文書化しておく。

攻撃への法的・倫理的な注意

アドレス偽装を用いた攻撃は多くの国で不正アクセスや詐欺、業務妨害などの刑事罰対象となります。セキュリティ検証を行う場合は必ず対象システムの所有者から明示的な許可を得てください。侵入テストでも安全なテスト環境(ラボ)で行うことが原則です。

まとめ

アドレス偽装は古くから存在する攻撃手法ですが、インフラの複雑化やIoTの普及に伴い依然として有効な攻撃ベクトルです。防御にはISPからエンタープライズ、エンドユーザーまで階層的かつ協調的な対策が必要です。技術的対策(BCP38、uRPF、RPKI、SPF/DKIM/DMARC、DAIなど)と運用的対策(監視、ログ、インシデント対応)の両輪で取り組むことが重要です。

参考文献