Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの目次
 

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

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

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

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

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

既知の脆弱性

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

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

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

注意:

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

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

  • NVD:National Vulnerability Database(http://nvd.nist.gov)。セキュリティコンテンツ自動化プロトコル(SCAP)を使用して表現された脆弱性管理データの米国政府のリポジトリ。

  • SAN - システム管理者、監査、ネットワーク、セキュリティ研究所(www.sans.org)。セキュリティ アラートを提供する情報セキュリティの研究、認定、および教育組織。また、http://www.incidents.org でインターネットストームセンター(ISC)をホストしています。

  • CVE—一般的な脆弱性と露出(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. オブジェクトマネージャで、[ 攻撃オブジェクト] > [IDP オブジェクト] を選択します。
  2. [ カスタム攻撃] タブをクリックします。
  3. [+] アイコンをクリックして、[カスタム攻撃] ダイアログ ボックスを表示します。
  4. 攻撃対象の設定を構成します。 表 1 に、設定を完了するためのガイドラインを示します。
    表 1: [カスタム攻撃] ダイアログ ボックス : [全般] タブの設定

    設定

    形容

    名前

    UI に表示される名前。

    先端:

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

    形容

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

    過酷

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

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

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

    • [メジャー(Major)]:サービスの中断、ネットワーク デバイスへのユーザ レベルのアクセスの取得、またはデバイスに以前にロードされたトロイの木馬のアクティブ化を試みる攻撃に一致する攻撃オブジェクトが含まれます。

    • [マイナー(Minor)]:ディレクトリ トラバーサルや情報漏えいを通じて重要な情報にアクセスしようとする偵察活動を検出する攻撃に一致する攻撃オブジェクトが含まれます。

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

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

    カテゴリ

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

    キーワード

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

    推奨

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

    • [はい] - ジュニパーネットワークスが推奨する事前定義された攻撃を動的グループに追加します。

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

       

    検出性能

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

    次の中からオプションを選択します。

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

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

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

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

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

    種類

    形容

    署名

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

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

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

    複合攻撃

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

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

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

  8. [ 署名] を選択し、[ 次へ] をクリックします。
  9. [カスタム攻撃 - 全般プロパティ] ページで、その他の設定を構成します。 表 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で、アプリケーションの識別が遅くなります。

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

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

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

    スコープ

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

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

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

    [ 次へ] をクリックします。

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

    設定

    形容

    パターン

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

     

    \B.0.1..00\B

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

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

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

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

    \0 <octal_number>

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

    \X<16進数>\X

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

    \[<文字セット>\]

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

    .

    任意のシンボルに一致します。

    *

    0 個以上のシンボルを照合します。

    +

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

    ?

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

    ()

    式のグループ化。

    |

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

    例: 次の式は、犬または猫に一致します: (犬 | 猫)。

    []

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

    例: [Dd]ay は曜日と曜を一致させます。

    [<開始>-<終了>]

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

    例: [AaBbCcDdEeFf0-9]。

    [^<start>-<end>]

    文字範囲の否定。

    例: [^Dd]ay は干し草と光線と一致しますが、日や日は一致しません。

    手記:

    署名パターン全体を無効にするには、パターン テキスト ボックスの下にある [拒否] オプションを選択します。

    \u<文字列>\u

    Unicode の非依存な一致。

    \s

    空白。

     

    \

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

    文字 エスケープ

    *

    \*

    (

    \(

    )

    \)

    .

    \.

    +

    \+

    \

    \\

    [

    \0133

    ]

    \0135

    手記:

    大文字と小文字を区別しない式では、円記号と左角括弧と右角括弧の組み合わせが使用されるため、角括弧文字には円記号とオクタルコードを使用する必要があります。

    打ち消す

    攻撃パターンを無効にします。

    正規表現

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

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

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

    文脈

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

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

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

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

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

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

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

    • ストリーム 8K - ストリーム 256 に類似 (ただし、パケットを再構成し、トラフィック ストリームの最初の 8192 バイト内のパターン一致を検索する点が異なります)。

    • ストリーム 1K - ストリーム 256 に類似 (ただし、パケットを再構成し、トラフィック ストリームの最初の 1024 バイト内のパターン一致を検索します)。

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

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

    手記:

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

    方向

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

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

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

    • [任意(Any)]:いずれかの方向のパターンを検出します。

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

    異常の追加

    変則

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

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

    方向

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

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

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

    • [任意(Any)]:いずれかの方向の攻撃を検知します。

    (Anyではなく)単一の方向を使用すると、パフォーマンスが向上し、誤検知が減少し、検出精度が向上します。

    [ 次へ] をクリックします。

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

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

    先端:

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

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

    表 5: カスタム攻撃 – IPv4 設定とヘッダー一致ページ

    設定

    形容

    チェックサム検証

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

    サービスの種類

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

    • 0000 デフォルト

    • 0001 コストの最小化

    • 0002 信頼性の最大化

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

    • 0004 遅延の最小化

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

    IP フラグ

    IP フラグ ビット。

    ティッカー

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

    全長

    IP データグラムの全長。

    身分証明書

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

    有効期限

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

    議定書

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

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

    行き先

    攻撃ターゲットのIPアドレス。

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

    表 6: カスタム攻撃 – IPv6 設定とヘッダー一致ページ

    設定

    形容

    行き先

    攻撃ターゲットのIPアドレス。

    拡張ヘッダー

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

    フロー ラベル

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

    ホップ制限

    ルーターがルーター広告およびすべてのIPv6パケットで使用できる最大ホップ数を指定します。

    次のヘッダー

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

    ペイロード長

    オクテットで表される IPv6 パケット ペイロードまたはコンテンツの長さを指定します。

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

    トラフィック クラス

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

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

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

    設定

    形容

    送信元ポート

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

    宛先ポート

    攻撃対象のポート番号。

    シーケンス番号

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

    ACK番号

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

    ヘッダーの長さ

    TCP ヘッダー内のバイト数。

    ウィンドウサイズ

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

    データ長

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

    緊急ポインタ

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

    ティッカー

    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:ROOT- FTP:USER グループに属します。 root アカウントを使用してFTPサーバーにログインしようとする試みを検出します。

  • HTTP:HOTMAIL:FILE-UPLOAD- HTTP:HOTMAIL グループに属します。Webベースの電子メールサービス Hotmailを介して送信された電子メールに添付されたファイルを検出します。

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

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

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

攻撃対象グループ

形容

攻撃タイプ

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

カテゴリ

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

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

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

過酷

攻撃に割り当てられた重大度によって攻撃オブジェクトをグループ化します。IDP には、重大、メジャー、マイナー、警告、情報の 5 つの重大度レベルがあります。各重大度内で、攻撃オブジェクトはカテゴリ別にグループ化されます。

ウェブサービス

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

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

応答

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

カスタム攻撃オブジェクトについて

カスタム攻撃オブジェクトを作成して新しい攻撃を検出したり、ネットワーク固有のニーズに合わせて定義済みの攻撃オブジェクトをカスタマイズしたりできます。

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

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

手記:

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

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

攻撃名

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

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

過酷

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

サービスとアプリケーションのバインド

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

手記:

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

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

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

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

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

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

手記:

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

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

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

    プロトコル名

    プロトコル番号

    ティッカー

    2

    IP-IP

    4

    ティッカー

    8

    子犬

    12

    トイレットペーパー

    29

    IPV6

    41

    ルーティング

    43

    断片

    44

    出欠確認

    46

    ティッカー

    47

    ティッカー

    50

    あら

    51

    ICMPV6

    58

    何一つ

    59

    DSTOPTS

    60

    ティッカー

    92

    エンキャップ

    98

    ピム

    103

    コンプ

    108

    255

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

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

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

表 12: プロトコルのサンプルフォーマット

プロトコル名

プロトコル番号

形容

ティッカー

<Port>ICMP</Port>

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

IPアドレス

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

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

ティッカー

<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-aip-c)から検出されます。その後、ip-aの一致数は2に増加します。しきい値またはcountも2に設定されていると、シグネチャによって攻撃イベントがトリガーされます。

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

  • ピア:このオプションを指定すると、セッションの送信元 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方向ではなく)単一方向を使用すると、パフォーマンスが向上し、誤検知が減り、検出精度が向上します。

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

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

  • 任意(いずれかの方向の攻撃を検知)

