署名からのカスタム脅威シグネチャ Snort の作成
Symptom
Environment
Cause
Resolution
このドキュメントでは SNORT 、3 つのユース ケースを使用して、Palo Alto Networks 上のシグネチャからカスタム脅威シグネチャを作成する方法の概要 Firewall を説明します。
はじめに脆弱性保護機能は、クライアントおよびサーバー システムの脆弱性に対するネットワークによる攻撃を検出し、防止します。 脆弱性は、システムおよびサービス固有または汎用であり、特定のポートにバインドされるのではなく、プロトコルまたはアプリケーションになります。 定義済みの脆弱性保護プロファイルに加えて、保護する環境に合わせたカスタムプロファイルを作成できます。 A カスタム プロファイルには、含める脆弱性保護シグネチャを定義する 1 つ以上のルールと例外を含めることができます。
スパイウェア対策機能は、スパイウェアおよびマルウェアのネットワーク通信を検出して防止します。 アンチスパイウェア機能は、特定のプロトコルに限定されず、携帯電話の任意のタイプを検出することができます-ホーム通信。 定義済みのアンチスパイウェアプロファイルに加えて、保護する環境に合わせたカスタムプロファイルを作成することができます。 A カスタムプロファイルには、含めるスパイウェア対策署名を定義する1つ以上のルールと例外を含めることができます。
カスタム プロファイルを使用すると、一致するトラフィックのパケット キャプチャを有効にすることもできます。 これは、証拠収集やトラブルシューティングの目的で使用できます。 運用ネットワークに展開する前に、ドキュメントの最後にある推奨事項のセクションを参照してください。
ユースケース
1. アラートTA17-318B HIDDEN COBRA – 北朝鮮のトロイの木馬: ボルグマー
参照:
https://www.us-cert.gov/ncas/alerts/TA17-318B
IOC リスト:
https://www.us-cert.gov/sites/default/files/publications/ TA-17 -318B-IPC.csv
Snort ルール:
alert tcp any any -> any any (msg:"Malformed_UA"; content:"User-Agent: Mozillar/"; depth:500; sid:99999999;)
一般的な注意事項:
- リストの IP 一部として提供されているアドレス IOC を使用して、感染の可能性が既に存在するかどうかをログを検索して検出します。 Firewall
- IP提供されるアドレスは、または アドレス グループの一部 EDL にすることができ、 Policy 不審なリストとの間のトラフィックをブロックするためにに追加されます。
- 提供された署名を使用 Snort して、カスタムのスパイウェア署名に変換します。 この署名は、該当する スパイウェア プロファイルの一部になります Policy 。
詳細な手順:
- カスタムスパイウェアオブジェクトを作成する
- [オブジェクト] タブに移動 -カスタム オブジェクト> ->スパイウェア
- [追加] をクリックし、下のスクリーンショットに示すように適切な詳細を指定します
- [署名] をクリック> [標準署名オプション] を追加します。
- 次に示すように、カスタム署名を作成します。
- 署名の "User-Agent: Mozillar/" というパターン snort は、カスタム署名を作成するために "http-req-headers" コンテキストと共に使用されます。
- OKスパイウェア オブジェクトを作成する場合にクリックします。
- 作成されたスパイウェアオブジェクトがスパイウェア対策プロファイルの一部であることを確認する
オブジェクトを作成する EDL
- [オブジェクト]タブに移動 -外部動的リスト>
- [追加] をクリックします。
- IPリストから提供された不審なアドレスを IOC 、以前に作成したアドレス EDL または新しいアドレスに EDL 追加します(
- EDLスパイウェア対策プロファイルとスパイウェア対策プロファイルを適切なオブジェクトに追加 Policy します。
- Policyテストは、脅威ログを確認することで、期待に応えて動作しています。
- 確認後、スパイウェアオブジェクトのアクションをアラートからドロップ/リセットに変更します。 また、必要に応じて作成されたカスタムオブジェクトの重大度も変更します。
2. アラート TA17-293A 高度な永続的な脅威アクティビティ
の参照:
https://www.us-cert.gov/ncas/alerts/TA17-293A
https://www.us-cert.gov/ncas/current-activity/2017/01/16/ SMB- セキュリティベスト プラクティス
IOCリスト:
https://www.us-cert.gov/sites/default/files/publications/TA17-293A_TLP_WHITE_CSV.csv
Snortルール: アラート tcp
$HOME_NET 任意 -> $EXTERNAL_NET $HTTP_PORTS (msg:" には HTTP URI '/aspnet_client/system_web/4_0_30319/更新/'(ビーコン)が含まれています。 sid:42000000; rev:1; フロー:確立,to_server; コンテンツ:"/aspnet_client/system_web/4_0_30319/更新/"; http_uri; fast_pattern:のみ; クラスタイプ: 悪い未知; メタデータ:サービス http;) アラート tcp
$HOME_NET 任意の -> $EXTERNAL_NET $HTTP_PORTS (msg:" には HTTP URI '/img/bson021.dat'' が含まれています。 確立された,to_server; コンテンツ: "http_uri.dat"fast_pattern:fast_pattern:のみ;クラスタイプ:悪い未知数;メタデータ:サービスhttp;)
アラートtcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg):" HTTP URI には '/A56WY' (コールバック)" が含まれています; sid:42000002; rev:1; flow:確立,to_server; コンテンツ:"/A56WY"; http_uri; fast_pattern; クラスタイプ: 悪い未知; メタデータ:サービス http;)
任意の ->任意の445 msg (:" SMB クライアント要求に「AME_ICONが含まれています。 PNG ( SMB 資格の収集)"; sid:42000003; rev:1; flow:確立,to_server; コンテンツ FF :"||| SMB75 00 00 00 00|";オフセット:4;深さ:9;内容:"|08 00 01 00|"。距離:3;内容:"|00 5c 5c|";距離:2;以内:3;コンテンツ:"|5c|AME_ICON。 PNG距離:7;fast_pattern;クラスタイプ:不明です。メタデータ:サービス netbios-ssn;)
アラート tcp $HOME_NET 任意の -> $EXTERNAL_NET $HTTP_PORTS (msg:" HTTP URI OPTIONS には '/ame_icon.png' ( SMB 資格情報の収集) が含まれています。 sid:42000004; rev:1; flow:確立,to_server; コンテンツ:"/ame_icon.png"; http_uri; fast_pattern:のみ; 内容:" OPTIONS ;いいえ; http_method; クラスタイプ: 悪い未知; メタデータ:サービス http;)
tcp アラート $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg) HTTP クライアントヘッダーに「ユーザー|エージェント3a|が含まれています|ゴー http クライアント/1.1'。sid:42000005;rev:1;フロー:確立済み、to_server;内容:"ユーザーエージェント|3a20|ゴー http クライアント/1.1|0d 0a|受け入れ-エンコード|3a 20|gzip";http_header;fast_pattern:のみ;pcre:"/\。(?::aspx|txt)\?[a-z0-9]{3}=[a-z0-9]{32}&/ U "; クラスタイプ:不正不明; メタデータ:サービス http;)
アラート tcp $EXTERNAL_NET [139,445] -> $HOME_NET any (msg:" サーバー SMB トラフィックには NTLM- 認証済み SMBv1 セッションが含まれています) sid:42000006; rev:1; flow:確立,to_client; コンテンツ:"|ff 53 4d 42 72 00 00 00 00 80|"; fast_pattern:のみ; コンテンツ:"|05 00|"; 距離:23;クラスタイプ:悪い未知;メタデータ:サービスnetbios-ssn;)
一般的なノート:
- リストの IP 一部として提供されているアドレス IOC を使用して、感染の可能性が既に存在するかどうかをログを検索して検出 します。 Firewall
- IP提供されるアドレス、ドメイン、 URL およびのアドレスは、 の一部 EDL にすることができ、 Policy 不審なリストとの間のトラフィックをブロックするためにに追加されます。
- SMB信頼ゾーンから非信頼ゾーンへのアプリケーション トラフィックをブロックすることをお勧めします。 これは policy 、netbios-ssn 関連 snort のシグネチャをカスタム脅威シグネチャに変換する際の制限の回避策として使用できます。
- 提供されているその他 Snort の署名を使用して、カスタムのスパイウェア署名に変換します。 これらの署名は、適切な に追加されたスパイウェア対策プロファイルの一部になります Policy 。
詳細な手順:
- カスタムスパイウェアオブジェクトを作成する
- [オブジェクト] タブに移動 -カスタム オブジェクト> ->スパイウェア
- [追加] をクリックし、下のスクリーンショットに示すように適切な詳細を指定します
- [署名] をクリック> [標準署名オプション] を追加します。
- 次に示すように、カスタム署名を作成します。
- Sig-1: シグネチャのパターン "/aspnet_client/system_web/4_0_30319/更新/" snort は、次に示すようにカスタムスパイウェアのシグネチャを作成するために"http-req-uri-path"コンテキストと共に使用されます。
- Sig-2: シグネチャのパターン "/img/bson021.dat" snort は、次に示すようにカスタムのスパイウェアのシグネチャを作成するために"http-req-uri-path"コンテキストと共に使用されます。
- Sig-3: シグネチャのパターン "/A56WY" snort は、カスタムのスパイウェアの署名を作成するために"http-req-uri-path"コンテキストと共に使用されます。 7 バイトのアンカーが存在しないため GET 、 POST 以下に示すように、パターンの末尾のスペースと共にメソッドを含めて要求します。
- Sig-4: シグネチャのパターン "/ame_icon.png" snort は、 OPTIONS 以下に示すように、カスタムスパイウェアのシグネチャを作成するために、"http-req-uri-path" コンテキストと "http-method: " 修飾子で使用されます。
- Sig-5 ディープダイブ:
- Snort 署名:
- 実績 HTTP 要求:
ホスト: 5.150.143.107
ユーザーエージェント: Go-http-client/1.1
受け入れエンコーディング: gzip
- カスタムスパイウェアの署名の説明:
- パターン "ユーザーエージェント | 3a 20 |Go-http-クライアント/1.1 "は、" http-必須ヘッダー "コンテキストの一部として使用されます。 ここに16進数3a および20はコロンおよびスペース特性に対応する。
- パターン "Accept-エンコーディング | 3a 20 | gzip" は、"http-必須ヘッダー" コンテキストの一部として使用されます。 ここに16進数3a および20はコロンおよびスペース特性に対応する。
- パターン "DefaultForm\.((aspx) |(txt))\? "は、" http-必須 uri パス "コンテキストの一部として使用されます。 これは、署名の pcre セクションに 7 バイトのアンカーが指定されていないので使用されます snort 。
- 最終的に作成されたカスタムスパイウェア署名は、 AND 以下に示すように、上記のすべての署名の一覧です。
- OKクリックして新しいスパイウェア オブジェクトを作成します
- 作成されたスパイウェアオブジェクトがスパイウェア対策セキュリティプロファイルの一部であることを確認する
- policy SMB 内部ゾーンから外部ゾーン、またはその逆にアプリケーションをブロックする を作成します。 これは推奨されるベスト プラクティスであり、"netbios-ssn" 関連 snort するシグネチャに対処します。
- リストで EDL 不審なアドレスのオブジェクト IP を作成 IOC する
- [オブジェクト]タブに移動 -外部動的リスト>
- [追加] をクリックします。
- IPリストから不審なアドレスを IOC 、以前に作成したアドレス EDL または新しいアドレスに EDL 追加します( 以下の例を参照)。
- リスト内の EDL 疑わしい URL 'sのオブジェクトを作成 IOC する
- [オブジェクト]タブに移動 -外部動的リスト>
- [追加] をクリックします。
- URLリストから不審なのを IOC 以前に作成したか、 EDL 次のように新しいものを追加 EDL します。
- これは、セキュリティ プロファイルのフィルタリングの下で適切なアクションに含めることができる URL ようになりました。
- リストで EDL 不審なドメインのオブジェクトを作成 IOC する
- [オブジェクト]タブに移動 -外部動的リスト>
- [追加] をクリックします。
- リストから不審なドメインを IOC 、以前に作成したドメイン EDL または新しいドメインに EDL 追加します(以下に示します)。
- 外部動的リストに含まれるドメインのリストでは、タイプが firewall スパイウェアと中程度の重大度のカスタム署名のセットを作成し、ドメインのカスタムリストにシンクホールアクションを使用できるようにします。
- EDL適切なオブジェクトに'sおよびスパイウェア対策プロファイルを追加 Policy します。
- Policyテストは、脅威ログを確認することで、期待に応えて動作しています。
- 確認後、スパイウェアオブジェクトのアクションをアラートからドロップ/リセットに変更します。 必要に応じて作成されたカスタムオブジェクトの重要度も変更
その他の有用な情報:
- GETリクエスト-1の例:
ホスト: 5.150.143.107
ユーザーエージェント: Go-http-client/1.1
受け入れエンコーディング: gzip
- GET要求-2の例:
ホスト: 167.114.44.147
接続: キープアライブ
キャッシュ制御: キャッシュなし
3. CVE-2018 -4878
参照:
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=26998 https://www.flashpoint-intel.com/blog/targeted-attacks-south-korean-entities/ http://blog.talosintelligence.com/2018/02/group-123-goes-wild.html https://threatpost.com/adobe-flash-player-zero-day-spotted-in-the-wild/129742/
Snortルール:
アラート tcp $HOME_NET 任意の -> $EXTERNAL_NET $HTTP_PORTS (msg:"可能 CVE-2018 -4878 チェックイン アラート"; フロー:確立to_server;http_uri;コンテンツ:"?id=" ; http_uri; コンテンツ:"&fp_vs=" ; http_uri; コンテンツ:"&os_vs=" ; http_uri; 参照: ソース, ヴィタリ・クレメス-フラッシュポイント; クラスタイプ: トロイの木馬活動; rev:1;)
IOC:
hxxp://www [.]1588-2040[.]コ[.]クル
/conf/product_old.jpg hxxp://www[.]1588-2040[.]コ[.]kr/デザイン/m/画像/画像/画像
.php hxxp://www[.]韓国税[.]情報/メイン/ローカル
.php hxxp://www[.]ディルボイラー[.]コ[.]kr/管理センター/ファイル/ボード/4/マネージャー.php
一般的なメモ:
- の URL 一部として提供されているのを使用 IOC して、ログを検索して感染の可能性が既に存在するかどうかを検出 Firewall します。
- URL提供されるのは、 または フィルター EDL URL プロファイルとしてに追加されるカスタム カテゴリ オブジェクト Policy の一部にすることができます URL 。
- 提供された署名を使用 Snort して、カスタム脆弱性署名に変換します。 このシグネチャは、適切な に追加された脆弱性プロファイルの一部になります Policy 。
詳細な手順:
- カスタム脆弱性オブジェクトを作成する
- [オブジェクト] タブに移動 - [カスタム オブジェクト> - >の脆弱性
- [追加] をクリックし、下のスクリーンショットに示すように適切な詳細を指定します
- [署名] をクリック> [標準署名オプション] を追加します。
- "id ="、"& fp_vs ="、および "& os_vs =" というパターンは、カスタムの脆弱性シグネチャを作成するために "http-必須パラメータ" コンテキストと共に使用されます。 これは、7バイトのアンカー制限を克服するために行われます。
- また HTTP 、要求ヘッダーのパス ('?' を含む) は、"http-req-uri-path" コンテキストとクエリ文字列の一部であり、 HTTP リクエスト内のパラメータも "http-req-params" コンテキストの一部です。
- OKクリックして新しい脆弱性オブジェクトを作成します。
- 作成された脆弱性オブジェクトが、脆弱性保護のセキュリティプロファイルの一部であることを確認する
- カスタム URL カテゴリオブジェクトを作成する
- オブジェクト- >カスタム オブジェクト- >URLカテゴリに移動し、リストの不審な URL 部分を追加 IOC します。
- また、 URL 適切なフィルタリング セキュリティ プロファイルにカテゴリ オブジェクト URL を追加します。
- 脆弱性セキュリティ プロファイルと URL フィルタ プロファイルを適切な Policy
- Policyテストは、脅威ログを確認することで、期待に応えて動作しています。
- 検証後に、脆弱性オブジェクトのアクションをアラートからドロップ/リセットに変更します。 必要に応じて作成されたカスタムオブジェクトの重要度も変更
その他の有用な情報:
- A 逆コンパイルされた Flash オブジェクトのスニペットを以下に示します。
推奨事項
脆弱性保護およびスパイウェア対策プロファイルベースのポリシーを展開する場合は、保護されたトラフィックに悪影響を及ぼすことを避けるために、特別な注意が必要です。 これらのシグネチャは細心の注意を払って開発され、広範な回帰テストに提出されますが、署名の一部は本質的に一般的であり、誤って構成されたサービスやアプリケーションの欠陥から来るトラフィックでトリガーされる可能性があります。
これは、パロアルトネットワークスが開発した脅威シグネチャと同じ数の広範なテストを経ていないことが多いため、カスタム脅威シグネチャの構築に使用されるサードパーティコンテンツにも当てはまります。 このため、一般的に、これらの署名とネットワークに与える可能性のある影響を事前に調べずに、カスタム脅威シグネチャのブロックをオンにすることはお勧めできません。
時間と状況が許す場合は、脆弱性保護の展開タイムラインに分析フェーズを含めるをお勧めします。 特に、サービスの可用性が重要な環境では、脆弱性保護とスパイウェア対策ポリシーが完全に運用された後、インフラストラクチャの適切な機能を保証するために、このようなフェーズが必要になります。
一般に、各署名に対してデフォルトアクションを使用するプロファイルから開始することをお勧めします。 特にカスタムの脅威シグネチャでは、作成された各署名に対して "alert" の既定のアクションを開始することをお勧めします。 または、最初にカスタムの脆弱性保護プロファイルを警告のみまたは監視モードで展開して、ブロッキングモードがインフラストラクチャに与える影響について明確な画像を取得することもできます。 このようなプロファイルでは、各署名に対してアクションが 「alert」に設定されます。
次の手順は、特定の場所またはホストのプロファイル設定を正しく決定するのに役立ちます。
- 「警告のみ」の保護プロファイルを構成します。
- firewall保護するホストとセグメントに必要なルールを設定します。
- 各ルールに「警告のみ」の保護プロファイルを適用します。
- 脅威ログを代表的な期間 (例: 1 週間、1か月) にわたって監視します。
- 潜在的な誤検知を調査します。
- 収集した分析情報を使用して、ブロック対応の保護プロファイルを構築し、微調整します。
Additional Information
便利なガイド
カスタム アプリケーションと脅威シグネチャの作成:
https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClOFCA0
のヒントとコツ: カスタム脆弱性:
https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClSOCA0