グローバルセキュリティエキスパート株式会社(GSX) の SecuriST 認定Webアプリケーション脆弱性診断士試験 に合格したので,合格体験記を書いてみた。
公式
私のスキル(トレーニング受講前)
徳丸本「体系的に学ぶ 安全なWebアプリケーションの作り方」熟読済み。
上野本「Webセキュリティ担当者のための脆弱性診断スタートガイド」熟読済み。
MBSD勉強会(無料)でBurpの使い方を覚えた。
初心者向けCTFは,ほぼ全てに参加し,Web問題に挑戦。
自分でwebサーバーをたてたことがある。(独学)
PHPでログイン画面を作ったことがある。(独学)
XSSでドメイン本物のままのフィッシングサイトのデモを作ったり,クリックジャッキングのデモページをギリギリ作れた。(独学)
主な保有資格は
情報セキュリティスペシャリスト
CISSP
公式トレーニングを受講した直後の感想(マイルド)
じゃあ受けなければよかったじゃん。と言われたらそれまでだが,上野宣 氏の著書「脆弱性診断スタートガイド」の中身をほぼ完全に修得していたので,受講効果は非常に薄かった。
ネットワーク脆弱性診断士を受講すればよかった。悔いが残る,選択ミスだ。
試験勉強中に思ったこと
シラバスを後でみると、「スパイダーの利点と問題点を理解している」など、ネットに情報がなさげで、「講師さん、講習会テキストの+α的なことを喋ってるな」と思ったことが、試験範囲になっている。
しまった。聞き流してメモしてない。
講習会受けないと、試験に受かりにくくなってるのって,世の常。
トレーニング受講後の勉強時間
内容 | 時間 |
---|---|
トレーニング環境での復習 | ゼロ(時間が取れず) |
講習会テキスト(PDF) | 約5時間(11/30~12/09までの朝夕の電車) |
シラバスにある用語 | 約4時間 |
※ワールドカップと重なり,勉強時間が少なめ。
トレーニングと受験日の間隔
トレーニングを受講してから 12日 後に受験。
試験の感想
簡単という印象だったが,得点は低かった。
四択で間違えるの不可能というほど,意地悪さがみじんもなく,素直で,ものすごく簡単な問題7割。
回答に困る複数選択問題1割。
全く想定していなかった具体的なXSSの発動など,やや難問2割。
2回見直しした後,30問中,不正解は3問以下,90点以上,100点もあるかも?って自信をもって,試験終了ボタンを押したが,83%でビックリした。
30問中5問も間違えてる。
勉強をがんばった効果は薄い。ほどほど,でよかった。もし,70%以上で合格なら,無講習・無勉強でも合格していたと思う。
複数選択問題を落としたと思うが,「(略)こういう診断をするうえで重要なことを全て答えよ」なんて,考え方や解釈の違いが出る部分で,広くいけば全部チェックが正解だし,狭くしようと思えば狭くできる。
講師の先生が「試験範囲はシラバスのSilver部分」と何度も念押しするので勉強したが,シラバスの用語(下にまとめてます)を勉強しといてよかったと思う問題は1問も出題されなかった。
ここ重要!
あと,講習会テキストよりもやや上の問題もあった。
たぶん私は得点できていない。
具体的なHTMLソースに対して,XSSを発動させるために挿入する検査文字を選択させる問題。
こういう具体的な診断の問題が数問あった。
IPAの情報処理技術者試験に合格するような幅広い基礎知識が無い人は,こういう所でも得点しないと合格できないかもしれない。
もちろん、仕事で手動診断をしている人にとっては簡単な問題だろうけど。。。
情報処理技術全般のオールラウンダーでも,脆弱性診断に特化した人でも,どちらでも合格できるようにバランスよく設計された問題と思う。
試験に受かって思うこと
どんな問題が出題されるのか?レベルはどの程度なのか?といった情報が少ないことが、資格の価値を下げている。
合格率の開示が無いのもね。
あと,3年で必ず資格を喪失するってのもモチベーション下がる。
シラバス
シラバスにあった用語のリンク集
役に立たないと思うけど,せっかく勉強中に作ったので消さずに
ネットワークアドレスとブロードキャストアドレス
https://www.infraexpert.com/study/ip4.html
IPv6
https://www.nic.ad.jp/ja/newsletter/No32/090.html
サブネットマスク
https://note.cman.jp/network/subnetmask.cgi
プライベートIPアドレス
https://livra.geolocation.co.jp/iplearning/214/
NATとNAPTは何が違う?
https://xtech.nikkei.com/it/atcl/column/17/011900625/011900005/
IPマスカレード(アドバンスドNAT/NAPT)
https://www.aterm.jp/product/atermstation/product/function/14.html
3ウェイハンドシェイク
https://www.infraexpert.com/study/tcpip9.html
hostsファイルの設定方法(Windows)
https://help.coreserver.jp/manual/hosts-win/
「/etc/hosts」ファイル
https://linuc.org/study/knowledge/506/
nslookupコマンドでSPFレコードを調べる方法
https://kaworu.jpn.org/kaworu/2009-11-07-1.php
nslookup オプション
https://www.cman.jp/network/support/nslookup.html
トップレベルドメイン
https://jprs.jp/glossary/index.php?ID=0058
gTLD
https://www.nic.ad.jp/ja/basics/terms/gtld.html
ccTLD
https://www.nic.ad.jp/ja/basics/terms/ccTLD.html
sTLD
https://www.nic.ad.jp/ja/basics/terms/stld.html
DNSSEC
https://www.nttpc.co.jp/technology/dns_security.html
レジストリとレジストラ
https://www.onamae.com/clever/about/regist.html
文字コード
https://uxmilk.jp/45155
文字コード
https://www.codingpack.jp/blog/character_code/
MUA(Mail User Agent)
MTA(Mail Transfer Agent)
MDA(Mail Delivery Agent)
https://baremail.jp/blog/2021/11/30/1746/
MAIL FROM RCPT TO
https://www.tohoho-web.com/ex/draft/smtp.htm
ソルト ストレッチング
https://www.techmatrix.co.jp/product/appscan/column/check12.html
3DES
https://www.sophia-it.com/content/%E3%83%88%E3%83%AA%E3%83%97%E3%83%ABDES
AES
https://xtech.nikkei.com/atcl/nxt/keyword/18/00002/030800119/
Camellia
https://e-words.jp/w/Camellia.html
RC4
https://e-words.jp/w/RC4.html
DSA 電子署名専用の公開鍵暗号
https://www.jipdec.or.jp/project/research/why-e-signature/public-key-cryptography.html
MD5 32 SHA-1 40文字 SHA-256 64文字
https://www.tohoho-web.com/ex/crypt.html#md5
CRYPTREC
https://www.cryptrec.go.jp/about.html
電子政府推奨暗号リスト
https://www.cryptrec.go.jp/list/cryptrec-ls-0001-2002r1.pdf
Bcrypt
https://ja.wikipedia.org/wiki/Bcrypt
自己署名証明書の作成 電子証明書発行までの手順 CSR
https://qiita.com/sanyamarseille/items/46fc6ff5a0aca12e1946
SSL証明書エラー/警告の原因・理由と対処方法
https://milestone-of-se.nesuke.com/troubleshoot/ssl-cert-error/
SNI と SANs , CN(Common Name) の違い
証明書のサブジェクトの代替名
https://milestone-of-se.nesuke.com/sv-advanced/digicert/wildcard-sans-sni/
オレオレ証明書でもセキュリティ警告画面が出ないようにする方法
https://qiita.com/nnishimura/items/c748f24b65bb77f61c7b
Chrome58になると自己署名の証明書がエラーになるので、OpenSSLに詳しくなった話
https://www.cresco.co.jp/blog/entry/2704/
Firefoxへ証明書ファイルをインポートするには
https://jp.globalsign.com/support/ssl/config/cert-import-firefox.html
認証局 CRL
https://e-signing.jp/blog/certificate-authority/
サーキットレベルゲートウェイ型のファイアウォール
https://jp.ext.hp.com/techdevice/cybersecuritysc/36/
ステートフルインスペクション
https://it-trend.jp/firewall/article/60-0009
IDSとIPSの違い IDS/IPSの仕組み
https://www.nttpc.co.jp/column/security/ids-ips.html
次世代ファイアウォール(NGFW)とは
https://www.cloudflare.com/ja-jp/learning/cloud/ngfw-vs-fwaas/
Basic認証とDigest認証
https://qiita.com/hyuy/items/3a7ee467cd7ce2748e48
nonce
https://e-words.jp/w/nonce.html
チャレンジレスポンス
https://www.f5.com/ja_jp/services/resources/glossary/challenge-response-authentication
NTLM認証
http://www.st.rim.or.jp/~shio/csm/ntlm/
クライアント証明書
https://milestone-of-se.nesuke.com/sv-advanced/digicert/client-cert/
デジタル証明書(SSL証明書)の仕組み
https://milestone-of-se.nesuke.com/sv-advanced/digicert/digital-certification-summary/
デジタル証明書を失効させる
https://milestone-of-se.nesuke.com/sv-advanced/digicert/certificate-revocation/
OAuthとは OpenIDとの違い
https://www.tdk.com/ja/tech-mag/knowledge/147
SAMLとは
https://www.hitachi-solutions.co.jp/iam/sp/saml.html
知識認証 所有物認証
https://www.jstage.jst.go.jp/article/ieiej/30/10/30_827/_pdf
FIDO
https://www.dds.co.jp/ja/topics/9736/
CAPTCHA
https://www.cloudflare.com/ja-jp/learning/bots/how-captchas-work/
CSRF対策トークン
https://html-coding.co.jp/knowhow/security/csrf/
「機密性」(Confidentiality)、「完全性」(Integrity)、「可用性」(Availability)
https://www.fujitsu.com/jp/solutions/business-technology/security/secure/column/201703-1/
URL Rewriting
http://www.chuu-information.com/security/gyou_ya_1.html
URLエンコード
https://e-words.jp/w/URL%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89.html
フラグメント識別子
https://makitani.net/shimauma/url-fragment
GET、POST、HEAD
https://tooljp.com/windows/chigai/html/Internet/GET-POST-PUT-DELETE-HEAD-OPTION-TRACE-CONNECT-chigai.html
100、200、206、302、304、401、403、404、405、500
https://www.seohacks.net/blog/1147/
Keep-Alive
https://qiita.com/toshihirock/items/8d9d1cce4c04284be4c4
Range
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Range
Authorization
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Authorization
Content-Typeの一覧
https://qiita.com/AkihiroTakamura/items/b93fbe511465f52bffaa
Content-Length
https://www.tohoho-web.com/ex/http.htm#Content-Length
Cache-Control
https://www.tohoho-web.com/ex/http.htm#Cache-Control
Content-Disposition
https://www.wakuwakubank.com/posts/799-it-content-type-content-disposition/
domain、path、secure、httponly、expires
https://www.javadrive.jp/javascript/webpage/index18.html
X-Forwarded-For
https://www.infraexpert.com/study/loadbalancer11.html
SNAT
https://e-words.jp/w/SNAT.html
デリファラ
https://ja.wikipedia.org/wiki/HTTP%E3%83%AA%E3%83%95%E3%82%A1%E3%83%A9
Location:
https://atmarkit.itmedia.co.jp/ait/articles/1406/20/news007_2.html
meta refresh
https://service.plan-b.co.jp/blog/seo/4512/
レンダリング
https://zenn.dev/oreo2990/articles/280d39a45c203e
自動フィルイン
https://blog.cybozu.io/entry/7452
ブラウザ F12
https://qiita.com/AumyF/items/5402c5b43391f5cbd1b2
XMLHttpRequest
https://gihyo.jp/dev/serial/01/crossbrowser-javascript/0012
Same-Origin Policy
https://www.tohoho-web.com/ex/same-origin-policy.html
X-XSS-Protection XSS Auditor Trusted Types xssfilter
https://spring-mt.hatenablog.com/entry/2020/08/14/224141
実体参照 数値文字参照
https://www.homepage-tukurikata.com/html/entity.html
HTML の基本
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/HTML_basics
JavaScript の基本
https://developer.mozilla.org/ja/docs/Learn/Getting_started_with_the_web/JavaScript_basics
SQLの基本
https://qiita.com/chida09/items/d4b33a28b918958f267f
プレースホルダ
https://www.ipa.go.jp/security/vuln/websecurity-HTML-1_1.html
CGI
https://www.tohoho-web.com/wwwcgi1.htm
WebサーバがCGIプログラムに渡す環境変数の一覧
https://itpfdoc.hitachi.co.jp/manuals/3020/30203M1540/EM150121.HTM
Webサーバシェア
https://news.mynavi.jp/techplus/article/20220506-2338760/
LiteSpeed
https://en.wikipedia.org/wiki/LiteSpeed_Web_Server
NoSQL
https://ja.wikipedia.org/wiki/NoSQL
DBMSのシェア
https://www.publickey1.jp/blog/22/dbmsdbaas1aws22021.html
xml
https://xtech.nikkei.com/it/article/COLUMN/20060929/249415/
json
https://www.tohoho-web.com/ex/json.html
CVSS
https://www.ipa.go.jp/security/vuln/CVSS.html
リスク評価基準
https://www.arm.or.jp/resource/rm_lesson/lesson_5.html
個人情報保護法
https://www.gov-online.go.jp/useful/article/201703/1.html
脆弱性関連情報の届出
https://www.ipa.go.jp/security/vuln/report/
ウェブ健康診断
https://www.ipa.go.jp/files/000017319.pdf
OWASP TOP 10
https://owasp.org/Top10/ja/
安全なウェブサイトの作り方
https://www.ipa.go.jp/files/000017316.pdf
ネットワークセキュリティ関連用語集(アルファベット順)
https://www.ipa.go.jp/security/ciadr/crword.html
@police 用語集
https://www.npa.go.jp/cyberpolice/words/index.html
CYDER 用語集
https://cyder.nict.go.jp/glossary/01/index.html
JPRS 用語辞典
https://jprs.jp/glossary/index.php