T1009 - Binary Padding
概要
Adversaries can use binary padding to add junk data and change the on-disk representation of malware without affecting the functionality or behavior of the binary. This will often increase the size of the binary beyond what some security tools are capable of handling due to file size limitations.
Binary padding effectively changes the checksum of the file and can also be used to avoid hash-based blacklists and static anti-virus signatures.(Citation: ESET OceanLotus) The padding used is commonly generated by a function to create junk data and then appended to the end or applied to sections of malware.(Citation: Securelist Malware Tricks April 2017) Increasing the file size may decrease the effectiveness of certain tools and detection capabilities that are not designed or configured to scan large files. This may also reduce the likelihood of being collected for analysis. Public file scanning services, such as VirusTotal, limits the maximum size of an uploaded file to be analyzed.(Citation: VirusTotal FAQ)
管理者によるコメント
T1009(Binary Padding:バイナリパディング)は、攻撃者が自身の作成したマルウェアやツールに「無意味なデータ」を付け加え、ファイルサイズを意図的に大きくする技術です。
1. 概要
Binary Paddingとは、実行ファイル(バイナリ)の末尾や特定のセクションに、大量のヌルバイト(0x00)やランダムなデータを挿入する手法です。
攻撃者が実現できること
- 検知の回避: 多くのセキュリティ製品(アンチウイルスやサンドボックス)は、スキャン効率を上げるために「一定サイズ以上のファイル」を検査対象から除外するように設定されています。これを利用して監視をすり抜けます。
- ハッシュ値の変更: 1バイトでもデータを加えればハッシュ値(SHA-256等)が変わるため、既知のブラックリストによる検知を容易に回避できます。
- サンドボックスのタイムアウト: ファイルが巨大になると、解析機がファイルを読み込む、あるいはネットワークで転送する際に時間がかかり、解析がタイムアウトして「問題なし」と判断されることがあります。
2. 攻撃の流れ
- マルウェアの作成: 攻撃者はまず、目的を達成するための小さな実行ファイルを作成します。
- パディングの追加: ツールを使用して、ファイルの末尾に数百MB〜数GBの無意味なデータを追加します。
- 例:
cat payload.exe /dev/zero -n 104857600 > padded_payload.exe (100MB追加)
- 配信: 巨大化したファイルをターゲットに送信、またはダウンロードさせます。
- 実行: パディングデータは実行には影響しないため、OSは通常通りコード部分のみを読み取って実行します。
3. 防御・対策
- スキャンサイズ上限の見直し: セキュリティ製品の「スキャン対象ファイルの最大サイズ」を、リソースが許す限り引き上げます。
- エントロピー解析: ファイル全体のデータ分布(エントロピー)を確認します。大量のヌルバイトが含まれるファイルは、不自然にエントロピーが低いため、異常として検知可能です。
- ネットワーク監視: 不自然に巨大な実行ファイルが外部からダウンロードされている場合、ゲートウェイで遮断または警告を出します。
- エンドポイントでの挙動監視: ファイルサイズに関わらず、実行されたプロセスの振る舞い(APIコールや通信)を監視します。
4. 重要ポイント
- 「隠れる」のではなく「重すぎて無視させる」: 暗号化や難読化(T1027)がコードを隠す技術であるのに対し、パディングは「検査のコストを上げさせる」という物理的なアプローチです。
- シンプルだが効果的: 高度な技術を必要とせず、スクリプト一行で実装できるため、現在でも広く使われている手法です。
5. 関連する主なCWE
- CWE-345 (Insufficient Verification of Data Authenticity): データの真正性検証の不足。ファイルサイズが不自然に大きくても、署名や整合性が正しく検証されない場合に悪用されます。
- CWE-400 (Uncontrolled Resource Consumption): リソース消費の制御不足。解析エンジンが巨大なファイルの処理にリソースを使い果たし、サービス不能(解析不能)に陥る状況に関連します。
6. 関連する代表的なCVE
特定のCVE番号はありません。以下のような攻撃キャンペーンで頻繁に観測されます。
- APT28 (Fancy Bear): 彼らのツールセット(例:LoJaxなど)で、検知を避けるためにパディングが使用された事例があります。
- Emotet / TrickBot: これらのマルウェア亜種は、シグネチャベースの検知を逃れるために、動的にファイルサイズを変更することが知られています。
分析
この攻撃手法を利用する脅威アクター
関連する CVE
攻撃手法 – 脅威アクター Graph
← Technique一覧に戻る
← Tactics一覧に戻る