Trusted Design

T1045 - Software Packing

概要

Software packing is a method of compressing or encrypting an executable. Packing an executable changes the file signature in an attempt to avoid signature-based detection. Most decompression techniques decompress the executable code in memory.

Utilities used to perform software packing are called packers. Example packers are MPRESS and UPX. A more comprehensive list of known packers is available, (Citation: Wikipedia Exe Compression) but adversaries may create their own packing techniques that do not leave the same artifacts as well-known packers to evade defenses.

Adversaries may use virtual machine software protection as a form of software packing to protect their code. Virtual machine software protection translates an executable's original code into a special format that only a special virtual machine can run. A virtual machine is then called to run this code.(Citation: ESET FinFisher Jan 2018)

管理者によるコメント

T1045(Software Packing:ソフトウェアパッキング)は、T1027(難読化)のサブセットとも言えますが、特に「実行ファイルを圧縮・暗号化して包み込む(パックする)」ことに特化した技術です。

1. 概要

Software Packingとは、マルウェアの実行コードを「パッカー」と呼ばれるツールで圧縮または暗号化し、別の実行ファイル(スタブ)の中に隠す手法です。

攻撃者が実現できること

2. 攻撃の流れ

  1. パッキングの実行: 攻撃者は完成したマルウェア(例:RAT)をパッカー(UPX, MPRESS, Themidaなど)にかけます。
  2. 構造の変化: 元のコードはデータ領域に押し込められ、ファイルの先頭には「展開用コード(スタブ)」が配置されます。
  3. 実行時の展開: ユーザーがファイルを実行すると、まずスタブが起動し、メモリ上で元のコードを解凍・復号します。
  4. 制御の移行: 展開が終わると、スタブはメモリ上の元のエントリポイント(OEP)へ処理を飛ばし、マルウェア本体が動作を開始します。

3. 防御・対策

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的なCVE

T1045自体は攻撃の「包装」技術であるため、特定の脆弱性を指すものではありません。しかし、多くのマルウェアがこの手法を標準装備しています。

分析

この攻撃手法を利用する脅威アクター

関連する CVE

攻撃手法 – 脅威アクター Graph


← Technique一覧に戻る ← Tactics一覧に戻る