目次

カスタムコンテンツルールを追加する

Deep Security Smart Check には、イメージに含めることのない一般的な項目を検出するルールのコレクションが組み込まれています。 YARA 言語を使用して、独自のコンテンツルールを作成することもできます。

個々のルールはルールセットにバンドルされ、ルールセットはコレクションにグループ化されます。Deep Security Smart Check は一度に1つのアクティブなコレクションしか持つことができないため、初期設定の Deep Security Smart Check コレクションに新しいルールセットを追加するか、代わりに使用する新しいコレクションを作成できます。コレクション内では、個々のルールセットを有効または無効にできます。

UIまたはAPIを使用して、コレクションとルールセットを管理できます。UIメソッドについては、以下で説明します。APIの使用については、 APIのリファレンスドキュメントを参照してください。

UIを使用してルールセットコレクションを管理する

新しいルールセットコレクションを作成する

組み込みの Deep Security Smart Check コレクションを使用しない場合は、独自のコレクションを作成できます。

  1. Smart Check 管理コンソールの左側で、コンテンツルールアイコンContent Rulesをクリックします。
  2. [ Content Rules ]ページで、[ + CREATE]をクリックします。
  3. 表示されるポップアップで、新しいコレクションの名前を入力し、[ ADD]をクリックします。 Content Rules ページに、新しい空のルールセットコレクションが表示されます。
  4. いくつかのルールセットをコレクションに追加し、それらのルールセットを有効にします。
  5. 新しいコレクションを使用する準備ができたら、アイコンを有効にするをクリックしてコレクションを有効にします。他のコレクションも無効になります。

ルールセットコレクションの名前を変更する

  1. Content Rules 画面で、名前を変更するルールセットコレクションの編集アイコンをクリックします。
  2. 表示されるポップアップで名前を編集し、[ UPDATE]をクリックします。

コレクションにルールセットを追加する

  1. Content Rules 画面で、ルールセットを追加するルールセットコレクションの追加アイコンをクリックします。
  2. 表示されるポップアップ:
    • ルールセットの名前を入力します。
    • ルールセットは初期設定で有効になっています。トグルをスライドして無効にすることもできます。
    • ルールファイルをドラッグアンドドロップするか、表示された領域をクリックして追加します。ファイルの最大サイズは8KBです。
    • [ ADD]をクリックします。

ルールの例

ファイルの権限を確認する

filemode 外部変数の値を調べることで、ファイルの権限を確認するカスタムルールを作成できます。

rule suid
{
  meta:
    severity = "medium"
    description = "Found a file with the setuid bit set. If your environment drops the CAP_SETUID capability then this is not an issue."

  condition:
    (filemode & 2048) > 0 // 04000 = suid
}

rule sgid
{
  meta:
    severity = "medium"
    description = "Found a file with the setgid bit set. If your environment drops the CAP_SETGID capability then this is not an issue."

  condition:
    (filemode & 1024) > 0 // 02000 = sgid
}

ルールの重要度と説明を設定する

Deep Security Smart Check は、ルールに一致するコンテンツを検出すると、その結果を報告します。ルールのメタデータを使用して、検出の重大度と説明を制御できます。

たとえば、このルールはSHA-256ハッシュに基づいて特定のファイルを検索します。 Deep Security Smart Check でファイルが検出された場合、 critical の検出結果に Found nyan catの説明がレポートされます。

import "hash"

rule NyanCat
{
    meta:
        severity = "critical"
        description = "Found nyan cat"

    condition:
        hash.sha256(0, filesize) == "7a05d5984a34ac3372959ef1c4f465681a6dd4f80f4d4a8fbd2be56b81e2f2e0"
}

Deep Security Smart Check は、次の重要度の値をサポートしています。

  • defcon1
  • critical
  • high
  • medium
  • low
  • negligible
  • unknown

重大度の値を指定しない場合、または指定した値が認識されない場合、 Deep Security Smart Check では unknownが使用されます。

レファレンス/参照情報

ルールの記述の詳細については、 YARAのドキュメント を参照してください。

制限事項

Deep Security Smart Check は、現時点では cuckoo および magic モジュールをサポートしていません。