マスター セキュリティ フレームワーク: 最新のアプリケーション用の多層セキュリティ フレームワーク
2026/05/18
概要
マスター セキュリティ フレームワーク (MSF) は、テクノロジー スタックのあらゆるレベルで最新のアプリケーションを保護するように設計された、包括的な多言語、多層セキュリティ フレームワークです。 Python と TypeScript で実装された MSF は、28 のモジュールに分散された 350 以上の機能を提供し、認証と暗号化から Web 攻撃検出、ネットワーク分析、クラウド セキュリティ、人工知能保護、適応型ハニーポット、アクティブな防御、エンタープライズ コンプライアンスに至るまで、あらゆるものをカバーします。この記事では、フレームワークに実装されている各モジュール、機能、設計パターン、セキュリティ メカニズムの詳細な技術分析を示します。
1. はじめに
###1.1.問題
最新のアプリケーションは、ますます高度化するさまざまな脅威に直面しています。単一のシステムが、言語モデルへのプロンプトの挿入、Web 脆弱性の悪用 (XSS、SQLi、SSRF)、ポート スキャン、DDoS 攻撃、クラウドの構成ミス、コンテナーの侵害、ソフトウェア サプライ チェーンの脆弱な依存関係、規制コンプライアンス違反など、複数のレイヤーで同時に攻撃の対象となる可能性があります。
セキュリティに対する従来のアプローチ (個別のツールを使用して各問題を解決する) では、防御のサイロが作成され、層間にギャップが残ります。 MSF は、アプリケーションのすべての層にわたって動作する統合セキュリティ プラットフォームを提供することで、この問題を解決するように設計されました。
###1.2.マスターセキュリティフレームワークとは何ですか
MSF は、Python と TypeScript の 2 つの言語で実装されたオープンソースのセキュリティ フレームワークです。各モジュールは同じセマンティクスを持つ両方の言語で存在するため、多言語チームはテクノロジー スタックに関係なく、同じセキュリティ機能のセットを使用できます。
このフレームワークは 4 つの柱を中心に構成されています。
- 予防: 入力検証、サニタイズ、暗号化、構成強化
- 検出: 攻撃パターン、統計的異常、マルウェアのシグネチャ、不審な動作の分析
- 回答: 自律型アラート、隔離、封じ込め、自己修復
- コンプライアンス: LGPD、GDPR、HIPAA、PCI-DSS の自動検証
###1.3.プロジェクトの指標
- 243 の自動テストに合格 (77 Python + 166 TypeScript)
- 180 を超える関数を備えた 14 の Python モジュール
- 170 以上の関数を備えた 14 の TypeScript モジュール
- OpenTelemetry テレメトリーがすべての機能に統合
- 構造化ログ (TypeScript ではピン、Python では loguru)
- 自動無効化機能を備えたインメモリキャッシュ
- 設定可能なセキュリティルールのためのポリシーエンジン
- モジュール間の非同期通信のためのイベントバス
2. フレームワークのアーキテクチャ
###2.1.インフラストラクチャ層(コア)
MSF ベースは、他のすべてのモジュールで共有される 6 つのインフラストラクチャ コンポーネントで構成されています。
グローバル構成: セキュリティ パラメーター、しきい値、許可/ブロック リスト、および暗号化キーを保存する一元化された構成オブジェクト。アプリケーションを再起動せずに、環境変数から設定をリアルタイムで再ロードできます。
ポリシー エンジン: セキュリティ ポリシーを構造化されたステートメントとして定義できるルール評価システム。このエンジンは、論理演算子、複合条件、強制アクション (許可、拒否、警告、ログ) をサポートします。
イベント バス: モジュールがセキュリティ イベントを発行し、他のモジュールがサブスクライブして反応できるようにする非同期パブリッシュ/サブスクライブ システム。イベント バスには、イベント履歴と、処理に失敗したイベントのデッド レター キューが含まれています。
メトリクス レジストリ: カウンタ (累積カウント用)、ゲージ (瞬間値用)、およびヒストグラム (分布用) をサポートするメトリクス システム。すべての検出機能はメトリクスを自動的に公開します。
キャッシュ マネージャー: 構成可能な TTL (Time-To-Live) を備えた LRU (最も最近使用されていない) キャッシュ。高価な検証結果、IP ブロック リスト、セッション フィンガープリント、および取り消されたトークンを保存するために使用されます。
OpenTelemetry: OpenTelemetry 標準との完全な統合により、セキュリティ操作ごとに分散トレース スパンが生成されます。これによりカラーが可能になりますセキュリティ イベントをマイクロサービス アーキテクチャのリクエスト トレースに関連付けます。
構造化ロガー: トレース ID、重大度、モジュール、セキュリティ メタデータなどの自動コンテキストを含む、pin (TypeScript) および loguru (Python) を使用した JSON 形式の構造化ロギング。
例外処理: セキュリティ エラーの詳細な処理を可能にするセキュリティ例外 (SecurityError、ValidationError、AuthenticationError、EncryptionError) の階層。
###2.2.保護層
インフラストラクチャに関しては、MSF はセキュリティ モジュールを 3 つの機能層に編成しています。
入力層: Web、API、認証 -- アプリケーションのエントリ ポイントを保護 インフラストラクチャ層: ネットワーク、クラウド、ファイル -- 基盤となるインフラストラクチャを保護します インテリジェント レイヤー: AI、モニタリング、防御、ハニーポット -- インテリジェンスと適応で保護します。
3. 認証モジュール (Auth)
認証モジュールはフレームワーク内で最も広範であり、Python で 30 個、TypeScript で 7 個の関数が含まれています。トークンの生成と検証、セッション管理、攻撃検出、高度な ID 検証方法など、認証ライフサイクル全体をカバーします。
###3.1. JWT (JSON ウェブトークン)
MSF は、単純な生成と検証を超えた完全な JWT システムを実装しています。
generate_jwtは、件名、カスタム クレーム、構成可能な有効期限、および発行者を含むトークンを作成します。 HS256、HS384、HS512、RS256、ES256 アルゴリズムをサポートします。validate_jwtは署名、有効期限、必須クレームをチェックし、デコードされたペイロードを返します。verify_expパラメータを使用すると、特定の場合の有効期限チェックを無効にすることができます。revoke_jwtは、トークンの JTI (JWT ID) を失効ブラックリストに追加します。これは、トークンの自然有効期限が切れる前にログアウトするために不可欠です。rotate_jwtは古いトークンを検証し、同じ ID を持つ新しいトークンを発行します。これにより、ユーザー セッションを中断することなくサイレント トークンのローテーションが可能になります。validate_refresh_tokenは、特定のユーザーに属していることを検証してリフレッシュ トークンを検証し、盗まれたリフレッシュ トークンが別のユーザーによって使用されるのを防ぎます。
###3.2.セッション管理
MSF セッション システムには、セッション ハイジャックに対する保護が含まれています。
secure_sessionは、user_id、IP、ユーザー エージェント、およびデバイス フィンガープリントをリンクするセッションを作成します。これにより、セッション コンテキスト内の疑わしい変更を検出できます。validate_sessionは、session_id がユーザーに属しているかどうか、および現在の IP がセッションの作成時に登録された IP と一致するかどうかをチェックします。detect_session_hijackは、現在の IP およびユーザー エージェントを履歴セッション データと比較します。 IP が別のサブネットに移動した場合、またはユーザー エージェントが大幅に変更された場合、関数はハイジャックの可能性を示す true を返します。detect_token_replayは、すでに使用されたトークンの記録を保持します。トークンが複数回提示された場合、関数はリプレイ攻撃を検出します。
###3.3.認証攻撃の検出
MSF は、認証システムに対する主な 3 種類の攻撃を検出します。
detect_credential_stuffingは、複数のユーザー アカウントに対する単一 IP からのログイン試行を監視します。 IP が一定時間内に多くの異なるユーザー名を試行すると、クレデンシャル スタッフィングとしてフラグが立てられます。detect_bruteforceは、単一アカウントに対するログイン試行を監視します。試行回数が時間枠内のしきい値を超えた場合、ブルート フォースとしてフラグが立てられます。detect_impossível_travelは、連続する 2 つのログイン位置間の距離を計算し、それを経過時間と比較します。ポイント間の移動に必要な速度が合理的な物理的制限 (例: 900 km/h) を超える場合、機能は不可能な移動を検出します。- 「geo_velocity_check」は、不可能な移動の検出を複数の場所に拡張し、連続するすべてのログイン ポイント間の地理的速度を計算します。
###3.4.適応型のリスクベース認証
adaptive_authは、コンテキストのリスク スコアに基づいて認証要件を調整します。使い慣れた場所の使い慣れたデバイスからのログインにはパスワードのみが必要な場合がありますが、別の国の新しいデバイスからのログインには追加の MFA が必要な場合があります。behavioral_authは、行動生体認証 (入力パターン、マウスの動き、閲覧リズム) を使用して、登録された行動ベースラインに対してユーザーの ID を検証します。risk_based_authは、複数のリスク スコアから複合リスク スコアを計算します。場所、デバイス、時間、動作、IP レピュテーションなどの要素に基づいて、信頼レベルを含む認証の決定を返します。
###3.5。 TOTP およびバックアップ コード
generate_totpは、RFC 6238 に従って、設定可能な桁数とピリオドを備えた時間ベースのワンタイム パスワード コードを生成します。validate_totpは、クロック ドリフト許容値 (driftパラメーター) を使用して TOTP トークンを検証し、サーバーとユーザーのデバイス間の非同期を補償します。verify_backup_codeはバックアップ/リカバリ コードを検証して消費し、再利用を防ぐために使用後に有効なリストから削除します。
###3.6. WebAuthn とパスキー
passkey_authは、認証者の暗号署名、認証者のデータ、および JSON クライアント データをチェックすることによって、FIDO2/WebAuthn 認証を検証します。webauthn_verifyは、登録された公開キーに対する送信元、RP ID (Relying Party ID)、および暗号署名の検証を含む、完全な WebAuthn アサーション チェックを実行します。phishing_ resistance_authは、認証方法がフィッシングに耐性があるかどうかをチェックします。検証された証明書を持つ FIDO2 レベル 2 以上が必要です。
###3.7.パスワードセキュリティ
password_entropyは、パスワードのシャノン エントロピーを計算し、その情報の複雑さをビット単位で測定します。エントロピーが 40 ビット未満のパスワードは弱いとみなされます。detect_weak_passwordは、エントロピー分析と一般的なパスワードのリスト (rockyou、上位 10000 など) に対するチェックを組み合わせます。password_breach_checkは、既知の侵害 (Have I Been Pwned など) のデータベースにパスワード ハッシュが存在するかどうかをチェックします。secure_password_hashは、暗号化ソルトとキー ストレッチ (反復) を使用してパスワード ハッシュを作成し、PBKDF2、bcrypt、scrypt、Argon2 などのアルゴリズムをサポートします。verify_password_hashは、定数時間の安全な比較を使用して、保存されているハッシュとパスワードを比較します。
###3.8。デバイスとブラウザのフィンガープリンティング
device_fingerprintは、ユーザー エージェント、画面解像度、タイムゾーン、言語、プラットフォームなどの属性から一意のデバイス識別子を生成します。browser_fingerprintは、レンダリング特性 (2D キャンバス ハッシュ、WebGL ハッシュ、オーディオ コンテキスト ハッシュ、インストールされているフォントのリスト) に基づいた高度なフィンガープリント技術を使用します。- 「biometric_validation」は、構成可能な類似性しきい値を使用して、生体認証データ (指紋、顔認識、虹彩) を保存されたテンプレートと比較します。
4. 暗号化モジュール (暗号化)
暗号化モジュールは、認証と整合性に重点を置き、最新の対称、非対称、ポスト量子暗号化アルゴリズムを実装します。
###4.1.認証された暗号化
- 「encrypt_data」は、関連データによる認証済み暗号化 (AEAD) を使用し、AES-256-GCM および ChaCha20-Poly1305 をサポートします。関連データ (AAD) を使用すると、暗号化されていないメタデータを認証された方法で暗号文にリンクできます。
decrypt_dataは認証された復号化を実行し、平文を返す前に認証タグをチェックします。タグが一致しない場合、復号化は失敗し、Oracle パディングおよび暗号文操作攻撃を防ぎます。encrypt_fileとdecrypt_fileは、認証された暗号化をディスク上のファイルに拡張し、ノンス、ソルト、メタデータを安全に管理します。
###4.2.ハイブリッド暗号化
hybrid_encryptは、非対称暗号化 (キー交換用) と対称暗号化 (ペイロード用) を組み合わせます。対称キーはランダムに生成され、ペイロードの暗号化に使用され、受信者の公開キーで暗号化されます。hybrid_decryptはプロセスを逆に行い、秘密鍵を使用して対称鍵を復号化し、次にペイロードを復号します。
###4.3.ポスト量子暗号
MSF は、NIST によって標準化されたポスト量子アルゴリズムを実装しています。
pqc_encryptとpqc_decryptは、量子コンピューター耐性のある暗号化に ML-KEM (旧 Kyber) を使用します。- 「kyber_key_exchange」は、ポスト量子共有鍵確立のための Kyber 鍵交換プロトコルを実装します。
dilithium_signは、ポスト量子デジタル署名に ML-DSA (旧名 Dilithium) を使用します。sphincs_signは、ステートレスなポスト量子代替手段として、ハッシュ関数に基づく署名スキームである SPHINCS+ を使用します。falcon_signは、コンパクトな署名を備えた格子ベースの署名スキームである Falcon を使用します。
###4.4. HMAC と署名の検証
generate_hmacは Hash-b を生成しますHMAC-SHA256、HMAC-SHA384、HMAC-SHA512、または HMAC-SHA3-256 を使用した ased メッセージ認証コード。verify_hmacは、定数時間比較を使用して、計算された HMAC と予想される HMAC を比較します。verify_signatureは、メッセージと公開鍵に対してデジタル署名 (Ed25519、ECDSA、RSA-PSS) を検証します。
###4.5。暗号化ユーティリティ
secure_randomは、os.urandom()(Python) またはcrypto.getRandomValues()(TypeScript) を使用して暗号的に安全なバイトを生成します。secure_memory_eraseは機密データを含むメモリ領域をゼロで上書きし、使用後にデータがメモリに残るのを防ぎます。anti_timing_compareは 2 つのバイト シーケンスを一定時間で比較し、最初の差がどこで発生したかに関係なくすべてのバイトを反復して、タイミング攻撃を防ぎます。
5. Web モジュール
Web モジュールは攻撃検出の点で最も広範であり、Python で 30 の関数、TypeScript で 35 の関数が含まれています。 OWASP トップ 10 以降にリストされているすべての Web 脆弱性カテゴリをカバーしています。
###5.1.クロスサイト スクリプティング (XSS)
detect_xssは、<script>タグ、イベント ハンドラー (onload、onclick、onerror)、javascript:URI、DOM XSS (innerHTML、document.write)、および SVG/MathML 経由の XSS を含む XSS パターンの入力を分析します。この関数は、正規表現パターンのセットを取得し、一致するパターンの数に基づいて信頼スコアを計算します。severity_thresholdを使用すると、検出感度を調整できます。sanitize_htmlは、安全なタグ (<p>、<br>、<strong>、<em>など) と安全な属性 (href、src、alt、titleなど) の許可リストを使用して、HTML から許可されていないタグと属性を削除します。許可されていないタグは完全に削除され、「on*」などの危険な属性は除外されます。sanitize_svgは、<script>、<foreignObject>、<animate>、イベント属性などの危険な要素を削除して SVG をサニタイズします。sanitize_markdownは、ネイティブのマークダウン形式を維持しながら、埋め込まれた危険な HTML を削除することでマークダウンをサニタイズします。sanitize_cssは、expression()、url(javascript:)、behavior、-moz-bindingなどの危険な CSS プロパティを削除します。sanitize_jsは、eval()、Function()、文字列を含むsetTimeout/setInterval、document.write、document.cookie、安全でない DOM 操作、コード実行メソッドなどの危険な JavaScript パターンを削除します。
###5.2. SQL および NoSQL インジェクション
detect_sqliは、UNION ベース (UNION SELECT)、ブラインド (AND 1=1、OR '1'='1')、時間ベース (SLEEP()、WAITFOR DELAY)、エラーベース、スタック クエリなどの SQL インジェクション パターンを検出します。この関数は、16 進エンコーディング、コメント (--、/* */)、文字列連結などの回避手法も検出します。detect_nósqliは、NoSQL データベース (主に MongoDB) でのインジェクションを検出し、入力内の危険な演算子を特定します:$gt、$gte、$lt、$lte、$ne、$in、$nin、$regex、$where、$exists。
###5.3.サーバーサイドリクエストフォージェリ(SSRF)
detect_ssrfは、許可されたドメインおよびブロックされた IP のリストと照合して URL をチェックします。この関数は、ローカルホストへのリダイレクト、DNS 再バインドの使用、エンコードされた URL (%00、%0d%0a)、クラウド メタデータ エンドポイント (169.254.169.254、metadata.google.internal) へのアクセスなどの SSRF バイパス手法を検出します。
###5.4.リモート コード実行 (RCE) とコマンド インジェクション
detect_rceは、eval()、exec()、system()、passthru()、popen()、バックティック、およびパイプ演算子の呼び出しを含むリモート コード実行パターンを識別します。detect_command_injectionは、シェル演算子 (;、|、||、&&、バックティック、$()、およびリダイレクト (>、>>)) を使用した OS コマンド インジェクションを検出します。
###5.5。ファイルのインクルードとパス トラバーサル
detect_lfiは、パス トラバーサル (../、..\)、エンコードされたトラバーサル (%2e%2e%2f)、および危険なプロトコル (php://filter、php://input、data://、expect://) のシーケンスを識別することにより、ローカル ファイル インクルードを検出します。detect_rfiは、外部 URL が include/require パラメーターとして渡されたときに、リモート ファイル インクルードを検出します。detect_path_traversalは、パスが許可されたbase_path内で解決されるかどうかをチェックし、絶対および相対トラバーサルを検出します。
###5.6.テンプレートのインジェクション
detect_template_injectionは、Jinja2 ({{ 7*7 }}、{% for %})、EJS (<%= %>)、ハンドルバー ({{#each}})、Pug、Twig、Mustache、および一般的なテンプレート構文を検出する汎用モードのサーバーサイド テンプレート インジェクション (SSTI) を検出します。
###5.7.デシリアライズとオープンリダイレクト
detect_deserialization_attachは、許可されたクラスと既知のガジェット パターン (Java シリアル化、Python ピクル、PHP アンシリアル化、YAML デシリアライゼーション) をチェックすることにより、安全でないデシリアライゼーションを特定します。detect_open_redirectは、リダイレクト URL がホワイトリスト上のホストを指しているかどうかをチェックし、悪意のあるドメインへのリダイレクトを防ぎます。
###5.8。 CSRF、CORS、CSP 保護
csrf_protectおよびvalidate_csrfは、安全な比較を使用してリクエストの CSRF トークンをセッション トークンと照合します。validate_corsは、オリジン、メソッド、およびヘッダーを許可リストと照合することで CORS リクエストを検証します。generate_cspは、ディレクティブ設定 (script-src、style-src、img-src、connect-src、frame-ancestors など) から Content-Security-Policy ヘッダーを生成します。validate_cspは、定義されたセキュリティ ポリシーに対して既存の CSP ヘッダーを検証します。secure_headersはセキュリティ ヘッダーの完全なセットを生成します: Strict-Transport-Security、X-Frame-Options、X-Content-Type-Options、X-XSS-Protection、Referrer-Policy、Permissions-Policy、Content-Security-Policy。
###5.9.安全な Cookie とクリックジャッキング
secure_cookieは、Secure、HttpOnly、SameSite (Strict または Lax)、ドメイン スコープ、パス、および max-age フラグを備えた Set-Cookie ヘッダーを生成します。detect_clickjackingは、X-Frame-Options ヘッダーと CSP フレーム祖先の存在をチェックして、クリックジャッキングの脆弱性を検出します。validate_originとvalidate_refererは、予想されるドメインに対して Origin ヘッダーと Referer ヘッダーを検証します。
###5.10. Webhook
webhook_signatureは、リプレイ防止のためのタイムスタンプを含む、Webhook ペイロードの HMAC 署名を生成します。webhook_replay_protectionは Webhook の署名とタイムスタンプをチェックし、設定された時間枠外のリクエストを拒否します。
6. API モジュール
API モジュールは、API エンドポイントを幅広い攻撃や悪用から保護します。
###6.1.入力の検証とサニタイズ
validate_json_schemaは、スキーマで定義されていない追加のフィールドを拒否するオプションの厳密モードを使用して、JSON スキーマ定義に対してデータを検証します。validate_inputは、型ルール (文字列、数値、ブール値、配列、オブジェクト)、最小/最大サイズ、正規表現パターン、許可される値の列挙、および最大ネスト深さ (デフォルト: 5 レベル) に対して API 入力を検証します。sanitize_jsonは、許可されていないタイプを削除し、設定された最大長 (デフォルト: 10,000 文字) を超える文字列を切り詰めることにより、JSON データをサニタイズします。
###6.2.レート制限
api_rate_limitは、スライディング ウィンドウ アルゴリズムを使用してレート制限を実装し、クライアントおよびエンドポイントごとのリクエストのタイムスタンプの記録を保持します。ウィンドウ内のリクエストの数が制限を超えると、リクエストは拒否されます。adaptive_rate_limitは、クライアントの動作に基づいてレート制限を動的に調整します。クリーンな記録を持つ顧客にはより寛大な制限が適用されますが、疑わしいパターンを持つ顧客にはより厳しい制限が適用されます。
###6.3. API 不正使用の検出
detect_api_abuseはリクエスト パターンを分析して検出します: スクレイピング (多数のリソースへの連続リクエスト)、列挙 (連続 ID 試行)、ファジング (さまざまな不正な形式のペイロードを持つリクエスト)、および悪意のある自動化 (定期的なパターンで高頻度)。- 「detect_shadow_api」は、アクセスされたエンドポイントを文書化された API のリストと比較することにより、トラフィックを受信している文書化されていないエンドポイントを特定します。
###6.4.壊れたオブジェクト レベルの認証 (BOLA/IDOR)
detect_bolaは、resource_idとリソースを所有者にマッピングするownership_mapを比較して、ユーザーが要求されたリソースへのアクセスを許可されているかどうかをチェックします。ユーザーが所有者ではなく、委任されたアクセス許可を持っていない場合、関数は true を返します。
###6.5。認証の失敗と一括割り当て
detect_broken_authは、認証トークンの存在と有効性、エンドポイントに必要なスコープ、トークンと要求されたユーザー間の対応をチェックします。detect_mass_assignmentは、API 入力にモデルにないフィールド (model_fields) または読み取り専用フィールドのリスト (readonly_fields) が含まれているかどうかをチェックし、攻撃者がis_admin、role、またはbalanceなどの保護されたフィールドを変更するのを防ぎます。
###6.6. GraphQLのセキュリティ
graphql_ Depth_limitは、GraphQL クエリの深さを分析し、設定された制限 (デフォルト: 10 レベル) を超えるクエリを拒否します。これにより、次のような攻撃が防止されます。サービス拒否を引き起こす可能性のある再帰的な行為。graphql_cost_analysisは、各フィールドの複雑さ (complexity_mapで設定可能) とネスト レベルに基づいて GraphQL クエリの計算コストを計算します。コストが制限 (デフォルト: 1000) を超えるクエリは拒否されます。graphql_abuse_detectionは、時間枠内で複数のクエリを分析し、クエリのフラッディング、イントロスペクションの不正行為 (API をマッピングするためにスキーマを悪用するクエリ)、および反復的な不正行為のパターンを検出します。
###6.7. gRPC と WebSocket のセキュリティ
grpc_security_validationは、メタデータ、必須ヘッダー、および TLS 情報 (暗号スイート、プロトコル、ピア証明書) をチェックすることにより、gRPC リクエストのセキュリティを検証します。secure_websocketは、オリジン検証と許可されたサブプロトコルを使用して安全な WebSocket 接続を構成します。websocket_origin_validationおよびwebsocket_flood_protectionは、悪意のある WebSocket 接続および接続フラッディングから保護します。
###6.8。 APIキー管理
- 「api_key_rotation」は、安全なハッシュ (SHA3-256)、識別可能なプレフィックス、および設定可能な有効期限を備えた新しい API キーを生成します。
- 「api_key_validation」は、既知のキーのレジストリと照合して API キーを検証し、スコープ、有効期限、および個別のレート制限をチェックします。
7. 人工知能 (AI) モジュール
AI モジュールは MSF の最も革新的なモジュールの 1 つであり、大規模言語モデル (LLM) を使用するアプリケーションに完全な保護を提供します。
###7.1.プロンプトインジェクションとジェイルブレイク保護
detect_prompt_injectionは、「以前の命令を無視する」、「すべてのルールを忘れる」、「system:」、「現在の状態」、「以前のすべてを無視する」、「システム命令を上書きする」、「セキュリティをバイパスする」、「存在しているかのように動作する」、「存在しているふりをする」、「これからは存在する」、「開発者モード:」などの注入パターンのプロンプトと、システム命令をシミュレートしようとするマークアップ パターンを分析します。この関数は 20 を超える正規表現パターンを使用し、一致の数とプロンプトの長さに基づいて信頼スコアを計算します。detect_jailbreakは、特に LLM セキュリティ制限をバイパスすることを目的としたジェイルブレイクの試みを検出します。これには、DAN モード、「今すぐ何でもする」、「安全性を無効にする」、「無制限モード」、「制限なし」、「安全ガイドラインを無視する」、「ルールに従う必要はない」、「制限なしでのロールプレイ」、「できる場合の仮説シナリオ」、「この代替世界で」、および「教育目的のみ」として使用されるパターンが含まれます。バイパスの正当化。
###7.2.機密データの保護
- 「detect_sensitive_leak」は、SSN/CPF、クレジット カード番号 (Luhn チェックサム検証付き)、電子メール、電話番号、API キー (AWS、GCP、GitHub、Stripe 標準)、パスワード、JWT トークン、秘密キー (PEM ヘッダー)、暗号通貨ウォレット アドレスなどの機密データのテキストをスキャンします。
detect_prompt_leakは、テキストの類似性を使用してユーザー プロンプトの内容とシステム プロンプトを比較することにより、LLM システム プロンプトを抽出しようとする試みを検出します。ユーザーがシステム プロンプトの一部を再現または推測しようとすると、関数はそれにフラグを立てます。detect_data_exfiltrationは、LLM 出力を分析して、応答に誤って含まれている可能性のある機密データを探します。
###7.3.消毒
sanitize_promptは、ユーザー プロンプトからブロックされたパターンを削除し、長さ制限を強制します。sanitize_llm_outputは、LLM 出力からスクリプト、イベント ハンドラー、機密データを削除し、必要に応じて切り捨てを適用します。ai_memory_sanitizerは、保持ポリシーに基づいて AI メモリ エントリをサニタイズし、機密データと期限切れのエントリを削除します。
###7.4.モデルとエージェントの不正使用の検出
detect_model_abuseはリクエスト パターンを分析してモデルの悪用を検出します。たとえば、過度の繰り返し (同じプロンプトが複数回送信される)、高いリクエスト レート (30/分以上)、異常な複雑さ (非常に深いクエリまたは長いクエリ) です。不正行為スコアは、パターン マッチング、反復、割合、複雑さの重み付けされた組み合わせとして計算されます。detect_agent_abuseは、実行されたアクションが定義されたポリシー (許可されたアクション、通話制限、アクセス制限) 内であるかどうかをチェックすることにより、AI エージェントの動作を監視します。
###7.5。 LLM ファイアウォールとポリシー エンジン
llm_firewallは、設定可能なアクション (ブロック、警告、ログ) を備えた一連の LLM ファイアウォール ルールに対して入力を評価します。各ルールはパターン、条件、アクションを指定します。ai_policy_engineが評価しますLLM プロンプトと出力の両方は、悪意のあるコードの生成の禁止、個人情報の公開の禁止、事実主張のための情報源の要件、ドメイン固有の制限などの一連のセキュリティ ポリシーに照らして実行されます。
###7.6. RAGと幻覚
rag_source_validationは、RAG (検索拡張生成) システムで使用されるソースの信頼性を検証し、ソース ドメインが信頼できるリストに含まれているかどうかを確認し、日付、作成者、評判の確認などの検証ルールを適用します。- 「hallucination_risk」は、低い信頼スコア、未検証の発言、事実の不一致、不確実性を示す言語パターンを分析することによって、LLM 出力における幻覚のリスクを評価します。
###7.7。ガードレールとツール呼び出しの検証
- 「ai_output_guard」は、ガードレールと編集ルールを LLM 出力に適用し、禁止されたコンテンツを削除し、機密データを編集します。
tool_call_validationは、ツールが許可リストに載っているかどうか、および引数が予期されるスキーマに対応しているかどうかをチェックすることによって、ツール呼び出し (関数呼び出し) を検証します。- 「multi_agent_isolation」は、複数の AI エージェント間の分離および通信ポリシーを検証し、あるエージェントが別のエージェントに侵害されるのを防ぎます。
###7.8。モニタリング
ai_token_monitorは、定義された制限 (リクエストごと、分ごと、日ごと、コストごと) に対して LLM トークンの使用を監視し、制限に近づいたり超えたりしたときにアラートを生成します。- 「ai_behavior_monitor」は、確立されたベースラインからの逸脱について AI の動作を監視し、応答パターンの変化、エラーの増加、または予期しない動作を検出します。
8. ネットワークモジュール
ネットワーク モジュールは、ポート スキャンからコマンド アンド コントロール通信までのすべてをカバーするネットワーク レベルの脅威検出を提供します。
8.1。スキャン検出
detect_port_scanは、ソース IP からの接続を分析してポート スキャンを検出します。この関数は、アクセスされた一意のポートをカウントし、接続速度 (1 秒あたりの接続数) を計算し、TCP フラグ パターン (SYN フラッド、SYN-RST パターン) を分析します。検出されたスキャン タイプには、SYN スキャン、FIN スキャン、XMAS スキャン、NULL スキャン、UDP スキャンが含まれます。設定可能なしきい値により、感度を調整できます (デフォルト: 60 秒間に 20 の単一ポート)。- 「detect_dns_tunneling」は、DNS クエリを分析してトンネリングを検出し、サブドメインのシャノン エントロピーを計算し (DNS クエリでエンコードされたデータはエントロピーが高くなります)、サブドメインの平均サイズを測定し、特定のドメインのクエリの頻度をカウントします。
8.2。トラフィック異常検知
- 「detect_traffic_anomaly」は、静的な Z スコアを使用して、現在のトラフィック メトリクス (1 秒あたりのバイト数、1 秒あたりのパケット数、1 秒あたりの接続数、プロトコル分布) を過去のベースラインと比較します。しきい値 (デフォルト: 2.0 標準偏差) を超える偏差は、異常としてフラグが立てられます。
- 「detect_ddos」は、構成可能なしきい値と時間枠を使用して、ベースラインに対する 1 秒あたりのバイト数/パケット数のスパイクを分析することにより、分散型サービス拒否攻撃を検出します。
8.3。プロキシ、VPN、Tor の検出
detect_proxyは、プロキシ (X-Forwarded-For、Via、X-Real-IP、Forwarded) を示す HTTP ヘッダーをチェックし、プロキシ接続の動作パターンを分析します。- 「detect_vpn」は、ソース IP を既知の VPN プロバイダー IP のデータベースと照合してチェックします。
detect_torは、ノードのリストと比較して IP が Tor ネットワークに属しているかどうかを確認し、Tor ネットワークからノードを終了します。
8.4。 IP とドメインの検証
validate_ipは、CIDR マッチングを使用して、許可された範囲およびブロックに対して IPv4 アドレスを検証します。 CIDR 表記 (例:192.168.1.0/24) と個別の範囲をサポートします。validate_domainは、TLD を許可リスト (例:.com、.org、.brのみ) と照合し、完全なドメインをブロック リストと照合して、ドメインを検証します。
###8.5。スプーフィングの検出と ARP ポイズニング
- 「detect_spoofing」は、予想されるソースおよびネットワーク トポロジに対してパケット データを分析して、IP スプーフィングを検出し、ソース IP が予想されるルートと一致するかどうかを確認します。
- 「detect_arp_poisoning」は、現在の ARP テーブルを予想される IP-MAC マッピングと比較し、MAC アドレスが複数の IP に応答するとき、またはマッピングが予期せず変更されるときを検出します。
8.6。 TLSフィンガープリンティング
tls_fingerprintは、ハンドシェイク (暗号スイート、拡張子、楕円曲線、ドット形式) から TLS フィンガープリントを生成し、比較します。クライアントを識別するために既知の指紋のデータベースに送信します。ja3_fingerprintは、TLS 固有の JA3 ハッシュ ClientHello を生成します。これは、ネゴシエーション パラメータに基づいて TLS クライアントを識別するための業界標準です。
8.7。ビーコンと C2 検出
beaconing_detectionは、接続間の間隔の規則性を分析することにより、ビーコン動作 (コマンドアンドコントロールとの定期的な通信) を検出します。非常に規則的な間隔 (低ジッター) と高い間隔相関を持つ接続は、ビーコンを示しています。- 「command_and_control_detection」は、C2 の既知の指標 (DGA (ドメイン生成アルゴリズム) ドメインとの通信、非標準ポート上のトラフィック、ビーコン パターン、トンネリング プロトコル (DNS、ICMP、HTTP) の使用) に対してトラフィック パターンを分析します。
###8.8。横方向の動きとネットワーク分析
lateral_movement_detectionは、ネットワーク上のホスト間のアクセス パターン (ユーザーが通常アクセスしないホストへのアクセス、異常なホストに対するリモート管理プロトコル (RDP、SSH、WMI) の使用、およびグラフ パターンでのアクセスの伝播) を分析することにより、横方向の動きを検出します。network_entropy_analysisは、ネットワーク パケットのエントロピーを分析して、暗号化またはスクランブルされたトラフィックを検出します (エントロピーが高いことは、ランダム データまたは暗号化データを示します)。- 「traffic_behavior_analysis」は、時間枠内で確立されたベースラインに対してトラフィックの動作を分析し、通信パターンの変化を検出します。
protocol_anomaly_detectionは、プロトコル データを予期される仕様 (必須フィールド、有効な値、メッセージ シーケンス) と比較することにより、プロトコルの異常を検出します。
9. クラウドモジュール
クラウド モジュールは、AWS、GCP、Azure 上のクラウド インフラストラクチャを保護し、コンテナ、Kubernetes、ストレージ、IAM、IaC、サプライ チェーンをカバーします。
###9.1.コンテナのセキュリティ
validate_dockerfileは、セキュリティのベスト プラクティスに照らして Dockerfile を検証します。つまり、「latest」タグを使用しない、root として実行しない、HEALTHCHECK を含める、ハードコードされたシークレットを含めない、最小限の基本イメージ (alpine、distroless) を使用し、不要なポートを公開しないでください。detect_container_escapeは、特権モード、危険な機能 (SYS_ADMIN、SYS_PTRACE、NET_ADMIN)、機密性の高い hostPath マウント (/、/etc、/proc、/sys)、seccomp/AppArmor プロファイルの欠如、およびホスト名前空間の共有をチェックすることによって、潜在的なコンテナー エスケープ ベクターを検出します。- 「runtime_container_protection」は、脅威ルールに対して実行時にコンテナ イベントを分析し、自動アクション (ブロック、アラート、隔離、終了、ログ) を実行します。
container_image_scanは、既知の脆弱性 (CVE) のコンテナ イメージ レイヤーをスキャンし、イメージ署名 (Cosign、Notary) をチェックします。
###9.2. Kubernetesのセキュリティ
- 「validate_k8s_rbac」は、最小特権の原則に基づいて Kubernetes RBAC 構成を検証します。ワイルドカード (「*」) を使用した ClusterRoles、過剰な権限を持つ ServiceAccount、シークレットへのアクセスを許可するバインディング、およびポッドでの実行を許可するロールを検出します。
validate_kubernetes_manifestは、ポッドのセキュリティ ポリシーとネットワーク ポリシーに照らして Kubernetes マニフェストを検証します。リソース制限なし、hostNetwork/hostPID/hostIPC あり、readOnlyRootFilesystem なし、securityContext なしで、root として実行されているポッドを検出します。runtime_k8s_anomalyは、Kubernetes ランタイム イベントの異常な動作を検出します。たとえば、異常な名前空間でのポッドの作成、RBAC への変更、非標準のシークレットへのアクセス、通常は通信しないポッド間の通信などです。
###9.3.ストレージとIAM
detect_public_bucketは、Primary: "*"を含むバケット ポリシー、パブリック ACL、無効なパブリック アクセス ブロック、およびバケットを公開する Web サイト設定をチェックすることにより、パブリックにアクセス可能なクラウド ストレージ バケットを検出します。- 「validate_s3_permissions」は、セキュリティ要件に照らして S3 バケットの権限を検証します。つまり、パブリック書き込み権限がないこと、暗号化が有効であること、バージョニングがアクティブであること、ロギングが設定されていることを確認します。
validate_iam_policyは、許可および拒否されたアクションのリストに対して IAM ポリシーを検証し、過剰な許可を検出します。ワイルドカード (s3:*、*) を使用したアクション、すべてのサービスのリソースへのアクセス、制限条件の欠如などです。
###9.4.コードとしてのインフラストラクチャ
validate_terraformは、セキュリティ ポリシーに照らして Terraform プランを検証します。暗号化が無効になっているリソース、オープン エントリ ルールが設定されているセキュリティ グループを検出します (0.0.0.0/0)、パブリック バケット、バックアップされていないデータベース、およびタグを識別しないリソース。- 「detect_cloud_misconfig」は、現在の構成をプロバイダー (AWS、GCP、Azure) ごとのセキュリティ ベースラインと比較することにより、クラウド インフラストラクチャの構成ミスを検出します。
###9.5。秘密とサプライチェーン
validate_secrets_managerは、シークレット マネージャーの設定を検証します。自動ローテーションの有効化、KMS による保存時の暗号化、制限付きアクセス ポリシー、アクセス ログの有効化などです。- 「supply_chain_validation」は、信頼できるソースと脆弱性データベースに対してソフトウェアの依存関係を検証し、未検証のソースからのパッケージ、既知の CVE を持つバージョン、および制限付きライセンスを持つ依存関係を検出します。
sbom_generatorは、名前、バージョン、タイプ、ライセンス、ハッシュを含むすべてのコンポーネントをリストしたソフトウェア部品表を SPDX または CycloneDX 形式で生成します。dependency_auditは、重大度フィルターを使用して脆弱性データベースに対する依存関係を監査します。detect_typósquattingは、文字列の類似性 (レーベンシュタイン、文字交換、ハイフネーション) を使用してパッケージ名を既知のパッケージと比較することにより、タイポスクワッティング攻撃を検出します。
###9.6.スコアとアイデンティティ
- 「cloud_security_score」は、CIS ベンチマークとカテゴリ (IAM、ストレージ、ネットワーク、ロギング、暗号化) ごとの構成可能な重みに基づいて、全体的なクラウド セキュリティ スコアを計算します。
- 「workload_identity_validation」は、ワークロード ID 構成 (AWS 上の IRSA、GKE 上の Workload Identity、Azure 上のマネージド ID) を検証します。
- 「confidential_computing_validation」は、TEE (Intel SGX/TDX、AMD SEV-SNP、AWS Nitro Enclaves、Azure CVM) の機密コンピューティング構成証明を検証します。
10. 監視モジュール
監視モジュールは、高度な検出、相関、およびインシデント対応機能を提供します。
10.1。改ざん防止ロギング
secure_logは、ハッシュ チェーンを使用して、暗号化の整合性を備えた安全なログ エントリを作成します。各エントリには前のエントリのハッシュが含まれているため、チェーン全体を無効にしない限り過去のエントリを変更することはできません。tamperproof_logsは、各ハッシュが前のエントリを正しく指していることを検証することによって、ログのチェーンの整合性をチェックします。
10.2。統計的スコアリング
anomaly_scoreは、統計的な Z スコアを使用して異常スコアを計算します。メトリックごとに、現在の値が過去の平均から標準偏差の何倍であるかを計算します。個々のスコアを構成可能な重みと組み合わせて、複合スコアを生成します。- 「threat_score」は、セキュリティおよび脅威インテリジェンス イベントで構成される脅威スコアを計算します。重大度、ターゲットの重要度、およびインテリジェンス ソースの信頼度による重み付けが行われます。
- 「risk_score」は、最近のイベント、現在のコンテキスト、履歴 (以前のリスク平均、インシデントの数、最後のインシデントからの日数) に基づいて、特定のユーザーのリスク スコアを計算します。
10.3。相関とアラート
correlate_eventsは、ユーザー定義の相関ルールを使用して、時間枠内のセキュリティ イベントを相関させます。例: 「同じ IP からのログイン イベントが 3 回失敗し、その後に成功イベントが続いた場合、可能であればブルート フォースで関連付けます。」- 「realtime_alert」は、アラート ルールに対してイベントを評価し、設定可能な通知 (電子メール、Slack、PagerDuty、Webhook) を使用してリアルタイム アラートを生成します。
- 「adaptive_alerting」は、アラート疲労を防止する適応型アラートを実装します。1 時間あたりのアラート数がベースラインを超えると、システムは同様のアラートをグループ化し、通知頻度を減らします。
10.4。攻撃分析
- 「攻撃パス分析」は、セキュリティ イベントとネットワーク トポロジに基づいてネットワークを通る潜在的な攻撃パスを分析し、攻撃者が重要なターゲットに到達するために使用できる一連のアクションを特定します。
threat_graphは、イベント、エンティティ (ユーザー、ホスト、アプリケーション)、および関係 (アクセス、侵害、通信) から脅威ナレッジ グラフを構築します。- 「 Attack_chain_mapping 」は、セキュリティ イベントを MITRE ATT&CK フレームワーク (技術と戦術) およびサイバー キル チェーン (偵察、武器化、配信、悪用、設置、C2、目標に対するアクション) にマッピングします。
###10.5。行動分析とUEBA
- 「行動分析」は、確立されたベースライン (典型的なログイン時間、一般的な場所、1 時間あたりのイベントの量、および典型的なアクションの種類) に対してユーザーの行動を分析します。
ueba_analysisが実行されますユーザーおよびエンティティの行動分析は、ユーザーの行動をピア グループ (同様のプロファイルを持つユーザーのグループ) と比較し、統計的な逸脱を検出します。detect_account_takeoverは、未知のデバイスのログイン、異常な場所、異常な時間、データ転送に続くパスワード変更、非標準リソースへのアクセスなどの動作指標に基づいてアカウント乗っ取りの試みを検出します。
###10.6。自律的な対応とフォレンジック
- 「autonomous_response」は、脅威の重大度と対応ルールに基づいて自律的なインシデント対応を実行します: IP のブロック、アカウントの無効化、ホストの隔離、トークンの取り消し、セキュリティ チームへのエスカレーション。
- 「forensic_snapshot」は、収集されたすべてのアーティファクトの暗号化ハッシュを含む、証拠の保管過程を含むシステム状態のフォレンジック スナップショットを作成します。
- 「incident_timeline」は、セキュリティ イベントから時系列のインシデント タイムラインを構築し、タイムスタンプで並べ替え、攻撃フェーズごとにグループ化します。
- 「autonomous_triage」は、トリアージ ルールとエンリッチメント データ (脅威インテリジェンス、ユーザー コンテキスト、誤検知履歴) を使用して、アラートの自律的なトリアージを実行します。
11. アクティブディフェンスモジュール (ディフェンス)
防御モジュールは、フレームワークとアプリケーション ランタイム自体を保護するアクティブな防御メカニズムを実装します。
11.1。デバッグ防止と改ざん防止
runtime_self_protectionは、実行時の自己保護メカニズム (定期的な整合性チェック、デバッグ検出、プロセス状態の継続的な監視) を有効にします。anti_debugging_detectionは、ptrace ステータス (プロセスがトレースされている場合)、環境内のデバッガ信号 (環境変数、デバッグ ファイル)、および実行時異常 (予期しない一時停止はブレークポイントを示します) をチェックすることによって、アクティブなデバッグの試みを検出します。- 「anti_tampering」は、暗号化ハッシュ (SHA-256、SHA3-256) を期待値と比較することにより、バイナリの整合性をチェックします。ハッシュが変更された場合、バイナリは変更されています。
memory_integrity_checkは、現在の状態を予想される状態と比較し、クリティカル領域の署名をチェックすることによって、メモリ領域の整合性をチェックします。process_integrity_checkは、ロードされたモジュール (未承認の DLL の検出)、プロセス チェーンの国 (プロセスが予期しない親によって開始されたかどうかの検出)、およびプロセスのアクセス許可を含むプロセスの整合性をチェックします。
###11.2.バイナリとブートの検証
code_signing_validationは、バイナリのコード署名証明書を信頼できる証明書のストアと照合して検証し、証明書が取り消されていないことを確認します。binary_integrity_validationは、セクションごとに個別のハッシュを計算し、予想されるハッシュと比較することによって、セクション (.text、.data、.rsrc、.reloc) ごとのバイナリの整合性を検証します。secure_boot_validationは、TPM (トラステッド プラットフォーム モジュール) の測定値と各ブート ステージを記録する PCR (プラットフォーム コンフィギュレーション レジスタ) の値をチェックすることにより、セキュア ブート チェーンを検証します。secure_update_validationは、パッケージの暗号化署名、コンテンツの整合性、バージョン (ダウングレード攻撃の防止)、および配布チャネルをチェックすることによって更新パッケージを検証します。
###11.3.高度な検出技術
anti_hook_detectionは、IAT フック (インポート アドレス テーブルの変更)、インライン フック (関数の最初の命令の変更)、および SSDT フック (カーネル内のシステム サービス記述子テーブルの変更) をチェックすることによって、メモリ内の関数フックを検出します。anti_injection_detectionは、シグネチャなしでロードされたモジュール、疑わしいパスからロードされたライブラリ、既知のインジェクション手法 (プロセス ハローイング、DLL インジェクション、リフレクティブ DLL ローディング) のシグネチャをチェックすることにより、プロセス メモリ空間へのコード インジェクションを検出します。anti_rootkit_detectionは、一貫性のない結果を返すシステム コール、署名されていないカーネル モジュール、および隠しプロセス (カーネル プロセス リストには表示されるがオペレーティング システム リストには表示されないプロセス) を分析することによってルートキット インジケーターを検出します。- 「anti_vm_detection」は、VM を示すハードウェア情報 (BIOS メーカー、プロセッサ モデル、MAC アドレス)、タイミング チェック (VM での実行速度が遅い命令)、および VM アーティファクト (VMware、VirtualBox、Hyper-V に固有のファイル、サービス、ドライバー) をチェックすることにより、仮想環境での実行を検出します。
anti_emulation_detectionエミュレータが実装していないことが多い API の可用性、操作のタイミング (エミュレータは遅い)、環境チェック (プロセス数、ディスク容量、RAM メモリ) をチェックすることによって、エミュレーション環境を検出します。
###11.4。移動ターゲットと自己修復
- 「moving_target_runtime」は、サービス エンドポイントをローテーションし、メモリ レイアウトをランダム化し、応答時間を変更することで、脆弱性の悪用をより困難にする移動ターゲット防御を実装します。
- 「dynamic_ Attack_surface」は、脅威レベルに基づいて攻撃対象領域を動的に調整します。低レベルでは、すべてのエンドポイントが利用可能です。中レベルでは、必須ではないエンドポイントは無効になります。高レベルでは、重要なエンドポイントのみがアクティブのままになります。
runtime_policy_engineは、構成可能な強制モード (監査、警告、強制) を使用して実行時にセキュリティ ポリシーを評価し、適用します。- 「self_healing_security」は、セキュリティ インシデントを自動的に検出して回復します。サービスが侵害された場合、システムはサービスを再起動し、元の設定を復元し、スタッフに通知します。
- 「adaptive_threat_response」は、脅威の特性と事前定義された対応プレイブックに基づいて、脅威に対する適応的な対応を実行します。
- 「autonomous_containment」には、封じ込めルールとネットワーク トポロジを使用して自律的にアクティブな脅威が含まれています。侵害されたホストを隔離し、C2 通信をブロックし、ネットワークをセグメント化して伝播を制限します。
12. ハニーポットモジュール
ハニーポット モジュールは、攻撃者を引き付け、検出し、分析するための欺瞞技術を実装します。
12.1。偽のサービス
fake_admin_panelは、ログイン ルート、ダッシュボード、ユーザー管理、およびシステム設定を備えた現実的な偽の管理パネルをデプロイします。すべての対話は分析のために記録されます。fake_databaseは、現実的なスキーマ (ユーザー、注文、支払いテーブル) と、正当に見えるが完全に架空のサンプル レコードを備えた偽のデータベースを作成します。fake_apiは、説得力があるが架空のペイロードを返す現実的なエンドポイント (/api/users、/api/orders、/api/payments) を備えた偽の REST API をデプロイします。fake_filesystemは、もっともらしいディレクトリ構造 (/etc、/var/log、/home/user、/opt/app) と現実的なコンテンツを持つファイルを持つ偽のファイル システムを作成します。fake_ssh_serviceは、接続を受け入れ、現実的なバナーを表示し、すべての認証試行と実行されたコマンドをログに記録する偽の SSH サービスをデプロイします。- 「fake_rdp_service」は、リモート デスクトップ攻撃を検出および追跡するために偽の RDP サービスをデプロイします。
fake_kubernetes_clusterは、偽の Kubernetes クラスター API をデプロイし、ポッド、サービス、デプロイメント、シークレットのクエリに応答することでコンテナーに焦点を当てた攻撃者を引き付けます。fake_s3_bucketは、本物のように見える現実的なオブジェクト (ドキュメント、設定、バックアップ) とアクセス ポリシーを備えた偽の S3 バケットを作成します。- 「fake_login_page」は、認証情報の送信試行を捕捉するために、カスタマイズ可能なブランドを備えた説得力のあるログイン ページをデプロイします。
fake_debug_panelは、内部システム情報 (環境変数、データベース設定、ログ) を公開するように見える偽のデバッグ/開発パネルをデプロイします。
12.2。ハニートークンと欺瞞
fake_secretsは、許可されたコンテキスト外で使用された場合に警告する偽のシークレット (API キー、データベース トークン、SSH 認証情報) を生成および管理します。honeytoken_generationは、アクセス時にアラートをトリガーする、さまざまなタイプ (URL、API キー、認証情報、ファイル) の追跡可能なトークンを生成します。honeycredential_detectionは、送信された認証情報を既知のハニートークンのデータベースと照合してチェックし、攻撃者が偽の認証情報を使用していることを検出します。deceptive_routesは、正規の API エンドポイントのように見えるが、アクセスされるとアラートをトリガーする不正なルートを記録します。decoy_endpointsは、実際のサービス エンドポイントを模倣するおとり API エンドポイントのリストを生成します。deceptive_responsesは、リクエストと攻撃者のプロファイルに基づいて状況に応じて適切な欺瞞的な応答を生成し、情報収集中に攻撃者を関与させ続けます。
12.3。分析と適応
- 「adaptive_honeypot」は、観察されたトラフィックと脅威レベルに基づいてハニーポット構成を動的に調整します。攻撃者が Web 脆弱性を悪用している場合、ハニーポットは Web サービスの表面を増やします。ドアをスキャンしている場合は、さらに偽のドアが開きます。
攻撃者_行動_trackingは、ハニーポット セッション内の攻撃者の行動パターン (実行されたコマンド、アクセスされたファイル、試行された認証情報、各サービスに費やされた時間) を追跡および分析します。- 「adaptive_deception」は、攻撃者のプロファイル (スクリプトキディ、自動攻撃者、APT) と有効性の指標 (攻撃者の滞在時間、実行したアクションの数) に基づいて欺瞞戦術を動的に調整します。
moving_target_defenseは、ハニーポットのコンテキストで移動ターゲット防御を実装し、サービス構成 (ポート、バナー、応答) をローテーションして、環境のフィンガープリンティングをより困難にします。
13. ファイルモジュール(ファイル)
ファイル モジュールは、悪意のあるアップロード、マクロを含むドキュメント、JavaScript を含む PDF、ポリグロット ファイル、zip ボム、マルウェアなどのファイル由来の脅威から保護します。
13.1。アップロードの検証
secure_uploadは、ファイルのアップロードを複数のレイヤーで安全に検証および処理します。許可リストに対して拡張子をチェックし、マジック バイトによって MIME タイプを検証し、最大サイズをチェックし、コンテンツのマルウェアをスキャンします。validate_extensionは、ファイル拡張子が許可された拡張子のリストに含まれているかどうかを確認します。validate_mimeは、マジック バイト検出 (最初のバイトのファイル形式署名) を使用してファイルの MIME タイプを検証し、拡張子のスプーフィング (実際には実行可能ファイルである `.jpg ファイルなど) を防ぎます。
13.2。ファイル内の脅威の検出
detect_polyglot_fileは、ファイルに複数のファイル形式の署名が含まれているかどうかを検出します。これは、ポリグロット ファイル攻撃 (有効な JavaScript である GIF など、2 つ以上の形式で同時に有効なファイル) を示します。detect_zip_bombは、圧縮率と宣言された非圧縮サイズを分析することによって zip 爆弾を検出します。比率が 100:1 を超える場合、または非圧縮サイズが 1GB を超える場合は、zip 爆弾の可能性があるとしてフラグが立てられます。detect_office_macroは、文書を開いたときに悪意のあるコードを実行する可能性のある Office ドキュメント (Word.doc/.docx、Excel.xls/.xlsx、PowerPoint.ppt/.pptx) 内の VBA マクロを検出します。detect_pdf_javascriptは、マルウェアのダウンロードやフィッシングなどの悪意のあるアクションを実行する可能性のある PDF ファイルに埋め込まれた JavaScript を検出します。detect_executable_payloadは、非実行可能ファイル (Windows 実行可能 PE ヘッダーを含む PDF など) に埋め込まれた実行可能ペイロードを検出します。detect_embedded_scriptは、ファイルに埋め込まれたスクリプトを検出します: PDF の JavaScript、Office ドキュメントの VBScript、テキスト ファイルの PowerShell、データ ファイルの Python スクリプト。
13.3。マルウェアスキャン
malware_scanは、シグネチャ マッチング (既知のマルウェア シグネチャとの比較) と YARA ルール (複雑な条件を使用した高度なパターン マッチング) を使用して、ファイルでマルウェアをスキャンします。yara_scanは、カテゴリ (マルウェア、エクスプロイト、疑わしいなど) ごとにルールを整理するための名前空間サポートを備えた YARA ルールを使用してファイルをスキャンします。heuristic_scanはヒューリスティック分析を実行して、既知の署名とは一致しないが、マルウェアを示す特性 (難読化、アンチデバッグ、パッキング) を持つファイル内の不審な動作を検出します。
13.4。高度な分析
entropy_analysisは、暗号化または圧縮を検出するためにブロック ファイル データのシャノン エントロピーを計算します。エントロピーが 7.5 ビット/バイトを超えるファイルは、ランダム性が高いと見なされます (暗号化またはパッキングを示します)。detect_steganographyは、LSB (最下位ビット) 分析、付加データ検出、ブロック エントロピー分析、カラー ヒストグラム分析といった複数の手法を使用して画像ファイル内のステガノグラフィーを検出します。detect_obfuscationは、base64 文字列検出、16 進数エンコード、文字列連結、特定セクションの高エントロピー、難読化された制御フロー パターンなどの複数の技術を使用して、ファイル内の難読化されたコンテンツを検出します。
###13.5。消毒と隔離
sanitize_filenameは、危険な文字 (/、\、..、:、*、?、"、<、>、|) およびパス トラバーサル シーケンスを削除してファイル名をサニタイズします。quarantine_fileは、メタデータ追跡 (隔離理由、タイムスタンプ、ファイル ハッシュ、アップローダー) を使用して、悪意のあるファイルを隔離ディレクトリに移動します。sandbox_executeは、動作分析、監視 (システム コール、ネットワーク アクセス、ファイル変更、子プロセスの作成) のためにサンドボックス環境でファイルを実行します。secure_tempfileは、アクセス許可が制限され (所有者による読み取り/書き込みのみ)、オプションで閉じるときに自己削除される安全な一時ファイルを作成します。immutable_storage_checkは、現在のハッシュを予想されるハッシュと比較することによって、不変ストレージ上のファイルの整合性をチェックします。
14. エンタープライズモジュール
エンタープライズ モジュールは、データ保護および情報セキュリティ規制への準拠をチェックします。
14.1。規制の遵守
- 「lgpd_check」は、ブラジルの一般データ保護法 (LGPD、法律 13,709/2018) への準拠を検証します。所有者の同意、DPO (データ責任者) の任命、所有者の権利 (アクセス、修正、削除、ポータビリティ)、処理操作の登録、個人データ保護への影響レポート、および ANPD へのインシデントの通知。
- 「gdpr_check」は、一般データ保護規則 (GDPR、EU 規則 2016/679) への準拠をチェックします。処理の法的根拠、DPO の任命、データの最小化、目的の制限、正確性、保管の制限、完全性と機密性、忘れられる権利、データのポータビリティ、および 72 時間以内の違反の通知です。
- 「hipaa_check」は、米国医療保険の相互運用性と責任に関する法律 (HIPAA) への準拠を検証します。保存中および転送中の PHI (保護医療情報) 暗号化、アクセス制御 (固有のユーザー ID、緊急アクセス、自動ログオフ)、監査制御 (監査ログ、整合性制御)、および PHI データの整合性です。
- 「pci_check」は、Payment Card Industry Data Security Standard (PCI-DSS) への準拠をチェックします。転送中および保存中のカード データの暗号化、ネットワーク セグメンテーション (カード環境の分離)、アクセス コントロール (必知事項、一意の ID、MFA)、ネットワークとシステムのモニタリング、および定期的なセキュリティ テストです。
14.2。レポートとダッシュボード
- 「compliance_report」は、複数のチェック結果から包括的なコンプライアンス レポートを生成します。これには、概要、特定されたギャップ、修復の推奨事項、コンプライアンス タイムライン、カテゴリ別のスコアが含まれます。
- 「realtime_security_dashboard」は、セキュリティ メトリクス (検出された脅威、ブロック、誤検知)、アクティブなアラート、履歴傾向、全体的なリスク スコアを表示するリアルタイム セキュリティ ダッシュボードを生成します。
14.3。監査とポリシー
audit_trailは、セキュリティ イベント、ユーザー アクション、およびデータ変更から不変の監査証跡を生成します。これには、誰が、いつ、どこから、どのような影響があったかが含まれます。policy_as_codeは、コードとして定義されたセキュリティ ポリシーを評価して適用し、セキュリティ ポリシーのバージョン管理、レビュー、および自動テストを可能にします。
14.4。マルチテナントとマルチリージョン
tenant_isolationは、マルチテナント環境でのテナント分離をチェックして適用します。データ分離、ネットワーク分離、クロステナント アクセス制御、テナント間の情報漏洩の防止です。- 「multi_region_security」は、マルチリージョンのセキュリティ体制とデータ所在地のコンプライアンスを評価します。特定のリージョンからのデータがリージョン内に残っていることの検証、リージョン間の一貫した暗号化、および各リージョンの現地規制への準拠です。
15. 統合モジュール
統合モジュールは、一般的なフレームワークとプラットフォーム用のアダプターを提供します。
15.1。 Python Web フレームワーク
fastapi_security_dependencyは、OAuth2、JWT 検証、レート制限、および入力保護を使用した FastAPI のセキュリティ依存関係を作成します。django_security_middlewareは、CSP、CSRF、セキュリティ ヘッダー、および入力保護を備えた Django 用のセキュリティ ミドルウェアを作成します。flask_security_extensionは、セキュリティ ラッパー、リクエスト保護、および入力検証を備えた Flask のセキュリティ拡張機能を作成します。celery_security_monitorは、引数の検証、タスクごとのレート制限、および監査ログを備えた Celery タスクのセキュリティ モニターを作成します。sqlalchemy_query_protectionは、行レベルのセキュリティ、権限フィルタリング、およびクエリインジェクション防止を使用して SQLAlchemy クエリに保護を適用します。
###15.2. TypeScript Web フレームワーク
expressSecurityMiddlewareは、入力保護、レート制限、CORS、CSRF、およびセキュリティ ヘッダーを備えた Express.js のセキュリティ ミドルウェアを作成します。fastifySecurityMiddlewareは、検証フック、レート制限、ペイロード保護を備えた Fastify 用のセキュリティ ミドルウェアを作成します。nestjsSecurityModuleは Nest のセキュリティ モジュールを作成します認証ガード、検証インターセプター、認可デコレーターを備えた JS。nextjsSecurityHeadersは Next.js のセキュリティ ヘッダー (CSP、HSTS、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy) を構成します。
###15.3.エッジとランタイム
- 「cloudflareEdgeProtection」は、WAF ルール、レート制限、ボット管理、カスタム セキュリティ ワーカーを使用して Cloudflare のエッジ保護を構成します。
denoSecurityPluginは、アクセス許可制御 (読み取り、書き込み、ネット、環境、実行) とサンドボックスを備えた Deno 用のセキュリティ プラグインを作成します。bunSecurityPluginは、セキュリティの最適化とシステム API へのアクセス制御を備えた Bun 用のセキュリティ プラグインを作成します。browserRuntimeProtectionは、CSP、iframe サンドボックス、および API 制限を使用してブラウザー ランタイム保護を構成します。serviceWorkerSecurityは、制限されたスコープ、制限された権限、および発信元検証を使用して Service Worker セキュリティを構成します。wasmSecurityRuntimeは、メモリ制限 (初期、最大、共有) と syscall 制限を備えた WebAssembly のセキュリティ ランタイムを作成します。
###15.4。パイプラインとエンジン
- 「async_threat_pipeline」は、構成可能なプロセッサー (検証、検出、スコアリング、アラート) と出力チャネル (ログ、メトリクス、Webhook) を備えた非同期脅威検出パイプラインを作成します。
yara_realtime_engineは、ファイル監視 (ディレクトリ監視) と継続的なルール マッチングを備えたリアルタイム YARA スキャン エンジンを作成します。ai_threat_classifierは、自動化された決定のためのトレーニング済みモデルと信頼度しきい値を使用して AI 脅威分類子を作成します。secure_cli_runtimeは、入力サニタイズ、引数検証、および実行タイムアウトを備えた安全な CLI ランタイムを作成します。python_runtime_guardは、インポート ホワイトリスト (許可されたモジュールのみインポート可能) とサンドボックス (ファイル システム、ネットワーク、およびシステム アクセス制限) を備えた Python ランタイム ガードを作成します。
16. テレメトリーと可観測性
MSF は、ログ、メトリック、トレースという可観測性の 3 つの柱に従って、可観測性をすべての操作に統合します。
16.1。構造化ログ
すべてのモジュールは JSON 形式の構造化ログを使用します。各ログ エントリには次のものが含まれます。
timestamp: ISO 8601 の日付と時刻level: 重大度 (デバッグ、情報、警告、エラー、クリティカル)module: ログを生成したモジュールの名前traceId: 相関関係用の OpenTelemetry トレース IDcontext: 操作固有のメタデータ (例:detected、confidence、severity、matches)
###16.2.メトリクス
メトリック レジストリは、次の 3 種類のメトリックをサポートします。
- カウンター: 増加するだけの累積値。例: 「jwt_validations」、「xss_detections」、「sqli_detections」、「port_scan_detections」、「ddos_detections」、「malware_scans」。
- ゲージ: 増加または減少できる瞬間的な値。例: 「active_sessions」、「cache_hit_ratio」。
- ヒストグラム: 値の分布。例: 「anomaly_scores」、「threat_scores」、「detection_latency_ms」。
各メトリックには、「モジュール」、「重大度」、「検出」、「クラウドプロバイダー」など、追加の次元のラベル (タグ) を含めることができます。
###16.3。分散トレーシング
各セキュリティ ロールは、次の OpenTelemetry スパンを作成します。
- オペレーション名 (例:
msf.web.detect_xss) - 属性: 入力パラメータ、結果、期間
- イベント: 実行中の重要なマイルストーン
- ステータス: OK または説明付きのエラー
スパンは、OpenTelemetry 互換のバックエンド (Jaeger、Zipkin、AWS X-Ray、Google Cloud Trace、Azure Application Insights) にエクスポートされます。
###16.4。イベントバス
イベント バスにより、モジュール間の非同期通信が可能になります。
- パブリケーション: どのモジュールでも、タイプ、重大度、メッセージ、メタデータを含むイベントをパブリッシュできます。
- サブスクリプション: モジュールは特定の種類のイベントをサブスクライブし、イベントが公開されたときにアクションを実行できます。
- 履歴: イベント バスは、参照のために最後の N イベントの履歴を保持します。
- デッドレターキュー: 処理に失敗したイベントは、後で再処理するためにデッドレターキューに移動されます。
17. デザインパターンとエンジニアリング原則
17.1。使用されるパターン
- シングルトン: インフラストラクチャ コンポーネント用 (PolicyEngine、MetricsRegistry、EventBus、CacheManager)。
- Factory: 標準化された結果オブジェクト (DetectionResult、ValidationResult、ScanResult) を作成します。
- 戦略: 交換可能な検出アルゴリズム用 (XSS、SQLi などの異なる検出パターン)。
- オブザーバー:イベント バスに送信され、モジュールは他のモジュールによって発行されたイベントを監視します。
- 責任の連鎖: 各ステップが入力を通過または拒否できる検証パイプライン用。
- デコレータ: 既存の機能 (ロギング、メトリクス、トレース) にセキュリティ機能を追加します。
###17.2。セキュリティ原則
- 多層防御: 複数の保護層により、1 つに障害が発生しても他の層は動作を継続します。
- 最小権限: 各機能とモジュールは必要最小限の権限で動作します。
- フェール セキュア: 内部エラーが発生した場合、関数はアクセスを拒否する結果を返します (フェール クローズ)。
- 安全な比較: すべての秘密の比較では、タイミング攻撃を防ぐために定数時間の比較が使用されます。
- 入力のサニタイズ: すべての入力は信頼できないものとして扱われ、処理前にサニタイズされます。
- セキュリティ ログ: すべてのセキュリティ操作は、監査とインシデント検出のためにログに記録されます。
18. 結論
マスター セキュリティ フレームワークは、最新のアプリケーション セキュリティに対する包括的で統一されたアプローチを表します。 MSF は、28 のモジュールに分散された 350 以上の機能により、従来の Web 攻撃 (XSS、SQLi、SSRF) から新たな脅威 (LLM への即時注入、サプライ チェーン攻撃、コンテナー エスケープ) まで、アプリケーションが今日直面しているあらゆる脅威をカバーします。
Python と TypeScript の二重実装により、多言語チームが同じセキュリティ機能セットを利用できるようになり、OpenTelemetry、構造化ログ、イベント バスとの統合により、すべてのセキュリティ操作が監視可能および監査可能になります。
アクティブ防御モジュール (デバッグ防止、改ざん防止、自己修復) と適応ハニーポットは、事後的な検出を超える事前保護の層を追加し、エンタープライズ コンプライアンス モジュールは LGPD、GDPR、HIPAA、および PCI-DSS スキャンを自動化します。
このフレームワークはオープンソースで、ポリシー エンジンとイベント バスを介して拡張可能で、脅威の状況に合わせて進化するように設計されています。各関数は自動的にテストされ (243 のテストに合格)、docstring と JSDoc で文書化され、運用操作のためにテレメトリが装備されます。
参考文献
- OWASP トップ 10: https://owasp.org/www-project-top-ten/
- MITRE ATT&CK フレームワーク: https://攻撃.mitre.org/
- NIST サイバーセキュリティ フレームワーク: https://www.nist.gov/cyberframework
- NIST ポスト量子暗号: https://csrc.nist.gov/projects/post-quantum-cryptography
- RFC 6238 - TOTP: https://datatracker.ietf.org/doc/html/rfc6238
- RFC 7519 - JWT: https://datatracker.ietf.org/doc/html/rfc7519
- CIS ベンチマーク: https://www.cisecurity.org/cis-benchmarks
- LGPD (法律 13,709/2018): https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm
- GDPR (EU 規則 2016/679): https://eur-lex.europa.eu/eli/reg/2016/679/oj
- HIPAA: https://www.hhs.gov/hipaa/index.html
- PCI-DSS: https://www.pcisecuritystandards.org/