攻撃パターン

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

手記:

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

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

パケット ヘッダー内に存在する特定の値とオプションを指定します。これらのパラメータは、プロトコルによって異なります。カスタム攻撃定義では、TCP、UDP、または ICMP のいずれかのプロトコルに対してのみフィールドを指定できます。ただし、カスタム攻撃定義で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 フラグを設定する必要があります。

ティッカー

設定されている場合、urgent フラグはパケットデータが緊急であることを示します。

ティッカー

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

ティッカー

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

ティッカー

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

シン

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

設定されている場合、final フラグは、パケット転送が完了し、接続を閉じることができることを示します。

R1

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

R2

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

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

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

形容

送信元ポート

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

宛先ポート

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

データ長

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

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

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

形容

ICMP タイプ

要求または応答パケットの機能を識別する基本コードの値を指定します。

ICMPコード

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

シーケンス番号

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

ICMP ID

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

データ長

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

シグネチャ攻撃定義の例

以下は、シグネチャ攻撃定義の例です。

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

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

手記:

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

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

攻撃方向

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

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

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

  • 任意(いずれかの方向の攻撃を検知)

テスト条件

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

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

プロトコル異常攻撃の定義の例を次に示します。

攻撃特性(複合攻撃または連鎖攻撃)

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

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

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

