バックナンバーはこちら

today&tomorrow

Technology Update

  • T&T HOME
  • Technology Update
  • 車載ソフトウェアの品質とセキュリティ向上を目指したシノプシスの取り組み

2017 Aug Summer vol.107

車載ソフトウェアの品質とセキュリティ向上を目指したシノプシスの取り組み

シノプシス CISSP/セキュリティ・ストラテジスト Robert Vamosi

ソフトウェア・インテグリティ・プラットフォーム

シノプシスは各種テスト・ツールを取り揃えており、車載ソフトウェア・サプライ・チェーン全体でこれらのツールを利用することにより、多層防御のストラテジを採用して大きなメリットを手にすることができます。

  • 静的コード解析:シノプシスのCoverityは、論理の不整合など、開発者の意図したとおりに機能がインプリメントされていないと考えられる箇所を検出します。静的解析ツールでは、ソース・コードさえあれば特定の種類のバグや脆弱性を特定できます。バリデーション・スイートやファズ・テストなどの動的テスト・ツール(後述)とは異なり、製品を実行しなくてもテストが可能なため、開発途中の製品にも適用できます。静的解析ツールはプログラムの構造とロジックを解析し、望ましくない動作の兆候を捉えます。
  • エラーを含む入力によるテスト(ファズ・テスト):シノプシスのDefensicsは、セキュリティと信頼性に影響する幅広い種類の問題を検出する動的テスト・ツールです。ファズ・テスト・ツールは、巧妙に細工した入力を外部インターフェイスから送り込み、無効な入力や予期しない入力の場合にも製品が正しく動作するかどうかを確認します。単純なファズ・テストではランダムなデータを入力しますが、高度なファズ・テスト・ツールはランダムなシナリオと悪意のあるシナリオの両方をテストできるようにインテリジェントにデータが構成されます。
  • ソフトウェア・コンポジション解析(SCA):シノプシスのProtecodeはソフトウェア製品の正確な「部品表(BOM)」を作成し、コンポーネント・レベルでライセンス違反がないか、すべてのコンポーネントが適切にテストされているかを確認します。また、製品リリース後はセキュリティ脆弱性および将来のアップデートの必要性を追跡して表示します。SCAはバイナリまたはソース・コードをスキャンして、オープンソース・プロジェクト/リリース(またはユーザーが追加した独自コンポーネント/リリース)のデータベースに登録された既知のコンポーネントを検出します。SCAを利用することで、開発者はどのコンポーネントを使用するか、いつアップデートやパッチをリリースするか、製品で使用しているコンポーネントをいつアップグレードするかといった意思決定に役立てることができます。
  • テスト/バリデーション・スイート:プロトコルが正しく実装されており、有効な入力が与えられた場合に製品が意図したとおりに動作することを検証するには、シノプシスのバリデーション・スイートTest Advisorを使用して、プロトコルを定義した標準規格に適合していることを確認します。一般に、バリデーションは開発中に実施される単体テストや統合テスト、および後工程の機能テストや探索的テストなどで構成されます。テスト/検証スイートでは、ユーザーは製品の動的テストを実行することになるため、テスト対象の機能のあらゆる部位に対してテスト・ケースを作成して実行する必要があります。

カテゴリートップ