やっつけ不定記

好きなときに好きなことをちゃっちゃと書いてます

徳丸基礎試験を受けてみた

Webアプリケーションセキュリティのバイブルでもある
体系的に学ぶ 安全なWebアプリケーションの作り方(通称徳丸本)。
https://www.sbcr.jp/product/4797393163/
https://wasbook.org/
自分は初版はもちろん、第2版も発売直後に速攻ゲットしました。
https://chocopurin.hatenablog.com/entry/20180621/1529594805
巡り合わせがよかったのか、いずれも徳丸さんのサイン入りで大切な宝物です。

この徳丸本を題材にした資格試験があり、それを受験してきました。
https://www.phpexam.jp/tokumarubasic/
以前から興味はあったものの、なかなか踏ん切りがつかなかったのですが、
内部で読書会を始めたことをきっかけに、チャレンジを決意しました。

徳丸本はあくまでもセキュリティの解説書。問題の傾向や対策は3問のサンプル問題
https://www.slideshare.net/ockeghem/tokumaru-basic
https://www.youtube.com/watch?v=LMJSU9OlpRo
やインタビュー記事
https://www.tribeck.jp/column/opinion/technology/20180717/
https://www.tribeck.jp/column/opinion/technology/20180730/
それっぽいキーワードで検索したら出てくる合格体験記を頼るしかありません。

自分もやったことは、基本的に書いてある内容、特に各脆弱性への対策のページつきでの書き出し。
わかりにくいところは図を書いたり、実習環境をZAPやBurpSuite経由で眺めてみるというのを
ひたすらこなしました。

加えて自分の場合は、読書会で書いてあることを他人と議論する機会に恵まれ、
これが追加対策としてかなりの効果を発揮しました(「説明しづらい=理解が曖昧」と判断できた)。
少し前に「アウトプットしないのは知的な便秘」という名言
https://ssmjp.connpass.com/
を知りましたが、まさにこれ。

それでも問題演習が絶対的に不足。どうしたものかと悩んだ結果、気休めかもしれませんが、
IPA試験のWeb系セキュアプログラミングの問題を適当にピックアップして解いたりしていました。

受験はOdysseyのテストセンター経由で実施。
https://cbt.odyssey-com.co.jp/tokumaru.html
もちろんおうち近所の会場を押さえて、少しでも時間に余裕を作ります。
このときやったのが、会場近くのカフェの場所の確認。
現地入り1時間前にそこに入って、コーヒー飲みながら最終チェックしたうえで
乗り込むという作戦でいきました。

試験内容そのものは明かせませんが、少なくとも書籍の3章と4章の内容を暗記ではなく
正確に理解していないとダメ。
理解が曖昧だと太刀打ちできないよう、うまく作られている印象でした。
各問題には「後で確認」のチェック欄があり、それを入れたものは試験終了前に見直しができます。
自分は40問すべてにチェック。25分くらいで一旦全問回答して、2周目の段階でもう大丈夫という
問題に対してチェック解除、3周目は残ったチェックをじっくり攻める。
それでもわからないものがありましたが、終了3分前に切り上げ。
後は回答した全問題を最終確認というやり方で行きました。
事前に時間は余るものの、微妙な引っ掛け表現が見受けられるという情報を得ていたので、
自信があるもしくはサービス問題でも最低1回は見直しした方がいいという判断からです。

終わってみるとこんな感じ。結果の速報レポートがA4サイズの紙で手渡されるのですが、
油断するとしわくちゃになります。自分も見事にやらかしました(苦笑)
A4サイズの紙が入るクリアファイル持参必須。

f:id:chocopurin:20210806181845j:plain

「Webサイトの安全性を高めるために」のところは自信あった分野なのですが、この正解率。
問題を深読みしすぎたのか、理解そのものを間違っていたのか。
逆にセキュリティバグのところは思ったより取れていたり・・・ようわからん。
これは書籍読み直しのうえで、要原因分析です。

徳丸本のゴールは書籍の内容を実務で活かすことですが、自分の理解度を知るという意味で、
この試験は非常に役立つのではないかと思いました。

<戦利品>
後藤さんは振り向かせたい
女神のカフェテラス(2)
アオのハコ(1)
きれいな黒髪の高階さん(無職)と付き合うことになった(1)