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

JAWS-UG千葉#20-AWS Security Lakeを試してみたら 最高の運用者体験だった

JAWS-UG千葉#20-AWS Security Lakeを試してみたら 最高の運用者体験だった

AWS Security Lakeを使ったAWS Security Hub運用の実例の紹介

Takashi Yamaguchi

March 27, 2023
Tweet

More Decks by Takashi Yamaguchi

Other Decks in Technology

Transcript

  1. 株式会社 Gunosy
    Gunosy 技術戦略室 SREチーム マネージャー
    山口 隆史
    2023年3月23日(木)
    AWS Security Lakeを試してみたら
    最高の運用者体験だった

    View Slide

  2. (C) Gunosy Inc. All Rights Reserved. PAGE | 2
    自己紹介
    氏名:山口隆史(やまぐちたかし)
    所属:株式会社Gunosy
    技術戦略室 SREチーム マネージャー
    業務:Pure SREとしての活動
    略歴:フリーランス、SIer等を渡り歩く→現職(2022/01〜)
    自称:プリセールスから運用までこなすフルスタックエンジニア
    好きなAWSサービス:AWS WAF、CloudShell、サポート

    View Slide

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

    View Slide

  4. (C) Gunosy Inc. All Rights Reserved. PAGE | 4
    発表することになった経緯
    前々回のJAWS-UG千葉#19で、
    クールなダッシュボード作り中って最後にネタ振りしたや
    つの回収です

    View Slide

  5. (C) Gunosy Inc. All Rights Reserved. PAGE | 5
    アジェンダ
    話すこと
    - AWS Security Lakeを使ったAWS Security Hub運用の実例
    - QuickSightで作成したダッシュボードの実例
    話さないこと
    - AWSクラウドセキュリティ本についての感想
    - セキュアな設計に関すること
    - セキュリティリスクの評価
    - 等々

    View Slide

  6. (C) Gunosy Inc. All Rights Reserved. PAGE | 6
    目次
    1. セキュリティ対応の背景
    2. Gunosyの開発組織体制とセキュリティ運用
    3. Security Hub運用で感じた課題
    4. Gunosyでの理想のSecurity Hub運用
    5. Security Lakeを使った解決策
    6. Security Lakeを使った実装
    7. 効果検証
    8. まとめ

    View Slide

  7. (C) Gunosy Inc. All Rights Reserved.
    1. セキュリティ対応の背景

    View Slide

  8. (C) Gunosy Inc. All Rights Reserved. PAGE | 8
    セキュリティ対応の背景
    セキュリティ対策に対する優先度が上がった
    キッカケはLog4j問題での対応
    - ヤバめの脆弱性情報は個人がTwitter等で拾ってくる体制だった
    - Log4jはこれで拾えたが取りこぼしがあると致命的
    - 調査が人力総力戦だったので、もうやりたくない
    定期的・自動的にスキャンして継続的に潰していくサイクルにしたい
    - セキュリティの設計への組み込みはベストプラクティスに従って対応してい
    たが、レビュワー、実装者の個人のスキル任せになっていた

    View Slide

  9. (C) Gunosy Inc. All Rights Reserved. PAGE | 9
    セキュリティ対応の背景
    定期的・自動的にスキャンして継続的に潰していくサイクルにしたい
    [定期・自動]
    スキャン
    DBとの照合
    トリアージ
    対応
    なんかやばいぞってな

    急いで調査
    対応
    As-Is To-Be

    View Slide

  10. (C) Gunosy Inc. All Rights Reserved.
    2. Gunosyの組織体制とセキュリティ運用

    View Slide

  11. (C) Gunosy Inc. All Rights Reserved. PAGE | 11
    Gunosyの組織体制とセキュリティ運用
    グノシー ニュースパス au サービス Today 広告配信
    グノシー
    開発チーム
    機械学習チーム
    ニュースパス
    開発チーム
    au サービス
    Today
    開発チーム
    広告配信
    開発チーム
    SREチーム
    Gunosyの開発チーム体制

    View Slide

  12. (C) Gunosy Inc. All Rights Reserved. PAGE | 12
    Gunosyの組織体制とセキュリティ運用
    アプリ開発 アプリ運用
    オンコール対応
    コスト管理
    モニタリング設定 セキュリティ・脆弱性対応
    EKS・ECS運用
    障害対応
    EKS VersionUP
    CI/CD運用
    SLI /SLO管理運用
    障害対応(ポストモーテム)
    アクセス権限管理
    自動化・標準化
    インフラ運用管理 AWS環境設定
    全社的なガードレール運用
    ふりかえりの実施
    開発チーム
    CI/CD、監視、EKS/ECS
    等を含むインフラの民主化
    ができている状態
    SRE
    「開発チームが 新たなプロ
    ダクト価値の創造 に集中で
    きる状態を作る」がミッショ

    開発チームとSREとの責任分担

    View Slide

  13. (C) Gunosy Inc. All Rights Reserved. PAGE | 13
    Gunosyの組織体制とセキュリティ運用
    SREが実施しているSecurity Hubの運用
    定例のふりかえりの準備
    - SREがSecurity Hubの指摘を確認
    - 指摘事項をトリアージ、対応事項をサジェストして課題JIRAを起票
    - 基本Critical、Highは対応
    - Critical指摘はSREが対応
    - Highは開発チームが対応

    View Slide

  14. (C) Gunosy Inc. All Rights Reserved. PAGE | 14
    Gunosyの組織体制とセキュリティ運用
    SREが実施しているSecurity Hubの運用
    定例のふりかえり
    - SREが開発チームへ課題JIRAの対応を依頼
    - 開発チームとSREが協議して対応有無を決定し、開発チームがタスクJIRA
    を起票して課題JIRAに関連付け
    - すでに起票されている課題JIRAに関連しているタスクJIRAのステータスを
    確認
    - 完了確認、期日確認等々を実施

    View Slide

  15. (C) Gunosy Inc. All Rights Reserved. PAGE | 15
    Gunosyの組織体制とセキュリティ運用
    どんな内容のセキュリティ運用をしているか
    「AWSではじめるクラウドセキュリティ」本の言葉を借りると
    ベースラインアプローチによるベースラインの管理

    View Slide

  16. (C) Gunosy Inc. All Rights Reserved.
    3. Security Hub運用で感じた課題

    View Slide

  17. (C) Gunosy Inc. All Rights Reserved. PAGE | 17
    Security Hub運用で感じた課題
    ダッシュボードが使いにくい
    マルチアカウント環境での使いにくさ
    - アカウント単位にSeverity別の指摘数の集計ができない
    - どのアカウントにどれくらいのリスクが残っているかの確認ができない
    - 委任アカウントでリソースを例外にできない
    - 例外にしたリソース一覧がデフォルトでは表示できない
    - 一覧表示だとコントロール✖リソース表示になる
    - ドリルダウンできない
    - 件数が爆発しやすい

    View Slide

  18. (C) Gunosy Inc. All Rights Reserved. PAGE | 18
    Security Hub運用で感じた課題
    ダッシュボードが使いにくい
    単一アカウント環境での使いにくさ
    - 表示される点数がコントロールの失敗割合
    - リスク評価できない

    View Slide

  19. (C) Gunosy Inc. All Rights Reserved. PAGE | 19
    Security Hub運用で感じた課題
    Security Hubの画面
    各アカウントのダッシュボード
    委任アカウントのダッシュボード

    View Slide

  20. (C) Gunosy Inc. All Rights Reserved. PAGE | 20
    Security Hub運用で感じた課題
    Security Lake登場までの回避策
    ダッシュボード
    - 委任アカウント側のダッシュボードは基本使わない
    - メンバーアカウントのSecurity Hub画面を使用してトリアージ
    - リソース単位の抑止もメンバーアカウント側で実行する必要があるので、ト
    リアージと同時に実施
    委任アカウントのダッシュボードの用途
    - コントロール単位で無効化する時のみ使用

    View Slide

  21. (C) Gunosy Inc. All Rights Reserved.
    4. Gunosyでの理想のSecurity Hub運用

    View Slide

  22. (C) Gunosy Inc. All Rights Reserved. PAGE | 22
    Gunosyでの理想のSecurity Hub運用
    セキュリティベースライン評価を少ない工数で実施できる
    全てのアカウントのリスクの状況(要対応・未対応件数)が一覧で確認できる
    - セキュリティ指摘がアカウント別、Severity別に集計された一覧が確認でき

    - アカウント単位でリスク評価したい
    - 新規のセキュリティ指摘、通知済み・タスク化済みのセキュリティ指摘の一
    覧が確認できる
    - 絞り込んで一覧表示できる

    View Slide

  23. (C) Gunosy Inc. All Rights Reserved. PAGE | 23
    Gunosyでの理想のSecurity Hub運用
    セキュリティベースライン評価を少ない工数で実施できる
    指摘があるリソースが一覧で確認できる
    - ドリルダウンで指摘からリソース一覧が確認できる
    - できればそのリソースの詳細か指摘の詳細を確認したい
    - 例外にできると最高

    View Slide

  24. (C) Gunosy Inc. All Rights Reserved.
    5. Security Lakeを使った解決策

    View Slide

  25. (C) Gunosy Inc. All Rights Reserved. PAGE | 25
    Security Lakeを使った解決策
    Amazon Security Lake は、クラウド、オンプレミス、およびカスタムソースか
    らのセキュリティデータを、アカウントに保存されている専用のデータレイクに
    自動的に一元化します。Security Lake は、オープンスタンダードである
    Open Cybersecurity Schema Framework (OCSF) を採用しています。
    OCSF のサポートにより、このサービスは、AWS からのセキュリティデータと
    幅広いエンタープライズセキュリティデータ ソースを正規化し、組み合わせる
    ことができます。
    Security Lakeとは
    数ステップでセキュリティデータを自動的に一元化

    View Slide

  26. (C) Gunosy Inc. All Rights Reserved. PAGE | 26
    Security Lakeを使った解決策
    Security Lakeのアーキテクチャ図

    View Slide

  27. (C) Gunosy Inc. All Rights Reserved. PAGE | 27
    Security Lakeを使った解決策
    Security Hubのアーキテクチャ図

    View Slide

  28. (C) Gunosy Inc. All Rights Reserved. PAGE | 28
    Security Lakeを使った解決策
    Security Lakeのアーキテクチャ図(再掲)
    ここが増え
    ている
    ここが増え
    ている

    View Slide

  29. (C) Gunosy Inc. All Rights Reserved. PAGE | 29
    Security Lakeを使った解決策
    要するに何ができるの?
    簡単な設定でSecurity Hubに保存したデータを正規化した形でS3にエクス
    ポートできる
    S3にエクスポートできるとAthenaでクエリーできる
    AthenaでクエリーできるとQuickSightでダッシュボードが作れる

    View Slide

  30. (C) Gunosy Inc. All Rights Reserved. PAGE | 30
    Security Lakeを使った解決策
    Security Lakeに期待していたこと
    S3へのエクスポートのマネージドサービス化
    - Security HubでもS3にエクスポートはできたが、自動化するには作り込みが必要だっ

    View Slide

  31. (C) Gunosy Inc. All Rights Reserved. PAGE | 31
    Security Lakeを使った解決策
    理想の運用方法を実現するための要件定義
    SREが行うふりかえり活動で実施しているSecurity Hubの指摘確認(セ
    キュリティベースライン管理)を、Security Lakeを活用したダッシュボード
    を作成し利用することで今より少ない工数で実施できるようにする

    View Slide

  32. (C) Gunosy Inc. All Rights Reserved. PAGE | 32
    Security Lakeを使った解決策
    ダッシュボードで実現したいこと
    大前提としてSecurity Hubと同じ情報が表示できる
    - コントロールの状況、指摘リソースのステータス等々が、さほど遅延せずに表示できる
    具体的には
    - アカウントごとにCritical、Highの件数が確認できる
    - 指摘クリックで、リソース一覧が確認できる(ドリルダウン)
    - リソースクリックで、そのリソースの指摘一覧が確認できる(ドリルアップ)
    - 例外にした指摘・リソース一覧が確認できる

    View Slide

  33. (C) Gunosy Inc. All Rights Reserved.
    6. Security Lakeを使った実装

    View Slide

  34. (C) Gunosy Inc. All Rights Reserved. PAGE | 34
    Security Lakeを使った実装
    アーキテクチャ図
    Amazon Security Lake
    AWS Security Hub Bucket AWS Glue
    Data Catalog
    Amazon Athena
    Amazon QuickSight

    View Slide

  35. (C) Gunosy Inc. All Rights Reserved. PAGE | 35
    Security Lakeを使った実装
    Glueの設定

    View Slide

  36. (C) Gunosy Inc. All Rights Reserved. PAGE | 36
    Security Lakeを使った実装
    Glueの設定

    View Slide

  37. (C) Gunosy Inc. All Rights Reserved. PAGE | 37
    Security Lakeを使った実装
    AthenaのView
    CREATE OR REPLACE VIEW "view_latest_status_security_hub_resource_findings" AS
    with resource_finding as (
    select
    t1.finding.uid as finding_uid
    , t1.region
    , t1.account_id
    , max_by(t1.metadata.product.version, t1.finding.modified_time) as metadata_product_version
    , max_by(t1.metadata.product.feature.uid, t1.finding.modified_time) as
    metadata_product_feature_uid
    , max_by(t1.metadata.product.feature.name, t1.finding.modified_time) as compliance.status,
    t1.finding.modified_time) as compliance_status -- key-value
    <省略>
    , max_by(t1.state_id, t1.finding.modified_time) as state_id
    , max_by(t1.severity_id, t1.finding.modified_time) as severity_id
    , max_by(t1.unmapped, t1.finding.modified_time) as unmapped -- map
    from
    original_security_lake.security_hub as t1
    cross join unnest(resources) as t(resource)
    where
    t1.region = 'ap-northeast-1'
    group by 1, 2, 3
    )

    View Slide

  38. (C) Gunosy Inc. All Rights Reserved. PAGE | 38
    Security Lakeを使った実装
    AthenaのView
    select
    t1.finding_uid
    , t1.region
    , t1.account_id
    , t1.metadata_product_version
    <省略>
    , from_unixtime(t1.event_time / 1000) as event_at
    , regexp_replace(t1.unmapped['ProductFields'], '\\n?') as unmapped_product_fields
    , t1.unmapped['NetworkPath'] as unmapped_network_path
    , t2.name as aws_account_name
    , t2.company_name as aws_account_company_name
    , t2.business_unit_name as aws_account_business_unit_name
    from resource_finding as t1
    inner join business_budget."aws_accounts" as t2
    on t1.account_id = t2.id
    where
    (t1.compliance_status not in('PASSED', 'NOT_AVAILABLE')
    or t1.compliance_status is null)
    and t2.company_name = 'Gunosy Inc.'
    and from_unixtime(t1.finding_modified_time / 1000) >= current_timestamp - interval '2' day

    View Slide

  39. (C) Gunosy Inc. All Rights Reserved. PAGE | 39
    Security Lakeを使った実装
    実装の過程で判明したアンドキュメントな仕様(1)
    検知結果(Findings)が出力されるパーティション
    - 最初にFindingsがエクポートされたeventHourに出
    力され続ける
    - どういうことかと言うと、20230101に最初にFinding
    が作成されたら以降はずっとそのパーティションに出
    力され続ける
    - なので、Athenaでパーティションで絞ってクエリーで
    きない
    S3のフォルダ構成
    CloudTrail等とは違ってApache HiveのPartition形
    式になっている
    aws/
     CLOUD_TRAIL/
     ROUTE53/
     SH_FINDINGS/
     VPC_FLOW/
      region={リージョン名}/
       accountId={アカウントID}/   
        eventHour={yyyy}{mm}{dd}{hh}/

    View Slide

  40. (C) Gunosy Inc. All Rights Reserved. PAGE | 40
    Security Lakeを使った実装
    実装の過程で判明したアンドキュメントな仕様(2)
    同じコントロール・同じリソースでfindings_uidが変わるケースがある
    - Security Hubで指摘があったリソースを削除した場合に新しい
    findings_uidで同じコ
    ントロール・同じリソースに対する検知結果が出力される
    - これは、findings_uidで集約、最新だけ取得するというクエリーでは
    Security
    Hubと同じ情報が取得できないことを意味します

    View Slide

  41. (C) Gunosy Inc. All Rights Reserved. PAGE | 41
    Security Lakeを使った実装
    実装の過程で判明したアンドキュメントな仕様(3)
    Security Hub、GuardDuty、Inspectorでそれぞれ出力されるカラムもその詳
    細度も違う
    - Stateの取り扱いが違ったり、出力されているカラムや詳細度、そもそも有用な情報が
    出力されていないこともあったりします

    View Slide

  42. (C) Gunosy Inc. All Rights Reserved. PAGE | 42
    Security Lakeを使った実装
    実装の過程で判明したアンドキュメントな仕様(3)

    View Slide

  43. (C) Gunosy Inc. All Rights Reserved. PAGE | 43
    Security Lakeを使った実装
    実装の過程で判明したアンドキュメントな仕様(4)
    unmappedカラムにしか出力されていない情報がある
    - 出力カラムはOCSFのスキーマで正規化されているが、そもそもマッピング先がな
    かったり(想像)で、unmappedカラムにしか出力されていないデータもある
    - https://schema.ocsf.io/classes/security_finding?extensions=
    - 3rdパーティー系のkube-benchはunmappedに有用な情報があったので取り出した

    View Slide

  44. (C) Gunosy Inc. All Rights Reserved. PAGE | 44
    Security Lakeを使った実装
    実装の過程で判明したアンドキュメントな仕様(4)
    Inspector GuradDuty
    Security Hub Kube-bench

    View Slide

  45. (C) Gunosy Inc. All Rights Reserved. PAGE | 45
    Security Lakeを使った実装
    QuickSightで作成したダッシュボード 一覧
    Inspectorは
    Imageの最新版
    で最新版では対
    応ずみでも、
    全てのImageの
    検出結果が合計
    されるため、
    指摘数が多くなり
    ます

    View Slide

  46. (C) Gunosy Inc. All Rights Reserved. PAGE | 46
    Security Lakeを使った実装
    QuickSightで作成したダッシュボード Security Hub

    View Slide

  47. (C) Gunosy Inc. All Rights Reserved. PAGE | 47
    Security Lakeを使った実装
    QuickSightで作成したダッシュボード Security Hub
    ①クリックす
    ると
    ②絞り込ま
    れる

    View Slide

  48. (C) Gunosy Inc. All Rights Reserved. PAGE | 48
    Security Lakeを使った実装
    QuickSightで作成したダッシュボード Security Hub
    ①クリックす
    ると
    ②絞り込ま
    れる

    View Slide

  49. (C) Gunosy Inc. All Rights Reserved. PAGE | 49
    Security Lakeを使った実装
    QuickSightで作成したダッシュボード 全部
    Security Hub
    に統合した情
    報全て表示

    View Slide

  50. (C) Gunosy Inc. All Rights Reserved. PAGE | 50
    Security Lakeを使った実装
    QuickSightで作成したダッシュボード 例外

    View Slide

  51. (C) Gunosy Inc. All Rights Reserved.
    6. 効果検証

    View Slide

  52. (C) Gunosy Inc. All Rights Reserved. PAGE | 52
    効果検証
    SREのふりかえり活動でのSecurity Hub運用の変化
    これまでの運用
    - 各アカウントにログインしてSecurity Hubの画面で有効にしているセキュリティ基準そ
    れぞれで指摘を確認
    - ✖アカウント数分
    - セキュリティ基準をクリックしてCritical、Highの指摘を確認
    - クリックして画面遷移しないと確認ができない
    - Critical、Highの指摘があれば詳細を確認

    View Slide

  53. (C) Gunosy Inc. All Rights Reserved. PAGE | 53
    効果検証
    Security Hubの画面

    View Slide

  54. (C) Gunosy Inc. All Rights Reserved. PAGE | 54
    効果検証
    SREのふりかえり活動でのSecurity Hub運用の変化
    ダッシュボード作成後の運用
    - Security Lakeのダッシュボードの一覧を確認
    - Critical、Highの指摘があればSecuity Hubのタブで詳細を確認
    - 新しい指摘があれば、アカウントにログインして詳細を確認

    View Slide

  55. (C) Gunosy Inc. All Rights Reserved. PAGE | 55
    効果検証
    (再掲)QuickSightで作成したダッシュボード 一覧

    View Slide

  56. (C) Gunosy Inc. All Rights Reserved. PAGE | 56
    効果検証
    (再掲)QuickSightで作成したダッシュボード Security Hub
    ①クリックす
    ると
    ②絞り込ま
    れる

    View Slide

  57. (C) Gunosy Inc. All Rights Reserved. PAGE | 57
    効果検証
    料金面
    まだ検証できていません
    が過去のセキュリティ実装で以下の爆発を経験しています
    - Security Hubを導入時にConfig起因の料金爆発
    - GuardDutyを導入時にS3保護が起因の料金爆発
    なので、機能を絞って導入しています
    - 具体的には以下を有効化
    - Security Hub findings

    View Slide

  58. (C) Gunosy Inc. All Rights Reserved. PAGE | 58
    効果検証
    それでも残る課題
    運用面での課題
    - リソースを例外にするのに各アカウントのマネコンで作業が必要
    - GuardDuty、InspectorのRemediationの確認がSecurity Lakeの情報だけだと不足
    - サービスの画面(マネコン)にも表示されていない場合もあるので、サービス自体
    のアップデート待ち
    ダッシュボードの課題
    - 新規の指摘かどうかの確認ができない
    - 指摘数の時系列変化の確認ができない

    View Slide

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

    View Slide

  60. (C) Gunosy Inc. All Rights Reserved. PAGE | 60
    まとめ
    用法と料金に注意してSecurity Lakeを活用しましょう
    導入よりもその後の運用が大事
    - 検知だけして満足しない、修復するまでが運用
    - 運用を楽にするためには継続した改善活動が必要
    Security LakeでSecurity Hubの情報をいい感じにダッシュボード化可能
    - ぱっと見ですが3rd Partyのソリューションを使うよりも安価
    - Security HubにはAWSのセキュリティサービスを統合できるのでより便利に!

    View Slide

  61. (C) Gunosy Inc. All Rights Reserved. PAGE | 61
    まとめ
    最後に
    料金が爆発したり、もっといい感じの運用ができたら発表するので乞うご期待!

    View Slide

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

    View Slide