情報処理安全確保支援士試験合格体験記

情報処理安全確保支援士試験結果

令和5年度秋期の情報処理安全確保支援士試験に無事一発で合格できました。午後問題は問2・3を選択しました。

本記事では「最短合格」などを謳うものではなく、地道な学習方法に加え、解答時に心掛けたことをツラツラと書いていきます。

 

学習教材とそれにかけた時間

前提として、令和5年度春期の応用情報技術者試験に合格しています。

  1. 『情報処理教科書 情報処理安全確保支援士』:90時間
  2. 『情報処理安全確保支援士「専門知識+午後問題」の重点対策』:227時間
  3. 情報処理安全確保支援士試験過去問道場:13時間
  4. 『うかる! 情報処理安全確保支援士 午後問題集[第2版]』: 28時間
  5. podcast - #セキュリティのアレ : 正確な時間は計っていません。

総合学習時間は約360時間でした。

⚠️ 学習時間は教材を読んでいた時間だけではなく、調べ物や下記の参考資料を読んでいた時間も含みます。

参考資料

参考にした解説

 

学習方法

学習方法について、特に力を入れたのは、学んだことを自分の言葉に置き換えたり、実際に手を動かして理解を深めることでした。また、ノート作成ツールとしてObsidianを活用し、理解に時間がかかった知識などをメモしていました。

では、教材ごとの勉強方法等について具体的に述べていきます。

1.『情報処理教科書 情報処理安全確保支援士』

この教材では、基礎概念が一番重要だと考え、概念はほとんど暗記しました。特に第1章は試験直前まで何度も確認しました。基礎概念とはCIA(機密性、完全性、可用性)だけではなく、「セキュリティと利便性のバランスを取る」といった考え方や、「最小権限の原則を徹底する」といった原則も含まれます。

これらの概念をしっかりと覚えたおかげで、「この技術や対策は何のために存在するのか」ということが自然と理解できました。

2. 『情報処理安全確保支援士「専門知識+午後問題」の重点対策』

午後問題の学習では、著者の三好氏が提言した方法を使いました。

それは、度解いた過去問は再度解かないことです。一度解いた過去問は再度時間を計って解くのではなく、頭の中で問題と答えを再現し、その後で答案を確認するようにしていました。

午後問はケーススタディだと考え、短いスパンで多くの問題に触れました。以下のように、一度解いた過去問はキーワードや得点率をメモし、その得点率に基づいて見返す際の優先順位を決定しました。

情報処理安全確保支援士午後問解答後のメモ

加えて、参考資料を何度も読みました。参考書だけでは抽象的すぎたり内容が薄いトピックも、参考資料を読むことでより深く理解できたと思います。参考資料は「おまけ」ではなく立派な教材です。本試験は試験対策本だけ読んで余裕で合格できる試験ではないと思います。

3. 情報処理安全確保支援士試験過去問道場

ここで初めて午前問題を解きましたが、最初から9割以上の点数でした。腹落ちするまで理解できているなら、あえて午前問題に取り組む必要はないとは思いますが、私は何か見落としはないかな...と不安だったので全問解きました。

4. 『うかる! 情報処理安全確保支援士 午後問題集[第2版]』

この教材を初めて読んだときに、「だいたい知ってるよ...」という感想を抱きました。しかし、中には「そういう考えもあったのか!」とか、「それはいい意味でちょっとずるくない?」というものもあり、とても有用な教材でした。

著者はX(旧Twitter)にて「合格に手が届く人の背中に"最後の一(ひと)押し"を与えるもの」という旨のポストをしています。もしこの教材を読んでも「よくわからない...」となるのであれば、『情報処理教科書 情報処理安全確保支援士』や『情報処理安全確保支援士「専門知識+午後問題」の重点対策』で基礎を再確認したほうがいいかもしれません。

5. podcast - #セキュリティのアレ

ながら聴きしていたので正確な時間は計っていませんが、1年前の投稿からさかのぼって聴いていました。『情報処理教科書 情報処理安全確保支援士』を読んだ後であれば理解はできる内容だと思います。

世間を騒がせたセキュリティインシデントや犯罪について専門家が解説したり、意見を述べたりしつつ、クスッと笑える話も散りばめられているので、楽しくて勉強になるpodcastです。

試験本番では「あっ、これ『セキュリティのアレ』でやったところだ!」となりました。

 

午後問題解答時の心構え

