2022.09.01

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

佐藤梨花
SB C&S株式会社 テクニカルマーケティングセンター
このエントリーをはてなブックマークに追加

※本セミナーのセッション資料・アーカイブ動画こちら

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

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

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

    セミナー情報

    概要

    昨今、コンテナの開発初期段階からセキュリティを組み込んで手戻りの発生を防ぎスピードとセキュリティを両立させる『シフトレフト』が注目されています。

    本ウェビナーでは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_0.png

    「設計図」の重要さはさることながら、家を建てるにあたり「部材」も重要な存在である。建築会社は基本的に部材を外部調達するが、その際にいい加減な作りや信頼のおけない会社が製造しているものは使用しません。

    ソフトウェアであっても同じように、「ソースコード」だけではなく「依存関係」も重要な存在であり、依存関係に欠陥があれば、それは完成したソフトウェアの欠陥に繋がります。

    ソフトウェアサプライチェーンの攻撃手法

    Git等のVCSを使用したソースコード管理、CICDによるビルド管理は行われていても、依存関係の管理についてはこれといった対策を行っていない組織が多いのが現状です。そのためこの部分が攻撃対象なり、ソフトウェアサプライチェーン攻撃が発生します。

    「ソフトウェアサプライチェーンは別の多くのソフトウェアサプライチェーンから成り立つ」、つまり依存関係自体も、別の依存関係によって作られているということである。よって意識していないところで自分たちの管理外のソースコードを使用することになり、そのすべてにソフトウェアサプライチェーン攻撃のリスクが存在するということです。

    JFrog_3.png
    具体的な手法としては、悪意のあるコンポーネントを組み込ませるような攻撃が主戦場になっています。このような攻撃はハッキングのような攻撃に比べ、必要な技術が低く、少ない労力で行うことが出来ることが特徴です。
    例)有名なソフトウェアの名称を1文字変えたマルウェアを作成し、ユーザにダウンロードさせ使わせる

    通常のハッキングは高度な知識を必要とし、基本は1つのシステム・1人のユーザが対象であるためスケーラブルではありませんが、有名なコンポーネントであれば数百数千のシステムで使用されているため、拡散性の高いスケーラブルな攻撃になってしまいます。

    また、企業が作成したコンポーネントが改ざんされた場合、使用者も疑わずに利用してしまうため、対象となりやすいのも特徴です。Log4jやSolarWindsがその実例です。

    JFrog_4.png

    攻撃パターンとしては、以下の3点です。 ※括弧内は実例
     ①意図しないバグがセキュリティの問題になってしまう(Log4j)
     ②意図的なバックドア(SolarWinds ※注1)
     ③CVE(※注2)が未付与、もしくは付与される可能性が低い悪意のあるコンポーネントをパブリックリポジトリに配置
     ※注1:ソフトウェアサプライチェーン攻撃の良い例であり、米大統領令のきっかけになった
     ※注2:米政府私怨により非営利団体のMITRE社が採番している共通脆弱性識別子

    まとめ、感想

    前編では「ソフトウェアサプライチェーンとは何か」と「ソフトウェアサプライチェーンに対する攻撃とは」という内容をレポートさせて頂きました。

    三宅様のセッションを通じ、ソフトウェアサプライチェーンに対する攻撃が、いかに開発者の意識の外からやって来る脅威であることかがとても良く理解出来ました。

    またアメリカでは、2021年5月に「サイバーセキュリティに関する大統領令」にバイデン大統領が署名しました。この大統領令は「ソフトウェアサプライチェーン」に対して明言されたものであり、その事実からもソフトウェアを狙ったサプライチェーン攻撃が猛威を振るっており、このまま対策を取らなければ、今後は更に被害が拡大することが予見されます。

    後編ではこのような脅威に対し、JFrogがどのような対策を行っているかについて、
    ・キュレーション
    ・脆弱性チェック
    ・署名付きパイプライン
    という3点を軸に解説された内容をレポートさせて頂きます。

    是非、こちらも併せてご覧ください。

    関連リンク

    セッション資料・アーカイブ動画はこちら

    JFrog「The JFrog Platform」

    「JFrog」紹介資料

    この記事の著者:佐藤梨花

    SB C&S株式会社 テクニカルマーケティングセンター

    勤怠管理システムの開発(使用言語:Java)に約8年間従事。
    現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。


    DevOps Hubのアカウントをフォローして
    更新情報を受け取る

    • Like on Feedly
      follow us in feedly

    関連記事

    このエントリーをはてなブックマークに追加

    お問い合わせ

    DevOpsに関することなら
    お気軽にご相談ください。

    Facebook、TwitterでDevOpsに関する
    情報配信を行っています。