年末こそはギリギリを卒業しようと読書に勤しんだのですが、結局このタイミングになりました。

今回は、徳丸本で有名なセキュリティ本を読んだのですが、自分がどれ程セキュリティの事を知らないかを教えて貰う内容でした。

普段、見えない部分でフレームワークに助けられている事が多い事を理解させられたと同時に、ここまできっちりと作りあげているサービスはどれ程あるのだろうかと考えさせられました。

内容

Web アプリケーションを作成する時に気を付けるべき脆弱性について一つずつ丁寧に書かれています。

Fiddler というプロキシツールを使用して、ローカルサーバとの通信を覗きみつつ実際にクラックされるさまを確認出来ます。
サンプルでは簡単なスクリプト (PHP) で実行している為、無駄に複雑な説明にならず非常に理解し易い内容です。

読んだ感想で言えば、脆弱性が入り込む余地には常に文字のエスケープがついてまわるという事でした。

フォームで入力された値や出力する値を出力するのは勿論の事、URL やファイル名等のチェックに対しても脆弱性が入り込みやすいのは注意したい所でした。正規表現でチェックしている場合、自分の意識外で脆弱性を入れる可能性がありそうです。

また、エンコーディングによる脆弱性も非常に気が抜けず、もはや何をするにも脆弱性が潜んでいるという事になる事が分かります。

フレームワークを使用する以上、自動である程度の脆弱性の回避はしているものの、どの程度の対策がフレームワークによってなされているのかを調べる必要がおおいにあります。

最近 TL (僕の Twitter 上) でクッキーの属性についての話が盛り上がりを見せていて、意外と上手くコントロールできているサイトが少ない事も衝撃でしたので、今迄以上に気を付けたいです。

まとめ

Web アプリケーションを勉強、作成する人にとっては必読書となる内容かと思います。
特に PHP を使用している場合非常に多くの罠が存在するので、
勉強や再設計の腰が重くなる前の初期段階で対策を覚えるべきです。

今年はエンジニアにとって、セキュリティ年となった気がします。
こういった情報にもっと敏感になって、自分と周囲のセキュリティへの意識の啓蒙に貢献できると良いかと思います。