Share via


Advanced Security Information Model (ASIM) Web セッション正規化スキーマのリファレンス (パブリック プレビュー)

Web セッション正規化スキーマは、IP ネットワークのアクティビティを記述するために使用されます。 たとえば、IP ネットワークのアクティビティは、Web サーバー、Web プロキシ、Web セキュリティ ゲートウェイによって報告されます。

Microsoft Sentinel での正規化の詳細については、正規化と Advanced Security Information Model (ASIM) に関するページを参照してください。

重要

現在、ネットワーク正規化スキーマはプレビュー段階です。 この機能は、サービス レベル アグリーメントなしで提供されており、運用環境のワークロード用には推奨されていません。

Azure プレビューの追加使用条件には、ベータ版、プレビュー版、またはまだ一般提供されていない Azure 機能に適用される追加の法律条項が含まれています。

スキーマの概要

Web セッション正規化スキーマは HTTP ネットワーク セッションを表し、以下を含む一般的な種類のソースをサポートするのに適しています。

  • Web サーバー
  • Web プロキシ
  • Web セキュリティ ゲートウェイ

ASIM Web セッション スキーマは、HTTP および HTTPS プロトコル アクティビティを表します。 スキーマはプロトコル アクティビティを表しているため、RFC によって管理され、必要に応じてこの記事で言及されているパラメーター リストが正式に割り当てられます。

Web セッション スキーマは、ソース デバイスからの監査イベントは表しません。 たとえば、Web セキュリティ ゲートウェイ ポリシーを変更するイベントは、Web セッション スキーマでは表すことができません。

HTTP セッションは、基になるネットワーク レイヤー セッションとして TCP/IP を利用するアプリケーション レイヤー セッションです。そのため、Web セッション スキーマは、ASIM ネットワーク セッション スキーマのスーパー セットです。

Web セッション スキーマの最も重要なフィールドを次に示します。

  • Url。クライアントが要求した、サーバーからの URL がレポートされます。
  • SrcIpAddr (IpAddr の別名)。要求が生成された IP アドレスを表します。
  • EventResultDetails フィールド。通常、HTTP 状態コードがレポートされます。

また Web セッション イベントには、要求を開始したユーザーとプロセスに関する User および Process 情報が含まれる場合があります。

パーサー

ASIM パーサーの詳細については、ASIM パーサーの概要に関する各ページを参照してください。

統一パーサー

すべての ASIM のアウトオブザボックス パーサーを統一するパーサーを使用し、構成済みのソース全体で分析が確実に実行されるようにするには、_Im_WebSession フィルターパーサーまたは _ASim_WebSession パラメーターレス パーサーを使用します。

また、ワークスペースにデプロイされた ImWebSessionASimWebSession パーサーを ImWebSessionからデプロイして使用することができます。 詳細については、組み込みの ASIM パーサーと、ワークスペースでデプロイされたパーサーに関するページを参照してください。

すぐに使える、ソース固有のパーサー

Microsoft Sentinel が提供する We セッションパーサーの一覧については、ASIM パーサーの一覧を参照してください

独自の正規化されたパーサーを追加する

Web セッション情報モデル用のカスタム パーサーを実装するときは、次の構文を使用して KQL 関数に名前を付けます。

  • vimWebSession<vendor><Product> (パラメーター化パーサーの場合)
  • ASimWebSession<vendor><Product> (標準パーサーの場合)

パーサー パラメーターのフィルター処理

im および vim* パーサーでは、imがサポートされています。 これらのパーサーは省略可能ですが、クエリのパフォーマンスを向上させることができます。

次のフィルター処理パラメーターを使用できます。

名前 種類 説明
starttime DATETIME この時刻以降に開始された Web セッションのみをフィルター処理で抽出します。
endtime DATETIME この時刻以前に実行が開始された Web セッションのみをフィルター処理で抽出します。
srcipaddr_has_any_prefix 動的 ソース IP アドレス フィールドのプレフィックスが一覧にある値のいずれかである Web セッションのみをフィルター処理で抽出します。 値の一覧には、IP アドレスと IP アドレス プレフィックスを含めることができます。 プレフィックスの末尾は . にする必要があります (例: 10.0.)。 リストの長さは 10,000 項目に制限されます。
ipaddr_has_any_prefix 動的 宛先 IP アドレス フィールドまたは 送信元 IP アドレス フィールド のプレフィックスが一覧表示された値のいずれかにあるネットワーク セッションのみをフィルター処理します。 プレフィックスの末尾は . にする必要があります (例: 10.0.)。 リストの長さは 10,000 項目に制限されます。

