Take's Software Engineer Blog

TOEIC200点&プロマネな私が社内公募を経て、ソフトエンジニア&英語部門へ異動して奮闘していく話をしていきます

【祝・合格】SecuriST認定Web脆弱性診断士合格体験記:約2ヶ月半の学習記録と合格へのアプローチ

こんにちは。 2026年5月1日、SecuriST認定Webアプリケーション脆弱性診断士(Silver)を受験し、無事合格することができました!🎉

本記事では、2月11日から4月30日までの約2ヶ月半にわたる学習記録を振り返り、「どのような勉強をして資格取得に至ったのか」をまとめます。 これから同資格の受験を考えている方や、Webセキュリティを体系的に学びたい方の参考になれば幸いです。


1. 学習期間と全体のアプローチ

  • 学習期間: 2026年2月11日 〜 4月30日(約2ヶ月半)
  • 学習教材: シラバス、徳丸本(体系的に学ぶ 安全なWebアプリケーションの作り方)
  • 主な学習スタイル: 基礎学習を終えた後、「模擬試験(Mock Exam)」「弱点特化演習(Weak Point Training)」を反復して行うスタイル。

1月に会社で研修いう名の2日間トレーニングを受けており、その後自習を通じて勉強を継続していました。

単にテキストを読むだけでなく、アウトプット中心の学習を心掛けました。特に、間違えた問題や理解があやふやな領域を徹底的に分析し、「なぜ間違えたのか」「正解のロジックは何なのか」を言語化するプロセスを重視しました。


2. 学習の推移と直面した壁(ログ分析から)

過去の学習ログ(Daily_Lessons)を振り返ると、大きく3つのフェーズで学習が進んでいました。

序盤(2月):各脆弱性の基礎固め

まずは、SQLインジェクション、XSS、CSRF、ディレクトリ・トラバーサルなどの個別手法について、基本的な原理と対策を学ぶ時期でした。この頃はまだ「点」としての知識であり、それぞれのつながりや境界線は曖昧でした。

中盤(3月〜4月中旬):模擬試験の開始と「実務レベルの壁」

3月下旬から模擬試験形式での学習をスタートしました。ここで大きな壁にぶつかりました。 「分かっているつもり」と「実務レベルの正確な理解」のギャップです。

特に苦戦したのがWebセキュリティの境界線(スコープ)の定義でした。 - 「SOP(同一生成元ポリシー)にはポート番号が含まれるが、Cookieの送信制御には含まれない」 - 「UIに対する攻撃(XSSやCSRF)は、SOPとCookieの隙間をどう突いているのか」

このような、実務での脆弱性の波及範囲(Severity評価)を決定づける仕様や、脆弱性手法の厳密な名称(タクソノミー)のズレが浮き彫りになりました。

終盤(4月下旬):フル模試での苦戦から合格圏へのリカバリー

本番を想定した30問のフル模試(Full Mock Exam)を開始しました。 開始当初は、知識の干渉(XSSが存在するとCSRF対策が無効化される複合シナリオを意識しすぎて、「CSRF成立にはXSSが必要」と勘違いしてしまう等)が発生し、スコアが50%台に落ち込むなど苦戦しました。

しかし、「弱点特化演習」を繰り返すことで、これらの「理論は分かっているがロジックにギャップがある(🟨)」状態を、一つずつ「完全に習得済み(🟩)」へと昇華させました。 その結果、試験前日(4/30)の最終フル模試ではスコア83%(A判定)を達成し、自信を持って本番に臨むことができました。

試験直前:ウェブセキュリティ基礎試験公式問題集

直前にウェブセキュリティ基礎試験公式問題集をサラッと読みました。 薄くて全体的に網羅できている点が素晴らしいです

試験:

・クライアント証明書の効果は何かと合っているものをすべて選ぶ問題 ・セッションフィクセーションにつながる行為 ・SQLインジェクションの対策——ただしアプリケーションサーバーでの対策に限る ・ペネトレーションテストの目的 ・脆弱性テストの目的 などAIで事前勉強していたが、半分くらい初見問題で悩みました。受かるかどうか手ごたえ亡きまま終わりましたよ 合間な知識だと迷う部分当然出ており、そのあたりはAIでしごかれた結果は出たのかなと思います PHPのコードレベルで何ができるか把握しておいた方がいいですね。javascriptがいけないのか、タグがNGなのか迷う問題もありましたし。

結果的に受かってました。


3. 合格の鍵となった3つのポイント

この2ヶ月半の学習を通して、SecuriST Silver合格(そして実務的なWebセキュリティスキルの獲得)に不可欠だと感じたポイントを3つ紹介します。

① 「根本的対策」と「保険的対策」の明確な峻別

試験でも実務でも最も重要なのが、この2つの分類です。丸暗記ではなく、「なぜその対策が必要なのか」というロジックの理解が求められます。

  • オープンリダイレクト: 外部からの入力値を直接リダイレクト先のURLとして利用せず、「固定のURLに限定する」か「間接参照を用いる」のが根本対策。Refererチェックはあくまで保険的対策。
  • パスワードリスト攻撃: 漏洩済みリストの使い回しであるため「パスワードの複雑さ要件の厳格化」は効果が薄い。多要素認証(MFA)や漏洩パスワードのブロックが根本的に有効。
  • ディレクトリ・トラバーサル: ID管理による根本解決と、パス正規化(保険)の違い。

② ブラウザセキュリティ境界の深い理解

中盤で苦戦した領域ですが、ここを避けて合格はあり得ません。 SOPの原則、CORSの仕様(プリフライトリクエストの条件等)、HTTPレスポンスヘッダ(nosniff, X-Frame-Options, CSP)、そしてCookieのSameSite属性について、正確な仕様を把握し実務レベルで定着させることが必須です。

③ 網羅率マップを活用した「弱点特化演習」

私は coverage_analysis.md というシラバスの網羅率マップを作成し、自分の理解度を可視化していました。 - 🟩: 習得済み(根本/保険の区別が実務レベルで完璧) - 🟨: 調整中(理論は理解しているが、複雑なシナリオで迷いがある) - 🟥: 要緊急対策 - ⬜: 未評価

模試で間違えた問題は必ず🟨としてマークし、徹底的に深掘りして🟩に変えるというサイクルを回しました。この「曖昧さを許容しない」プロセスが、最終的な合格ライン突破に直結したと感じています。


4. まとめとこれから受験する方へ

SecuriST Silverは、単なる知識の暗記テストではなく、「セキュアなWebアプリケーション設計の考え方」が問われる非常に実践的な資格です。 時に仕様の複雑さに心が折れそうになるかもしれませんが、一つ一つの原理を紐解き、「根本対策」の設計思想を理解していくプロセスは、必ず今後のエンジニアリングに活きてきます。

この記事が、これから受験される方の学習のヒントになり、合格への一助となれば幸いです。 応援しています!

5. 今回のAI構成

ワークフロー

div #breadcrumb div{ display: inline;font-size:13px;}