Royalランサムウェアグループは2022年初頭に現れ、同年半ばから勢いを増しているランサムウェアグループです。このグループと同じ名前のランサムウェアは、さまざまなTTPを使って展開されており、世界中の多くの組織に影響を及ぼしています。研究者は、Royalランサムウェアと他のランサムウェアの間に類似する振る舞いが存在することを確認しています。そのため、Royalランサムウェアグループは、他のランサムウェアグループの元メンバーで構成されているものと思われます。

主な調査結果

  • ランサムウェア対策を回避する独自のアプローチを採用:Royalランサムウェアは、部分暗号化という概念を拡大しています。これは、同ランサムウェアがファイルコンテンツのあらかじめ決められた部分を暗号化する機能を持っていること、そしてそのような部分暗号化に基づいて「柔軟な割合での暗号化」を実現できることを意味します。これにより、ランサムウェア対策ソリューションによる検知がより困難なものとなっています。
  • マルチスレッド型のランサムウェア:Royalランサムウェアは、暗号化プロセスを高速化するために複数スレッド処理をしています。
  • グローバルなランサムウェアオペレーション:Royalランサムウェアは世界中で独力によるオペレーションを行っていることが報告されています。このグループは、RaaS(ransomware-as-a-service)を利用しておらず、特定の分野や国を標的にすることもないようです。
  • さまざまな導入方法:本レポートでも詳しく説明するように、Royalランサムウェアは、ターゲットへの初期感染および展開にはさまざまな方法で行っています。

はじめに

Royalランサムウェアグループは、2022年初頭に発見されたグループです。当初、同グループは、BlackCatやカスタムのZeonランサムウェアなどのサードパーティ製ランサムウェアを利用していました。しかし、2022年9月以降、独自のランサムウェアを使うようになりました。2022年11月時点で、1年以上首位を保っていたLockbitを抜いて、Royalランサムウェアはサイバー犯罪の中で最も多発するランサムウェアとなったことが報告されました。

Royalランサムウェアによる攻撃は、さまざまな方法で開始されます。そのうちの1つとして、フィッシングキャンペーンを通じたものが挙げられます。これは、一般的なサイバー犯罪で使われるBATLOADERやQbotなどの脅威ローダーを使用すると言われています。続いて、脅威ローダーはCobalt Strikeペイロードをダウンロードし、感染先の環境内で悪意あるオペレーションを継続して実施します。このような戦術は、QbotやBlackBastaなど、他のランサムウェア攻撃でもよく使用されています。

9月中旬以降、このランサムウェアグループは勢いを増しており、その被害者数は数十件に上ることが同グループのWebサイトで公表されました。このグループは、特定の業種を集中的に攻撃することはないようで、その被害者は工業や保険などさまざまです。被害者の大半は米国に拠点を置いていますが、より注目を浴びている被害者として、英国のモーターレースサーキットであるSilverstone Circuitが挙げられます。


▲Silverstone Circuitが被害者であることを示すRoyalランサムウェアのWebサイトのスクリーンショット

RoyalランサムウェアグループとContiの間の類似点については、両グループが使用する身代金要求ノートの類似(特に初期のRoyalにおいて)や、コールバック型フィッシング攻撃の利用などが、複数の報告で指摘されています。また、当社の調査では、暗号化プロセスの決定要因における類似など、さらなる類似性が確認されています。しかし現時点では、これらの類似だけでは、2つのグループを直接結びつけることはできません。

技術的な分析

■ランサムウェアの設定
Royalランサムウェアは実行時のコマンドラインに3つの引数を加えることができます。

  • -path [オプション]:暗号化されるファイルパス
  • -ep [オプション]:暗号化されるファイルの割合を示す数値
  • -id:32桁の配列

暗号化処理の決定木(ディシジョンツリー)は、コマンドライン引数に依存します。これにより、暗号化の速度、ファイルの破損、検知の可能性などの要素が直接的な影響を受けます。なお、コマンドラインで“-id”パラメータが与えられない場合、このランサムウェアは実行されません。


▲Royalランサムウェアのコマンドライン引数

コマンドラインを確認した後、Royalランサムウェアは、Vssadmin.exeプロセスに“delete shadows /all /quiet”引数を含んで実行し、シャドウコピーのバックアップを削除しようとします。


▲Royalランサムウェアによるシャドウコピーの削除

