1 ポイント 投稿者 GN⁺ 4 시간 전 | 1件のコメント | WhatsAppで共有
  • REF6598 キャンペーンが Obsidian の共有ボルトを使って PHANTOMPULSE RAT を配布
  • 標的は Windows・macOS の金融・暗号資産関係者で、LinkedIn・Telegram で誘導
  • 感染は共有ボルトで コミュニティプラグイン同期 を手動で有効化したときに始まる
  • 悪性の Shell CommandsHider プラグインがスクリプトを実行し、PHANTOMPULL が RAT をロード
  • PHANTOMPULSE は Ethereum トランザクションで C2 アドレスを確認するため、遮断が困難になる

攻撃フロー

  • 初期アクセスと実行

    • REF6598 キャンペーンは Obsidian ノートアプリを悪用し、これまで文書化されていなかったリモートアクセス型トロイの木馬(RAT)PHANTOMPULSE を配布
    • 攻撃者はベンチャーキャピタル関係者を装ってプロフェッショナル向けネットワーキングサイトで標的に接触し、その後会話を非公開の Telegram グループへ移す
    • 協業を名目に、クラウドでホストされた共有 Obsidian ボルトへの参加を誘導
    • 初期アクセスは MITRE ATT&CK の T1566.002 Spearphishing Link に該当
    • 被害者が Obsidian 内で “Installed community plugins” の同期機能を手動で有効化すると感染が始まる
    • 共有ボルトには正規の Obsidian プラグインである Shell CommandsHider の悪意ある改変版が含まれており、コミュニティプラグインの有効化がコード実行につながる
    • 改ざんされた Shell Commands プラグインが悪性スクリプトを実行
    • ユーザー操作を誘導して悪性ファイルを実行させる段階は T1204.002 Malicious File に該当
  • Windows と macOS の感染段階

    • Windows では悪性プラグインが PowerShell スクリプトを実行し、そのスクリプトが PHANTOMPULL ローダーをドロップ
    • macOS では同様の手順が AppleScript を通じて進行
    • その後 PHANTOMPULL が最終ペイロードである PHANTOMPULSE RAT を復号して実行
    • PHANTOMPULSE はファイルベースの検知を回避するため、最終ペイロードをメモリ内で直接実行し、これは T1055 Process Injection と関連

PHANTOMPULSE の機能と C2 方式

  • PHANTOMPULSE は有効化されると、キーストローク取得、スクリーンショット撮影、ファイル流出、任意コマンド実行が可能
  • C2 通信は T1102.002 Bidirectional Communication に該当する方式で構成
  • PHANTOMPULSE はハードコードされたウォレットアドレスの最新 Ethereum トランザクションを照会
  • C2 サーバーの IP アドレスはそのトランザクションデータ内に含まれており、マルウェアはこれを通じてコマンドを受け取るサーバーを特定
  • この方式は、分散型かつ検閲耐性のある C2 アドレス確認メカニズムを提供し、脅威インフラの遮断を困難にする

影響

  • 感染に成功すると、攻撃者は被害者システムへの完全なアクセス権を得る可能性がある
  • 金融・暗号資産分野の従事者は、機密性の高い企業データ、知的財産、取引戦略、暗号資産ウォレット鍵、取引所の認証情報を窃取されるおそれがある
  • Windows と macOS の両方を狙う構造のため、潜在的な被害者の範囲が広い
  • ブロックチェーンベースの C2 利用は高度であり、脅威インフラの妨害を難しくする

検知指標

  • プロセス

    • Obsidian.exe
    • Obsidian が powershell.exe, cmd.exe, osascript などの子プロセスを生成していないか監視する必要がある
  • コマンドラインパターン

    • powershell -ExecutionPolicy Bypass
    • Obsidian のような非標準アプリケーションから開始された PowerShell 実行は疑わしいシグナルとなる
  • ネットワークトラフィック

    • 想定されないプロセスから Ethereum ブロックチェーンノードやゲートウェイへ向かう接続を監視する必要がある
    • このような接続は、PHANTOMPULSE が C2 アドレスを確認しようとしている動作である可能性がある
  • ファイルパス

    • [Vault]/.obsidian/plugins/
    • 公式プラグインマーケットプレイス外で Obsidian プラグインディレクトリのファイルが作成または変更されていないか確認する必要がある

検知と対応

  • プロセス監視: Obsidian プロセスが powershell.exe, cmd.exe, bash, osascript などのコマンドラインインタープリタを実行したときに検知・警告する EDR ルールが必要
  • ユーザー教育: 高リスク業界のユーザーは、ソーシャルエンジニアリングや共有ボルト・プラグインなどの協業ツール機能の悪用リスクを認識する必要がある
  • アプリケーション制御: 可能な場合は、アプリケーション制御ポリシーにより Obsidian のようなアプリで未承認のコミュニティプラグインのインストールと実行を制限する必要がある
  • ネットワーク監視: この活動が想定されないエンドポイントで、ブロックチェーンサービス関連の異常な DNS クエリや直接 IP 接続を監視する必要がある