スコープ

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

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

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

命令

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

リセット

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

式 (ブール式)

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

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

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

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

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

手記:

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

メンバーインデックス

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

手記:

式を定義するときは、すべてのメンバーのメンバー インデックスを指定する必要があります。

複合攻撃の定義の例

複合攻撃の定義の例を次に示します。

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

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

  • 攻撃は複数の方法を使用して脆弱性を悪用し、独立して検査すると、個々のコンテキストは無害に見えます。

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

  • シグネチャをプロトコル異常と結びつけることで、誤検知を減らすことができます。

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

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

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

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

  2. [カスタム攻撃 - 全般プロパティ] ページで、 表 17 で説明されている設定を構成します。
    表 17: カスタム攻撃 – 全般プロパティ

    財産

    形容

    時間バインド

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

    [ 次へ] をクリックします。

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

    設定

    形容

    スコープ

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

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

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

    リセット

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

    ブール式

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

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

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

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

    たとえば、ブール式 (s1 OAND s2) または (s1 OAND s3)) および (s4 および s5) は、s1 の後に s2 または s3 が続き、任意の場所に s4 と s5 も含まれる攻撃と一致します。

    メンバーの追加

    [+] アイコンをクリックし、[ シグニチャ] または [プロトコル異常] を選択して、構成の詳細を入力します。

    署名メンバーの場合は、署名攻撃オブジェクトの場合と同じコンテキスト情報を指定します。

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

    ベスト プラクティス:

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

    命令

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

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

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

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

  4. [ 完了] をクリックします。

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

このトピックでは、HTTP プロトコル デコーダーによって生成される一部のサービス コンテキストに対する変更について説明します。 署名更新#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-request-method

  • http-url-parsed

  • http-variable-parsed

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

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

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

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

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

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

表 20 は、 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 以前の署名と、更新後の複合署名のプロパティを示します。この例では、要求メソッドに関心を保持します。

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

更新前の署名

スコープ

文脈

http-get-url-parsed-param

