Slide 1

Slide 1 text

1 © Internet Initiative Japan Inc. Sysdig Secure/Falcoの活用術! 株式会社インターネットイニシアティブ 2022年8月5日(金) セキュリティ本部セキュリティオペレーション部セキュリティオペレーションセンター / ネットワーク本部 SRE推進部 長谷川 千広 / 李 瀚 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~

Slide 2

Slide 2 text

2 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 自己紹介 長谷川 千広(Hasegawa Chihiro) • 所属:セキュリティ本部 セキュリティオペレーション部 セキュリティオペレーションセンター • 兼務:ネットワーク本部 SRE推進部(2022年度~) • 主な業務内容:マルウェア解析、脆弱性の検証 李 瀚(Li Han) ・所属:ネットワーク本部 SRE推進部 ・主な業務内容:社内Kubernetes基盤の開発運用

Slide 3

Slide 3 text

3 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ セッションの要約 本セッションは、大きく2つの話題に分割されます • Kubernetes基盤上のシステムに対する脅威モデリング • 脅威を見つけ出す手法の解説と実例を紹介 • Sysdig Secure/Falcoの活用例の紹介 • Sysdig Secure/Falcoをどういうところで活用することができるのか

Slide 4

Slide 4 text

4 IKE(IIJ Kubernetes Engine)の紹介

Slide 5

Slide 5 text

5 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE(IIJ Kubernetes Engine) • IKEは、IIJのサービスのためのKubernetes共通基盤です • 国内の複数拠点にKubernetesクラスタが構築されています • 共有のKubernetesクラスタを複数のマルチテナントに提供しています https://thinkit.co.jp/article/18951

Slide 6

Slide 6 text

6 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE(IIJ Kubernetes Engine) • IKEは、IIJのサービスのためのKubernetes共通基盤です • 国内の複数拠点にKubernetesクラスタが構築されています • 共有のKubernetesクラスタを複数のマルチテナントに提供しています https://thinkit.co.jp/article/18951 Sysdig SecureでIKE Monitoring のセキュリティを強化する

Slide 7

Slide 7 text

7 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE(IIJ Kubernetes Engine) https://eng-blog.iij.ad.jp/kubernetes

Slide 8

Slide 8 text

8 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ • メトリクス、ログ、トレースの収集や長期保存が可能なマルチテナント対応の監視基盤 • IKE上にデプロイされたシステムの状態を把握することができる • 利用者は、IKE上のGrafanaを用いて可視化や検索を行うことができる IKE Monitoring

Slide 9

Slide 9 text

9 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Sysdig Secure • CloudNativeプラットフォームを守る包括的なセキュリティ製品 • IKEでは、基盤としてセキュリティを担保する仕組みとして導入 • 代表的な機能 • 脆弱性管理 • コンプライアンス • ランタイムセキュリティ • フォレンジック • 監査 https://www.scsk.jp/sp/sysdig/sysdig_secure.html

Slide 10

Slide 10 text

10 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Falco https://github.com/falcosecurity/falco/blob/master/rules/falco_rules.yaml • 独自のルールを用いてコンテナの脅威を検知することに特化したエンジン • 再利用可能なリストやマクロを活用して、可読性の高いルールを作成可能 • Sysdig Secureでは、Falcoのルールを用いて検知ルールをカスタマイズ

Slide 11

Slide 11 text

11 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Falco • 独自のルールを用いてコンテナの脅威を検知することに特化したエンジン • 再利用可能なリストやマクロを活用して、可読性の高いルールを作成可能 • Sysdig Secureでは、Falcoのルールを用いて検知ルールをカスタマイズ https://github.com/falcosecurity/falco/blob/master/rules/falco_rules.yaml 検知ルール

Slide 12

Slide 12 text

12 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Falco https://github.com/falcosecurity/falco/blob/master/rules/falco_rules.yaml 検知ルール • 独自のルールを用いてコンテナの脅威を検知することに特化したエンジン • 再利用可能なリストやマクロを活用して、可読性の高いルールを作成可能 • Sysdig Secureでは、Falcoのルールを用いて検知ルールをカスタマイズ

