セキュリティ・キャンプ全国大会2025 専門コースB【プロダクトセキュリティクラス】応募課題 必答問題(Q.1 から Q.3 まで)の問題すべてと、選択問題(Q.4 から Q.6 まで)の中の少なくとも 1 問に解答してください。 ---------------------- 【補足事項】 ---------------------- (1) この応募課題の設問は、どれも応募してくださるあなたの「現状の知識・経験の広さ・深さ」「興味・感心の範囲や強さ」を汲み取るためのものです。ぜひ自分の興味関心や知識、考えたこと、疑問等を各設問への解答として表現していただければと思います。 (2) 各設問で求めている内容が適切に盛り込まれている限り、解答の文字数の大小や日本語表現の巧拙は評価に大きな影響を与えません。また、日本語表現に関する軽微な誤りは評価に全く影響しません。とりわけ誤字脱字はあまり気にしなくて大丈夫です。 (3) 誇張を感じられる解答よりも、 ご自分の応募時点での経験や理解が真摯に表現できている解答を歓迎します。とりわけ、分からないことや確信の持てないことがあるときには「ここまでは分かったが、ここからは分からない」「これらの事例から ?でないかと推測できるが、?であると断言できるかは不明である」というような記述を含めていただけると嬉しいです。 (4) 選択問題においては「適切な論拠をもとにした、各設問に対して必要十分な情報を、適切な論理構造で表現できているか」を意識してください。 (5) 選択問題はきっかり 1 問のみ解答していただいても大丈夫です。2 問以上ご解答いただけると、選考においては、より応募してくださるあなたの魅力を汲み取りやすくなるかもしれません。なお、選びにくい問題・難易度が高そうな問題に挑戦している応募者の評価も高めになる傾向がありました。 (6) 解答に関して何かしらの実験を行う際には、法令等を必ず遵守してください。 (7) 最近著しい進化を遂げる LLM サービスを利用して解答を作成しても構いません。限られた期間で最大限によいと思える解答を作ること、それを通して自分の見識を広げるのに、それらの技術が貢献してくれるかもしれません。 -------------------- 【必答問題】 ---------------------- ■ Q.1(応募のモチベーションについて) 「プロダクトセキュリティクラス」の講義のうち、特に受講したいと思う講義(複数可)に関して、その講義で「どのようなことを・なぜ学びたいか」を教えてください。とりわけ「なぜ学びたいか」の部分に関連して、いま応募を考えているあなたが感じておられる課題意識や、あなたの関心領域が伝わってくるような解答を歓迎します。 ■ Q.2(これまでの経験について) 以下の経験について、差し支えのない範囲でできるだけ具体的に教えてください: (1) Web アプリケーションの設計・開発経験(※ どんな些細なものでも構いません) (2) パブリッククラウド技術の利用・構築経験(※ どんな些細なものでも構いません) (3) 一般のプログラミングの経験やチームでの開発経験(※ 使ったことのある言語や、その用途などを教えてください。レイヤは問いません) (4) コンテナ技術の利用経験 (5) CI/CD 環境のセットアップ・利用経験 なお、この問は「この応募課題を提出する時点での経験」を問うものです。この応募課題を見た時点での経験はなくても構いませんし、この応募課題の記入にあわせての学習を歓迎します。 ■ Q.3(あなたの感心・興味について) Web に関連するサービス・プロダクトを作って提供することに関連する技術で、いまあなたが興味を持っているものがあれば、それについて自由に説明してください。少しでも Web との関連性がある技術であれば、それがハードウェア領域に近いものでも、ソフトウェア領域に近いものでも構いません。 ---------------------- 【選択問題】 ---------------------- ■ Q.4(Web に関連する脆弱性・攻撃技術の検証) 「Top 10 web hacking techniques of 2024」( https://portswigger.net/research/top-10-web-hacking-techniques-of-2024 ) は、Web に関するセキュリティリサーチャーの投票により作成された、2024 年に報告された興味深い Web に関する攻撃テクニック 10 選です。この Top 10 中の事例の中で、興味を持てたもの 1 つに関して、以下を説明してください。 (1) 事例の概要 (2) 攻撃手法の詳細 (3) その他その事例に関して感じたこと・気がついたこと なお、本設問では、関連する仕様や攻撃の適用可能な条件についての詳細な理解が垣間見えるような記述や、理解を深めるために行ったこと(例: ローカルで行った再現実験等)に関する記述を歓迎します。 ■ Q.5(パスキーに関連する標準や実装の調査) (1) 任意のパスキーが使用されているサービスを実際に利用して使用感を調査したうえで、技術的・運用的・UXの観点から、あなたが課題だと思う点を述べてください。また、その解決策についても考えてください。なお、実際に利用できる環境にない場合はドキュメントの調査のみとして、使用感が分かる範囲で想像できる課題を考察してください。 (2) 認可と認証の違いについて、例を挙げて説明したうえで、OAuth 2.0 や OpenID Connect(OIDC)とパスキーの仕様(WebAuthn)の関係について説明してください。 (3) 従来の認証方式(パスワード、OTP、SMS認証など)と比較した場合、パスキーのメリットとデメリットを述べてください。 (4) 従来の認証方式(パスワード、OTP、SMS認証など)で提供されたWebアプリケーションにパスキーを実装するとき、サーバー側でどのような変更が必要ですか? (5) あなたが企業のエンジニアだった場合、経営陣にパスキーの導入を提案するとしたら、どのようなポイントを説明しますか? ■ Q.6(APIに関するセキュリティへの考慮) (1) あなたが考える「APIに対する最大のセキュリティ脅威」を1つ挙げ、それに対する攻撃者の視点での調査プロセス(情報収集・攻撃手法の検討など)を考察し、それを防ぐための具体的な対策を述べてください。(ヒント:攻撃者の調査方法には、OSINT、リクエスト改ざん、脆弱性スキャン、レスポンス分析などが含まれます) (2) マイクロサービスアーキテクチャでは、サービス間通信を安全に行うためのセキュリティ対策が必要です。マイクロサービス間のAPI通信におけるセキュリティ課題を1つ挙げ、それを解決するための手法を説明してください。 (3) APIゲートウェイは、マイクロサービスのエントリーポイントとして機能します。APIゲートウェイを導入することで防げるセキュリティリスクを1つ挙げ、それをどのように設定・運用すべきか説明してください。 (4) あなたのプロダクトのAPIが不正アクセスを受けている可能性があると判断された場合、どのようなログを確認し、どのような対応プロセスを取るべきか説明してください。