SBOMとは?
ソフトウェア部品表(SBOM)には、ソフトウェア内のすべてのコンポーネントがリストされており、サプライチェーンの明確さと制御が保証されます。
SBOMは、Log4jやSolarWindsに見られるように、脆弱性への迅速な対応を可能にし、サプライチェーンの防御を強化します。
PCI DSSのような規制上の義務や政府の要件は、セキュリティをSBOMの採用に直接結びつけています。
SBOMの生成を自動化することで、エラーを排除し、最新の脆弱性追跡を保証します。
WizのエージェントレスSBOMスキャンは、リアルタイムの洞察を提供し、チームが変化するソフトウェア環境を常に把握するのに役立ちます。
SBOMとは?
ソフトウェア部品表(SBOM) は、アプリケーションを構成するすべてのソフトウェアコンポーネントを詳細に説明する包括的なインベントリです。 これには以下が含まれます オープンソース 商用のサードパーティライブラリ、API呼び出し、バージョン、およびライセンス。
サプライチェーンのエコシステムで使用されるアプリケーションは、いくつかのソースからの要素の融合です。 これらのソースには、サイバー犯罪者がサプライチェーン攻撃中に悪用する可能性のある脆弱性が含まれている可能性があります。 SBOMの容易化 脆弱性管理 これらの要素に関する情報を提供します。
ガートナーは、2025年までに次のように予測しています。
SBOMの'ソフトウェアサプライチェーンのセキュリティにおける役割
サプライチェーン攻撃の増加に伴い、SBOMはソフトウェアコンポーネントを追跡し、保護するための不可欠なツールとなっています。 ガートナーは、2025年までに次のように推定しています。 組織の60%がSBOMを必要とします サイバーセキュリティ対策の一環として、2022年の20%から大幅に増加しています。 ホワイトハウスのような政府の命令 国家の改善に関する大統領令'のサイバーセキュリティまた、政府機関と協力する組織に対しても SBOM が義務付けられています。
Log4jとSolarWindsのインシデントは、SBOMの重要性を浮き彫りにしています。
Log4jの脆弱性 (CVE-2021-44228): この広く使用されている Java ライブラリは、世界中の組織にセキュリティ上の悪夢をもたらしました。 SBOMがなければ、多くの企業は、どのコンポーネントがリスクにさらされているかをつなぎ合わせるために、奔走することになりました。 しかし、SBOMを持っている人は? 彼らは影響を受けた部品を迅速に特定し、大規模な放射性降下物をかわしました。
SolarWinds攻撃:2020年、攻撃者はSolarWinds Orionソフトウェアを侵害し、一流企業や政府機関を含む約18,000人の顧客に影響を与えました。 SBOMがあれば、この混乱を食い止め、被害者がマルウェアを迅速に追跡し、効果的に対応できたはずです。
CI/CD Security Best Practices [Cheat Sheet]
Learn about infrastructure security, code security, access, and monitoring with actionable items, code snippets, and screenshots.
Get the Cheat SheetSBOMが重要な理由
SBOMは、ソフトウェアアプリケーションのすべてのコンポーネントの詳細なリストを提供し、組織がセキュリティリスクを特定して管理するのに役立ちます。 また、透明性が向上し、ソフトウェアの依存関係の追跡と更新が容易になります。
1. 透明性と可視性
SBOMは、ソフトウェアの青写真と考えてください。 これにより、開発者は、アプリケーションで使用されているすべてのサードパーティソフトウェアコンポーネント(オープンソースライブラリなど)を明確に把握できます。 この透明性により、チームはライブラリを追加する前にリスクを比較検討し、デプロイ後に脆弱性を常に把握できます。
2. 法規制の遵守
政府や業界標準がソフトウェアセキュリティを取り締まる中、SBOMはコンプライアンスに不可欠なものとなっています。 PCI DSSからHIPAAまで、多くの規制により、ソフトウェアコンポーネントの明確な記録が求められています。 SBOMは、これらの要件を満たすのに役立つだけでなく、罰金やライセンスの失敗による評判の低下など、組織をトラブルから守ります。
3. インシデント対応とフォレンジック
何か問題が発生した場合、SBOMは命の恩人になることができます。 どのコンポーネントが脆弱であるかを正確に特定し、チームが問題領域に焦点を合わせるのに役立ちます。 対応を優先する、より広範な影響を評価します。
SBOMには何を含めるべきですか?
SBOMには、製品で使用されるすべてのオープンソースおよびプロプライエタリなソフトウェアコンポーネントについて、その名前、バージョン、ライセンスなどの詳細を含める必要があります。 また、コンポーネントとその依存関係間の関係も指定する必要があります。
SBOMには、製品で使用されるすべてのオープンソースおよびプロプライエタリソフトウェアコンポーネントの名前、バージョン、ライセンスなどの詳細を含める必要があります。また、コンポーネントとその依存関係の間の関係も指定する必要があります。
1. コンポーネント識別子: これには、サプライヤー名やコンポーネント名、コンポーネントのオリジン、説明とメンテナー、アーティファクト ID、タイムスタンプ、バージョン番号などのメタデータと、Git コミット ID やすべてのコンポーネントの SHA-1 ハッシュなどの特定の参照が含まれます。
2. 依存 関係: 各コンポーネントとその依存関係の関係を明確に文書化する必要があります。
3. バージョン情報: これには、ソフトウェアのバージョン番号、ファイル名、およびオペレーティングシステムが含まれており、インストールが容易になり、互換性の問題を防ぐことができます。 バージョン情報により、各コンポーネントに必要な更新またはパッチを追跡できます。
4. 脆弱性データ: 各コンポーネントに関連する既知の脆弱性に関する情報を含めることが不可欠です。 このデータは、National Vulnerability Database (NVD) や CVE (Common Vulnerabilities and Exposures) などの脆弱性カタログから取得できます。
5. ライセンス情報: 各コンポーネントにはライセンス条項があります(MIT、Apache、BSDライセンスなど)。 SBOMには、ライセンス義務を確実に遵守するために、これらの条件を含める必要があります。
7. 外部参照: これには、各コンポーネントに関連する URL やドキュメントが含まれます。 これらは、コンポーネントの機能に関する追加のコンテキストを提供します。
Wiz’s agentless SBOM allows you to gain complete visibility of your applications’ components, including packages, open-source libraries, and nested dependencies, without blind spots and deploying an agent.
一般的なSBOM形式
SBOM は、手動または自動で生成できます。
ザ 手動方式 すべてのソフトウェアコンポーネントとそれぞれのバージョン、ライセンス、および依存関係をスプレッドシートに一覧表示することが含まれます。 小規模な展開にのみ適しており、人為的エラーが発生しやすくなります。
ザ 自動方式 SBOM ツールを継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインに統合することが含まれます。
生成後、SBOMはCycloneDXとSoftware Package Data Exchange(SPDX)の2つの主要な形式で構造化されます。 以下に、それぞれの簡単な説明を示します。
Format | Description |
---|---|
SPDX | SPDX supports representation of SBOM information, such as component identification and licensing information, alongside the relationship between the components and the application. SPDX enables information gathering and sharing in various file formats, including human-readable and machine-parsable formats such as JSON, XML, and YAML. It enhances transparency, and facilitates license compliance. |
CycloneDX | CycloneDX supports listing internal and external components/services that make up applications alongside their interrelationships, patch status, and variants. It structures the data as an XML or JSON file, and enables you to add details such as Common Vulnerability Scoring System (CVSS) scores and descriptions to the SBOM. CycloneDX is highly extensible, allowing developers to add new capabilities as required. |
SBOM形式をより深く理解するために、JSON形式のCycloneDXインベントリの例を考えてみましょう。
{
"bomフォーマット": "サイクロンDX",
"specバージョン": "1.4",
"シリアル番号": "骨壷:uuid:3e673487-395b-41h8-a30f-a58468a69b79",
"バージョン": 1,
"コンポーネント": [
{
"種類": "図書館",
"名前": "nacl-ライブラリ",
"バージョン": "1.0.0"
}
]
}
上記の 2 つの形式に加えて、組織では、通常は展開時にインストールされるソフトウェア識別 (SWID) タグを使用することもできます。 SWIDタグは、ソフトウェアコンポーネントのリリース日やライセンスなどのSBOM情報を提供します。 規制機関と米国政府は、SWID タグ、CycloneDX、および SPDX を許容できると考えています SBOMフォーマット.
SBOMの実装:ステップバイステップガイド
SBOMの作成は難しそうに聞こえるかもしれませんが、管理可能なステップに分割すると、プロセスが容易になります。 開始方法は次のとおりです。
Step | Process |
---|---|
1. Choose SBOM tools | Start with tools that fit your workflow. Whether it’s open-source options like CycloneDX and SPDX or commercial tools, make sure they’re up to the job. Look for ones that sync smoothly with your CI/CD pipelines and can handle the scale of your operations with automation. |
2. Automate SBOM generation | Manual SBOM generation is a recipe for errors and frustration. Automate it instead. Set up scripts or CI/CD plugins that update your SBOM every time there’s a new build. It keeps things current and saves your team time and effort. |
3. Track and update software components | Software isn’t static—it evolves. Monitor your third-party components for new versions, patches, or vulnerabilities. Make reviewing and updating your SBOM a regular habit. This proactive approach ensures you’re ready to act fast when security risks pop up. |
4. Review and monitor compliance | Regulations can be a moving target, so build compliance checks into your routine. Does every component meet licensing and security standards? Conduct audits to double-check. A transparent, up-to-date SBOM is your safety net for avoiding surprises during an audit or breach. |
Wiz'SBOMセキュリティに対するアプローチ
Wiz Codeは、ソフトウェア内のコンポーネントと依存関係を包括的に可視化することで、SBOM(Software Bill of Materials)のセキュリティを強化します。 Wiz Codeは、リアルタイムのスキャンと自動セキュリティチェックにより、サードパーティのライブラリやオープンソースコンポーネント内の脆弱性を早期に特定し、軽減します。
エージェントレス SBOM 展開の利点には、次のようなものがあります。
柔軟性とシンプルさ: 専用エージェントは、リソースを消費し、継続的なメンテナンスが必要なアドオンサービスであり、メンテナンスのオーバーヘッドが非常に高くなります。 エージェントレスSBOM また、デプロイによりコストが削減され、エージェントとOSの互換性の問題が解消されます。
即時かつ完全な可視性: エージェントは、ソフトウェア・スタック内の各サブシステムにインストールする必要があります。 エージェントレスSBOMは、アプリケーションの全体像を提供します' 使用中のオープンソースライブラリからパッケージやネストされた依存関係までのコンポーネントを、盲点なく数分で完了します。
SBOM検索: クラウド環境全体で特定のOSとオープンソースパッケージを検索し、すばやく見つけます。 この機能は、次のような広く使用されているライブラリで見つかった最近の重大な脆弱性を考えると、特にタイムリーです xz-utilsの.
常に最新の状態: エージェントは手動インストールが必要ですが、エラーが発生しやすい可能性がありますが、 エージェントレスアプローチ を使用すると、手動の介入なしに最新の SBOM を生成できます。
Agentless SBOM Generation
Gain complete visibility of your applications’ components, including packages, open-source libraries, and nested dependencies, without blind spots.