Slide 13

Slide 13 text

13 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Falco https://github.com/falcosecurity/falco/blob/master/rules/falco_rules.yaml ログやアラートに表示する文字列 • 独自のルールを用いてコンテナの脅威を検知することに特化したエンジン • 再利用可能なリストやマクロを活用して、可読性の高いルールを作成可能 • Sysdig Secureでは、Falcoのルールを用いて検知ルールをカスタマイズ https://falco.org/docs/rules/supported-fields/

Slide 14

Slide 14 text

14 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKEのセキュリティ向上に向けて... • IKEにおけるセキュリティの取り組み • Pod Security Policy(Pod Security Admission) • Network Policy • Sysdig Secureの導入

Slide 15

Slide 15 text

15 脅威モデリング

Slide 16

Slide 16 text

16 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威モデリング • システムの潜在的な脅威を見つけ出すプロセスのこと • システムの要件定義や設計段階で行うことが望ましい • なお今回は、既存のシステムに対して分析している DFDの作成 脅威の特定 リスク評価 リスク対応

Slide 17

Slide 17 text

17 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ DFD(Data Flow Diagram)の作成 • DFDは、システムを抽象化し、データの流れを表した図のこと • データの流れや境界を図示することで、システムの全体像を把握しやすくなる • 特に、権限境界を跨ぐデータフローは脅威になりうる場所として着目します DFDの図で使われるようなシンボルの話を書く プロセス 外部エンティティ (アクター) データストア データフロー 権限境界 (信頼境界) DFDで用いられる代表的な要素

Slide 18

Slide 18 text

18 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ DFD(Data Flow Diagram)の例 https://owasp.org/www-community/Threat_Modeling_Process

Slide 19

Slide 19 text

19 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFD(Metricsの遷移) • 既存システムの場合、構成管理されていると、DFDを作りやすい • システムの規模にもよるが、操作やデータ毎に図を分割するとわかりやすい

Slide 20

Slide 20 text

20 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ • 脅威の特定方法には、活用できる様々なフレームワークが存在する • STRIDEは、Microsoftにより提唱されたフレームワーク STRIDE 概要 脅威の例 Spoofing なりすまし 管理者になりすましてKubernetesを操作する Tampering 改ざん コンテナイメージの改ざん Repudiation 否認 ログ消去などによる証跡の削除 Information Disclosure 情報開示 顧客情報の漏洩 Denial of Service(DoS) サービス拒否 クラスタに対して負荷をかける Elevation of Privilege 権限昇格 コンテナ内部からコンテナホストの権限を奪われる 脅威の特定

Slide 21

Slide 21 text

21 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ • STRIDEを用いた脅威の具体的な特定手法には、2つ存在する • STRIDE-per-Element • 対象項目に対して、STRIDEの〇印がある要素について考えていく • STRIDE-per-Interaction • 権限境界(信頼境界)とデータフローの交差する点について考えていく 対象 S T R I D E プロセス 〇 〇 〇 〇 〇 〇 データストア 〇 〇 〇 〇 データフロー 〇 〇 〇 外部エンティティ 〇 〇 脅威の特定 kube- apiserver STRIDE-per-Element STRIDE-per-Interaction

Slide 22

Slide 22 text

22 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威

Slide 23

Slide 23 text

23 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 • STRIDE-per-Elementで洗い出す脅威の例(vminsertの場合) STRIDE 脅威 S vminsertプロセスやコンテナのなりすまし T Metricsの改ざん R - I Metricsの漏洩 D Metricsを大量に送られることによるサービス停止 E コンテナ内部からホストに侵入される

Slide 24

Slide 24 text

24 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威

Slide 25

Slide 25 text

25 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 • STRIDE-per-Interactionで洗い出す脅威の例(IKE Monitoring GateとGrafanaの間) STRIDE 脅威 S 第3者になりすまされてGrafanaを利用される T Metricsの改ざん R - I Metricsの漏洩 D 負荷がかかるようなクエリの発行 E コンテナ内部からホストに侵入される

Slide 26

Slide 26 text