午後問題において重要なのは、相手の目線に立った提案だと思います。NIST刊行のUsers Are Not Stupid: Six Cyber Security Pitfalls Overturnedにもあるように、正しいだけのセキュリティ施策を押し付けることは逆効果です。

午後問題には必ず何かしらのリソース上の制約があります。例えば「設備投資は考えていない」や、「人手が足りない」などです。

このような制約を無視し、「正しいだけで実践は難しい」施策を解答すると高得点は望めないと思います。

 

おわりに

試験合格発表までの期間が長かったため、一発で合格できてホッとしました...。実際に使うことを想定して勉強したことが高得点(だと思う)につながったと思ってます。セキュリティエンジニアとしての基本が学べる、いい試験でした。これからしばらくの間は実践的な資格に注力していこうと思います。最後まで読んでくださってありがとうございました!

Burp Suite Certified Practitioner(BSCP)合格体験記

Burp Suite Certified Practitioner証明書

Burp Suiteを用いたWebアプリケーション脆弱性の検知と悪用のスキルを証明する"Burp Suite Certified Practitioner(BSCP)"という試験に合格しました。

本資格が2021年7月から始まったこともあり、OSCPと比べると日本語での合格体験記が少ないので、人生で初めてにはなりますが合格体験記を書いていこうと思います。

本記事よりもわかりやすい記事のリンクを貼りますので、そちらから先に読むのがいいかもしれません。

(※本記事は2024/02現在の情報に基づき作成しています)

 

 

Burp Suite Certified Practitionerについて

そもそもBurp Suite Certified Practitionerとは?

本資格を作成したPortSwiggerによると「Webセキュリティ脆弱性に関する深い知識、脆弱性を悪用するための正しい考え方、そしてそれを実行するために必要なBurp Suiteのスキルを証明することができます」とのことです(詳細:PortSwigger: What is a Burp Suite Certified Practitioner?)

試験の概要
  • 試験時間: 4時間
  • 費用: $ 99
  • 有効期間: 5年間
  • 使用ツール:Burp Suite Pro Edition (Free trialでも可)
  • 再受験の制約:なし。2日連続でも受験できます。
  • 受験予約:必要なし。好きな時間に受験できます。
受験資格
  • 受験時点でBurp Suite Pro Edition(有料版)が使用可能なこと
  • Web Security AcademyのDashboardにあるExam preparation stepsを完了していること... 等

Exam preparation stepsの見た目

 

事前スキルレベル

まだまだ不勉強ですので精進します...

  • Webアプリケーション開発経験8ヶ月
  • 2023/06: 応用情報技術者試験合格
  • 2023/12: 情報処理安全確保支援士試験合格

その他

  • TryHackMe: Red Teaming等、基本と攻撃系のLearning Pathsは一通り完了しています。セキュリティ初心者にも優しい学習教材だと思います。
  • Proving Grounds Practice:  Offensive Security社提供の学習コンテンツです。EasyやIntermediateのLABを15個解いていました。
  • TOEIC 800: Web Security Academyの内容は全文英語ですので、ある程度の英語力が求められますが、DeepLなどの翻訳ツールを活用すれば問題ないと思います。

 

BSCP取得までにかかったトータルの時間と費用

総学習時間

450時間

総費用

$198 (受験費用$99 × 2)

Burp Suite Pro Editionは年額$449です。

初回に限り30日間のFree trialが利用可能で、私はFree trial期間に合格しました。

 

学習教材と学習方法

 

学習教材

Web Security Academy

BSCPの試験問題はWeb Security AcademyのPractitionerレベル以下のLABを改変したものがランダムで出題されます。

XSSやSQLi、Web LLM attack等、30ものトピックがあり、実際にエクスプロイトを試すことができる"LAB"が264個もあります。

完全無料ですが、一部、Burp Suite Pro Edition(有料版)の機能を使わないと解けないLABがあります。

『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版』

私はWeb Security Academyのトピックを一通り進めた後、関連する部分を読み返していました。

Web Security Academyもすでに十分わかりやすいですが、本著を読み返すことで知識が「体系的に」整理される気がします。

 

学習方法

流れはざっくり以下のようになります:

    1. Burp Suite Community Edition(無料版)を使い、解決可能なPractitionerレベル以下のLABをすべて解きつつ、Obsidianでノートを作成
    2. Burp Suite Pro EditiionのFree trialを開始し、残りのLABを消化
    3. Mystery lab challenge*1に取り組み、ヌケモレがないようにCheat sheetを作成
    4. Practice exam(模擬試験)を2回分受験する
    5. 試験本番!

