ソフトウェア・インテグリティ

 

SASTとSCA:両方が必用な理由

SCAツールを使用する場合、SASTツールも使用する必要がある理由はどこにあるのでしょうか。以下では、それぞれのツールでできることとできないこと、および両ツールがどのように補完し合うかについて説明します。

SASTとSCA:両方が必用な理由

SCAユーザーは、なぜSASTツールも使用する必要があるのか疑問に思うかもしれません。最近のアプリケーションは最大90%がオープンソースコードで構成されています。この疑問に答えるために、まず、各ツールでできることとできないことについて概要を説明します。

SCAでできること:

  • ソフトウェアで使用されている共通のオープンソース・ライブラリとコンポーネントの検索
  • 既知の脆弱性の一覧(たとえば、共通脆弱性識別子:CVE)とテスト結果を比較し、コンポーネントに既知の脆弱性や文書化された脆弱性が存在するかどうか、コンポーネントが古くないかどうか、適用可能なパッチがあるかどうかの判定
  • オープンソースのコンポーネントとライブラリ(GPLなど)に関連するライセンスと、潜在的なライセンスの問題の特定

SCAでできないこと:

  • 自社組織で開発したカスタム・コンポーネントまたはライブラリの特定
  • 脆弱性の原因となる可能性のあるコード弱点の特定

SASTでできること:

  • カスタム・コード、コンポーネント、ライブラリ、およびオープンソース・コードとコンポーネントなどに含まれる、共通脆弱性タイプ一覧(CWE)に該当するソースコードの弱点の発見
  • コード内のセキュリティおよび品質上の欠陥の特定と修正に関するアドバイスの提供
  • これらの規格に記載されている特定の脆弱性を見つけることによる、さまざまな組み込み品質、信頼性、セキュリティ標準への準拠支援

SASTでできないこと:

  • オープンソース、カスタムコンポーネント、またはライブラリのセキュリティ上の脆弱性やライセンスの問題の特定
  • パッチが必要な古いコンポーネントやライブラリの特定
  • CVEを含むコードの特定

SCAとSASTでできることとできないこと

SASTとSCAの比較

SASTはソフトウェア開発の基本であり、これによって開発チームはソフトウェア開発ライフサイクル(SDLC)をシフトレフト(前倒し)できます。SASTはソフトウェアの品質とセキュリティの問題を早期に特定するための必須ツールであり、コードの開発段階で問題を発見・修正できます。SASTツールを使用すると、開発者が最初からクリーンでセキュアなコードを記述する方法を習得できるため、修正を行う場合、QAやプレリリースなどの後工程になってから行うよりも容易で低コストになります。

SCAは家の屋根にある目に見える穴すべてを探すかのように、既知の脆弱なコンポーネントとライブラリですべての脆弱性を特定し、素早くパッチを提供します。これに対し、SASTは見つけにくい屋根の梁や合板の構造的弱点を探し出すように、ハッカーに悪用される可能性がある脆弱性を特定することで、屋根の大きな崩壊(つまり侵害)を防ぎます。

問題を探すための静的アプリケーション・セキュリティ・テスト(SAST)ツールの機能

問題を探すための静的アプリケーション・セキュリティ・テスト(SAST)ツールの機能

  • 包括的なコードカバレッジ:重大なセキュリティ脆弱性を正確に特定し、優先順位を付けます。
  • 使いやすさ。構成不要の直観的で一貫性のある最新型インターフェイス:脆弱性の洞察に必要な背景情報(データフロー、CWEの説明、詳細な修正アドバイスなど)を提供します。
  • IDEでコードを作成しながら高速な差分解析結果を速やかに表示できます。
  • DevSecOps機能。一般的なビルドサーバーおよび問題トラッカーのサポート:カスタムツールに統合するための柔軟性の高いAPI。
  • 数千ものプロジェクトや開発者、および数百万もの問題に対応するエンタープライズ機能。
  • 管理レベルのレポート作成と業界標準への準拠。ソフトウェア品質(CERT C/C++MISRAAUTOSARISO 26262ISO/IEC TS 17961)とセキュリティ標準(OWASP Top 10CWE Top 25PCI DSS)の広範なサポートにより、アプリケーションが準拠していることを確認できます。
  • eラーニングの統合。コード内で発見された問題に関する文脈に応じた説明と短期コースへのリンクによって、開発者が必要なときに学習できます。

Coverity SASTの詳細については、データシートをダウンロードし、CoverityのWebページをご覧ください。

最新情報としては、Code Sight IDEプラグインが開発者のデスクトップ上でCoverityとBlack Duckの両方の解析結果をサポートするようになりました。Code Sightを使用すると、開発者はIDE環境のまま、コードを作成しながら独自開発コードとオープンソースの依存関係の両面でセキュリティの問題に対処できます。そのため、次のビルドのコードをチェックインする前に問題を素早く見つけて修正できます。

Coverity SASTの詳細はこちら