Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sysdig Secure/Falcoの活用術! ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~

Sysdig Secure/Falcoの活用術! ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~

CloudNative Security Conference 2022にて発表した資料になります。
https://event.cloudnativedays.jp/cnsec2022/talks/1438

41202c03511a51064abb970da0ca9fad?s=128

Chihiro Hasegawa

August 05, 2022
Tweet

More Decks by Chihiro Hasegawa

Other Decks in Technology

Transcript

  1. 1 © Internet Initiative Japan Inc. Sysdig Secure/Falcoの活用術! 株式会社インターネットイニシアティブ 2022年8月5日(金)

    セキュリティ本部セキュリティオペレーション部セキュリティオペレーションセンター / ネットワーク本部 SRE推進部 長谷川 千広 / 李 瀚 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~
  2. 2 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 自己紹介 長谷川 千広(Hasegawa Chihiro) • 所属:セキュリティ本部

    セキュリティオペレーション部 セキュリティオペレーションセンター • 兼務:ネットワーク本部 SRE推進部(2022年度~) • 主な業務内容:マルウェア解析、脆弱性の検証 李 瀚(Li Han) ・所属:ネットワーク本部 SRE推進部 ・主な業務内容:社内Kubernetes基盤の開発運用
  3. 3 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ セッションの要約 本セッションは、大きく2つの話題に分割されます • Kubernetes基盤上のシステムに対する脅威モデリング • 脅威を見つけ出す手法の解説と実例を紹介

    • Sysdig Secure/Falcoの活用例の紹介 • Sysdig Secure/Falcoをどういうところで活用することができるのか
  4. 4 IKE(IIJ Kubernetes Engine)の紹介

  5. 5 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE(IIJ Kubernetes Engine) • IKEは、IIJのサービスのためのKubernetes共通基盤です •

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

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

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

    IKE Monitoring
  9. 9 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Sysdig Secure • CloudNativeプラットフォームを守る包括的なセキュリティ製品 • IKEでは、基盤としてセキュリティを担保する仕組みとして導入

    • 代表的な機能 • 脆弱性管理 • コンプライアンス • ランタイムセキュリティ • フォレンジック • 監査 https://www.scsk.jp/sp/sysdig/sysdig_secure.html
  10. 10 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Falco https://github.com/falcosecurity/falco/blob/master/rules/falco_rules.yaml • 独自のルールを用いてコンテナの脅威を検知することに特化したエンジン • 再利用可能なリストやマクロを活用して、可読性の高いルールを作成可能

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

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

    再利用可能なリストやマクロを活用して、可読性の高いルールを作成可能 • Sysdig Secureでは、Falcoのルールを用いて検知ルールをカスタマイズ
  13. 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/
  14. 14 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKEのセキュリティ向上に向けて... • IKEにおけるセキュリティの取り組み • Pod Security

    Policy(Pod Security Admission) • Network Policy • Sysdig Secureの導入
  15. 15 脅威モデリング

  16. 16 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威モデリング • システムの潜在的な脅威を見つけ出すプロセスのこと • システムの要件定義や設計段階で行うことが望ましい •

    なお今回は、既存のシステムに対して分析している DFDの作成 脅威の特定 リスク評価 リスク対応
  17. 17 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ DFD(Data Flow Diagram)の作成 • DFDは、システムを抽象化し、データの流れを表した図のこと •

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

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

  20. 20 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ • 脅威の特定方法には、活用できる様々なフレームワークが存在する • STRIDEは、Microsoftにより提唱されたフレームワーク STRIDE 概要

    脅威の例 Spoofing なりすまし 管理者になりすましてKubernetesを操作する Tampering 改ざん コンテナイメージの改ざん Repudiation 否認 ログ消去などによる証跡の削除 Information Disclosure 情報開示 顧客情報の漏洩 Denial of Service(DoS) サービス拒否 クラスタに対して負荷をかける Elevation of Privilege 権限昇格 コンテナ内部からコンテナホストの権限を奪われる 脅威の特定
  21. 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
  22. 22 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威

  23. 23 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 • STRIDE-per-Elementで洗い出す脅威の例(vminsertの場合) STRIDE 脅威

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

  25. 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 コンテナ内部からホストに侵入される
  26. 26 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威の特定 / Attack Tree • 実際にどのように攻撃されるのかを考える際に活用できる手法

    • STRIDEで抽象的に洗い出した脅威に対して、具体的な攻撃手法を考えていく際に便利 • 攻撃者の目標をルートとし、攻撃手段を木構造として記載していく • 具体的な、攻撃手法などの知識が要求され、時間もかかる 脅威 攻撃手法A 攻撃手法1 攻撃手法2 攻撃手法B 攻撃手法3 OR AND
  27. 27 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ https://attack.mitre.org/matrices/enterprise/containers/ • 具体的な攻撃手法の情報収集には、MITRE ATT&CK®が便利 • 攻撃グループが、各フェーズごとに行う戦術(Tactics)や手法について体系的にまとまっている

    • Windows、macOS、Linux、Cloud、Mobile、Containersなど様々な環境に対応 脅威の特定 / Attack Tree
  28. 28 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威の特定 / Attack Tree https://attack.mitre.org/techniques/T1053/007/ •

    Persistence(永続化)の手法として、KubernetesのCronJobリソースの利用があげられている
  29. 29 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 プロセスの なりすまし 実行ファイルの なりすまし

    コンテナ内への侵入 コンテナイメージの なりすまし ホスト上の コンテナイメージの 改ざん リポジトリ上の コンテナイメージの 改ざん コンテナの なりすまし 正規Podと 同じLabelの付与
  30. 30 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ IKE MonitoringのDFDから考える脅威 負荷のかかる クエリの発行 APIによる アクセス

    APIキーの 漏洩 Web UIでの ログイン クレデンシャルの 漏洩 フィッシング マルウェアの感染 ブルートフォース 攻撃 脆弱性による認証 バイパス
  31. 31 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 脅威モデリングのまとめ • 意図しないアウトバウンド通信の発生 • リバースシェルの確立や情報漏えいの観点から検知したい •

    コンテナ内の怪しい挙動 • コンテナ内の実行ファイルや設定ファイルの書き換えを検知したい • 意図しないPodやDeploymentの作成、意図しないコンテナイメージの利用 • Post-Exploitationの観点から、意図しないデプロイを検知したい • 副次的な効果として、オペレーションミスなどにも気づける可能性がある DFDの作成 脅威の特定 リスク評価 リスク対応
  32. 32 Sysdig Secure/Falcoを活用したランタイムセキュリティの強化

  33. 33 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ ランタイムセキュリティ • コンテナのイメージスキャンをしているから安全? • CVEが採番されているものや、既知の脆弱な設定、パッケージの検出に対する効果は大きい •

    しかしながら、ゼロデイのような脆弱性のデータベースに無い項目に対して予防することは難しい • Security ContextやPod Security Policyを設定しているから安全? • 設定ミスやアップデートで挙動が変わり、意図した挙動をしていない可能性もある • ランタイムの怪しい挙動を拾い上げる必要性がある • Sysdig Secure/Falcoは、コンテナ、オーケストレーター、ノードのランタイムセキュリティを強化 することができる!
  34. 34 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 • 通信を観測したいモチベーション • Network

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

  36. 36 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 $ dig -t aaaa

    www.iij.ad.jp +short 2001:240:bb81::10:180 アウトバウンドの通信先が検知される
  37. 37 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例1 通信の観測 集計された状態で閲覧できる

  38. 38 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例2 ファイルシステム上の操作の観測 • ファイルシステム上の操作を観測したいモチベーション • securityContext.readOnlyRootFilesystemを有効化したい

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

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

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

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

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

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

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

    • Sysdig Secure/Falcoを活用することで、kube-apiserverのAPI操作の観測が簡単にできる!
  46. 46 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ 活用例4 kube-apiserverのaudit すべてのauditイベントを検知するルール

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

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

    を一覧することで攻撃を見やすくできる
  49. 49 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ Sysdig Secure/Falcoの活用例 • 活用例1 • 通信の観測

    • 活用例2 • ファイルシステム上の操作の観測 • 活用例3 • コンテナ情報に関する観測 • 活用例4 • kube-apiserverのaudit
  50. 50 まとめ

  51. 51 Sysdig Secure/Falcoの活用術 ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~ まとめ • 脅威モデリングのプロセスや実例を紹介しました • DFDの作成と脅威の特定手法に関する解説をしました •

    IKE Monitoringという監視基盤システムを題材に脅威モデリングを実施しました • Sysdig Secure/Falcoの活用 • 複数のモデルケースを用いてSysdig Secure/Falcoの活用例を紹介しました • Sysdig Secure/Falcoを使ってみた感想 • Web UI上で簡単にFalcoルールの設定やスコープを定めての反映を行うことができ便利でした • プリセットされたルールも多彩で、新規ルールを考える際の参考にもなりました
  52. 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
  53. 53 IIJ-BKLT999-0001