脆弱性と戦う
Matz(Rubyを作ったひと)の日記がきっかけで「PHPダメじゃん」「いやアホはなに使ってもアホ」「セキュリティなんか気にしないでどんどん作ろうぜ」などという議論が盛り上がっている中、私は黙々と担当プロジェクトのセキュリティホールを潰していた。サービス全体に満遍なくSQLインジェクション / スクリプトインサーションの脆弱性が見つかったからだ。私が担当する以前の「負の遺産」が発掘されてしまった格好で、最低限安心できるレベルまで改修するのに丸々1週間も費やしてしまった。
この議論に参加する気はないが、仕事としてやってるプログラマである以上可能な限りの脆弱性対策をしておくのは職業倫理であると思う。セキュリティについては教育を受ける機会も有用な資料もまだまだ少ない状況なので、プログラマ個々が意識を持って技術の習得と情報の収集をする必要がある。
というわけで以下いくつか資料を紹介する。
Amazon.co.jp: PHPサイバーテロの技法―攻撃と防御の実際: GIJOE: 本
…実際にありそうなアプリを書いて実際に攻撃してみる、というフローで具体的な手順を教えてくれる貴重な本。↓で紹介されている脆弱性を独力で潰せないなら必携。
情報処理推進機構:セキュリティセンター:脆弱性関連情報取扱い:安全なウェブサイトの作り方
…2006年公開の資料が3/6に改訂された。ちゃんとお金をかけて作った資料を無料で配布してくれてるんだから活用すべし。
PHP と Web アプリケーションのセキュリティについてのメモ
…「個人的なメモと備忘録」という控えめなサイト名ながら、PHPによる開発についての各種ドキュメントが充実しているサイト。私のレベルではまったく及ばないながらも、コウイウモノニ、ワタシハナリタイ。
件の議論は以下に。
Matzにっき(2008-01-26) – Attacking PHP