設問
Universal Containers のアーキテクトは、Salesforce組織内にセキュリティの脆弱性が存在しないように努めています。アーキテクトはどの 2つのテストを検証する必要がありますか?2つの答えを選択してください。
選択肢
A. Apex クエリでクロスサイト スクリプティングをテストします。
B. カスタムページでクロスサイト スクリプティングをテストします。
C. SOQL インジェクションをテストします。
D. 無効なユーザー アクセス試行をテストします。
解答
B. カスタムページでクロスサイト スクリプティングをテストします。
C. SOQL インジェクションをテストします。
解説
A. Apex クエリでクロスサイト スクリプティングをテストします。
不正解です。Apexクエリはサーバーサイドで実行されるデータベース操作のためのものです。一方、クロスサイトスクリプティング (XSS) は主にクライアントサイドのセキュリティ脆弱性であり、JavaScriptやHTMLでユーザー入力を処理する際に発生します。そのため、Apexクエリを用いてXSSをテストすることは不適切です。適切なテスト対象は、ユーザー入力を処理するカスタムページやコンポーネントです。
B. カスタムページでクロスサイト スクリプティングをテストします。
正解です。XSSは、攻撃者が悪意のあるスクリプトをユーザー入力に埋め込み、アプリケーションがそれを検証せずに表示する場合に発生します。特にVisualforceページやLightningコンポーネントでは、ユーザー入力を直接的にレンダリングすると、この脆弱性を引き起こす可能性があります。これを確実に行うため、カスタムページでのXSSテストは非常に重要です。
C. SOQL インジェクションをテストします。
正解です。SOQLインジェクションは、攻撃者が入力フィールドやクエリパラメータに不正なコードを挿入し、それをデータベースクエリとして実行させる攻撃です。動的SOQLクエリを使用する場合、ユーザー入力がサニタイズされていないと、意図しないクエリ実行を引き起こし、データ漏洩や破損のリスクがあります。動的SOQLを使用するシステムでは、このテストが欠かせません。
D. 無効なユーザー アクセス試行をテストします。
不正解です。無効なユーザーアクセス試行は、たとえば無効なパスワード入力やIP制限を回避しようとする試みなど、セキュリティ監視に関連する内容です。しかし、これらは「脆弱性テスト」ではなく、通常はログ分析や監査によって検出されるものです。設問が求める具体的な脆弱性(XSSやインジェクションなど)に直接関係しないため、この選択肢は適切ではありません。
第32問
こちらをクリック