Man-in-the-Middle (MitM) 攻撃(中間者攻撃)は、ユーザーとアプリケーション間の通信を傍受および操作して機密情報を盗み出すことで、重大なサイバーセキュリティの脅威を引き起こします。これらの攻撃は通信プロトコルやユーザーの行動の脆弱性を悪用し、個人情報の盗難や不正なトランザクションの一般的な手段となっています。これらの脅威から身を守るには、MitM攻撃がどのように機能するかを理解し、効果的な予防措置を導入することが重要です。この概要では、MitM攻撃のメカニズム、一般的なタイプ、および防止戦略について説明します。
1. Man-in-the-Middle攻撃(中間者攻撃)とは何か?
Man-in-the-Middle(MiTM)攻撃 では、攻撃者がユーザーとアプリケーション間の通信を傍受し、ログイン認証情報、アカウント詳細、クレジットカード番号などの個人情報を盗み、個人情報の盗難や不正な取引を行います。
2. Man-in-the-Middle攻撃はどのような仕組みか?
1. 傍受: 攻撃者は2つの当事者の間に位置します。これは次のような方法で実現できます。
- 安全でないネットワークでの盗聴: 公衆Wi-Fiネットワークが一般的な標的となります。
- DNSスプーフィング: 正規のWebサイトから偽のWebサイトにトラフィックをリダイレクトします。
- IPスプーフィング: IP パケットのヘッダーを変更して通信当事者になりすまします。
- ARPスプーフィング: 攻撃者のMACアドレスを正規のネットワークデバイスのIPアドレスに関連付けます。
- セッションハイジャック: ユーザーが認証された後にセッションを引き継ぐこと。
2. 復号化: 攻撃者は、傍受したメッセージが暗号化されている場合は復号化します。これには、弱い暗号化方式の悪用や、プリインストールされたマルウェアの使用が含まれる可能性があります。
3. メッセージの中継: 攻撃者は、2者間でメッセージを渡し、相互に直接通信していると思わせることができます。このフェーズでは、攻撃者は次のことを行うことができます。
- 機密情報を盗む: ログイン資格情報、クレジットカード番号、個人情報など。
- 通信を変更する: 交換されるデータを変更すると、不正な資金移動や誤った情報の送信などの行為につながる可能性があります。
最初のパートでは、ARPキャッシュポイズニングについて紹介します。これは、長い歴史を持つ現代の MitM攻撃の一種です (ARPポイズンルーティングとも呼ばれます)。この攻撃により、ハッカーは被害者のコンピュータ間のすべてのネットワークトラフィックを盗聴することができます。
3. ARPスプーフィンとは何か?
1. ARPとは?
ARP (アドレス解決プロトコル) は、IPアドレスをローカルネットワーク上の物理マシンアドレス (MACアドレス) にマッピングするために使用される通信プロトコルです。 IPアドレスをMACアドレスに変換することで、同じネットワーク上のデバイスが通信できるようになり、デバイス間のデータパケットの配布が容易になります。
2. なぜIPアドレスとMACアドレスの両方が必要なのか?
これはインターネットの運用、特にOSIモデルに関連しています。このモデルは、ネットワーク上でデータがどのように送受信されるかを定義します。 OSIモデルは 7 つの層で構成されており、その層は次のとおりです。
- レイヤ2は MACアドレスを使用し、あるホップから別のホップにデータを配信します。
- レイヤ3は IPアドレスを使用し、エンドツーエンドのパケット配信を担当します。
コンピュータがデータを送信するとき、データはIPヘッダー (送信元と宛先のIPアドレスを含む) 内にカプセル化されます。このIPヘッダーはデータとともにMACヘッダー (送信元と宛先のMACアドレスを含む) 内にカプセル化されます。
データがルーターからルーターに転送されると、MACアドレスヘッダーが削除され、新しいものに置き換えられます。ただし、データが最終宛先デバイスに到達するまで、IPヘッダーは変更されません。
したがって、インターネットが適切に機能するには、MACアドレスとIPアドレスの両方が必要です。 MACアドレスは物理層でのデータ送信を容易にし、IPアドレスはデータが正しい最終宛先デバイスに確実に到達するようにします。
3. スプーフィングとは何か?
- Man-in-the-Middle攻撃では、スプーフィングには、誰かまたは他のものになりすますことが含まれます。これには、正規のWebサイト、サービス、またはユーザーになりすましてデータを傍受および操作することが含まれる場合があります。スプーフィングには、IPアドレススプーフィング、ARPスプーフィング、DNSスプーフィング、さらにはSSL証明書スプーフィングが含まれる場合があります。目的は、被害者をだまして、実際には攻撃者と通信しているにもかかわらず、正規の組織と通信していると信じ込ませることです。
- そして、ARPスプーフィングは、まさにARPテーブル (ARP キャッシュ) を改ざんする行為です。ARPテーブル (ARPキャッシュ) は、コンピュータ、ルーター、またはARPプロトコルを使用するその他のデバイスのメモリに保存されている情報を含むテーブルです。
ARPキャッシュ
- ARPスプーフィングは、ARPプロトコル固有の安全性の低さを利用します。アドレス解決プロトコル (ARP) を使用するデバイスは、いつでも更新を受け入れます。つまり、どのデバイスでもARP 応答パケットを別のコンピュータに送信でき、受信側のコンピュータはARPキャッシュを新しい値で更新します。要求が行われていないときにARP応答を送信することは、「無償」ARPの送信と呼ばれます。これらの無償のARP応答がリクエストを送信したコンピューターに到達すると、これらのコンピューターは通信する正しいエンティティを見つけたと認識します。しかし、実際には攻撃者と通信しています。
4. デモ
ツール: Bettercap, BurpSuite
攻撃者: Kali Linux
IP: 192.168.100.4
被害者: Windows
IP: 192.168.100.50
Bettercapインターフェイス:
ツール:Bettercap
このツールを使用して中間者を攻撃するには、まずどのデバイスがネットワークに接続されているかを特定し、なりすまして中間者になれるようにする必要があります。このために、Bettercap net.probeモジュールを使用します。Bettercapターミナルで help と入力すると、このモジュールを見つけることができます。
net.probeを実行するには、net.probe onと入力する必要があります。このコマンドにより、ネットワークに接続されているデバイスをスキャンします。デバイスを表形式で表示するには、net.showコマンドを入力します。
net.show を使用してデバイスを表形式で表示
次に、被害者の IPアドレスを指定するだけで、arp.spoof.targetsパラメータを設定する必要があります。本例の場合は、arp.spoof.targets 192.168.100.50 を設定します
ここでarp.spoofと入力すると、攻撃が開始されます。
ARP スプーフィング攻撃を受けた後
ARPキャッシュが変更され、2 つの異なるIPが同じMACアドレスを持っていることがわかります。
現在、2つのデバイスを使用しており、インターネットトラフィックを確認するにはnet.sniffモジュールを使用します。そこでnet.sniff onと入力するだけで、すべてのトラフィックがブロックされます。
httpを使用したWebサイトの結果は次のとおりです。
httpsの場合:
Webサイトに接続すると、無効な SSL証明書の警告が表示されます。
SSL (Secure Sockets Layer) は、暗号化と認証の原理に基づいて動作し、クライアント (Webブラウザなど) とサーバー間の通信を保護します。仕組みは次のとおりです。
- クライアントは、安全なページ (https:// で始まるURL) にアクセスするためのリクエストを送信します。
- サーバーは、証明書をクライアントに送信することで応答します。
- クライアント (Webブラウザ) は、証明書に付随する認証局 (CA) のデジタル署名をチェックすることで、証明書の有効性を検証します。または証明書が検証されてまだ有効であると仮定すると、証明書が信頼できないというWebブラウザーからの警告を受けた後でもクライアントが意図的に処理を続行すると仮定します (自己署名 SSL 証明書であるか期限切れの証明書であるか、証明書内の情報が間違っているため)。その後、ステップ4が発生します。
- クライアントはランダムな対称暗号化キー (またはセッション キー) を生成し、(証明書から取得した) 公開キーを使用してこのセッション キーを暗号化し、サーバーに送り返します。
- サーバーは、その秘密キー (証明書内の公開キーに対応) を使用してセッションキーを復号化します。
- その後、サーバーとクライアントの両方がこのセッションキーを使用して、通信セッション中にメッセージを暗号化/復号化します。
無効なSSLを受け入れた場合でも、情報が漏洩する可能性があります。これは、安全な通信を維持するために SSL 証明書が有効で信頼できることを確認することの重要性を強調しています。
5. Man-in-the-Middle攻撃を防ぐ方法
MitM攻撃のリスクを軽減するには、次の予防策を実装してください。
- ウイルス対策ソフトウェアをインストールする: 悪意のあるアクティビティを検出してブロックします。
- 公共のWiFiアクセスポイント、特にパスワードで保護されていないアクセスポイントを避けてください。潜在的な攻撃者にさらされる可能性を減らします。
- ログインが必要なサイトの使用が終了したらログアウトします。セッションハイジャックによる不正アクセスを防ぎます。
- 可能な限り多要素認証 (MFA) を使用します。追加のセキュリティ層を追加して、不正アクセスをより困難にします。
- HTTPSを利用するWebサイトを使用する: ユーザーとWebサイト間で送信されるデータを暗号化し、傍受から保護します。
- 機密性の高いトランザクションと通信には仮想プライベートネットワーク (VPN) を使用します。インターネットトラフィックを暗号化して、潜在的な盗聴者からプライバシーとセキュリティを維持します。
MitM攻撃は、通信プロトコルやユーザーの行動の脆弱性を悪用し、サイバーセキュリティにおける重大な脅威です。これらの攻撃がどのように機能するかを理解し、強力なセキュリティ対策を実装することは、攻撃に関連するリスクを軽減するのに役立ちます。