MarioNET攻撃により、ハッカーは攻撃ページを離れた後でもブラウザを制御できます

Webテクノロジーの台頭により、インターネット上で新しい可能性が開かれました。 新しいAPIが登場し、特定の機能のサポートが導入されたため、ブラウザーはより強力になりました。

それを発見した研究者によるマリオネットと呼ばれる新しい攻撃は、適切な安全対策が講じられていない場合にAPIが悪用される可能性があることを強調しています(現在のところ)。

この攻撃は、最新のすべてのWebブラウザーがサポートする既存のHTML5 APIに依存しています。 ソフトウェアのインストールやユーザーの操作を必要とせず、ユーザーが攻撃元のWebページを離れた後も持続します。

攻撃者は、DDOS攻撃、暗号マイニング操作、パスワードクラッキングなど、あらゆる種類のアクティビティのためにコンピューターのリソースを悪用する可能性があります。

更新 :ここの研究論文で説明されているシナリオに反する批判的な声を見つけます。 批判の主なポイントは、攻撃方法がPeriodicSyncと呼ばれる機能に依存しており、この時点では仕様の一部ではないことです。 終わり

MarioNETは、訪問されたWebページとは別に、バックグラウンドで攻撃で実行されるスクリプト、Service Workerを使用します。 Service Workerの背後にある主な考え方は、特定の計算を別のスレッドに移動して、ユーザーが対話するアプリやWebページをブロックしたり、速度を低下させたりしないようにすることです。

Service Workerのライフサイクルは、作成されたページから完全に独立しています。 Service Workerは、Webページおよび親ページの変数と関数のDOM(ドキュメントオブジェクトモデル)にアクセスできません。

Service Workerを使用すると、システムが発信元のWebサイトから分離され、攻撃者に永続的な制御が与えられ、ユーザーが何が起こっているかを検出することが難しくなります。

特に、私たちのシステムは3つの重要な目的を達成します。

(i)訪問したWebサイトから隔離し、使用するリソースをきめ細かく制御できるようにします。 (ii)親タブを閉じた後でも、バックグラウンドで操作を中断せずに継続することによる永続性。 (iii)回避、Webページのアクティビティまたは発信通信を監視しようとするブラウザ拡張機能による検出を回避します。

ユーザーがWebページにアクセスすると、MarioNETはサービスワーカーを登録します。 攻撃を広める可能性には、悪意のあるWebサイトの作成、サイトのハッキング、広告の使用などがあります。

ブラウザは、Service Workerについてユーザーにほとんど情報を提供しません。 実際、ブラウザはサイト上の新しいサービスワーカーの作成をユーザーに強調しません。 アラートもプロンプトもありません。また、サービスワーカーの作成時にユーザーの許可を求めるプロンプトを表示するオプションすらありません。

Service Workerの存在を明らかにする唯一の要求は、Service Workerが最初に登録されたときにユーザーが最初にWebサイトにアクセスしたときの最初のGET要求です。 そのGET要求の間、監視拡張機能はサービスワーカーのコンテンツを監視できますが、疑わしいコードは監視しません。悪意のあるタスクを実行するコードは、パペットとの最初の通信後にのみサーバントに配信されます。この通信はブラウザ拡張から隠されています

MarioNETが特に厄介なのは、ユーザーが攻撃元のWebサイトを閉じた後も引き続きバックグラウンドで実行されることです。 Webブラウザーが閉じられると、コントロールは終了します。 研究者たちもこれを克服する方法を見つけましたが、それを行うにはWeb Push APIを使用するため、ユーザーとの対話が必要です。

保護

最新のブラウザには、既存のService Workerを表示するオプションが含まれています。 Firefoxユーザーはabout:serviceworkersまたはabout:debugging#workersを読み込むことができ、Chromeユーザーはchrome:// serviceworker-internals /を読み込むことができます。

これらのページで提供される機能を使用して、Service Workerの登録を解除できます。 Firefoxユーザーは、さらにService Workerを完全に無効にすることができます。

これは、正当な目的で使用するサイトの機能に影響する可能性があることに注意してください。 about:configで設定dom.serviceWorkers.enabledをfalseに設定する必要があります。

ChromeやFirefox用のService Worker Detectorなどの一部のブラウザー拡張機能は、WebページがService Workerを登録するときにユーザーに通知します。

Now You :ブラウザ開発者は追加の保護手段を実装する必要がありますか? (ZDNet経由)