高精度静的解析ツールCodeSonar

世界トップレベルの解析能力でバグや脆弱性が含まれる危険な箇所を指摘

高精度静的解析ツール CodeSonar

CodeSonarの詳細について知りたい方や静的解析に課題をお持ちの方は、お気軽にご相談ください。
無償評価版もご用意しておりますので、実際に試してみたい方はぜひご覧ください。

CodeSonar(コードソナー)は、SAST(Static Application Security Testing)向けの静的解析ツールです。

C/C++/Java/C#で書かれたソースコードを、コンパイル時に静的に深く解析し、バグ発生や脆弱性が含まれる危険な箇所を指摘し、ソフトウェアの品質、信頼性を向上させることが可能です。

また、CodeSonarは、精度が高く深い解析機能を持ち、他の静的解析ツールでは検出困難な危険な箇所を指摘します。
さらに、優れたレビュー機能を持ち効率よく解析結果の精査時等を行う事が可能です。

CodeSonarロゴマーク

静的解析実施時の課題

静的解析実施時の課題
  • スペック上では検出するとされているバグや脆弱性が含まれる危険な箇所の指摘が見逃されてしまう。
  • 稀にしか起こらない(再現性の低い)データレース、割り込み干渉など、起きても原因を探るのが難しい厄介な不具合の検出に苦労している。
  • 自動化、品質向上、開発工数の削減、運用の標準化等に有用なCI(継続的インテグレーション)が使用する静的解析ツールに適用できない。
  • 高い安全性、信頼性、セキュリティが求められる分野のソフトウェア開発をしながら、必要な安全規格認証取得・コーディング規約遵守を実施するのが大変。
  • 検出された指摘が、本当に修正すべきものかどうか精査する工数が膨大になっている。

CodeSonarはこのようなお客さまの課題を解決します!

CodeSonarが選ばれる理由

1

深い解析でバグ、脆弱性の危険な箇所の見逃しを低減

静的解析ツールはバグや脆弱性が含まれる危険な箇所を指摘しますが、その原理からしてカタログなどのスペック上では検出するとされている指摘を見逃す可能性があります。特に信頼性を必要とするソフトではバグ、脆弱性の見逃しは大きなディスアドバンテージとなります。
CodeSonarは、その優れた解析エンジンで、より深い解析が可能です。CodeSonar以外のツールでは見逃してしまうような指摘を検出することができます。

2

データレース、割り込み干渉の検出

再現性が悪く、再現しても原因を追究するのが難しい「データレース」「割り込み干渉」は厄介な問題です。
CodeSonarは関数ポインタなどを含めた深い解析ができ、データレース、割り込み干渉の他社ツールでは見逃してしまうような危険な箇所の指摘を行う事が可能です。

3

ツール連携によるCIの実現

近年ではCIによりDevSecOpsの実現がなされていますが、ツールによっては難しい面があります。
CodeSonarはあらかじめ各種のCI向けツール連携ができており、容易にCIを実現することが可能です。

4

様々なコーディング規約のサポート

CodeSonarは以下の安全基準、セキュアコーディング向けの数多くのコーディング規約のチェックが可能です。

  • MISRA
  • MITRE CWE
  • AUTOSAR
  • DISA-STIG
  • ISO/IEC TS 17961
  • SEI CERT
5

効率よい精査に必要な機能を提供

レビュー向けの優れた機能により解析結果の効率よい精査が可能です。ソースコードからソースコード内のあらゆる情報をデータベース化し、マウスカーソルをシンボルに充てるだけで定義箇所、参照箇所、マクロ展開、コールツリー表示などのレビューに必要な項目を容易に調べることが可能です。指摘への精査のみならず、開発前の影響範囲調査などにも使えます。

CodeSonar採用事例

CodeSonarは高精度の解析能力が評価されており、
国内外の様々な企業・組織に採用されています。

小型衛星打上げロケットのソフトウェアに静的解析ツールCodeSonarを使って開発を進める

インターステラテクノロジズ株式会社

インターステラテクノロジズ株式会社は、小型衛星打上げ用の小型液体燃料ロケットを開発している企業です。同社は2023年現在開発中の小型衛星打上げロケット「ZERO」に搭載予定の一部のソフトウェアの検証に、ユビキタスAIが提供している米国CodeSecure社の「CodeSonar」を使用しています。

インターステラテクノロジズ「ZERO」 この事例の詳細を見る

NASAの火星探索機キュリオシティの制御ソフト検証に採用

アメリカ航空宇宙局(NASA)

NASAの火星探査機キュリオシティは、巨大なパラシュートとジェット制御により降下し、スカイクレーンと呼ばれるバンジーのような機器の支援により、見事に着陸に成功しました。火星と地球間では通信時間を要するため、着陸手順は完全にソフトウェアにより制御されました。そのソフトウェアの信頼性を高めるために、NASAは先進的な静的解析を使用しました。

NASAの火星探索機キュリオシティの制御ソフト検証に採用 この事例の詳細を見る

CodeSonarが「潜在的なバグ」を発見。
ボディ制御用ソフトウェアの信頼性向上をサポート