26 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威の特定 / Attack Tree • 実際にどのように攻撃されるのかを考える際に活用できる手法 • STRIDEで抽象的に洗い出した脅威に対して、具体的な攻撃手法を考えていく際に便利 • 攻撃者の目標をルートとし、攻撃手段を木構造として記載していく • 具体的な、攻撃手法などの知識が要求され、時間もかかる 脅威 攻撃手法A 攻撃手法1 攻撃手法2 攻撃手法B 攻撃手法3 OR AND

Slide 27

Slide 27 text

27 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ https://attack.mitre.org/matrices/enterprise/containers/ • 具体的な攻撃手法の情報収集には、MITRE ATT&CK®が便利 • 攻撃グループが、各フェーズごとに行う戦術(Tactics)や手法について体系的にまとまっている • Windows、macOS、Linux、Cloud、Mobile、Containersなど様々な環境に対応 脅威の特定 / Attack Tree

Slide 28

Slide 28 text

28 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威の特定 / Attack Tree https://attack.mitre.org/techniques/T1053/007/ • Persistence(永続化)の手法として、KubernetesのCronJobリソースの利用があげられている

Slide 29

Slide 29 text

29 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 プロセスの なりすまし 実行ファイルの なりすまし コンテナ内への侵入 コンテナイメージの なりすまし ホスト上の コンテナイメージの 改ざん リポジトリ上の コンテナイメージの 改ざん コンテナの なりすまし 正規Podと 同じLabelの付与

Slide 30

Slide 30 text

30 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 負荷のかかる クエリの発行 APIによる アクセス APIキーの 漏洩 Web UIでの ログイン クレデンシャルの 漏洩 フィッシング マルウェアの感染 ブルートフォース 攻撃 脆弱性による認証 バイパス

Slide 31

Slide 31 text

31 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威モデリングのまとめ • 意図しないアウトバウンド通信の発生 • リバースシェルの確立や情報漏えいの観点から検知したい • コンテナ内の怪しい挙動 • コンテナ内の実行ファイルや設定ファイルの書き換えを検知したい • 意図しないPodやDeploymentの作成、意図しないコンテナイメージの利用 • Post-Exploitationの観点から、意図しないデプロイを検知したい • 副次的な効果として、オペレーションミスなどにも気づける可能性がある DFDの作成 脅威の特定 リスク評価 リスク対応

Slide 32

Slide 32 text

32 Sysdig Secure/Falcoを活用したランタイムセキュリティの強化

Slide 33

Slide 33 text

33 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ ランタイムセキュリティ • コンテナのイメージスキャンをしているから安全? • CVEが採番されているものや、既知の脆弱な設定、パッケージの検出に対する効果は大きい • しかしながら、ゼロデイのような脆弱性のデータベースに無い項目に対して予防することは難しい • Security ContextやPod Security Policyを設定しているから安全? • 設定ミスやアップデートで挙動が変わり、意図した挙動をしていない可能性もある • ランタイムの怪しい挙動を拾い上げる必要性がある • Sysdig Secure/Falcoは、コンテナ、オーケストレーター、ノードのランタイムセキュリティを強化 することができる!

Slide 34

Slide 34 text

34 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 • 通信を観測したいモチベーション • Network Policyを適用したいが、運用中のクラスタにルールを入れることは難しい • 現状動作しているシステムの通信を観測してルールを検討していきたい • 意図しない通信を検知したい • ある目的で使っている専用ノード上で、コンテナが意図しない通信が発生していないか確認 • Log4jのような脆弱性が悪用された場合、アウトバウンドの通信が発生する • インターネットに公開しているWebアプリケーションの脆弱性を突かれてしまいリバースシェ ルが張られた場合、アウトバウンドの通信が発生する • Sysdig Secure/Falcoを活用することで、通信の観測が簡単にできる!

Slide 35

Slide 35 text

35 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 既存マクロの「outbound」と IPv6をケアしたルール

Slide 36

Slide 36 text

36 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 $ dig -t aaaa www.iij.ad.jp +short 2001:240:bb81::10:180 アウトバウンドの通信先が検知される

Slide 37

Slide 37 text

