Slide 1

Slide 1 text

1 © SMS Co., Ltd. 2024.8.3 株式会社エス・エム・エス 山口隆史 DevSecOpsの内回りと外回りで考える 持続可能なセキュリティ対策

Slide 2

Slide 2 text

2 © SMS Co., Ltd. 登壇背景 • 私は2社でDevSecOpsの実現を目指し、組織の中の人として Snykを導入(および導入中)してきました。この過程で、単に Shift Leftするだけでは解決されない課題や、運用ベースの対 応だけでは不十分な課題に直面しました。 • これらの経験を通じて、DevSecOpsを効果的に導入し、定着さ せ、さらに持続可能なものとするために必要な要素が見えてきま した。 • 本発表では、これらの洞察を共有したいと思います。

Slide 3

Slide 3 text

3 © SMS Co., Ltd. 自己紹介 氏名:山口隆史(やまぐちたかし) 所属:株式会社エス・エム・エス    プロダクト推進本部 プロダクト開発部 技術推進グループ 業務:全社SREとしての活動 略歴:フリーランス、SIer、Web系を渡り歩く→現職(2024/05〜) 自称:Security Hub芸人 好きなAWSサービス:営業、Security Hub、GuardDuty 他:AWS Community Builder(Security & Identity)、   JAWS-UG千葉支部運営、Snyk Ambassador 第022587号

Slide 4

Slide 4 text

4 © SMS Co., Ltd. 会社概要 *1:第1期は含めずカウント *2:第7期迄は単体数値、第8期より連結数値にて記載 基礎情報 株式会社エス・エム・エス(英語表記)SMS Co., Ltd. 2003年 4月4日 東京証券取引所プライム市場(証券コード:2175) 25億5,172万円(2024年3月31日時点) 連結:4,188人、単体:2,754人(2024年3月31日時点) 国内:3社、海外:アジア・オセアニア等17の国と地域 「高齢社会に適した情報インフラを構築することで人々 の生活の質を向上し、社会に貢献し続ける」 高齢社会に求められる領域を、医療・介護/障害福祉・ヘルス ケア・シニアライフと捉え、価値提供先であるエンドユーザ・ 従事者・事業者をつなぐプラットフォームとしての情報インフ ラを構築し、40以上のサービスを展開 会社名 設立 市場情報 資本金 従業員数 関連会社 ミッション 業績 売上、経常利益推移*2 (売上高・億円) (経常利益・億円) 20期連続*1で増収増益を達成

Slide 5

Slide 5 text

5 © SMS Co., Ltd. 分野 区分 サービス キャリア 介護キャリア 医療キャリア 介護・障害福祉 事業者 ヘルスケア シニアライフ 海外 *1.柔道整復師、あん摩マッサージ師、はり師、きゅう師のこと サービス一覧 看護師向け 人材紹介 介護・医療・福祉の 資格講座情報 PT/OT/ST向け 人材紹介 ケアマネジャー向け 人材紹介 介護職向け求人情報 看護学生向け 就職情報 放射線技師向け 人材紹介 高校生・看護学生 向け奨学金情報 臨床検査技師向け 人材紹介 看護師・看護学生向け コミュニティ 臨床工学技士向け 人材紹介 保育士向け 人材紹介 治療家*1・セラピスト向け 人材紹介 介護事業者向け 経営支援 介護事業の 経営者・管理者向け情報 高齢社会の 調査・研究・情報発信 医療従事者向け医薬情報 治療家*1・セラピスト向け 求人情報 柔道整復師・あはき師 向け受験参考書 人事・組織ソリューション 管理栄養士・栄養士向け 人材紹介 介護職向け人材紹介 介護で働く人の ためのスクール 介護で悩む人向け コミュニティ 高齢者向け食事宅配 紹介サービス 高齢者向け住宅 紹介サービス 遠隔指導特定保健指導 サービス 管理栄養士・栄養士向け コミュニティ 企業の介護離職 防止ソリューション ICTを活用した 禁煙サポート 認知症患者とその家族 向け認知症情報 認知症予防 ソリューション 認知症予防の 習慣化サポート 遠隔指導重症化予防 サービス 女性の健康経営 サポート 産業保健に 関わる人向け情報 企業の健康管理 業務サポート 住まいにまつわる 総合情報サイト 葬儀社紹介サービス  ケアマネジャー 向けコミュニティ 医療従事者向け人材紹介 (マレーシア、フィリピン、アイルランド、UK、ドイツ 等) 看護師向け キャリアサービス 行動療法に特化した 禁煙サポート 自治体向け調査・ 計画策定・予防事業 医療介護業界特化型 ストレスチェック

Slide 6

