オープンソース活用研究所 | Coverity Scan オープンソース品質調査レポートの解説

Coverity Scan オープンソース品質調査レポートの解説

オープンソース活用研究所

2016年02月02日
オープンソース活用研究所 所長 寺田雄一

2015年12月2日に、オープンソース活用研究所主催による「オープンソースの脆弱性とその対策」セミナーが開催されました。本セミナーは「全体的なセキュリティの動向について」「オープンソース品質調査レポートの解説」「オープンソースの脆弱性にどう対処するべきか」の三本立てとなっており、全体像から具体的なアプローチについて紹介しました。

今回は、日本シノプシス合同会社の雨宮吉秀氏による「オープンソース品質調査レポートの解説」についてのレポートをご紹介します。

日本シノプシス合同会社は、ソフトウェア品質解析の事業を行っており、これまでに、150億行にのぼるコードの静的解析をしています。2015年には、昨今、話題となった「Heartbleed」を見つけた、ソフトウェア・セキュリティ企業のCodenomicon社を買収するなどセキュリティ・ソリューションに力を入れています。

静的解析技術、Coverityは誤検出10%未満

シノプシス社が提供するCoverityは、ソースコードを静的に解析し、様々な不具合やセキュリティ脆弱性を見つけることで、リスクを削減するソフトウェアです。

同様の静的解析ツールは様々ありますが、一般的には静的解析は誤検出が多すぎるため無駄が多く、継続した利用には繋がらないと言われています。しかし、Coverityの誤検出率は10%未満と驚くほど低く、市場から高い評価を受けているそうです。

なぜ、誤検出が低いのか?

大きな理由は、実行時でしか確認できないデータフローを分析し、実際に発生するエラーを検出することに注力しているとのこと。

一般的な静的解析ツールは、実際に発生するエラーよりも、プログラムの書き方が悪い箇所を見つるため、プログラムの書き方は良くないが動いている部分も検出してしまいます。このため、誤検出の数が非常に多くなってしまいます。

ソースコード全体で分析、推測

分析では、どこまでコールしても関数を呼び出しソースコード全体で分析を行なうそうです。特徴的なのは、例えば全体の10箇所で同じ関数を使っていて、7箇所ではリターン値チェックがあるのに3箇所には無い場合、この3箇所は間違いの可能性が有ると推測し、提示がされるといったところです。

コピーペーストミスも検出

分析結果はWebブラウザで表示され、とても見やすいです。いくつかの結果例が紹介されました。

ソースコードをコピーペーストし変数名を修正して利用する場合、必要な変数名の修正を忘れてしまうこともあると思いますが、これらも推測し提示をしてくれる機能もあります。ソースレビューでも、なかなか見つけることができないので、とても効果があるとのこと。

Coverity Scan for Open Source

Coverityの静的解析をオープンソースコミュニティ向けに無償で提供しているのが、Coverity Scanです。

これまでに、4000件を超えるプロジェクトと、6億3千万行コードを解析しており、Linux、Apache、PostgreSQLなど、名前の知っているオープンソースはほとんど利用しているそうです。

オープンソースのセキュリティ問題は社会リスク

同時多発テロ後のアメリカにおいて、社会ではオープンソースが広く使われていますが、これらのセキュリティ問題を利用したテロのリスクを回避する目的のもと、米国国土安全保障省と民間共同研究でオープンソースの品質とセキュリティを向上する研究プロジェクトとしてCoverity Scanは始まったそうです。

開始後、24万件以上の不具合を検出し、修正を実現しています。また、年間レポートを、毎年、発表し続けることで啓蒙活動を続けています。

2014年度は、約15万2千件もの不具合を修正していますが、これらは2006年から2013年の不具合の合計を単年で上回っていることが特徴的です。

スピーディな修正プロセスのマネジメントに向けて

LINUXコミュニティでは2006年から利用しているそうです。2013年からは、検出したものに直ぐに担当を割り振るマネジメントを始めたところ、スピーディに全ての修正を実現し、クオリティを上げることができたことの紹介がありました。

Coverity Scanは、多くのオープンソースプロジェクトが、スピーディな修正プロセスのマネジメントを実現し、クオリティをあげていくことに貢献していると言えそうです。

Coverity Scanオープンソースレポート2014(日本語版)
http://www.coverity.com/html_ja/

Coverity Scan

http://scan.coverity.com/


OSSNEWSに広告を掲載しませんか?

著者プロフィール

オープンソース活用研究所 所長 寺田雄一

1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス 「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。

最新TOPICS

【OSS】Fugue、AWS向けセキュリティ(コンプライアンス)チェックツール「Regula」をオープンソース公開---CI/CDツールと連携して動作(2020年01月23日 11:26)

「Regula」とは Regulaは、AWS環境において、展開前に「セキュリティ構成ミス」や「コンプライアンス違反の可能性」について、インフラストラクチャ定義ツール「Terraform」を使用して評価できるツール。 CI/CDパイプラインに統合することで、セキュリティおよびコンプライアンスの慣行に違反する可能性のあ...

関連オープンソース

バックナンバー

関連記事

  • オープソース書籍(サイド)

facebook

twitter