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

脅威分析はじめました / freee-getting-started-to-threat-analysis-2023

freee
April 21, 2023

脅威分析はじめました / freee-getting-started-to-threat-analysis-2023

freee

April 21, 2023
Tweet

More Decks by freee

Other Decks in Technology

Transcript

  1. freee PSIRTです • PSIRT = Product Security Incident Response Team

    • プロダクト絡みのセキュリティインシデントに対応することを主任務としつつ、 プロダクトのセキュリティ強化を⾏っています • セキュリティ周りの相談をプロダクトの開発チームから受け、何らかのアドバイ スをしたり、脆弱性診断をやったりもしています
  2. 7 Plan Code Build Test Deploy Configure Monitor Code Review

    Response Logging Detect SAST SCA E2E IaC CSPM Vulnerability Assessment コードレビュー
 静的解析
 動作検証
 脆弱性スキャン
 脆弱性診断
 ログを取る
 異常検知
 インシデント対応
 構成管理
 ポリシー検証
 PSIRTの日常…DevSecOpsへの取り組み 開発と運用にsecurityを埋め込む
  3. 「脅威」の評価基準に対する認識が揃っていない • 「脅威」= 「情報資産に損失を与える要因」 ◦ 攻撃とか、設定ミスとか • セキュリティに対する温度感や気にする場所が 開発チームによってまちまち ◦

    脅威を過剰に恐れていたり、逆に全く気にし ていなかったり… ◦ PSIRTとしても⾊々説明はするが、意思決定 の背景‧根拠がちゃんと伝わり腹落ちしてい るかがわからない
  4. 「障害訓練」での失敗 • この間の障害訓練でボコボコにされました ◦ 障害訓練については「freee 障害訓練」で検索 ◦ サイバー攻撃を受けるシナリオでした • 敗因はいくつかあったが…

    ◦ ⼀番⼤きいのは、「freeeのプロダクトに刺さ りうる脅威をぱっと思い浮かべ、事象の原因 である可能性として検討することができな かった」こと
  5. 脅威分析の流れ 分析対象の 特徴理解 脅威の特定 脅威の評価 対策 フィードバック 設計資料‧コードから 構成図を書く 構成図を⾒ながら

    刺さる脅威を列挙 列挙された脅威が どのくらい深刻か評価 対応有無‧優先度決め コード‧運⽤等の改善に よって、 脅威を解消したり、 許容可能なレベルに落とす
  6. STRIDE Spoofing なりすまし Repudiation 否認 Tampering 改ざん Information Disclosure 情報漏えい

    Elevation of Privilege 特権の昇格 Denial of Service サービス拒否 データの流れを把握し、攻撃側の目線で、脅威を6つに分類する どのような脅威が発生しうるかを洗い出す手法。
  7. STRIDE Spoofing なりすまし Repudiation 否認 Tampering 改ざん Information Disclosure 情報漏えい

    Elevation of Privilege 特権の昇格 Denial of Service サービス拒否 データの流れを把握し、攻撃側の目線で、脅威を6つに分類する どのような脅威が発生しうるかを洗い出す手法。 シンプルで取り組みやすそう
  8. WEB画⾯ W A F 管 理 画 ⾯ A L

    B プロダクトA プロダクトB プロダクトD DB S3 Redis プロダクトC S3 taichi member member kaworu 分析対象の特徴理解(構成図作成)
  9. STRIDE Spoofing なりすまし Repudiation 否認 Tampering 改ざん Information Disclosure 情報漏えい

    Elevation of Privilege 特権の昇格 Denial of Service サービス拒否 データの流れを把握し、攻撃側の目線で、脅威を6つに分類する どのような脅威が発生しうるかを洗い出す手法。
  10. WEB画⾯ W A F 管 理 画 ⾯ A L

    B プロダクトA プロダクトB プロダクトD DB S3 Redis プロダクトC S3 taichi member member kaworu 脅威の特定(STRIDEを列挙) I/E 将来的に管理画面 ができた場合、それ を把握できないリス ク S Redis認証がない I 保持期間が長すぎる・退 会(?)したユーザのものを 保持している R/I DB共用 S アクセス制御IAMベース or IPベース E 従業員がconsole経 由でPIIを持ち出し - S3 - DB いろいろ 外から叩ける必要 のないAPI
  11. WEB画⾯ W A F 管 理 画 ⾯ A L

    B プロダクトA プロダクトB プロダクトD DB S3 Redis プロダクトC S3 taichi member member kaworu 脅威の特定(STRIDEを列挙) I/E 将来的に管理画面 ができた場合、それ を把握できないリス ク S Redis認証がない I 保持期間が長すぎる・退 会(?)したユーザのものを 保持している R/I DB共用 S アクセス制御IAMベース or IPベース E 従業員がconsole経 由でPIIを持ち出し - S3 - DB いろいろ 外から叩ける必要 のないAPI I S3 復号鍵漏洩 I 実装不備(フロントの制御) I エラー発生時の マスキングもれ (社内漏洩) R/T ロギン グ漏れ zero day zero day
  12. WEB画⾯ W A F 管 理 画 ⾯ A L

    B プロダクトA プロダクトB プロダクトD DB S3 Redis プロダクトC S3 taichi member member kaworu 脅威の特定(STRIDEを列挙) I/E 将来的に管理画面 ができた場合、それ を把握できないリス ク S Redis認証がない I 保持期間が長すぎる・退 会(?)したユーザのものを 保持している R/I DB共用 S アクセス制御IAMベース or IPベース E 従業員がconsole経 由でPIIを持ち出し - S3 - DB いろいろ 外から叩ける必要 のないAPI I エラー発生時の マスキングもれ (社内漏洩) R/T ロギン グ漏れ zero day zero day T/I: 入力 値の検証 I: 直接アクセス(アク セス設定の不備) いろいろWAF Bypass I: 機微な情報 の露出 T: Open Redirect R: Access log D DoS/DoW S/T/I: 実装にお ける脆弱性 I: 直接アクセス(アク セス設定の不備) T/I/E: 不要なポート やサービス I: 既知の脆弱 性 I: 既知の脆弱 性 I: キャッシュコント ロールの不備 S/I: MITM S/T/I: 実装にお ける脆弱性 D Lack of rate-limiting I 暗号化されてない重要 情報 S/D 実装不備 XSSとか無限ループによる DoS とか S/T/E SSRF S/T/E 導線はないけど知っていれば叩ける APIの存在 I 実装不備(フロントの制御) I S3 復号鍵漏洩
  13. 脅威分析の流れ 分析対象の 特徴理解 脅威の特定 脅威の評価 対策 フィードバック 設計資料‧コードから 構成図を書く 構成図を⾒ながら

    刺さる脅威を列挙 列挙された脅威が どのくらい深刻か評価 対応有無‧優先度決め コード‧運⽤等の改善に よって、 脅威を解消したり、 許容可能なレベルに落とす Done ToDo Done Doing
  14. 脅威分析の流れ 分析対象の 特徴理解 脅威の特定 脅威の評価 対策 フィードバック 設計資料‧コードから 構成図を書く 構成図を⾒ながら

    刺さる脅威を列挙 列挙された脅威が どのくらい深刻か評価 対応有無‧優先度決め コード‧運⽤等の改善に よって、 脅威を解消したり、 許容可能なレベルに落とす Done ToDo Done Doing 年末年始の闇に飲まれなぁなぁに… (あるあるですよね)
  15. 認可基盤に対する脅威分析の今後 分析対象の 特徴理解 脅威の特定 脅威の評価 対策 フィードバック 設計資料‧コードから 構成図を書く 構成図を⾒ながら

    刺さる脅威を列挙 列挙された脅威が どのくらい深刻か評価 対応有無‧優先度決め コード‧運⽤等の改善に よって、 脅威を解消したり、 許容可能なレベルに落とす Done Doing ToDo ToDo
  16. 参考⽂献等 • ⽯川 朝久 . 「脅威インテリジェンスの教科書」. 技術評論社. 2022年. 400ページ •

    「STRIDE」https://learn.microsoft.com/en-us/previous-versions/commerce-server/ee823878(v=cs.20) • 「Elevation of Privilege」https://github.com/adamshostack/eop • 「Elevation of Privilege 脅威モデリングカードゲーム」https://github.com/KiiCorp/eop-ja • 「メルカリの脅威モデリングプロセス | mercari engineering」 https://engineering.mercari.com/blog/entry/20220426-threat-modeling-at-mercari/ • 「継続的なセキュリティ対策をするために脅威分析をしました | PLAID Engineer Blog」 https://tech.plaid.co.jp/threat-analysis