2026年に最も阻止されにくいランサムウェアファミリーが防御を回避する手法
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
このレポートでは、2026年に最も防御が難しいとされる10のランサムウェアファミリーを検討し、防御を回避するために使用される高度な回避戦術に焦点を当てています。この分析では、セキュリティコントロールを弱体化させるために設計されたステルスおよび防御インペアメント戦術を強調しています。共通の技術には、難読化、プロセス注入、セキュリティツールの無効化が含まれます。
調査
調査は、実際の攻撃技術を生産セキュリティコントロールに対してテストしたデータに基づく年次報告書「Picus Blue Report」のデータを使用しています。研究者は、最も防御されていない10のランサムウェアファミリーの行動をMITRE ATT&CKフレームワークにマッピングしました。この調査では、これらの脅威がステルスおよび防御インペアメント技術をどのように適用するかを具体的に評価しました。
ミティゲーション
ミティゲーションには、ブリーチと攻撃シミュレーション(BAS)を通じた防御と検出コントロールの検証が含まれるべきです。組織は認識された保護と実際のコントロール有効性の間のギャップを縮小する必要があります。防御者は、難読化、レジストリの変更、およびセキュリティテレメトリを改ざんしようとする試みの検出を優先するべきです。
対応
これらの行動が検出された場合、応答者はETWパッチ、プロセス注入、およびセキュリティサービスの無許可終了を調査する必要があります。法医学的タイムラインは、タイムスタンプの変更やイベントログの消去によって影響を受ける可能性があります。影響を受けたシステムの即時隔離とバックアップの完全性の検証が強く推奨されます。
攻撃フロー
検出
SQLプロセス終了の試み(cmdline経由)
Proof of Value
疑わしいバックアップサービスの停止(cmdline経由)
Proof of Value
可能性のあるリモートシステム発見または接続性チェック(cmdline経由)
Proof of Value
疑わしい活動回避(Wevtutilの不審な使用により)(cmdline経由)
Proof of Value
公共のユーザープロファイルからの疑わしい実行(process_creation経由)
Proof of Value
Powershellからの疑わしい.NETメソッドの呼び出し(powershell経由)
Proof of Value
PowershellでのConsolehost履歴ファイルへの疑わしい参照(powershell経由)
Proof of Value
公共のユーザープロファイルでの疑わしいファイル(file_event経由)
Proof of Value
BabLockランサムウェアイベントログクリアリング[Windowsセキュリティイベントログ]
Proof of Value
SodinokibiおよびBlack Kingdomのレジストリおよびコマンド履歴操作の検出[Windowsレジストリエベント]
Proof of Value
コマンド難読化と実行によるランサムウェア技術の検出[Windowsプロセス作成]
Proof of Value
シミュレーション実行
前提条件:テレメトリおよびベースラインの事前チェックが合格していること。
理由:このセクションでは、検出ルールをトリガーするために設計された敵対者技術(TTP)の正確な実行を詳細に説明します。コマンドと物語は、特定されたTTPsを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。抽象的または無関係な例は誤診を招きます。
-
攻撃の物語とコマンド: 敵対者は、正当なシステムアップデートに偽装してランサムウェアを展開することを目指しています。彼らは
msiexec.exeを使用し、遠隔地の.msiファイルをサイレントで実行します(/qn)、ユーザーの操作を避ける一般的な手法です。同時に、最終的なペイロードをダウンロードするために、さらに難読化されたPowerShellコマンドを使用します。ここでペイロード文字列はバイト配列内に隠され、iex(Invoke-Expression)を使用して簡単な文字列検出を回避するために再構築されます。これは、Magniberのようなファミリーの挙動を模倣しています。 -
リグレッションテストスクリプト:
# シミュレーションスクリプト:ランサムウェアコマンド難読化 # このスクリプトは、検出ルールによって対象とされる特定の文字列を生成します。 Write-Host "[+] シミュレーション開始..." # 1. msiexecパターンをシミュレート # 注:『含むすべて』論理要件を満たすためにダミーパスを使用します。 $dummyPath = "C:UsersPublicsetup.msi" Start-Process "msiexec.exe" -ArgumentList "/i `"$dummyPath`" /qn" -Wait Write-Host "[+] msiexecシミュレーションを実行しました。" # 2. 難読化されたPowerShellパターンをシミュレート # これは正確なロジックを模倣:powershell iex(-JOIN((112,97,121,108,111,100,...))) # 注:ルールは特定のサブストリングパターンを期待しています。 $obfuscatedCmd = "powershell.exe -ExecutionPolicy Bypass -Command `"iex(-JOIN((112,97,121,108,111,97,100,101,114,44,32,116,104,101,44,32,100,97,116,97))))`"" Start-Process "powershell.exe" -ArgumentList "-Command $obfuscatedCmd" Write-Host "[+] 難読化されたPowerShellシミュレーションを実行しました。" # 3. プロセスインジェクションコマンド文字列をシミュレート(コマンドライン引数経由でシミュレート) # ルールは『CreateProcess("...", CREATE_SUSPENDED) -> patch PEB->CommandLine -> ResumeThread』を探します。 $injectionCmd = "cmd.exe /c `"CreateProcess('...', CREATE_SUSPENDED) -> patch PEB->CommandLine -> ResumeThread`"" Start-Process "cmd.exe" -ArgumentList "/c $injectionCmd" Write-Host "[+] 注入文字列シミュレーションを実行しました。" Write-Host "[+] シミュレーション完了。" -
クリーニングコマンド:
# シミュレーション中に作成されたアーティファクトを削除するクリーニングスクリプト Remove-Item -Path "C:UsersPublicsetup.msi" -ErrorAction SilentlyContinue Write-Host "[+] クリーニング完了。"