次の手順では、SPDX の spdx-to-osv ãƒ„ールを使って Kubernetes の SBOM と OSV データベースを結びつけます。

# SPDX SBOM 情報を受け取り、それを OSV 脆弱性にマッピングする spdx-to-osv ツールを実行する

$ java -jar ./target/spdx-to-osv-0.0.4-SNAPSHOT-jar-with-dependencies.jar -I k8s-1.21.3-source.spdx -O out-k8s.1.21.3.json


# 出力された spdx-to-osv ツールの OSV 脆弱性を表示する

$ cat out-k8s.1.21.3.json

{

  "id": "GHSA-w73w-5m7g-f7qc",

  "published": "2021-05-18T21:08:21Z",

  "modified": "2021-06-28T21:32:34Z",

  "aliases": [

    "CVE-2020-26160"

  ],

  "summary": "Authorization bypass in github.com/dgrijalva/jwt-go",

  "details": "jwt-go allows attackers to bypass intended access restrictions in situations with []string{} for m[\"aud\"] (which is allowed by the specification). Because the type assertion fails, \"\" is the value of aud. This is a security problem if the JWT token is presented to a service that lacks its own audience check. There is no patch available and users of jwt-go are advised to migrate to [golang-jwt](https://github.com/golang-jwt/jwt) at version 3.2.1",

  "affected": [

    {

      "package": {

        "name": "github.com/dgrijalva/jwt-go",

        "ecosystem": "Go",

        "purl": "pkg:golang/github.com/dgrijalva/jwt-go"

      },




ツールの出力から、Kubernetes の v1.21.3 には、脆弱性 CVE-2020-26160 ãŒã‚ることがわかります。この情報は、このソフトウェアを運用するリスクを管理するために追加のアクションが必要かどうかを判断する際に役立つ可能性があります。たとえば、ある組織が Kubernetes の v1.21.3 を使っている場合、会社のポリシーに基づいてデプロイされたソフトウェアを更新するという対策をとることが考えられます。そうすれば、この脆弱性を悪用した攻撃から組織を守ることができます。

SBOM ツールの改善提案

spdx-to-osv ツールを動作させるには、いくつかの小さな変更を行い、SBOM が提供する情報のあいまいさを排除する必要がありました。
  • 現在の bom ツールの実装では、バージョンがパッケージ名の中に含まれています(gopkg.in/square/[email protected])。SPDX 形式ではバージョン番号が別のフィールドに格納されているため、この接尾辞を取り除かないと、照合させることができませんでした。
  • この bom ツールで作成した SBOM では、エコシステムが特定できません。エコシステムがないと、どのライブラリやパッケージが影響を受けるかを確実に自動判定することはできません。エコシステムによって影響の有無が異なる場合、脆弱性スキャナが誤判定を引き起こす可能性があります。SBOM でライブラリやパッケージのバージョンが区別されていれば、利便性がさらに高まります。
ただし、これらは比較的小さなハードルで、手動で多少の調整をするだけで、うまくツールを実行できました。今後、このプロセスを簡単に実行できるように、次の提案により SBOM 生成ツールを改善したいと考えています。

  • SBOM ツールの作成者は、ソフトウェアに含まれるすべてのパッケージについて、Purl ãªã©ã®è­˜åˆ¥ã‚¹ã‚­ãƒ¼ãƒ ã«ã‚ˆã‚‹å‚照を追加すべきです。この種の識別スキームがあれば、エコシステムを特定できるとともに、前述の接尾辞のようなパッケージ記述子の小さな揺れに対するスキームの柔軟性が向上するので、パッケージの識別も容易になります。SPDX ではこれをサポートするために、Purl の外部参照やその他のパッケージ識別スキーマの外部参照を使用しています。
SBOM の未来

SBOM の当初の目的である「ソフトウェアの脆弱性リスク管理を支援する」が実現されつつあることは明らかです。今回の例では OSV データベースを照会しましたが、近いうちに、他の脆弱性データベースに SBOM データをマッピングしたり、VEX ãªã©ã®æ–°ã—い標準を使ったりすることもできるようになるでしょう。VEX では、ソフトウェアの脆弱性が軽減されているかどうかについての追加情報が提供されます。

SBOM の採用が広がり、ツールの改善が続けば、そう遠くないうちに、すべてのソフトウェアで SBOM のリクエストやダウンロードができるようになるでしょう。さらに、利用するソフトウェアの脆弱性も把握できるようになるかもしれません。今回の例を通して、SBOM と脆弱性データベースを結びつけるうえでの問題が解消されたときに、SBOM で何が実現できるかを垣間見ることができました。それこそ、使うソフトウェアのリスクに関する不安が軽減された新たな日常です。
 
spdx-to-osv ãƒ„ールの作成者で、このブログ投稿に貢献いただいた Source Auditor 社の Gary O'Neall 氏に深く感謝いたします。


Posted by Eiji Kitamura - Developer Relations Team


9 月 14 日(火)から 4 日間にわたり Open Cloud Summit を開催いたします。
アプリを高速に開発、改善することが重要な時代になってきています。Kubernetes やサーバーレス プラットフォームを利用した、モダンなシステム構築や開発、最新の運用管理について、わかりやすくお伝えします。
そして、お客様セッションでは、デンソー、日本経済新聞社、日本総合研究所、ビザスク、ブレインパッド、みんなの銀行にご登壇いただき、現場目線での Google Cloud 活用事例をお話しいただきます。

最終日の 17 日(金)には Open Cloud Summit で取り上げられる内容に合わせたハンズオンを Qwiklabs を用いてエンジニアの解説付きで開催いたします。

ご登録いただいた方から抽選で 100 名様に Google Cloud オリジナルのサニタイザー ケースをプレゼントいたします。
ぜひ、この機会にご登録ください。


お申込み受付中 : https://goo.gle/OCS_gcbg


開催概要

名 称 Open Cloud Summit 
日 程 9 月 14 日(火)~ 9 月 16 日(木)14:00 - 18:30
    (Cloud Study Jam ハンズオン は 9 月 17 日(金) 14:00-17:00 に開催)
対 象 開発エンジニア、インフラエンジニア、運用エンジニア
参加費 無料(事前登録制)
登 録 https://goo.gle/OCS_gcbg



ピックアップ セッション

■  Anthos & GKE は何を解決するのか ~ その価値を最大化する  3 つのヒント ~
  中丸 良
  Google Cloud アプリケーション モダナイゼーション スペシャリスト

■ Cloud Ops で踏み出す Cloud Run 本番運用への第一歩
  岩成 祐樹 
  Google Cloud カスタマー エンジニア

■ Apigee で作るオープン API エコノミー
  関谷 和愛 
  Google Cloud Apigee カスタマーエンジニアリング Japan リード



Google Cloud Japan は 9 月 3 日 (火)、開発エンジニア、インフラエンジニア、運用エンジニア向けに「Google Cloud Kubernetes Day」を開催いたします。

実際に Kubernetes 環境でアプリやサービスの開発を実践されている先進的な企業を迎え、それぞれのアプリケーションのモダナイゼーションや、Kubernetes の事例についてお話しいただきます。
また、深い専門知識をもつ Google Cloud のエンジニアが、Google Kubernetes Engine (GKE) をはじめとした Google Cloud Platform を利用し、どのようにアプリやサービスのコンテナ化を行うのか、開発、運用の実際について解説します。

セミナー終了後は同会場にて懇親会を開催いたします。
ぜひ、Google Cloud Kubernetes Day にご参加ください。

申し込みはこちら
https://goo.gle/k8sdaybg

◆ 開催概要 ◆
名称: Google Cloud Kubernetes Day
日程: 2019 å¹´ 9 月 3 日(火)
時間: 14:00 - 20:00 / 受付開始 13:00
対象: 開発エンジニア、インフラエンジニア、運用エンジニア
定員: 700 名
会場: ベルサール渋谷ファースト
    〒150-0011 東京都渋谷区東1-2-20 住友不動産渋谷ファーストタワー
締切: 2019 å¹´ 8 月 30 日(金)締切
※ 参加費 無料、事前登録制

◆ アジェンダ ◆
【トークセッション】
◇ 14:00 - –14:40
 『失敗しないアプリケーションモダナイゼーションの考え方 
  〜 アセスメントから開発アプローチ 〜』
  Google Cloud Japan 北瀬 公彦、村上 大河
  株式会社フリークアウト 西口 次郎 氏
  富士フイルムソフトウエア 株式会社 ムサヴィ ジャハン アバディ セイド モハマド氏

◇ 14:40 - –15:00 休憩

◇ 15:00 - –15:40
 『Anthos で実現するモダンなアプリケーション管理プラットフォーム』
  Google Cloud Japan 篠原 一徳、長谷部 光治

◇ 15:40 - –16:20
 『ユーザからみた Anthos GKE On-Prem の利用について』
  NTT 国際通信株式会社 桑山 純弥 氏

◇ 16:20 - –16:40 休憩

◇ 16:40 - –17:20
 『GCP で実現する CI / CD 最前線』
  Google Cloud Japan 岩成 祐樹

◇ 17:20 - –18:00
 『kubemci を用いたカナリヤリリース 
  〜 グローバルチームにおける GKE の監視事例 〜』
  株式会社LOB 片平 健太郎 氏、高橋 è¾°å¾³ 氏

【懇親会】
◇ 18:10–19:50


Posted by Takuo Suzuki - Developer Relations Team