「体系的に学ぶ 安全なWebアプリケーションの作り方」

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践」という書籍が3/1に発売されました。

脆弱性が生まれる原理からその解消方法まで、丁寧に説明されています。タイトル通り、体系的に Web アプリケーションセキュリティについて学ぶには最適の書籍だと思います。これまでに出版された書籍や Web サイトは、攻撃方法とその対策という形で書かれることが多かったように思いますが、この書籍では脆弱性がなぜ生まれるのかに重点を置いて説明されています。脆弱性が生まれる原理を理解することは、小手先の対策ではない根本的な対応が可能になることにつながります。また、この書籍では、Web サイト全体をセキュアに運用するために必要な知識や Web アプリケーションをセキュアにするための開発マネジメントにまで言及されています。
是非、Web アプリケーションの開発や運用に携わる方は読んでいただきたい書籍です。
この書籍には、レビュアーの一人として、参加させていただいたのですが、著者の徳丸さん(id:ockeghem)をはじめ、他のレビュアーの方から多くのことを学ばせていただきました。どうもありがとうございました。



最後に、書籍を読み直している際にサンプルコードで気になった点がありましたので、書いておきたいと思います。
この書籍では、サンプルコードとして、PHP を主に使用しています。サンプルコードの一部に NULL バイトを使用した攻撃がありますが、PHP 5.3.4 以降では攻撃に成功しないと思います。サンプルコードを PHP 5.3.4 以降で動作させる方は注意してください(現在の PHP の最新版は PHP 5.3.5)。詳細は後述します。書籍に付属している VMWare に入っている PHP のバージョンでは攻撃が成功します。
ただ、NULL バイトを使用しなくても成立する攻撃方法が存在する場合があります(例えば、書籍の P.287 の攻撃方法)ので、根本的な対策は必要です。