web-dev-qa-db-ja.com

ドライブバイダウンロードはどのように機能し、ブラウザが「安全」であることは実際に何を意味しますか?

ここ数日、私はあらゆる種類のウイルスと感染方法について研究しています。ドライブバイメソッドについても読みましたが、私の質問は次のとおりです。

  • 攻撃者がブラウザでコードを実行し、ユーザーに知らないうちに感染ファイルをダウンロードさせることはまだ可能ですか?

  • ブラウザを安全に呼び出すときの事実は何ですか? Mozillaのようなすべてのブラウザ、ChromeおよびOperaは、安全に呼び出すことができますが、どれも「防弾」ではありません。

4
Tomas

攻撃者がブラウザでコードを実行し、ユーザーdownloadを感染したfileなし彼の知識

Google Chromeでは、ファイル拡張子が既知の安全でないファイルタイプの特定のブラックリストに含まれていない限り、ユーザーにプロンプ​​トが表示されずにファイルがDownloadsディレクトリにダウンロードされます。

危険性のあるファイルの種類の場合、ユーザーはファイルのダウンロードや開くことを承認する必要があります。クリックジャッキングによってこれを阻止する試みがありました。 ChromeやFirefoxなどの最新のブラウザには、これを防ぐための遅延が組み込まれています。

一部のユーザーはまだだまされる可能性があります。

ブラウザを安全に呼び出すときの事実は何ですか? mozillaのようなすべてのブラウザchrome operaそれ自体を安全に呼び出すが、それらのどれも「防弾」ではない

「防弾」という用語は非常にあいまいです。

最近のブラウザーでは、ブラウザーの組み込みサンドボックスを直接ハッキングできる脆弱性を修正するために多くの努力が払われています。これらの保護機能を利用するには、ブラウザを最新の状態に保つことが重要です。これを行うと、主要なブラウザのセキュリティの違いはかなり小さくなります。

それ自体「脆弱性」がないとしても、さまざまなブラウザの「セキュリティ」は同等ではない可能性があります。また、非常に主観的です。セキュリティを保護するためにさまざまなブラウザベンダーが実装できる、複雑なEdgeケースの機能が多数あります。

  • たとえば、Webサイトがマイクとビデオへのアクセスを要求する場合、FirefoxとChrome=承認を要求しますが、ChromeはWebサイトがHTTPSを提供することも必要とします暗号化Firefoxにはその要件はありません(まだ)これはFirefoxのセキュリティ上の問題でも、Chromeの防弾対策でもありませんが、パブリックWiFiの使用など、特定の状況では違いがあります。

  • 一部のブラウザは、まだコンテンツセキュリティポリシーをサポートしていません。ただし、CSPは、開発者が自身の脆弱性を軽減するのに役立つ機能にすぎません。

これらはすべて、ブラウザのセキュリティにおける非常に小さな違いです。

IEは安全性の低いブラウザの1つです。

繰り返しますが、ブラウザを常に最新の状態に保ち、ブラウザが導入した新しいセキュリティ機能を活用してください。

2
Bryan Field

質問1

訪問者にマルウェアのダウンロードと実行を強制する機能は機能ではなく、バグです。 「うーん、JavaScript secretlyDownloadAndExecuteFile()関数を無効にする必要があるかもしれません」とブラウザベンダーが言うほど単純ではありません。

ドライブバイダウンロードは次の方法で行われます。

  • JavaまたはFlashのようなプラグインを利用します。これらの2つのフェラには、過去にコードの実行を許可していた多数のバグがあり、新しいバグが次々と出現します。この理由は、任意のコードの実行を可能にするバグなしでバイトコードを実行するエンジンは、実行するのが非常に非常に難しいことです。同意しない場合は、コードを記述して、簡単であることを確認してください。
  • ブラウザ自体を悪用します。これには、バッファオーバーフローなどのブラウザのバグが必要であり、上記のバグほど一般的ではありません。ただし、プラグインをアクティブにする必要がないため、より危険です。 ここ はその一例です。
  • だまされやすいユーザーを利用する。私は約束します、これはただの楽しいゲームであり、他には何もありません。実行をクリックしてください。 (ダウンロードによってドライブと呼ばれるべきかどうか、私は議論される可能性があります。)

最初のものは簡単に修正できます。プラグインをウィンドウの外に捨てるだけです。それがまさに私たちがやっていることです-JavaとブラウザのFlashプラグインの両方の日が番号付けされています。

2番目と3番目のものは難しいです。それらを修正するには、バグのないコードと啓蒙されたユーザーが必要です。人間の性質上、それらはどれもありません。とても幸運。

質問2

何かが安全であると言っているだけでは、空で無意味な声明です。セキュリティはバイナリではありません。一次元的なものでもありません。意味をなすには、how安全な何かがwhatに反対することを言う必要があります脅威。

完璧なセキュリティは存在しません。安全なものを作って家に帰れると思ったら、それは間違っています。

2
Anders