Palo Alto Networksは9月6日(米国時間)、「Chinese APT Abuses VSCode to Target Government in Asia」において、中国の国家支援を受けているとみられる持続的標的型攻撃(APT: Advanced Persistent Threat)グループの「Stately Taurus(別名:Mustang Panda)」が、東南アジアの政府機関を標的にVisual Studio Codeを悪用したスパイ活動を実施していると伝えた。
Visual Studio Codeの悪用
今回確認されたサイバー攻撃ではVisual Studio Codeのポータブルバージョン「code.exe」、または環境にインストールされているバージョンを悪用する。攻撃者は標的の環境上で「code.exe tunnel」を実行することでGitHubのログインリンクを取得する。ログインには認証が必要だが、攻撃者自身のアカウントでログインできることから防御層としては機能しない。
ログインすると攻撃者は標的へのリバースシェルを取得することになり、任意のコマンドやスクリプトの実行、ファイルの作成などが可能になる。Palo Alto Networksの調査によると、Stately Taurusは標的の環境へのリバースシェルを取得後にマルウェアを展開し、機密データを窃取したという。また、タスクスケジューラーにスクリプト「startcode.bat」を登録し、永続性も確保したとされる。
この攻撃手法は、2023年9月にMediumに掲載された記事「Visual Studio Code: embedded reverse shell and how to block, create Sentinel Detection, and add Environment Prevention — well more like ideas and concepts to prevent abuse and exploit | by Truvis Thornton | Medium」において詳細が解説されている。しかしながら、実際の悪用が確認されたのは今回が初めてとみられている。
影響と対策
この攻撃手法はセキュリティソリューションの検出を回避する目的で使用される。攻撃者はVisual Studio Codeを悪用する前に環境に侵入しており、その状態でも一部の機密データを窃取できると考えられる。しかしながら、検出されると永続性を確保できない。スパイ活動では長期間潜伏して機密データを窃取する傾向がみられ、検出を回避する努力が行われる。
Visual Studio Codeのような署名されたMicrosoftアプリケーションは、配布、実行、通信など一連の活動をセキュリティソリューションから正常と判断される。また、開発環境という特殊性から起動される子プロセスも検出を回避できる可能性がある。これらのことから、Visual Studio Codeはリバースシェルとして機能する理想的な攻撃ツールと評価できる。
Palo Alto Networksは同様の攻撃を回避するため、サーバ、エッジデバイス、ネットワークすべてを保護可能な高度なセキュリティ環境の構築を推奨している。また、調査の過程にて判明したセキュリティ侵害インジケーター(IoC: Indicator of Compromise)を公開しており、必要に応じて活用することが望まれている。