シャドウコピーの削除は、Cybereason Defense Platform経由でも確認できます。下面では、シャドウコピーの削除というアクティビティが、ランサムウェアの振る舞いとして特定されています。


▲「シャドウコピーの削除」をランサムウェアの振る舞いとして判定する(Cybereason Defense Platformでの表示)

バックアップが削除されると、Royalランサムウェアは除外パス(ファイルの暗号化を免れるファイルやディレクトリ)を設定します。次のファイル拡張子(またはファイル名)を持つファイルは、暗号化から除外されます。

  • .exe
  • .dll
  • .bat
  • .lnk
  • README.TXT
  • .royal


▲Royalランサムウェアによる拡張子除外リストの設定

次に、ランサムウェアは、暗号化処理から除外するディレクトリのリストを設定します。次の文字列を含むディレクトリは、暗号化から除外されます。

  • Windows
  • Royal Perflogs
  • Tor browser
  • Boot $recycle.bin
  • Windows.old
  • $window.~ws
  • $windows.~bt
  • Mozilla
  • Google


▲RoyalRoyalランサムウェアによるディレクトリ除外リストの設定

暗号化から除外するディレクトリを設定した後、このランサムウェアは、APIコールSocketを使用してTCPソケットを確立します。続いて、APIコールWSAIoctlを使用してLPFN_CONNECTEXのハンドラを呼び出し、ConnectEx関数を利用できるようにします。


▲RoyalランサムウェアによるConnectEx関数の取得

ランサムウェア設定の初期部分が完了した後、Royalランサムウェアは、ネットワークスキャンオプションに加えて、2つのスレッドを作成します。1つは除外されていないディレクトリに身代金要求書を出力するためのスレッドであり、もう1つはファイル暗号化用のスレッドです。

ネットワークのスキャン

前述したように、コマンドライン引数にパスが与えられていない場合、Royalランサムウェアは次の手順で動作を開始します。

まず、このランサムウェアはネットワークインターフェイスをスキャンし、可能であればAPIコールGetIpAddrTableを使用してターゲット端末(複数可)のIPアドレスを取得します。具体的には、“192. / 10. / 100. / 172.”のいずれかで始まるIPアドレスを検索します。


▲ネットワークのスキャン

次に、Royalランサムウェアは、APIコールWSASocketWを使用してソケットを確立した後、APIコールCreateIoCompletionPortを使用して、同ソケットを完了ポートと関連付けます。続いて、APIコールhtonsを使用してポートをSMBに設定し、最終的にLPFN_CONNECTEXコールバック関数を介して、指示されたIPアドレスへの接続を試みます。


▲ConnectExを使用

続いて、APIコールNetShareEnumを使用して、指定されたIPアドレスの共有リソースを列挙します。共有リソースが「\\\ADMIN$」または「\\\IPC$」のいずれかである場合、このランサムウェアは当該リソースを暗号化しません。


▲ネットワークリソースを列挙し、ADMIN$およびIPC$ファイル共有の暗号化を回避する

暗号化スレッド

Royalランサムウェアの暗号化はマルチスレッド方式で実行されます。実行するスレッド数を選択するために、APIコールGetNativeSystemInfoを使用して、端末に搭載されているプロセッサ数を取得します。続いて、そのプロセッサ数を2倍にした値に基づいて、適切な数のスレッドを作成します。


▲暗号化スレッドの作成

次に、RSA公開鍵を設定します。この鍵は、バイナリの中に平文で埋め込まれるものであり、AES鍵の暗号化に使用されます。


▲RSA公開鍵

暗号化プロセスを開始する前に、RoyalランサムウェアはWindows Restart Managerを使用して、暗号化対象となるファイルが他のアプリケーションやサービスによって使用またはブロックされているかチェックします。注目すべきは、Conti、Babuk、Lockbitを含む他のランサムウェアグループが同じ目的でRestart Managerを使用していることです。続いて、APIコールRmStartSessionを使用してセッションを開始した後、APIコールRmRegisterResourcesを使用してリソース(つまり対象となるファイル)を登録します。さらに、APIコールRmGetListを通じて、リソースを使用しているアプリケーションやサービス(「explorer.exe」を除く)を確認した後、APIコールRmShutDownを通じて、当該リソースを使用しているアプリケーションやサービスを停止させます。


▲Royalランサムウェアによるプロセスの強制終了

