アドレス解決プロトコル(ARP)ポイズニングは、スプーフィングされたARPメッセージをローカルエリアネットワーク経由で送信することを含む攻撃です。 ARPスプーフィング、ARPポイズンルーティング、ARPキャッシュポイズニングとも呼ばれます。
これらの攻撃は、本来意図されていたホストから攻撃者にトラフィックを迂回させようとします。 ARPポイズニングは、攻撃者のメディアアクセス制御(MAC)アドレスをターゲットのIPアドレスに関連付けることによってこれを行います。 ARPを使用するネットワークに対してのみ機能します。
ARPポイズニングは、ネットワークトラフィックの停止、変更、または傍受に使用できる中間者攻撃の一種です。 この手法は、セッションハイジャックやサービス拒否などのさらなる攻撃を開始するためによく使用されます。
ARP poisoningが何であるかを理解する前に、ARPプロトコルについてしっかりとした背景を持つことが重要です。 ARPプロトコルについて話す前に、もう少しバックアップして、インターネットプロトコルスイートについて話す必要があります。
インターネットプロトコルスイート
あなたの携帯電話上のwebブラウザを開くと、ミームと猫の写真は、ほぼ瞬時に、少しの努力であなたに配信され、プロセ
お使いの携帯電話と猫の写真をホストするサーバーが文字列上の二つのカップのように接続されているかのように見えることがあり、二人の子供が電 最近のwifiとデータの普及を考えると、猫の写真が何らかの形でエーテルを横切って移動するように見えるかもしれません。
もちろん、そうではありません。 猫の写真の旅は、実際には非常に複雑で、インターネットプロトコルスイートモデルで最もよく近似される多層システムを横切って移動します:
- アプリケーション層-アプリケーション層では、あなた、webブラウザ、またはサーバーソフトウェアのどちらも、猫の写真があなたに配信された方法を本当に認識 あなたは猫の写真のためのデータが通過したどのように多くのルータ、またはそれが無線接続を介して移動したかどうかを知りません。 あなたが知っているのは、あなたがリンクをクリックし、猫の絵があなたに来たことです。
- トランスポート層–トランスポート層では、フードの下に少し入ります。トランスポート層は、クライアント(お使いの携帯電話)とwebサイトをホストするサーバーとの間の接続を確立する責任があります。 トランスポート層は接続を監視してエラーを探しますが、クライアントとサーバーの間でデータがどのように移動されるかは気にしません。
- インターネット層–インターネット層ソフトウェアは、ネットワーク間でデータを移動する責任があります。 それは猫の写真のデータを気にせず、化学についての電子ブックのデータを扱うのと同じように扱います。 インターネット層のソフトウェアは、ローカルネットワークに猫の画像データをもたらすと、それはリンク層のソフトウェアにそれを渡します。
- link layer–Link layerソフトウェアは、ローカルネットワーク内の送受信データの両方を移動します。 これは、インターネット層のソフトウェアから猫の画像のデータを取得し、お使いのデバイスに配信します。
上記の各レイヤーは、ジョブを完了するためにそれらを介して実行されるさまざまなプロトコルの束を持つことができます。 システムのこの混乱は、何とかお使いの携帯電話の画面にサーバーから猫の写真を持って来るために凝集的に動作します。
アドレス解決プロトコル(ARP)とは何ですか?
アドレス解決プロトコル(ARP)は、単にこれらのプロトコルの一つです。 これは、MACアドレスなどのどのリンク層アドレスが物理マシンの特定のインターネット層アドレスに対応するかを検出するために使用されます。 これらは一般的にIpv4アドレスです。
Ipv4は依然として最も一般的に使用されるインターネットプロトコルであるため、ARPは通常、32ビットIpv4アドレスと48ビットMACアドレスの間のギャッ それは両方の方向で働きます。
指定されたMACアドレスとそのIPアドレスの関係は、ARPキャッシュと呼ばれるテーブルに保持されます。 LAN上のホストに向かうパケットがゲートウェイに到達すると、ゲートウェイはARPを使用してMACまたは物理ホストアドレスを相関IPアドレスに関連付け
ホストはARPキャッシュを検索します。 対応するアドレスが見つかった場合、そのアドレスはフォーマットとパケット長の変換に使用されます。 正しいアドレスが見つからない場合、ARPは正しいアドレスを知っているかどうかをローカルネットワーク上の他のマシンに尋ねる要求パケットを送 マシンがアドレスで応答すると、同じソースからの将来の要求がある場合に備えて、ARPキャッシュがそのアドレスで更新されます。
ARP中毒とは何ですか?
基礎となるプロトコルについての詳細を理解したので、ARP中毒をより深くカバーすることができます。 ARPプロトコルは効率的に開発されたため、設計上のセキュリティが深刻に不足していました。 これにより、ターゲットのローカルネットワークにアクセスできる限り、誰かがこれらの攻撃をマウントすることが比較的容易になります。
ARPポイズニングは、偽造されたARP応答パケットをローカルネットワーク経由でゲートウェイに送信することを含みます。 攻撃者は通常、仕事を簡単にするためにArpspoofやArppoisonのようななりすましツールを使用します。 ターゲットのアドレスと一致するようにツールのIPアドレスを設定します。 次に、ツールはターゲットLANをスキャンして、ホストのIPアドレスとMACアドレスを検索します。
攻撃者はホストのアドレスを取得すると、ローカルネットワークを介して偽造されたARPパケットをホストに送信し始めます。 不正なメッセージは、攻撃者のMACアドレスがターゲットとしているマシンのIPアドレスに接続されている必要があることを受信者に伝えます。
これにより、受信者は攻撃者のアドレスでARPキャッシュを更新します。 受信者が将来ターゲットと通信すると、そのメッセージは実際には代わりに攻撃者に送信されます。
この時点で、攻撃者は密かに通信の途中にいて、この位置を利用してトラフィックを読み取り、データを盗むことができます。 攻撃者は、ターゲットに到達する前にメッセージを変更したり、通信を完全に停止したりすることもできます。
攻撃者はこの情報を使用して、サービス拒否やセッションハイジャックなどのさらなる攻撃をマウントすることができます:
- サービス拒否-これらの攻撃は、複数の個別のIPアドレスをターゲットのMACアドレスにリンクする可能性があります。 十分なアドレスがターゲットに要求を送信している場合、トラフィックによって過負荷になり、サービスが中断され、使用できなくなる可能性があります。
- セッションハイジャック–ARPスプーフィングを利用してセッションIdを盗むことができ、ハッカーはシステムやアカウントに侵入するために使用します。 彼らはアクセスを持っていると、彼らは彼らの目標に対して大混乱のすべての種類を起動することができます。
ARP中毒の検出方法
ARP中毒はいくつかの異なる方法で検出できます。 Windowsのコマンドプロンプト、Wiresharkなどのオープンソースのパケットアナライザ、またはXArpなどの独自のオプションを使用できます。
コマンドプロンプト
ARP中毒攻撃に苦しんでいる可能性があると思われる場合は、コマンドプロンプトで確認できます。 まず、管理者としてコマンドプロンプトを開きます。 最も簡単な方法は、windowsキーを押してスタートメニューを開くことです。 “Cmd”と入力し、Crtl、Shift、Enterを同時に押します。
これによりコマンドプロンプトが表示されますが、はいをクリックして変更を行う権限をアプリに与える必要がある場合があります。 コマンドラインで、次のように入力します:
arp-a
これはあなたにARPテーブルを与えます:
*上の画像のアドレスは、プライバシー上の理由から部分的にブラックアウトされています。*
表には、左の列にIPアドレス、中央にMACアドレスが表示されています。 テーブルに同じMACアドレスを共有する2つの異なるIPアドレスが含まれている場合は、おそらくARPポイズニング攻撃を受けている可能性があります。例として、ARPテーブルにいくつかの異なるアドレスが含まれているとします。 それをスキャンすると、2つのIPアドレスが同じ物理アドレスを持っていることに気付くことがあります。 インターネットアドレス物理アドレス
192.168.0.1 00-17-31-dc-39-ab
192.168.0.105 40-d4-48-cr-29-b2
192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.105 192.168.0.106 00-17-31-dc-39-ab
ご覧のように、最初と3番目のMACアドレスの両方が一致します。 これは、192.168.0.106IPアドレスの所有者が攻撃者である可能性が最も高いことを示しています。
その他のオプション
Wiresharkを使用して、パケットを分析してARPポイズニングを検出できますが、手順はこのチュートリアルの範囲外であり、おそらくプログ
Xarpなどの市販のARP中毒検出器は、プロセスを容易にします。 ARP中毒が開始されたときに警告を表示することができ、攻撃が早期に検出され、ダメージを最小限に抑えることができます。
ARP中毒を防ぐ方法
ARP中毒を防ぐためにいくつかの方法を使用することができます。 これらには、静的ARPエントリ、暗号化、Vpn、パケットスニッフィングが含まれます。
静的ARPエントリ
このソリューションには多くの管理オーバーヘッドが含まれており、小規模なネットワークにのみ推奨されます。 これには、ネットワーク上のすべてのマシンのARPエントリを個々のコンピュータに追加する必要があります。
マシンに静的IPアドレスとMACアドレスのセットをマッピングすると、マシンはARP応答を無視できるため、スプーフィング攻撃を防ぐことができます。 残念ながら、この解決策は、より単純な攻撃からあなたを保護することができます。
HTTPSやSSHなどの暗号化
プロトコルは、ARPポイズニング攻撃が成功する可能性を減らすのにも役立ちます。 トラフィックが暗号化されると、攻撃者はターゲットのブラウザをだまして不正な証明書を受け入れるという追加の手順に進む必要があります。 ただし、これらのプロトコルの外部で送信されるデータは依然として脆弱です。
Vpn
VPNは個人にとって合理的な防御になる可能性がありますが、一般的に大規模な組織には適していません。 空港で公共のwifiを使用するなど、潜在的に危険な接続を行うのが1人だけの場合、VPNはクライアントと出口サーバーの間を移動するすべてのデータを暗 これは、攻撃者が暗号文のみを見ることができるため、それらを安全に保つのに役立ちます。
各コンピュータと各サーバの間にVPN接続を確立する必要があるため、組織レベルでは実現可能ではない解決策です。 これはセットアップと保守が複雑になるだけでなく、その規模での暗号化と復号化もネットワークのパフォーマンスを妨げます。
パケットフィルタ
これらのフィルタは、ネットワークを介して送信される各パケットを分析します。 悪意のあるパケットやIPアドレスが疑わしいパケットを除外してブロックすることができます。 パケットフィルタはまた、パケットが実際に外部から発信されたときに内部ネットワークから来たと主張するかどうかを判断することができ、攻撃が成功する可能性を減らすのに役立ちます。
ネットワークをARPポイズニングから保護する
ネットワークをARPポイズニングの脅威から安全にしたい場合は、上記の予防と検出ツールを組み合 予防方法は、特定の状況で欠陥を持っている傾向があるので、でも、最も安全な環境は、攻撃の下で自分自身を見つけることができます。
アクティブな検出ツールも準備されていれば、ARP中毒が始まるとすぐに知ることができます。 ネットワーク管理者が警告を受けたらすぐに行動できる限り、一般的にこれらの攻撃をシャットダウンしてから、多くの被害が発生することができま
関連記事:なりすまし攻撃を防ぐ方法
CC3.0
の下で0x55534CによるARPなりすましに基づく画像デザイン