セキュリティ研究者らは最近、Harmonyライブラリの革新的な活用を通じて.NETマルウェアに対抗するための戦略的な知見を明らかにしました。
本日早くに公開されたこの研究では、マルウェア解析におけるコード操作の重要性を掘り下げ、研究者、アナリスト、リバースエンジニアにとっての中核的な役割を強調しています。
従来、コードの機能はデバッグ、Dynamic Binary Instrumentation(DBI)、またはフック(hooking)フレームワークによって変更されてきました。これらの手法は非マネージドのネイティブコードに対しては有効であることが実証されていますが、.NETプラットフォーム上で動作するアプリケーションを扱う場合には状況が変わります。
.NETの領域では、マネージド層でコードを計測(インストゥルメント)する能力が限られており、研究者にとって課題となってきました。しかし、Check Point Research(CPR)は現在、Harmonyライブラリを際立った解決策として取り上げています。
オープンソースのライブラリであるHarmonyは、.NETメソッドをリアルタイムでパッチ適用、置換、デコレートすることに特化しており、マネージドコードの変更に伴う制約を克服します。
.NETマルウェアについて詳しく読む:MalVirtローダーが.NET仮想化を悪用してマルバタイジング攻撃を配信
CPRの研究記事では、Harmonyライブラリを用いた.NETマネージド・フッキングという概念を紹介し、その内部構造に踏み込みつつ、さまざまな種類のHarmonyパッチを示す実践的な実装例を提供しました。
特筆すべき点として、Harmonyライブラリはメモリ上のコードのみに対して動作し、変更がディスク上のファイルに影響しないことを保証します。この機能は、特に難読化ツールで保護された.NETマルウェアを扱う際に非常に有用です。参考までに、ディスクベースのデ難読化は元の構造を改変してしまい、機能喪失を引き起こすリスクがあります。
CPRの研究では、Harmonyフッキングの汎用性についても強調しており、研究者が参照されているすべてのアセンブリ、特に.NETランタイムに不可欠なものの機能を変更できることを示しました。さらに、ブートストラップおよびインジェクションのプロセスにも触れ、ローダーまたはインジェクターを介してHarmonyを.NETプロセスへ注入する方法を概説しています。
さらに研究では、Prefix、Postfix、Transpiler、Finalizer、Reverse Patchといった各種のHarmonyパッチを分類し、それぞれが.NETメソッドの挙動を変更するうえで特定の目的を担うことを示しました。
技術解説には「これらの例は、.NETフッキングがいかに強力であるか、そしてより重要なことに、Harmonyライブラリを使用すれば.NETの計測をいかに容易かつシンプルに実装できるかを示している」と記されています。
翻訳元: https://www.infosecurity-magazine.com/news/tackling-net-malware-harmony/