Slide 6 text

6 © SMS Co., Ltd. ここから本題

Slide 7

Slide 7 text

7 © SMS Co., Ltd. 01 02 03 04 05 用語整理 DevSecOpsの内回りと外回り 組織にDevSecOpsを導入して定着させるには Snykの紹介 まとめ 目次

Slide 8

Slide 8 text

8 © SMS Co., Ltd. 01 02 03 04 05 用語整理 DevSecOpsの内回りと外回り 組織にDevSecOpsを導入して定着させるには Snykの紹介 まとめ

Slide 9

Slide 9 text

9 © SMS Co., Ltd. DevSecOpsとは “DevSecOpsでは、システムの「要件定義」「設計」「実装」 「テスト」「リリース」「運用」の全開発プロセスで、脆弱性が 入り込むリスクを低減するコンプライアンスチェックなどのセ キュリティ対策を組み込んでいきます。” 出典:https://www.ntt.com/business/services/xmanaged/lp/column/dev-sec-ops.html

Slide 10

Slide 10 text

10 © SMS Co., Ltd. 01 02 03 04 05 用語整理 DevSecOpsの内回りと外回り 組織にDevSecOpsを導入して定着させるには Snykの紹介 まとめ

Slide 11

Slide 11 text

11 © SMS Co., Ltd. DevSecOpsの内回りと外回りの定義 開発プロセス初期からセキュリ ティを組み込む「Shift Left」 戦略 デプロイ後の運用環境における セキュリティ対応 内回り 外回り

Slide 12

Slide 12 text

12 © SMS Co., Ltd. 内回りでセキュリティ対応をやってみた

Slide 13

Slide 13 text

13 © SMS Co., Ltd. 内回りでのセキュリティ対策 ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 デプロイパイプライン

Slide 14

Slide 14 text

14 © SMS Co., Ltd. 内回りで実施するセキュリティ対策 ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD EKS ECS EC2 Fargate 開発者の手 元でスキャ ン PR作成時に差 分スキャン ビルドした成 果物をスキャ ン 定期的自 動的にス キャン

Slide 15

Slide 15 text

15 © SMS Co., Ltd. 内回りで実現できたこと • CICDパイプラインへのセキュリティ対策の統合 ○ 自動化された脆弱性スキャンとgating • 開発者がセキュリティを意識して開発できるようになった ○ 修正のサジェストがされることでセキュリティの知識が深く なくても意識して学習していける

Slide 16

Slide 16 text

16 © SMS Co., Ltd. 内回りで実現できたこと • CICDパイプラインへのセキュリティ対策の統合 ○ 自動化された脆弱性スキャンとgating • 開発者がセキュリティを意識して開発できるようになった ○ 修正のサジェストがされることでセキュリティの知識が深く なくても意識して学習していける • セキュリティが担保されたアプリケーションを開発者の負担 感なくデプロイできる

Slide 17

Slide 17 text

17 © SMS Co., Ltd. 内回りで課題として残ったこと • 一定以上脆弱性を減らし切るまでは内回りアプローチには着 手できない • 現在の開発対象ではないソースコードリポジトリの脆弱性に 対応するトリガーがない • デフォルトブランチと開発ブランチ間の差分が多い状態だと うまく機能しない

Slide 18

Slide 18 text

18 © SMS Co., Ltd. 内回りで課題として残ったこと • 一定以上脆弱性を減らし切るまでは内回りアプローチには着 手できない • 現在の開発対象ではないソースコードリポジトリの脆弱性に 対応するトリガーがない • デフォルトブランチと開発ブランチ間の差分が多い状態だと うまく機能しない • 内回りだけでは網羅的なセキュリティが担保できない

Slide 19

Slide 19 text

19 © SMS Co., Ltd. 外回りでセキュリティ対応をやってみた

Slide 20

Slide 20 text

20 © SMS Co., Ltd. 外回りでのセキュリティ対策 ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 デプロイパイプライン

Slide 21

Slide 21 text

21 © SMS Co., Ltd. 外回りで実施するセキュリティ対策 ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD EKS ECS EC2 Fargate 定期的自動的 にスキャン 実行中のコンテ ナイメージを定期 的自動的にス キャン CVEの調査 ミスコンフィグ の検知、修正

Slide 22

Slide 22 text

22 © SMS Co., Ltd. 外回りで実現できたこと • 実行中のコンテナイメージの脆弱性スキャンとその対応 • ビルド後のコンテナイメージの継続的な脆弱性スキャンとそ の対応 ○ 定点監視、横断監視としては最適 • 実行環境のミスコンフィグスキャンとその対応

Slide 23

Slide 23 text