最後に、ランサムウェアが実行された際の-ep引数の値と、暗号化されるファイルのサイズに応じて、暗号化方式が決定されることになります。

  • ファイルサイズが5.245MB未満か、または-epの引数が「100:」である場合、ファイル全体が暗号化されます。
  • ファイルサイズが5.245MBを超え、かつ-epの引数が「100:」でない場合、-ep引数におおよそ指定された割合でファイルが暗号化されます。
  • ファイルサイズが5.245MBを超え、かつ-epの引数がない場合、ファイルの50%が暗号化されます。


▲暗号化方式の決定

対象となるファイルが暗号化される際、このランサムウェアは暗号化する割合を計算した上で、ファイルコンテンツ(暗号化されたものと暗号化されていないもの)を等しいセグメントへと分割します。このような断片化により、暗号化されたファイルコンテンツの割合を低くすることで、ランサムウェア対策ソリューションにより検知される可能性が低くなります。

次のテストは、同じファイル(5.245MBを超えるもの)を異なる暗号化割合(-ep引数の値)で暗号化したケースを比較したものです。左の画像は-ep引数が50であるケース、右の画像は-ep引数が10であるケースを示しています。


PortexAnalyzerによる比較:-ep引数が50の場合と10の場合

Royalランサムウェアは、ファイルを暗号化するだけでなく、各ファイルの末尾に532バイトを保存した上で、そこに次のような情報を書き込みます。

  • 512バイト:ランダムに生成される暗号化キー
  • 8バイト:暗号化されたファイルのサイズ
  • 8バイト:使用された-epパラメータ

部分暗号化は目新しいものではありませんが、ほとんどのランサムウェアは、ファイルサイズのみを基準に部分暗号化を行い、毎回ファイルの一定割合を同じように暗号化します。一方、Royalランサムウェアでは、オペレーターが特定の割合を選択することで、ファイルサイズが大きいファイルが暗号化されるデータ量を減らすことができます。このように暗号化するファイルの量を変更できるため、Royalランサムウェアは、セキュリティ製品による検知を回避する際に有利となります。

注目すべきは、Contiランサムウェアも、部分暗号化のしきい値として5.24MBのファイルサイズを選択していることです。ファイルが5.24MBを超える場合、ContiはRoyalランサムウェアと同様に、ファイルの50%を分割して暗号化します。この類似性から、Royalランサムウェアの作者には、Contiグループとのつながりがあるのではないかという疑惑が生じます。しかし、そのような類似だけでは、両グループの間に直接的または決定的なつながりがあるとまでは言い切れません。
暗号化アルゴリズムとして、RoyalランサムウェアはOpenSSLライブラリとAES256アルゴリズムを使用しています。他のランサムウェアと同様に、Royalランサムウェアは、まずAPIコールReadFileを使って対象ファイルを読み込み、内容を暗号化した後、APIコールWriteFileとSetFilePointerExを使用して暗号化データを指定された場所に書き込みます。暗号化の終了後、APIコールMoveFileExWを使用して、ファイルの拡張子を“.royal”に変更します。


▲Royalランサムウェアは、暗号化したファイルに拡張子.royalを付加する

■身代金要求ノートの作成
Royalランサムウェアは、プロセスの実行時に、APIコールGetLogicalDrivesを使用して、論理ドライブを取得するために追加のスレッドを作成します。続いて、除外リストに含まれていないすべてのディレクトリに“README.TXT”という名前の身代金要求ノートを出力します。


▲Royalランサムウェアによる身代金要求ノートの作成

最終的に、暗号化されたディレクトリは次のような形になります。


▲Royalランサムウェアに感染したフォルダの例

■概要
下図は、Royalランサムウェアにおける暗号化処理全体の決定木(ディシジョンツリー)を示したものです。


▲Royalランサムウェアの暗号化プロセスの決定木

結論

Royalランサムウェアの部分暗号化は他のランサムウェアと比べて、検知を回避するために、より柔軟なソリューションを実現しているようです。このような柔軟性と検知回避能力を有することが、Royalランサムウェアの作成者にとっての設計目標であったと推測されます。

上記で紹介した複数のレポートでも述べられていたことですが、Contiランサムウェアで実装されているアイデアのいくつかは、Royalランサムウェアでも見つけることができます。

■Cybereason Defense Platformによる検知と防御
Cybereason Defense Platformは、多層型のマルウェア対策機能を使用して、Royalランサムウェアへの感染を検知して防御します。このプラットフォームは、脅威インテリジェンスをはじめ、機械学習、ランサムウェア対策、次世代アンチウイルス(NGAV)、およびVariant Payload Preventionなどの機能を搭載しています。


