セキュアなウェブアプリケーションの開発を手助けする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ツールが追加される予定とのことだ。

開発を資金的に支援

 OWASPではOWASPプロジェクトが確実にウェブアプリケーションのセキュリティの最先端で役立ち続けることができるように、OWASP会員費とOWASP AppSecコンファレンスから得られた資金を利用して、新規/既存OWASPプロジェクトの開発を資金的に支援している。

 Cruz氏はOWASPプロジェクトの「スポンサープログラム」の目的を次のように説明している。「私自身、フリーな情報/ツールやオープンソースを強く支持して信じているが、開発協力者は絶対に無料で働くべきだとは考えていない。結局のところ、やはり時は金なりであり、資金的な報酬なしの場合、誰かがプロジェクトに貢献することのできる時間には、どうしても物理的な限界が存在する。例えば、OWASPに貢献をすることによって日々の収入が100%から0%になってしまうのであれば貢献を諦めざるを得ないが、100%から30%になるというのであれば、少なくとも0%になってしまう時よりはOWASPに貢献することができる可能性がずっと高まるだろう」。

 OWASPは各プロジェクトを直接的に支援する以外にも、セキュリティプロジェクトを企画/運営する開発者を募集し幅広いスポンサープログラムを実施している。2006年にはOWASP Autumn of Code 2006と銘打ったプログラムの下で、9つのプロジェクトを資金的に支援した。今年はプログラムをOWASP SpoC(Spring of Code)2007として115,000ドルを越える予算を当て、27個の新しいアプリケーションセキュリティプロジェクトを支援した。またそれに加えてSpoCの予算からは、OWASPメンバーが選択した、10個の人気が高く役立つオープンソースプロジェクトへの1,000ドルずつの無条件の寄付も行なわれた。さらにCruz氏によると、OWASP SpoCでは新たなスポンサーシップの仕組み――新しくOWASPメンバーになると、支払う会員費を直接的に特定のプロジェクトをスポンサーするように指定することができる――も試みられたという。

 自身もSpoCに参加しているSweeney氏によるとこのスポンサープログラムは、様々な能力を持った人々がOWASP経由で様々なオープンソース・セキュリティツール・プロジェクトに貢献して、その貢献に対する報酬を受け取ることのできる、非常に良い機会だとのことだ。Sweeney氏は次のように述べた。「今年は特にうまく行って、OWASPチームが十分な資金を用意することができたので、参加登録をした全員の参加が実現した。各人/グループが受け取ることのできる報酬の額は複数の基準に基づいて決められたが、われわれから見てOWASPの決定は公平でバランスの良いものだったと思う。OWASP SpoCに参加することで感じた唯一の難点は、手続きにかかる時間やタイミングだ。予定されていた日時を過ぎてから決定されたことも多く、また返事に何週間もかかったり返事がなかったりするメールもたくさんあった。とは言ってもOWASPの多くのメンバーがOWASP以外の日常的な仕事もしているということはもちろん理解している。世界で一番かそうでなくても第一級の、非営利のオープンソース・ウェブアプリケーション・セキュリティグループを運営するということはそう簡単なことではないだろう」。

今後の展望

 OWASPプロジェクトには今や数多くのツールや文書があるので、今後の取り組みで特に重視する必要があるのは、その品質を上げることだとCruz氏は考えている。また、OWASPをさらに使いやすいものにするためには、多くのプロジェクトや資料を整理整頓して、場合によっては一部のプロジェクトの合併統合なども行なう必要があるとも考えている。「理想的なことを言えば、ユーザビリティ、文書、セキュリティを改善しようとするプロジェクトにもっと多くの予算を割り当てたい。もっと言えばOWASPは、全OWASPツールのセキュリティ監査を行なう(あるいは各プロジェクトが行なうことを可能にする)べきだ」。

 それを実現するための一つの方法としてCruz氏は、スポンサープログラムを挙げた。Cruz氏によるとOWASPは次回以降ルールを変更して、直接的に何らかのことの実現を特定のプロジェクトに対して要求するようになるかもしれないとのことだ。また、より多くの人々の手に渡るようにするためと、「著者たちが次期バージョンを書くための動機付けとなるように」するために、もっとも優れた文書を書籍として発行することも検討しているという。なお既に一部の文書はLulu.com経由で書籍として入手することができるようになっている。

まとめ

 OWASPには、ソフトウェア開発のすべての段階で役に立つ、便利で評判の良い文書とセキュリティツールが揃っている。ウェブアプリケーションの開発は初めてという人やコンピュータセキュリティを学ぶ学生にとっては、OWASPの提供する、ウェブアプリケーションのセキュリティについて押えておくべき何から何までを教えてくれる教育的なツールが役に立つ。一方セキュリティ関連のツールやプロジェクトに取り組みたいベテラン開発者にとっては、OWASPには貢献に対する報酬を与えるための資金が用意されている。

Linux.com 原文