Slide 1

Slide 1 text

株式会社 Gunosy テクノロジー本部 プロダクト開発部 SREチーム マネージャー 山口 隆史 2023年10月16日(月) コンテナセキュリティ対応でSnykを導入中に 発生した・発生中のいろんなこと

Slide 2

Slide 2 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 2 エレベーターピッチ [コンテナセキュリティに興味がある人]、 [コンテナセキュリティをこれから始めたい人]向けに発表する [コンテナセキュリティ対応でSnykを導入中に発生した・発生中のいろんな こと]は [現場の泥臭い話]です これは[大きくない開発組織でのセキュリティ対応の現場での実践に基づい て構成しているため、現実感]があり これまでの成功事例やベンダーのセールス資料とは違って [ツールの限界と、ツールを導入してから定常運用に至るまでの活動に焦 点をあてている]

Slide 3

Slide 3 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 3 LT終了後に狙う状態 論理面 - セキュリティ対策を現場に適用して、理想的な運用状態になるまでに発生 する・した課題が理解できる - セキュリティツールを導入したら解決できる問題、解決できない問題が理解 できる 感情面 - セキュリティ対策に興味を持ってやってみようと思える

Slide 4

Slide 4 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 4 注意事項 ■ ステルスマーケティング規制対応(2023年10月1日〜) – Snykさんの宣伝と受け取られそうなところにPRマークをつけています ※注意 – Snykさんからは金銭もしくはその他の経済利益の提供はいただいていませ ん – Tシャツはいただきました ● 発表するんですよ〜って伝えたら、「これ着て発表して!」ってことでいた だきました PR

Slide 5

Slide 5 text

(C) Gunosy Inc. All Rights Reserved. 本題に入る前に自己紹介

Slide 6

Slide 6 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 6 自己紹介 氏名:山口隆史(やまぐちたかし) 所属:株式会社Gunosy テクノロジー本部 プロダクト開発部 SREチーム マネージャー 業務:Pure SREとしての活動 略歴:フリーランス、SIer等を渡り歩く→現職(2022/01〜) 自称:Security Hub芸人 好きなAWSサービス:Security Hub、CloudShell、サポート 他:AWS Community Builder(Security & Identity)、JAWS-UG千葉支部運営 第022587号

Slide 7

Slide 7 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 7 株式会社Gunosy ギリシャ語で「知識」を意味する「Gnosis(グノーシス)」+「u(“you”)」 「”Gnosis” for “you”」あなたのための知識  =情報を届けるサービスを提供し続ける、という意味 ■ 2012年11月創業 ■ 2015年4月東証マザーズ上場 ■ 2017年12月東証第一部に市場変更 ■ 2022年4月東京証券取引所の市場一部からプライム市場に移行 ■ 従業員数 252名 (2023年5月末現在 連結ベース) ■ 事業内容 – 情報キュレーションサービスその他メディアの開発及び運営 ■ 提供サービス  グノシー、ニュースパス、 auサービスToday、YOU IN 企業理念「情報を世界中の人に最適に届ける」

Slide 8

Slide 8 text

(C) Gunosy Inc. All Rights Reserved. ここから本題

Slide 9

Slide 9 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 9 アジェンダ 話すこと ● コンテナセキュリティ対策で求められる内容とは ● ツール(Snyk)を導入することでできること ● 導入後に運用を開始するために必要なこと (導入するだけではできないこと) ● まとめ

Slide 10

Slide 10 text

(C) Gunosy Inc. All Rights Reserved. コンテナセキュリティ対策で求められる内容とは

Slide 11

Slide 11 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 11 Gunosyのデプロイパイプラインの一例 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD Docker Hub EKS ECS EC2 Fargate

Slide 12

Slide 12 text

(C) Gunosy Inc. All Rights Reserved. パイプラインのどこでセキュリティ対策を 実施する必要があるか?

Slide 13

Slide 13 text

(C) Gunosy Inc. All Rights Reserved. パイプラインの全ての段階で 対策が必要です!

Slide 14

