“`json
{
“title”: “Moonwalk++:マルウェアがWindowsコールスタックを偽装し検出を回避する新手法が明らかに”,
“content”: “
概要
セキュリティ研究者らは、マルウェアがWindowsコールスタックを偽装することで、その追跡を完全に隠蔽する危険な新技術「Moonwalk++」を発表しました。この手法は、現代のエンドポイント検出システムを回避するように設計されており、Stack Moonwalkingに関する以前の研究を拡張するものです。セキュリティツールがマルウェアによる機密性の高いWindows関数の呼び出しを検証する方法に、重大な脆弱性があることを示しています。
Moonwalk++のメカニズム
「コールスタックは、現代のEDRツールにとって重要な検出面となっています」と研究は説明しています。Elastic Securityのようなセキュリティ製品は、疑わしいAPI呼び出しを捕捉するためにコールスタックの分析に多大な投資を行ってきました。しかし、Moonwalk++はこれらの防御に重大な盲点があることを示しています。この攻撃は、Windowsが関数呼び出しの情報をどのように保存するかを悪用します。通常、マルウェアが新しいプロセスの作成やメモリの割り当てといった機密性の高いWindows APIを呼び出す際、セキュリティツールはこの呼び出しチェーンを調査してマルウェアの発生源を特定します。Moonwalk++は、このチェーンを操作して真の攻撃者を隠蔽し、正規のWindowsシステム関数からの呼び出しであるかのように見せかけます。
進化した隠蔽能力
Moonwalk++を特に危険にしているのは、マルウェアコードを実行中に暗号化できる能力です。以前のStack Moonwalkingバージョンでは、コードが暗号化されると特定の実行パターンが破綻するため、これは不可能でした。新バージョンは、巧妙なスタック操作トリックによってこの問題を解決し、マルウェアが実行中でも隠蔽された状態を維持できるようにします。
検出ツールに対する有効性
研究者たちは、Hunt-Sleeping-Beacons、Get-InjectedThreadEx、Hollow’s Hunterを含む一般的な検出ツールに対してその概念実証(PoC)をテストしました。いずれのツールも、OneDrive.exeのような正規のWindowsプロセスに注入されたMoonwalk++技術を検出できませんでした。
この技術が現在の検出方法を打ち破るには、以下のいくつかの主要な条件を満たします。
- コールスタックから実際の悪意のあるコードへの直接参照をすべて削除する。
- スレッドが正規のWindows関数から開始するように見せる。
- マルウェアが通常残す疑わしいメモリ領域をすべて隠蔽する。
セキュリティ対策への提言
この研究は、攻撃者と防御者の間の継続的な攻防における重大なエスカレーションを示しています。検出戦略が高度化するにつれて、攻撃者も同様に高度な回避技術を開発しています。このPoCコードはGitHubで公開されており、セキュリティチームにとって、検出のためにコールスタック分析だけに依存することの限界を浮き彫りにしています。防御戦略は、スタック検査を超えた行動分析、メモリパターン、API使用頻度の監視など、追加のテレメトリを組み込む必要があります。
”
}
“`”status”: “publish”
}
元記事: https://gbhackers.com/new-moonwalk-poc-how-malware-windows-call-stacks/
