|
静的コード分析ではすべての問題を発見できるわけではなく、コードの構築プロセス内に脆弱性が存在する場合もあります。 ソフトウェア開発プロセスは複数のレイヤーで構成されています。最も基本的なレベルは、プログラマーが記述したコードであり、これはビルドシステムによってコンパイルされ、デプロイのためにアセンブルされます。コード解析ベンダーのCoverityは現在、解析機能を拡張し、静的解析の域を超え、ビルドシステムが見逃す脆弱性を発見することを目指しています。 新しい分析モデルは、アプリケーションのソフトウェア欠陥の削減に役立ちます。Coverityの新しいシステムは、当初は自社の商用顧客向けに提供されますが、オープンソースソフトウェアのスキャンにも統合され、既にオープンソースソフトウェアから8,500件のソフトウェア欠陥を削減しています。 CoverityのCTOであるベン・シェルフ氏は、ビルドシステムは本質的には記述されたコードを組み立てるコード組立ラインであると述べています。ビルドシステムを分析することで、従来のコード分析とは異なる洞察を得ることができます。 さらに、ビルド分析ソフトウェアは、実際の構成ファイル自体を分析するのではなく、ソフトウェアのビルド プロセスを監視すると説明しました。 Coverityは、すべてのビルドシステムがオペレーティングシステムへの監視呼び出しを行い、その呼び出しを実行できるようにすることで、すべての情報を監視します。そのため、Coverityはビルド情報を取得するための80種類以上のシステムコールを備えており、単一のラッパースクリプトで監視できます。これにより、信頼性の高いグラフを作成できます。 オープンソーススキャン Coverityは2006年からオープンソースコードのソフトウェア欠陥をスキャンしています。当初、Coverity Scanは米国国土安全保障省の支援を受けていましたが、現在はCoverity自身が運営・資金を提供しています。Coverity Scanは、数百ものオープンソースプロジェクトに焦点を当て、ソフトウェアの欠陥の発見と修正に役立てています。 チェルフ氏は、オープンソーススキャンにビルドアナライザーをできるだけ早く追加する計画を明らかにしたが、具体的な実装時期については明らかにしなかった。「この計画は常にオープンソーススキャンのロードマップに含まれており、実装はタイミングの問題です」とチェルフ氏は述べた。チェルフ氏は、Coverityのビルド分析システムがコード分析市場に定着すると考えている。 さらに、Coverityの競合企業であるKlocworkも、同様のビルド分析システムを構築できるようになったと主張しています。「現在、当社のビルド分析技術の大部分は、お客様のビルドシステム向けの自動検索サービスの提供に利用されており、効率的かつ正確なコード分析を可能にしています」と、Klocworkのマーケティングディレクターであるブレンダン・ハリソン氏は述べています。「これは、詳細なコード分析に不可欠な機能です。さらに、多くのお客様が当社の分析機能を活用し、構造化されたコードクリーンアップを通じてビルドプロセスを最適化しています。」 オープンソース攻撃の防止 Coverity ビルド システムを使用すると、開発者は自分が作成したコードが誤って攻撃を受けないようにすることもできます。 チェルフ氏は、Palamidaとのソフトウェア連携において、プログラマーがビルドプロセス全体を検査し、オープンソースコード内の悪用可能な脆弱性を特定できると説明した。Palamidaはオープンソースのデータベースとアプリケーションを常に最新の状態に維持し、古くて潜在的に脅威となるオープンソースコードが使用されているかどうかを検出している。 Coverityの新しいコード分析は、新しいCoverity統合センターによって実行されます。この統合センターは、コード分析のスニペットを連携させ、開発者に新たな洞察を提供するように設計されています。Coverityの保護されたコード分析(静的コード分析と新規アーキテクチャ分析に使用)のパートナーとして、統合センターは今年初めにリリースされたアーキテクチャ分析も可能にします。 「分析ソフトウェアには、アーキテクチャの観点、構築の観点、そしてコードの観点から、様々なシステムがあります」とチェルフ氏は述べた。「私たちは、好みに応じて最適なアプローチを選択できます。こうした様々な視点は、ソフトウェアの脆弱性を様々な方法で発見するのに役立ちます。」 [編集者のおすすめ]
|