MySQLデータベースのソースコードを分析したところ、ほかの商用ソフトウェアのコードと比べてバグが非常に少ないことがわかったと、分析会社のCoverityが米国時間4日に発表した。MySQLは、多くのウェブサイトの心臓部で使用されている、人気の高いオープンソースプログラム。
この調査はCoverityが独自に開発したツールを用いて行われたもので、この結果97件の欠陥が発見された。そのうち少なくとも1つは深刻なものだった。だが、同社CEOのSeth Hallemは、大半の商用ソフトウェアのコードには、これよりも多くのバグが含まれていると述べている。
「業界の標準値を考えると、MySQLは実に素晴らしい。容易に悪用されそうな脆弱性は多くない」(Hallem)
Coverityが使用しているようなソースコード分析ツールは、ソフトウェア開発企業にとって不可欠なものとなりつつある。例えば、Microsoftも自前でツールを用意し、ソフトウェアを検証してバグの発見やセキュリティホールの除去に努めている。Ounce LabsやReflectiveなどは、ほかの大手企業に自社のツールを販売している。また、Coverityの顧客にはCisco SystemsやOracleといった大手企業も名を連ねている。
スウェーデンのMySQLは、社名と同じ名のデータベースを開発/保守しているが、同社ではCoverityに連絡をとり、ソースコードの監査を依頼したと、同社マーケティング担当バイスプレジデントのZack Urlockerは述べた。
「報告されたバグはすべて修正した。これらの修正箇所は、次回のリリースに含まれる予定だ」(Urlocker)
分析ツールは、すべてのバグを残らず検知できるわけではないが、ある種の問題を効果的に把握することは可能だ。多くの場合、こうした欠陥はハッカーや独立系のセキュリティ研究者によって簡単に見つけられてしまう可能性がある。さらに、多数の企業が非商用ソフトウェアに対する分析ツールの無料使用を許可していることから、オープンソースプロジェクトでも自らの開発したコードを分析しておく必要があり、さもなければそうしたツールを先に使用した人物から攻撃を受ける危険がある。
分析ツールは、単にバグを発見/削除するためだけに利用されるのではない。例えば、2つのコードベースを比較検討し、両者の品質を調べるために同ツールを用いているIT専門家も多い。オープンソースソフトウェアにもそれなりに問題が存在するが、MySQLのバグが100件に満たなかったという事実は、同データベースのコードがきちんと書かれていることを示すものだと、Hallemは述べている。
National Cybersecurity PartnershipのWorking Group on the Software Lifecycleが昨年4月に発表した報告によると、商用ソフトウェアのコードでは、1000行あたり1〜7つのバグが見つかるのがふつうだという。同グループではカーネギーメロン大学のソフトウェアエンジニアリング研究所による開発手法の分析を引用していた。
Coverityが今回行ったMySQLの分析では、4000行あたり1件のバグしか見つからなかったという。また同社が先に行ったLinuxカーネルの分析でも、最近のバージョンでは全体で570万行あるコードのなかに985件しか欠陥が見つからなかったが、これはつまり1万行あたり1件にも満たないという計算になる。
この記事は海外CNET Networks発のニュースをCNET Japanが日本向けに編集したものです。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」