セキュアなウェブアプリケーションの開発を手助けするOWASP

 セキュアなアプリケーションを開発するということはいつになっても難しい課題だ。かつては重要な役割を果たすソフトウェアは内部的なネットワーク上のユーザだけを想定して開発していれば良かったが、今日ではアプリケーションがウェブサーバ上で実行され世界中のあらゆる場所にいるユーザを想定して開発しなければならないこともある。そのようにウェブアプリケーションの扱う範囲や重大さが年々増してきているのにともなって、ウェブアプリケーションをセキュアにするための作業も年々複雑になってきている。そこでOWASP(Open Web Application Security Project)が登場した。OWASPは、ウェブアプリケーション開発者の助けとなるよう、アプリケーションのセキュリティを高めるためのツールやフレームワークやガイドラインを提供している。

 OWASPはセキュリティ専門家のMark Curphey氏によって2000年に創設された。OWASPプロジェクトは非営利組織のOWASP Foundationによって支援されていて、5人の無給の理事会メンバーと約130人のプロジェクト/支部リーダーを抱えている。OWASPの理事会メンバー(Dinis Cruz氏、Jeff Williams氏、Dave Wichers氏、Tom Brennan氏、Sebastien Deleersnyder氏)は、OWASPの予算配分や、プロジェクト/支部の管理や、OWASPコンファレンスの運営などを行なっている。OWASPプロジェクトはコンファレンスや会員費からの収入で運営されていて、OWASPウェブサイト上のツールや文書はすべて無料で提供されている。

 OWASP理事会メンバーのCruz氏によると「OWASPは、ウェブアプリケーション用セキュリティ関連プロジェクトの実現を手助けするもの」とのことだ。OWASPでは、ソフトウェア開発プロセスの全段階において開発者を手助けするための手引きとなる資料やツールが提供されているが、Cruz氏によるとOWASPは特にウェブアプリケーションのセキュリティを高めるのに役立つものになろうとしているのだという。「OWASPの文書やツールを使えば、これからやろうとしていることにはセキュリティ上どのような意味があるのかということをより深く理解することができるので、誰もがリスクについての適切な判断を行なうことができるようになる」。

評判の良いツールと文書

 OWASPにはセキュリティ専門家からなる正式な委員会といったものはないが、Cruz氏によると理事会メンバーにはセキュリティのプロが揃っているうえ、OWASPの開発協力者のほとんどは各分野の専門家なのだという。セキュリティ専門家でSecurityDistro.comの編集長を務めるJosh Sweeney氏は次のように述べている。「OWASPプロジェクトの人たちは、セキュリティの多くの分野に活発に関わっている人たちだ。複数のセキュリティベンダとも連絡を取り合っていて、できるだけ多くの見識ある人々にOWASPに参加してもらおうとしている」。

 現に米公正取引委員会は、コンピュータシステムについてのリスクを削減するためにOWASPトップ10プロジェクトを利用することを企業に対して推奨している。この「トップ10プロジェクト」は、ウェブアプリケーションが抱えるセキュリティ弱点のトップ10を解説した啓発文書だ。

 OWASPの文書は、広く使用されているオープンソースのウェブ開発プラットフォームであるLAMP(Linux、Apache、MySQL、PHP)はもちろんのこと、Java Platform, Enterprise Edition(Java EE)、Microsoft .Net Framework、ColdFusion、Apache Struts、Microsoft IIS(Internet Information Services)、Apache Tomcat、IBM WebSphereなど、どのウェブ用プラットフォームの場合にも当てはまることが書かれている。Cruz氏によると上記の「トップ10」文書の他には、アプリケーションのセキュリティテスト手順とチェックリストを中心として扱ったOWASPテスト用ガイドも開発者の間では人気が高いとのことだ。

 IITAC(International Institute for Training, Assessment, and Certification)のCEOで、DVL(Damn Vulnerable Linux)プロジェクト翻訳記事)の開発者でもあるThorsten Schneider博士は、OWASPの幅広いツールと文書に感銘を受けたとして「OWASPプロジェクトはコミュニティを非常にうまく支援している。またOWASPのツールはセキュリティとリスクについての問題を理解するのに役立っている」と述べている。Schneider博士は研究の一環として、OWASPのCLASP(Comprehensive, Lightweight Application Security Process)プロジェクトをベースとして、アプリケーションのセキュリティを強化する新たな開発モデルのS2e(Secure Software Engineering)を開発している。

 OWASPには開発の様々な段階のための20以上のツールがある。「リリース品質」に達しているアプリケーションの中でももっとも人気の高いものとしては、アプリケーションのセキュリティについて実践的に学ぶことのできるオンライントレーニング環境のWebGoatプロジェクトと、ウェブアプリケーションやWebサービスに対して様々なタイプのセキュリティテストを行なうためのツールであるWebScarabプロジェクトがある。

 WebGoatを大学の講義の一部として使用しているSchneider博士によると「WebGoatは学生にとって素晴らしいツールであり、実際に出回っているあらゆる巧妙なウェブのセキュリティ問題について学ぶことができる」とのことだ。WebGoatはDVLの最新リリース(E605)にも統合されている。なおSchneider博士によるとDVLの今後のリリースではCAL9000、WebScarab、JBroFuzzerなどさらに多くのOWASPツールが追加される予定とのことだ。