フィールド ASimMatchingIpAddr は、一致するフィールドまたはフィールドを反映するために、SrcIpAddrDstIpAddr、またはBothのいずれかの値で設定されます。
url_has_any 動的 URL フィールドに一覧にある値のいずれかがある Web セッションのみをフィルター処理で抽出します。 ソースから報告されない場合、パーサーはパラメーターとして渡された URL のスキーマを無視することがあります。 これを指定し、セッションが Web セッションではない場合には、結果は返されません。 リストの長さは 10,000 項目に制限されます。
httpuseragent_has_any 動的 ユーザー エージェント フィールドに一覧にある値のいずれかがある Web セッションのみをフィルター処理で抽出します。 これを指定し、セッションが Web セッションではない場合には、結果は返されません。 リストの長さは 10,000 項目に制限されます。
eventresultdetails_in 動的 EventResultDetails フィールドに格納されている HTTP 状態コードが一覧にある値のいずれかである Web セッションのみをフィルター処理で抽出します。
eventresult string 特定の EventResult 値を持つネットワーク セッションのみをフィルター処理で抽出します。

一部のパラメーターは、dynamic 型の値のリストまたは単一の文字列値の両方を受け取ることができます。 動的な値を期待するパラメーターにリテラル リストを渡すには、動的リテラルを明示的に使用します。 例: dynamic(['192.168.','10.'])

たとえば、指定したドメイン名の一覧に対応する Web セッションのみをフィルター処理で抽出するには、以下を使用します。

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)

スキーマの詳細

Web セッション情報モデルは、OSSEM ネットワーク エンティティ スキーマOSSEM HTTP エンティティ スキーマに対応しています。

業界のベスト プラクティスに準拠するために、Web セッション スキーマでは、記述子 SrcDst を使用して、セッションのソースとターゲットのデバイスが識別されます。フィールド名にトークン Dvc は含まれません。

そのため、たとえば、ソース デバイスのホスト名と IP アドレスは、それぞれ SrcHostnameSrcIpAddr という名前であり、SrcDvchostname および SrcDvcIpAddr ではありません。 プレフィックス Dvc は、レポートまたは中間デバイスに対してのみ使用されます (該当する場合)。

ソース デバイスとターゲット デバイスに関連付けられているユーザーとアプリケーションを記述するフィールドでも、SrcDst の記述子が使用されます。

他の ASIM スキーマでは、通常、Dst ではなく Target が使用されます。

一般的な ASIM フィールド

重要

すべてのスキーマに共通するフィールドの詳細については、ASIM 共通フィールドに関する記事を参照してください。

特定のガイドラインを持つ共通フィールド

次の一覧には、Web セッション イベントに関する具体的なガイドラインが含まれたフィールドを示しています。

フィールド クラス Type 説明
Mandatory Enumerated レコードによって報告される操作を記述します。 使用できる値は、以下のとおりです。
- HTTPsession: HTTP または HTTPS に使用されるネットワーク セッションを示します。通常は、プロキシや Web セキュリティ ゲートウェイなどの中間デバイスによってレポートされます。
- WebServerSession: Web サーバーによってレポートされる HTTP 要求を示します。 通常、このようなイベントにはネットワーク関連情報はほとんど含まれません。 レポートされる URL にはスキーマとサーバー名は含まれず、URL のパスとパラメーターの部分のみが含まれます。
- ApiRequest: API 呼び出しに関連してレポートされた HTTP 要求を示します。通常は、アプリケーション サーバーによってレポートされます。 通常、このようなイベントにはネットワーク関連情報はほとんど含まれません。 アプリケーション サーバーによってレポートされる際、レポートされる URL にはスキーマとサーバー名は含まれず、URL のパスとパラメーターの部分のみが含まれます。
EventResult Mandatory Enumerated イベントの結果を記述し、次の値の 1 つに正規化されます。
- Success
- Partial
- Failure
- NA (該当なし)

