およそ 1 年前、次のようなツールが登場しました。ファイヤーシープこれにより、私たちの多くは、あなたと同じネットワーク上の他の人が、あなたのブラウジング セッションを簡単に覗き見でき、さらには、おそらく最も有名な Facebook など、ログインが必要なサイトであなたになりすますことができるということを知りました。ここで詳しく見てみましょうネットワーク スヌーピングの仕組みとそれから身を守る方法。
長い投稿なので、2つのセクションに分けました。最も興味のあるものにジャンプしてください。
ネットワーク スヌープを始める方法
Firesheep が登場して、他のユーザーの Facebook セッションを簡単にハイジャックできるようにして私たち全員を怖がらせるずっと前に、Firesheep と呼ばれる別のより堅牢なクロスプラットフォーム ツールが登場しました。ワイヤーシャークはすでに、少しのノウハウを持っている人なら誰でも、同じネットワークに接続されているコンピュータ上のユーザー名、パスワード、認証 Cookie を傍受できるようにしていました。
コンピュータが他のコンピュータ (およびインターネット) と通信する方法の簡単な概要
Wireshark が何を行うかを理解するには、まずコンピュータがネットワーク上でどのように相互に通信するのか、またコンピュータがこの情報をどのように使用して、たとえば Web サイトにログインするのかについて少し理解する必要があります。 (私は決してネットワークの専門家ではないので、心配しないでください。初心者向けに説明する以外に選択肢はありません。)
コンピュータがネットワーク経由で他のコンピュータと通信するとき、各コンピュータは相互にデータのパケットを送受信します。これらのパケットは、接続のネゴシエーション、認証のための Cookie やパスワードの受け渡しなどの処理を実行し、最終的にはファイルの転送や Web ページを構成する HTML などの実行を実行します。
Wireshark の機能
Wireshark が行うことは、ネットワーク内でやり取りされるパケット (パケットが自分のコンピュータに送受信されるのか、同じネットワーク上の他のコンピュータに送受信されるのか) を嗅ぎ取り、ネットワーク内で送受信されるデータを調べられるようにすることです。これらのパケット。
たとえば、Web サイトにログインすると、ブラウザはいわゆる POST リクエストをインターネット上のサーバーに送信します。 Wireshark はその POST リクエストをキャプチャでき、どこを探せばよいかわかっていれば、ユーザー名とパスワードを見つけることができます。平文で- 安全な HTTPS 接続を使用していないサイトにログインしていると仮定します。これにより、その情報は暗号化され、内容を理解できなくなります。 (当社のFacebook やその他のサイトで HTTPS に注意する必要がある理由に関する前のガイド詳細については。)
これに対処するために、Facebook や Gmail などの多くのサイトでは、ブラウザとサーバー間のすべての通信で HTTPS がデフォルトで有効になっています。しかし、世の中にはログインを暗号化していない Web サイトがまだたくさんあり、ログインには HTTPS を使用するものの、ログインには HTTPS を使用しない Web サイトもたくさんあります。クッキー。
Cookie は、Web サイトによってブラウザ上に設定される比較的小さなテキスト文字列です。 Cookie はユーザーの行動を追跡するために使用でき、ユーザーの設定を Web サイト上で永続的に維持するために使用できます。また、この記事で最も重要なことは、Cookie によりサーバーに対してユーザーの行動を識別できることです。すでにログインしていますつまり、適切な Cookie をハイジャックすると、ユーザー名やパスワードを必要とせずに他の人になりすますことができます。 (これは Firesheep がやったことです。)
Wireshark は、HTTP 接続経由で送信されたユーザー名とパスワードをキャプチャする方法と同様に、オンライン アカウントへのアクセスを取得するなど、ユーザー (または他の悪意のあるスニッファー) が望む目的に向かって Cookie をキャプチャすることもできます。また、ユーザー名とパスワードの場合と同様に、サイトがすべての接続に HTTPS を使用している場合、その Cookie を正常に嗅ぎ取って使用することはできません。
基本を理解したので、早速本題に入りましょう。
Wireshark でユーザー名とパスワードを盗聴する方法
この投稿の上部にあるビデオでは、Lifehacker (残念ながら HTTPS を使用していません) にログインしようとしたときにユーザー名とパスワードを盗み出す方法をデモンストレーションしているのを見ることができます。ここでは、Wireshark を使用してユーザー名とパスワードを傍受する方法を説明する他の詳細なビデオをいくつかまとめました (ビデオではおそらく全画面表示したくなるでしょう)。
注: Wi-Fi 経由でキャプチャしている場合は、Wireshark を実行する必要があります。無差別モードでそのため、ネットワーク上のさまざまなパケット (他の人のコンピュータからのパケットも含む) をすべて盗み出すことができます。このプロセスはデバイスによって異なるため、少し探す必要がある場合があります。
Wireshark で Cookie を嗅ぎ分ける方法
このビデオでは、Cookie を嗅ぎ分ける方法を説明しています。このビデオでプロセスを説明しているサイト (Facebook) ではデフォルトで HTTPS が使用されていますが、HTTPS を使用していないサイトでも同じ基本的な方法が機能します。
ネットワーク盗聴から身を守る方法
ここで紹介する種類のネットワーク スニッフィングは、経験が少なくても誰でも実行できるものです。パスワードビデオのマイクが指摘しているように、「テクノロジーは銃のようなものです。家族を捜すために良い方向に使用することも、店を強盗するなど悪い方向に使用することもできます。」この Wireshark の詳細は教育を目的としていますが、実際には、Wireshark を卑劣な目的で使用することに興味がある人は、YouTube で数分を費やすだけで同じ情報を見つけることができます。
あなたと同じネットワーク上の誰かがあなたのパスワードや Cookie などを簡単に盗み見することがいかに簡単であるかについてよく理解できたので、それに対して何ができるでしょうか?ここでは、実用的または効果的ではないものから最も効果的なものまで、最善の策のいくつかを簡単にまとめます。
信頼できない人たちと同じネットワーク上で作業することは避けてください。ここで示した種類のネットワーク スニッフィングは、同じネットワーク上のユーザーのみが実行できます。である必要さえないことに留意してください。開けるWi-Fi ネットワーク - パスワードで保護された職場ネットワーク上の同僚は、地元のコーヒー ショップにいる人と同じように簡単にあなたのパケットを盗聴できます。
落とし穴:おそらく、自宅にいるときや信頼できるネットワーク上でのみインターネットを使用するように制限されたくないでしょう。みんな。
常に HTTPS を使用します。Facebook や Gmail など、多くのサイトでは HTTPS がデフォルト接続になっており、前に説明したように、適切に暗号化された HTTPS 接続ではパケット スニッフィングによってパスワードや Cookie が明らかになることはありません。他のサイトは HTTPS をサポートしていますが、それをデフォルトにしていないため、多くの場合手動で入力する必要があります。
https://
URL の残りの部分の前に。 Twitter などの一部のサイトでは、アカウントが常に HTTPS を使用するように設定できます (Twitter の場合は、アカウント設定ページの下部にある [常に HTTPS を使用する] チェックボックスにチェックを入れます)。一部のサイトでは [常に HTTPS を使用する] 設定を提供していないため、HTTPS を強制するブラウザ拡張機能が役立ちます。最も人気のあるものはおそらくHTTPS Everywhere 拡張機能Firefox 用 (電子フロンティア財団によって作成)。この拡張機能は、ブラウザを 1,000 以上のサイトの HTTPS バージョンに自動的に誘導します。 HTTPS Everywhere の欠点は、リスト内のサイトのみをリダイレクトすることです。そのため、任意のサイトを HTTPS にリダイレクトできるようにしたい場合は、以下をチェックしてください。強制TLSFirefoxの場合またはどこでもHTTPSクロム用。これらの拡張機能は両方とも、自動 HTTPS リダイレクトに新しいサイトを追加できます。
キャッチ:まず、多くのサイトは依然として HTTPS をまったくサポートしておらず、ログインのみにサポートしているサイトもあります (つまり、パスワードは安全ですが、セッション Cookie は安全ではありません)。別の技術的なメモとして、エリック・バトラー (Firesheep の開発者) は昨年次のように述べました。いずれにせよ、一部のサイトは HTTPS を正しくサポートしていませんこれらのサイトで HTTPS の利点を最大限に活用するには、手動で入力する必要があります。
https://
訪問するたびに次のことを行います。一部のサイトはあらゆる場所で完全な暗号化をサポートしていますが、認証 Cookie に「セキュア」フラグを設定していないため、暗号化が適切に実装されておらず、利点のほとんどが無効になり、ユーザーが危険にさらされたままになります。これが意味するのは、Web ブラウザに URL (例: 「manage.slicehost.com」) を入力するたびに (事前に明示的に https:// と入力することはありませんが、そうすることはほとんどありません)、最初のリクエストで誤って Cookie が漏洩してしまうことになります。 、HTTPS ページにリダイレクトされる前に。 Slicehost と Dropbox はこの間違いの良い例です。
VPN または SSH プロキシを使用します (最良のオプション):VPN または SSH トンネルは、コンピュータとインターネット上の安全性が疑わしいサーバーの間の仲介者として機能するため、コンピュータと VPN または SSH サーバーの間で送信されるすべてのものが暗号化されます。つまり、現在のネットワーク上の誰かが送信するすべてのトラフィックが暗号化されます。嗅いでみたい。ここでは VPN または SSH サーバーのセットアップ方法を説明するつもりはありませんが、自分でできるいくつかの優れたオプションの方向性を示します。
SSH アクセスが可能な Web サーバーへのアクセス料金をすでに支払っている場合は、それを使用して次のことができます。SSH SOCKS プロキシを使用して Web ブラウジング セッションを暗号化する。支払いたくない場合は、独自のホーム SSH サーバーをセットアップする。少しだけお金を払ってもいいなら、SSH アクセスを備えた Amazon EC2 インスタンスを月額約 0.50 ドルで入手できますまたはSilence is Defeat にアクセスするには 1 回 1 ドルを支払います。
別の無料オプションについては、ガイドをご覧ください。Hamachi と Privoxy を使用したパブリック ネットワーク上での安全で暗号化された Web ブラウジング。
Android ユーザーは、次のガイドを確認してください。Android スマートフォンでのすべてのインターネット使用を暗号化する。
Macを使用している場合は、インストールすることを強くお勧めします前に述べた サイドステップ。このアプリは、オープン Wi-Fi ネットワークに接続するたびに、安全なプロキシを介してトラフィックを自動的に再ルーティングします。また、Mac のメニュー バーのドロップダウンからいつでもオンにすることもできます。キャッチ:このオプションの最大の欠点は、途中のある時点で、VPN または SSH プロキシが暗号化されていないバージョンのリクエストを Web サーバーに送信する必要があるため、VPN または SSH と同じネットワーク上でパケットを盗聴する誰かがいた場合に発生することです。サーバーにアクセスすると、仲介者と Web サーバーの間でやり取りされる暗号化されていないデータを盗聴することができます。
必要に応じて、他にもセキュリティ上の懸念事項を考慮する必要があります。公共Wi-Fiネットワークで安全を確保, しかし、上記のオプションはブラウジングの安全性を大きく変えることができます。最良のシナリオは実際には制御できません。Web サイトとサービスはすべて、あらゆる機密データの可能性に対してデフォルトで HTTPS を実装しています。リミックスされた写真アントン・プラド/シャッターストック。
ライフハッカーの邪悪な週は、パスワード クラッキング、ソーシャル ハッキング、その他の疑わしいトリックなど、確実に知っておくためのトピックに関するものです。知識は力であり、その力を善に使うか悪に使うかはあなたの手の中にあります。
この投稿の著者である Adam Pash に問い合わせることができます。ツイッター、Google+、 そしてフェイスブック。