Slide 14 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 14 コンテナセキュリティ対策で求められる内容 オーケスト レーター レジストリ CI/CD 開発 開発者 開発者の手元でスキャ ン (コード、OSS、ライセ ンス、Dockerfile、マ ニュフェスト)

Slide 15

Slide 15 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 15 コンテナセキュリティ対策で求められる内容 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ PR作成時に差分スキャ ン (コード、OSS、ライセン ス、Dockerfile) 定期的自動的にスキャ ン (コード、OSS、ライセン ス、Dockerfile)

Slide 16

Slide 16 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 16 コンテナセキュリティ対策で求められる内容 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions Argo CD ビルドした成果物をス キャン (コード、OSS、ライセン ス、Dockerfile、マニュ フェスト)

Slide 17

Slide 17 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 17 コンテナセキュリティ対策で求められる内容 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD Docker Hub 定期的自動的にスキャ ン (コード、OSS、ライセン ス、Dockerfile)

Slide 18

Slide 18 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 18 コンテナセキュリティ対策で求められる内容 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD Docker Hub EKS ECS マニュフェストを スキャン 使用Imageをス キャン

Slide 19

Slide 19 text

(C) Gunosy Inc. All Rights Reserved. PAGE | ホスト・基盤 19 コンテナセキュリティ対策で求められる内容 オーケスト レーター レジストリ CI/CD 開発 開発者 Gitリポジトリ CircleCI GitHub Actions ECR (Private Registry) Argo CD Docker Hub EKS ECS EC2 Fargate ワークロード保護 ランタイム保護

Slide 20

Slide 20 text

(C) Gunosy Inc. All Rights Reserved. ツールを導入して自動化しないと 定常的な運用は無理!

Slide 21

Slide 21 text

(C) Gunosy Inc. All Rights Reserved. ツール(Snyk)を導入することでできること

Slide 22

Slide 22 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 22 Snykとは PR

Slide 23

Slide 23 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 23 Snykとは PR

Slide 24

Slide 24 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 24 ツール(Snyk)を導入することでカバーできる範囲 開発 GitHub CI/CD コンテナレジ ストリ オーケスト レーター ホスト・基盤 パイプライン で求められる 内容 開発者の手 元でスキャ ン PR作成時に 差分スキャ ン 定期的自動 的にスキャ ン ビルドした成 果物をス キャン 定期的自動 的にスキャ ン マニュフェス トをスキャン 使用Image をスキャン ワークロード 保護 ランタイム保 護 AWSサービ スで対応でき ること Snykで対応 できること GuardDuty Inspector Amazon CodeWhisperer 一部対応 Imageス キャン PR

Slide 25

Slide 25 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 25 ツール(Snyk)を導入することでカバーできる範囲 開発 GitHub CI/CD コンテナレジ ストリ オーケスト レーター ホスト・基盤 パイプライン で求められる 内容 開発者の手 元でスキャ ン PR作成時に 差分スキャ ン 定期的自動 的にスキャ ン ビルドした成 果物をス キャン 定期的自動 的にスキャ ン マニュフェス トをスキャン 使用Image をスキャン ワークロード 保護 ランタイム保 護 AWSサービ スで対応でき ること Snykで対応 できること GuardDuty Inspector Amazon CodeWhisperer 一部対応 Imageス キャン PR Snykを導入することでほぼほぼカバーできる

Slide 26

Slide 26 text

(C) Gunosy Inc. All Rights Reserved. ここまで5分が目安

Slide 27

Slide 27 text

(C) Gunosy Inc. All Rights Reserved. でも導入するだけでは運用はまわりません

Slide 28

Slide 28 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 28 運用フローでSnykでカバーできる範囲 [定期・自動] スキャン DBとの照合 ダッシュボードで 確認 or 通知で確認 トリアージ 脆弱性対応 無影響確認 ・テスト デプロイ 網羅的なス キャン 強力な修正 Suggest 一覧で確認しや すいダッシュ ボード PR

Slide 29

Slide 29 text

(C) Gunosy Inc. All Rights Reserved. 導入後に運用を開始するために必要なこと (導入するだけではできないこと)

