機能

API Discovery & Schema

実際のトラフィックからAPIインベントリを抽出し、許可されたスキーマ外のメソッド、ヘッダー、パラメータ、ボディフィールドを管理下に置きます。

TR7 API Discovery & Schemaは、APIセキュリティを既知の攻撃シグネチャをブロックするだけの作業とは見なしません。トラフィック自体からエンドポイントインベントリを抽出し、パスとメソッドの動作を学習し、その構造をポジティブセキュリティポリシーに変換するのを支援します。 学習インフラはパスとメソッドによって受信トラフィックを分析し、`/api/users/123`のようなパス内の変数セグメント(ID、日付、トークン)を意味のあるエンドポイントパターンに正規化します。これにより、文書化されていないshadow API、使用されるべきでないゾンビエンドポイント、本番環境に漏洩したテストパスがすべて可視化されます。 スキーマ面では、TR7はメソッド、ヘッダー、クエリパラメータ、JSONキー、XMLエレメント、フォームフィールド、MIMEタイプ、サイズ、深さ、フィールドごとのregexのコントロールを通じてポジティブセキュリティモデルを構築します。許可された動作が明示的に定義されます;その定義外のリクエストはアラート、スコア、ブロックポリシーに結び付けられます。 結果:TR7はAPIセキュリティを古い文書への依存から解放し、実際のトラフィックから学習したエンドポイントインベントリを適用可能なスキーマルールに変換するインラインWAAP層を提供します。

7
スキーマスコープ:path、query、header、form、JSON、XML、raw
829
ポジティブセキュリティDSLの行数(StructureRuleDB)
2,107
パスグルーピングコードベースの行数(LearningPathGrouping)

APIインベントリが最新でなければ、保護していると思っている表面の全体を見ていないことになります。

ほとんどの組織では、APIインベントリはアプリケーション文書、古いスキーマファイル、または個別チームが管理するリストに存在します。しかしアプリケーションはリリースのたびに変化します;新しいエンドポイントが追加され、古いものが忘れられ、テストパスが本番環境に残ります。セキュリティチームは通常、アプリケーションチームの後で実際のトラフィックでどのAPIがアクティブかを知ります。

このギャップはshadow APIとゾンビエンドポイントのリスクを拡大します。文書化されていないエンドポイントはWAFポリシーの範囲外に完全に置かれることがあります;使用されるべきでないエンドポイントがまだ到達可能かもしれません。攻撃者の視点からは、これらのエリアは低可視性、脆弱な保護であり、調査する価値があります。

外部から提供されたスキーマファイルだけに頼ることも不十分です。スキーマが最新でなければ実際のトラフィックと一致しません。アプリケーションチームはスキーマを更新せずにエンドポイントを変更したかもしれません、またはスキーマに現れないパスが本番環境で動作しているかもしれません。その場合、保護ポリシーは実際のアプリケーション動作ではなく、古い仮定に基づいています。

従来のネガティブセキュリティモデルだけではこの問題を解決できません。既知の攻撃パターンをブロックすることは重要ですが、APIセキュリティの実際の強みは許可されたメソッド、ヘッダー、パラメータ、MIMEタイプ、ボディフィールドを明示的に定義することにあります。ポジティブセキュリティなしに、未知だが一見有効な悪意のあるリクエストが問題なく通過する可能性があります。

TR7 API Discovery & Schemaはこのギャップを埋めます:実際のトラフィックからAPI動作を学習し、OpenAPIフローを通じてスキーマ生成またはスキーマからのルール生成をサポートし、ポジティブセキュリティコントロールをインラインに持ち込みます。

私たちのアプローチ

TR7はAPI discoveryをトラフィック学習、ポジティブスキーマ、サイズ・深さ制限、フィールドごとの検証と組み合わせて適用します。

パスグルーピングにより、トラフィックからエンドポイントパターンが抽出される

TR7は実際のトラフィックからパスとメソッドの動作を学習し、エンドポイントパターンを構築できます。変数ID、日付、トークンを含むパスは、より読みやすいAPIインベントリに正規化されます。

ポジティブセキュリティモデルは許可されたスキーマに基づく

