
コンピュータ ネットワークにおいて、ARP スプーフィング( ARP キャッシュ ポイズニングまたはARP ポイズン ルーティングとも呼ばれる) は、攻撃者が (スプーフィングされた)アドレス解決プロトコル(ARP) メッセージをローカル エリア ネットワークに送信する手法です。一般的に、その目的は、攻撃者のMAC アドレスをデフォルト ゲートウェイなどの別のホストのIP アドレスに関連付け、その IP アドレス宛てのトラフィックが攻撃者に送信されるようにすることです。
ARPスプーフィングにより、攻撃者はネットワーク上のデータフレームを傍受したり、トラフィックを変更したり、すべてのトラフィックを停止したりすることができます。この攻撃は、サービス拒否攻撃、中間者攻撃、セッションハイジャック攻撃などの他の攻撃のきっかけとしてよく使用されます。[1]
この攻撃はARPを使用するネットワークでのみ使用でき、攻撃者が攻撃対象となるローカルネットワークセグメントに直接アクセスできる必要があります。[2]
ARP の脆弱性
アドレス解決プロトコル( ARP) は、インターネット層アドレスをリンク層アドレスに解決するために広く使用されている通信プロトコルです。
インターネット プロトコル(IP)データグラムがローカル エリア ネットワーク内のあるホストから別のホストに送信される場合、データ リンク層を介して送信するために、宛先 IP アドレスをMAC アドレスに解決する必要があります。別のホストの IP アドレスがわかっていて、その MAC アドレスが必要な場合は、ブロードキャスト パケットがローカル ネットワークに送信されます。このパケットはARP 要求と呼ばれます。ARP 要求に IP が含まれている宛先マシンは、その IP の MAC アドレスを含むARP 応答で応答します。 [2]
ARP はステートレス プロトコルです。ネットワーク ホストは、ネットワーク ホストが要求したかどうかに関係なく、受信した ARP 応答を自動的にキャッシュします。期限が切れていない ARP エントリであっても、新しい ARP 応答パケットを受信すると上書きされます。ARP プロトコルには、ホストがパケットの送信元ピアを認証する方法はありません。この動作が、ARP スプーフィングが発生する脆弱性です。[1] [2] [3]
攻撃の解剖学
ARP スプーフィングの基本原理は、スプーフィングされたARP メッセージを LAN に送信して、ARP プロトコルの認証の欠如を悪用することです。ARP スプーフィング攻撃は、LAN 上の侵害されたホストから、またはターゲット LAN に直接接続されている攻撃者のマシンから実行される可能性があります。
ARPスプーフィングを使用する攻撃者は、ユーザー間のネットワーク上のデータ転送のホストを装います。[4]すると、ユーザーは攻撃者がネットワーク上の実際のホストではないことに気付きません。[4]
一般的に、攻撃の目的は、攻撃者のホストの MAC アドレスをターゲットホストの IP アドレスに関連付け、ターゲット ホスト宛てのすべてのトラフィックが攻撃者のホストに送信されることです。攻撃者は、発見を避けるためにトラフィックを実際のデフォルトの宛先に転送しながらパケットを検査したり (スパイ行為)、転送前にデータを変更したり (中間者攻撃)、ネットワーク上のパケットの一部またはすべてをドロップさせることで サービス拒否攻撃を開始したりする可能性があります。
防御
静的ARPエントリ
最も単純な形式の認証は、ホストのARPキャッシュ内の重要なサービスに対して静的な読み取り専用エントリを使用することです。ローカルARPキャッシュ内のIPアドレスとMACアドレスのマッピングは、静的に入力できます。ホストは、そのようなエントリが存在する場合、ARP要求を送信する必要がありません。 [5]静的エントリはスプーフィングに対してある程度のセキュリティを提供しますが、ネットワーク内のすべてのシステムのアドレス マッピングを生成して配布する必要があるため、メンテナンスの手間がかかります。これは、マシンのペアごとにマッピングを設定する必要があり、n台のマシンが存在する場合はn 2 - n ARPエントリを構成する必要があるため、大規模なネットワークでは拡張できません。各マシンには、ネットワーク上の他のすべてのマシンに対するARPエントリが必要です。n台のマシンごとにn-1個のARPエントリがあります。
検出および防止ソフトウェア
ARP スプーフィングを検出するソフトウェアは、通常、何らかの形式の認証または ARP 応答のクロスチェックに依存します。認証されていない ARP 応答はブロックされます。これらの技術は、動的IP アドレスと静的 IPアドレスの両方が認証されるようにDHCP サーバーと統合できます。この機能は、個々のホストに実装することも、イーサネット スイッチやその他のネットワーク機器に統合することもできます。1 つの MAC アドレスに関連付けられた複数の IP アドレスが存在する場合、ARP スプーフィング攻撃を示している可能性がありますが、このような構成には正当な使用法があります。より受動的なアプローチでは、デバイスがネットワーク上の ARP 応答をリッスンし、ARP エントリが変更されると電子メールで通知を送信します。 [6]
AntiARP [7]もカーネルレベルでWindowsベースのスプーフィング防止機能を提供します。ArpStarはカーネル2.6およびLinksysルーター用のLinuxモジュールで、マッピングに違反する無効なパケットをドロップし、再ポイズニングまたは修復のオプションが含まれています。
KVMなどの一部の仮想化環境では、同じホスト上で実行されているゲスト間のMACスプーフィングを防ぐセキュリティメカニズムも提供されています。[8]
さらに、一部のイーサネットアダプタはMACおよびVLANスプーフィング防止機能を提供します。[9]
OpenBSDはローカルホストになりすますホストを受動的に監視し、永続的なエントリを上書きしようとする試みがあった場合には通知します。[10]
OSセキュリティ
オペレーティングシステムによって反応は異なります。Linux は要求されていない応答を無視しますが、一方で他のマシンからの要求への応答を使用してキャッシュを更新します。Solaris はタイムアウト後にのみエントリの更新を受け入れます。Microsoft Windows では、ARP キャッシュの動作は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters、ArpCacheLife、ArpCacheMinReferenceLife、ArpUseEtherSNAP、ArpTRSingleRoute、ArpAlwaysSourceRoute、ArpRetryCount のいくつかのレジストリエントリを通じて構成できます。[11]
正当な使用
ARPスプーフィングで使用される技術は、ネットワークサービスの冗長性を実装するためにも使用できます。たとえば、一部のソフトウェアでは、バックアップサーバーが無償のARP要求を発行して、故障したサーバーを引き継ぎ、透過的に冗長性を提供できます。[12] [13] Circle [14]とCUJOは、この戦略を中心に製品を商品化した2つの企業です。
ARP スプーフィングは、スイッチの使用中に 2 つのホスト間の IP トラフィックをデバッグするために開発者によってよく使用されます。ホスト A とホスト B がイーサネット スイッチを介して通信している場合、そのトラフィックは通常、第 3 の監視ホスト M には見えません。開発者は、A が B 用の M の MAC アドレスを持つように設定し、B が A 用の M の MAC アドレスを持つように設定し、さらに M がパケットを転送するように設定しました。これで、M は中間者攻撃とまったく同じようにトラフィックを監視できるようになります。
ツール
防衛
なりすまし
ARP スプーフィング攻撃を実行するために使用できるツールの一部:
参照
参考文献
- ^ ab Ramachandran, Vivek & Nandi, Sukumar (2005)。「ARP スプーフィングの検出: アクティブ テクニック」。Jajodia, Suchil & Mazumdar, Chandan (編)。情報システム セキュリティ: 第 1 回国際会議、ICISS 2005、インド コルカタ、2005 年 12 月 19 ~ 21 日: 議事録。Birkhauser。p. 239。ISBN 978-3-540-30706-8。
- ^ abc ロックハート、アンドリュー (2007)。ネットワークセキュリティハック。オライリー。p. 184。ISBN 978-0-596-52763-1。
- ^ Steve Gibson (2005-12-11). 「ARP キャッシュポイズニング」. GRC .
- ^ ab Moon, Daesung; Lee, Jae Dong; Jeong, Young-Sik; Park, Jong Hyuk (2014-12-19). 「RTNSS: ARPスプーフィング攻撃を防止するためのルーティングトレースベースのネットワークセキュリティシステム」. The Journal of Supercomputing . 72 (5): 1740– 1756. doi :10.1007/s11227-014-1353-0. ISSN 0920-8542. S2CID 18861134. 2021-01-23にオリジナルからアーカイブ。 2021-01-23に取得。
- ^ ロックハート、アンドリュー (2007)。ネットワークセキュリティハック。オライリー。p. 186。ISBN 978-0-596-52763-1。
- ^ 「ARPポイズニングを防ぐセキュリティアプローチと防御ツール」。ResearchGate。2019年5月3日時点のオリジナルよりアーカイブ。2019年3月22日閲覧。
- ^ AntiARP 2011年6月6日アーカイブ、Wayback Machine
- ^ 「Daniel P. Berrangé » Blog Archive » ゲスト MAC スプーフィングによるサービス拒否と libvirt および KVM によるその防止」。2019 年 8 月 9 日時点のオリジナルよりアーカイブ。2019年 8 月 9 日閲覧。
- ^ “アーカイブコピー”. 2019年9月3日時点のオリジナルよりアーカイブ。2019年8月9日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ “Arp(4) - OpenBSDマニュアルページ”. 2019年8月9日時点のオリジナルよりアーカイブ。2019年8月9日閲覧。
- ^ “Address Resolution Protocol”. 2012年7月18日. 2021年1月23日時点のオリジナルよりアーカイブ。 2017年8月26日閲覧。
- ^ 「CARP (4) の OpenBSD マニュアルページ」。2018 年 2 月 5 日時点のオリジナルよりアーカイブ。2018 年 2 月 4 日閲覧。、2018年2月4日取得
- ^ Simon Horman. 「Ultra Monkey: IP Address Takeover」。2012年11月18日時点のオリジナルよりアーカイブ。2013年1月4日閲覧。、2013年1月4日取得
- ^ バレット、ブライアン。「ディズニーのCircleが遠くから子供のデバイスをロックダウン」。Wired。2016年10月12日時点のオリジナルよりアーカイブ。 2016年10月12日閲覧。、2016年10月12日取得
- ^ 「Antidote」。2012年3月13日時点のオリジナルよりアーカイブ。2014年4月7日閲覧。
- ^ “Arp_Antidote”. 2012年1月14日時点のオリジナルよりアーカイブ。2011年8月2日閲覧。
- ^ 「cSploit」。tux_mind。2019年3月12日時点のオリジナルよりアーカイブ。2015年10月17日閲覧。
- ^ 「elmoCut: EyeCandy ARP Spoofer (GitHub ホームページ)」。GitHub。
- ^ “XArp”. 2020年6月16日時点のオリジナルよりアーカイブ。2021年1月23日閲覧。
- ^ anti-arpspoof 2008年8月31日アーカイブ、Wayback Machine
- ^ 「Defense Scripts | ARP Poisoning」。2013年1月22日時点のオリジナルよりアーカイブ。2013年6月8日閲覧。
- ^ “Netcut defender | Arcai.com”. 2019年4月8日時点のオリジナルよりアーカイブ。2018年2月7日閲覧。
- ^ 「ARP 脆弱性: 完全なドキュメント」 l0T3K。2011 年 3 月 5 日時点のオリジナルよりアーカイブ。2011年 5 月 3 日に取得。
外部リンク
- Stephanie Reigns (2014-10-07). 「Linux で ARP キャッシュをクリアする」。Coders Eye。2019-04-08 にオリジナルからアーカイブ。2018-03-05に取得。