HTTP セッションの場合、Success400 より小さい状態コードとして定義され、Failure400 より大きい状態スコードとして定義されます。 HTTP の状態コードの一覧については、W3 Org を参照してください。

ソースから EventResultDetails フィールドの値のみが提供される場合があり、EventResult の値を取得するには分析が行われる必要があります。
推奨 String HTTP 状態コード。

: 値は、異なる用語を使用してソース レコードに提供されている場合があり、これらの値に正規化する必要があります。 元の値は EventOriginalResultDetails フィールドに格納する必要があります。
EventSchema Mandatory String ここに記載されているスキーマの名前は WebSession です。
EventSchemaVersion Mandatory String スキーマのバージョン。 ここに記載されているスキーマのバージョンは 0.2.6 です
Dvc フィールド Web セッション イベントの場合、デバイス フィールドは、Web セッション イベントを報告するシステムを示します。 通常これは、HTTPSession イベントの中間デバイスと、WebServerSession および ApiRequest イベントの送信先 Web サーバーまたはアプリケーション サーバーです。

すべての共通フィールド

下の表に示すフィールドは、すべての ASIM スキーマに共通です。 上で指定されているガイドラインは、フィールドの一般的なガイドラインに優先します。 たとえば、フィールドは一般的には省略可能ですが、特定のスキーマでは必須です。 各フィールドの詳細については、ASIM 共通フィールドに関する記事を参照してください。

クラス Fields
Mandatory - EventCount
- EventStartTime
- EventEndTime
- -
- -
- -
- -
- EventSchema
- EventSchemaVersion
- -
推奨 - -
- -
- EventUid
- -
- -
- -
- -
- -
- -
- -
- -
オプション - EventMessage
- -
- EventOriginalUid
- -
- -
- -
- -
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- -
- -
- -
- DvcDescription
- DvcScopeId
- DvcScope

ネットワーク セッションのフィールド

HTTP セッションは、基になるネットワーク レイヤー セッションとして TCP/IP を利用するアプリケーション レイヤー セッションです。 Web セッション スキーマは ASIM ネットワーク セッション スキーマのスーパー セットであり、すべてのネットワーク スキーマ フィールドも Web セッション スキーマに含まれます。

次の ASIM ネットワーク セッション スキーマのフィールドには、Web セッション イベントに対して使用される場合の特定のガイドラインがあります。

  • エイリアス User では、DstUsername ではなく、SrcUsername を参照する必要があります。
  • EventOriginalResultDetails フィールドでは、EventResultDetails に格納される HTTP 状態コードに加えて、ソースによって報告されるすべての結果を保持できます。
  • Web セッションの場合、プライマリ ターゲット フィールドは Url フィールドです。 DstDomain は、推奨される方法ではなくオプションです。 特に使用できない場合は、パーサーで URL からこれを抽出する必要はありません。
  • フィールド NetworkRuleNameNetworkRuleNumber の名前は、それぞれ RuleNameRuleNumber に変更されます。

Web セッション イベントは通常、クライアントからの HTTP 接続を終了し、新しい接続を開始する中間デバイス (サーバーと連携してプロキシとして機能します) によって報告されます。 この中間デバイスを表すには、ASIM ネットワーク セッション スキーマ中間デバイス フィールドを使用します

HTTP セッションのフィールド

Web セッションに固有の追加フィールドを次に示します。

フィールド クラス Type 説明
Url Mandatory String パラメーターを含む HTTP 要求 URL。 HTTPSession イベントの場合、URL にスキーマを含めることができ、サーバー名を含める必要があります。 WebServerSessionApiRequest の場合は通常、URL にはスキーマとサーバーは含まれません。これらは、それぞれ NetworkApplicationProtocol フィールドと DstFQDN フィールドで確認できます。