23 © SMS Co., Ltd. 外回りで実現できたこと • 実行中のコンテナイメージの脆弱性スキャンとその対応 • ビルド後のコンテナイメージの継続的な脆弱性スキャンとそ の対応 ○ 定点監視、横断監視としては最適 • 実行環境のミスコンフィグスキャンとその対応 • 実行環境の網羅的な脆弱性スキャンとその対応

Slide 24

Slide 24 text

24 © SMS Co., Ltd. 外回りで課題として残ったこと • リリース(開発)ブランチとコンテナリポジトリで検知され る脆弱性が異なる場合のトリアージの効率化 ○ リリース(開発)ブランチでは対応済みの脆弱性 • 別チームがトリアージする場合、開発チームとのコミュニ ケーションと脆弱性対応の追跡方法 ○ チケット管理

Slide 25

Slide 25 text

25 © SMS Co., Ltd. 外回りで課題として残ったこと • リリース(開発)ブランチとコンテナリポジトリで検知され る脆弱性が異なる場合のトリアージの効率化 ○ リリース(開発)ブランチでは対応済みの脆弱性 • 別チームがトリアージする場合、開発チームとのコミュニ ケーションと脆弱性対応の追跡方法 ○ チケット管理 • 外回りだけではセキュリティ対応がつらい

Slide 26

Slide 26 text

26 © SMS Co., Ltd. 内回りと外回りのまとめ • セキュリティが担保された アプリケーションが負担感 なくデプロイできる • 実行環境の網羅的な脆弱性 スキャンとその対応ができ る • 内回りだけでは網羅的なセ キュリティが担保できない • 外回りだけではセキュリ ティ対応がつらい 内回り 外回り

Slide 27

Slide 27 text

27 © SMS Co., Ltd. 内回りと外回りのまとめ • セキュリティが担保された アプリケーションが負担感 なくデプロイできる • 実行環境の網羅的な脆弱性 スキャンとその対応ができ る • 内回りだけでは網羅的なセ キュリティが担保できない • 外回りだけではセキュリ ティ対応がつらい 内回り 外回り

Slide 28

Slide 28 text

28 © SMS Co., Ltd. 内回りと外回りのまとめ • セキュリティが担保された アプリケーションが負担感 なくデプロイできる • 実行環境の網羅的な脆弱性 スキャンとその対応ができ る • 内回りだけでは網羅的なセ キュリティが担保できない • 外回りだけではセキュリ ティ対応がつらい 内回り 外回り

Slide 29

Slide 29 text

29 © SMS Co., Ltd. 内回りと外回りを連携して対応をやってみた

Slide 30

Slide 30 text

30 © SMS Co., Ltd. 内回りと外回りでのセキュリティ対策 ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 デプロイパイプライン

Slide 31

Slide 31 text

31 © SMS Co., Ltd. 内回りと外回りの連携戦略 • 落ち着いて脆弱性を確認できる量になるまでは外回りだけで 運用する ○ ベースイメージの更新と使用しているライブラリのアップ デートでこのレベルまで到達する • 内回りで対応することを基本戦略とする ○ ブランチ戦略によっては外回りで対応する方が良い • 緊急対応が必要なCVEは外回りで対応

Slide 32

Slide 32 text

32 © SMS Co., Ltd. 具体的な運用の案 • スクラム、カンバン等の現状の開発フローに組み込む ○ 開発チームが自ら運用できるルールを決める ■ 週に何件対応する ■ 対応する曜日を決める ■ 緊急性が高いものは差し込みで対応 • 優先度を決める ○ アタックサーフェスの脆弱性を優先する ○ 重要度の高いシステムを優先する ○ Critical、攻撃コードが存在する脆弱性を優先する

Slide 33

Slide 33 text

33 © SMS Co., Ltd. 内回りと外回りの連携で実現できたこと • 疲弊しない持続的なセキュリティ対策運用の実現 • 開発フローに組み込むことによりセキュリティ対策が開発 チームの自分ごとになった • 網羅的なセキュリティ対応

Slide 34

Slide 34 text

34 © SMS Co., Ltd. ここまでのまとめ • DevSecOpsのセキュリティ対応には内回りと外回りの2つの アプローチがあります • セキュリティ対策を開発フローに組み込み、開発チームが自 分たちで運用できるルールにすることと、内回りと外回りを 連携させることが大事です • そうすることで持続可能なセキュリティ対策が実現できます

Slide 35

Slide 35 text

35 © SMS Co., Ltd. 01 02 03 04 05 用語整理 DevSecOpsの内回りと外回り 組織にDevSecOpsを導入して定着させるには Snykの紹介 まとめ

Slide 36

Slide 36 text