LABには"Community solution"という動画での解決策があり、序盤は必ず確認していました。便利なBurp Suiteの使い方を学ぶことができるのでご覧になることをお勧めします。特にRana KhalilIntigritiの動画がお勧めです。

Community EditionではPro Editionで利用可能な、自動で脆弱性を検知・悪用できるScanner等の一部機能が使えません

私は金銭的な理由でCommunitiy Editionを使いましたが、これにより手動で検知・悪用する経験を積めたので、経験が浅い私にはよかったのかもしれないです。

しかし、すでにある程度知識や経験のある方はPro Editionを使用した方が良いと思います(Pro Editionを使用しても十分に難しいと思います)。

 

試験範囲はPractitionerレベル以下ですが、Expert LABも学びが多いのでこれからやっていこうと思います。

以下は私の達成状況です。(2024/02/23時点)

 

私のWeb Security Academy progress
⚠️Free trialの注意点

Burp Suite Pro Editionの30日Free trialはGmailなどの個人用メールアドレスでは利用できません。ビジネス用のメールアドレスが必要です。

私は個人用メールアドレスを使用していましたが、その時点でLABの進捗が83%であることを示して、ダメ元でFree trialを利用させてもらえないかとサポートチームに連絡したところ、なんとかFree trialを開始させてもらいました。再現性は低いです(無理ならドメインをレンタルしようと考えていました)。以下はそのときのPortSwiggerからの返信です。

PortSwiggerサポートチームからのメール返信

 

利用したBurp Suiteの拡張機能

  • JWT Editor
  • Param Miner
  • HTTP Request Smuggler
  • HackVertor
  • InQL - GraphQL Scanner
  • Content Type Convertor
  • Server-Side Prototype Pollution Scanner

 

利用した外部ツール

  • Insecure deserialization
  • SQL Injection: sqlmap
    • 学習時は一切使用していません(使っていいとは思ってなかった)。
  • GraphQL API vulnerabilities: GRAPHQL VOYAGER
    • GraphQLのSchema情報を取得した後、それを視覚化するために使用。
  • SSTI (Server-Side Template Injection): SSTImap

 

受験本番

一度目の受験(2024/02/22)

一度落ちました...。

敗因は2つあり、①自動ツールへの理解不足②リラックス不足です。

 

2つあるうちの1つのアプリは順調にクリアしました。

2つ目のアプリでは、VictimのHTTPリクエストをキャプチャすることでCookieを窃取してアカウントを侵害する必要がありました(⚠️ネタバレではないです)。

少し手間取りながらも、なんとかCookieを窃取できました。

しかし、獲得したFootholdを安定化させず、すぐにPrivilege Escalationのための自動ツールを走らせてしまいました。

その時、Webアプリが落ちてCookieが無効になったので、もう一度リクエストをキャプチャしました。しかし、何度やってもVictimのリクエストをキャプチャできません。

原因が自動ツールであることに気づいたのは試験終了5分前でした。非常に悔しい経験でした。

二度目の受験(2024/02/23)

合格する自信はあったので翌日に再受験しました。

一度失敗を経験すると不思議と落ち着くものです。自動ツールも必要な時に把握できる範囲で走らせるようにしました。

結果、運もあるとは思いますが、試験が4時間のところを1時間55分でクリアできました。

 

反省点

挙げ始めたらキリがないですが大体こんな感じです:

  • Cheat sheet作成を念頭においておらず、終盤でCheat sheetを作成するときにまとめに時間がかかった
    • 各LABのsolutionをメモして参照できるようにしておいた方がいいです。試験は各LABのsolutionをアレンジした問題が出題されます。
  • JavaScriptの理解が足りなかった。XSS等で苦労した。
  • Obfuscation(難読化)の実践が足りなかった。
  • アカウントを侵害したらまずは安定化させるべきだった
    • 何かエラーが起きた時でも、すぐに原状回復できるようにしておくという意味。
    • エクスプロイト方法を詳細にメモしたり、Victimのパスワードを任意の値に変更しておく等

 

おわりに

とても楽しみながらWebセキュリティについて広く深く学習できましたが、まだまだ勉強が足りないことがわかったので、意図的に脆弱なWebアプリケーションを開発するなどして理解をさらに深めていけたらと思っています。

Webセキュリティがもっと好きになったので、これからも精進していきます!

ご一読ありがとうございました。

*1:何も情報がないところからLABを解く」チャレンジのこと