37 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 集計された状態で閲覧できる

Slide 38

Slide 38 text

38 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例2 ファイルシステム上の操作の観測 • ファイルシステム上の操作を観測したいモチベーション • securityContext.readOnlyRootFilesystemを有効化したい • どこのパスは書き込まれて、どこのパスはread-onlyにしてよいのか判断したい • writeだけでなくreadも検知したい • Sysdig Secure/Falcoを活用することで、ファイルシステム上の操作の観測が簡単にできる!

Slide 39

Slide 39 text

39 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例2 ファイルシステム上の操作の観測 ファイルのreadを検知するルール

Slide 40

Slide 40 text

40 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例2 ファイルシステム上の操作の観測 ファイルのreadを検知して、 Readを実行したコマンドを取得できる

Slide 41

Slide 41 text

41 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例2 ファイルシステム上の操作の観測 集計された状態で閲覧できる

Slide 42

Slide 42 text

42 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例3 コンテナ情報に関する観測 • 付加情報を観測したいモチベーション • Falcoはシステムコール以外の情報も処理できる • Sysdig Secure/Falcoを活用することで、コンテナに対する操作の観測が簡単にできる!

Slide 43

Slide 43 text

43 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例3 コンテナ情報に関する観測 ホワイトリストにないコンテナイ メージがデプロイされると検知す るルール

Slide 44

Slide 44 text

44 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例3 コンテナ情報に関する観測 起動したコンテナに関する情報が 取得できる 除外する簡易的なUIがある

Slide 45

Slide 45 text

45 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例4 kube-apiserverのaudit • API操作を観測したいモチベーション • マルチテナント基盤上で特定のNamespaceへの配置を制御したい • Sysdig Secure/Falcoを活用することで、kube-apiserverのAPI操作の観測が簡単にできる!

Slide 46

Slide 46 text

46 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例4 kube-apiserverのaudit すべてのauditイベントを検知するルール

Slide 47

Slide 47 text

47 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例4 kube-apiserverのaudit kubernetes-adminのユーザがSecretリ ソースをlistしたことを検知するaudit

Slide 48

Slide 48 text

48 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例4 kube-apiserverのaudit 集計された状態で閲覧できる 特定のリソース(Secretなど)への操作や 特異なユーザによるアクセス、 もしくはcreateなどの挙動 を一覧することで攻撃を見やすくできる

Slide 49

Slide 49 text

49 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Sysdig Secure/Falcoの活用例 • 活用例1 • 通信の観測 • 活用例2 • ファイルシステム上の操作の観測 • 活用例3 • コンテナ情報に関する観測 • 活用例4 • kube-apiserverのaudit

Slide 50

Slide 50 text

50 まとめ

Slide 51

Slide 51 text

51 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ まとめ • 脅威モデリングのプロセスや実例を紹介しました • DFDの作成と脅威の特定手法に関する解説をしました • IKE Monitoringという監視基盤システムを題材に脅威モデリングを実施しました • Sysdig Secure/Falcoの活用 • 複数のモデルケースを用いてSysdig Secure/Falcoの活用例を紹介しました • Sysdig Secure/Falcoを使ってみた感想 • Web UI上で簡単にFalcoルールの設定やスコープを定めての反映を行うことができ便利でした • プリセットされたルールも多彩で、新規ルールを考える際の参考にもなりました

Slide 52

Slide 52 text

52 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 参考文献 • 脅威モデリングで考える Kubernetes セキュリティ • https://speakerdeck.com/mrtc0/cloudnative-days-tokyo-2021-number-cndt2021-number-cndt2021-b • 機器のサイバーセキュリティ確保のためのセキュリティ検証の手引き • https://www.meti.go.jp/press/2021/04/20210419003/20210419003-2.pdf • サイバー攻撃からKubernetesクラスタを守るための効果的なセキュリティ対策 • https://speakerdeck.com/kyohmizu/saibagong-ji-kara-kubernetes-kurasutawoshou-rutamefalsexiao-guo-de-nasekiyuriteidui-ce

Slide 53

Slide 53 text

53 IIJ-BKLT999-0001