Slide 30

Slide 30 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 30 初期導入時の大量の脆弱性への対応 ■ 初期導入時に大量に検出されるはずの既存の脆弱性への対応が 大変 – 優先順位を付けて順次対応していく必要がある (これは初期導入後の運用時も必要) ● internet-facing / internal(攻撃面) ● 攻撃コードの公開有無 ● 脆弱性の重大度 ● 攻撃された際の業務影響 引用 米カーネギーメロン大学ソフトウェア工学研究所公開のオリジナル論文より https://resources.sei.cmu.edu/asset_files/WhitePaper/2021_019_001_653461.pdf


Slide 31

Slide 31 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 31 初期導入時の大量の脆弱性への対応 ■ 初期導入時に大量に検出されるはずの既存の脆弱性への対応が 大変 – 優先順位を付けて順次対応していく必要がある (これは初期導入後の運用時も必要) ● internet-facing / internal ● 攻撃コードの公開有無 ● 脆弱性の重大度 ● 攻撃された際の業務影響 ■ なぜ必要なのか? – 全部対応してくださいだと拒絶が先に来てしまう ● 優先順位をつけて対応していくことで、開発チーム側の理 解を得やすい

Slide 32

Slide 32 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 32 脆弱性への対応の追跡(チケット管理) ■ 導入後の脆弱性消し込み段階ではリポジトリ・Image単位でJIRAチケットを起票 する – Snykの機能でサポートされているのは脆弱性単位のJIRAチケット起票

Slide 33

Slide 33 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 33 脆弱性への対応の追跡(チケット管理) ■ 導入後の脆弱性消し込み段階ではリポジトリ・Image単位でJIRAチケットを起票 する – Snykの機能でサポートされているのは脆弱性単位のJIRAチケット起票 ■ Why – 初期導入時の脆弱性消し込み段階だと、脆弱性単位だと大量にJIRAチケッ トが発生する ● 開発チームの拒絶反応に直結してしまう

Slide 34

Slide 34 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 34 脆弱性への対応の追跡(チケット管理) ■ 導入後の脆弱性消し込み段階ではリポジトリ・Image単位でJIRAチ ケットを起票する – Snykの機能でサポートされているのは脆弱性単位のJIRAチ ケット起票 ■ Why – 初期導入時の脆弱性消し込み段階だと、脆弱性単位だと大量 にJIRAチケットが発生する – 開発チームの拒絶反応に直結してしまう ■ 脆弱性が消し込み終わった段階で、脆弱性単位のJIRAチケット起 票に切り替える (まだできてません)

Slide 35

Slide 35 text

(C) Gunosy Inc. All Rights Reserved. まとめ

Slide 36

Slide 36 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 36 まとめ ■ セキュリティ対応ツールに期待しすぎない – 脆弱性を減らすのは結局はマンパワーと事前調整が必要です ■ セキュリティ対応ツールを導入すると結構なところまではツールがやってくれます – うまくツールとサポートを使いましょう ■ テストの自動化、いい感じのCI/CD等の開発の足回りの強化は脆弱性対応にも 効きます – 普段から整備しておきましょう

Slide 37

Slide 37 text

(C) Gunosy Inc. All Rights Reserved. Appendix

Slide 38

Slide 38 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 38 Snykを導入することの効果① ■ ダッシュボードで脆弱性の一覧表示が できる – Severity毎の件数 ● リポジトリ単位 ● パッケージマネージャ単位 – CVE単位での検索 PR

Slide 39

Slide 39 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 39 Snykを導入することの効果② ■ 脆弱性の修正方法のSuggest – Base Imageを更新したらどれくら い脆弱性が減るか – 脆弱性の修正方法 PR イチオシ機能

Slide 40

Slide 40 text

(C) Gunosy Inc. All Rights Reserved. PAGE | 40 Snykを導入することの効果③ ■ 脆弱性の修正PRが出せる – 手動でPRが出せる – AutoFixでPRも出せる PR

Slide 41

Slide 41 text

情報を世界中の人に最適に届ける