ページの本文へ

Hitachi

株式会社 日立ソリューションズ

日立ソリューションズ『静的解析ツール Coverity』のシステム、サービス概要・価格や、解決できる課題についてご紹介します。

静的解析ツール Coverity

シノプシス社のCoverityは、ソースコードに潜在する重大な不具合やセキュリティ脆弱性を、高精度で検出するソースコード静的解析プラットフォームです。
誤検出率が15%と非常に低く、大量の誤検出で開発者の時間を無駄にすることがありません。また不具合やリスクを的確な検出するとともに、コード修正方法に関する具体的なガイダンスも提供し、開発者のスキル向上にも寄与します。これにより品質リスクやセキュリティリスクを開発の後半フェーズに持ち越すことを予防します。

このようなお悩みはありませんか?

ソフトウェア開発へ静的解析ツールの導入を試みたものの、このような問題により断念されたことはないでしょうか

  • 課題
  • 解決
  • ツールの出力する指摘が多く、また本当に対応すべき指摘はそのうちのごく一部に過ぎない。大量の指摘を取捨選択する負担が大きすぎる。

    • 誤った指摘・不要な指摘にわずらわされることがない

    指摘の誤検出率が15%と非常に低く、大量の誤検出で開発者の時間を無駄にすることがありません。

  • ツールの指摘に対して具体的にどのような修正を加えればよいか解らない。

    • 修正ガイダンスにより開発者のスキル向上を支援

    不具合やリスクを指摘するだけでなく、問題についての詳しい説明や、どのように修正すべきかの具体的なガイダンスまで提示します。

  • 従来の静的解析ツールは開発プロセスへの組込みが難しかった。

    • 開発プロセスへの組込みが容易

    主要なIDEやCI/CDツール、バグトラッカーなどとのインターフェースを備え、容易に開発プロセスに組み込むことができます。

概要

Coverityは、ソースコードに潜む重大な不具合やセキュリティ脆弱性をコーディング中に高精度で検出する、正確で包括的な静的解析およびSAST(静的アプリケーション・セキュリティ・テスト)のプラットフォームです。

Linux、Python、PostgreSQL、Firefox、OpenSSL、Perl、Apache Hadoopなど4,000を超えるオープンソース・プロジェクトにおいて、シノプシスの無償版Coverity Scanを利用いただいており、多くのオープンソース・コミュニティから大きな信頼を寄せられています。

数々の特許技術、10年間にわたる研究開発成果、そして100億行以上のコード解析で得たノウハウを組込んでいます。

特長

誤った指摘・不要な指摘にわずらわされることがない

誤検出率が15%と非常に低く、大量の「ムダな指摘」で開発者の時間を浪費することがありません。

またコード修正に伴い再解析を実施する場合は、コードベース全体ではなく、コードのうち変更の影響を受ける部分のみを解析するため、ツールの処理時間や指摘確認の時間を大幅に短縮できます。

修正ガイダンスにより開発者のスキル向上を支援

開発者の品質とセキュリティに対する理解を深め、コーディングスキルを向上させることにより、不良や脆弱性の発見をテスト工程以降に持ちこすことを予防し、後工程でのリスクやコストの増大を抑止します。

Coverityは、コードの不具合やリスクの指摘をするだけでなく、問題についての詳しい説明や、特に修正に専門知識が必要となるセキュリティリスクについては、どのように修正すべきかの具体的なガイダンスまで提示します。経験の浅い開発者でも、問題に対する深い理解に基づいてコードの修正を行うことができます。

IDEとの連携によって、コーディング時にリアルタイムに指摘やガイダンスを出すこともできます。また同社のセキュリティeラーニングサービスとの連携機能を活用すれば、コーディングの実務を通じてセキュア開発に関する知見・経験の習得を図ることも可能です。これにより、間接的に有識者やレビューアの負担軽減も期待できます。

修正ガイダンスにより開発者のコーディングスキル向上を支援

開発プロセスへの組込みが容易

統合開発環境(IDE)に限らず、ソフトウェア構成管理(SCM)、継続的インテグレーション(CI)、バグ・トラッキング、アプリケーション・ライフサイクル・マネジメント(ALM)ソリューションなど、様々な開発ツールと短時間で統合できます。

連携ツールの例

IDE

  • IBM Rational Team Concert
  • QNX Momentics
  • Wind River Workbench
  • Visual Studio® (.NET, C#, C/C++, JavaScript)
  • Eclipse ™ (Java, JavaScript,C/C++)
  • IntelliJ® 2019.1 (Java, JavaScript)
  • WebStorm 2018.1-2019.1 (JavaScript)
  • PyCharm 2018.1-2019.1 (Python)
  • RubyMine ™ 2018.1-2019.1 (Ruby)

ソフトウェア構成管理

  • AccuRev
  • Apache Subversion (SVN)
  • CVS
  • Git
  • Mercurial (Hg)
  • Perforce Helix
  • Team Foundation Server SCM

CI ビルドサーバー

  • Jenkins
  • Azure DevOps Server

バグ・トラッキング

  • Jira
  • Bugzilla

このため現状の開発環境や開発プロセスを大きく変更することなく、スムーズにソースコード静的解析の仕組みを導入し、レビュー・受入れ検査・QA検査など、開発の様々な局面で活用いただくことができます。

機能

対応言語、フレームワーク

Coverityは組込み/ITを問わず、様々なソフトウェア開発で使用されれる主要な言語に幅広く対応しています。

  • C/C++
  • C#
  • Java
  • JavaScript
  • PHP
  • Python
  • .NET Core
  • ASP.NET
  • Objective-C
  • Go
  • JSP
  • Ruby
  • Swift
  • Fortran
  • Scala
  • VB.NET
  • TypeScript

またこれら言語による開発で標準的に使用される70種類以上のフレームワーク(例:JSP, Spring, Struts, ASP.NET, Ajax, jQuery, Angular, Node.js/Tedious.js, Symphony, Ruby on Rails, Flask, Django など)に対応しています。

対応規格、検出できる問題

Coverityは、MISRA, CERT C/C++, ISO26262, PCI DSS, OWASP Top10, CWE SANS Top25, AUTOSAR, ISO/IEC TS 17961など、広範なグローバル標準規格に基づくコーディングルールをカバーしています。

これに基づいて、以下に示すようなソースコードの品質やセキュリティに関する潜在的問題を検出します。

  • API使用エラー
  • ビルド・システムの問題
  • バッファ・オーバーフロー
  • クラス階層の不一致
  • コードのメンテナンス性の問題
  • 同時データアクセス違反
  • 制御フローの問題
  • クロスサイト・スクリプティング(XSS)
  • クロスサイト・リクエスト・フォージェリ(CSRF)
  • デッドロック
  • エラー処理の問題
  • ハードコードされた証明書
  • 不正な式
  • 整数の取り扱いの問題
  • 整数オーバーフロー
  • セキュアでないデータ処理
  • メモリー:破損
  • メモリー:不正アクセス
  • NULLポインタの参照先取得エラー
  • パス操作
  • 非効率なパフォーマンス
  • プログラムのハング
  • 競合状態
  • リソースリーク
  • コーディングルール違反
  • セキュリティ・ベストプラクティスの違反
  • セキュリティ設定ミス
  • SQLインジェクション
  • メンバーの未初期化

価格(税抜き)

参考価格:個別見積り

最終更新日:2020年2月27日