パターン

\[/viper/vegaspalms/\].*

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

更新後の複合シグネチャ

メートル01

メートル02

スコープ

トランザクション

 

文脈

http-request-method

http-url-parsed

パターン

\[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 文字列と変数

更新後の複合シグネチャ

 

メートル01

メートル02

M03

M04

スコープ

トランザクション

     

文脈

http-url-parsed

http-variable-parsed

http-variable-parsed

http-variable-parsed

パターン

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

\[option=com_content\]

\[do_pdf=1\]

\[id=1\]

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

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

必要条件

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

概要

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

  • 2 つ以上の署名

  • 2 つ以上の異常

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

複合または連鎖攻撃オブジェクトは、複数のシグネチャやプロトコル異常を1つの攻撃オブジェクトに結合し、トラフィックが攻撃として識別される前に、複合攻撃オブジェクト内のシグネチャと異常を組み合わせたパターンをトラフィックに強制的に一致させます。これらのオブジェクトは、誤検知を減らし、検出精度を高めるためにも使用されます。これにより、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 つ以上の種類の攻撃オブジェクトを含めることができます。攻撃グループは次のように分類されます。

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

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

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

構成

プロシージャ

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...世界こんにちは..\B.0.10000\B...世界

一致しない:

こんにちは。\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 が 1 回発生するパターン。

こんにちは

世界

(こんにちは|世界)+

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

こんにちは世界

世界こんにちは

こんにちはこんにちは

\[こんにちは\]

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

こんにちは

こんにちは

こんにちは

\uこんにちは\u

パターンこんにちは、ユニコードは鈍感です。

こんにちは

68656c6c6f

こんにちは\sworld

パターン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

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

紀元前

甲乙丙

aaaabbbbc

ティー[株式会社]

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

ティッカー

ティッカー

([Tt])k

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

ティッカー

ティッカー

海[インチ]

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

印章

縫い目

ショーン

([B-D])at

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

蝙蝠

ダット

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

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

[こんにちは]

[HeLLo]

例: パターン否定の使用

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

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

FTP サービス、ftp ユーザー名コンテキスト、およびパターン adminの攻撃オブジェクトを作成し、[否定] チェック ボックスをオンにし ます 。その結果、 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 の TCP ストリームに従う オプションを使用して、セッションを開始した送信元 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 でサポートされているテスト条件を一覧表示し、設定するテスト条件を選択します。サポートされているテスト条件は、CLI の [edit security idp custom-attack test1 attack-type anomaly] 階層レベルで使用できます。

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

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

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

IDPプロトコルデコーダーを理解する

プロトコル デコーダは、侵入検出および防止(IDP)によって使用され、異常を探し、RFC 標準が満たされていることを確認して、プロトコルの整合性とプロトコルのコンテキスト情報をチェックします。異常は、ヘッダー、メッセージ本文、またはそのプロトコルの RFC 標準から逸脱したその他の個々のフィールドなど、プロトコルの任意の部分である可能性があります。たとえば、SMTP の場合、SMTP メール 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 で実行されることがわかります。次に、攻撃コードを見つける必要があります。このアドバイザリには、攻撃に関する詳細情報へのリンクを含む参照も含まれています。1 つの参照 http://lists.immunitysec.com/pipermail/dailydave/2004-March/000402.html は、攻撃を最初に報告した人物が、攻撃を再現するスクリプトも記述していることを示しています。スクリプトを取得し、テスト ラボ内の攻撃者のコンピューターに移動します。

この攻撃オブジェクトを開発するには:

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

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

    • パターン。XDMCP プロトコルの知識を使用して、攻撃が非 NUL 文字 (16 進コード 00 1b) を使用して接続タイプを指定し、無効な接続タイプ(NUL 文字は XDMCP のインターネット接続タイプを表します)を特定することができます。非 NUL 文字を署名パターンに固定するには、パターンの一部として先行するバイトの一部を含めます。この例では、非 NUL 文字にバージョン番号 (16 進コード 00 01) と要求オプション コード (16 進コード 00 07) を固定することを選択します。完全な攻撃パターンは、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) の組み合わせは、オクタル コード番号を示します。

    • 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番目の署名と一致させます。

    この式では:

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

    • パターン転送エンコード: は、直接文字一致です。

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

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

    • 右角かっこ (\]) は、大文字と小文字を区別しない一致の終了を示します。

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

