LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

Snykの新しいSBOM機能で、ソフトウェアサプライチェーンのセキュリティリスクに対処する

セキュリティイノベーション統括部の鈴木です。

近年、企業のセキュリティ対策において、ソフトウェアサプライチェーンのリスク管理が重要なテーマとなっています。情報処理推進機構(IPA)が2023年3月29日に発表した「情報セキュリティ10大脅威 2023」※1では、「サプライチェーンの弱点を悪用した攻撃」が前年の3位から2位に上昇しています。

※1 情報セキュリティ10大脅威 2023 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構

このように大きな脅威となっているサプライチェーン攻撃リスクに対処するために、近年注目されているのが「SBOM(Software Bill of Materials、エスボム)」です。今回はSBOMについて、また、迅速にソフトウェアサプライチェーンに潜むリスクを特定できる「Snyk(スニーク)」のSBOM機能について詳しくご紹介します。

ソフトウェアサプライチェーンのリスク管理

「ソフトウェアサプライチェーン攻撃」とは、悪意あるユーザがソフトウェアの開発元や配布元を侵害し、ソフトウェアそのものに悪意のあるコードを仕込んで、企業ネットワークへ侵入し情報窃取を行う攻撃です。2020年に発生した米国SolarWinds社のインシデントでは、同社のネットワーク監視製品の正規アップデートにバックドアが仕込まれ、米国政府機関及び多数の企業の情報が窃取されるという被害が発生しました。

最近の企業が使用するソフトウェアは、ゼロから書かれたものは少なく、OSS(オープンソースソフトウェア)を部品として組み合わせていることが一般的です。このOSSの中に脆弱性を含むものがあった場合、攻撃者にそこを踏み台にされ、攻撃を実行される可能性があります。2021年に公表されたApache Log4jの脆弱性対応に追われた方も多いのではないでしょうか。

こういったインシデントに対処するために、自分たちが使っているソフトウェアの中でどのようなコードが実行されているかを正しく把握し管理するとなると、大変な労力が必要です。上述のSolarWinds社のインシデントやApache Log4jへの対応により、企業が使うソフトウェアには数多くの把握できていないソフトウェア依存関係が存在することが明らかになりました。そして、これらの依存関係を十分に把握できていない場合、リスクを根本的に排除することは極めて困難です。

SBOMとは

SBOMとは、Software Bill of Materialsの略で「ソフトウェア部品表」と訳されます。図1は、ソフトウェアを構成するOSSのライブラリやモジュールの情報を一覧化したものです。上述したApache Log4jは、様々なソフトウェアやアプリケーションに組み込まれています。ですが図1で示したように自社のシステムに含まれるソフトウェアについて、通常自分たちで確認できるのは表層的な情報に限られています。

そのため2021年に深刻な脆弱性が公開された際には、「自社のどのシステムがApache Log4jを使用しているのか」という点を把握できず、迅速な対応が困難であったことが多くの企業における課題となりました。

こうした課題に対して効果を発揮するのが、SBOMです。特定のソフトウェアの構成部品を素早く確認できます。また、この部品表を見れば、自社のどのシステムがApache Log4jを利用しているのかを迅速に把握できるようになります。

ソフトウェアサプライチェーン管理のイメージ
図1 ソフトウェアサプライチェーン管理のイメージ

なお、米国ではソフトウェアサプライチェーンセキュリティ強化のために、SBOM導入に関する大統領令※2が2021年5月に発行されています。また日本国内においても、経済産業省が2023年7月に「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導⼊に関する⼿引」※3を公開しており、今後SBOMの利用が推奨されていく可能性があります。

※2 Executive Order on Improving the Nation's Cybersecurity | The White House

※3 「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を策定しました (METI/経済産業省)

SBOMのフォーマット

ソフトウェア部品表であるSBOMには、主にCycloneDXとSPDXの2大フォーマットがあります。いずれもソフトウェアに含まれるOSS・コンポーネントなどの出所、ライセンス・バージョン情報・セキュリティ属性といった関連情報を管理しています。そしてSBOMに共通フォーマットを用いることで、ソフトウェアサプライチェーンにおいて組織を越えSBOMを共有できます。

※ 「CycloneDX」、「SPDX」についてSnykの以下ページから一部引用させて頂いております。
SBOM (ソフトウェア部品表) を作成してオープンソースサプライチェーンのセキュリティを高める | Snyk

CycloneDX

OWASP(Open Web Application Security Project)が開発するCycloneDXは、アプリケーションセキュリティのコンテキストと、サプライチェーンのコンポーネント分析のために設計されたSBOMフォーマットです。すべてのファーストパーティおよびサードパーティのソフトウェアコンポーネントのインベントリを提供しており、コンポーネント間の関係や、ソフトウェアが呼び出す外部APIとの関係といった、ソフトウェアとサービスのデータの流れなども記述できます。

