SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

【レポート】安全なソフトウェアサプライチェーンの実現【後編】

セキュリティ
2022.06.24

こんにちは、SB C&Sの佐藤です。

5/18に「コンテナイメージスキャンは開発時に!~ シフトレフトでスピードとセキュリティを両立する方法とは?~」と題して、「SB C&S × Palo Alto × JFrog」の3社でウェブセミナーを共同開催しました。

本記事では後編として、弊社JFrogから登壇いたしました三宅様のパート「安全なソフトウェアサプライチェーンの実現」についてから、以下の内容をレポートさせて頂きます。
 ・JFrogで実現するソフトウェアサプライチェーン

※各社の製品紹介は以下リンク先をご覧ください。

※前編はこちら

セミナー情報

登壇者

  • SB C&S株式会社 竹石 渡
  • JFrog Japan株式会社 三宅 剛史 氏
  • Palo Alto Networks株式会社 CTO アジェイ ミスラ 氏

概要

昨今、コンテナの開発初期段階からセキュリティを組み込んで手戻りの発生を防ぎスピードとセキュリティを両立させる『シフトレフト』が注目されています。
本ウェビナーではDevOpsやDevSecOpsプラットフォームを提供する「JFrog」とサイバーセキュリティの雄「Palo Alto Networks」の製品を組み合わせて実現するシフトレフトについて両社製品を連携させたデモを交えてご紹介いたします。

アジェンダ

  1. シフトレフトを実現するJFrogとPrisma Cloudの素敵な組み合わせ(SB C&S株式会社 竹石 渡)
  2. 安全なソフトウェアサプライチェーンの実現(JFrog Japan株式会社 三宅 剛史 氏)←本記事のレポート対象
  3. 近代のCloud Native環境に適するCI/CD Pipelineのあり方(Palo Alto Networks株式会社 CTO アジェイ ミスラ 氏)
  4. 両社連携デモ(JFrog Japan株式会社 三宅 剛史 氏、Palo Alto Networks株式会社 CTO アジェイ ミスラ 氏)

レポート「シフトレフトを実現するJFrogとPrisma Cloudの素敵な組み合わせ」

■JFrogで実現するソフトウェアサプライチェーン

JFrog_5.png

JFrogPlatformではパッケージ管理を行う「Artifactory」やセキュリティチェックを行う「Xray」、ディストリビューションを行う「Distoribution」、CICDのための「Pipeline」等をオールインワンで提供しています。
それらの機能がどのようにソフトウェアサプライチェーン攻撃に対しメリットを発揮するのかをご紹介します。

・キュレーション(Artifactory)

JFrog_6.png
JFrog内に存在する「リモートリポジトリ」が、開発者の代理となりパブリックリポジトリからコンポーネントをダウンロードしキャッシュした上で開発者に返します。このリモートリポジトリはコンポーネント取得元(例:DockerHub、GitHub、パブリッククラウド)毎に用意されます。これにより、悪意あるコンポーネントであっても直接開発者の手元に届いてしまうことを防ぐことが出来ます。
アップロードの際も同様で、JFrog内に存在する「ローカルリポジトリ」にアップロードを行います。ローカルリポジトリに関しても、環境毎(例:開発環境、QA環境)に作成することが可能です。
また、JFrogでは複数存在するリモートリポジトリとローカルリポジトリを仮想的に1つのリポジトリとして見ることの出来る「バーチャルリポジトリ」も保持しており、これにより開発者はバーチャルリポジトリにアクセスすれば良いということになり「どこからダウンロードしてきたものなのか」ということを意識する必要がなくなります。
加えてこれらのリポジトリには優先順位が決められており、バーチャルリポジトリに対しダウンロード要求があった場合は、以下の順に対象のコンポーネントを検索します。
 ①ローカルリポジトリ
 ②リモートリポジトリ
 ③どちらにも存在しない場合、リモートリポジトリが開発者の代理となりネットワーク上からダウンロード、リモートリポジトリにキャッシュし、開発者に返す
これらの処理は自動的に行うため、開発者が意識する必要はありません。
そしてキュレーションでは、必要とするコンポーネントに対し、検索対象とするリポジトリを設定することも可能です。また、正規表現を使用し検索対象リポジトリを設定することも可能です。そのため、自身がアクセス可能であるリポジトリに対し、優先度順にチェックすることが可能となります。

・脆弱性チェック(Xray)

JFrog_7.png
JFrogでは主にVulnDB(※注3)の商用セキュリティDBを基にして作られている「ザーク」と呼ばれるセキュリティメタデータを使用し、コンポーネントの脆弱性をチェックしています。
チェック対象となるコンポーネントに関しても、そのコンポーネントがどのような親子関係で作られているのかをデータ化した「コンポーネントグラフ」がArtifactoryにデータが保存された時点で作成されるため、このデータにザークを照らし合わせ、脆弱性のチェックを行っています。
また、発見された脆弱性に対しどのようなアクションを行うかの設定である「ポリシー」を当て込むことが可能です。例として、DevOps観点では「CICDパイプラインの中でビルド時に脆弱性が見つかった場合、ビルドをFailさせる」といったことを実現可能です。もしくは、脆弱性が見つかったコンポーネントはそもそもダウンロードをブロックするといった設定も可能です。
※注3:セキュリティ脆弱性インテリジェンスデータベース

