CodeAssureやPrexisなどのツールは、ダウンロードしたオープンソースプログラムや、開発チームが社内で作成したコードを分析するのに役立つ。どちらのツールも脆弱性に関する詳細なレポートを生成する機能を備えている。これらの脆弱性を利用するための手順説明を作成する機能まで付いている。
両システムは2つのレベルで動作する。第1段階として、ソフトウェアの統計的分析を行い、一般的なコーディングミスがないか調べる。次に、システム内でのデータの流れを追跡したり、API(Application Programming Interface)が正しく使用されているか監視したり、適切なエラー処理機能が備わっているか検証したりするなどして、ベースとなるアルゴリズムの詳細な分析を行う。
これらのツールが備えていない唯一の機能とも言えるのが、アプリケーションをテストする機能だ。両ツールによって顕在化できる深く隠れた問題を、テストによって検出するのには時間がかかりすぎるのだ。
これらのツールは、プログラム対して論理証明という手法を用いる。すなわち、脆弱性が一切存在しないことを証明しようとする(これは不可能である)のではなく、その反対のアプローチによって脆弱性が存在することを証明しようというわけだ。これは特定の脆弱性を見つけることによって証明することができる。
アトランタに本社を置く決済データと関連情報の配信製品分野のリーダーGlobal Paymentsの品質保証ディレクター、マイク・ドワイアー氏はこの数カ月間、各種のコード解析プログラムの評価を行っている。同氏によると、これらのツールは、ミッションクリティカルなアプリケーション内部で使われているオープンソースソフトウェアを分析するのに非常に適した独特の手法を採用しているという。
「この業界を見れば、オープンソースの素晴らしいサクセスストーリーが多数存在することを示す明確な証拠がある」とドワイアー氏は話す。
「だがセキュリティのリスクも存在する。オープンソースの問題は、社内で開発されたプログラムでなければ、何が入っているのか分からないという点にある。オープンソースプログラムに含まれているものにアクセスする方法としては、この種のツールを利用するのがベストだと思う」(同氏)
Ounce LabsおよびSecure Softwareの関係者の報告によると、両社は、現在業界で広範に使用されているオープンソースシステムに重大なセキュリティの欠陥を発見したという。オープンソースソフトウェア開発のMany Eyes理論が功を奏したらしく、これらの脆弱性は開発者に報告され、現在、修正作業が進められている。
しかしオープンソースの美学は、フィックスが適用されるのを待つ必要がないという点にある。自社のインフラの重要部分にオープンソースを採用したいと考える企業は、上述の解析ツールを購入し、それを使って脆弱性を発見し、独自にリスク/便益解析を行えばよいのだ。
これは合理的なアプローチだ。そしてAppleやMicrosoftなどの企業からソフトウェアを購入した場合には基本的に、こういった選択肢は存在しない。
Copyright(C) IDG Japan, Inc. All Rights Reserved.