web-dev-qa-db-ja.com

アドレスバーはフィッシング不可能ですか?

私は好奇心から、フィッシングの検出について一般の人々に教えようとする OpenDNSによるフィッシングクイズ を採用しました。

正当なWebサイトとフィッシング攻撃のWebサイトの違いをいかにうまく理解しているのか疑問に思ったことはありませんか?このクイズに答えてください。

フィッシング検出プロセスが基本的に次のようになっているので、主にそれを行いました。

  1. アドレスバーは正当に見えますか?

...そしてもしそうなら、そのサイトは合法だと思う。それはおそらく単純化していますが、(ネタバレ注意!)アドレスバーを見るだけで14問すべてを正解できます。「Yahoo !!はアップグレード!!!」 「docs.google.com/spreadsheets」から?ええ、そのようなかろうじてフィッシングのようなにおいがします。

DNSサーバーが危険にさらされていないと仮定すると、アドレスバーは本当にです防弾ですか?改ざんされていない場合、改ざんされているかどうかをどのように検出できますか?

31
badp

答えは、使用しているブラウザーの種類によって異なるため、詳しく説明します。

モバイルブラウザ。目にするものはすべて信頼できません。ごめんなさい。小さな画面での生活は最悪です。仕方ないよ。

(なぜ説明が必要ですか?どのWebページでも、アドレスバーが表示されないようにページを下にスクロールするなどのモバイル固有のトリックを使用して全画面表示できます。次に、偽のアドレスバーを描画できます。ユーザーとして、画面を見ることによってこの偽造を検出するために使用できる合理的な方法はありません。リサーチペーパー iPhish:Consumer Electronicsにおけるフィッシングの脆弱性 も参照してください。著者はこの攻撃を実装して試しましたが、ユーザーは、フィッシング攻撃の前に警告を受けていたとしても、ユーザーはそれを検出できず、セキュリティについて知識のあるコンピューターサイエンスの大学院生でさえも検出できないことを学びました。)

したがって、基本的には、画面を見てモバイルブラウザーへのフィッシング攻撃を検出する信頼できる方法はありません。自分を保護する唯一の方法は、資格情報を入力する前に自分自身で(ブックマークをクリックするなどして)自分のサイトに直接アクセスすることです。リンクからアクセスしないでください。

古いデスクトップブラウザ。IE6やFirefox 2などの古いブラウザでは、信頼できるものがあるかどうかわかりません。彼らはセキュリティホールに非常に悩まされているので、セキュリティを期待していません。自分を保護する唯一の方法は、それらのブラウザを単に回避することです。友達はIE6を友達に使用させません。しかし、あなたはそれらに興味がないと言ったので、私たちはそれらを無視できると思います。

