Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
項目一覧
 

IDP ポリシーの攻撃オブジェクトとオブジェクト グループ

このトピックでは、IDP 攻撃オブジェクトとグループについて詳しく説明します。攻撃オブジェクトやグループを作成、変更、使用して、さまざまな脅威や脆弱性からネットワークを保護する方法について説明します。これにより、堅牢なセキュリティ対策が講じられます。

攻撃オブジェクト、アプリケーション シグネチャ オブジェクト、サービス オブジェクトは、IDP ポリシー ルールの定義に使用されます。新しい脆弱性への対応として、ジュニパーネットワークスは、ジュニパーのWebサイトで攻撃データベースの更新を含むファイルを定期的に提供しています。このファイルをダウンロードして、新しい脅威からネットワークを保護できます。これらの攻撃オブジェクトおよびグループは、ネットワーク トラフィック内の既知の攻撃パターンおよびプロトコル異常を検出するように設計されています。攻撃オブジェクトとグループは、IDP ポリシー ルールの一致条件として設定できます。

詳細については、次のトピックを参照してください。

既知および未知の脆弱性に対処するための当社のアプローチを理解する

このトピックは、以下のセクションで構成されています。

既知の脆弱性

既知の脆弱性は、インターネットセキュリティコミュニティ内で文書化されているものです。インターネットセキュリティコミュニティは、いくつかのセキュリティ組織、セキュリティアナリスト、およびセキュリティフォーラムで構成されています。セキュリティ コミュニティでは、新しい攻撃を継続的に発見して分析し、その情報をインターネット上で交換しています。このようにして、攻撃を迅速に特定し、特定し、真に理解することができます。

一部のセキュリティ アドバイザリには、実際の攻撃コードが含まれています。攻撃情報と攻撃コードを使用して、パケット情報とサービス コンテキストをキャプチャできます。この情報を使用して、カスタムシグネチャ攻撃オブジェクトを作成できます。

残念ながら、ほとんどのアドバイザリは攻撃の説明とともに攻撃コードを掲載していません。攻撃コードを取得できない場合は、アドバイザリを注意深く読み、攻撃パケットの基本を再構築してみてください。

注意:

不明なソースから取得したコードを分離することを忘れないでください。

