
コマンドライン難読化 (CLOB) は、ファイルレスマルウェアや「Living off the Land」活動を行う悪意のあるアクターにおいて、無視できない要因であることが証明されています。多数の難読化ツールが実際に観測されている一方で、適切な対策はほとんど見られません。本講演では、Windows (PowerShellおよびCMD) と Linux (Bash) コマンドの両方で動作する難読化検出アプローチである Flerken を紹介します。我々の知る限り、Flerkenはクロスプラットフォームの難読化検出機能をサポートする初めてのソリューションです。
本講演ではまず、CLOBの攻撃ベクトルや分析戦略に関する重要な観察結果を共有します。次に、Flerkenの詳細な設計について説明します。説明は2つの部分に分かれており、すなわちKindle(Windows用)とOctopus(Linux用)です。それぞれ、人間の可読性がPS/CMD難読化に対する効果的な統計的特徴としてどのように機能するか、また動的構文解析を採用してBash CLOBに対する誤検出/見逃しを排除する方法を示します。Flerkenの有効性は、代表的なブラック/ホワイトコマンドサンプルと性能実験によって評価されます。
ここで、Flerkenが基本的に満たす機能特性を以下のように強調します:
• スケーラビリティ。 Flerkenはクロスプラットフォームの難読化検出をサポートします。さらに、FlerkenはサーバーEDRシステムにおいてリアルタイムの難読化バブリングを達成するのに役立ちます(数百万の規模で)。
• 精度。 Flerkenは、ほとんどのWindows/Linuxコマンド難読化を正確に識別するのに適しています。したがって、Flerkenは企業がサーバーエンドポイントの多くのセキュリティ調査で採用することができます。
• 可用性。 Flerkenは現在、公式ウェブページからアクセス可能です。コマンド文字列を貼り付けて、分析したいものをテストするだけで済みます。特定の入力ファイル形式は必要ありません。また、FlerkenをGithubでオープンソース化しているので、必要に応じて独自の検出器を構築できます。
別のブランチ web-demo をチェックアウトしてください。
Flerkenに関する質問やフィードバックがあれば、Issueを作成し、適切なラベルを選択してください。できるだけ早く解決します。
CHANGELOG.md をご覧ください。
この研究プロジェクトへのすべての貢献者と、Tencent Blade Teamのすべてのメンバーに感謝します。さらに、セキュリティ研究者のDaniel Bohannon氏とAndrew LeFevre氏の貴重なフィードバックと議論に感謝します。
FlerkenはApache 2.0ライセンスの下で公開されています。