緩和策

  • コミュニティプラグインの検証: すべてのアプリケーションでサードパーティまたはコミュニティ開発プラグインを有効化する際は特に注意が必要で、公式の信頼できるマーケットプレイスからのみインストールし、権限を確認するべき
  • 信頼できないボルトの自動同期を無効化: 不明または信頼できない出所の Obsidian ボルトに接続する際は、プラグイン同期を有効化してはならない
  • 最小権限の原則: Obsidian のようなアプリケーションは管理者権限ではなく標準ユーザー権限で実行し、侵害時の影響を抑えるべき
  • エンドポイントセキュリティ: 最新の EDR とアンチウイルスソリューションを導入し、不審なスクリプト実行とプロセスインジェクション手法を検知・遮断する必要がある

MITRE ATT&CK 緩和マッピング

  • User Training
    • ユーザーがソーシャルエンジニアリング戦術を認識し、依頼していない協業招待を疑うよう訓練することが、この攻撃ベクトルに対する主要な防御策となる
  • Execution Prevention
    • アプリケーション制御を使って Obsidian のようなアプリが PowerShell などのスクリプトを実行できないようにすれば、攻撃チェーンを断ち切れる
    • D3FEND マッピング: D3-EAL
  • Software Configuration
    • サードパーティプラグインのインストールを無効化するか、厳格な承認を求めるようアプリケーションを構成すれば、攻撃対象領域を縮小できる
    • D3FEND マッピング: D3-ACH

参考資料

