Black Duck®ソフトウェア・コンポジション解析(SCA)は、アプリケーションやコンテナに含まれるオープン・ソースおよびサードパーティーのコードから生じるセキュリティ、品質、ライセンス・コンプライアンス上のリスク管理を支援します。
Black Duckはオープンソースの脆弱性管理ソリューションに対してEntersektが求める事項のチェックリストを他のどのベンダーよりも的確に満たしていました。"
Philip Botha氏
|Entersekt、品質保証マネージャー
Black Duckのマルチファクター・オープンソース検出および400万を超えるコンポーネントで構成されるKnowledgeBaseにより、あらゆるアプリケーションやコンテナについて、正確な部品表(BoM)が得られます。
MavenやGradleなどのビルドツールと統合して、JavaやC#などの言語でビルドされたアプリケーション内のオープンソースの宣言された依存関係と推移的な依存関係の両方を追跡します。
文字列、ファイル、およびディレクトリ情報をBlack Duck KnowledgeBaseにマップして、CやC++などの言語を使用してビルドされたアプリケーションのオープンソースおよびサードパーティーのコンポーネントを識別します。
独自開発コード内でコピーされたオープンソース・コードの一部を検索します。これにより、ライセンス違反や競合が発生する可能性があります。
Black Duckの検出技術により、アプリケーションやコンテナの構築に使用されるオープンソース、サードパーティ、および独自開発のソフトウェア・コンポーネントの完全なSBOM(ソフトウェア部品表)を作成することができます。SBOMをSPDXやCycloneDXなどのNTIA準拠のフォーマットでエクスポートすることにより、アプリケーションの信頼性を確立し、関連するセキュリティ、ライセンス、運用リスクを追跡することができます。
Black Duck Security Advisoriesは、開発と本番環境の両方で、オープンソースの脆弱性による影響を回避するうえで有効です。エクスプロイト情報、修正ガイダンス、重大度スコアリング、呼び出しパス解析など、修復対象の脆弱性に優先順位を付けるために必要な重要データを提供します。Black Duckの脆弱性データベースの詳細はこちらをご覧ください。
タイムリー。何千ものセキュリティ・フィードを監視して、大半の脆弱性を当日(National Vulnerability Databaseに登録される何週間も前)に通知するように拡張されています。
正確。当社のセキュリティ専門家チームは、脆弱性データを確認および検証して、脆弱性の説明、重大度、エクスプロイト・リスク、および影響を受けるバージョンに関するレポートが正確であることを確認します。
実用的。 チームが詳しく説明する緩和策と修正ガイダンスは、脆弱性の優先順位付け、最適なパッチまたはアップグレード・パスの選択、攻撃または侵害の証拠の特定に役立ちます。
自動化。 脆弱性は、重大度、利用可能なソリューション、悪用の可能性、CWE、コールパス解析などの重要な脆弱性データに基づいて、修正の優先順位が付けられます。
Black Duckの自動化されたポリシー管理により、すでに開発者が使用しているツールを使用して、オープンソースの使用、セキュリティ・リスク、およびライセンス・コンプライアンスに関するポリシーを事前に定義し、ソフトウェア開発ライフサイクル(SDLC)全体にわたってその実施を自動化することができます。 DevOps統合の詳細はこちらをご覧ください。
コーディング時に、リスクが高いコンポーネントやポリシーに違反するコンポーネントを特定、回避、または自動的に修正します。
JenkinsなどのCIツールを使用して、ポリシー違反に基づいてスキャン、ビルドの警告または停止を自動化します。
デプロイする前にアプリとコンテナを検査し、デプロイ後に自動化されたセキュリティ・アラートを受け取ります。
ソフトウェアがWeb経由で配布されている場合でも、ハードウェア・デバイスに組み込まれている場合でも、オープンソース・ライセンスへのコンプライアンスは非常に重要です。ライセンス上の義務と帰属要件の詳細を理解することで、知的財産のコストとリスクを軽減します。オープンソース・ライセンス・コンプライアンスの詳細はこちらをご覧ください。
Black Duckは、特定されたコンポーネントを、当社のKnowledgeBaseでトラッキングしている2,700以上のライセンスの1つにマッピングし、ライセンスが不明なコンポーネントにフラグを付けて確認できるようにします。
義務サマリーには、開発チームと法務部がコンポーネントをアプリケーションに含めることによる影響を迅速に検証できるように、ライセンス要件が単純で標準的な用語で記載されます。
Black Duckは、ライセンス競合の可能性があるものに自動でフラグを付けることで、ポリシーへのコンプライアンス実施を支援し、通知ファイル生成により、お客様向けのライセンス条件を正確に報告できるように支援します。
独自開発コードとオープンソース・コードの脆弱性は同様の方法で検出および修正できるという誤解があるため、オープンソースのセキュリティは見過ごされがちです。現実には、SAST、DAST、およびその他のアプリケーション・セキュリティ・テスト・ツールでは、オープンソースの脆弱性を効果的に検出することはできません。そこで、SCAの出番です。
ソフトウェア・コンポジション解析(SCA)と他のアプリケーション・セキュリティ・ツールを差別化する重要な要素は、これらのツールが解析する内容とその状態です。SCAはサードパーティーのオープンソース・コードの脆弱性、ライセンス、運用上の要因を解析し、SASTは独自開発コードの弱点を解析し、DASTは実行中のアプリケーションの脆弱性をテストします。
包括的なソフトウェア・セキュリティ・プログラムには、SASTとSCAの両方が含まれています。このような手法を採用している組織では、問題の早期特定による品質の向上、独自開発コードとオープンソース・コード全体に対する可視性、開発プロセスの早い段階で脆弱性を検出して修正することによる修正コストの削減、セキュリティ違反リスクの最小化、および効果的かつアジャイル開発に対応した最適化されたセキュリティ・テストなど、SDLC全体で改善が見られます。
Black Duckは、ほとんどのポピュラーな開発ツールおよびREST APIに対して使いやすいオープンソース統合が利用できるため、ほぼすべての商用開発環境やカスタマイズした開発環境用に独自の統合構築が可能です。Black Duckは、IDE(統合ソフトウェア開発環境)、パッケージ・マネージャー、CI/CD、問題追跡ツール、本番環境機能など、SDLC全体で幅広い統合を提供します。
ほとんどのソリューションは、National Vulnerability Database(NVD:脆弱性情報データベース)のデータのみに依存しています。多くの脆弱性はNVDに文書化されず、また、公開される他の脆弱性も、掲載されるまでに数週間はかかるため、この制限は問題です。Black Duck Security Advisories(BDSA)はNVDを凌駕するもので、SynopsysのCybersecurity Research Center(CyRC)が研究・分析して得られたデータを活用することで、完全かつ正確な情報収集を実現し、早期の警告と詳細な洞察をお届けします。
多くのソリューションは、パッケージ・マネージャーの宣言を使用してオープンソース・コンポーネントを識別しています。ただし、宣言されている依存関係以上のものをスキャンしなければ、一部のオープンソースを見逃すことになります。そして、そのオープンソースがあることを知らなければ、セキュリティ上安全で規格に準拠していることは保証できません。
パッケージ・マネージャーのスキャンでは、開発者がパッケージ・マニフェストで宣言していないオープンソース(CやC++などの言語)、パッケージ・マネージャーが使用されていないコンテナに組み込まれているオープンソース、変更されたオープンソース、または、ライセンス義務があるコードの部分的なスニペットが見落とされます。Black Duckは、ファイル・システム・スキャンおよびスニペット・スキャンと構築プロセスの監視を組み合わせることで、パッケージ・マネージャーがトラッキングしていないオープンソース・コンポーネント、オープンソースの一部、変更されたか宣言されなかった可能性があるオープンソース、動的および推移的な依存関係のコンポーネントとバージョンの検証を可視化することができます。
簡潔に答えると、オープンソース・リスクのエンドツーエンド管理を提供する、範囲の広い強力なソリューションです。Black Duckのようなソリューションは、SDLC全体にわたるオープンソース管理への包括的なアプローチを提供します。
具体的には、SCAソリューションを選択する際、次の機能を考慮する必要があります。
Black Duckは、ほとんどの一般的なパッケージ・マネージャーをサポートしています。Black Duckのスニペット・スキャンは、トップの言語とよく使用される言語に対応しています。KnowledgeBase™の専門チームは、常に新しい言語を監視および追加しており、よく使用される言語がすべてサポートされるようにしています。
さらに、Black Duck独自のシグネチャ・スキャン・アプローチは言語に依存しません。このスキャン・アプローチは、言語に依存しない他のメタデータとともに、ファイルとディレクトリのレイアウトに基づいてシグネチャを検索します。
はい。一部のソリューションでは、バイナリをスキャンしてパッケージ・マネージャー情報を探したり、リポジトリから直接取得したバイナリを変更せずに探したりできます。Black Duckの洗練されたバイナリ・スキャン・ソリューションは、バイナリをクラックして、変更されたバイナリを検出し、レガシー言語と幅広いアーチファクトのサポートを提供できます。
Black DuckのオープンソースKnowledgeBase™は、SynopsysのCybersecurity Research Center(CyRC)が、オープンソースのプロジェクト、ライセンス、セキュリティ情報を取得して整理している、業界で最も包括的なデータベースです。KnowledgeBaseには、2,650件以上の固有オープンソース・ライセンス(GPL、LGPL、Apacheなど)、一般的なオープンソース・ライセンスのライセンス全文、各ライセンスのエンコードされた属性や義務が含まれています。Black Duckには、深い著作権データ、および徹底したオープンソース・コンプライアンスのために埋め込まれたオープンソース・ライセンスを引き出す機能も含まれています。
はい。Black Duckを使用すると、Docker(およびその他の)コンテナを使用してアプリケーションをパッケージ化して配信するチームは、コンテナ内のオープンソースが使用ポリシーとセキュリティ・ポリシーを満たしており、脆弱性がなく、ライセンス義務を果たしていることを確認および証明できます。オープンソース管理には、既存のアプリケーションとコンテナに影響を与える新たな脆弱性の継続的な監視が含まれます。