- 2021/11/04
- ランサムウェア
【脅威分析レポート】破壊的なPYSAランサムウェアの内側
Post by : Cybereason Global SOC Team
Cybereason Global Security Operations Center(GSOC)は、Cybereasonの脅威分析レポートを発行し、影響を与える脅威について情報を提供しています。脅威分析レポートでは、これらの脅威を調査し、それらから保護するための実践的な提案を行っています。
この脅威分析レポートでは、GSOCがPYSAランサムウェアを調査します。PYSAランサムウェアは、今年初めに米連邦捜査局(FBI)がこのランサムウェアの活動の活発化と被害の大きさを報告したことで注目を集めました。PYSAは、政府機関、教育機関、医療機関など、リスクの高いターゲットを対象とした攻撃活動の一環として展開されています。この脅威分析レポートは、PYSAランサムウェアの実装と、侵害されたシステムに展開された場合のランサムウェアの内部動作原理に焦点を当てています。
PYSAランサムウェアについての重要なポイント
- 人間による操作:PYSAは人間が操作するランサムウェアであり、自己増殖機能は持っていません。攻撃者は、PYSAランサムウェアを完全な攻撃活動の一環として手動で展開します。PYSAランサムウェアのオペレーターは通常、資格情報を侵害するか、フィッシングメールを介してターゲットシステムに最初にアクセスします。ランサムウェアであるPYSAが感染したシステムに展開される前に、攻撃者は、一般に公開されているツールやオープンソースのツールを使用して、クレデンシャルの窃取、ステルス性、特権昇格、ラテラルムーブメントなどを行います。
- ハイブリッド暗号化アプローチ:PYSAランサムウェアは、C++プログラミング言語で実装されており、データの暗号化にはオープンソースのCryptoPP C++ライブラリを使用しています。このランサムウェアは、高度暗号化標準 – 暗号ブロックチェーン(AES-CBC)とリベスト・シャミア・エーデルマン(RSA)の暗号化アルゴリズムを組み合わせたハイブリッドな暗号化手法を用いてデータを暗号化します。これは、暗号化のパフォーマンスとセキュリティの両方を最大化するためです。
- 二重脅迫:また、PYSAランサムウェアは、被害者がデータ復号化のための支払いを拒否した場合、攻撃者が「データをネット上に流出させる」、「利益のために販売する」と被害者を脅すという二重脅迫戦術を用いています。
- 検知・防止:Cybereasonプラットフォームは、PYSAランサムウェアを効果的に検知して防止します。
- Cybereason検知と対応のマネージドサービス(MDR):Cybereason GSOCは、PYSAなどのランサムウェアグループが関与する攻撃をゼロ・トレランスとし、このような攻撃を重大で深刻度が高いインシデントとして分類しています。このようなインシデントが発生した場合、Cybereason GSOC MDRチームは、お客様に包括的なレポートを発行します。このレポートでは、インシデントの詳細な概要が示されており、侵害の範囲やお客様の環境への影響を把握するのに役立ちます。さらに、可能な限り帰属情報を提供するとともに、脅威を軽減し隔離するための推奨事項も記載されています。
PYSAランサムウェアの背景
PYSAは、2019年10月に大企業のネットワークに感染して注目を集めたランサムウェア、Mespinozaの新しい亜種です。フランス国立コンピュータ緊急対応チーム(CERT)は2020年4月、ランサムウェアであるPYSAがフランスの地方自治体も標的にしていることを報告しました。
これにより、このランサムウェアは脅威の中でも注目を集めました。米国の12州および英国の教育機関を標的としたランサムウェアであるPYSAの増加を確認したとする警告を発表しました。PYSAランサムウェアのオペレーターは、特に高等教育機関、K-12学校、神学校をターゲットにしています。また、FBIの報告によると、2020年3月以降、米国内外の政府機関、民間企業、医療分野が標的となり、ランサムウェアであるPYSAから攻撃を受けています。
2021年12月、BlackBerry脅威リサーチチームおよびIntelligence SPEARチームは、ランサムウェアであるPYSAを開発した攻撃者が本格的な攻撃活動を行い、標的となる特定の組織にランサムウェアを展開しているのを確認したと報告しました。
PYSAは人間が操作するランサムウェアであり、自己増殖機能は持っていません。攻撃者は、PYSAランサムウェアを完全な攻撃活動の一環として手動で展開します。FBIの報告によると、PYSAランサムウェアのオペレーターは通常、フィッシングメールメッセージもしくは、ブルートフォーシングで、Active Directoryドメイン資格情報やリモートデスクトップ(RDP)の資格情報などの資格情報を侵害することにより、ターゲットシステムへの初期アクセスを取得します。
ランサムウェアであるPYSAが感染したシステムに展開される前に、悪意のある攻撃者は、一般に公開されているツールやオープンソースのツールを使用して、クレデンシャルの窃取、ステルス性、特権昇格、ラテラルムーブメントなどを行います。
例えば、Famatech Corp.が開発したAdvanced Port ScannerとAdvanced IP Scannerは、ポートスキャンと情報収集を行うツールで、ネットワークコン
ピュータ上で動作しているサービスを発見し、情報を収集することができます。また、ランサムウェアのオペレーターは、PowerShell Empire、Koadic、PsExec、Mimikatzなどのツールを使用して、認証情報の窃取やラテラルムーブメントを行います。
PYSAランサムウェアを展開する前に、攻撃者はWindows Defenderなどのシステムセキュリティ機構を停止または削除するPowerShellスクリプトを実行します。また、システムの復元スナップショットやシャドウコピーを削除し、被害者がランサムウェアによって暗号化されたデータを復元できないようにします。
さらに、FBIの報告によると、攻撃者は、データが暗号化される前に被害者のシステムからデータを流出させるためにWinScpツールを使用しています。また、PYSAランサムウェアは、被害者がデータ復号化のための支払いを拒否した場合、攻撃者が「データをネット上に流出させる」、「利益のために販売する」と被害者を脅すという二重脅迫の戦術を用いています。
▲PYSAのデータリークサイトのスクリーンショット
PYSAランサムウェアのオペレーターは、被害者とのコミュニケーションをメールのみで行っています。彼らは被害者を「パートナー」と呼びますが、被害者とのコミュニケーションのためのチケットシス
テムやオンライン復号サービスなど、現在流行しているサービスとしてのランサムウェア(RaaS)のビジネスモデルに見られるようなメカニズムは使用していません。
PYSAランサムウェアは、C++プログラミング言語で実装されており、データの暗号化にはオープンソースのCryptoPP C++ライブラリを使用しています。このランサムウェアは、高度暗号化標準 – 暗号ブロックチェーン(AES-CBC)とリベスト・シャミア・エーデルマン(RSA)の暗号化アルゴリズムを組み合わせたハイブリッドな暗号化手法を用いてデータを暗号化します。これは、暗号化のパフォーマンスとセキュリティの両方を最大化するためです。
PYSAで暗号化されたファイルは、ファイル名の拡張子が.pysaとなります。PYSAという名称は、Protect your system amigoというスローガン、または同名のザンジバルコインに由来していると思われます。Protect your system amigoというスローガンは、ランサムウェアが感染したシステムに残すランサムノートに見られます。
PYSAランサムウェアの分析
このセクションでは、PYSAランサムウェアの実装と操作について説明します。以下の図は、PYSAの活動についての概要をまとめたものです。
▲PYSAランサムウェアの動作概要のまとめ
PYSAランサムウェアのプロセスは、まずコンソールから自分自身を切り離し、コンソールを閉じます。これにより、コンソールがランサムウェアの動作を視覚的に示すことなく、ランサムウェアを動作
させることができます。そして、PYSAランサムウェアは、Pysaという名前のミューテックスオブジェクトを作成します。このミューテックスオブジェクトがすでに存在する場合、ランサムウェアは終了します。これは、PYSAランサムウェアのインスタンスが一度に1つしか実行されないようにするためです。
▲Pysaという名前のミューテックスオブジェクトの作成
PYSAランサムウェアは、感染したシステムに接続されている固定メディアのドライブを列挙します。Windows API関数 GetDriveTypeW が0x3 (DRIVE_FIXED)を返すハードディスクなどのドライブです。PYSAランサムウェアは、固定メディアを搭載した各ドライブに対してプロセススレッドを作成し、その中でファイルの列挙と暗号化を行います。PYSAランサムウェアは第1段階では、暗号化対象としてホワイトリストに登録されているファイルを暗号化します。これらのファイルは、ランサムウェアを実装するファイルにハードコードされているファイル名拡張子のいずれかを持つファイルです。次の表は、暗号化のためにホワイトリストに登録されているファイルのファイル名拡張子の一覧です。
▲PYSAランサムウェアが第1段階で暗号化するファイルの拡張子
第2段階では、PYSAはドライブに保存されている残りのファイルを暗号化し、ドライブの各ディレクトリにREADME.READMEファイルを保存します。README.READMEファイルには、ランサムノートが記載されています。ランサムノートの内容は以下の通りです。
- Protect your system amigoというスローガン、これがPYSAの名前の由来だと思われます。
- 被害者には、情報漏えいのウェブサイトへのリンクが貼られ、攻撃者が侵害された組織からデータを流出させたこと、支払いが行われない場合にはこのデータを公開するか、データを消去することが知らされます。これは、二重脅迫の戦術です。
- 攻撃者と連絡を取るための電子メールアドレスのリスト。
どちらの段階においても、PYSAランサムウェアは以下のように動作します。
- 1KB以上のファイルのみを暗号化します。
- 暗号化対象としてブラックリストに登録されているファイルを暗号化しません。
これらは:⚪︎ pagefile.sysなどのシステムクリティカルなファイル、 the Windows boot manager and files stored in system-critical directories, for example, Windows, Boot, and System Volume Information;
⚪︎ ファイル名の拡張子が以下のいずれかであるファイル。.exe、.dll、 .search-ms、
.sys、 .README、または .pysa。
重要なファイルや、実行ファイルとして一般的な拡張子(.exe、.dll、および.sys)を持つファイルを暗号化することは、危険にさらされたシステムを起動不能にし、使用できなくすることになるため、PYSAは前述のファイルを暗号化しません。さらに、PYSAランサムウェアは、ファイル名の拡張子を.READMEと.pysaにして自分自身を作成します。これらのファイルの暗号化は、ランサムノートの暗号化と、PYSAによってすでに暗号化されているファイルの暗号化を意味します。
▲PYSAランサムウェアが感染したシステムに残したランサムノート
PYSAランサムウェアは、ファイルを暗号化する前に、まずファイル名に拡張子.pysaを付けてファイル名を変更します。例えば、test.txtは test.txt.pysaになります。
その後、PYSAはハイブリッド暗号化手法を用いてファイルを暗号化します。このアプローチは、AES-CBCとRSAの暗号化アルゴリズムを組み合わせたものです。
これは、暗号化のパフォーマンスとセキュリティの両方を最大化するためです。PYSAランサムウェアは、まず対称型暗号化アルゴリズムであるAES -CBCを用いてファイルを暗号化します。AES-CBCは、RSA暗号化アルゴリズムよりも性能は高いですが、安全性は低い設計になっています。このアルゴリズムは、暗号化の安全性を確保するために、対称的な暗号鍵と初期化ベクトル(IV)に依存しています。
このAESの欠点を補うために、ランサムウェアはAESの対称鍵とIVをRSA暗号化アルゴリズムを用いて暗号化します。PYSAランサムウェアは、暗号化にCryptoPP C++ライブラリを使用しています。
暗号化される各ファイルに対して、PYSAはまず、16バイトのランダムな配列を2つ生成します。1つ目の配列はAES-CBC対称暗号化キー、2つ目の配列は初期化ベクター(IV)です。そしてPYSAは、4096ビットのRSA公開鍵を用いてAES-CBC鍵とIVを暗号化します。
この公開鍵は、抽象構文記法1(ASN.1)形式でエンコードされ、基本符号化規則(DER)形式でPYSAランサムウェアを実装したファイルに格納されています。
▲PYSAランサムウェアがAES-CBCの鍵とIVの暗号化に使用する公開鍵
次にPYSAランサムウェアは、CryptoPPライブラリの HexEncoder クラスを使用して、暗号化されたAES-CBCキーとIVであるデータセグメントを文字列でエンコードします。このエンコーディングは、データセグメントのバイトを16進数で表現したときの数字を、情報交換用米国標準コード(ASCII)の大文字で表したものです。
AES-CBCの鍵とIVをRSAで暗号化したものは、暗号化に4096ビットのRSA鍵を使用しているため、512バイトになります。従って、エンコード操作の結果、1024バイトの2つの文字列が作成されます。
▲暗号化されていない状態で、RSA鍵を使用したAES-CBCの鍵とIV
その後、PYSAランサムウェアは、暗号化されるファイルのデータブロックを100等分して、ファイルの先頭から順に暗号化していきます。データブロックの暗号化には、事前に生成されたAES-CBCキーとIVを用いた暗号化アルゴリズムが使用されます。ランサムウェアは、以下を計算することにより、暗号化のデータブロックのサイズ(バイト単位)を計算します
▲⌊⌋ は フロア 関数と ファイルサイズはファイルのサイズ(バイト単位)です。
AES-CBCはブロック暗号モードで動作するため、データブロックの暗号化された形式は、データブロック自体のサイズと同じになります。PYSAランサムウェアは、データブロックを暗号化した後、暗号化されたデータブロックの形式をファイルに書き込み、元のデータブロックを置き換えます。この暗号化方法では、通常、ファイルの最後に暗号化されていないデータが残ってしまいます。
▲ファイルのデータブロックの暗号化されていない状態と暗号化された状態(データブロックサイズ:7168バイト)
その後、ランサムウェアは、AES-CBCキーとIVの暗号化された形式を格納する文字列をファイルの最後に追加します。これらの文字列はそれぞれ1024バイトの大きさであるため、PYSAが暗号化したファイルのサイズは、元の暗号化されていないファイルのサイズより2KB大きくなります。その後、ランサムウェアは暗号化を指定された次のファイルの暗号化を進めます。
▲AES-CBCキーとIVの暗号化された形式で、ファイルの最後に追加されます。
PYSAランサムウェアは、暗号化指定されたすべてのファイルを暗号化した後、レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\leg alnoticecaptionにPYSAという値を、そしてレジストリキーのランサムノートHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\leg alnoticetextを保存します。これにより、システムの起動時に身代金のメモがユーザーに表示され、ユーザーの注意を効果的に引き付けることができます。
その後、PYSAランサムウェアはミューテックスPysaを解放し、Windowsのバッチスクリプトコードをupdate.batというファイルに書き込みます。PYSAはまずこのファイルを、ランサムウェアが実行されたユーザーの一時ディレクトリに置きます
(たとえば、 C:\Users\user\AppData\Local\Temp)。そしてそれを実行します。 update.batは、PYSAランサムウェアを実装するファイルとこのファイルが保存されているディレクトリを削除します。またupdate.bat自身を削除します。
▲update.batの内容
IOC(侵害の痕跡)
実行ファイル | SHA-256 ハッシュ: 7FD3000A3AFBF077589C300F90B59864EC1FB716FEBA8E288ED8 7291C8FDF7C3 ファイルサイズ:512512バイト |
関連ファイル | Readme.README %TEMP%\update.bat |
ミューテックスオブジェクト | Pysa |
メールドメイン | Protonmail.com onionmail.org |
レジストリキー | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVe rsion\Policies\System\legalnoticecaption
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVe rsion\Policies\System\legalnoticetext |
MITRE ATT&CKマッピング
戦術 | テクニックまたはサブテクニック |
---|---|
TA0007: 発見 |
T1083: ファイルとディレクトリの発見 |
TA0002: 実行 |
T1106: ネイティブAPI |
TA0040: 影響 |
T1486: 影響を与えるために暗号化されたデータ |
TA0005: 防衛回避 |
T1070.004: ホストでのインジケータの削除:ファイルの削除 |
TA0005: 防衛回避 | T1112: レジストリの変更 |
PYSAランサムウェア検知と実行防止
Cybereasonプラットフォーム
Cybereasonプラットフォームは、脅威インテリジェンス、機械学習、次世代アンチウイルス(NGAV)機能を用いてランサムウェアを検知・ブロックするマルチレイヤー保護機能を用いて、PYSAランサムウェアを検知します。
▲Cybereasonプラットフォームは、脅威インテリジェンスに基づいてPYSAランサムウェアを検知します
Cybereasonプラットフォームのマルウェア対策機能は、PYSAランサムウェアの実行を検知して防止します。プラットフォームの動作検知技術は、ファイルを暗号化する試みを検知および防止し、そのためのMalopTMを自動的に生成することができます。
▲Cybereasonプラットフォームのマルウェア対策機能は、PYSAランサムウェアを検知します
PYSAランサムウェアに対するCybereason GSOC MDR
このセクションでは、Cybereason GSOCが、システム内のPYSAランサムウェアの存在を検知し、この脅威から防御するための追加のプロアクティブな方法を提供します。
YARAベースの検知
以下のYARAルールは、実行中のプロセスのコンテキストやファイルシステム内でPYSAランサムウェアの存在を検知するのに役立ちます。
▲PYSAランサムウェアを識別するためのYARAルール
ミューテックスオブジェクトの暗号化ロッキング
PYSAランサムウェアは、Pysaと呼ばれるミューテックスオブジェクトを作成します。このミューテックスオブジェクトがすでに存在し、ロックされている場合、ランサムウェアはデータを暗号化することなく終了します。これは、次の名前のミューテックスオブジェクトがPysaシステム上でのPYSAランサムウェアの将来の実行を停止する目的で、特定のシステム上の正当なプロセスによってロックされる可能性があります。
以下のPowerShellスクリプトでは、このディフェンス技術を紹介しています。このスクリプトでは、pysaという名前のミューテックスオブジェクトを作成、オープン、ロックし、ユーザーがCtrl+Cコマンドを実行すると、このオブジェクトをリリースしています。
ユーザーは、スクリプトファイルが保存されているディレクトリで、powershell.exe ./pysa_mutex_lock.ps1というコマンドを発行することで、スクリプトを実行することができます(pysa_mutex_lock.ps1はスクリプトファイルのファイル名です)。
▲PYSAという名前のミューテックスオブジェクトをロックするPowerShellスクリプト
推奨事項
- Cybereason NGAVアンチランサムウェア機能を「実行防止」に設定します。
- Cybereason NGAVのアンチマルウェア機能を有効化して、この機能のAI検知モードとAI実行防止モードを設定します。
- 脆弱性を悪用したランサムウェア感染のリスクを最小限に抑えるために、システムのアップデートとパッチ適用を推奨します。
- 安全なパスワードを設定し、定期的なパスワード変更と、可能な限り多要素認証の使用を推奨します。
- 未使用のRDPサービスを無効にし、使用済みのRDPサービスを適切に保護し、ブルート
フォース攻撃やその他の不規則なアクティビティがないかRDPログデータを定期的に監視することを推奨します。 - 定期的にファイルを安全なリモートロケーションにバックアップし、データリカバリプランを検討することを推奨します。定期的にデータをバックアップすることで、ランサムウェアの攻撃を受けてもデータを復元することができます。
- 外部から送られてきたメールを安全に処理することを推奨します。これには、ハイパーリンクを無効にし、電子メールメッセージの内容を調査してフィッシングの試みを検知することが含まれます。
Cybereasonは、エンドポイントから企業、そしてあらゆる場所へのサイバー攻撃を終息させるために、ディフェンダーと協力して取り組んでいます。
【ホワイトペーパー】ランサムウェア対策ガイド~二重脅迫型など進化するランサムウェアから情報資産を守るために~
近年、世界中で深刻な問題となっているランサムウェア。
このガイドは、日本における深刻な問題やランサムウェアの歴史を踏まえ、最新のランサムウェア攻撃にはどのような特徴や脅威があるのかについて解説するとともに、巧妙化するランサムウェアに対し私たちはどのような対策を講じれば良いのか。最新のランサムウェア攻撃への5つの対策ポイントをご紹介します。
https://www.cybereason.co.jp/product-documents/white-paper/6525/