仕様は豊富で、ソフトウェアライブラリにとどまらず、SaaSBOM(Software as a Service Bill of Materials)やVEX(Vulnerability Exploitability Exchange)などの規格に拡張されています。この規格はApache 2.0ライセンスのオープンソースプロジェクトで、以下のオープンソースGitHubリポジトリで共同利用が可能です。

GitHub - CycloneDX/specification: CycloneDX is a full-stack Bill of Materials (BOM) standard that provides advanced supply chain capabilities for cyber risk reduction. SBOM, SaaSBOM, HBOM, ML-BOM, OBOM, MBOM, VDR, and VEX

SPDX

SPDX(Software Package Data Exchange)は、Linux Foundationによって開発されたSBOMフォーマットです。ソフトウェア部品表を追跡するための共通のSBOMフォーマットを提供し、さまざまなツールで相互運用性レポートの作成を容易にします。具体的には、SPDXライセンスリストにより共通のライセンスリスト識別コードと、各ライセンスへの正規のURLが提供されます。

SPDXライセンスリストWebページには、すべてのライセンスとその識別コードの完全なリストが掲載されています。

SPDX License List | Software Package Data Exchange (SPDX)

Snykが提供するSBOMツール

Snyk社は米国ボストンを拠点とし、クラウドセキュリティを実現するサービスを開発する企業です。そして、社名と同じ名前のサービスSnykは、開発者向けのセキュリティプラットフォームです。ラックでは2022年2月よりSnykの日本国内販売代理店として同社製品の提案、販売活動を行っています。

Snyk社では、SBOMを維持してソフトウェアの依存関係を管理することが、企業のソフトウェアサプライチェーンリスク対策を行う上で必要不可欠であると考えています。また、生成されたSBOMを適切なチームが見ることができ、相互運用性があり、正しいコンテキストに統合されていることが重要であると考えています。

Snykが提供するSBOM生成ツール、およびSBOM脆弱性チェックツールは以下のとおりです。SBOM API及びCLIについては2023年4月に正規版がリリースされました。

SBOM APIおよびCLI

Snykの開発者ファーストのAPIおよびCLIツールでSBOMを生成し、直接的な依存関係や推移的な依存関係を文書化できます。こちらは有償のSnyk Enterprise版のみで利用可能です。

SBOMチェッカー

SBOMの脆弱性をチェックする無料のWebツールです。Snykのアカウントは必要ありませんが、Snykの脆弱性データベースで脆弱性情報を検索することが可能です。ただしスキャンの回数に制限があることと、スキャン結果をダウンロードすることは出来ませんのでご注意ください。

Bomber Intergration

BomberはSBOMの脆弱性をスキャンするオープンソースのソフトウェア構成分析(Software Composition Analysis:SCA)ツールです。そしてSnykはプロバイダーとしてサポートされており、Bomberを使用しながらSnyk脆弱性データベースより直接、脆弱性情報を検索できます。またスキャン結果をファイル出力することも可能です。

以下は、実際にSnyk CLIを使ってSBOMを出力した結果です。

実行環境 Windows 11(22H2)
Snyk CLI バージョン 1.1155.0
実行環境 Windows 11(22H2)
Snyk CLI バージョン 1.1155.0

①snyk sbomコマンドを実行、フォーマットはSPDXを指定

snyk sbomコマンドを実行、フォーマットはSPDXを指定

②取得した結果の抜粋

取得した結果の抜粋

SnykでSBOMの自動生成が可能に

SBOM生成を自動化できればソフトウェアの状態を全て最新の状態に保てます。Snykは、Gitや統合開発環境(IDE)、CI/CDパイプラインに組み込めます。これにより開発プロセスの中で自動的にSBOMを生成し、早期にソフトウェアに含まれる脆弱性やライセンスなどのリスクを特定し、迅速に対応できるようになります。

SBOM自動生成プロセスのイメージ
図2 SBOM自動生成プロセスのイメージ

さいごに

ソフトウェアサプライチェーンのセキュリティリスク対策のためにSBOMが必要な理由と、Snykを使えば迅速にSBOMを生成してOSSのリスクを特定し、ソフトウェアサプライチェーンに潜むリスクの特定が可能であることについてご説明しました。Snyk社では2023年7-9月を目途にSBOMテストのサポートをリリースし、CycloneDX、SPDX形式の直接スキャンが可能となる予定です。

SBOM対応やソフトウェアサプライチェーンのセキュリティリスク対策に関心をお持ちの方は、どうぞお気軽にお問い合わせください。

「SnykのSBOM対応」に関するお問い合わせ

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • Terraform+Snykで、セキュアなクラウドインフラ構築&運用自動化を実現しよう!

  • Snykのポイントを解説。どんな機能があるのか調べてみた

  • 【セミナーレポート】これからのアプリケーション開発のセキュリティ対策を考える

関連サービス
Snyk(スニーク)