メソッド、ヘッダー、クエリパラメータ、JSONキー、XMLエレメント、フォームフィールド、MIMEタイプのallow-listを定義できます。既知の悪いパターンを探すだけでなく、ポリシーは期待されるAPI動作を明示的に宣言します。

サイズ、深さ、数の制限で悪用を抑制する

パス長、パス深さ、ヘッダー数、クエリ数、JSON深さ、XML深さ、rawボディサイズなどの制限を適用できます。これらの制限により、過大または過度に複雑なリクエストがバックエンドに到達する前に確認されます。

フィールドごとのregex検証でデータ形式を確認する

すべてのヘッダー、クエリパラメータ、フォームフィールド、ボディフィールドにregex検証を定義できます。メールアドレス、電話番号、ID、国コード、またはサービス固有の形式がフィールドレベルで確認されます。

機能

API Discovery & Schemaは学習されたエンドポイントインベントリを適用可能なポジティブセキュリティルールに変換します。

トラフィックベースのパスグルーピングが実際のAPIインベントリを生成する

TR7は受信リクエストからパスとメソッド情報を分析してエンドポイントパターンを導出できます。`/api/users/123`や`/api/users/456`のようなパスを単一の論理パターンにグループ化できます。このアプローチにより、文書にないが本番環境でアクティブに動作しているエンドポイントが可視化されます。APIインベントリは仮定ではなく、実際のトラフィック動作に基づきます。

OpenAPIワークフローを通じて学習された構造がスキーマに、スキーマがルールに変換できる

TR7は学習されたAPI動作からOpenAPI互換スキーマを生成するワークフローをサポートするよう位置付けられています。逆方向では、ユーザーが提供したOpenAPIスキーマからTR7ルールを生成できます。この双方向モデルにより、実際のトラフィックと文書化されたAPIコントラクトのギャップが縮小されます。オペレーターはdiscoveryと適用の両方に同じプラットフォームを使用します。

Allowed methodsでエンドポイントごとのメソッドallow-listが適用される

各エンドポイントでGET、POST、PUT、DELETE、PATCHなどの許可されたメソッドのリストを定義できます。例えば、GETのみを期待するエンドポイントにPOSTが送信された場合、その動作をポリシー違反として扱うことができます。メソッドベースのallow-listはシンプルだが効果的なポジティブセキュリティ層です。不正またはサービス妨害目的のエンドポイント動作がより早期に検出されます。

ヘッダーとクエリパラメータのallow-listでリクエスト表面を絞り込む

許可されたヘッダーとクエリパラメータをエンドポイントごとに定義できます。各フィールドに名前、値の形式、regex検証を適用できます。予期しないヘッダーやパラメータはセキュリティスコア、アラート、ブロックに結び付けることができます。これによりAPIコントラクト外のデータが確認なしにバックエンドに渡されません。

JSON、XML、フォームフィールドがポジティブスキーマで検証される

TR7はJSONキー、XMLエレメント、フォームフィールドレベルでallow-listを構築できます。必須フィールドはmustArgsで定義でき、未知のフィールドはallowed listから除外できます。この構造は攻撃シグネチャを探すだけでなく、期待されるリクエストボディを記述します。APIエンドポイントは自身のコントラクトに近い形で保護されます。

MIMEタイプコントロールが予期しないコンテンツタイプをブロックする

フォームとrawボディの許可されたMIMEタイプのallow-listを定義できます。JSONを期待するエンドポイントに異なるコンテンツタイプでデータを送信することをポリシー違反として扱うことができます。このコントロールはファイルアップロードまたはフォームベースAPIで特に重要です。コンテンツタイプがセキュリティ決定への直接入力になります。

サイズと深さの制限で過大なペイロードのリスクを軽減する

ヘッダー、クエリ文字列、フォーム、JSON、XML、rawボディの全体サイズ制限を適用できます。JSONとXMLのネスト深さコントロールにより、過度に深いペイロードがパーサーとバックエンドに負荷をかけるのを防ぎます。キー数、値数、フィールドごとの長さ、重複数などの制限も定義できます。これらのコントロールはセキュリティとパフォーマンスの両方に対する保護境界を作成します。

