仮想ブラウザ分離というものがあります。
リモートブラウザ分離、ウェブ分離など、いろいろな言い方がされますが、これは、Webブラウザをリモート環境で実行し、視覚的な出力のみをユーザーにストリーミングすることにより、Webブラウジングアクティビティをユーザーのデバイスから分離するセキュリティテクノロジです。
これまでの多くの攻撃では、悪意ある機構をHTMLやJavaScriptに含めるような形式で実現されるケースが多かったため、この方式によって悪意のあるコンテンツをリモート環境内に閉じ込めることになります。
これによって、この方式は有効性が高いものとなっています。
しかし、これを回避する方式が概念実証で確認されました。
- インプラントを仕込む
この概念実証では、仮想ブラウザ分離のために、まず初めに別の方法で侵害環境にマルウェアを持ち込む必要があります。
すべての回避活動はここから開始となります。 - ヘッドレスブラウザを設置する
動作を開始したインプラントは侵害環境にヘッドレスブラウザを設置します。
ヘッドレスブラウザはグラフィカルユーザインタフェースを持たないWebブラウザです。
単独で利用されることは通常ありませんが、自動処理に適した機構のため、しばしばスクレイピングや機能テストなどで使用されます。 - Webページを要求する
インプラントは設置したヘッドレスブラウザを介してWebページを要求します。
この侵害環境は仮想ブラウザ分離が実施されている想定ですので、その要求は分離されたブラウザに転送され、最終的にC2サーバに到達します。 - C2が応答する
C2はインプラントの要求に対し応答することになるのですが、応答内容はQRコードです。
形式はQRコードなのですが、QRコードの内容はC2からのコマンドとなっています。
画像形式のQRコードが含まれたWebページ情報が戻されます。 - 侵害環境にコンテンツが表示される
C2から戻されたQRコード画像を含むWebコンテンツは仮想ブラウザを経て侵害環境のヘッドレスブラウザまでたどり着きます。
このWebコンテンツは画像として表示されますが、QRコードは画像のため攻撃者の意図した形状のまま表示されることになります。 - インプラントはスクリーンショットを取得する
ヘッドレスブラウザには画面表示機能はありませんが、レンダリングしている内容を画像に記録する機能があります。
攻撃者はC2から転送されたQRコードがヘッドレスブラウザで描画されるのを待ち、画面を保存します。
保存した画面にはC2が送信したQRコードの画像が含まれます。 - QRコードを解釈する
インプラントはQRコードの読み取り機能を持つライブラリを使って、QRコードのなかのデータを読み取ります。 - インプラントは実行する
QRコードから読み取った内容は、C2から届けられたコマンド文字列です。
インプラントはこれを実行します。 - インプラントは実行結果を送信する
インプラントは外部へWebによる通信が可能です。
インプラントはURLパラメータにエンコードされたコマンド出力を含む新しいURLに移動します。
それを受け取ったC2のWebサーバはインプラントからコマンド実行結果を受け取れた状態となります。
これは、現時点では、セキュリティ研究者による概念実証にとどまります。
しかし、構想のみではなく、実際に概念実証のために作成されたコードで動作することが確認されました。
いろいろな製品でいろいろな安全のための機構が提供されています。
それぞれに特色があり、得られる効能は多くあります。
しかし、特定の技術や機構があるからといって、完全な安全が手に入るということにはできなさそうです。
安全を考えるとき、結局は最後の部分は人なのだということなのかもしれません。
QR Coding My Way Out of Here: C2 in Browser Isolation Environments
https://cloud.google.com/blog/topics/threat-intelligence/c2-browser-isolation-environments/?hl=en
この記事をシェア |
---|