データ漏洩に関連するセキュリティ調査結果の処理
コンテキスト
潜在的なデータ漏洩を発見できるかもしれません Mendix アプリケーション。アプリケーションデータの保護は、プラットフォームとアプリケーション開発チームの共同責任です。 Mendix アプリケーションでは、データへのアクセスは エンティティアクセスルール, モジュールの役割、ユーザーロール、および XPath制約これらが正しく設定されていない場合、ユーザーが意図せず制限されるべきデータにアクセスしてしまう可能性があります。
潜在的なデータ漏洩は、さまざまな方法で特定できます。定期的なセキュリティレビューの一環として、侵入テスト中、自動セキュリティスキャンを通じて、あるいは倫理的なハッカーやセキュリティ研究者からの連絡によって発見される場合もあります。
多くの場合、このような発見は、エンティティアクセス設定の誤り、ロールマッピングの許容度が高すぎること、またはアプリケーション内のデータ制約が不十分であることに関連しています。これらはアプリケーションレベルの設定の問題であり、脆弱性ではありません。 Mendix プラットフォームそのもの。
このドキュメントでは、状況を評価し、問題を修正し、将来同様の問題が発生するリスクを軽減するための推奨手順について説明します。
理解する Mendix データセキュリティ
Mendix アプリケーションは2つの部分で構成されています。 Mendix クライアントエンドユーザーのブラウザまたはモバイルアプリで実行され、 Mendix ランタイムサーバー.
その Mendix クライアントはランタイムサーバーと通信するために Mendix クライアントAPIは、ランタイムサーバーの/xas/リクエストハンドラーにリクエストを送信します。クライアントAPIは、クライアントからのリクエストが安全であるとは信頼できないという前提で構築されています。クライアントはエンドユーザーのデバイス上で実行され、サーバーの制御外にあるため、あらゆるデータやアクションがそこで操作される可能性があります。「クライアント上で発生するものはすべて安全であるとは考えられない」という主張は、クライアント側(例えばブラウザ)で保持されるものすべてに当てはまり、サーバー側だけに当てはまるものではありません。 Mendix 分野の様々なアプリケーションで使用されています。
したがって、中 Mendixセキュリティは常にバックエンドのランタイムサーバーで管理されます。 エンティティアクセスルールとマイクロフローの許可されたロールランタイム サーバーはエンド ユーザーによって操作することはできません。
脆弱性を検証する
潜在的なデータ漏洩が特定された場合、まずは範囲と影響度を特定する必要があります。開発チームは問題を再現し、影響を受けるエンティティとアクセス権を持つユーザーロールを確認する必要があります。特に注意すべき点として、 匿名ユーザーロール また、意図したよりも広範なアクセス権を持つ可能性のあるロールにも適用されます。
漏洩の原因が欠落または誤った設定によるものかどうかを確認することが重要です。 エンティティアクセスルール、 正しくない モジュールロールマッピング、不十分 XPath制約、または予期されるチェックをバイパスするマイクロフローや公開された REST サービスなどのカスタム ロジック。
この問題が悪用された可能性があるかどうかを理解するために、 ウェブサーバーとインフラストラクチャのログ 異常なトラフィックパターンや予期しないデータリクエストがないか確認することは可能です。しかし、標準的なウェブサーバーログでは、特定の/xas呼び出しや取得されたデータの詳細を把握することはできません。 Mendix ランタイムは、詳細なデータアクセス監査証跡を自動的に作成しません。データアクセスの詳細な監査が必要な場合は、そのようなログ記録メカニズムを実装する責任はアプリケーション所有者にあります。
修復
問題を確認した後、これを軽減するために次のアクションをお勧めします。
- 影響を受けるアプリケーション全体で、エンティティアクセス構成を見直す必要があります。すべてのエンティティに、意図したセキュリティモデルに準拠したアクセスルールが明示的に定義されていることを確認してください。モジュールのロールマッピングを慎重に検証し、XPath制約によってデータの可視性が適切に制限されていることを確認してください。匿名ユーザーに付与される権限には特に注意してください。匿名アクセスが厳密に必要でない場合は、無効化するか、厳しく制限する必要があります。
- アップグレードを検討する 。 Mendix バージョン 例えば、 Mendix 10 LTSまたは Mendix 11 MTS は、セキュリティ機能の強化と改善を提供するため、該当する場合はアップグレードしてください。移行中は、セキュリティ設定とアクセスルールを徹底的に確認してください。
- ビジネス要件に合わせてセキュリティベースラインを確立してください。これには、アクセス制御基準の明確な定義、開発中のエンティティ権限の確認、各リリース前のセキュリティ検証が含まれます。安全な開発のためのベストプラクティスは、以下からご覧いただけます。 ベストプラクティス セキュリティ.
- セキュリティをさらに強化するには、厳格モードを有効にすることをおすすめします。詳細はこちらをご覧ください。 厳密モード.
- 次のようなツールの導入を検討してください Ciphix 開発ツール, QSM (品質およびセキュリティ管理)または オムネクスト セキュリティ分析用。
追加サポート
アプリケーションセキュリティ構成について追加の質問がある場合、または問題が Mendix アプリケーション構成ではなくプラットフォーム自体については、 Mendix サポート。
このトピックに関する詳細については、以下を参照してください。