1件のコメント

 
GN⁺ 4 시간 전
Hacker Newsのコメント
  • ObsidianのCEOです。プラグインのセキュリティに関する大規模なアップデートがまもなく出ます。このスレッドで出た懸念の多くを解消できるはずです。
    難しい問題ですが、取り組んでいます。ただし、この見出しは誤解を招きます。この記事は、ユーザーがObsidianの複数の安全警告を自ら拒否しなければならないソーシャルエンジニアリング攻撃についてのもので、私の知る限り概念実証レベルであり、実被害の報告は見ていません

    • 数年前からプラグインは安全ではないと言ってきました。Discordで、プラグインにはディスク全体へのアクセス権があると言ったら叩かれたのを鮮明に覚えています。遅すぎます
    • 今後は、プラグインが有効でも**.obsidianフォルダ**をvaultの外に移し、vault内のそのフォルダをデフォルトで無視するオプションが追加されるのでしょうか?
    • どれほど難しいかは分かりませんが、Androidのような権限ダイアログを追加すると大いに役立つと思います。Obsidianプラグインの99%はディスク全体へのアクセス権もインターネットアクセスも必要ありません
    • クライアントのソースコード公開も多くの懸念を和らげるはずです
    • 「複数の安全警告を積極的に拒否する」というのはポップアップのようなものですか? ほとんどの人はそういうものを深く考えずに承認します。
      プラグインや拡張機能は、基本的に実行までのハードルをもう少し高くすべきだと思います。プラグイン利用前の追加障壁がユーザー摩擦を生むのは理解しますが、サンドボックスや他の制限なしに未審査の任意コードを安全に実行する方法は、実際には存在しないと思います
  • これは誤解を招く見出しです。まるで正規プラグインが乗っ取られてマルウェアを配布した別のサプライチェーン攻撃のように見えます。
    実際には、被害者が同期されたvaultでの共同作業に招待され、そのvault内にRATを配布する非公式プラグインがあらかじめ入っているという話です。まったく別の話です

    • 何が誤解を招くのでしょう?
      「Novel Campaign Abuses Obsidian Note-Taking App to Target Finance and Crypto Professionals with PHANTOMPULSE RAT」と書かれています。新しい攻撃であり、Obsidianを悪用し、特定の集団を狙っており、RATがvault内にあるという意味なので、妥当な表現に見えます
  • Obsidianは本当に気に入っていて毎日使っていますが、コミュニティプラグインは権限体系が十分でないので使っていません。
    いずれプラグインが必要な権限を宣言し、それがユーザーに表示される日が来ることを期待しています。Obsidianチームはこの問題に真剣に対応すると思っていますし、何を出してくるのか楽しみです。信頼はしていますが、そもそもより良い権限体系やサンドボックスなしで設計されたという点には驚きます

    • Markdownファイルを見るのにVS Codeを使うのが面倒になってObsidianを使い始めました。プラグインをインストールする必要がなくて助かっています。見た限り、この点はかなり悪い設計に思えます
  • 「被害者は『Installed community plugins』の同期機能を有効にするよう求められる」
    Obsidianにはこの種の攻撃を防ぐための保護策があり、被害者はそれを無視するよう説得されたのです。成功したソーシャルエンジニアリング事案にすぎません。この攻撃はObsidianやプラグインシステムの脆弱性を悪用したものではないので、こういう見出しのせいでObsidianが引きずり下ろされるのは見たくありません

    • そうは思いません。https://obsidian.md/help/plugin-security#Plugin+capabilities
      「技術的な制約により、Obsidianはプラグインを特定の権限やアクセスレベルに安定して制限することができません。したがって、プラグインはObsidianのアクセスレベルを継承します。」
      コミュニティプラグインはコンピュータ上のファイルにアクセスでき、インターネットに接続でき、追加のプログラムまでインストールできます。Obsidianには保護策など何もなく、プラグインのインストールはすなわちコンピュータへの全面的なアクセス権を与えることです。こうなるのは時間の問題で、2010年ごろ以降にこういうプラグインシステムを出したこと自体、弁解の余地なく不注意だったと思います
    • Obsidianをよく使っていて気に入っていますが、この公開の価値はプラグインに対する認識を広め、攻撃経路を示したことにあると思います。
      あまり詳しくないユーザーは「ただのMarkdownファイルの集まりでしょ。マルウェアをそんなに心配しなくていいだろう」と考えるかもしれません
  • どうしてほとんどすべてのプラグインシステムはこんなに杜撰に設計されるのでしょうか? ちゃんとした隔離や権限管理を提供する優れたプラグイン開発フレームワークがなくて工数が大きすぎるのか、それとも必要なことが広く理解されていないため、自分たちのシステムが悪用されてからようやく学ぶのか気になります。両方でしょうか、それとも別の理由がありますか?

    • 根本には機能性とセキュリティのトレードオフがあります。ユーザーに強力な能力を与えて面白いことをできるようにすることもできるし、意味のある能力の大半を削って安全にすることもできます。たいていの人はセキュリティより機能性を好みます。
      もうひとつの問題は、セキュリティは難しく、広範なアクセス権を与えて基本的なガードを少し足すのは簡単だということです
    • すべてのプラグインが必要とするセキュリティフレームワークや構成要素を定義し、それを設計・実装・検証・保守しなければならず、時間がかかります。
      その部分を丸ごと飛ばすほうがずっと簡単です。つまり工数が大きいのは事実で、正確には、その作業量は多いが正しいことだと理解するセキュリティ重視のリーダーシップが必要なのです
    • Webスタックと適切なインターフェースを設計するためのリソース不足が原因ではないかと思います。こうしたソフトウェアは高水準のJSフレームワークで書かれるので、基本的にデータフローのパターンがよくなく、意図的な設計よりも実際に可能なやり方に流れがちです。
      意図して設計するには抽象化レイヤーを下げ、そのフレームワークのカスタムforkを維持しなければならないかもしれません。だから、おそらくアプリが使うコンテキストの一部を渡してライブラリをインスタンス化するような感覚でプラグインを設計したのでしょう。結局、それが動く最も単純な方法です。公開されたハッキング内容は特定の「脆弱性」について語っているわけではありませんが、Obsidianプラグインは常に神モードであり、攻撃者は人をだましてそれを使わせただけです。ポップアップをいくつか越えた先に実質的なリモートコード実行が待っていて、最終的にユーザーのせいにするのは滑稽です。開発者は恥じるべきです
    • Chromeブラウザのプラグインですら、これと似たセキュリティ問題があります。何十億ドルもの予算と優秀な開発者が大勢投じられていてもそうなのです。
      アプリの中にApp Storeを作るようなものです。Apple App Storeは、誰が何を公開できるかを非常に厳しく制限し、有料の障壁も設けることで悪意あるアプリを減らしています
    • なぜプラグインシステムがそのままサンドボックスを意味しなければならないのでしょう?
  • ソーシャルエンジニアリングだとしても、こういうことを許してしまうプラグインシステム設計なら、このプラットフォームは共有ツールとしては完全に使えません。
    知っておいてよかったですが、私にとっては「共有Obsidian vaultを使うならこの設定を正しく維持しよう」ではなく、「共有Obsidian vaultは絶対に受け取らず、プレーンテキストでのエクスポートを要求しよう」に近いです

  • Obsidianを使い始めたころに見たYouTube動画では、コミュニティプラグインの利用が勧められていました。こういう警告があっても、おそらく私はコミュニティプラグインを有効にしていたと思います。
    最初は善意だったプラグイン開発者が後から悪意を持つようになることもあり得ますし、ユーザーには分かりません。私は開発者でこうしたリスクも知っていますが、それでもコミュニティプラグインのオプションを有効にしていたと思うので、自分のリスク許容度が高いだけかもしれません。自分が少数派で、ほとんどのユーザーの行動ではないことを願います

  • こういうものは少し流行病のように広がっています。あらゆる攻撃やエクスプロイト、とくにソーシャルエンジニアリング攻撃に、Metal Gear風の名前や専用サイトが必要なわけではありません

  • 内容を読めば、問題はObsidianストアのプラグインから始まったのではなく、開かせるよう誘導した悪意あるvaultから始まっています

  • Obsidianは制限付き権限で実行しています。ネットワークアクセスなし、自身のディレクトリ外のファイルシステムアクセスなしです。
    プラグインやテーマを更新するときだけネットワークアクセスを有効にしています。信頼できないコードを実行しうる他のアプリケーションも同じやり方で動かしています

    • どうやってサンドボックス化しているのか共有してもらえますか?