ユーザーが感染したウェブページを閉じたり、そこから離れたりした後でも、ユーザーのブラウザ内で悪意あるコードを実行できる新しいブラウザベースの攻撃がギリシャの学者らによって考え出された。
資料PDF
https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_01B-2_Papadopoulos_paper.pdf
「MarioNet」と呼ばれるこの新しい攻撃は、ユーザーのブラウザから巨大なボットネットを構築するための扉を開く。研究者によると、これらのボットネットは、ブラウザ内での不正な仮想通貨マイニング(クリプトジャッキング)、DDoS攻撃、悪意あるファイルのホスティング/共有、分散型のパスワードクラッキング、プロキシネットワークでの不正リレー、クリック詐欺の宣伝、トラフィック統計のかさ増しに使用できる。
MarioNet攻撃は、ブラウザベースのボットネットを作成する同様の概念を発展させたものだ。この概念は、2007年に「Puppetnets」(パペットネット)研究論文で説明されている。
論文PDF
https://www.ics.forth.gr/_publications/TISSEC.puppetnets.2007.pdf
両者の違いは、ユーザーがブラウザのタブを閉じたり、悪意あるコードをホスティングしているウェブサイトから離れたりした後も、MarioNetが有効であることだ。
これが可能なのは、最近のウェブブラウザが「Service Worker」という新しいAPIをサポートするようになったからだ。この仕組みのおかげで、ウェブサイトは、ページのユーザーインターフェースをレンダリングする操作を、高負荷な計算タスクを処理する操作から分離させて、大量のデータを処理するときにウェブページの画面がフリーズするのを防ぐことができる。
技術的には、Service Workerは、「Web Worker」と呼ばれる従来のAPIと異なり、一度登録してアクティブにすると、そのページのバックグラウンドで存在し続け、動作することができる。ユーザーがそのService Workerを読み込んだサイトを参照し続ける必要はない。
MarioNetは、ブラウザでService Workerによって提供される機能を利用する。
攻撃ルーチンは、ユーザーが攻撃者の制御するウェブサイトにアクセスしたときにService Workerを登録し、次に ServiceWorker APIのSyncManagerインターフェースのバックグラウンド同期機能を悪用して、ユーザーがそのウェブサイトから離れた後もService Workerがアクティブな状態を維持するというものだ。
この攻撃はサイレントであり、ユーザーとのやり取りを一切必要としない。ブラウザはService Workerを登録する前に、ユーザーに警告を発したり、許可を求めたりしないからだ。
さらに、MarioNetの攻撃では、攻撃ポイントを分離できる。ユーザーへの感染にはウェブサイトAを使い、後からサーバBを使ってService Workerを制御することができる。
提供:Image: Papadopoulos et al.
これにより、攻撃者はトラフィックの多いウェブサイトに短期間だけ悪意のあるコードを配置して多くのユーザーベースを獲得して(悪意のあるコードを削除し)、別のセントラルサーバから感染したブラウザを制御し続けることができる。
さらに、MarioNet攻撃はPush APIを悪用することによってブラウザの再起動後も影響力を持続することができる。ただし、ここでは攻撃者が、感染したホストからこのAPIにアクセスするためのユーザーの許可を取得する必要がある。
MarioNet技術によって作成された後続のボットネットは、その後さまざまな犯罪行為に使用される可能性がある。
Service Workerは数年前に導入されたため、MarioNet攻撃はほとんどすべてのデスクトップおよびモバイルブラウザで機能する。機能しないのは、(デスクトップ向けでは)IE、(モバイル向けでは)Opera MiniおよびBlackberryだけだ。
提供:Image: Papadopoulos et al.
研究論文では、MarioNetがマルウェア対策のためのブラウザ拡張機能やマイニング対策から検出されないようにするための方法についても説明しており、ブラウザメーカーが取ることができるいくつかの緩和策も提案している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
https://www.zdnet.com/article/new-browser-attack-lets-hackers-run-bad-code-even-after-users-leave-a-web-page/
2019年02月26日 12時01分
ZDNet Japan
https://japan.zdnet.com/article/35133271/
IEがセキュリティ上要請される時代が来たか、胸熱だな。
そしてIE攻撃コードが作られると・・・
ちなみに、マイクロソフトはIEのメンテナンスできる人誰も居ないよ。
マジレスすると最新のAPIについていけてないだけなんですが(´・ω・`)
サービスワーカーが搭載されたときに予測できてたよな
サービスワーカーの登録にいちいちダイアログ出したら面倒だし
解決方法って結構難しいんじゃないかな
>>7
以前にグーグルの開発者が
新機能としてService Workerを誇らしげに語っていた講演を見たことがある
その時に「もしも、悪意のある攻撃が怖いな・・・」
と思ってたが、
やっぱり、そういうのが実現されたな
ならJavascript切っとけばいいんじゃね
>>8
俺は、安全なサイトはクロームで見るが
それ以外のサイトはIEでしか見ない
でIEは
Javascript、ActiveXなど全部無効にしている。
現状コレ以外の対策が無い
もう使うの止めようぜ!
対策としては、
Service WorkerをKillするようなプログラムを作っておけば良いのか
⇒Service Workerを探知する
⇒そのプロセスIDを取得する
⇒それをkillする
これをクローム上でアドオンすれば良いのか
ブラウザ開じるときに全サービスをオフ、
該当URLが開かれない限りサービスがONにならないようにすればええやん
登録URLがYahooとかに偽装されるんけ?
>>27
そもそもService Workerの目的が
ブラウザが閉じてる時にも裏で処理が出来る事
=バックグラウンド処理だからな
それを全否定するような提案してどーすんだよ、お前は
ローカルデータと隔離することがメインだけど
今はネットアクセスできることやCPUリソース使えること自体が
セキュリティホールになるからなぁ
時代遅れになってるのかもしれないね
それだね。
クラウドの時代だから、ローカルデータのアクセスできないようにしただけでは不十分。
・俺の許可していないタスクを処理するな
・罰金取れ
高スペだと気付かなそう
引用元
管理人からひと言
これは恐ろしい
この記事へのコメントはありません。