ニュースの概要
- Cisco Talos は最近、ロシアの APT グループ Turla が使用する新たなバックドアを発見しました。
- 米国、ドイツ、さらに最近ではアフガニスタンでも感染が確認されています。
- 人目に付くことなく感染したデバイスに再侵入できるようにするバックドアとして使用されていると考えられます。
- ファイルのダウンロード、アップロード、実行に使用されます。
- バックドアのコードは非常にシンプルですが、十分効率よく機能し、検出されることはほとんどないでしょう。
最新情報
Cisco Talos は、APT グループ Turla が仕掛けているバックドアを発見しました。これまで確認されたことがないバックドアです。シンプルなバックドアであり、メインのマルウェアが削除された場合でもシステムに再侵入できるようにするために使用されていると考えられます。また、新たなマルウェアをシステムに感染させる第 2 ステージのドロッパーとして使用されている可能性もあります。
仕組み
バックドアは、感染したマシンにサービスとしてインストールされていました。攻撃者は既存の Windows サービスを真似た「Windows Time Service」というサービス名を付けることで、検出を逃れて攻撃を試みていました。このバックドアには、ファイルをアップロードして実行したり、感染したシステムからファイルを盗み出したりする機能があります。Talos が調査した際には、HTTPS 暗号化チャネルを介してコマンドアンドコントロール(C2)サーバに 5 秒ごとに接続し、攻撃者からの新しいコマンドがないかをチェックしていました。
影響
バックドアの機能は限定されていて、コードもシンプルなため、マルウェア対策システムで検出されにくくなっています。テレメトリでは、少なくとも 2020 年から攻撃者によって使用されているという証拠が見つかっています。
このマルウェアに注目したのは、最近のタリバンによるアフガニスタン政権奪取と西側諸国の支援を受けた軍の撤退が行われる前の時点で、アフガニスタンを標的にしていたためです。フォレンジックの証拠から、旧アフガニスタン政府が標的にされていた可能性があると Cisco Talos では考えています。今回の事例を見ると、バックグラウンドで数多くの正規のサービスが常に実行されていて不透明になっている今日のシステムでは、悪意のあるサービスがいかに見過ごされやすいかがよく分かります。多くの場合、実行中のサービスがすべて正規のものであるかどうかをシステム管理者が確認するのは困難です。実行中の不明なサービスを検出するソフトウェアや自動化されたシステムを使い、システムが感染した可能性がある場合は熟練した専門家のチームに適切なフォレンジック分析を実行してもらうことが重要です。
このマルウェアは、5 秒ごとに C2 に接続します。優れた防御システムであれば、こうしたネットワークトラフィックの異常を検出し、アラームを生成できます。ネットワークの動作をベースにした検出をセキュリティアプローチに組み込むことがいかに重要か、これでよく分かります。Turla はよく知られており、セキュリティ業界では注意深く監視されています。にもかかわらず、このバックドアをほぼ 2 年間にわたって使用してきました。明らかに、防御側は何らかの手を打つ必要があります。
Turla とは
情報セキュリティ業界において、Turla はさまざまな名前で呼ばれています。Snake、Venomous Bear、Uroburos、WhiteBear はいずれも Turla の別名です。ロシアを拠点とする悪名高い Advanced Persistent Threat(APT)グループであり、少なくとも 2004 年からスパイ活動を続けています。
長年にわたり、世界中の標的を攻撃するために膨大な攻撃ツールを開発し、維持してきました。ヨーロッパのさまざまな政府機関、米国、ウクライナ、アラブ諸国が標的となっています。
コマンドアンドコントロール(C2)インフラとして Turla がよく利用するのは、侵害された Web サーバとハイジャックされた衛星回線です。攻撃によっては、C2 サーバと直接通信しない場合もあります。その場合は標的のネットワーク内の侵害されたシステムをプロキシとして使用し、実際の C2 サーバにトラフィックを転送します。
Crutch や Kazuar などの有名なマルウェアは、Turla の手によるものです。最近では、バックドア Sunburst と Turla の間に関係がある可能性を示す調査も出ています。すべての攻撃が Turla によって実行されているとは限りません。ただ、セキュリティ業界では長年にわたり、ロシアのさまざまな攻撃者と技術的な証拠を戦術、手法、手順(TTP)と合わせて注意深く監視してきました。これに加えて政治的な利益を追跡してみると、Turla が関与していると考えられる攻撃やツールセットは少なくありません。
技術詳細
テレメトリでバックドアを発見したものの、攻撃対象のシステムにマルウェアがインストールされた正確な方法は分かりませんでした。ただ、後で紹介するファイルと同様の .bat ファイルを使用してバックドアを設置したことは判明しています。バックドアを仕掛けるのは、w64time.dll というサービス DLL です。ファイルの説明と名前から、まるで Microsoft の 正規の DLL のように見えます。
感染していない Windows システムの %SYSTEMROOT%\system32 ディレクトリには w32time.dll が存在します。これは Microsoft の正規の DLL ですが、w64time.dll という名前の正規の DLL は存在しません。マルウェアである w64time.dll も、正規の w32time.dll も、64 ビット Microsoft Windows システム上の 64 ビット PE ファイルです。Windows には 32 ビット版と 64 ビット版のアプリケーションが多数存在するため、このマルウェアを名前ですぐに判別するのは容易ではありません。
バックドアは、以下のような .bat ファイルを使用して、一見無害な偽の Microsoft Windows Time サービスとしてインストールされていました。バックドアが使用するレジストリの設定パラメータも、この .bat ファイルで設定されます。調査継続中のため、元の C2 の IP アドレスは削除しています。
これは、マルウェアが svchost.exe プロセスに隠れてサービスとして実行されていることを意味します。DLL の ServiceMain スタートアップ関数は、バックドアのコードを含む「main_malware」という関数を実行するにすぎません。
まず、レジストリから設定情報を読み取り、「result」構造に保存します。この構造は後で「sConfig」構造に割り当てられます。
DLL は全体的に非常にシンプルです。いくつかの関数と 2 つの while ループで主に構成されており、その中にマルウェアのロジックがすべて含まれています。
最初の while ループの開始後、バックドアは C2 サーバに自身を登録します。その後応答が解析され、バックドアがコマンドを受信できるようになります。応答する C2 サーバが見つかるまで、レジストリの設定パラメータに保存されている C2 サーバのリストがチェックされます。ホストは、前述の「Hosts」レジストリキーに <IP Address Host1> <TcpPort> <IP Address Host2> <TcpPort> <IP Address Host3> <TcpPort> といった形式で保存されています。区切り文字は空白です。
どの C2 サーバも応答せず、設定されているホストのリストの最後に達した場合、モジュロ演算がゼロを返します。host_index はゼロとなり、バックドアはレジストリキー <TimeLong> に保存されているミリ秒数の間だけ待機します。今回の例では 1 分に設定されていました。その後、再度起動し、設定されている C2 サーバへの接続をホスト 1 台 1 台に対して応答があるまで試行します。
C2 サーバへの接続が確立されると、バックドアは内側の while ループ(C2 制御ループ)に留まり、<TimeShort> に保存されているミリ秒数ごとにコマンドをチェックします。
C2_GetCommand_ComHandler は、C2 サーバとの通信を処理します。こちらの Microsoft 社の例に似た Windows WinHttp API を利用し、C2 コマンドとパラメータを受け取ります。C2 トラフィックの暗号化には、SSL/TLS が使われています。
トラフィックが TLS で暗号化されていても、バックドアは証明書をチェックしません。
使用する認証は「Security」レジストリキーに保存されているパスワードのみであり、C2_ProcessCommand 関数の開始時にチェックします。
C2_ProcessCommand 関数は、その名のとおり、受信した C2 コマンドを処理します。関連するバックドアの関数を実行するために、switch ステートメントを使用しています。次のコードは、switch ステートメントの最初の部分です。
Talos は、さまざまなバックドア機能について、次のような C2_command_codes を収集しました。
- 0x00:「認証」
- 0x01:「プロセスを実行」
- 0x02:「出力コレクションを使用して実行」
- 0x03:「ファイルをダウンロード」
- 0x04:「ファイルをアップロード」
- 0x05:「サブプロセスを作成」
- 0x06:「サブプロセスを終了」
- 0x07:「サブプロセスのパイプイン/アウト」
- 0x08:「TimeLong を設定」
- 0x09:「TimeShort を設定」
- 0x0A:「新しい『Security』パスワードを設定」
- 0x0B:「ホストを設定」
もう 1 つ興味深いのは、HTTP ヘッダーの「Title」に攻撃対象のマシンの GUID が設定されている点です。HTTP ヘッダーの形式は「Title: 01234567-1234-1234-1234-123456789abc」となっています。
まとめ
Turla は長年にわたって国家の支援を受けた攻撃者として活動してきており、すぐに姿を消すことはないでしょう。多くの場合、Turla のような攻撃者が使用するのは高度なマルウェアですが、検出を逃れることができるマルウェアを使用することも珍しくありません。ただそれでも、他の誰もが犯すようなミスを犯しています。たとえば Talos は、目に付く Turla の攻撃を数多く監視してきました。攻撃では、侵害されたサーバをよく利用し、同じサーバを再利用しています。SSH 経由でサーバにアクセスしますが、多くの場合 TOR で保護されています。今回のバックドアが Turla によるものだと判断した公の理由の 1 つに、Turla が別の攻撃に使用したインフラと同じもの(明らかに、Penguin Turla のインフラだとされているもの)が使用されていたことが挙げられます。
Talos は、こうした攻撃からお客様を保護するため、Turla をはじめとする国家の支援を受けた攻撃者を引き続き監視していきます。どのような種類であれ、大半のマルウェアでは感染手口が絶え間なく進化し続けています。攻撃者は、マルウェアの検出を困難にするために巧妙な手口をいくつも組み合わせて使用します。
今回のような攻撃を検出するためには、マルチレイヤのセキュリティアーキテクチャの導入がこれまで以上に重要になります。一部のセキュリティ対策をバイパスすることはできるかもしれませんが、すべてをバイパスするのは極めて困難です。今回のような攻撃と攻撃手口の進化は、今後もしばらく続くものと予想されます。
カバレッジ
お客様がこの脅威を検出してブロックするための方法を以下に記載します。
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、
Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Cisco Secure Network/Cloud Analytics(Stealthwatch/Stealthwatch Cloud)は、ネットワークトラフィックを自動的に分析し、接続されているすべてのデバイスで、望ましくない可能性があるアクティビティをユーザに警告します。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザがアクセスする前に疑わしいサイトをテストします。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザに多要素認証を提供し、承認されたユーザのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。
Cisco Secure Endpoint ユーザは、Orbital Advanced Search を使用して複雑な OSquery を実行し、エンドポイントが特定の脅威に感染しているかどうかを確認できます。類似の脅威に対応する osquery の具体例については、こちらをクリックしてください。
IOC(侵入の痕跡)
ファイル:
%SYSTEMROOT%\system32\w64time.dll
ハッシュ:
030cbd1a51f8583ccfc3fa38a28a5550dc1c84c05d6c0f5eb887d13dedf1da01
YARA:
import “pe”
rule TinyTurla {
meta:
author = “Cisco Talos”
description = “Detects Tiny Turla backdoor DLL”
strings:
$a = “Title:”
$b = “Hosts” fullword wide
$c = “Security” fullword wide
$d = “TimeLong” fullword wide
$e = “TimeShort” fullword wide
$f = “MachineGuid” fullword wide
$g = “POST” fullword wide
$h = “WinHttpSetOption” fullword ascii
$i = “WinHttpQueryDataAvailable” fullword ascii
condition:
pe.is_pe and
pe.characteristics & pe.DLL and
pe.exports(“ServiceMain”) and
all of them
}
本稿は 2021 年 09 月 21 日に Talos Group のブログに投稿された「TinyTurla – Turla deploys new malware to keep a secret backdoor on victim machines」の抄訳です。