例: 時間バインドパラメータを使用したブルートフォース攻撃の検出

タイムバインディング制約では、パターンが1分以内に一定回数発生する必要があります。これにより、トラフィックは一致と見なされます。

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

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

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

まず、攻撃パターンを構成します。

この式では:

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

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

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

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

次に、時間バインドを構成します。

これらの設定では:

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

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

リファレンス: カスタム攻撃オブジェクトのプロトコル番号

IDP システムで使用されるプロトコル番号を表 26 に示します。

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

プロトコル名

プロトコル番号

ホポプト

0

ティッカー

1

ティッカー

2

ティッカー

3

IPIP

4

5

TCP

6

ティッカー

7

ティッカー

8

ティッカー

9

BBN-RCC-MON

10

NVP-II

11

子犬

12

アーガス

13

エムコン

14

ティッカー

15

カオス

16

ティッカー

17

マルチプレクサ

18

DCN-MEAS

19

ティッカー

20

ティッカー

21

XND-IDP

22

トランク-1

23

トランク-2

24

リーフ-1

25

リーフ-2

26

ティッカー

27

ティッカー

28

ISO-TP4

29

ネットブルト

30

MFE-NSP

31

メリットインp

32

9 月

33

3パソコン

34

ティッカー

35

ティッカー

36

ティッカー

37

TP_PLUS_PLUS

39

イリノイ

40

IPV6

41

ティッカー

42

IPV6 ルーティング

43

IDV6フラグメント

44

IDRP

45

出欠確認

46

ティッカー

47

ティッカー

48

ティッカー

49

ティッカー

50

あら

51

I-NLSP

52

くすねる

53

ナープ

54

モビール

55

ティッカー

56

スキップ

57

IPV6-ICMP

58

IPV6-NONXT

59

IPV6-OPTS

60

AHIP

61

ティッカー

62

ティッカー

63

SAT-EXPAK

64

クリプトラン

65

ティッカー

66

ティッカー

67

ティッカー

68

土曜・門

69

査証

70

ティッカー

71

ティッカー

72

ティッカー

73

ティッカー

74

ティッカー

75

ブラジル・サット・モン

76

サンドン

77

WB-MON

78

WB-EXPAK

79

ISO-IP

80

ティッカー

81

SECURE-VMTP

82

ブドウ

83

ティッカー

84

NSFNET-IBP

85

DGP

86

ティッカー

87

ティッカー

88

OSPFIGP

89

スプライト-RPC

90

ラープ

91

ティッカー

92

AX_25

93

IPIP

94

MICP

95

SCC-SP

96

イーサリプ

97

エンキャップ

98

99

ティッカー

100

ティッカー

101

ティッカー

102

ピム

103

アリス

104

ティッカー

105

ティッカー

106

A / N

107

イプコンプ

108

SNP

109

COMPAT-PEER

110

IPZ-IN-IP

111

ティッカー

112

ティッカー

113

ホップオー

114

L2TP

115

ティッカー

116

ティッカー

117

ティッカー

118

ティッカー

119

ティッカー

120

ティッカー

121

ティッカー

122

ティッカー

123

イシス

124

火事

125

ティッカー

126

クルップ

127

ティッカー

128

IPLT

129

ティッカー

130

パイプ

131

ティッカー

132

ティッカー

133

RSVP-E2E-無視

134

該当なし

 

該当なし

 

該当なし

 

引っ込み思案

255

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

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

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