Block JSONとBlock XMLのトグルでエンドポイントのボディタイプを制限する

一部のエンドポイントはJSONまたはXMLボディをまったく受け入れる必要がない場合があります。TR7はエンドポイントごとにJSONまたはXMLボディの使用を完全に無効にするコントロールを提供できます。これにより予期しないボディ形式がバックエンドに到達するのを防ぎます。特に単純なGETエンドポイントやフォーム以外のトランザクションを受け入れないサービスに効果的です。

フィールドごとのregexでデータ形式をフィールドレベルで検証する

すべてのヘッダー、クエリパラメータ、フォームフィールド、ボディフィールドにregexベースの検証を適用できます。メールアドレス、電話番号、UUID、数値ID、国コード、または組織固有の形式をこの方法で確認します。形式外の値はアプリケーションに処理を任せるのではなく、エッジで検出されます。このモデルはAPIコントラクトのデータ形式の側面をセキュリティポリシーに取り込みます。

Shadow APIとゾンビエンドポイントの推奨事項が可視化される

トラフィックから学習されたエンドポイントを既存の文書化されたAPIリストと比較できます。文書にないアクティブなエンドポイントはshadow API候補として、トラフィックを受けるべきでないがまだ受けているエンドポイントはゾンビエンドポイント候補としてフラグを立てることができます。これらの推奨事項は絶対的な実行決定としてではなく、オペレーターが確認する学習提案として提示されます。セキュリティチームはより素早く実際のAPI表面をマップできます。

スキーマドリフト検出が変化するAPI動作を検出する

時間の経過とともに、新しいJSONキー、新しいクエリパラメータ、または異なるメソッドの使用が現れる可能性があります。TR7は学習された動作と現在のスキーマポリシーの違いを可視化できます。これらの違いはアプリケーションバージョンの変更、誤動作するクライアント、または悪用の試みを示す可能性があります。オペレーターは変更を受け入れてスキーマに追加するか、ポリシー違反として扱うことができます。

コンプライアンスレポートがアクティブなエンドポイントの可視性を強化する

API discoveryは特定の期間にどのエンドポイントがアクティブだったかを報告するのに役立ちます。「過去30日間にどのエンドポイントがトラフィックを受信しましたか?」などの質問はセキュリティとコンプライアンスチームにとって重要です。トラフィックベースのインベントリは静的文書よりも現実的な監査ベースラインを提供します。組織はAPI表面をライブの動作に対して監視します。

運用上の深さ

API discoveryとスキーマコントロールはパス、クエリ、ヘッダー、フォーム、JSON、XML、rawスコープにわたって動作します。

01

7つのスキーマスコープ

TR7スキーマコントロールはパス、クエリ、ヘッダー、フォーム、JSON、XML、rawフィールドをカバーします。各スコープは独自の制限、allow-list、検証ルールを持つことができます。したがってAPIセキュリティはボディだけでなく、完全なリクエスト表面で定義されます。

02

ルールタイプの多様性

スキーマルールはcomplexInput、regex、numeric、boolean、enumSelectなどの異なるタイプで定義できます。シンプルなオン/オフコントロールと詳細なフィールドリストが同じDSL内で管理されます。オペレーターはAPI動作に基づいてルールタイプを選択します。

03

ターゲットスコープ

ルールはwebアプリケーション、apiエンドポイント、アプリケーションサーバーなど異なるターゲットレベルで適用できます。これにより一般的なサービスポリシーと単一エンドポイントに特化したスキーマの区別が可能です。適切なスコープを選択することで、繰り返しが少なく効果範囲が明確なポリシーが生成されます。

04

学習ツリー構造

学習モデルはパスごとのノード、頻度カウント、子パス情報を保持できます。ホストまたはサービスグループごとのサマリー情報を抽出できます。この構造はAPI表面のどの部分がトラフィックが多い、少ない、または新しく現れているかを理解するのに役立ちます。

05

推奨と承認のワークフロー

学習された変更は自動的に適用されるのではなく、管理者の承認に提出できます。オペレーターは新しいエンドポイント、新しいフィールド、新しいパターンの提案を確認し、適切なものをポリシーに変換します。このモデルは学習を制御なしの自動化ではなく、ガイド付きの意思決定サポートとして位置付けます。