ニデックモビリティ株式会社

「バッファオーバランといった組込みソフトウェアの問題を、開発者による機能作成段階で除去することができ、品質向上に一定の効果がある。」と評価いただいております。

CodeSonarが「潜在的なバグ」を発見。ボディ制御用ソフトウェアの信頼性向上をサポート この事例の詳細を見る

米国食品医薬品局の医療機器向けソフトウェアの解析の新技術調査に採用

米国食品医薬品局 (FDA:Food and Drug Administration)

医療機器向けソフトウェアの解析に関して、新技術の調査を行っている米国食品医薬品局 (FDA:Food and Drug Administration) にCodeSonarが採用されました。

米国食品医薬品局の医療機器向けソフトウェアの解析の新技術調査に採用 この事例の詳細を見る

産業用ロボットの開発に採用

川崎重工業株式会社

「バッファオーバランといった組込みソフトウェアの問題を、開発者による機能作成段階で除去することができ、品質向上に一定の効果がある。」と評価いただいております。

産業用ロボットの開発に採用

CodeSonarについて詳しく知りたい方へ

お気軽相談

CodeSonarの詳細について知りたい方や静的解析に課題をお持ちの方は、お気軽にご相談ください。

主な特長

マルチスレッドでのデータアクセス競合の検出

ロック、アンロック、セマフォなどによる排他制御漏れの検出

割り込み干渉問題検出

割り込み処理に起因するデータ競合問題の検出

プロシージャ間解析手法により、
全ファイルを横断する解析が可能

・プロシージャ間解析
各プログラム全体に渡り実行フローを追跡することができる解析手法。プロシージャ間解析を行うことで、モジュールを個別に取り扱う解析手法の際に発生するバグの見落としや誤検知を減らすことができます。

データフロー解析を行い、従来の静的解析では対応しきれないコードパスに依存する部分の箇所を指摘

データフロー解析:モジュール内のすべてのパスの変数を追跡

レポート機能

HTMLおよびPDFでのカスタマイズ可能なレポートの生成

Eclipseインテグレーション

EclipseのUIからCodeSonarの解析およびCodeSonarペーンからワーニングを確認

Taint(汚染)解析機能

ユーザー入力の値、ネットワークからの値、ファイルからの値などがチェックなしで使用され、割り当てられたサイズを超える問題の検出

Score機能による結果の精査効率向上

検出されたワーニングに対する80段階の細かな重みづけによる、結果の精査効率向上

コード規模が大きいプログラムも解析可能

高いスケーラビリティ性

Z3 SMTソルバー

Z3 SMTソルバーの使用により、誤検出を軽減

各種のコーディング規約対応

MISRA  MITRE  CWE  AUTOSAR  DISA-STIG  ISO/IEC TS 17961  SEI CERT

300種類以上のオープンソースを解析した実績

  • Linuxカーネルへの実績
  • 約600万行のC++アプリケーションなど

コンパイル時に解析を行い、バグ、脆弱性が含まれる危険な箇所を指摘

  • テストケースが不要
  • 開発プロセスの早期段階で重大なバグを検出
  • 最小のミッシングレート(未検出率)
  • フォールスポジティブ(バグの誤検知)を最小限に抑える

エンタープライズ対応により、プロジェクト管理やレポートの共有が可能

  • Hub(ハブ)
    Hubは、結果レポートを保存するデータベース、Webサーバです。Hubでは解析を行いません。
  • Analysis Daemon(解析用デーモン)
    実際のコード解析は、この解析用デーモンで行います。解析結果は、Hubにアップロードされ、開発チームが効率よく結果をマネージ(調整や修正など)することができます。
CodeSonar HubとAnalysis Daemon

ビルド環境やソースコードの変更不要

ソースコードやビルドスクリプトに修正を加えることなく、CodeSonar側には使用するコンパイラの実行ファイルをWizard画面に指定します。その後は、通常のビルドプロセスを行うだけで解析が可能です。また、特定のコマンドを書いて、お客様のビルドシステムにフックさせて解析を行うこともできます。

CodeSonarのProject Setting画面

便利な5つの機能

  • 01

    プロジェクトごとに管理可能

    プロジェクトごとに管理可能

    解析されたプロジェクトごとにスクリーン表示されます。

  • 02

    検出された不具合のテーブル表示

    検出された不具合のテーブル表示

    このスクリーンは解析ページと呼ばれ、CodeSonarにより検出された不具合がテーブルに表示されます。

  • 03

    検出した不具合を分析し、レポートとして詳細に表示

    検出した不具合を分析し、レポートとして詳細に表示

  • 04

    バグトラッキング機能

    バグトラッキング機能

    開発チーム内で指摘の共有・管理が可能です。
    CodeSonarが検出した指摘について、各指摘のステータスを開発チーム内で特定し、修正すべき指摘の優先順位や報告を行うことができます。

  • 05

    解析結果レポートのチャート図式表現機能

    解析結果レポートのチャート図式表現機能

    ワンクリックで、解析結果レポートをテーブル表、チャート図、折れ線グラフで表示することができます。

