SecuriST 認定Webアプリケーション脆弱性診断士試験 合格体験記

グローバルセキュリティエキスパート株式会社（GSX） の SecuriST 認定Webアプリケーション脆弱性診断士試験 に合格したので，合格体験記を書いてみた。

# 公式

https://www.gsx.co.jp/services/securitylearning/securist/webappnwsecuritytesting.html

# 私のスキル（トレーニング受講前）
徳丸本「体系的に学ぶ 安全なWebアプリケーションの作り方」熟読済み。
上野本「Webセキュリティ担当者のための脆弱性診断スタートガイド」熟読済み。
MBSD勉強会（無料）でBurpの使い方を覚えた。
初心者向けCTFは，ほぼ全てに参加し，Web問題に挑戦。
自分でwebサーバーをたてたことがある。（独学）
PHPでログイン画面を作ったことがある。（独学）
XSSでドメイン本物のままのフィッシングサイトのデモを作ったり，クリックジャッキングのデモページをギリギリ作れた。（独学）

主な保有資格は
情報セキュリティスペシャリスト
CISSP


# 公式トレーニングを受講した直後の感想（マイルド）

じゃあ受けなければよかったじゃん。と言われたらそれまでだが，<font color=red>上野宣 氏の著書「脆弱性診断スタートガイド」</font>の中身をほぼ完全に修得していたので，<font color=red>受講効果は非常に薄かった。</font>


ネットワーク脆弱性診断士を受講すればよかった。悔いが残る，選択ミスだ。



# 試験勉強中に思ったこと
シラバスを後でみると、「スパイダーの利点と問題点を理解している」など、ネットに情報がなさげで、「講師さん、講習会テキストの+α的なことを喋ってるな」と思ったことが、試験範囲になっている。

しまった。聞き流してメモしてない。

講習会受けないと、試験に受かりにくくなってるのって，世の常。


# トレーニング受講後の勉強時間
|内容|時間|
|--|--|
|トレーニング環境での復習|ゼロ（時間が取れず）|
|講習会テキスト（PDF）|約５時間（11/30～12/09までの朝夕の電車）|
|シラバスにある用語|約４時間|

※ワールドカップと重なり，勉強時間が少なめ。

# トレーニングと受験日の間隔
トレーニングを受講してから １２日 後に受験。

# 試験の感想
簡単という印象だったが，得点は低かった。

四択で間違えるの不可能というほど，意地悪さがみじんもなく，素直で，ものすごく簡単な問題７割。
回答に困る複数選択問題１割。
全く想定していなかった具体的なXSSの発動など，やや難問２割。

２回見直しした後，30問中，不正解は３問以下，90点以上，100点もあるかも？って自信をもって，試験終了ボタンを押したが，83％でビックリした。
30問中５問も間違えてる。

勉強をがんばった効果は薄い。ほどほど，でよかった。もし，70％以上で合格なら，無講習・無勉強でも合格していたと思う。

複数選択問題を落としたと思うが，「（略）こういう診断をするうえで重要なことを全て答えよ」なんて，考え方や解釈の違いが出る部分で，広くいけば全部チェックが正解だし，狭くしようと思えば狭くできる。

講師の先生が「試験範囲はシラバスのSilver部分」と何度も念押しするので勉強したが，シラバスの用語（下にまとめてます）を勉強しといてよかったと思う問題は１問も出題されなかった。

<font color=blue>ここ重要！</font>
あと，講習会テキストよりもやや上の問題もあった。
たぶん私は得点できていない。
具体的なHTMLソースに対して，XSSを発動させるために挿入する検査文字を選択させる問題。
こういう具体的な診断の問題が数問あった。
IPAの情報処理技術者試験に合格するような幅広い基礎知識が無い人は，こういう所でも得点しないと合格できないかもしれない。
もちろん、仕事で手動診断をしている人にとっては簡単な問題だろうけど。。。

情報処理技術全般のオールラウンダーでも，脆弱性診断に特化した人でも，どちらでも合格できるようにバランスよく設計された問題と思う。

# 試験に受かって思うこと

どんな問題が出題されるのか？レベルはどの程度なのか？といった情報が少ないことが、資格の価値を下げている。
合格率の開示が無いのもね。

あと，３年で必ず資格を喪失するってのもモチベーション下がる。

# シラバス

https://github.com/WebAppPentestGuidelines/WebAppPentestGuidelines/blob/master/Pentester-Web-Skillmap_and_Syllabus/Pentester-Web-Skillmap_and_Syllabus.pdf

# シラバスにあった用語のリンク集

役に立たないと思うけど，せっかく勉強中に作ったので消さずに

ネットワークアドレスとブロードキャストアドレス
https://www.infraexpert.com/study/ip4.html

IPv6
https://www.nic.ad.jp/ja/newsletter/No32/090.html

ブロードキャストアドレス
https://e-words.jp/w/%E3%83%96%E3%83%AD%E3%83%BC%E3%83%89%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9.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

POP IMAP
https://support.microsoft.com/ja-jp/office/imap-%E3%81%A8-pop-%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B-ca2c5799-49f9-4079-aefe-ddca85d5b1c9

ソルト　ストレッチング
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

UTMとは
https://www.ntt.com/business/services/network/internet-connect/ocn-business/bocn/knowledge/archive_07.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

代表的な DBの製品名
https://ja.wikipedia.org/wiki/%E9%96%A2%E4%BF%82%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E6%AF%94%E8%BC%83

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