クイズの説明
Step 1で学んだ内容の理解度をチェックします。
- 全8問
- 合格ライン: 80%(7問正解)
- 不合格の場合は復習してから再挑戦してください
問題
Q1. セキュリティバイデザインの説明として最も正しいものはどれですか?
- A) セキュリティ専門チームがリリース前にテストを行うこと
- B) 設計段階からセキュリティを組み込む考え方
- C) 最新のセキュリティツールを導入すること
- D) 脆弱性が発見されたら即座にパッチを当てること
答えを見る
正解: B
セキュリティバイデザインとは、機能を完成させた後にセキュリティ対策を追加するのではなく、設計段階からセキュリティを前提に設計する考え方です。「シフトレフト」とも呼ばれ、開発ライフサイクルの早い段階でセキュリティを考慮します。
Q2. OWASP Top 10(2021年版)で1位にランクされている脆弱性はどれですか?
- A) インジェクション
- B) 暗号化の失敗
- C) アクセス制御の不備
- D) セキュリティ設定ミス
答えを見る
正解: C
2021年版のOWASP Top 10では「A01: アクセス制御の不備(Broken Access Control)」が1位です。認可チェックの欠如や不備により、ユーザーが許可されていないリソースにアクセスできてしまう脆弱性です。以前1位だったインジェクションは3位に下がりました。
Q3. サイバーキルチェーンの最初のステップはどれですか?
- A) エクスプロイト(脆弱性の悪用)
- B) 偵察(Reconnaissance)
- C) 武器化(Weaponization)
- D) 配送(Delivery)
答えを見る
正解: B
サイバーキルチェーンは「偵察 → 武器化 → 配送 → エクスプロイト → インストール → 遠隔操作 → 目的の実行」の7段階です。攻撃は常に偵察(ポートスキャン、公開情報収集など)から始まります。
Q4. 最小権限の原則の正しい説明はどれですか?
- A) 管理者権限は最小限の人数に限定する
- B) ユーザーやプロセスに必要最小限の権限のみを付与する
- C) 権限の変更を最小限の回数に抑える
- D) セキュリティ設定の変更回数を最小化する
答えを見る
正解: B
最小権限の原則(Principle of Least Privilege)は、ユーザーやプログラムに対して、その作業に必要な最小限の権限のみを付与する原則です。不要な権限を与えないことで、権限の悪用や誤操作による被害を最小化します。
Q5. フェイルセキュアの正しい実装はどれですか?
- A) エラー発生時に詳細なエラーメッセージをユーザーに表示する
- B) エラー発生時にアクセスを許可してユーザー体験を維持する
- C) エラー発生時にアクセスを拒否して安全な状態にする
- D) エラー発生時にシステムを再起動する
答えを見る
正解: C
フェイルセキュア(Fail Secure)とは、エラーが発生した場合に安全な状態にフォールバックすることです。認可チェックでエラーが発生した場合、アクセスを許可するのではなく拒否するのが正しい対応です。
Q6. 多層防御(Defense in Depth)の説明として正しいものはどれですか?
- A) 最も強固な1つの防御策に全てを集中する
- B) 複数の防御層を設けて、1つが突破されても次の層が守る
- C) 防御策を定期的にローテーションする
- D) 外部からの攻撃を多層のファイアウォールだけで防ぐ
答えを見る
正解: B
多層防御(Defense in Depth)は、単一の防御に頼らず、複数の層(WAF、レートリミット、認証、認可、入力バリデーション、DB制約など)でセキュリティを確保する考え方です。1つの層が突破されても、次の層が攻撃を阻止します。
Q7. GDPRの「忘れられる権利」に対応するために必要な設計はどれですか?
- A) ユーザーデータを定期的にバックアップする機能
- B) ユーザーの要求に応じてデータを削除・匿名化する機能
- C) ユーザーデータを暗号化して保存する機能
- D) ユーザーのログイン履歴を90日間保存する機能
答えを見る
正解: B
GDPRの「忘れられる権利(Right to Erasure)」は、データ主体がその個人データの削除を要求できる権利です。システムは、ユーザーの要求に応じて関連データを削除または匿名化する機能を実装する必要があります。
Q8. SQLインジェクションを防止するための最も効果的な方法はどれですか?
- A) ユーザー入力の長さを制限する
- B) パラメータ化クエリまたはORMを使用する
- C) HTTPSで通信を暗号化する
- D) WAF(Web Application Firewall)を導入する
答えを見る
正解: B
SQLインジェクションの最も効果的な防止方法は、パラメータ化クエリ(プリペアドステートメント)またはORMを使用することです。ユーザー入力がSQL文に直接埋め込まれることを防ぎます。WAFも補助的な対策になりますが、根本的な解決はクエリの構造化です。
結果
7問以上正解の場合
合格です。おめでとうございます。
Step 1「セキュリティ設計の心構え」を完了しました。 次は Step 2「脅威モデリング」に進みましょう。
6問以下の場合
もう少し復習しましょう。
間違えた問題の内容を、該当するセクションで復習してください:
| 問題 | 復習セクション |
|---|---|
| Q1 | step1_1 セキュリティバイデザイン |
| Q2 | step1_2 OWASP Top 10 |
| Q3 | step1_3 攻撃者の視点 |
| Q4, Q5, Q6 | step1_4 セキュリティの基本原則 |
| Q7 | step1_5 コンプライアンスと規制 |
| Q8 | step1_2 インジェクション対策 |
次のステップへ
Step 2: 脅威モデリング(4時間)
セキュリティの基礎知識を身につけたところで、次はSTRIDEとDREADを使った体系的な脅威分析を学びます。
推定所要時間: 15分