・署名付きパイプライン(Distoribution、Pipeline)

JFrog_8.png
安全なソフトウェアサプライチェーンをエンドトゥーエンドで実現させるため、JFrogはではキュレーション以外にもCICDツールである「JFrogパイプライン」という機能を擁しており、これには「署名付きパイプライン」という機能があります。
ビルド時にSBOM(※注4)の作成を自動的に行うのだが、このSBOMは署名付きであり、手動管理が不可能な状態で作成されます。これにより「このSBOMはこのビルドで作成されたものである」という1対1のマッピングがされた、信頼された状態とすることが出来ます。
ディストリビューションの際にも、リリースされるものが改ざんされたものでないという証明のため、リリースバンドル(※注5)に対し、署名を行います。これにより、リリース先でもリリースバンドルが改ざんされていないか確認した上で環境への反映を行うことが可能になります。
※注4:Software Bill Of Materials、コンポーネントに含まれる全ての要素(ライセンス、依存関係等)を一覧化したもの
※注5:リリース対象のファイルをzip等で纏めたもの

JFrogではDevOpsのベンダとして「より簡単に、より迅速に」皆様のソフトウェアのアップデート行ってきましたが、上記で紹介した技術により、更に「より安全に」することを目指しています。

■まとめ、感想

後編では「JFrogで実現するソフトウェアサプライチェーン」という内容をレポートさせて頂きました。前編でご紹介した脅威に対し、どのような対策が必要で、JFrogではそれらに対しどのようなアプローチを行っているのかについて、ご理解いただけたのではないでしょうか。

また、後編でレポートさせ頂いた対策をスクラッチで行っていくのには、かなりの時間と労力を必要とします。そんな時にあらゆる観点からソフトウェアを保護してくれるJFrogは、開発者にとって、より「開発に集中できる」ソフトウェアではないでしょうか。
「より簡単に、より迅速に、より安全に」、このビジョンの実現のため、是非JFrogのご利用をご検討下さい。

また、今後JFrogやPrisma Cloudの導入を検討されることがございましたら、お気軽にゼロトラストオンライン相談フォームまでお問い合わせくださいませ。

ゼロトラストオンライン相談フォーム
お問い合わせ先:SBCASGRP-cloudsec@g.softbank.co.jp

本セミナーの動画をご覧になられたい場合は、以下の「続きをご覧になる場合は下記をご記入ください。」にて情報をご入力ください。

続きをご覧になる場合は下記をご記入ください。

EV_袋とじ_技術ブログ
職種必須
入力例:foo@example.com
入力例:0312345678
SB C&Sとのご関係必須
個人情報保護方針必須
■SB C&S(株) は、お客さまの個人情報 (氏名、住所、電話番号、メールアドレスなど) を、個人情報保護法、および、当社プライバシーポリシーに従い適切に取り扱います。 <https://cas.softbank.jp/privacy/> 詳細な個人情報の利用目的は、以下に定めるとおりとし、これらに関連する目的を含むものとします。 (ただし法令により例外として扱うことを認められている場合を除きます。) 1. IT流通サービスの提供 ・お取引にかかわる当社のシステムの機能提供のため ・お取引にかかわるお見積もり、受発注、物品・サービス・役務等の提供を行うため 2. 会員サービスおよび対象サービスの提供 ・会員サービスおよび対象サービスを提供するため ・会員サービスおよび対象サービスに関連して、お客さまに商品の発送、サービス、コンテンツ、インセンティブおよび情報を提供するため 3. 広告・宣伝・マーケティング お客さまの同意に基づき、または法令で許容されている範囲および手段で、当社または他社の商品やサービス、キャンペーンやセミナーなどのダイレクトメール、メールマガジンなどの広告を、お客さまに送付または表示するため 4. サービスの改善および研究開発 既存サービスの改善および新サービスにかかわる当社による研究開発のため 5. お問い合わせ等への適切な対応 サービスまたは広告等にかかわるお客さまからのお問い合わせやクレームに、当社が適切に対応するため 6. 不正行為等の防止・対応 詐欺、サイバー攻撃、その他の違法または不正なおそれのある行為を防止、調査、および特定して、当社または第三者の権利利益を保護するため なお、上記以外の目的で当該個人情報を利用させていただく場合は、その都度、その利用目的を明確にし、お客さまから事前の同意をいただきます。 ■お預かりしたお客さま情報はお客さまご本人から、当社の運営上支障が無い範囲で閲覧、修正、削除を要求することができます。 その場合はお問い合わせ先までご連絡いただけますようお願いいたします。  ・メールアドレス : SBBGRP-ENGINEER-VOICE@g.softbank.co.jp