次の組織はセキュリティ コミュニティーで活発に活動しており、攻撃情報を見つけるための優れたリソースです。

  • NVD:National Vulnerability Database (http://nvd.nist.gov)。Security Content Automation Protocol(SCAP)を使用して表現された脆弱性管理データの米国政府のリポジトリ。

  • SANS:SysAdmin、Audit、Network、Security Institute(www.sans.org)。セキュリティ アラートを提供する情報セキュリティの研究、認定、および教育組織。また、http://www.incidents.org でインターネットストームセンター(ISC)をホストしています。

  • CVE—Common Vulnerabilities and Exposures(http://cve.mitre.org)。脆弱性とその他の情報セキュリティ上の弱点の標準化されたリスト。

  • バグトラック (http://securityfocus.com/archive/1)。Security Focusが主催するモデレートされたメーリングリストで、コンピュータセキュリティの脆弱性について議論し、発表します。

  • CERTコーディネーションセンター(http://www.cert.org)。連邦政府が資金提供するセキュリティ警告組織で、セキュリティ アドバイザリを提供します。

  • パケットストームセキュリティ(http://packetstormsecurity.nl)。セキュリティ関連のニュース、アドバイザリ、フォーラム、攻撃コードなどの方法でセキュリティ情報を提供する、セキュリティ専門家の非営利組織です。

  • メタスプロイト(http://www.metasploit.com)。Metasploitは、ペネトレーションテスト、IDSシグネチャの開発、エクスプロイト調査の実行に役立つ情報を提供します。

  • FrSIRT—フランスのセキュリティインシデントレスポンスチーム(http://www.frsirt.com)。FrSIRTは、セキュリティ勧告とリアルタイムの脆弱性アラートおよび通知サービスを提供する独立したセキュリティ研究機関です。

  • ISS—インターネットセキュリティシステム(http://www.iss.net)。アラートとインターネット脅威レベルを提供するインターネット セキュリティ会社。

未知の脆弱性

未知の脆弱性とは、インターネットセキュリティコミュニティアドバイザリで文書化されていない脆弱性です。このような場合、本番環境で生成されたIDPシリーズプロファイラー、ファイアウォール、またはIDPセキュリティイベントログが、不審なアクティビティや異常なトラフィックを警告します。実稼働環境では、パケット ロギング ツールを使用してパケットとサービス コンテキスト情報をキャプチャし、後でラボで分析および実験することができます。

カスタム攻撃オブジェクトのテスト

カスタム攻撃オブジェクトをテストするには、次のワークフローをお勧めします。次の手順は一般的な手順で構成されており、これらのタスクに精通しているエキスパート ユーザーを対象としています。

カスタム攻撃オブジェクトをテストするには:

  1. 新しいセキュリティ ポリシーと、テストするカスタム攻撃オブジェクトのみを含む新しい IDP ルールベース ルールを作成します。ロギングとパケットロギングを有効にします。
  2. IDPシリーズのラボデバイスにポリシーをプッシュします。
  3. 攻撃者のコンピューターから、被害者のコンピューターを標的とした攻撃を再現します。
  4. Security Directorログビューアを使用して、トラフィックが期待どおりにログを生成したかどうかを確認します。

テストが失敗した場合は、攻撃アドバイザリ、プロトコル RFC、および攻撃コードまたはパケット キャプチャを確認して、設定の微調整に役立つ追加情報を特定します。チューニングを必要とする最も頻繁な問題は、DFA 式の構文です。

署名攻撃オブジェクトの作成

シグニチャ攻撃オブジェクトは、システムに検出させたいパターンです。DFA 式を使用してパターンを表します。設定可能なその他のシグネチャ プロパティ(サービスまたはプロトコルのコンテキスト、方向、その他の制約など)がすべて提供されるため、パターン検出におけるシステムのパフォーマンスを最適化し、誤検知を排除できます。一般に、シグニチャ攻撃オブジェクトの設定を調整して、システムが、それが発生する可能性のあるすべてのコンテキストでそれを検索し、他のコンテキストでは検索しないようにします。

署名攻撃オブジェクトを設定するには:

  1. オブジェクトマネージャで、[ Attack Objects > IDP Objects (攻撃オブジェクト IDP オブジェクト)] を選択します。
  2. カスタム攻撃 」タブをクリックします。
  3. 「+」アイコンをクリックして、「カスタム攻撃」ダイアログ・ボックスを表示します。
  4. 攻撃オブジェクトの設定を行います。 表 1 に、設定を完了するためのガイドラインを示します。
    表 1: [Custom Attack] ダイアログボックス: [General] タブの設定

    設定

    形容

    名前

    UI に表示される名前。

    先端:

    攻撃名の一部として、攻撃で使用されるプロトコルを含めます。

    形容

    (オプション)攻撃に関する情報。新しい攻撃オブジェクトを作成する際、説明はオプションですが、攻撃に関する重要な情報を覚えておくのに役立ちます。例については、事前定義された攻撃の攻撃の説明を表示します。

    過酷

    情報、警告、マイナー、メジャー、またはクリティカル。重大な攻撃とは、サーバーをクラッシュさせたり、ネットワークを制御したりしようとする試みです。

    • 重大—検出を回避したり、ネットワーク デバイスをクラッシュさせたり、システムレベルの権限を取得したりしようとするエクスプロイトに一致する攻撃オブジェクトが含まれます。

    • 情報—URL、DNSルックアップの失敗、SNMPパブリックコミュニティ文字列、ピアツーピア(P2P)パラメーターを含む、通常の無害なトラフィックに一致する攻撃オブジェクトが含まれます。情報攻撃オブジェクトを使用して、ネットワークに関する情報を取得できます。

    • メジャー—サービスを中断したり、ネットワークデバイスへのユーザーレベルのアクセス権を取得したり、デバイスに事前にロードされたトロイの木馬を起動したりしようとするエクスプロイトに一致する攻撃オブジェクトが含まれます。

    • マイナー—ディレクトリトラバーサルまたは情報漏洩を通じて重要な情報にアクセスしようとする偵察活動を検出する攻撃オブジェクト、一致するエクスプロイトが含まれます。

    • 警告—重要でない情報を取得しようとしたり、スキャンツールでネットワークをスキャンしたりしようとするエクスプロイトに一致する攻撃オブジェクトが含まれます。

    情報攻撃は最も危険性が低く、通常、ネットワーク管理者が自社のセキュリティシステムの穴を発見するために使用します。

    カテゴリ

    定義済みのカテゴリまたは新しいカテゴリ。このカテゴリを使用して、攻撃オブジェクトをグループ化します。各カテゴリ内では、攻撃オブジェクトは重大度別にグループ化されます。例:FTP、TROJAN、SNMP。

    キーワード

    ログ・レコードの検索とソートに使用できる一意の識別子。キーワードは、攻撃と攻撃オブジェクトに関連している必要があります。

    推奨

    この攻撃オブジェクトが、最もリスクの高い攻撃オブジェクトのセットであることを示します。後で、この攻撃オブジェクトを動的グループに追加するときに、推奨される攻撃オブジェクトのみを含めるかどうかを指定できます。

    • [はい(Yes)]:ジュニパーネットワークスが推奨する定義済みの攻撃を動的グループに追加します。

    • [いいえ(No)]:動的攻撃グループで推奨されない攻撃オブジェクトを指定します。

       

    検出パフォーマンス

    パフォーマンスの遅い攻撃オブジェクトを除外するには、このフィルターを指定します。このフィルターを使用して、パフォーマンスへの影響に基づいて適切な攻撃のみを選択できます。

    次のいずれかを選択します。

    • 高—攻撃に対して脆弱な高パフォーマンス影響攻撃オブジェクトを追加します。シグネチャによるパフォーマンスへの影響は高7から高9で、アプリケーションの識別に時間がかかります。

    • [中(Medium)]:攻撃に対して脆弱な中程度のパフォーマンス影響攻撃オブジェクトを追加します。シグネチャのパフォーマンスへの影響は中4から中6で、アプリケーション識別は正常です。

    • 低—攻撃に対して脆弱な、パフォーマンスへの影響が少ない攻撃オブジェクトを追加します。シグネチャのパフォーマンスへの影響は low1 から low3 で、アプリケーションの識別が速くなります。

    • [不明(Unknown)]:すべての攻撃オブジェクトをデフォルトで不明に設定します。ネットワーク トラフィックに合わせて IPS を微調整するときに、この設定を変更して、パフォーマンスへの影響を追跡できます。シグネチャがパフォーマンスに与える影響は 0 = 不明であり、アプリケーションの識別も不明です。

  5. 一般 」タブをクリックします。
  6. 「攻撃バージョン」で、「+」アイコンをクリックして「新規攻撃」ウィザードを表示します。
  7. [ターゲット プラットフォームと種類] ページで、デバイス プラットフォームと攻撃の種類を選択します。 表 2 は、攻撃の種類を示しています。
    表 2: 攻撃オブジェクトの種類

    種類

    形容

    署名

    ステートフル攻撃シグネチャ(攻撃の特定のセクション内に常に存在するパターン)を使用して、既知の攻撃を検出します。

    ステートフル シグネチャ攻撃オブジェクトには、攻撃の実行に使用されたプロトコルまたはサービス、および攻撃が発生するコンテキストも含まれます。

    既知の攻撃に使用される正確な攻撃シグネチャ、プロトコル、および攻撃コンテキストがわかっている場合は、このオプションを選択します。

    複合攻撃

    脆弱性を悪用するために複数の方法を使用する攻撃を検出します。このオブジェクトは、複数のシグニチャまたはプロトコル異常を単一の攻撃オブジェクトに組み合わせ、トラフィックが攻撃として識別される前に、複合攻撃オブジェクト内のすべての結合されたシグネチャまたは異常をトラフィックに一致させます。

    組み合わせて、シグネチャや異常が一致する順序を指定することで、IDPエンジンがトラフィックを攻撃として識別する前に配置する必要があるイベントを非常に具体的にすることができます。

    複数の無害なアクティビティを使用してネットワークを攻撃する攻撃を検出する必要がある場合、または攻撃が悪意のあるものと見なされる前に特定の一連のイベントが発生するように強制する場合は、このオプションを選択します。

  8. 「署名」を選択し、「次へ」をクリックします。
  9. [Custom Attack – General Properties] ページで、その他の設定を構成します。 表 3 に、設定を完了するためのガイドラインを示します。
    表 3: カスタム攻撃 – 一般プロパティ

    財産

    形容

    署名の詳細

    バインディング

    サービス - 調査を通じてサービスを特定できた場合は、[ サービス] を選択します。ウィザードの後半で、サービス コンテキストを指定できます。

    IP - サービスがよくわからないが、IP の詳細がわかっている場合は、[ IP ] を選択し、プロトコルタイプ番号を指定します。

    TCP、UDP、または ICMP:サービス コンテキストは不明だが、プロトコルの詳細はわかっている場合は、プロトコルを選択します。

    TCPおよびUDPプロトコルタイプの場合は、ポート範囲を指定します。

    RPC - リモートプロシージャコール(RPC)プロトコルを介して脅威を検知する場合は、このオプションを選択し、プログラム ID を指定します。

    RPC は、プロセス間の対話をリモートで処理するために、分散処理アプリケーションによって使用されます。クライアントが RPC サーバーに対してリモート プロシージャ コールを行うと、サーバーはリモート プログラムで応答します。各リモート・プログラムは、異なるプログラム番号を使用します。

    エネーブル

    タイムバインディング属性は、署名が繰り返される回数を追跡します。攻撃の範囲とカウントを設定することで、セッション間で一定期間(1 分)にわたって同じ攻撃のシーケンスを検出できます。この方法は、認証資格情報を推測したり、データを処理するシステム容量を圧倒したりするブルートフォース攻撃を検出するのに役立ちます。

    サービス

    攻撃がネットワークに侵入するために使用するサービスを指定します。攻撃の実行に使用される特定のサービスをサービスバインディングとして選択できます。

    例えば、DISCARD サービスを選択するとします。破棄プロトコルは、TCP/9、UDP/9がポート9に送信されたTCPまたはUDPデータを破棄するプロセスを記述するアプリケーション層プロトコルです。

    時間範囲

    カウントが発生するスコープを選択します。

    • 元 IP - IP アドレスに関わらず、送信元 IP アドレスからのトラフィック内のシグネチャを指定された回数検出します。

    • 宛先 IP - 送信元 IP アドレスに関係なく、指定された回数だけ、IP アドレスからのトラフィック内の署名を検出します。

    • ピア - 指定された回数、セッションの送信元 IP アドレスと宛先 IP アドレス間のトラフィックのシグネチャを検出します。

    タイムカウント

    デバイスが攻撃オブジェクトを攻撃と一致すると見なす前に、指定された範囲内で攻撃オブジェクトが攻撃を検出しなければならない回数を指定します。

    範囲は 0 から 4,294,967,295 からです。

    致保証

    このフィルターを指定すると、ネットワーク上で攻撃が誤検知を引き起こす頻度に基づいて、攻撃オブジェクトを追跡します。

    次のいずれかを選択します。

    • [高(High)]:頻繁に追跡される誤検知の発生に関する情報を提供します。

    • [中(Medium)]:不定期に追跡される誤検知の発生に関する情報を提供します。

    • 低:めったに追跡されない誤検知の発生に関する情報を提供します。

    パフォーマンスに影響

    パフォーマンスの遅い攻撃オブジェクトを除外するには、このフィルターを指定します。このフィルターを使用して、パフォーマンスへの影響に基づいて適切な攻撃のみを選択できます。

    次のいずれかを選択します。

    • —攻撃に対して脆弱な高パフォーマンス影響攻撃オブジェクトを追加します。シグネチャによるパフォーマンスへの影響は高7から高9で、アプリケーションの識別に時間がかかります。

    • [中(Medium)]:攻撃に対して脆弱な中程度のパフォーマンス影響攻撃オブジェクトを追加します。シグネチャのパフォーマンスへの影響は中4から中6で、アプリケーション識別は正常です。

    • 低—攻撃に対して脆弱な、パフォーマンスへの影響が少ない攻撃オブジェクトを追加します。シグネチャのパフォーマンスへの影響は low1 から low3 で、アプリケーションの識別が速くなります。

    • [不明(Unknown)]:すべての攻撃オブジェクトをデフォルトで不明に設定します。ネットワーク トラフィックに合わせて IPS を微調整するときに、この設定を変更して、パフォーマンスへの影響を追跡できます。シグネチャがパフォーマンスに与える影響は 0 = 不明であり、アプリケーションの識別も不明です。

    スコープ

    攻撃がセッション内で一致するか、セッション内のトランザクション間で一致するかを指定します。

    • セッション—同じセッション内でオブジェクトに対して複数の一致を許可します。

    • transaction:同じセッション内で発生する複数のトランザクション間でオブジェクトを照合します。

    次へ」をクリックします。

  10. [カスタム攻撃 - 攻撃パターン] ページで、パターン設定を構成します。 表 4 に、設定を完了するためのガイドラインを示します。
    表 4: カスタム攻撃 – 攻撃パターン

    設定

    形容

    パターン

    DFA 式。次の行は、DFA 構文規則をまとめたものです。詳細については、正規表現を使用したプログラミングに関する標準ソースを参照してください。

     

    \B.0.1..00\B

    バイナリプロトコルのビットレベルマッチング。ビットマスクの長さは 8 の倍数にする必要があります。

    最初の \B はビットマスクの開始を示します。最後の \B はビットマスクの末尾を示します。

    10 進数 (.) は、ビットが 0 または 1 であることを示します。

    0 または 1 は、その位置のビットが 0 でなければならないか、または 1 でなければならないことを示します。

    \0

    直接バイナリ一致の場合。

    \X<16進数>\X

    直接バイナリ一致の場合。

    \[<文字セット>\]

    大文字と小文字を区別しない一致の場合。

    .

    任意の記号に一致させます。

    *

    0 個以上のシンボルに一致します。

    +

    1 つ以上のシンボルに一致します。

    ?

    0または1のシンボルに一致します。

    ()

    式のグループ化。

    |

    交代。通常は()と共に使用します。

    例: 次の式は、dog または cat と一致します: (dog | cat)。

    []

    文字クラス。位置の括弧内の明示的な値はすべて一致します。

    例: [Dd]ay は、Day と day に一致します。

    [<start>-<end>]

    文字範囲。範囲内の任意の値(ハイフンで示されます)。文字クラスと 16 進数の範囲を混在させることができます。

    例: [AaBbCcDdEeFf0-9]。

    [^<start>-<end>]

    文字範囲の否定。

    例: [^Dd]ay は Hay や ray と一致しますが、Day や day とは一致しません。

    手記:

    シグネチャパターン全体を否定するには、パターンテキストボックスの下にある「無効化」オプションを選択します。

    \u<文字列>\u

    Unicodeの影響を受けない一致。

    \s

    空白。

     

    \

    バックスラッシュを使用して特殊文字をエスケープし、それらが一致し、正規表現の演算子として処理されないようにします。

    文字 エスケープ

    *

    \*

    (

    \(

    )

    \)

    .

    \.

    +

    \+

    \

    \\

    [

    \0133

    ]

    \0135

    手記:

    バックスラッシュと開き角括弧と閉じ角括弧の組み合わせは、大文字と小文字を区別しない式で使用されるため、角括弧文字の 8 進数コードと共にバックスラッシュを使用する必要があります。

    打ち消す

    攻撃パターンを否定します。

    正規表現

    ネットワーク上の悪意のある動作や望ましくない動作を照合するルールを定義する正規表現を入力します。

    たとえば、構文 \[hello\] の場合、想定されるパターンは hello で、大文字と小文字が区別されます。

    一致の例は、hElLo、HEllO、heLLO です。

    文脈

    パターン マッチングをコンテキストにバインドします。

    HTTP などの既知のサービスの場合は、最初のボックスでサービスを選択し、2 番目のボックスで scio ccap で検出した HTTP コンテキスト (HTTP POST Parsed Param など) を選択します。

    コンテキストを検出できなかった場合は、最初のボックスで「 その他 」を選択し、2 番目のボックスで次のコンテキストのいずれかを選択します。

    • パケット - 任意のパケットのパターンを検出します。

    • [最初のパケット(First Packet)]:ストリームの最初のパケットだけを検査します。フロー方向が any に設定されている場合、ディテクタ エンジンは、サーバからクライアント(STC)およびクライアントからサーバ(CTS)の両方のフローの最初のパケットをチェックします。処理量が少ないほど、パフォーマンスが向上します。セッションの最初のパケットにパターンが表示されることがわかっている場合は、[ 最初のパケット(First Packet)] を選択します。

    • 最初のデータ パケット:インスペクションは、ストリームの最初のパケットの後に終了します。ストリームの最初のデータパケットのみで攻撃を検出するには、このオプションを選択します。パターンがストリームの最初のデータパケットに表示されることがわかっている場合は、[ 最初のデータパケット]を選択します。

    • ストリーム256 - パケットを再構成し、トラフィックストリームの最初の256バイト内でパターンマッチを検索します。ストリーム 256 は、多くの場合、非 UDP 攻撃に最適です。フロー方向が any に設定されている場合、ディテクター エンジンは STC フローと CTS フローの両方の最初の 256 バイトをチェックします。パターンがセッションの最初の 256 バイトに表示されることがわかっている場合は、 [ストリーム 256] を選択します。

    • ストリーム 8K – ストリーム 256 に類似 を除く は、パケットを再構成し、トラフィック ストリームの最初の 8192 バイト内でパターン一致を検索します。

    • ストリーム1K–ストリーム256を除く パケットを再構成し、トラフィックストリームの最初の1024バイト内でパターンマッチを検索します。

    • ライン - 特定のライン内のパターンを検出します。このコンテキストは、回線指向のアプリケーションまたはプロトコル(FTP など)に使用します。

    • ストリーム - パケットを再構成し、データを抽出してパターンマッチを検索します。ただし、IDP エンジンはストリーム コンテキストのパケット境界を認識しないため、複数のパケットのデータが結合されます。このオプションは、他のコンテキスト オプションに攻撃が含まれていない場合にのみ選択してください。

    手記:

    回線、ストリーム、またはサービス コンテキストを選択する場合、IP 設定とプロトコル ヘッダー フィールドの一致条件は設定しません。

    方向

    パターンを検出する方向を選択します。

    • クライアントからサーバーへ - クライアントからサーバーへのトラフィックでのみパターンを検出します。

    • サーバーからクライアントへ - サーバーからクライアントへのトラフィックでのみパターンを検出します。

    • いずれか - どちらの方向のパターンも検出します。

    セッションイニシエーターは、その送信元 IP がサーバーであっても、クライアントと見なされます。

    異常の追加

    変則

    使用されている特定のプロトコルの一連のルールに従って、接続内の異常なメッセージまたはあいまいなメッセージを検出するオプションを選択します。

    プロトコル異常検知は、ほとんどの場合、RFCや一般的なRFC拡張によって定義されているプロトコル標準からの逸脱を見つけることで機能します。

    方向

    攻撃の接続方向を指定します。

    • [クライアントからサーバーへ(Client to Server)]:クライアントからサーバーへのトラフィックでのみ攻撃を検出します。

    • [サーバーからクライアントへ(Server to Client)]:サーバーからクライアントへのトラフィックでのみ攻撃を検出します。

    • [任意(Any)]:どちらの方向からの攻撃も検知します。

    ([任意] ではなく 1 つの方向を使用すると、パフォーマンスが向上し、誤検知が減り、検出精度が向上します。

    次へ」をクリックします。

  11. 回線、ストリーム、ストリーム 256、またはサービス コンテキストを選択した場合は、IP 設定およびプロトコル ヘッダー フィールドの一致基準を設定しないでください。「 終了」をクリックします。

    パケット コンテキストを使用している場合は、次の表で説明するように、IP フラグとパケット ヘッダーの条件を追加することで、一致を絞り込むことができます。

    先端:

    照合する IP フラグと IP フィールドが不明な場合は、すべてのフィールドを空白のままにします。値が設定されていない場合、IDP エンジンはすべてのヘッダー コンテンツの署名の照合を試みます。

    [カスタム攻撃 – IPv4 設定とヘッダーの一致] ページで、パターン設定を構成します。 表 5 に、設定を完了するためのガイドラインを示します。

    表 5: [Custom Attack – IPv4 Settings and Header Matches] ページ

    設定

    形容

    チェックサム検証

    計算されたチェックサムに対してチェックサム フィールドを検証します。

    サービスの種類

    サービスの種類。一般的なサービスの種類は次のとおりです。

    • 0000 デフォルト

    • 0001 コストの最小化

    • 0002信頼性の最大化

    • 0003 スループットの最大化

    • 0004 遅延の最小化

    • 0005 セキュリティの最大化

    IP フラグ

    IP フラグ ビット。

    国際人道法

    インターネット ヘッダーの長さ(単位は単語)。

    全長

    IP データグラムの全長。

    身分証明書

    宛先システムがフラグメント化されたパケットを再構成するために使用する一意の値。

    Time-to-live

    パケットのTTL(Time-to-live)値。この値は、パケットが通過できるルーターの数を表します。パケットを処理する各ルーターは、TTL を 1 ずつ減らします。TTL が 0 に達すると、パケットは破棄されます。

    議定書

    攻撃で使用されたプロトコル。

    攻撃デバイスのIPアドレス。

    行き先

    攻撃対象のIPアドレス。

    [カスタム攻撃 – IPv6 設定とヘッダーの一致] ページで、パターン設定を構成します。 表 6 に、設定を完了するためのガイドラインを示します。

    表 6: [Custom Attack – IPv6 Settings and Header Matches] ページ

    設定

    形容

    行き先

    攻撃対象のIPアドレス。

    拡張ヘッダー

    侵入検出サービス(IDS)のIPv6拡張ヘッダーを定義します。

    フローラベル

    IPv6 パケットフローラベルを有効にします。

    ホップ制限

    ルーターがルーターアドバタイズメントおよびすべての IPv6 パケットで使用できるホップの最大数を指定します。

    次のヘッダー

    IPv6 ヘッダーの直後のヘッダーのインターネット プロトコルの種類を識別します。

    ペイロード長

    IPv6 パケット ペイロード(コンテンツ)の長さをオクテット単位で指定します。

    IPv6パケットを生成したホストデバイスまたはノード上のインターフェイスを特定します。

    トラフィック クラス

    送信元ノードまたはルーターが、IPv6パケットのさまざまなクラス(またはサービス品質の優先順位)を識別できるようにします。(このフィールドは [IPv4 Type of Service] フィールドを置き換えるものです)。

    [カスタム攻撃 - TCP パケット ヘッダー] ページで、パターン設定を構成します。 表 7 に、設定を完了するためのガイドラインを示します。

    表 7: カスタム攻撃オブジェクト: TCP パケット ヘッダー フィールド

    設定

    形容

    送信元ポート

    攻撃デバイスのポート番号。

    宛先ポート

    攻撃対象のポート番号。

    シーケンス番号

    パケットのシーケンス番号。この番号は、データ・シーケンス全体に対するデータの位置を識別します。

    ACK番号

    パケットの ACK 番号。この番号は、次のシーケンス番号を識別します。このフィールドを有効にするには、ACK フラグを設定する必要があります。

    ヘッダー長

    TCP ヘッダーのバイト数。

    ウィンドウ サイズ

    TCP ウィンドウ サイズのバイト数。

    データ長

    データ ペイロードのバイト数。SYN、ACK、および FIN パケットの場合、このフィールドは空である必要があります。

    緊急ポインタ

    パケット内のデータは緊急です。このフィールドをアクティブにするには、URG フラグを設定する必要があります。

    MSSの

    TCP最大セグメントサイズを有効にして指定します。

    引っ込み思案

    TCPヘッダーフィールドで3つの予約ビットを指定します。

    TCPフラグ

    TCP ヘッダー フラグ。TCPフラグが設定されているかどうかにかかわらず、IDPがパターンマッチを探すことを指定します。

    ウィンドウのスケール

    攻撃のセッションが使用するスケール ファクターを指定します。

    カスタム攻撃 – UDPヘッダーページで、パターン設定を構成します。 表 8 に、設定を完了するためのガイドラインを示します。

    表 8: カスタム攻撃オブジェクト: UDP ヘッダー フィールド

    設定

    形容

    チェックサム検証

    計算されたチェックサムに対してチェックサム フィールドを検証します。

    送信元ポート

    攻撃デバイスのポート番号。

    宛先ポート

    攻撃対象のポート番号。

    データ長

    データ ペイロードのバイト数。

    [カスタム攻撃 – ICMP パケット ヘッダー] ページで、パターン設定を構成します。 表 9 に、設定を完了するためのガイドラインを示します。

    表 9: カスタム攻撃オブジェクト: ICMP パケット ヘッダー フィールド

    設定

    形容

    チェックサム検証

    計算されたチェックサムに対してチェックサム フィールドを検証します。

    ICMPタイプ

    要求または応答の機能を識別するプライマリ コード。

    ICMP コード

    指定された型内の要求または応答の機能を識別するセカンダリ コード。

    シーケンス番号

    パケットのシーケンス番号。この番号は、シーケンス全体に関連する要求/応答の場所を識別します。

    ICMP ID

    識別番号は、宛先システムが要求と応答を関連付けるために使用する一意の値です。

    データ長

    データ ペイロードのバイト数。

  12. 終了」をクリックします。

事前定義されたIDP攻撃オブジェクトとオブジェクトグループについて

侵入検出および防止(IDP)のセキュリティパッケージには、既知および未知の攻撃とトラフィックを照合するためにIDPポリシーで使用できる、事前定義されたIDP攻撃オブジェクトおよびIDP攻撃オブジェクトグループのデータベースが含まれています。ジュニパーネットワークスは、新たに発見された攻撃パターンで、定義済みの攻撃オブジェクトとグループを定期的に更新します。

攻撃オブジェクト データベースの更新には、次のものが含まれます。

  • 既存の攻撃オブジェクトの新しい説明または重大度

  • 新しい攻撃オブジェクト

  • 古い攻撃オブジェクトの削除

このトピックは、以下のセクションで構成されています。

事前定義された攻撃オブジェクト

定義済みの攻撃オブジェクトは、アルファベット順に一覧表示されます。これらの攻撃オブジェクトには、攻撃の識別に役立つ一意の名前が付けられています。名前の最初の部分は、攻撃オブジェクトが属するグループを示します。例えば:

  • FTP:USER:ROOTFTP:USER グループに属します。 root アカウントを使用したFTPサーバーへのログイン試行を検出します。

  • HTTP:HOTMAIL:FILE-UPLOADHTTP:HOTMAIL グループに属します。Webメールサービス Hotmail経由で送信されたメールに添付されたファイルを検出します。

事前定義された攻撃オブジェクト グループ

定義済みの攻撃グループリストには、以下で説明するカテゴリの攻撃オブジェクトが表示されます。このリストには、ジュニパーネットワークスが重大な脅威と見なす推奨攻撃オブジェクトのセットも含まれています。推奨される攻撃オブジェクトは、次のカテゴリに分類されます。

表 10: 定義済みの攻撃オブジェクト グループ

攻撃オブジェクトグループ

形容

攻撃の種類

攻撃オブジェクトをタイプ(異常またはシグネチャ)別にグループ化します。各タイプ内では、攻撃オブジェクトは重大度別にグループ化されます。

カテゴリ

攻撃オブジェクトを定義済みのカテゴリでグループ化します。各カテゴリ内では、攻撃オブジェクトは重大度別にグループ化されます。

オペレーティング システム

攻撃オブジェクトを、適用するオペレーティング・システム(BSD、Linux、Solaris、またはWindows)別にグループ化します。各オペレーティング システム内では、攻撃オブジェクトはサービスおよび重大度によってグループ化されます。

過酷

攻撃に割り当てられた重大度によって攻撃オブジェクトをグループ化します。IDP には、Critical、Major、Minor、Warning、Info の 5 つの重大度レベルがあります。各重大度内では、攻撃オブジェクトはカテゴリ別にグループ化されます。

Webサービス

攻撃オブジェクトを一般的な Web サービスでグループ化します。これらのサービスは、重大度レベル(警告、重大、メジャー、マイナー、情報)別にグループ化されます。

パフォーマンス レベル別に攻撃オブジェクトをグループ化します。一定レベル以上のIDPパフォーマンスに影響を与える攻撃オブジェクトは、このカテゴリに分類されます。

応答

グループは、サーバーからクライアント方向に流れるトラフィックでオブジェクトを攻撃します。

カスタム攻撃オブジェクトの理解

カスタム攻撃オブジェクトを作成して新しい攻撃を検出したり、事前定義された攻撃オブジェクトをカスタマイズしてネットワーク固有のニーズを満たすことができます。

カスタム攻撃オブジェクトを設定するには、一意の名前を指定し、一般的な説明やキーワードなどの追加情報を指定すると、攻撃オブジェクトの検索と保守が容易になります。

攻撃オブジェクト定義の特定のプロパティーは、攻撃名、説明、重大度レベル、サービスまたはアプリケーションのバインディング、時間バインディング、推奨アクション、プロトコルまたはポートのバインディングなど、すべてのタイプのアタックに共通です。一部のフィールドは攻撃タイプに固有であり、その特定の攻撃定義でのみ使用できます。

手記:

IDP機能はデフォルトで有効になっており、ライセンスは必要ありません。IDP ポリシーのカスタム攻撃およびカスタム攻撃グループは、有効なライセンスと署名データベースがデバイスにインストールされていない場合でも、設定およびインストールできます。

このトピックは、以下のセクションで構成されています。

攻撃名

オブジェクトの英数字の名前を指定します。攻撃名に攻撃で使用するプロトコルを含めることができます。

Junos OS リリース 15.1X49-D140 以降、カスタム攻撃オブジェクト名に許可される最大文字数は 60 文字です。 set security idp custom-attack コマンドを使用してステートメントを検証できます。

過酷

ネットワークに対する攻撃の残忍さを指定します。重大度のカテゴリは、残忍さが増す順に、情報、警告、マイナー、メジャー、クリティカルです。重大な攻撃は最も危険で、通常、これらの攻撃はサーバーをクラッシュさせたり、ネットワークを制御したりしようとします。情報攻撃は最も危険性が低く、通常、ネットワーク管理者が自社のセキュリティシステムの欠陥を発見するために使用します。

サービスとアプリケーションのバインディング

サービスまたはアプリケーション バインド フィールドは、攻撃がネットワークに侵入するために使用するサービスを指定します。

手記:

カスタム攻撃でサービスまたはプロトコル バインディングを指定します。両方を指定した場合は、サービスバインディングが優先されます。

  • any- 正しいサービスが不明で、すべてのサービスのシグニチャを一致させる場合は、 any を指定します。一部の攻撃では複数のサービスを使用してネットワークを攻撃するため、攻撃が接続にどのサービスを選択するかに関係なく、攻撃を検出するために Any サービス バインドを選択することをお勧めします。

  • service—ほとんどの攻撃は、特定のサービスを使用してネットワークを攻撃します。攻撃の実行に使用される特定のサービスをサービスバインディングとして選択できます。

    サービス、サービスバインディング、およびコンテキストのリストについては、 IDPカスタム攻撃オブジェクトについて、サービスコンテキストを参照してください。

プロトコルとポートのバインディング

プロトコルまたはポート バインドを使用すると、攻撃がネットワークに侵入するために使用するプロトコルを指定できます。ネットワークプロトコルの名前またはプロトコル番号を指定できます。

手記:

カスタム攻撃でサービスまたはプロトコル バインディングを指定します。両方を指定した場合は、サービスバインディングが優先されます。

  • IP—プロトコル番号を使用して、サポートされているネットワーク層プロトコルのいずれかを指定できます。 表 11 に、各プロトコルのプロトコル番号を示します。

    表 11: サポートされるプロトコルとプロトコル番号

    プロトコル名

    プロトコル番号

    IGMPの

    2

    IP-IP

    4

    EGPの

    8

    子犬

    12

    トイレットペーパー

    29

    IPV6

    41

    ルーティング

    43

    断片

    44

    RSVP

    46

    GRE

    47

    ESP

    50

    あら

    51

    ICMPV6の

    58

    何一つ

    59

    DSTOPTS

    60

    MTP(平均通信速度)

    92

    カプセル化

    98

    PIM

    103

    カンプ

    108

    255

  • ICMP、TCP、UDP—特定のサービスを使用しない攻撃では、特定のポートを使用してネットワークを攻撃する可能性があります。一部のTCPおよびUDP攻撃は、標準ポートを使用してネットワークに入り、接続を確立します。

  • RPC—リモート プロシージャ コール(RPC)プロトコルは、プロセス間の対話をリモートで処理するために分散処理アプリケーションによって使用されます。クライアントが RPC サーバーに対してリモート プロシージャ コールを行うと、サーバーはリモート プログラムで応答します。各リモート・プログラムは、異なるプログラム番号を使用します。RPC を使用する攻撃を検出するには、サービス バインディングを RPC として構成し、RPC プログラム ID を指定します。

表 12 は、主要なプロトコルのフォーマットの例を示しています。

表 12: プロトコルのサンプル形式

プロトコル名

プロトコル番号

形容

ICMP

<Port>ICMP</Port>

プロトコル名を指定します。

IP

<Port>IP/protocol-number</Port>

ネットワーク層プロトコル番号を指定します。

RPC

<Port>RPC/program-number</Port>

RPCプログラム番号を指定します。

TCPまたはUDP

  • <Port>TCP </Port>

  • <Port>TCP/port </Port>

  • <Port>TCP/minport-maxport </Port>

ポートの指定は、TCPおよびUDPプロトコルではオプションです。たとえば、次のいずれかを指定できます。

  • <Port>UDP</Port>

  • <Port>UDP/10</Port>

  • <Port>UDP/10-100</Port>

タイムバインディング

タイムバインディングを使用して、タイムバインディングカスタム攻撃オブジェクトの時間属性を設定します。時間属性は、攻撃オブジェクトが特定の回数繰り返される攻撃を識別する方法を制御します。攻撃の範囲とカウントを設定することで、セッションをまたいで一定期間にわたって同じ攻撃のシーケンスを検知できます。

Junos OS リリース 18.4R1 以降、タイムバインディングカスタム攻撃の任意の 2 つのインスタンス間の最大時間間隔を設定でき、最大時間間隔の範囲は 0 分 0 秒から 60 分 0 秒です。18.4R1より前のJunos OSリリースでは、タイムバインディング攻撃の任意の2つのインスタンス間の最大時間間隔は60秒であり、攻撃トリガーカウントがタイムバインディングで設定されたカウントに達するまでです。 interval interval-value ステートメントは、カスタムのタイムバインディングを設定するために、 [edit security idp custom-attack attack-name time-binding] 階層で導入されています。

スコープ

攻撃の発生回数の範囲を指定します。

  • [送信元(Source)]:宛先アドレスに関係なく、指定した回数だけ送信元アドレスからの攻撃を検出するには、このオプションを指定します。これは、特定の攻撃に対して、送信元アドレスからの攻撃ごとにしきい値が維持されることを意味します。宛先アドレスは無視されます。例えば、送信元アドレスip-aは同じで宛先アドレスip-bip-cが異なる2つの異なるペア(ip-a, ip-b)と(ip-a, ip-c)から異常が検出されます。次に、ip-aの一致数が2に増分されます。しきい値またはcountも 2 に設定されている場合、署名によって攻撃イベントがトリガーされます。

  • [宛先(Destination)]:送信元アドレスに関係なく、宛先アドレスに指定された回数だけ送信された攻撃を検出するには、このオプションを指定します。これは、特定の攻撃に対して、宛先アドレスからの攻撃ごとにしきい値が維持されることを意味します。送信元アドレスは無視されます。例えば、宛先アドレスip-bが同じで送信元アドレスip-aip-cが異なる2つの異なるペア(ip-a, ip-b)と(ip-c, ip-b)から異常が検出された場合などです。次に、ip-bの一致数が2に増分されます。しきい値またはcount2 に設定されている場合、署名によって攻撃イベントがトリガーされます。

  • [ピア(Peer)]:このオプションを指定すると、指定した回数、セッションの送信元 IP アドレスと宛先 IP アドレス間の攻撃が検出されます。これは、しきい値が送信元アドレスと宛先アドレスのペアに適用されることを意味します。2つの異なる送信元と宛先のペア(ip-aip-b)と(ip-aip-c)から異常が検出されたとします。そして、両方のペアが共通の送信元アドレスを持っていても、各ペアの一致数は 1に設定されます。

数える

カウントまたはしきい値は、デバイスが攻撃オブジェクトを攻撃と一致すると見なす前に、指定された範囲内で攻撃オブジェクトが攻撃を検出する必要がある回数を指定します。攻撃オブジェクトを複数のポートにバインドし、攻撃オブジェクトが異なるポートでの攻撃を検出した場合、各ポートに対する各攻撃は個別の発生としてカウントされます。たとえば、攻撃オブジェクトが TCP/80 で攻撃を検出し、次に TCP/8080 で攻撃を検出した場合、カウントは 2 になります。

count一致に達すると、条件に一致する攻撃ごとに攻撃数が 1 つ増加します。このカウントサイクルは、ユーザーが定義した期間(intervalオプションを使用して設定)継続し、その後サイクルが繰り返されます。

間隔 は、時間拘束カスタム攻撃の任意の 2 つのインスタンス間の最大時間間隔を指定します。時間間隔の範囲は 0 秒から 1 時間で、デフォルト値は 60 秒です。

攻撃プロパティ (シグニチャ攻撃)

署名攻撃オブジェクトは、ステートフル攻撃署名 (攻撃の特定のセクション内に常に存在するパターン) を使用して、既知の攻撃を検出します。また、攻撃の実行に使用されたプロトコルやサービス、攻撃が発生するコンテキストも含まれます。次のプロパティは署名攻撃に固有であり、署名攻撃を構成するときに構成できます。

手記:

攻撃コンテキスト、フロー・タイプ、および方向は、シグネチャ・アタック定義の必須フィールドです。

攻撃コンテキスト

攻撃コンテキストは、シグネチャの場所を定義します。サービスと特定のサービスコンテキストがわかっている場合は、そのサービスを指定してから、適切なサービスコンテキストを指定します。サービスがわかっているが、特定のサービスコンテキストが不明な場合は、次の一般的なコンテキストのいずれかを指定します。

  • first-data-packet—最初のデータ パケットのみで攻撃を検出するには、このコンテキストを指定します。

  • first-packet—ストリームの最初のパケットのみで攻撃を検出するには、このコンテキストを指定します。攻撃オブジェクトのフロー方向が any に設定されている場合、デバイスはサーバーからクライアントへのフローとクライアントからサーバーへのフローの両方の最初のパケットをチェックします。攻撃シグネチャがセッションの最初のパケットに表示されることがわかっている場合は、packetではなくfirst packetを選択すると、デバイスが監視する必要があるトラフィック量が減少し、パフォーマンスが向上します。

  • packet—パケット内の攻撃パターンを照合するために、このコンテキストを指定します。このオプションを選択する場合は、サービス・ヘッダー・オプションを定義するためのサービス・バインディングも指定する必要があります。必須ではありませんが、これらの追加パラメータを指定すると、攻撃オブジェクトの精度が向上し、パフォーマンスが向上します。

  • line—ネットワーク トラフィック内の特定の回線内のパターン マッチを検出するには、このコンテキストを指定します。

  • normalized-stream—このコンテキストを指定して、正規化されたストリーム全体で攻撃を検出します。正規化されたストリームは、情報を送信する複数の方法の 1 つです。このストリームでは、一致が実行される前にパケット内の情報が正規化されます。www.yahoo.com/sportswww.yahoo.com/s%70orts と同じであるとします。これらの URL の両方を表す正規化された形式は、www.yahoo.com/sports場合があります。パターンをその正確な形式で検出する場合を除き、stream ではなく normalized stream を選択します。たとえば、正確なパターンwww.yahoo.com/s%70ortsを検出する場合は、「stream」を選択します。

  • normalized-stream256—このコンテキストを指定して、正規化されたストリームの最初の 256 バイトのみで攻撃を検出します。

  • normalized-stream1k—正規化されたストリームの最初の 1024 バイトのみで攻撃を検出するには、このコンテキストを指定します。

  • normalized-stream-8k—このコンテキストを指定して、正規化されたストリームの最初の 8192 バイトのみで攻撃を検出します。

  • stream—パケットを再構成し、パターン一致を検索するデータを抽出するには、このコンテキストを指定します。ただし、デバイスはストリームコンテキストのパケット境界を認識できないため、複数のパケットのデータが結合されます。このオプションは、他のコンテキスト・オプションに攻撃が含まれていない場合にのみ指定します。

  • stream256—パケットを再構成し、トラフィックストリームの最初の256バイト内でパターンマッチを検索するには、このコンテキストを指定します。フロー方向が any に設定されている場合、デバイスはサーバーからクライアントへのフローとクライアントからサーバーへのフローの両方の最初の 256 バイトをチェックします。攻撃シグネチャがセッションの最初の 256 バイトに表示されることがわかっている場合は、stream ではなく stream256 を選択すると、デバイスが監視およびキャッシュする必要があるトラフィックの量が減少し、パフォーマンスが向上します。

  • stream1k—パケットを再構成し、トラフィックストリームの最初の1024バイト内でパターンマッチを検索します。フロー方向が any に設定されている場合、デバイスはサーバーからクライアントへのフローとクライアントからサーバーへのフローの両方の最初の 1024 バイトをチェックします。攻撃シグネチャがセッションの最初の 1024 バイトに表示されることがわかっている場合は、stream ではなく stream1024 を選択すると、デバイスが監視およびキャッシュする必要があるトラフィックの量が減少し、パフォーマンスが向上します。

  • stream8k—パケットを再構成し、トラフィックストリームの最初の8192バイト内でパターンマッチを検索するには、このコンテキストを指定します。フロー方向が any に設定されている場合、デバイスはサーバーからクライアントへのフローとクライアントからサーバーへのフローの両方の最初の 8192 バイトをチェックします。攻撃シグネチャがセッションの最初の 8192 バイトに表示されることがわかっている場合は、stream ではなく stream8192 を選択すると、デバイスが監視およびキャッシュする必要があるトラフィックの量が減少し、パフォーマンスが向上します。

攻撃方向

攻撃の接続方向を指定できます。( Any ではなく 1 つの方向) を使用すると、パフォーマンスが向上し、誤検知が減り、検出精度が向上します。

  • クライアントからサーバーへ (クライアントからサーバーへのトラフィックでのみ攻撃を検出します)

  • サーバーからクライアントへ(サーバーからクライアントへのトラフィックでのみ攻撃を検出します)

  • 任意(どちらの方向からの攻撃も検知)

攻撃のシグネチャ パターン

攻撃パターンは、検出する攻撃のシグネチャです。シグネチャは、攻撃内に常に存在するパターンです。攻撃が存在する場合は、シグネチャも存在します。攻撃パターンを作成するには、まず攻撃を分析してパターン (コードのセグメント、URL、パケット ヘッダーの値など) を検出し、そのパターンを表す構文式を作成する必要があります。また、パターンを否定することもできます。パターンの否定は、攻撃で定義されたパターンが指定されたパターンに一致 not 場合に、攻撃が一致したと見なされることを意味します。

手記:

パターン否定は、パケット、回線、およびアプリケーションベースのコンテキストでのみサポートされ、ストリームおよび正規化されたストリームコンテキストではサポートされていません。

プロトコル固有のパラメータ

パケット ヘッダー内に存在する特定の値とオプションを指定します。これらのパラメータは、プロトコルによって異なります。カスタム攻撃定義では、TCP、UDP、または ICMP のいずれか 1 つのプロトコルのフィールドのみを指定できます。ただし、カスタム攻撃定義で TCP または UDP を使用して IPプロトコル フィールドを定義できます。

手記:

ヘッダー パラメーターは、パケットまたは最初のパケット コンテキストを使用する攻撃オブジェクトに対してのみ定義できます。回線、ストリーム、ストリーム 256、またはサービス コンテキストを指定した場合は、ヘッダー パラメーターを指定できません。

悪意のあるパケットのオプションまたはフラグ設定が不明な場合は、すべてのフィールドを空白のままにし、侵入検出および防止(IDP)はすべてのヘッダーコンテンツの署名の照合を試みます。

表 13 は、IPプロトコルを使用する攻撃に対して設定できるフィールドとフラグを示しています。

表 13: IP プロトコル フィールドとフラグ

形容

サービスの種類

サービスタイプの値を指定します。一般的なサービスの種類は次のとおりです。

  • 0000 デフォルト

  • 0001 コストの最小化

  • 0002信頼性の最大化

  • 0003 スループットの最大化

  • 0004 遅延の最小化

  • 0005 セキュリティの最大化

全長

すべてのヘッダーフィールドとデータペイロードを含むパケットのバイト数の値を指定します。

身分証明書

フラグメント化されたパケットを再構成するために宛先システムが使用する一意の値の値を指定します。

存続可能時間

パケットの TTL(Time-to-live)値として、0 から 255 の範囲の整数値を指定します。この値は、パケットが通過できるデバイスの数を表します。パケットを処理する各ルーターは、TTLを 1ずつ減らし、TTLが0に達するとパケットは廃棄されます。

議定書

使用するプロトコルの値を指定します。

攻撃デバイスの送信元アドレスを入力します。

行き先

攻撃対象の宛先アドレスを入力します。

予約ビット

このビットは使用されません。

その他のフラグメント

このオプションが設定されている場合(1)、パケットにさらに多くのフラグメントが含まれていることを示します。設定を解除(0)すると、フラグメントが残っていないことを示します。

フラグメント化しない

このオプションが設定されている場合(1)、パケットを送信用にフラグメント化できないことを示します。

表 14 は、TCP プロトコルを使用する攻撃に対して設定できるパケット ヘッダー フィールドとフラグを示しています。

表 14: TCP ヘッダー フィールドとフラグ

形容

送信元ポート

攻撃デバイス上のポート番号の値を指定します。

宛先ポート

攻撃対象のポート番号の値を指定します。

シーケンス番号

パケットのシーケンス番号の値を指定します。この番号は、データ・シーケンス全体に対するデータの位置を識別します。

ACK番号

パケットの ACK 番号の値を指定します。この番号は、次のシーケンス番号を識別します。このフィールドを有効にするには、ACK フラグを設定する必要があります。

ヘッダー長

TCPヘッダーのバイト数の値を指定します。

データ長

データペイロードのバイト数の値を指定します。SYN、ACK、および FIN パケットの場合、このフィールドは空である必要があります。

ウィンドウ サイズ

TCPウィンドウサイズのバイト数の値を指定します。

緊急ポインタ

緊急ポインターの値を指定します。この値は、パケット内のデータが緊急であることを示します。このフィールドをアクティブにするには、URG フラグを設定する必要があります。

URGの

緊急フラグを設定すると、パケット データが緊急であることを示します。

ACKの

設定すると、確認応答フラグがパケットの受信を確認します。

PSH

プッシュフラグを設定すると、受信側はシーケンス内の残りのパケットを待たずに、現在のシーケンス内のすべてのデータを宛先アプリケーション(ポート番号で識別)にプッシュする必要があることを示します。

RST

リセットフラグを設定すると、TCP接続がリセットされ、既存のシーケンス内のすべてのパケットが破棄されます。

SYN

設定されている場合、SYN フラグは新しいセッションの要求を示します。

設定すると、最後のフラグは、パケット転送が完了し、接続を閉じることができることを示します。

R1

この予約ビット (1/2) は使用されません。

R2の

この予約ビット (2/2) は使用されません。

表 15 は、UDP プロトコルを使用する攻撃に対して設定できるパケット ヘッダー フィールドとフラグを示しています。

表 15: UDP ヘッダー フィールドとフラグ

形容

送信元ポート

攻撃デバイス上のポート番号の値を指定します。

宛先ポート

攻撃対象のポート番号の値を指定します。

データ長

データペイロードのバイト数の値を指定します。

表 16 は、ICMP プロトコルを使用する攻撃に対して設定できるパケット ヘッダー フィールドとフラグを示しています。

表 16: ICMP ヘッダー フィールドとフラグ

形容

ICMPタイプ

要求パケットまたは応答パケットの機能を識別するプライマリ コードの値を指定します。

ICMP コード

指定されたタイプ内の要求パケットまたは応答パケットの機能を識別するセカンダリ コードの値を指定します。

シーケンス番号

パケットのシーケンス番号の値を指定します。この番号は、シーケンス全体に関連する要求または応答パケットの場所を特定します。

ICMP ID

識別番号の値を指定します。識別番号は、要求パケットと応答パケットを関連付けるために宛先システムが使用する一意の値です。

データ長

データペイロードのバイト数の値を指定します。

シグネチャ攻撃の定義の例

以下は、署名攻撃の定義の例です。

攻撃プロパティ (プロトコル異常攻撃)

プロトコル異常攻撃オブジェクトは、プロトコル仕様(RFC および一般的な RFC 拡張)に違反する未知の攻撃または高度な攻撃を検出します。新しいプロトコル異常を作成することはできませんが、新しい攻撃オブジェクトを設定して、検出されたときにデバイスが事前定義されたプロトコル異常を処理する方法を制御することはできます。

手記:

サービスまたはアプリケーションのバインドは、プロトコル異常攻撃の必須フィールドです。

次のプロパティは、プロトコル異常攻撃に固有です。攻撃方向とテスト条件の両方が、異常攻撃定義を構成するための必須フィールドです。

攻撃方向

「攻撃方向」では、攻撃の接続方向を指定できます。( Anyではなく)一方向を使用すると、パフォーマンスが向上し、誤検知が減り、検出精度が向上します。

  • クライアントからサーバーへ (クライアントからサーバーへのトラフィックでのみ攻撃を検出します)

  • サーバーからクライアントへ(サーバーからクライアントへのトラフィックでのみ攻撃を検出します)

  • 任意(どちらの方向からの攻撃も検知)

試験条件

テスト条件は、異常攻撃に一致する条件です。ジュニパーネットワークスは、事前に定義された特定のテスト条件をサポートしています。次の例では、条件は長すぎるメッセージです。メッセージのサイズが、このテスト条件で事前に構成された値よりも長い場合、攻撃が一致します。

プロトコル異常攻撃の定義の例

以下は、プロトコル異常攻撃の定義の例です。

攻撃プロパティ(複合攻撃または連鎖攻撃)

複合攻撃オブジェクトまたはチェーン攻撃オブジェクトは、脆弱性を悪用するために複数の方法を使用する攻撃を検出します。このオブジェクトは、複数のシグニチャやプロトコル異常を単一の攻撃オブジェクトに組み合わせ、トラフィックが攻撃として識別される前に、複合攻撃オブジェクト内で結合されたシグニチャと異常のパターンを一致させるようにトラフィックを強制します。組み合わせて、シグニチャまたは異常が一致する必要がある順序を指定することで、デバイスがトラフィックを攻撃として識別する前に発生させる必要があるイベントを非常に具体的に特定できます。

複合攻撃では、最低でも 2 つのメンバー (攻撃) を指定する必要があります。複合攻撃では最大 32 のメンバーを指定できます。メンバーは、シグニチャ攻撃または異常攻撃のいずれかである可能性があります。

次のプロパティは、複合攻撃に固有です。

スコープ

スコープでは、攻撃がセッション内で一致するか、セッション内のトランザクション間で一致するかを指定できます。指定したサービスが 1 つのセッション内の複数のトランザクションをサポートしている場合は、一致を 1 つのセッションで行うか、セッション内の複数のトランザクションで行うかを指定することもできます。

  • sessionを指定すると、同じセッション内でオブジェクトに対して複数の一致が許可されます。

  • 同じセッション内で発生する複数のトランザクション間でオブジェクトを照合するための transaction を指定します。

命令

順序一致を使用して、指定した順序で各メンバーの署名またはプロトコル異常に一致する必要がある複合攻撃オブジェクトを作成します。順序一致を指定しない場合でも、複合攻撃オブジェクトはすべてのメンバーに一致する必要がありますが、攻撃パターンまたはプロトコル異常はランダムな順序で攻撃に現れる可能性があります。

リセット

同じセッション内で攻撃が検出されるたびに新しいログが生成されることを指定します。このフィールドが no に設定されている場合、攻撃は 1 つのセッションで 1 回だけ記録されます。

Expression (ブール式)

ブール式フィールドを使用すると、順序付き一致関数が無効になります。ブール式フィールドは、メンバー名またはメンバー インデックス プロパティを使用します。次の 3 つのブール演算子は、優先順位の決定に役立つ括弧とともにサポートされています。

  • or—メンバー名のパターンのいずれかが一致する場合、式は一致します。

  • and- 両方のメンバー名パターンが一致する場合、式は一致します。メンバーがどの順序で表示されるかは関係ありません。

  • oand (ordered and)- 両方のメンバー名パターンが一致し、ブール式で指定された順序と同じ順序で表示される場合、式は一致します。

s1-s5 というラベルの付いた 5 つの署名メンバーを作成したとします。攻撃には常に s1 のパターンが含まれ、その後に s2 または s3 が続くことがわかっているとします。また、攻撃には常にs4s5が含まれていますが、攻撃におけるそれらの位置はさまざまです。この場合、次のブール式を作成できます。

手記:

カスタム攻撃定義では、順序付けされた一致または式 (両方ではない) のいずれかを定義できます。

メンバー インデックス

メンバーインデックスは、メンバー(攻撃)を一意に識別するためにチェーン攻撃で指定されます。次の例では、メンバー インデックスを使用して、定義された式でメンバー m01m02 を識別します。

手記:

式を定義するときは、すべてのメンバーのメンバー索引を指定する必要があります。

複合攻撃の定義の例

以下は、複合攻撃の定義の例です。

複合攻撃オブジェクトの作成

複合攻撃オブジェクトは、次の場合に使用します。

  • 攻撃は脆弱性を悪用するために複数の方法を使用しますが、個別に調べると、個々のコンテキストは無害に見えます。

  • 複数のコンテキストを一致させることで、誤検知を減らすことができます。

  • プロトコル異常とシグネチャを組み合わせることで、誤検知を減らすことができます。

シグネチャ攻撃オブジェクトまたは事前定義された異常を複合オブジェクトの「メンバー」として選択し、ブール式を使用して一致ロジックを指定します。

複合攻撃オブジェクトを設定するには:

  1. シグネチャ攻撃オブジェクトの説明に従って、一般的な攻撃オブジェクトのプロパティと参照情報を構成します。

    「ターゲット・プラットフォームおよびタイプ」ページで、ターゲット・プラットフォームを選択し、「 複合攻撃」を選択して、「 次へ」をクリックします。

  2. [Custom Attack – General Properties] ページで、 表 17 に示す設定を行います。
    表 17: カスタム攻撃 – 一般プロパティ

    財産

    形容

    時間拘束力

    シグネチャ攻撃オブジェクトと同じガイドライン。

    次へ」をクリックします。

  3. 「複合メンバー」ページで、複合アタック・パラメーターを指定し、メンバーを追加します。 表 18 に、設定を完了するためのガイドラインを示します。
    表 18: 複合攻撃パラメータ

    設定

    形容

    スコープ

    攻撃がセッション内で一致するか、セッション内のトランザクション間で一致するかを指定します。次のいずれかを選択します。

    • セッション - 同じセッション内で、オブジェクトに対して複数の一致を許可します。

    • トランザクション - 同じセッション内で発生する複数のトランザクションでオブジェクトを照合します。

    リセット

    このオプションを有効にすると、同じセッション内で攻撃が検出されるたびに新しいログが生成されます。このオプションが選択されていない場合、攻撃はセッションごとに 1 回だけログに記録されます。

    ブール式

    攻撃メンバーのマッチング方法を識別するために使用される攻撃メンバーのブール式を入力します。次のブール演算子を使用してブール式を入力します。

    • OR - メンバー名パターンのいずれかが一致する場合、式は一致します。

    • AND - 両方のメンバー名パターンが一致する場合、式は一致します。メンバーがどの順序で表示されるかは関係ありません。

    • OAND - 両方のメンバー名パターンが一致し、ブール式と同じ順序で表示される場合、式は一致します。

    たとえば、ブール式 (s1 OAND s2) OR (s1 OAND s3)) AND (s4 AND s5) は、s1 の後に s2 または s3 のいずれかを含み、任意の場所に s4 と s5 を含む攻撃と一致します。

    メンバーを追加

    [+] アイコンをクリックし、[ シグニチャ(Signature )] または [プロトコル異常(Protocol Anomaly)] を選択して、設定の詳細を完了します。

    シグニチャー・メンバーには、シグニチャー・アタック・オブジェクトの場合と同じコンテキスト情報を指定します。

    プロトコル異常メンバーの場合は、事前定義されたプロトコル異常の一覧から選択します。

    ベスト プラクティス:

    メンバーの名前付け規則の例は、m01、m02、m03 などです。これと同じ命名規則を使用することをお勧めします。

    命令

    このオプションを有効にすると、各メンバーのシグニチャまたはプロトコル異常に指定した順序で一致する必要がある複合攻撃オブジェクトが作成されます。順序を指定しない場合でも、複合攻撃オブジェクトはすべてのメンバーと一致する必要がありますが、パターンまたはプロトコル異常は任意の順序で攻撃に現れる可能性があります。

    複合攻撃オブジェクトは、脆弱性を悪用するために複数の方法を使用する攻撃を検出します。

    プロトコルバインディング

    攻撃が検出されるプロトコル バインディング。

  4. 終了」をクリックします。

シグネチャの更新で導入された変更によるカスタム攻撃オブジェクトの変更

このトピックでは、HTTP プロトコル デコーダーによって生成される一部のサービス コンテキストに対する変更について説明します。 Signature Update #1972 以降、HTTP プロトコル デコーダーは一部のコンテキストを生成しなくなりました。IDP セキュリティ ポリシーに、削除されたコンテキストを使用するカスタム署名が含まれている場合は、ポリシーのコンパイル エラーを回避するために、以下で説明するように攻撃オブジェクト定義を変更する必要があります。このトピックでは、次の情報を提供します。

リファレンス: 削除されたコンテキスト

パフォーマンスを向上させるために、HTTP プロトコル デコーダーは、 表 19 の最初の列にリストされているコンテキストを生成しなくなりました。カスタム攻撃オブジェクトのコンテキストを置き換える際のガイドラインについては、この表を確認してください。

表 19: HTTP サービス コンテキスト

削除

置換後の文字列

ガイドライン

http-text-html-body

http-text-html

コンテキスト http-text-html-body を使用する署名を http-text-html に変更します。シグネチャパターンやその他のプロパティを変更する必要はありません。

  • http-get-url-parsed-param

  • http-post-url-parsed-param

  • http-head-url-parsed-param

  • http-get-url-parsed-param-parsed

  • http-post-url-parsed-param-parsed

  • http-head-url-parsed-param-parsed

以下のコンテキストを組み合わせて使用します。

  • HTTP リクエストメソッド

  • http-url 解析済み

  • HTTP 変数の解析

ブール AND で複合シグネチャを使用して、シグネチャパターンを複数の部分に分割します。[スコープ] フィールドが [トランザクション] に設定されていることを確認します。

http-request-method コンテキストの使用はオプションです。http-request-methodコンテキストを使用して、検出をhttp GET、POST、またはHEADトランザクションにバインドします。GETメソッドでは、パターン\[GET\](大文字と小文字を区別しないGET)を使用します。http-request-method は、以前に [Request Method] で一致したログに記録した結果を保持する価値がある場合にのみ使用してください。そうでない場合は、パフォーマンスを向上させるために省略します。http-request-method を使用する場合は、複合チェーンで最初に順序付けします。

http-url-parsed コンテキストを使用して、URL で識別可能な攻撃シグネチャを照合します。このコンテキストを使用して、変数パラメーターの前に表示される URL のパターン (URL の疑問符 (?) の前の部分) を照合します。

1 つ以上の http-variable 解析コンテキストを使用して、URL 変数パラメータ(通常はアンパサンド (&)で区切られた疑問符 (?) の後の URL の部分) を照合します。

例: HTML テキストに表示されるパターンのコンテキストの置換

HTTP 検出エンジンによって生成される各コンテキストには、パフォーマンス コストがあります。コンテキスト http-text-html と http-text-html-body は同じ目的を果たします。コンテキストの数を減らすと、パフォーマンスが向上します。

表 20 は、 Update #1972 以前の署名と Update #1972 後の署名のプロパティを示しています。これは簡単な変更です。変更するのはコンテキストのみです。パターンやその他のプロパティを変更する必要はありません。

表 20: HTTP サービス コンテキスト: HTML テキスト

アップデート前

アップデート後

文脈

http-text-html-body

http-text-html

パターン

.*<span></span>.*

.*<span></span>.*

例: URL に表示されるパターンのコンテキストの置換

このセクションは、次の 2 つの部分で構成されています。

要求メソッドに一致するシグネチャ

以前に要求メソッド GET、POST、または HEAD と一致したカスタム攻撃オブジェクトを変更する場合は、これらの要求メソッド パターンとの一致が効果的かどうかを検討してください。生成された各コンテキストにはパフォーマンスコストがかかることに注意してください。リクエスト方法が結果に必須でない場合は、この機会にリクエスト方法なしで署名を書き直してください。

表 21表 22 は、 Update #1972 以前の署名と Update #1972 以降の複合署名のプロパティを示しています。この例では、request メソッドへの関心を保持します。

表 21: HTTP サービス コンテキスト: 更新前の要求メソッド

更新前の署名

スコープ

文脈

http-get-url-parsed-param

パターン

\[/viper/vegaspalms/\].*

表 22: HTTP サービス コンテキスト: 更新後のリクエスト メソッド

更新後の複合署名

M01 (英語)

M02さん

スコープ

トランザクション

 

文脈

HTTP リクエストメソッド

http-url 解析済み

パターン

\[GET\]

\[/viper/vegaspalms/\].*

URL 文字列と URL 変数に一致するシグネチャ

一般に、1 つのパターンを複数のコンテキストに分割すると、パフォーマンスにプラスまたはマイナスの影響を与える可能性があります。実稼働ネットワークに攻撃オブジェクトを展開する前に、変更をテストしてパフォーマンスへの影響を理解する必要があります。 表 23表 24 に示す例では、URL マッチングを複数のコンテキストに分割しています。当社のセキュリティ チームは、ここで説明する推奨事項のパフォーマンスをテストしました。

表 23: HTTP サービス コンテキスト: 更新前の URL 文字列と変数

更新前の署名

スコープ

文脈

http-get-url-param-parsed-param

パターン

\[/cvs/index[0-9]?\.php\?option=com_content&do_pdf=1&id=1\]

表 24: HTTP サービス コンテキスト: 更新後の URL 文字列と変数

更新後の複合署名

 

M01 (英語)

M02さん

M03さん

M04さん

スコープ

トランザクション

     

文脈

http-url 解析済み

HTTP 変数の解析

HTTP 変数の解析

HTTP 変数の解析

パターン

\[/cvs/index[0-9]?\.php\]

\[option=com_content\]

\[do_pdf=1\]

\[id=1\]

例:複合攻撃またはチェーン攻撃の設定

この例では、特定の一致条件に対して複合攻撃またはチェーン攻撃を設定する方法を示しています。複合攻撃または連鎖攻撃オブジェクトは、脆弱性を悪用するために複数の方法を使用する攻撃を検出するように構成できます。

必要条件

開始する前に、IDP がサポートされ、デバイスで有効になっている必要があります。

概要

複合攻撃オブジェクトまたはチェーン攻撃オブジェクトは、シグネチャと異常を組み合わせて 1 つの攻撃オブジェクトを形成できます。1 つの攻撃オブジェクトには、次のものを含めることができます。

  • 2 つ以上の署名

  • 2 つ以上の異常

  • シグネチャと異常の組み合わせ

複合攻撃オブジェクトまたはチェーン攻撃オブジェクトは、複数のシグニチャやプロトコル異常を単一の攻撃オブジェクトに組み合わせ、トラフィックが攻撃として識別される前に、複合攻撃オブジェクト内で結合されたシグネチャと異常のパターンをトラフィックに強制的に一致させます。これらのオブジェクトは、誤検知を減らし、検出精度を高めるためにも使用されます。これにより、IDPがトラフィックを攻撃として識別する前に発生する必要があるイベントを特定できます。

構成

プロシージャ

CLIクイック構成

この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルのCLIにコピー&ペーストして、設定モードから commit を入力します。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイド設定モードにおけるCLIエディターの使用を参照してください。

特定の一致条件に対して複合攻撃または連鎖攻撃を設定するには:

  1. IDP ポリシーを作成します。

  2. ルールベースをポリシーに関連付けます。

  3. ルールベースにルールを追加します。

  4. ルールの一致条件を定義します。

  5. ルールの基準に一致するアプリケーションセット名を指定します。

  6. 一致攻撃オブジェクトと攻撃オブジェクトの名前を指定します。

  7. ルールのアクションを指定します。

  8. ルールの通知またはログのオプションを指定します。

  9. IDP ポリシーを有効化します。

  10. カスタム攻撃の名前を指定します。

  11. カスタム攻撃の重大度を設定します。

  12. カスタム攻撃の攻撃の種類とアプリケーション名を設定します。

  13. 攻撃を定義する範囲と順序を設定します。

  14. チェイン・アタック・オブジェクトの最初のメンバーの名前を指定します。

  15. チェーン攻撃オブジェクトの最初のメンバーのコンテキスト、パターン、および方向を設定します。

  16. チェイン・アタック・オブジェクトの 2 番目のメンバーの名前を指定します。

  17. 連鎖攻撃オブジェクトの 2 番目のメンバーのコンテキスト、パターン、および方向を設定します。

  18. チェイン・アタック・オブジェクトの 3 番目のメンバーの名前を指定します。

  19. チェイン・アタック・オブジェクトの3番目のメンバーのアタック・タイプと方向を指定します。

  20. IDP サービスのトレース オプションとトレース ファイル情報を指定します。

  21. トレース出力に含める必要のあるイベントやその他の情報を指定します。

業績

設定モードから、 show security idp コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

手記:

設定モードで commit を入力すると、設定は内部で検証され、コミットされます。エラーが発生した場合、コミットは失敗し、エラーが報告されます。

検証

チェーン攻撃設定が正しく機能していることを確認するには、次のタスクを実行します。

設定の確認

目的

チェーン攻撃の構成が正しいことを確認します。

アクション

動作モードから、 show security idp policy-commit-status コマンドを入力して、ポリシーのコンパイルまたはロード ステータスを確認します。

手記:

show security idp policy-commit-status コマンドの出力は動的であるため、このコマンドの出力は 1 つではありません。

設定に従って攻撃が検出されていることを確認し、デバイスを介してトラフィックを渡して攻撃一致をトリガーします。たとえば、 show security idp status コマンドを入力して、ポリシーが読み込まれているかどうかをチェックします。

user@host> show security idp status

show security idp attack table コマンドを入力して攻撃トラフィックを通過させ、攻撃が検出されていることを確認します。

手記:

コマンドは、攻撃が検出された場合にのみ出力を表示します。

user@host> show security idp attack table

例:動的攻撃グループとカスタム攻撃グループを使用した攻撃グループの設定

この例では、FTP または Telnet サーバーを保護するために、IDP ポリシーで動的攻撃グループとカスタム攻撃グループを使用して攻撃グループを設定する方法を示します。

必要条件

開始する前に、以下の条件のいずれかに該当する場合にのみ、デバイスにセキュリティ パッケージをインストールしてください。

  • 動的攻撃グループが設定されます。

  • カスタム攻撃グループには、事前定義された攻撃または攻撃グループが含まれます。

手記:

カスタム攻撃グループにカスタム攻撃のみが含まれている場合、セキュリティ パッケージ ライセンスは必要なく、セキュリティ パッケージをデバイスにインストールする必要はありません。セキュリティ パッケージをインストールするには、IDP セキュリティ パッケージ ライセンスが必要です。

概要

IDP には、多数の事前定義された攻撃オブジェクトが含まれています。IDPポリシーを管理および整理するために、攻撃オブジェクトをグループ化できます。攻撃オブジェクト グループには、2 つ以上のタイプの攻撃オブジェクトを含めることができます。攻撃グループは以下のように分類されます。

  • 動的攻撃グループ - 特定のポリシーの一致基準を定義に基づいて攻撃オブジェクトを含みます。署名の更新時に、動的グループメンバーシップは、そのグループのポリシーの一致基準を定義に基づいて自動的に更新されます。例えば、動的攻撃グループ・フィルターを使用して、特定のアプリケーションに関連する攻撃を動的にグループ化できます。

  • カスタム攻撃グループ - 攻撃定義で指定されている攻撃のリストが含まれます。カスタム攻撃グループには、特定の事前定義攻撃、カスタム攻撃、事前定義攻撃グループ、または動的攻撃グループを含めることもできます。カスタム攻撃グループは、攻撃がグループ内で指定されているため、本質的に静的です。したがって、セキュリティ データベースが更新されても攻撃グループは変更されません。メンバーは、事前定義された攻撃、シグネチャ データベースからの事前定義された攻撃グループ、またはその他のカスタム攻撃および動的攻撃グループです。

この例では、IDPポリシーで攻撃グループを設定して、FTPまたはTelnetサーバーをカスタムおよび動的攻撃から保護します。

構成

プロシージャ

CLIクイック構成

この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルのCLIにコピー&ペーストして、設定モードから commit を入力します。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイド設定モードにおけるCLIエディターの使用を参照してください。

動的攻撃グループとカスタム攻撃グループで攻撃グループを設定するには:

  1. IDP ポリシーを作成します。

  2. ルールベースをポリシーに関連付けます。

  3. ルールベースにルールを追加します。

  4. ルールの一致条件を定義します。

  5. ルールの基準に一致するアプリケーションセット名を指定します。

  6. カスタム攻撃グループの一致を指定します。

  7. 動的攻撃グループの一致を指定します。

  8. ルールのアクションを指定します。

  9. ルールの通知またはログのオプションを指定します。

  10. IDP ポリシーを有効化します。

  11. カスタム攻撃の名前を指定します。

  12. カスタム攻撃の重大度を設定します。

  13. 攻撃の種類とコンテキストを設定します。

  14. 攻撃のパターンを指定します。

  15. 攻撃の方向を指定します。

  16. カスタム攻撃グループの名前を指定します。

  17. カスタム攻撃グループに属する攻撃または攻撃グループのリストを指定します。

  18. 最初の動的攻撃グループの名前を指定します。

  19. フィルターを構成し、フィルターのカテゴリ値を設定します。

  20. 2 番目の動的攻撃グループの名前を指定します。

  21. 2 番目の動的攻撃グループのフィルターを構成し、このフィールドの方向とその値を設定します。

  22. IDP サービスのトレース オプションとトレース ファイル情報を指定します。

  23. トレース出力に含める必要のあるイベントやその他の情報を指定します。

業績

設定モードから、 show security idp コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

手記:

設定モードで commit を入力すると、設定は内部で検証され、コミットされます。エラーが発生した場合、コミットは失敗し、エラーが報告されます。

検証

設定の確認

目的

設定が正しいことを確認します。

アクション

動作モードから、 show security idp policy-commit-status コマンドを入力して、ポリシーのコンパイルまたはロード ステータスを確認します。

手記:

show security idp policy-commit-status コマンドの出力は動的であるため、このコマンドの出力は 1 つではありません。

攻撃が構成に従って検出されていることを確認し、攻撃一致をトリガーするデバイスを介してトラフィックを渡します。たとえば、 show security idp status コマンドを入力して、ポリシーが読み込まれているかどうかをチェックします。

user@host> show security idp status

show security idp attack table コマンドを入力して攻撃トラフィックを通過させ、攻撃が検出されていることを確認します。

手記:

コマンドは、攻撃が検出された場合にのみ出力を表示します。

user@host> show security idp attack table

カスタム攻撃オブジェクト DFA 式

表 25 に、攻撃パターンを照合するための構文の例を示します。

表 25: 例:カスタム攻撃オブジェクトの正規表現

構文例

形容

一致例

こんにちは。。\B.0.1..00\B...世界

マッチングには 2 つの側面があります。

ビットマスク パターン \B.0.0.1 と一致する必要があります。00\B

ビットマスク パターンの前後のバイト数 (. で表される) と一致する必要があります。

一致:

こんにちは。。\B.0.11100\B...worldこんにちは..\B.0.10000\B...世界

一致しない:

Hello.\B.0.1..00\B.worldこんにちは..\B.0.1..11\B...世界

\X01 86 A5 00 00\X

指定された 5 バイトのパターンをそのまま使用します。

01 86 A5 00 00

(hello|world)

hello または world が 1 回出現するパターン。

こんにちは

世界

(hello|world)+

hello または world が 1 回以上出現するパターン。

ハローワールド

ワールドハロー

こんにちはこんにちは

\[こんにちは\]

パターン こんにちは、大文字と小文字を区別しません。

こんにちは

こんにちは

こんにちは

\uこんにちは\u

パターンこんにちは、Unicodeは無神経です。

こんにちは

68656c6c6f

hello\sワールド

hello world というパターンで、2 つの単語を空白で区切ります。

ハローワールド

[c-e]a(d|t)

c、d、または e の最初の文字を持つパターン。真ん中の文字a;dまたはtで終わります。

お父さん

食べる

[^c-d]a(d|t)

c、d、または e 以外の文字で始まるパターン。2 番目の文字 a があります。d または t で終わります。

流行

ザド

A*B+C

任意の数の文字 (0 を含む) のパターン。その後に 1 つ以上の B 文字が続きます。その後に C 文字が続きます。

紀元前

甲乙丙

aaaabbbbc

T[株式会社]

大文字の T で始まり、その後に大文字と小文字を区別しない k が続くパターン。

TKの

Tkの

([Tt])k

大文字と小文字を区別しない t で始まり、その後に小文字の k が続くパターン。

Tkの

Tkの

海[で]

Sea で始まり、その後に小文字の l、m、または n が続くパターン。

印章

縫い目

ショーン

([B-D])を

大文字の B、C、または D で始まり、その後に小文字の at が続くパターン。

蝙蝠

ダット

\0133\[こんにちは\]\0135

左角かっこで始まり、大文字と小文字を区別しない hello が続き、閉じ括弧で終わるパターン。この式では、\0 式を使用して、次の式が 8 進符号であることを示すと、左角かっこ (133) または右角かっこ (135) の 8 進符号が続きます。

[こんにちは]

[HeLLo]

例: パターン否定の使用

パターン否定を使用して、安全であることがわかっているパターンを除外し、他のすべてのパターンに一致させることができます。

たとえば、FTP サーバーへのトラフィックを検査する攻撃オブジェクトを設計しているとします。アカウントのユーザー名とパスワードは、許可されたユーザーのみが内部リソースにアクセスできるように適切に管理されていることがわかっています。しかし、ネットワークが成長し、新しいコンポーネントが追加されると、ユーザーアカウントが増加し、特定のコンポーネントへのネットワークアクセスが増加する可能性があります。この例では、内部ネットワーク上にFTPサーバーがあり、複数のユーザーアカウントが有効になっています。セキュリティを強化するには、FTP 管理者へのアクセスを制限します。

FTP サービス、ftp-username コンテキスト、およびパターン adminの攻撃オブジェクトを作成し、[ 否定(Negate )] チェックボックスをオンにします。その結果、 admin 以外のユーザーによるログイン試行にフラグを立てることができる攻撃オブジェクトが作成されます。この攻撃オブジェクトは、一致するトラフィックをログに記録またはドロップするルールで使用できます。

例: ファイル拡張子の一致

この例では、拡張子 .emf (Windows 拡張メタファイル) と .wmf (Microsoft Windows メタファイル) を使用する Microsoft Windows メタファイルを検出します。

これらのファイルタイプのいずれかに一致させるには、単純な DFA 式を使用します。

この式では、次のようになります。

  • ピリオドとアスタリスク (.*) の組み合わせは、1 つ以上の文字が必要であることを示します (ワイルドカード一致)。

  • バックスラッシュとピリオド文字(\.)の組み合わせは、ピリオド文字がエスケープされていることを示します(ピリオドはパターンに表示されます)。

  • 式 ( ) の先頭と末尾の括弧は、グループを示します。e と w の間のパイプ文字 (e|w) は、文字間の OR 関係を示します。この式では、e または w がこの式と一致するようにパターンに出現する必要があります。存在は 1 つだけです。

  • 左角かっこ (\[) は、右角かっこ (\]) が表示されるまで、すべての文字の大文字と小文字を区別しない一致の開始を示します。

  • 閉じ括弧(\])は、大文字と小文字を区別しない一致の終了を示します。

例:Apache Tomcat のサービス拒否攻撃

この例では、Apache Tomcat を実行している Web サーバーがあることを前提としています。セキュリティー管理者から Apache Tomcat の脆弱性が報告されたことが通知されたので、サーバーにパッチを適用するためのダウンタイムをスケジュールできるようになるまで、ネットワークを保護するためのカスタム攻撃オブジェクトを作成することにしました。

脆弱性(http://nvd.nist.gov/nvd.cfm?cvename=CAN-2002-0682)に対するCVEアドバイザリには、次の引用が含まれています。

この情報から、攻撃がHTTPを使用していることがわかります。次に、攻撃コードを見つける必要があります。このアドバイザリには、攻撃に関する詳細情報にリンクする参照も含まれています。残念ながら、参照されている Web ページには悪用コードは含まれていません。CVEアドバイザリから学習した情報を使用してWebを検索した後、 http://packetstormsecurity.nl/0210-exploits/neuter.c でいくつかの悪用コードを見つけます。スクリプトをコピーし、テスト ラボ内の攻撃者のコンピューターに移動します。

この攻撃オブジェクトを開発するには、次のようにします。

  1. 攻撃を再現して、攻撃のコンテキスト、方向、パターンを判断します。理想的には、 scio ccap とWiresharkを同時に使用して、攻撃を一度だけ実行する必要があります。
  2. 攻撃シグネチャの次の要素を検出します。
    • サービス。CVEアドバイザリから、攻撃がHTTPプロトコルを使用していることがわかっています。入力しますを確認してプロトコルを確認します。

    • 文脈。 scio ccap を使用して、特定のサービスコンテキストを一致させることができるかどうかを判断します。この例では、シグネチャパターンはサービス コンテキスト HTTP URL Parsed で発生します。

    • パターン。アドバイザリから、攻撃はHTTPプロトコルの悪用されたGETメソッドを使用して発生することがわかっています。GET メソッドを含むフレームを選択して、パケットのそのセクションの詳細を表示します。シグネチャパターン examples/servlet/AUXとしてすぐに識別できます。

    • 方向。セッションを開始した送信元 IP を見つけます。この攻撃はTCPを使用するため、Wiresharkの[Follow TCP Stream]オプションを使用して、セッションを開始した送信元IPをすばやく検出できます。攻撃方向はクライアントからサーバーです。

  3. 攻撃シグネチャと一致する攻撃オブジェクトを作成します。この例では、次の正規表現を使用して署名を照合します。

    この式では、次のようになります。

    • ドット スターの組み合わせ (.*) は、ワイルドカードの一致を示します。

    • /examples/servlet/ セクションは、パケットキャプチャから直接入力します。

    • 括弧 ( ) は項目のグループを示し、パイプ文字 (|) は OR を示します。これらの文字は、攻撃にグループから 1 つの項目を含める必要があることを示すために一緒に使用されることがよくあります。この例では、攻撃の文字列 /examples/servlet/ の後に aux、lpt1、con、または prn という単語を含める必要があります。

      この例では、グループを使用していることに注意してください。パケット キャプチャは、シグネチャパターンを /examples/servlet/AUX として入力します。 AUX は Windows デバイスです。LPT1、CON、およびPRNデバイスを悪用する試みに警戒する十分な理由があります。

  4. 攻撃オブジェクトをテストします。

特定のプロトコルの IDP テスト条件の一覧表示

IDP カスタム攻撃を設定する場合、特定のプロトコルのリスト テスト条件を指定できます。ICMP のテスト条件を一覧表示するには:

  1. ICMP でサポートされているテスト条件を一覧表示し、設定する条件を選択します。サポートされているテスト条件は、 [edit security idp custom-attack test1 attack-type anomaly] 階層レベルのCLIで使用できます。

  2. テスト条件を設定するサービスを設定します。

  3. テスト条件を設定します(プロトコル名の指定は不要です)。

  4. デバイスの設定が完了したら、設定モードから commit を入力します。

IDPプロトコルデコーダーについて

プロトコルデコーダーは、侵入検出および防止(IDP)によって使用され、異常を探し、RFC標準が満たされていることを確認することで、プロトコルの整合性とプロトコルコンテキスト情報をチェックします。異常は、ヘッダー、メッセージ本文、またはそのプロトコルの RFC 標準から逸脱するその他の個々のフィールドなど、プロトコルの任意の部分である可能性があります。たとえば、SMTP の場合、SMTP MAIL TO が SMTP HELO の前にある場合、それは SMTP プロトコルの異常です。

プロトコルのコンテキスト情報が利用可能な場合、プロトコル デコーダーはそれらのコンテキスト内の攻撃をチェックします。たとえば、SMTP の場合、電子メールが user@company.com に送信される場合、user@company.com がコンテキスト情報であり、SMTP MAIL TO がコンテキストです。プロトコル デコーダーは、攻撃の検出にパケット全体ではなく、プロトコルのコンテキスト データを使用することで、全体的なパフォーマンスと精度を向上させます。

SMTP のプロトコル デコーダー チェックに一致するルールで構成されたポリシーがある場合、ルールがトリガーされ、適切なアクションが実行されます。

IDP モジュールには、構成済みのプロトコル デコーダーのセットが付属しています。これらのプロトコル デコーダーには、実行するさまざまなプロトコル固有のコンテキスト チェックのデフォルト設定があります。これらのデフォルトを使用することも、サイト固有のニーズに合わせて調整することもできます。使用可能なプロトコル デコーダーの一覧を表示するには、以下のコマンドを入力します。

プロトコル デコーダーの現在のセットとその既定のコンテキスト値の詳細については、デバイスの /ar/db/idpd/sec-download フォルダーにあるdetector-capabilities.xml ファイルを表示できます。新しいセキュリティ パッケージをダウンロードすると、現在のプロトコルと既定のデコーダー コンテキスト値を一覧表示するこのファイルも受け取ります。

例:UNIX CDE/dtlogin の脆弱性

この例では、ネットワークにはUNIXを実行する複数のユーザーワークステーションとサーバーが含まれています。多くの UNIX オペレーティング・システムは、グラフィカル・ユーザー・インターフェースとして共通デスクトップ環境 (CDE) を使用します。セキュリティー管理者は、CDE の dtlogin プロセスに新しい脆弱性があることを通知します (dtlogin プロセスは CDE への GUI ログイン・プロセスを処理します)。

脆弱性(http://www.kb.cert.org/vuls/id/179804)に対するCERTアドバイザリには、次の情報が含まれています。

この情報から、攻撃がXDMCPプロトコルパケットを使用し、UDP/177で実行されていることがわかります。次に、攻撃コードを見つける必要があります。このアドバイザリには、攻撃に関する詳細情報にリンクする参照も含まれています。http://lists.immunitysec.com/pipermail/dailydave/2004-March/000402.html の 1 つの参照は、攻撃を最初に報告した人物が攻撃を再現するスクリプトも作成していることを示しています。スクリプトを入手し、テスト ラボ内の攻撃者のコンピューターに移動します。

この攻撃オブジェクトを開発するには、次のようにします。

  1. 攻撃を再現して、攻撃のコンテキスト、方向、パターンを判断します。理想的には、 scio ccap とWiresharkを同時に使用して、攻撃を一度だけ実行する必要があるようにします。
  2. 攻撃シグネチャの要素:
    • サービス。CERT アドバイザリから、この攻撃は XDMCP プロトコルを使用していることがわかっています。Wiresharkの入力しますを確認して、プロトコルを確認します。

    • 文脈。 scio ccap を使用して、特定のサービスコンテキストを一致させることができるかどうかを判断します。この例では、XMCP サービス コンテキストは IDP システムでサポートされておらず、 scio ccap の出力は空白です。攻撃のパケット コンテキストを指定する必要があります。

    • パターン。XDMCP プロトコルに関する知識を使用して、攻撃が非 NUL 文字 (16 進コード 00 1b) を使用して無効な接続タイプを指定していることを識別します (NUL 文字は XDMCP のインターネット接続タイプを表します)。非 NUL 文字をシグネチャパターンに固定するには、先行するバイトの一部をパターンの一部として含めます。この例では、バージョン番号(16進コード00 01)とリクエストオプションコード(16進コード00 07)で非NUL文字を固定することを選択します。完全な攻撃パターンは、00 01 00 07 の後に任意のタイプの 5 つの文字が続き、その後に 6 番目の文字と非 NUL 文字 (上記の 00 1b を参照) または非 NUL 文字と別の文字が続きます。

    • 方向。セッションを開始した送信元 IP を見つけます。この例では、攻撃方向を特定できません。

  3. 攻撃シグネチャと一致する攻撃オブジェクトを作成します。次の正規表現を使用して、署名と一致させます。

    この式では、次のようになります。

    • \x 式は 16 進数値を示します。

    • XDMP プロトコルの 00 01 00 07 という数字は、バージョン番号 (16 進コード 00 01 とリクエスト オプション コード (16 進コード 00 07) を表します。

    • 5 つのピリオド (.....) は、任意の種類の 5 つの文字を示します。

    • 括弧 ( ) は項目のグループを示し、パイプ文字 (|) は OR を示します。これらの文字は、攻撃にグループから 1 つの項目を含める必要があることを示すために一緒に使用されることがよくあります。

    • キャレット [^] と組み合わされた開き括弧と閉じ括弧は否定を示します。

    • バックスラッシュとゼロ (\0) の組み合わせは、8 進数コード番号を示します。

    • 00 文字は、NUL 文字の 16 進コードです。この例では、攻撃の前に別の文字 ([^\000] または [^\000]) が続く NUL 以外の文字が含まれている必要があります。

    • ドット スターの組み合わせ (.*) は、ワイルドカードの一致を示します。式の末尾で使用する場合、ワイルドカードは、指定された式の後に何でも続くことができることを示します。

  4. 攻撃オブジェクトをテストします。

例:ワームの検出

ワームやトロイの木馬は、ファイアウォールやその他の従来のセキュリティ対策を迂回してネットワークに侵入することがよくあります。この例では、ネットワーク上の Blaster ワームを検出するためのカスタム攻撃オブジェクトを作成します。

BlasterワームのCERTアドバイザリ(http://www.cert.org/advisories/CA-2003-20.html)には、次の情報が記載されています。

この情報から、この攻撃は以前に特定されたセキュリティ ホールである DCOM エクスプロイトを使用していることがわかります。次に、攻撃コードを見つける必要があります。このアドバイザリには、攻撃に関する詳細情報にリンクする参照も含まれています。残念ながら、参照されている Web ページには悪用コードは含まれていません。CERTアドバイザリから学習した情報を使用してWebを検索した後、PacketStorm(http://packetstormsecurity.com/0307-exploits/dcom.c)でエクスプロイトコードを見つけます。

この攻撃オブジェクトを開発するには、次のようにします。

  1. 攻撃を再現して、攻撃のコンテキスト、方向、パターンを判断します。理想的には、 scio ccap とWiresharkを同時に使用して、攻撃を一度だけ実行する必要があります。
  2. 攻撃シグネチャの要素:
    • サービス。CERTアドバイザリから、攻撃はIDP OSがサービスコンテキストをサポートしていないICMPを使用していることがわかります。入力しますを確認して、プロトコルがICMPであることを確認します。

    • 文脈。 scio ccap を使用して、特定のサービスコンテキストに一致できるかどうかを判断します。この例では、ICMP サービス コンテキストは IDP システムでサポートされておらず、 scio ccap の出力は空白です。攻撃の最初のパケット コンテキストを指定する必要があります。

    • パターン。[Wireshark] にリストされている最初のフレームを選択し、2 番目のセクションの情報を確認します。ICMP パケットにデータを含めるべきではないことがわかっているので、64 バイトのデータ ペイロードを調査します。不規則なペイロードは複数の「AA」文字であり、おそらくバッファをオーバーフローさせようとするコードであることがわかります。このパターンは ICMP パケットのコンテキストでは珍しいため、署名として選択します。

    • 方向。セッションを開始した送信元 IP を見つけます。この例では、攻撃方向を特定できません。

  3. 攻撃シグネチャと一致する攻撃オブジェクトを作成します。この例では、次の正規表現を使用して署名を照合します。

    この式では、次のようになります。

    • \X 式は、その後に 16 進数値が続くことを示します。

    • ドット スターの組み合わせ (.*) は、ワイルドカードの一致を示します。式の末尾で使用する場合、ワイルドカードは、指定された式の後に何でも続くことができることを示します。

  4. 攻撃オブジェクトをテストします。

例:HTTP 脆弱性のエクスプロイトを検出するための複合シグネチャ

一部の攻撃は、パケット単位で見ると無害に見えるように細工されています。これらの攻撃では、複数のコンテキスト(サービス、非サービス、またはその両方)で複数のシグニチャパターンを検出する複合シグネチャを作成できます。

この例では、Microsoft FrontPage Server 拡張機能を使用する Web サーバーがあります。セキュリティ管理者は、FrontPage Server 拡張機能に新しいバッファ オーバーフローの脆弱性があることを通知します。

脆弱性 (http://www.securityfocus.com/bid/9007/discussion/) に対する BugTraq アドバイザリには、次の情報が含まれています。

次の概念実証の例も提供されています。

さらに、コンパイルされたエクスプロイトへのリンクが含まれています。

この情報から、攻撃が HTTP プロトコルを使用しており、攻撃の少なくとも一部が POST メソッドを使用していることがわかります。コンパイルされたエクスプロイトへのリンクを使用してスクリプトを取得し、テストラボ内の攻撃者のコンピューターに移動します。

この攻撃オブジェクトを開発するには、次のようにします。

  1. 攻撃を再現して、攻撃のコンテキスト、方向、パターンを判断します。理想的には、 scio ccap とWiresharkを同時に使用して、攻撃を一度だけ実行する必要があるようにします。
  2. 攻撃シグネチャの要素:
    • サービス。BugTraq のアドバイザリから、この攻撃は HTTP プロトコルを使用していることがわかっています。入力しますを確認し、HTTPプロトコルの使用状況を見つけます。

    • 文脈。 scio ccap を使用して、特定のサービスコンテキストを一致させることができるかどうかを判断します。この例では、サービス コンテキストは HTTP URL 解析済みです。

    • パターン。HTTP サービス内でシグネチャパターン POST /_vti_bin/_vti_aut/fp30reg.dll をすばやく識別できます。

      ただし、このパターンは誤検知をトリガーする可能性があるため、2 番目のシグネチャパターンも決定して、ルールで攻撃のみが検出されるようにします。この場合、2 番目のシグネチャ (BugTraq アドバイザリに記載されている) は Transfer-Encoding: chunked です。

    • 方向。セッションを開始した送信元 IP を見つけます。この例では、両方のシグネチャパターンの攻撃方向はクライアントからサーバーです。

  3. 攻撃シグネチャと一致する攻撃オブジェクトを作成します。次の正規表現を使用して、最初の署名と一致させます。

    この式では、次のようになります。

    • 左角かっこ (\[) は、右角かっこが表示されるまで、すべての文字の大文字と小文字を区別しない一致の開始を示します。

    • パターン /_vti_bin/_vti_aut/fp30reg は、文字が直接一致します。

    • バックスラッシュとピリオド(\.)の組み合わせは、ピリオドがエスケープされていることを示します(ピリオドはパターンに表示されます)。

    • 閉じ括弧(\])は、大文字と小文字を区別しない一致の終わりを示します。

    • ピリオドとアスタリスク文字 (.*) の組み合わせは、1 つ以上の文字が必要であることを示します。

  4. 2 つ目の署名を追加します。次の正規表現を使用して、2 番目の署名と一致させます。

    この式では、次のようになります。

    • 左角かっこ (\[) は、右角かっこが表示されるまで、すべての文字の大文字と小文字を区別しない一致の開始を示します。

    • パターン Transfer-Encoding: は、文字の直接一致です。

    • プラス記号 (+) は、パターン内にスペース文字が 1 回以上出現する必要があることを示します。

    • チャンクされたパターンは、文字が直接一致します。

    • 閉じ括弧(\])は、大文字と小文字を区別しない一致の終わりを示します。

  5. 攻撃オブジェクトをテストします。

例:タイムバインディングパラメータを使用したブルートフォース攻撃の検出

タイムバインディング制約では、トラフィックが一致しているとみなされるために、パターンが1分間に一定回数発生する必要があります。

時間バインディングパラメーターを署名と共に使用して、ブルートフォース攻撃の兆候を検出できます。ユーザーがパスワードを変更することは無害なイベントであり、通常はネットワーク上で時折見られます。しかし、1分間に何千ものパスワード変更を行うのは疑わしいものです。

ブルートフォース攻撃では、攻撃者はシステムの防御を突破しようとします。通常、宛先サーバーの容量を圧倒するか、認証資格情報の照合を試行錯誤を繰り返します。ブルートフォースログイン攻撃では、攻撃者は最初にユーザー名のリストとパスワード辞書を収集します。次に、攻撃者はツールを使用して、リスト内の最初のユーザーの辞書に最初のパスワードを入力し、一致するまですべてのユーザーのすべてのパスワードを試します。攻撃者がユーザー名とパスワードのすべての組み合わせを試みた場合、それらは常に成功します。ただし、通常、パスワード辞書は制限されており(すべての可能なパスワードが含まれているわけではありません)、攻撃ツールがパスワードの順列(文字の逆や大文字と小文字の変更など)を実行しないため、ブルートフォース攻撃はしばしば失敗します。

この例では、HTTP (Web ベースのアプリケーション) を介して認証されたユーザーの過剰な数のパスワード変更を検出する署名攻撃オブジェクトを作成します。

まず、攻撃パターンを設定します。

この式では、次のようになります。

  • ドット スターの組み合わせ (.*) は、ワイルドカードの一致を示します。

  • 文字の前のバックスラッシュは、その文字が正規表現を表しており、エスケープする必要があることを示します。この場合、文字は左括弧です。バックスラッシュは、この式では、ファイル拡張子マーカー (ドット) の前と右角かっこの前でも使用されます。

  • ユーザー・パスワードの変更に使用される cgi スクリプトの名前と、cgi 拡張モジュールが含まれています。

  • [コンテキスト] では、Web ベースのアプリケーションで発生するパスワードの変更を検出しようとしているため、一覧から [HTTP-URL-PARSED] を選択します。changepassword.cgi スクリプトを使用すると、URL の一部として表示されますが、名前を検索するには、URL を解析するように IDP シリーズ デバイスに指示する必要があります。

次に、タイムバインディングを設定します。

これらの設定では、次のようになります。

  • スコープは ピア に設定されているため、攻撃パターンは送信元または宛先に関係なくイベントに一致できます。

  • Count は、誤検知を避けるために大きな数値 (1000 まで) に設定されます。この値は、攻撃オブジェクトが一致する前に、changepassword.cgiスクリプトがURLに1000回出現する必要があることを意味します。

参照: カスタム攻撃オブジェクト プロトコル番号

IDP システムで使用される表 26 プロトコル番号。

表 26: IDP 攻撃オブジェクト: プロトコル番号

プロトコル名

プロトコル番号

HOPOPT

0

ICMP

1

IGMPの

2

GGPの

3

IPIPの

4

5

TCPの

6

CBT(アルコール飲料検査)

7

EGPの

8

IGPの

9

BBN-RCC-月

10

NVP-II

11

子犬

12

アーガス

13

エムコン

14

XNETの

15

カオス

16

UDP

17

マルチプレクサ

18

DCN-測定

19

HMPの

20

PRMの

21

XND-IDP

22

TRUNK-1 (トランク 1)

23

トランク-2

24

リーフ-1

25

LEAF-2 (葉-2)

26

RDP(リモートデスクトッププロトコル)

27

IRTPの

28

ISO-TP4認証取得

29

NETBLT (ネットブルト)

30

MFE-NSP

31

メリットイン

32

9 月

33

3パソコン

34

IDPRの

35

XTPの

36

DDPの

37

TP_PLUS_PLUS

39

イリノイ

40

IPV6

41

SDRP

42

IPV6ルーティング

43

IDV6 フラグメント

44

IDRP

45

RSVP

46

GRE

47

MHRP

48

BNAの

49

ESP

50

あら

51

I-NLSP

52

くすねる

53

ナープ

54

モビール

55

TLSPの

56

スキップ

57

IPV6-ICMP

58

IPV6-NONXT

59

IPV6-OPTS

60

AHIPの

61

CFTP

62

ALNPの

63

土-EXPAK

64

クリプトラン

65

RVDの

66

IPPC

67

ADFSP

68

土・月曜

69

査証

70

IPCV

71

CPNXの

72

CPHBの

73

WSNの

74

PvPの

75

BR-土-月

76

サンノースダコタ

77

WB-モン

78

WB-EXPAK社

79

ISO-IP

80

VMTP

81

セキュアVMTP

82

ブドウ

83

TTP(固定時間)

84

NSFNET - IBPの

85

DGPの

86

TCFの

87

EIGRPの

88

OSPFIGP

89

スプライトRPC

90

LARP

91

MTP(平均通信速度)

92

AX_25

93

IPIPの

94

MICP

95

SCC-SPの

96

イーサネット

97

カプセル化

98

99

グリニッジ標準時(GMTP)

100

IFMPの

101

PNNI

102

PIM

103

アリス

104

SCPSの

105

QNXの

106

A/N

107

IPCOMPの

108

SNPの

109

COMPAT-PEER

110

IPZ-IN-IP

111

VRRP

112

PGMの

113

HOP-O(ホップオー)

114

L2TP

115

DDXの

116

IATPの

117

STP

118

SRP

119

UTIの

120

SMPの

121

SSMの

122

PTP(総合情報インターフェース)

123

イシス

124

火事

125

CRTPの

126

CRUDPの

127

SSCOPMCEの

128

IPLTの

129

SPSの

130

パイプ

131

SCTPの

132

FC

133

RSVP-E2E-無視

134

該当なし

 

該当なし

 

該当なし

 

引っ込み思案

255

参照: 印刷不可および印刷可能なASCII文字

以下の表は、印刷不能文字と印刷可能文字のASCII表現についての詳細を示しています。

表 27: ASCII リファレンス: 印刷できない文字

12 月

16 進

10月

焦がす

コメント

0

0

000

ヌル

ヌル

1

1

001

SOH (ソー)

見出しの開始

2

2

002

STXの

テキストの先頭

3

3

003

ETXの

テキストの終わり

4

4

004

EOT

送信終了

5

5

005

ENQ

質問

6

6

006

ACKの

承認する

7

7

007

ベル

8

8

010

理学士

バックスペース

9

9

011

タブ

水平タブ

10

ある

012

LFの

改行

11

B

013

VTの

垂直タブ

12

C

014

フフ

フォームフィード

13

D

015

CRの

復帰

14

E

016

だから

シフトアウト

15

F

017

SIの

シフトイン

16

10

020

DLEの

データリンクエスケープ

17

11

021

DC1

デバイスコントロール1

18

12

022

DC2

デバイスコントロール2

19

13

023

DC3

デバイスコントロール 3

20

14

024

DC4

デバイスコントロール 4

21

15

025

NAKの

否定的肯定応答

22

16

026

SYN

同期アイドル

23

17

027

ETB(イー・リーベルト)

伝送ブロックの終了

24

18

030

キャンセル

25

19

031

全角

中期末

26

1A

032

サブ

代える

27

1B

033

Esc キー

逃げる

28

1Cの

034

FSの

ファイルセパレータ

29

1D

035

GSの

グループセパレータ

30

1E

036

RS

レコードセパレータ

31

1階

037

私達

ユニットセパレータ

表 28: ASCII リファレンス: 印刷可能な文字

12 月

16 進

10月

焦がす

32

20

040

33

21

041

!

34

22

042

 

35

23

043

#

36

24

044

$

37

25

045

%

38

26

046

&

39

27

047

 

40

28

050

(

41

29

051

)

42

2Aの場合

052

*

43

2Bの

053

+

44

2Cの

054

,

45

2D

055

-

46

2E(英語)

056

.

47

2階

057

/

48

30

060

0

49

31

061

1

50

32

062

2

51

33

063

3

52

34

064

4

53

35

065

5

54

36

066

6

55

37

067

7

56

38

070

8

57

39

071

9

58

3Aの

072

:

59

3Bの

073

;

60

3C

074

<

61

3D

075

=

62

3E(英語)

076

>

63

3階

077

?

64

40

100

@

65

41

101

ある

66

42

102

B

67

43

103

C

68

44

104

D

69

45

105

E

70

46

106

F

71

47

107

G

72

48

110

H

73

49

111

74

4Aの

112

J

75

図4B

113

K

76

4Cの

114

L

77

4D

115

M

78

4E

116

N

79

4階

117

O

80

50

120

P

81

51

121

Q

82

52

122

R

83

53

123

S

'84年

54

124

T

85

55

125

U

86

56

126

V

87

57

127

W

88

58

130

X

89

59

131

Y

90

5Aの

132

Z

91

5Bの

133

[

92

5C

134

\

93

5D

135

]

94

5E(英語)

136

^

95

5階

137

_

96

60

140

`

97

61

141

ある

98

62

142

b

99

63

143

c

100

64

144

d

101

65

145

e

102

66

146

f

103

67

147

g

104

68

150

h

105

69

151

106

図6A

152

j

107

6Bの

153

k

108

6C

154

l

109

6D

155

m

110

6E:

156

n

111

6階

157

o

112

70

160

p

113

71

161

q

114

72

162

r

115

73

163

s

116

74

164

t

117

75

165

u

118

76

166

v

119

77

167

w

120

78

170

x

121

79

171

y

122

図7A

172

z

123

7Bの

173

{

124

7Cの

174

|

125

7D

175

}

126

7Eの

176

~

127

7階

177

デル

128

80

200

Ç

129

81

201

ü

130

82

202

é

131

83

203

â

132

84

204

ä

133

85

205

à

134

86

206

å

135

87

207

ç

136

88

210

ê

137

89

211

ë

138

8Aの

212

è

139

8Bの

213

ï

140

8C

214

î

141

8D

215

ì

142

8Eの

216

Ä

143

8階

217

Å

144

90

220

É

145

91

221

æ

146

92

222

Æ

147

93

223

ô

148

94

224

ö

149

95

225

ò

150

96

226

û

151

97

227

ù

152

98

230

ÿ

153

99

231

Ö

154

9Aの

232

Ü

155

9Bの

233

¢

156

9C

234

£

157

9D

235

¥

158

9E

236

P

159

9階

237

ƒ

160

A0の場合

240

á

161

A1 (日本語)

241

í

162

A2:日本語

242

ó

163

A3 (英語)

243

ú

164

A4型

244

ñ

165

A5.さん

245

Ñ

166

A6 (日本語)

246

ª

167

A7のように

247

º

168

A8の

250

¿

169

A9の

251

¬

170

AAの

252

 

171

血液型

253

1/2

172

交流

254

1/4

173

広告

255

¡

174

AEの

256

"

175

AFの

257

"

176

B0の

260

¦

177

B1の

262

¦

178

B2の

262

¦

179

B3の

263

¦

180

B4の

264

¦

181

B5の

265

¦

182

B6の

266

¦

183

B7の

267

+

184

キ8

270

+

185

B9の

271

¦

186

文学士

272

¦

187

ビービー

273

+

188

紀元前

274

+

189

BDの

275

+

190

いる

276

+

191

BFの

277

+

192

C0の

300

+

193

C1の

301

-

194

C2の

302

-

195

C3の

303

+

196

C4の

304

-

197

C5の

305

+

198

C6の

306

¦

199

C7の

307

¦

200

C8の

310

+

201

C9の

311

+

202

CA

312

-

203

シービー

313

-

204

CCの

314

¦

205

CDの

315

-

206

西暦

316

+

207

CFの

317

-

208

D0の

320

-

209

D1の

321

-

210

D2の

322

-

211

D3の

323

+

212

D4の

324

+

213

D5の

325

+

214

D6の

326

+

215

デ7

327

+

216

D8の

330

+

217

D9の

331

+

218

DA

332

+

219

DB

333

¦

220

直流

334

_

221

DDの

335

¦

222

DE

336

¦

223

DF

337

¯

224

E0

340

ある

225

E1の

341

ß

226

E2の

342

G

227

E3の

343

p

228

E4

344

S

229

E5の

345

s

230

E6

346

μ

231

E7の

347

t

232

E8の

350

F

233

東9

351

T

234

EA

352

O

235

EBの

353

d

236

欧州共同体

354

8

237

拘束形態素

355

f

238

EEの

356

e

239

エフ

357

n

240

F0 キー

360

=

241

F1

361

+/-

242

F2 キー

362

=

243

F3 キー

363

=

244

F4 キー

364

(

245

F5キー

365

)

246

F6 キー

366

÷

247

F7キー

367

˜

248

F8 キー

370

°

249

F9キー

371

250

ファ

372

251

FBの

373

v

252

FC

374

n

253

FDの

375

²

254

FEの

376

¦

255

フフ

377

 

例:IDP プロトコル デコーダーの設定

この例では、IDP プロトコル デコーダー調整可能を構成する方法を説明します。

必要条件

開始する前に、IDP プロトコル デコーダー機能を確認してください。 IDP プロトコル デコーダーについてを参照してください。

概要

Junos IDPモジュールには、設定済みのプロトコルデコーダのセットが同梱されています。これらのプロトコル デコーダーには、実行するさまざまなプロトコル固有のコンテキスト チェックのデフォルト設定があります。デフォルト設定を使用することも、サイト固有のニーズに合わせて調整することもできます。この例では、FTP のプロトコル デコーダーを調整する方法を示します。

構成

プロシージャ

手順

IDP プロトコル デコーダーのチューナブルを設定するには、次のようにします。

  1. 調整可能なパラメーターを持つプロトコルのリストを表示します。

  2. FTP プロトコルの調整可能なパラメーターを設定します。

  3. デバイスの設定が完了したら、設定をコミットします。

検証

設定が正常に機能していることを確認するには、 show security idp status コマンドを入力します。

複数のIDPディテクタのサポートについて

新しいセキュリティ パッケージを受信すると、攻撃定義と検出機能が含まれています。セキュリティ パッケージの任意のバージョンでは、攻撃定義は含まれている検出機能に対応します。デバイスでポリシー エージングが無効になっている場合(ポリシー エージング コマンドについては ステートメントを reset-on-policy 参照)、一度に有効なポリシーは 1 つだけです。ただし、ポリシーのエージングが有効になっていて、ポリシーの更新がある場合、新しいポリシーがロードされても、既存のポリシーはアンロードされません。したがって、両方のポリシーをデバイス上で有効にすることができます。この場合、既存のすべてのセッションは引き続き既存のポリシーで検査され、新しいセッションは新しいポリシーで検査されます。古いポリシーを使用している既存のセッションがすべて終了または期限切れになると、古いポリシーがアンロードされます。

ポリシーがロードされると、そのポリシーはディテクタにも関連付けられます。ロードされる新しいポリシーに、既存のポリシーですでに使用されているディテクタと一致するディテクタが関連付けられている場合、新しいディテクタはロードされず、両方のポリシーで 1 つの関連付けられたディテクタが使用されます。ただし、新しいディテクタが現在のディテクタと一致しない場合は、新しいディテクタが新しいポリシーとともにロードされます。この場合、読み込まれた各ポリシーは、攻撃検出に独自の関連する検出機能を使用します。

一度に最大 2 つの検出器をロードできることに注意してください。2 つのディテクタが(2 つ以上のポリシーによって)すでにロードされており、新しいポリシーをロードするには新しいディテクタもロードする必要がある場合、新しいディテクタをロードする前に、ロードされたディテクタの少なくとも 1 つをアンロードする必要があります。ディテクタがアンロードされる前に、対応するディテクタを使用するすべてのポリシーもアンロードされます。

次のコマンドを入力すると、現在のポリシーと対応するディテクタのバージョンを表示できます。

Junos OS リリース 18.4R1 以降、新しい IDP ポリシーが読み込まれると、新しく読み込まれたポリシーを使用して既存のセッションが検査され、既存のセッションは IDP 処理で無視されません。IDP インスペクションは、新しい IDP ポリシーがロードされた後もディテクタによって作成されたコンテキストベースの攻撃に対して続行されますが、新しいディテクタがロードされた新しいポリシーは例外です。

コンテンツの解凍について

HTTPなどのアプリケーションプロトコルでは、コンテンツを圧縮してからネットワーク経由で送信できます。署名パターンはエンコードされていないトラフィック データと一致するように書き込まれるため、パターンは圧縮されたコンテンツと一致しません。この場合、IDP 検出は回避されます。HTTP 圧縮コンテンツでの IDP 検出回避を回避するために、プロトコル コンテンツを解凍する IDP サブモジュールが追加されました。シグネチャパターンの照合は、解凍されたコンテンツに対して行われます。

すべての IPS カウンター値のステータスを表示するには、以下のコマンドを入力します。

一部の攻撃は、圧縮されたコンテンツを介して導入されます。コンテンツが解凍されると、非常に大きなサイズに膨張し、貴重なシステムリソースを占有し、サービス拒否を引き起こす可能性があります。このタイプの攻撃は、圧縮されたデータサイズに対する圧縮解除されたデータサイズの比率によって認識できます。content-decompress-ratio-over-limit カウンタは、この比率を超えたインシデントの数を識別します。デフォルトの比率は、一般的な環境と一致していると見なされます。ただし、場合によっては、 content-decompress-ratio-over-limit 値をリセットしてこの比率を調整する必要があります。ただし、比率が高いほど、この種の攻撃が検出される可能性は低くなることに注意してください。

content-decompress-memory-over-limit カウンタは、圧縮解除されたデータの量が割り当てられたメモリを超えたインシデントの数を識別します。デフォルトのメモリ割り当てでは、同時に圧縮解除が必要なセッションの平均数に対して、セッションあたり 33 KB が提供されます。この値が環境と一致しているかどうかを判断するには、圧縮解除関連のカウンターからの値と、デバイスを通過する IDP セッションの総数を分析し、同時に圧縮解除が必要なセッションの数を推定します。これらの各セッションが圧縮解除に 33 KB のメモリを必要とすると仮定して、推定ニーズをデフォルト値と比較します。必要に応じて、 content-decompression-max-memory-kb 値をリセットすることでメモリ割り当てを調整できます。コンテンツの圧縮解除には大量のメモリ割り当てが必要なため、圧縮解除用の最大メモリ割り当てを増やすと、システムのパフォーマンスが影響を受けることに注意してください。

例:IDP コンテンツ圧縮解除の設定

この例では、IDP コンテンツの解凍を設定する方法を示しています。

必要条件

開始する前に、IDP コンテンツの解凍機能を確認してください。「コンテンツの圧縮解除について」を参照してください

概要

圧縮解除機能はデフォルトで無効になっています。この例では、ディテクタを有効にし、最大メモリを 50,000 キロバイトに設定し、最大解凍比を 16:1 に設定します。

手記:

解凍を有効にすると、デバイスのパフォーマンスが低下します。

構成

プロシージャ

手順

IDP コンテンツの解凍を設定するには:

  1. ディテクタを有効にします。

    手記:

    ディテクタを無効にするには、 tunable‑value を 0 に設定します。

  2. 必要に応じて、最大メモリをキロバイト単位で変更します。

  3. 必要に応じて、最大減圧率を設定します。

  4. デバイスの設定が完了したら、設定をコミットします。

検証

設定が正常に機能していることを確認するには、 show security idp status ips コマンドを入力します。content-decompress カウンターは、圧縮解除処理に関する統計情報を提供します。

IDPシグネチャベース攻撃について

カスタム攻撃オブジェクトを設定するには、一意の名前を指定し、追加情報を指定すると、攻撃オブジェクトの検索と保守が容易になります。

攻撃オブジェクト定義の特定のプロパティーは、攻撃名、重大度レベル、サービスまたはアプリケーションのバインド、時間バインディング、プロトコルまたはポートのバインディングなど、すべてのタイプのアタックに共通です。一部のフィールドは攻撃タイプに固有であり、その特定の攻撃定義でのみ使用できます。

署名攻撃オブジェクトは、ステートフル攻撃署名 (攻撃の特定のセクション内に常に存在するパターン) を使用して、既知の攻撃を検出します。また、攻撃の実行に使用されたプロトコルやサービス、攻撃が発生するコンテキストも含まれます。次のプロパティはシグニチャ攻撃に固有であり、シグニチャ攻撃を構成するときに構成できます—攻撃コンテキスト、攻撃方向、攻撃パターン、およびプロトコル固有のパラメーター (TCP、UDP、ICMP、または IP ヘッダー フィールド)。

シグネチャベース攻撃を設定する場合、次の点に注意してください。

  • 攻撃コンテキストと方向は、シグネチャ攻撃定義の必須フィールドです。

  • パターン否定は、パケット、回線、およびアプリケーションベースのコンテキストでのみサポートされ、ストリームおよび正規化されたストリームコンテキストではサポートされません。

  • プロトコル固有のパラメーターを設定する場合、フィールドを指定できるのは、IP、TCP、UDP、ICMP のいずれか 1 つのプロトコルのみです。

  • プロトコル バインディングを設定する場合、指定できるのは、IP、ICMP、TCP、UDP、RPC、またはアプリケーションの 1 つだけです。

    • IP—プロトコル番号は必須フィールドです。

    • TCPおよびUDP—単一ポート(minimum-port)またはポート範囲(minimum-port および maximum-port)のいずれかを指定できます。ポートを指定しない場合は、デフォルト値(0-65535)が使用されます。

    • RPC:プログラム番号は必須フィールドです。

Junos OS リリース 19.1R1 以降、HyperScan 拡張パラメーターを使用してシグネチャ ベースの攻撃を設定できます。Hyperscan拡張パラメータに最適な値を設定することで、攻撃パターンマッチングプロセスを大幅に強化できます。

拡張パラメーターを構成するには、[edit security idp custom-attack attack-name attack-type signature] 階層レベルで optional-parameters オプションを含めます。optional-parametersオプションでは、以下のパラメーターを設定できます。

  • min-offset

  • max-offset

  • min-length

Hyperscan APIの簡単な動作原理 – Hyperscanは、高性能と柔軟性を提供するように設計されたソフトウェア正規表現マッチングエンジンです。パターンのある署名が IDP ポリシーの一部として設定されている場合、そのパターンは正規表現として識別されます。ルーティングエンジンでは、Hyperscanはこの正規表現を入力として受け取り、それをコンパイルしてデータベースを形成し、パケット転送エンジンにプッシュします。パケットがパケット転送エンジンに入ると、パケット内のデータが検査され、データベースを使用して正規表現に一致するかどうかが判断されます。

IDP ポリシーが一連の署名で設定されている場合、決定論的有限オートマトン(DFA)グループが形成されます。DFA グループ内のすべてのシグネチャのパターンが HyperScan に渡され、パケット内のすべての攻撃を一度にチェックするために使用できる単一のデータベースが形成されます。攻撃ごとに個別のデータベースではなく、単一のデータベースが使用されるため、パターンマッチングプロセスは効率的です。

シグニチャーが拡張パラメーターで構成されている場合、Hyperscan API は構成されたパラメーターを考慮してデータベースを形成します。パターンマッチングプロセスは、この新しいデータベースを使用してパケット転送エンジンで発生します。これらのパラメーターを使用すると、実行時に不要な一致を処理するアプリケーションに依存するのではなく、パターンによって生成される一致のセットをコンパイル時に制限できます。

例:IDP シグネチャベース攻撃の設定

この例では、シグネチャベースの攻撃オブジェクトを作成する方法を示しています。

必要条件

開始する前に、ネットワークインターフェイスを設定します。

概要

この例では、sig1 というシグニチャ攻撃を作成し、次のプロパティを割り当てます。

  • 推奨アクション(パケットのドロップ):一致するパケットが宛先に到達する前にドロップしますが、接続は閉じません。

  • タイムバインディング—範囲を source に指定し、カウントを 10に指定します。スコープが sourceの場合、同じソースからのすべての攻撃がカウントされ、攻撃の数が指定された数(10)に達すると、攻撃がログに記録されます。この例では、同じソースからの 10 回目の攻撃ごとにログに記録されます。

  • 攻撃コンテキスト(パケット)—パケット内の攻撃パターンを照合します。

  • 攻撃方向(任意)—クライアントからサーバーへのトラフィックとサーバーからクライアントへのトラフィックの両方の方向からの攻撃を検出します。

  • [プロトコル(TCP)]:TTL 値 128 を指定します。

  • [シェルコード(Intel)]:Intel プラットフォームのシェルコードを検出するフラグを設定します。

  • プロトコルバインディング—TCPプロトコルとポート50〜100を指定します。

シグネチャベースの攻撃オブジェクトを設定した後、IDP ポリシー ルールの一致条件として攻撃を指定します。 例:IDP IPS RuleBase のルールの定義を参照してください。

構成

プロシージャ

CLIクイック構成

この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルのCLIにコピーアンドペーストして、設定モードから commit を入力します。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイド設定モードにおけるCLIエディターの使用を参照してください。

シグネチャベースの攻撃オブジェクトを作成するには:

  1. 攻撃の名前を指定します。

  2. 攻撃の共通プロパティを指定します。

  3. 攻撃の種類とコンテキストを指定します。

  4. 攻撃方向とシェルコードフラグを指定します。

  5. プロトコルとそのフィールドを設定します。

  6. プロトコルバインディングとポートを指定します。

  7. 方向を指定します。

業績

設定モードから、 show security idp コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認します。

設定の確認

目的

シグネチャ ベースの攻撃オブジェクトが作成されたことを確認します。

アクション

動作モードから show security idp status コマンドを入力します。

IDPプロトコル異常ベース攻撃について

プロトコル異常攻撃オブジェクトは、プロトコル仕様(RFC および一般的な RFC 拡張)に違反する未知の攻撃または高度な攻撃を検出します。新しいプロトコル異常を作成することはできませんが、新しい攻撃オブジェクトを設定して、検出されたときにデバイスが事前定義されたプロトコル異常を処理する方法を制御することはできます。

次のプロパティは、プロトコル異常攻撃に固有です。

  • 攻撃方向

  • 試験条件

プロトコル異常ベース攻撃を設定する際は、以下の点に留意してください。

  • サービスまたはアプリケーションのバインドは、プロトコル異常攻撃の必須フィールドです。サポートされているアプリケーション以外にも、サービスにはIP、TCP、UDP、ICMP、およびRPCが含まれます。

  • 攻撃方向とテスト条件のプロパティは、異常攻撃定義を構成するための必須フィールドです。

例:IDP プロトコル異常ベース攻撃の設定

この例では、プロトコル異常ベースの攻撃オブジェクトを作成する方法を示しています。

必要条件

開始する前に、ネットワークインターフェイスを設定します。

概要

この例では、anomaly1 というプロトコル異常攻撃を作成し、次のプロパティを割り当てます。

  • タイムバインディング—範囲を peer 、カウントを 2 に指定して、指定された回数、セッションの送信元IPアドレスと宛先IPアドレス間の異常を検出します。

  • 重大度(情報):条件に一致する攻撃に関する情報を提供します。

  • 攻撃方向(任意)—クライアントからサーバーへのトラフィックとサーバーからクライアントへのトラフィックの両方の方向からの攻撃を検出します。

  • サービス(TCP)—TCPサービスを使用して攻撃を照合します。

  • テスト条件(OPTIONS_UNSUPPORTED)—特定の事前定義されたテスト条件に一致します。この例では、攻撃にサポートされていないオプションが含まれている場合、条件は一致することです。

  • シェルコード (sparc) - Sparc プラットフォームのシェルコードを検出するフラグを設定します。

プロトコル異常ベース攻撃オブジェクトを設定した後、IDP ポリシー ルールの一致条件として攻撃を指定します。 例:IDP IPS RuleBase のルールの定義を参照してください。

構成

プロシージャ

CLIクイック構成

この例を迅速に設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルのCLIにコピーアンドペーストして、設定モードから commit を入力します。

手順

次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイド設定モードにおけるCLIエディターの使用を参照してください。

プロトコル異常ベース攻撃オブジェクトを作成するには:

  1. 攻撃の名前を指定します。

  2. 攻撃の共通プロパティを指定します。

  3. 攻撃の種類とテスト条件を指定します。

  4. 異常攻撃の他のプロパティを指定します。

業績

設定モードから、 show security idp コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから commit を入力します。

検証

設定が正常に機能していることを確認するには、次のタスクを実行します。

設定の確認

目的

プロトコル異常ベース攻撃オブジェクトが作成されたことを確認します。

アクション

動作モードから show security idp status コマンドを入力します。

IDP ポリシー設定の概要

Junos OS の侵入検出および防止(IDP)ポリシーを使用すると、IDP 対応デバイスを通過するネットワーク トラフィックに対して、さまざまな攻撃検出および防御技術を選択的に適用できます。ゾーン、ネットワーク、アプリケーションに基づいて、トラフィックの一部を一致させるポリシールールを定義し、そのトラフィックに対してアクティブまたはパッシブな予防措置を講じることができます。

IDP ポリシーは、デバイスがネットワーク トラフィックを処理する方法を定義します。これにより、ネットワークを通過するトラフィックにさまざまな攻撃検出および防御技術を適用できます。

ポリシーはルールベースで構成され、各ルールベースには一連のルールが含まれています。トラフィックの一致条件、アクション、ロギング要件などのルールパラメータを定義し、そのルールをルールベースに追加します。1 つ以上のルール ベースにルールを追加して IDP ポリシーを作成した後、そのポリシーをデバイスのアクティブなポリシーとして選択できます。

IDP ポリシーを設定するには、次の手順を実行します。

  1. セキュリティ ポリシーで IDP を有効にします。

  2. IDPポリシールール、IDPルールベース、IDPルールアクションを設定します。例:IDP ルールベースへのルールの挿入、例:IDP IPS ルールベースのルールの定義、および例:セキュリティ デバイスへの書き換えルールの設定と適用のトピックを参照してください。

  3. IDPカスタム署名を設定します。 「IDP シグニチャ ベース攻撃について 」および 「例:IDP シグネチャ ベース攻撃の設定 」のトピックを参照してください。

  4. IDP 署名データベースを更新します。「 IDP 署名データベースの更新の概要」を参照してください。

IPv6秘密チャネルの概要

秘密チャネルは、既存の情報チャネルを介してオブジェクトを不正または違法な方法で転送することにより、情報の通信を可能にする攻撃手法です。秘密のチャネルの助けを借りて、攻撃者はネットワーク内で悪意のある活動を実行することができます。

Junos OS リリース 19.1R1 以降、IPv6 拡張ヘッダーの隠れチャネル識別と緩和が IDP(侵入検出および防止)でサポートされます。これは、既存のセキュリティシステムに違反する情報の転送です。IDP のセキュリティ パッケージには、IDP ポリシーで使用してトラフィックを攻撃と照合できる隠れチャネルの事前定義された IDP 攻撃オブジェクトのデータベースが含まれています。

このサポートの一環として、IPv6 拡張ヘッダーの異常を検出してフラグを立てることで、隠れチャネルを確立し、ポリシーで指定されたアクションを実行できます。隠れチャネル攻撃は、他の攻撃とともに Show security idp attack table に表示されます。

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。

解放
形容
18.4R1
Junos OS リリース 18.4R1 以降、タイムバインディングカスタム攻撃の任意の 2 つのインスタンス間の最大時間間隔を設定でき、最大時間間隔の範囲は 0 分 0 秒から 60 分 0 秒です。18.4R1より前のJunos OSリリースでは、タイムバインディング攻撃の任意の2つのインスタンス間の最大時間間隔は60秒であり、攻撃トリガーカウントがタイムバインディングで設定されたカウントに達するまでです。 interval interval-value ステートメントは、カスタムのタイムバインディングを設定するために、 [edit security idp custom-attack attack-name time-binding] 階層で導入されています。
15.1X49-D140
Junos OS リリース 15.1X49-D140 以降、カスタム攻撃オブジェクト名に許可される最大文字数は 60 文字です。 set security idp custom-attack コマンドを使用してステートメントを検証できます。