CodeSonarを無償評価版でお試しいただけます

無償評価版を申し込む

法人の方を対象に無償評価版を提供しております。実際に製品を試してみたい方は以下よりお申し込みください。

検出できる主な指摘の一覧(一部抜粋)

  • バッファオーバラン
  • バッファアンダーラン
  • 危険な関数キャスト
  • mallocで確保した領域をdeleteで解放
  • newで確保した領域をdeleteで解放
  • ゼロによる割り算
  • 二重解放
  • フォーマットストリング(書式指定文字列の脆弱性)
  • 非ヒープ変数解放
  • NULLポインタ解放
  • newで確保した領域をfreeで解放
  • 無視された戻り値
  • 型オーバラン
  • 型アンダーラン
  • メモリリーク
  • リターン命令ミス
  • NULLポインタ参照
  • 参照後のNULLテスト
  • 冗長な条件
  • ローカル変数へのポインタ戻し
  • 解放メモリへのポインタ戻し
  • 未初期化変数
  • 未到達コード
  • 未使用値
  • 解放後の使用
  • 無意味な割当て
  • 可変引数関数キャスト
  • キャストによる値変更
  • ビット幅を超えるシフト
  • 負の値のシフト
  • 無意味な分岐命令
  • 無意味な関数呼び出し
  • データ競合

対応ホスト環境

  • Windows
  • Linux

対応言語

  • C
  • C++
  • Java
  • C#

主な対応コンパイラ(一部抜粋)

  • Microsoft Visual C++
  • gcc
  • g++
  • Renesas SH/H8 Compiler
  • Renesas C/C++ Compiler RX
  • CubeSuite+
  • Green Hills Compiler
  • Arm Clang Compiler
  • Arm Compiler(ADS/RVDS)
  • Wind River Diab Compiler
  • Intel C++ compiler
  • HI-TECH C Compiler
  • CodeWarrior
  • IAR C/C++ Compiler

※その他のコンパイラ、バージョンの詳細に関しましては別途ご相談ください。

主な用途(アプリケーション例など)

  • 車載機器
  • 医療機器
  • テレコム&ネットワーク機器
  • 民生機器
  • 産業機器
  • 航空宇宙
  • 防衛
  • その他各種組込みソフトウェア
CodeSonar 主な用途

技術サポート

CodeSonar 技術サポート

電話、E-mailによるサポート体制を整えております。
また、有償トレーニングや導入・運用コンサルティング支援にも対応しております。

関連製品

  • 高精度バイナリSCAソリューションCodeSentry

    バイナリファイルに含まれるOSSコンポーネントを検出し、脆弱性をレポート

    CodeSentryは、バイナリファイルを対象としたSCAソリューションです。バイナリファイルからOSSコンポーネントを検出して、SBOMを自動作成。検出したOSSコンポーネントのCVE識別番号もあわせてレポートします。

  • バイナリコード向け高精度静的解析ツールCodeSonar for Binaries

    類を見ないバイナリコード解析技術で、ライブラリや実行ファイルから静的にバグを検出

    CodeSonar for Binaries は、バイナリコードを静的に深く解析し、さまざまな種類の重大なバグとセキュリティ上の脆弱性を検出し、ソフトウェアの品質を向上させるバイナリコード向け静的解析ツールです。

  • アプリケーション高速化支援ツールCodee

    ソースコードを静的に解析し、アプリケーション高速化を支援

    Codeeはアプリケーション高速化支援ツールです。ソースコードを静的に解析し、高速化可能な部分を指摘し、どのように高速化できるかをサジェスチョンしたり、自動でコードを変更します。

  • 車載ECUソフトウェア開発向けシミュレーションツール(SILS)GSIL

    ハードウェア完成前にPC上でECUソフトウェアをデバッグ、検証。CI等の自動テストで開発効率/信頼性向上

    GSILは、車載ECUソフトウェア開発向けのシミュレーター(SILS)です。ハードウェア無しでPC上でのシミュレーションを実現、容易にECUアプリケーションのテスト、デバッグ、検証を可能にし、工数/コストの大幅な削減と、さらなる信頼性の向上を実現します。

  • カバレッジ測定ツールTestwell CTC++

    RAM消費量はごくわずか。メモリリソースの少ない組込み環境でもカバレッジの測定を実現

    Testwell CTC++は、組込みシステム向けのカバレッジ計測ツールです。カバレッジを測定するために必要なインスツルメントおよびRAM消費量が非常に小さいのが特徴です。Testwell CTC++ とGSILを組み合わせることで実機完成前の早期の段階でカバレッジの測定が可能になります。

CodeSonarに関するお問い合わせ

CodeSonarについて詳しく知りたい方

お気軽相談

CodeSonarの詳細について知りたい方や静的解析に課題をお持ちの方は、お気軽にご相談ください。

まずは無償評価版で試してみたい方

無償評価版を申し込む

法人の方を対象に無償評価版を提供しております。実際に製品を試してみたい方は以下よりお申し込みください。