36 © SMS Co., Ltd. 現状を把握する • 組織全体 ○ セキュリティ、脆弱性対応への組織としての温度感 ○ 予算感 • 開発チーム ○ 開発チーム数、開発者数、余力 ○ 現在の脆弱性対応への取り組み • ソースコードリポジトリ ○ 対象リポジトリ数 ○ セキュリティスキャン結果

Slide 37

Slide 37 text

37 © SMS Co., Ltd. 導入戦略 • チームの選定 ○ 余力のあるチームから導入していく ○ 対応すべき脆弱性が残っているアプリケーションの担当 チームが望ましい • 導入方法のカスタマイズ ○ チームの状況、ブランチ戦略によって脆弱性へのアプロー チをカスタマイズする

Slide 38

Slide 38 text

38 © SMS Co., Ltd. 開発チームへの導入 • セキュリティ対応の必要性を説明 • ツールの使い方を説明 • 開発タスク(スクラム等)に組み込んでいく ○ セキュリティを追加対応にしない • 開発チーム側のセキュリティ責任者を決める ○ セキュリティチャンピオン • 導入完了までは定例MTGをする ○ 課題があれば一緒に解決策を模索していく

Slide 39

Slide 39 text

39 © SMS Co., Ltd. 組織全体への導入 • 理想 ○ 開発チームにセキュリティに興味を持ってもらい ○ 対策の必要性を実感してもらって ○ 道具立てを揃えて ○ 運用が回ったあとの世界を開発チームと共有して ○ 順次導入していく • ワークアラウンド ○ どうしようもなければトップダウン戦略も考慮に入れる

Slide 40

Slide 40 text

40 © SMS Co., Ltd. ここまでのまとめ • DevSecOpsの組織への展開に唯一の正解はありません • 組織の状況に合わせて導入戦略をカスタマイズする必要があ ります

Slide 41

Slide 41 text

41 © SMS Co., Ltd. 01 02 03 04 05 用語整理 DevSecOpsの内回りと外回り 組織にDevSecOpsを導入して定着させるには Snykの紹介 まとめ

Slide 42

Slide 42 text

42 © SMS Co., Ltd. Snykとは 開発者の手元で脆弱性チェックができて、 GitHub上でPR作成するとでPRチェックができて、 ビルドしたイメージの脆弱性スキャンができて、 イメージをリポジトリにPUSHしたらTagで追いかけて定期的な 脆弱性スキャンができて、 修正のサジェストをしてくれ、 それらをダッシュボードでまとめて確認できるSaaSです

Slide 43

Slide 43 text

43 © SMS Co., Ltd. 開発者の手元で脆弱性チェック ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD EKS ECS EC2 Fargate

Slide 44

Slide 44 text

44 © SMS Co., Ltd. IDE上でのサジェスト CODE

Slide 45

Slide 45 text

45 © SMS Co., Ltd. IDE上でのサジェスト OSS

Slide 46

Slide 46 text

46 © SMS Co., Ltd. PRチェック ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD EKS ECS EC2 Fargate

Slide 47

Slide 47 text

47 © SMS Co., Ltd. PRチェック

Slide 48

Slide 48 text

48 © SMS Co., Ltd. PRチェック(closed beta) 出典:https://updates.snyk.io/pr-comments-for-snyk-pr-checks-are-now-in-closed-beta-292934 • PR Commentに表示 する機能はクローズド ベータ中

Slide 49

Slide 49 text

49 © SMS Co., Ltd. ダッシュボードでまとめて確認 ホスト・基盤 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD EKS ECS EC2 Fargate

Slide 50

Slide 50 text

50 © SMS Co., Ltd. ダッシュボード ・Project一覧 ・Projectをドリルダウン ・スキャン対象単位

Slide 51

Slide 51 text

51 © SMS Co., Ltd. Sysdigとの合わせ技でできること • in-useな脆弱性をSysdig で識別して、それをSnyk に連携する • Snyk側でその脆弱性の優 先度を上げて対応するこ とが可能 出典:https://sysdig.jp/blog/sysdig-snyk-partnership/

Slide 52

Slide 52 text

52 © SMS Co., Ltd. 01 02 03 04 05 用語整理 DevSecOpsの内回りと外回り 組織にDevSecOpsを導入して定着させるには Snykの紹介 まとめ

Slide 53

Slide 53 text

53 © SMS Co., Ltd. まとめ • DevSecOpsのセキュリティ対応には内回りと外回りの2つの アプローチがあります • 内回りと外回りを連携することで持続可能なセキュリティ 対応ができます • ツールをうまく活用することでセキュリティ対応が楽になり ます。 • DevSecOpsの導入は組織に合わせてカスタマイズしましょう