サンドボックス回避
A 社では,メールの添付ファイルをサンドボックスで 5 分間実行して挙動を観察し,不審な挙動が無ければ利用者に配送している。ある添付ファイルは,サンドボックスでは不審な通信やファイル操作が観測されなかったが,配送先の PC で開かれてから約 30 分後に C&C サーバとの通信を始め,ファイルを暗号化した。このマルウェアがサンドボックスによる検知を免れた手口として,最も適切なものはどれか。
- ア実行ファイルを圧縮や暗号化によって難読化し,ファイルを実行せずにコードを調べる静的解析を困難にした。
- イ感染のたびに暗号化の鍵や復号ルーチンを変化させ,ファイルのパターンが一致しないようにした。
- ウC&C サーバのドメイン名を,日付などを基にしたアルゴリズムで次々に生成するようにした。
- エ起動後しばらく活動を休止するか,解析環境に特有の痕跡を検出したときは不正な動作を行わないようにした。
正解と解説を見る
正解 エ
この問題の基礎知識
- サンドボックスは,不審なファイルを隔離した環境で実際に実行して挙動を観察する動的解析の仕組みであり,観察できるのは限られた時間内に現れた挙動に限られる。
- マルウェアの検知回避の手口は,回避する対象で区別できる。難読化やパッキングは静的解析やシグネチャ照合,自身を変化させるポリモーフィック型はパターン照合,DGA によるドメイン名の生成はドメイン名のブロックリストを回避する。
- C&C サーバは,感染した端末に指令を送り,情報の送出や追加の攻撃などを制御する攻撃者のサーバである。
ア実行ファイルを圧縮や暗号化によって難読化し,ファイルを実行せずにコードを調べる静的解析を困難にした。
難読化は静的解析やシグネチャによる検知を妨げる手口である。サンドボックスでは実際に実行するので,実行時に展開された不正な処理は挙動として観測されるはずであり,何も観測されなかったことの説明にならない。
イ感染のたびに暗号化の鍵や復号ルーチンを変化させ,ファイルのパターンが一致しないようにした。
ファイルのパターンを照合するシグネチャ型の検知を回避する手口である。挙動を観察するサンドボックスでは,ファイルのパターンが変わっても,実行すれば不正な挙動は観測される。
ウC&C サーバのドメイン名を,日付などを基にしたアルゴリズムで次々に生成するようにした。
ドメイン名のブロックリストによる通信の遮断を回避する手口である。サンドボックス内で実行されれば,生成したドメイン名の名前解決や通信の試行が観測されるはずである。
エ起動後しばらく活動を休止するか,解析環境に特有の痕跡を検出したときは不正な動作を行わないようにした。正解
サンドボックスは限られた時間しか観察しないので,長時間待機してから活動するマルウェアは観察時間内に挙動を見せない。MITRE ATT&CK は,時間に基づく回避や仮想環境の痕跡の確認を Virtualization/Sandbox Evasion として挙げている。
検証用の出典出典照合済み
MITRE ATT&CK T1497 Virtualization/Sandbox Evasion / NIST SP 800-83 Rev. 1 Guide to Malware Incident Prevention and Handling照合の根拠(5 件)
- エ(正解): スリープタイマなどで一時的なサンドボックス内での活動を避ける
Additional methods include use of sleep timers or loops within malware code to avoid operating within a temporary sandbox.
MITRE ATT&CK · T1497 Virtualization/Sandbox Evasion(新しいタブで開きます) - エ(正解): 仮想環境・サンドボックスに特有の痕跡を確認して挙動を変える
This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox.
MITRE ATT&CK · T1497 Virtualization/Sandbox Evasion(新しいタブで開きます) - ア(誤り): パッキングはシグネチャ型の検知を回避する手口で,実行時の挙動は隠さない
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.
MITRE ATT&CK · T1027.002 Software Packing(新しいタブで開きます) - イ(誤り): ポリモーフィックなコードはシグネチャ型の防御を回避する手口
This functionality enables the malware to evade traditional signature-based defenses, such as antivirus and antimalware tools.
MITRE ATT&CK · T1027.014 Polymorphic Code(新しいタブで開きます) - ウ(誤り): DGA は C&C 通信の遮断・追跡を困難にする手口で,サンドボックス内でも通信の試行は観測される
This has the advantage of making it much harder for defenders to block, track, or take over the command and control channel, as there potentially could be thousands of domains that malware can check for instructions.
MITRE ATT&CK · T1568.002 Domain Generation Algorithms(新しいタブで開きます)
観察は 5 分間で,実環境では約 30 分後に活動を始めたので,観察時間を待機でやり過ごした(あるいは解析環境を検知して休止した)と推論できる。ア〜ウは実行すれば挙動が現れる手口なので,何も観測されなかったことを説明しない。