最新のデスクトップブラウザー。これは問題の核心であり、あなたが最も興味を持っていたものだと思います。最新のデスクトップブラウザーでは、いくつかしかありません。信頼できるもの:

  • ドメイン名。アドレスバーのドメイン名を信頼して、現在アクセスしているサイトを示すことができます。

  • 青/緑の輝き。アドレスバーの名前の後ろにある青/緑の輝きを信頼して、SSLの存在を示すことができます。 SSLの使用を示すために `https://` `スキーマを信頼することもできますが、グローのチェックは簡単です。

それは本質的にそれです。南京錠のように見えても、URL(ファビコン)の横にあるアイコンは信頼できません。アドレスバーの下には何も信頼できません。リンクをクリックする前にリンクにカーソルを合わせると、ステータスバーのテキストを信頼できなくなります。同じオリジンポリシーは同じドメイン上の異なるURLを区別しないため、ドメイン名の後のURLには何も依存しないでください。

身を守る方法。まとめてみましょう。あるサイト(銀行など)にアクセスするときに安全を確保したい場合は、次の2つの実行可能な戦略を使用して自分を保護できます。

  • 防止:ブックマークを使用します。準備するには、銀行のログインページにブックマークを作成します。 (ブックマークしているhttpsページであることを確認してください。)次に、ログインするときにブックマークをクリックし、資格情報を入力してサイトを使用します。リンクをクリックして銀行のサイトに移動しないでください。銀行のサイトで他の情報源から自分を見つけた場合は、サイトを使用する前にブックマークをクリックして正しいページにいることを確認してください。これにより、銀行の資格情報に対するフィッシング攻撃の機会が実質的に防止されます。

  • 検出:アドレスバーを確認します。または、フィッシング攻撃の検出を試みることもできます。銀行のWebサイトにアクセスするたびに、資格情報を入力する前、またはサイトを使用する前に、アドレスバーのドメイン名が銀行のドメイン名と一致していることを確認してください。これは、常にアドレスバーを確認することを覚えている限り、フィッシング攻撃を検出するためのかなり信頼できる方法です。このアプローチの主な欠点は明白なものです。アドレスバーを必ず確認する必要があります。その注意は別として、これも実行可能な戦略です。

    また、青/緑のグローを確認することで、現在SSLを使用していることを確認することもできます(これは、ワイヤレスネットワークを使用している場合は特に重要です)。あなたの銀行が過去に緑の輝きを持っていたことをたまたま知っているなら、その後の訪問で、輝きがまだ緑であることを確認してください。あるいは、Firefoxを使用している場合は、HTTPS Everywhereをインストールして、SSLを確認する必要がないようにすることができます。

注意と攻撃。上記の発言を少し修飾する必要があります。アドレスバーを確認することは、絶対に確実な対策ではありません。アドレスバーを見ても、だまされる可能性のある高度なプレゼンテーション攻撃がいくつかあります。主なものを概説しましょう:

  • Picture-in-picture attack。Webページは、ブラウザウィンドウの表示される部分に描画されるピクセルを完全に制御できることを思い出してください(例: 、そのまま表示されるビットマップ画像を提供します)。ピクチャーインピクチャー攻撃では、悪意のあるWebページがウィンドウ内に何かを描画するように配置されているため、視覚的には2番目の小さいブラウザーウィンドウが上にポップアップしているように見えます(そして、そのアウトラインは完全に外側のウィンドウ内に含まれています)。 。これを言葉で説明するのは難しいので、ここに画像の例を示します。

    A picture-in-picture attack

    クレジット:図2の 拡張検証とピクチャーインピクチャーフィッシング攻撃の評価 ジャクソン、サイモン、タン、バース。

    この例では、ユーザーは悪意のあるWebページにアクセスしています:http://Paypal.login.com、最も外側のアドレスバーに表示されます。悪意のあるページは、この外側のウィンドウ内のすべてのピクセルのコンテンツを制御します(chrome境界の周りを除く)。この領域で、攻撃者は2番目の外観を複製する画像を描画しました小さなブラウザウィンドウが上にポップアップ表示されます。攻撃者はその画像のすべてのピクセルを制御するため、攻撃者は「内部ウィンドウ」の「アドレスバー」を完全に制御できます。攻撃者は、 https://www.Paypal.com。注意していない場合は、内側の「ウィンドウ」にフォーカスがあると結論付け、アドレスバーを見て、Paypalと話していると結論付け、Paypalのパスワードまたはその他の個人情報を内側の「ウィンドウ」に入力します。これを行うと、実際にはPaypalのパスワードが攻撃者に明らかにされています。

    この攻撃は、うまくマウントするのが難しい場合があります。それは、ユーザーがPaypalにアクセスしようとしなかったときに、正当な理由もなく新しいブラウザーウィンドウがポップアップ表示されたときにユーザーが不審にならないことに依存しています。また、見た目や使い心地を正しくするために、攻撃者による大幅なエンジニアリング作業も必要です。たとえば、攻撃者はJavascriptを使用して、使用しているブラウザとオペレーティングシステムを特定し、ブラウザのバージョンに一致するなりすましの画像を作成する必要があります。完全な忠実度のために、攻撃者はJavascriptハンドラを実装して、内側のウィンドウ(外側のウィンドウの範囲外にドラッグすることはできません)、偽装されたchrome内側のウィンドウの相互作用など).

    この攻撃の詳細については、ジャクソン、サイモン、タン、バートによる 拡張検証とピクチャーインピクチャーフィッシング攻撃の評価 を参照してください。私が知っているのは、この種の攻撃の実際の 1つのインスタンス だけです。

  • ホモグラフ攻撃。ガブリロビッチとゴントマッカーによる「ホモグラフ攻撃」およびフー、デンによる「ユニコード攻撃と戦うための方法論とアプリケーション」を参照してください。ウェイン、そしてリトル。

  • 全画面攻撃(未定)

私の知る限りでは、これらの攻撃は実際にはめったに見られず、ユーザーをだます可能性はほんの一部しかないかもしれませんが、ブラウザーのセキュリティが完全ではない方法を知っているように、それらを概説したいと思います。

26
D.W.

実際、JavaScriptを使用して、URLバーのテキストの内容を プログラムで変更 することが可能です。ブラウザーは、ドメイン名を変更できないようにすることになっています。ただし、テキストを変更して、スクロールが必要になる可能性があるため、URLバーのテキストを次のようにすることができます。

http://big.ugly.pirate.com/      https://www.Paypal.com/login.html    (spaces...)  .

左側の部分がバーから「スクロールアウト」するのに十分な「スペース」があります。一部のJavascriptでは、ウィンドウサイズを使用して追加するスペースの数を推測し、「標準」のフォント設定を想定して、特定のブラウザバージョンで目的の視覚効果を得ることができると思います。

はい、鋭い目でそれを見つけます。しかし、それはいくつかの訓練を必要とするかもしれません。

免責事項:私はそれを試したことも、実行したこともありません。そのようなスクロールが本当に強制できるかどうかはわかりません。試してみる価値はあります。)

4
Thomas Pornin

ちょっと。アドレスバーには、表示しているページのアドレスが表示されますが、Webページは1990年代のモノリシックオブジェクトではありません。 Webページは他の場所のコンテンツとコードを使用するため、コンテンツまたはコードが変更されると、アドレスバーのテキストが同じであっても、ページ上のアイテムの外観が変更される可能性があります。この最も一般的な例は、クロスサイトスクリプティング(XSS)です。

2
this.josh

このStackOverflowの回答 によると、ページを再読み込みせずにURLバーを変更することは確かに可能です。これにより、URLバーがフィッシング攻撃の影響を受けなくなります

要点は次のとおりです。JavaScriptを一般的に実行できる場合、または正当なページのように見える悪意のあるリンクにユーザーをリダイレクトできる場合は、クロスサイトスクリプティングとJavaScriptリダイレクトですでに多くのことができます。つまり、信頼できないページにアクセスするようにユーザーを説得している場合、コンテンツやURLリダイレクト、Flashベースのマルウェア、ドライブバイダウンロード、その他の攻撃経路など、多くの悪いことがすでに起こっている可能性があります。

これが興味深い点は、<a href="http://bad.site">http://Paypal.com</a>のような細工されたURLで、URLバーがPaypal.comに変更されます。ユーザーが何も考えずにクリックした場合、URLバーを確認すると、問題が発生している可能性があります。

編集:私はHTML5 pushStateを使用していて、同じホスト上の別のページを閲覧しているように見えても、必ずしも別のドメイン上にあるとは限らないように見えます。私はそれをいじり続けますが、今のところ dshaw.net/xss.html にアクセスすると、URLバーが「login.aspx」に変更されます。 login.aspxは存在しないことに注意してください。これは、特定のドメインのページにXSSがあるが、ログイン/資格情報の入力ページがない攻撃シナリオで役立つ可能性があります。この観点から見ると、これは非常に危険な機能であり、活用して優れた用途に使用できます。

1
dshaw

URLは依然として偽装される可能性がありますが、URL全体を完全に偽装することは非常に困難です。難読化などにより、アドレスを完全に隠すことができ(さらに、16進数のジブラッシュやドットなしのバイナリアドレスに変換するなど)、ユーザーには奇妙に見えます。

ただし、Hostsファイルポイズニングなどでは、ドメイン名を新しいIPに完全にマッピングできます。コンピュータがIPアドレスを解決しようとするとき、最初に見える場所はHOSTSファイルです。アドレスがHOSTSファイルにない場合、コンピューターは自動的に行の次のステップに進み、ドメイン名を解決します。

持っている場合は、google.comと言って、localhostファイルの127.0.0.1またはHOSTSにマッピングします。Googleに移動する代わりに、http://localhostに移動しますまたは127.0.0.1を代わりに使用してください。ただし、Windows 7ではHOSTSファイルを変更するために管理者権限が必要になるため、この方法は実装が非常に困難です。 XPまたはVistaで管理者権限を取得しているかどうかを確認できません。

1
cutrightjm