技術的解説
技術的解説の詳細情報
特定環境下のみの動作
概要
任意の環境で動作するのではなく、特定の条件を満たす環境でのみ動作するような仕組みである。このような仕組みは、例えば標的とした環境や条件下でのみ処理を実行させたり、解析環境では処理を実行させないようにしたりすることで、解析や検知が困難となる効果がある。
なお、ここでの「環境」は、動作する環境(OSは何か、仮想環境下であるか等)に加え、特定の国(タイムゾーン)や、特定の日時・時間経過後も含む。
具体的な手法
具体的な手法として以下が挙げられる。
- 特定の端末であるかの確認
- ネットワークインタフェースのMACアドレスを取得し、特定の値であるか照合させる
-
ホスト名(コンピュータ名)が特定の名称、または命名規則に合致するかを確認する
-
特定の組織・業界であるかの確認
-
業務アプリケーションや社内ツール、特定ベンダ製ソフトの存在を確認する
-
特定の国や地域であるかの確認
- OSの言語設定やロケール情報を取得し、特定の言語・地域設定であるかを確認する
- タイムゾーンを参照し、特定地域の時刻帯に該当するかを判定する
-
IPアドレスから推定される国・地域情報を利用して判定する
-
特定の日時であるか、時間経過後であるかの確認
- 現在のシステム日時が特定の日付以降、または特定期間内であるかを確認する
- 特定のプロセス起動後、またはインストール後に一定時間が経過しているかを判定する
-
システムの連続稼働時間(uptime)が閾値を超えているかを確認する
-
仮想環境・解析環境であるかの確認
- 仮想化ソフトウェア特有のデバイス名、ドライバ、プロセスの有無を確認する
- CPU情報やハードウェア構成が仮想環境特有の値でないかを判定する
- 一般的な解析環境で使用されやすいホスト名、ユーザー名、MACアドレスの特徴を検出する
- マウスの動き、デスクトップやホームディレクトリのファイル数から、一般的な利用環境であるか判定する
- 自身がデバッガ上で動作しているか否かを判断する
- 特定のAPIを実行した際に掛かる時間を測定し、解析環境であるか否かを判断する