はじめに
2018年6月に、Webアプリケーション開発のセキュリティの必読書である、いわゆる「徳丸本」の第2版が発売になりました。
この徳丸本第2版ですが、発売日前にフライングゲットしたという情報が Twitter で流れ、私も本屋に何件かはしごしたのですが見つけることができませんでした。くやしいので Amazon で予約をしたのですがこれがよくなかった。
発売日当日、勤務先の書店に行ったら徳丸本第2版が平積みされているじゃないですか!Amazonは数日遅れて配送するとか言っているし。じゃあ、キャンセルしようとしたらキャンセルできないよと言われる始末。
Amazon からの到着を待つかと諦めていたら、Twitter 情報で Kindle 版も同時発売ということなので2冊になってしまいますが思い切ってポチってしまいました。
ある意味これが正解で、電車の中で徳丸本第2版を読むのはちょっとつらいです。辞書(社会的フィルター)並みの厚さがあり、iPad Pro 10.5 inch で電子書籍じゃないと、電車の中で読めませんでしたね。iPad Pro 10.5 inch でちょうどよい大きさだったので、iPad 9.7 inch や iPad mini じゃ読むのがきつかったかもしれません。
さて、前置きはこのくらいにして本書の感想を書いていきたいと思います。
おおざっぱな感想
まずはおおざっぱな感想として、「徳丸本第2版すばらしい!Web開発者の必読書だね!ひゃっはー!!」って感じです。
セキュリティってあらためて言うまでもなく難しいと思うのです。その難しい内容を、平易な内容にかみくだいて逃げることなくしっかりと解説しているというところがすばらしい。普通ならはしょってしまったり、説明をにごしてしまうようなところでもちゃんと解説されています。文字コードに踏み込んでいるのは勇気があるなと思いました。尾骶骨テスト、つちよしテストは使わせていただきます。
また、最新の技術動向を踏まえ、クリックジャッキングの脆弱性対策やJSON、Web API などの内容が追加されています。そしてOWASP ZAP というツールを使った脆弱性診断入門まで解説されていました。このあたりの内容は企業秘密にあたっていて今まで公開されていなかった内容だと思います。報告書の作成方法も解説されているし。
これは Web 開発者なら読まないといけないでしょ?と強く思いました。
一方で、辞書並み(667頁)になったことで、初心者にはちょっと厳しいかなぁと思うようになりました。初心者の方が Web アプリケーションセキュリティに入るのに徳丸本第2版だと、勉強会や先輩のフォローが必要かもしれませんね。でも、若者は優秀なので簡単に突破してくるかもしれませんけど。
まあ、どういう形にしろ Web 開発者で徳丸本を読んでいないのはマズイ状況だと思います。
なんとなく希望
すでにそうとうな分量があるので、一ミリもページを増やす余地はなかったのは重々承知の上で、なんとなく希望を述べてみます。
PHPの開発者が多いことと、PHP は開発者が理解しやすい言語であるので PHP がメインになっているのだと思うのですが、テーマによっては .NET(C#,VB.NET), Java などのコードも登場してくれるとうれしかったかもしれません。実装の内容については触れられていてそこは大変参考になりました。
まあ、.NET(C#,VB.NET), Java などの同様の書籍が出版されるとはとても思えないので自分で頑張れということだと思いますし、このサイトのテーマも PHP だけでなく .NET(C#,VB.NET), Java のサンプルを提示することになるのですが、一人じゃまかなえないのですよね。まあ、これから精進したいと思います。
.NET については、SQLインジェクションで Entity Framework に言及があってもよかったかもしれません。まあ、そうすると O/R マッパーの話もしなければいけなくなるかもしれませんが。
あと、WAF (Web Application Firewall)の解説もあるとよかったかなと思いました。紙面の都合もあったし、IPAの「安全なウェブサイトの作り方」に詳しく解説されているので、そちらに委ねたのかもしれませんね。
まだまだ言いたいけど
本当は CORS や同一オリジンポリシーとかサロゲートペアとか内容に踏み込みたかったのですが、すでに十分長文になってしまったのでこの辺で私の感想は終わらせようと思います。
これから Web アプリケーションセキュリティを学ぶ方は、まずは無料で読める IPA の「安全なウェブサイトの作り方」を読んだ上で徳丸本第2版にチャレンジするとよいと思います。
徳丸本はいいぞ!
コメント