過去問ドリル

LinuCレベル3 セキュリティスペシャリスト インシデントの検知・防止 問18

インシデントの検知・防止/ホストセキュリティ

次のYARAのルールで検出されるファイルの説明として適切なものはどれか。 rule suspicious_dropper { strings: $mz = { 4D 5A } $cmd = "cmd.exe /c" nocase condition: $mz at 0 and $cmd }

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「インシデントの検知・防止」に対応。実際の試験問題ではありません)

正解:D

解説

YARAのルールでは、strings セクションで探すパターンを定義し、condition セクションでそれらを組み合わせた一致の条件を書きます。{ 4D 5A } は16進数で書いたバイト列で、ASCIIの「MZ」にあたり、WindowsのPE形式の実行ファイルの先頭に現れます。$mz at 0 はそのバイト列がファイルの先頭(オフセット0)にあることを条件にします。文字列に付けた nocase は大文字・小文字を区別せずに照合させる修飾子です。したがってこのルールは、先頭がMZで、中身のどこかに cmd.exe /c(大文字・小文字は問わない)を含むファイルに一致します。

選択肢ごとの解説

  • A誤り。condition は and で結ばれているため両方の条件が必要です。また nocase により大文字・小文字は区別されません。
  • B誤り。at 0 によって 4D 5A はファイルの先頭にある必要があり、nocase によって文字列の大文字・小文字は区別されません。
  • C誤り。strings で定義したパターンはファイルの内容と照合されるもので、ファイル名を調べる条件ではありません。
  • D正しい。$mz at 0 で先頭が 4D 5A(MZ)であることを、nocase 付きの $cmd で大文字・小文字を問わずその文字列を含むことを求めています。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く