SecuriST 認定セキュアWebアプリケーション設計士の合格体験記

グローバルセキュリティエキスパート株式会社（GSX）主催のSecuriST 認定セキュアWebアプリケーション設計士のトレーニングと認定試験に合格したので、体験記を書こうかと思う。
記事投稿時点（2023/02）で、当認定試験に関する情報（合格体験記等）は少ないので当認定試験を目指している方の少しでも参考になればと思います。

:warning:**有償トレーニングであり、試験内容については試験規定で外部公開が制限されていたと思うで、記事内容がふわっとしたざっくりしたものになっている点はご了承ください。**
**雰囲気は伝わるレベル感で書いたつもりです。**

# SecuriST 認定セキュアWebアプリケーション設計士とは？
詳しくは公式サイトを見ていただくのが良いと思うが、私の理解では***セキュアなWebアプリケーションを構築する上で必要となる要件の洗い出しと設計するポイントを学べるトレーニング***です。
そして、***その理解度を測定する認定試験がある***といった認識です。

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

https://cbt-s.com/examinee/examination/securistwad.html

# 認定試験受験までの道のり
大別すると以下３つの選択肢があると思う。
1. 公式の有償トレーニングを受講して、認定試験を受験する
1. セキュリティ関連書籍を読み、認定試験を受験する
1. いきなり認定試験を受験する

私は、1.の公式の有償トレーニングを受講して認定試験を受験しました。
トレーニング受講にあたっては、所属会社より費用補助がありました。
有償トレーニングは、132,000円と高額のため個人費用で受講するのは難しいかなと思う:sweat_smile:
個人受験の場合は、2.の市販されているセキュリティ関連書籍を読み知識を習得して受験する形になるかと思う。
試験料もベンダ提供試験ということもあり、IPAの情報処理試験よりも割高で29,700円する。
できれば、１発合格したい試験だと思います。
有償トレーニングを受けた場合は、バウチャーとして1回分の試験料が付いてきます。
なので、私はこのバウチャーを使用して認定試験を受験して無事に1発合格しました。

具体的には、以下の日程なります（途中間が空いたので、覚えている範囲のざっくりスケジュールです:bow_tone1:）。
2022/09 有償トレーニング受講
2022/09~2022/11 一旦寝かせる
    　　　　　　　　※認定セキュアWebアプリケーション設計士については、（記憶によると）
　　　　　　　　　2022年10月末より認定試験が開始されたため様子見していました。
2022/12~2023/01 有償トレーニングテキストを3周熟読
2023/01 満を持して認定試験を受験

# 有償トレーニングの内容
トレーニング講師は、株式会社トライコーダ 代表取締役社長 [上野宣さん](https://tricorder.jp/company/member/)です。
セキュリティの第一人者から直接講義を受けられる機会は貴重だと思います。
何を隠そう私は楽しみで興奮して前日は眠れませんでした（笑）

当講座の特徴的な点は、脆弱性や攻撃手法を学んで対策するのではなく、安全なソフトウェア設計を知ることでセキュリティ向上を目的としている点です。
正しいセキュリティ要件について学び、使いこなし、セキュリティ要件に従った設計手法を身につけて実装に反映することを目的としています。
セキュリティ要件としては、OWASPが出している『[Webシステム／Webアプリケーションセキュリティ要件書](https://github.com/OWASP/www-chapter-japan/tree/master/secreq)』に準拠しています。
この要件書の存在をしていても読み込んでいる人は多くないと思います。
私は、読んでみようと思ってなかなか踏み切れない人でした。なので、この機会にセキュリティ要件のエッセンスを押さえられたのは良かったなと思います。

個人的に収穫となった内容は以下です。
- パスワードの入力フォームや内容の考え方
- Cookieの設定
- 入力処理
- 出力処理

セキュリティ界隈の第一人者の考え等を直接聞けるのがこのトレーニングの魅力ですね！
費用面に支障がない方はぜひ受講することをおすすめします。

# 認定試験
これまたセキュリティ界の重鎮の上野宣氏、辻伸弘氏、徳丸浩氏が関わっている試験なので、現場でもすぐ使えるセキュリティの最重要点が押さえられた問題が出ている印象（上から目線ですみません:bow_tone1:）。
30問中21問（70%の正答率）で合格できます。これは結構ハードルが高いと思います。
しかし、しっかり設計手法を整理して理解すれば越えられない壁ではないと思います。

CBT方式でテストセンター会場に行って受験する形です。
試験結果は、試験終了後すぐに採点されて合否の速報が出ます。
そのため、終了した際のドキドキ感は半端ないです（笑）

試験は、有償トレーニングテキストの内容が万遍なく出ている印象です。
つまるところ、テキストを隅から隅まで読み込めば解ける問題が出ています。
何となく用語を覚えても解けません。
例えば、問題の題材になっている脆弱性や攻撃手法がどんなもので、ソフトウェアに対してどんな設計をすれば防げるのかを整理して理解する必要があります。
私はテキストを3周して熟読しましたが、迷う問題が何問かありました。

以下の内容は特に重要な点だと思いますので、精読をおすすめします。
- セキュリティ要件
- ログイン機能の設計
- パスワード入力フォームの設計
- パスワードの保管方法の設計
- パスワードリセット機能の設計
- ユーザ管理の設計
- セッション管理手法
- Cookieの設定
- CSRF対策
- 入力チェック設計
- 出力処理設計
- HTMLを生成する際の処理設計
- SQLを組立てる処理設計
- HTTPS

有償トレーニングテキストをお持ちの方なら気づかれたかと思いますが、テキストに記載されている内容のほぼ全てが重要です。

## 試験途中で起きた事件簿
1. 問題文が文字化けして「?」となっている
1. 問題文の一部が抜けている

この2つが実際に発生しました。CBT方式でパソコン画面に問題文が表示されるので、パソコンの機種によって文字化けや表示（表現）できない文字が抜けていたりするのだと推測（試験後の今だから思うこと）。
テストセンターの方は、この試験の専門ではないので質問しても良い解決策は得られないだろうと思い、文字化けしたり抜けている問題文を推測して解答しました。
「?」の表示が正しいや「抜けはないですよ」と言われたら、それまでだと思いますし。
テキストを3周するとかなりの精度で、どんな内容を問いているのか分かります。
現に合格できているので、推測は大筋間違っていなかったと確信しています:grin:。

# 有償トレーニングの受講なしで受験を考えている方へ
以下の書籍で勉強することをおすすめします。
- 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践

https://www.sbcr.jp/product/4797393163/

定番の「徳丸本」です！徳丸氏が試験問題作成に関わっているということですので、この書籍の内容で知識を整理していれば試験対策になると思います。
IPAの情報処理安全確保支援士を取得している方であれば、用語面の知識は申し分ないと思いますので実践的な設計手法を当書籍で補強するのが良いかと思います。

# 参考資料
https://atmarkit.itmedia.co.jp/ait/articles/2103/24/news001.html

https://scan.netsecurity.ne.jp/article/2021/01/13/45041.html

# 最後に
記事投稿に際して行ったアンケート調査にご協力いただけた方、ありがとうございました。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">どんな内容が興味ありますか？</p>&mdash; LittleBear🐻 (@littlebear_6w6) <a href="https://twitter.com/littlebear_6w6/status/1619703738603819010?ref_src=twsrc%5Etfw">January 29, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>