例: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory オプション String URL または URL のドメイン部分の定義されたグループ。 カテゴリは一般に Web セキュリティ ゲートウェイによって提供され、URL が示すサイトの内容に基づきます。

例: 検索エンジン、成人向け、ニュース、広告、パーク ドメイン。
UrlOriginal オプション String URL がレポート デバイスによって変更され、両方の値が提供された場合の、URL の元の値。
HttpVersion オプション String HTTP 要求のバージョン。

例: 2.0
HttpRequestMethod 推奨 Enumerated HTTP メソッド。 値は RFC 7231RFC 5789 で定義されており、GETHEADPOSTPUTDELETECONNECTOPTIONSTRACEPATCH が含まれます。

例: GET
HttpStatusCode エイリアス HTTP 状態コード。 EventResultDetails のエイリアス。
HttpContentType オプション String HTTP 応答のコンテンツ タイプのヘッダー。

: HttpContentType フィールドには、コンテンツの形式と、追加のパラメーター (実際の形式を取得するために使用されるエンコードなど) の両方が含まれる場合があります。

例: text/html; charset=ISO-8859-4
HttpContentFormat オプション String HttpContentType のコンテンツ形式の部分

例: text/html
HttpReferrer オプション String HTTP 参照元ヘッダー。

: ASIM は OSSEM と同期して、元の HTTP ヘッダーのスペルではなく、"参照元" の正しいスペルを使用します。

例: https://developer.mozilla.org/docs
HttpUserAgent オプション String HTTP ユーザー エージェント ヘッダー。

例:
Mozilla/5.0 (Windows NT 10.0、WOW64)
AppleWebKit/537.36 (KHTML、Gecko など)
Chrome/83.0.4103.97 Safari/537.36
UserAgent エイリアス HttpUserAgent のエイリアス
HttpRequestXff オプション IP アドレス HTTP X-Forwarded-For ヘッダー。

例: 120.12.41.1
HttpRequestTime オプション Integer 要求がサーバーに送信されるまでにかかったミリ秒数 (該当する場合)。

例: 700
HttpResponseTime オプション Integer サーバーで応答を受け取るまでにかかったミリ秒数 (該当する場合)。

例: 800
HttpHost オプション String HTTP 要求の対象となっている仮想 Web サーバー。 この値は通常、HTTP ホスト ヘッダーに基づいています。
FileName オプション String HTTP アップロードの場合、アップロードされたファイルの名前。
FileMD5 オプション MD5 HTTP アップロードの場合、アップロードされたファイルの MD5 ハッシュ。

例: 75a599802f1fa166cdadb360960b1dd0
FileSHA1 オプション SHA1 HTTP アップロードの場合、アップロードされたファイルの SHA1 ハッシュ。

例:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
FileSHA256 オプション SHA256 HTTP アップロードの場合、アップロードされたファイルの SHA256 ハッシュ。

例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
FileSHA512 オプション SHA512 HTTP アップロードの場合、アップロードされたファイルの SHA512 ハッシュ。
Hash エイリアス 使用可能なハッシュ フィールドのエイリアス。
FileHashType 省略可能 Enumerated Hash フィールド内のハッシュの型。 使用可能な値は、MD5SHA1SHA256SHA512 です。
FileSize オプション Long HTTP アップロードの場合、アップロードされたファイルのバイト サイズ。
FileContentType オプション String HTTP アップロードの場合、アップロードされたファイルのコンテンツ タイプ。

その他のフィールド

イベントが Web セッションのいずれかのエンドポイントによって報告された場合、セッションを開始または終了したプロセスに関する情報が含まれる場合があります。 このような場合は、ASIM プロセス イベント スキーマを使用してこの情報を正規化します。

スキーマの更新

Web セッション スキーマは、ネットワーク セッション スキーマに依存します。 そのため、ネットワーク セッション スキーマの更新は Web セッション スキーマにも適用されます。

スキーマのバージョン 0.2.5 の変更点を次に示します。

  • フィールド HttpHost が追加されました。

スキーマのバージョン 0.2.6 の変更点を次に示します。

  • FileSize の型が Integer から Long に変更されました。

次のステップ

詳細については、次を参照してください。