12 月

16 進

10月

焦がす

コメント

0

0

000

ヌル

ヌル

1

1

001

ソー

見出しの開始

2

2

002

ティッカー

テキストの先頭

3

3

003

ティッカー

テキストの終わり

4

4

004

EOT

送信終了

5

5

005

英語

質問

6

6

006

ティッカー

承認する

7

7

007

ベル

8

8

010

理学士

バックスペース

9

9

011

タブ

水平タブ

10

ある

012

ティッカー

ラインフィード

11

B

013

ティッカー

垂直タブ

12

C

014

ティッカー

フォームフィード

13

D

015

ティッカー

復帰

14

E

016

だから

シフトアウト

15

F

017

SI

シフトイン

16

10

020

ティッカー

データリンクエスケープ

17

11

021

DC1

デバイスコントロール1

18

12

022

DC2

デバイスコントロール2

19

13

023

DC3

デバイスコントロール 3

20

14

024

DC4

デバイスコントロール 4

21

15

025

ナック

否定的認知

22

16

026

シン

同期アイドル

23

17

027

ティッカー

送信ブロックの終了

24

18

030

キャンセル

25

19

031

全角

メディアの終わり

26

1A

032

サブ

代える

27

1B

033

Esc キー

逃げる

28

1C

034

ティッカー

ファイル区切り文字

29

1D

035

ティッカー

グループ区切り記号

30

1E

036

ティッカー

レコード区切り記号

31

1F

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

2F

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

3F

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

7F

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

回答1

241

í

162

A2

242

ó

163

A3サイズ

243

ú

164

A4サイズ

244

ñ

165

A5サイズ

245

Ñ

166

A6

246

ª

167

A7サイズ

247

º

168

回答8

250

¿

169

A9

251

¬

170

AA

252

 

171

血液型

253

1/2

172

交流

254

1/4

173

広告

255

¡

174

ティッカー

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

B8クラス

270

+

185

B9クラス

271

¦

186

文学士

272

¦

187

ティッカー

273

+

188

紀元前

274

+

189

ティッカー

275

+

190

いる

276

+

191

ティッカー

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

カナダ

312

-

203

ティッカー

313

-

204

ティッカー

314

¦

205

ティッカー

315

-

206

西暦

316

+

207

ティッカー

317

-

208

D0

320

-

209

D1

321

-

210

D2

322

-

211

D3

323

+

212

D4

324

+

213

D5

325

+

214

D6

326

+

215

D7

327

+

216

D8 キー

330

+

217

D9

331

+

218

332

+

219

デシベル

333

¦

220

直流

334

_

221

ティッカー

335

¦

222

DE

336

¦

223

ティッカー

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

E9

351

T

234

EA

352

O

235

ティッカー

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

ティッカー

373

v

252

ティッカー

374

n

253

ティッカー

375

²

254

ティッカー

376

¦

255

ティッカー

377

 

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

この例では、IDP プロトコル デコーダーのチューナブルを設定する方法を示します。

必要条件

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

概要

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

構成

プロシージャ

手順

IDPプロトコルデコーダーチューナブルを設定するには:

  1. チューナブル・パラメーターを持つプロトコルのリストを表示します。

  2. FTP プロトコルのチューナブル・パラメーターを構成します。

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

検証

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

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

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

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

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

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

Junos OS Release 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 コマンドを入力します。コンテンツ圧縮解除カウンターは、圧縮解除処理に関する統計情報を提供します。

IDPシグネチャベース攻撃を理解する

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

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

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

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

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

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

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

  • プロトコル バインディングを設定する場合、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ルールベースのルールの定義を参照してください。

構成

プロシージャ

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アドレス間の異常を検出します。

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

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

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

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

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

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

構成

プロシージャ

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 に表示されます。

変更履歴テーブル

機能のサポートは、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がプラットフォームでサポートされているかどうかを判断します。

解放
形容
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 コマンドを使用します。