06

バッチログ分析

過去のログファイルをバッチ処理して、遡及的にAPI動作を導出できます。これにより、discoveryプロセスがライブトラフィックのみに限定されません。以前のトラフィック期間、キャンペーンウィンドウ、またはインシデントの瞬間を別途調査できます。

使用する場面

Shadow APIの検出と可視性の獲得

セキュリティチームは実際のトラフィックから学習されたエンドポイントリストを既存のAPI文書と比較できます。文書にないアクティブなパスはshadow API候補として確認のために取り込まれます。

マイクロサービスゲートウェイでのエンドポイントインベントリ抽出

マイクロサービスチームは手動文書を待たずに、トラフィックから各サービスのエンドポイント動作を確認できます。TR7はパスとメソッドベースのインベントリをセキュリティポリシーに変換するのを支援します。

コンプライアンス監査のためのアクティブAPIレポート

コンプライアンスチームは特定の期間にどのエンドポイントがアクティブだったかを報告できます。これにより、監査中にデータを処理するAPI表面がより明確に可視化されます。

本番環境に残っているテストエンドポイントの検出

テストまたはステージング用に開かれたエンドポイントが本番トラフィックに現れた場合、学習推奨事項の中で気づくことができます。運用チームはこれらのパスを閉じたり、制限したり、適切なセキュリティポリシーに配置したりできます。

よくある質問

パスグルーピング学習はどのように機能しますか?
TR7は受信トラフィックのパスとメソッド情報を分析し、ID、日付、トークンなどの変数セグメントを正規化します。`/api/users/123`や`/api/users/456`のようなパスを単一パターンにグループ化できます。学習されたエンドポイントは管理者の承認に提出されます;承認されたものはポリシーに変換されます。
Shadow APIとゾンビエンドポイントの推奨事項はどのように現れますか?
トラフィックから学習されたエンドポイントリストを現在のAPIインベントリと比較できます。トラフィックを受信しているが文書にないパスはshadow API候補として、古いがまだ到達可能なエンドポイントはゾンビエンドポイント候補としてフラグが立てられます。これらは直接の実行決定ではなく、オペレーターが確認する推奨事項として提示されます。
OpenAPI統合はどのように機能しますか?
TR7は学習されたAPI動作からOpenAPI互換スキーマを生成するワークフローをサポートします。逆方向では、ユーザーが提供したOpenAPIスキーマからTR7ルールを生成できます。この双方向モデルにより、実際のトラフィックと文書化されたAPIコントラクトのギャップが縮小されます。
ポジティブセキュリティモデルはネガティブセキュリティとどう違いますか?
ネガティブセキュリティは既知の悪いパターンのみをブロックします;ポジティブセキュリティは許可された動作を明示的に定義します。TR7スキーマルールはメソッド、ヘッダー、クエリパラメータ、MIMEタイプ、JSONキー、フォームフィールドのallow-listを構築します。これらのリスト外のリクエストはポリシー違反として扱うことができます。
スキーマドリフト検出とは何を意味しますか?
時間の経過とともに、アプリケーションに新しいJSONキー、新しいクエリパラメータ、または異なるメソッドの使用が現れる可能性があります。TR7は学習された動作と現在のスキーマポリシーの違いを可視化します。オペレーターはこれらの変更を受け入れてスキーマに追加するか、ポリシー違反としてフラグを立てることができます。
サイズと深さの制限はどのフィールドに適用されますか?
パス長、パス深さ、ヘッダー数、クエリ数、JSON深さ、XML深さ、rawボディサイズに制限を定義できます。これらの制限により、過大または過度に複雑なリクエストがバックエンドに到達する前にブロックされます。各スコープ(パス、クエリ、ヘッダー、フォーム、JSON、XML、raw)は独立して独自の制限を持つことができます。

実際のトラフィックからAPI表面を学習して保護する

トラフィックベースのエンドポイントインベントリ、shadow APIの可視性、ポジティブスキーマルール — お客様自身のサービスでのライブセットアップを一緒に確認しましょう。