Mazewalkerの目標は、ランタイムデータ収集を自動化し、最終的には研究者が静的分析に集中し、その動的部分にあまり集中するのに役立つように、マルウェア分析時間を短縮することです。

パックコード-Mazewalkerは、コード実行が行われたすべてのメモリ領域を監視し、後で実行全体を再構築できるようにします。既に監視されている領域(ランタイムコードの復号化)にコード変更があった場合、後の分析のために新しいバージョンも保存されます。このアプローチは、一般的なコードの開梱に役立つと思われます。
インディペンデントコードの位置- 間接制御フローの変化の問題を解決するために( jmp eat 、 call [eax]など)、命令参照アドレスと制御フロー変更ターゲットアドレスは、静的フェーズ中の使用のために収集されます。
システムAPI-実行中に使用されたシステムAPIパラメーターを知ることは、マルウェアの内部と全体的な目的を理解するのに役立つ可能性があることは秘密ではありません。したがって、Mazewalkerには、使用されたAPIのパラメーションを保存または変更するためのPythonベースのAPIコールサイト分析があります。専用のWikiページで詳細を読むことができます。
コードカバレッジ-Mazewalkerは、すべての監視されたプロセスで実行されたすべての基本ブロックのリストを収集します。この情報は、IDAデータベースで制御フローグラフをマークすることにより、後者のコードナビゲーションを支援するために使用されます。
コード分散-今日のほとんどのマルウェアは、コードインジェクションを使用し、システム上の異なるプロセスに分配されます。 Mazewalkerは、これらの注入経路に従い、すべてのプロセスでデータを収集して、サンプルの動作のより明確な絵を示すことができます。
環境検出- 多くの反研究技術は、さまざまなシステムAPIによる収集された情報に基づいています。 MazewalkerのAPI傍受能力はスクリプトベースであるため、新しい反研究対策対策(WIKI)を追加するのは非常に簡単です。
視覚化- 収集されたすべてのランタイム情報は、iDapythonプラグインによって処理され、より(できれば)意味のある方法で提示されます。視覚化の新しい方法は、ランタイム情報を考慮し、コードがスレッドごとのビューをどのように実行しているかを示します。この方法では、プログラムの設計をより論理的に理解し、特定のタスクにさらに焦点を当てることができます。


Mazewalkerは、ランタイムデータ収集のためのIntelのPINフレームワークとIDA内視覚化のためのiDapythonに基づいています。

詳細な説明については、Wikiを参照してください。