▲Royalランサムウェアが“MalOp”をトリガした様子(Cybereason Defense Platformでの表示)

推奨事項

Cybereason GSOCチームおよびCybereason Security Researchチームは、Cybereason Defense Platformにおいて、次の措置を実施することを推奨しています。

  • App Control(アプリコントロール)を有効化し、悪意あるファイルの実行をブロックすること。
  • お使いの環境のポリシーでアンチランサムウェアを有効化し、アンチランサムウェア(Anti-Ransomware)を有効にし、Anti-RansomwareをPrevent(実行防止)モード設定すること。さらに、シャドウコピー検知を有効化し、ランサムウェアに対する最大の防御を確保すること。
  • 亜種実行防止を有効化し、Cybereasonの「バイナリ類似性分析 (BSA) インメモリ保護」を「実行防止」モードに設定すること。(訳註:バージョン21.2より前のバージョンでは「亜種実行防止」は「バイナリ類似性分析 (BSA) インメモリ保護」、「振る舞いベースの実行防止」は「振る舞いベースの実行保護」になります。)

サイバーリーズンは、エンドポイントから企業全体に至るまで、あらゆる場所でサイバー攻撃を阻止するために、防御者と一丸となって尽力しています。

MITRE ATT&CKフレームワークとの対応付け

戦術 手法またはサブ手法
TA0005:検出 T1083:ファイルとディレクトリの検出
TA0007:検出 T1016:システムネットワーク構成の検出
TA0007:検出 T1046:ネットワークサービスの検出
TA0007:検出 T1057:プロセスの検出
TA0007:検出 T1082:システム情報の検出
TA0007:検出 T1135:ネットワーク共有の検出
TA0040:影響 T1486:データ暗号化による影響
TA0040:影響 T1489:サービスの停止
TA0040:影響 T1490:システム復旧の妨害
TA0040:影響 T1490:システム復旧の妨害
TA0002:実行 T1059:コマンドおよびスクリプティングインタープリター

侵害の痕跡(IoC)

痕跡 痕跡のタイプ 説明
250bcbfa58da3e713b4ca12edef4dc06358e8986cad15928aa30c44fe4596488 SHA256 Royalランサムウェアのバイナリ
9db958bc5b4a21340ceeeb8c36873aa6bd02a460e688de56ccbba945384b1926 SHA256 Royalランサムウェアのバイナリ
c24c59c8f4e7a581a5d45ee181151ec0a3f0b59af987eacf9b363577087c9746 SHA256 Royalランサムウェアのバイナリ
5fda381a9884f7be2d57b8a290f389578a9d2f63e2ecb98bd773248a7eb99fa2 SHA256 Royalランサムウェアのバイナリ
312f34ee8c7b2199a3e78b4a52bd87700cc8f3aa01aa641e5d899501cb720775 SHA256 Royalランサムウェアのバイナリ
f484f919ba6e36ff33e4fb391b8859a94d89c172a465964f99d6113b55ced429 SHA256 Royalランサムウェアのバイナリ
7cbfea0bff4b373a175327d6cc395f6c176dab1cedf9075e7130508bec4d5393 SHA256 Royalランサムウェアのバイナリ
2598e8adb87976abe48f0eba4bbb9a7cb69439e0c133b21aee3845dfccf3fb8f SHA256 Royalランサムウェアのバイナリ

【ホワイトペーパー】ランサムウェアの歴史、組織、攻撃手法とその実態を徹底攻略

緊迫する国際情勢に伴い日本においても急増しているサイバー攻撃、事業停止など甚大な影響を及ぼすランサムウェア攻撃など、企業・組織におけるサイバーセキュリティへの取り組みは、もはやIT/セキュリティ担当者だけの課題ではなく、事業の継続性を担保する上で組織全体で取り組むべき最重要の課題となりました。

今回のテーマは「ランサムウェアの歴史、組織、攻撃手法とその実態を徹底攻略」で、ランサムウェア攻撃者自体や攻撃手法だけでなく、米国を始めとする国家のサイバー政策による影響を踏まえつつ、彼らを取り巻く環境にも注目し、その実態に迫ります。

本ホワイトペーパーでは、そのテーマに沿って講演したセッションの中から厳選した3つのセッションをご紹介します。
https://www.cybereason.co.jp/product-documents/white-paper/9248/