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

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基盤の脅威モデリングとランタイムセキュリティの強化~

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  4. 4
    IKE(IIJ Kubernetes Engine)の紹介

    View full-size slide

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

    View full-size slide

  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
    のセキュリティを強化する

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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/

    View full-size slide

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

    View full-size slide

  15. 15
    脅威モデリング

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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 コンテナ内部からホストに侵入される

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  51. 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

    View full-size slide

  52. 53
    IIJ-BKLT999-0001

    View full-size slide