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

freeeにおけるSecurity Championの仕事

freeeにおけるSecurity Championの仕事

freee技術の日 2024 https://freee-tech-day.freee.co.jp/2024/ にて発表した資料です。

以下抜粋。
プロダクトが日々進化していく中で、その速度を止めないようにしながら堅牢にしていくことは独立したSecurityチームだけでは困難なことがあります。freeeではOWASPでも提唱されているSecurity Championを開発チーム内に置くことで、開発プロセスの中でSecurityを意識できるようにしています。このセッションではChampion自身がその運用について紹介します

おちゃむら

June 03, 2024
Tweet

Other Decks in Programming

Transcript

  1. Design Phase Development Phase QA Phase Operation Phase freeeでのSecurityを考慮した開発フロー 要件定義,

    設計段階 での相談 SecurityDesignReview (PSIRT) 脆弱性診断 ※他で品質が担保できてい ればリリース後に実施 センサー監視 各種脆弱性管理 SAST セキュアコーディング Release !
  2. 実際には… Design Phase Development Phase QA Phase Operation Phase 気づいたら拾う

    PSIRTへのReview依頼 がないこともある リリース間際に 気づいて脆弱性診断 センサー監視 各種脆弱性管理 SAST 脆弱性がスキャンされ ても対応するオーナー がいない
  3. 実際には… Design Phase Development Phase QA Phase Operation Phase 気づいたら拾う

    PSIRTへのReview依頼 がないこともある リリース間際に 気づいて脆弱性診断 センサー監視 各種脆弱性管理 SAST 脆弱性がスキャンされ ても対応するオーナー がいない 脆 弱 性 発 ⾒
  4. 実際には… Design Phase Development Phase QA Phase Operation Phase 気づいたら拾う

    PSIRTへのReview依頼 がないこともある リリース間際に 気づいて脆弱性診断 センサー監視 各種脆弱性管理 SAST 脆弱性がスキャンされ ても対応するオーナー がいない 脆 弱 性 発 ⾒ 診断で重篤なセキュリティ‧リスクが⾒つ かった場合、リリースギリギリで⼿戻りし、 修正せざるを得ない
  5. • どのように決まるか? ◦ OWASPでは「Security Champions should be nominated」とありトップダウン ◦ freeeではバックエンド委員会などボトムアップで様々な活動が⾏われているため

    Security Championsも⽴候補制 • ランク制 ◦ Bronze, Silver, Gold ◦ Silver以上になるとDesignDocのSecurity reviewが必須かどうか判断することが可能 • ステッカー ◦ ymrl⽒による⼒作 ◦ 最⾼の仕上がり freeeでのSecurity Champions制度
  6. Design Phase Development Phase QA Phase Operation Phase freeeでのSecurityを考慮した開発フロー 要件定義,

    設計段階 での相談 SecurityDesignReview (PSIRT) 脆弱性診断 ※他で品質が担保できてい ればリリース後に実施 センサー監視 各種脆弱性管理 SAST セキュアコーディング Release !
  7. Design Phase Development Phase QA Phase Operation Phase freeeでのSecurityを考慮した開発フロー 要件定義,

    設計段階 での相談 SecurityDesignReview (PSIRT) DesignDocReview (Security Champions) 脆弱性診断 ※他で品質が担保できてい ればリリース後に実施 センサー監視 各種脆弱性管理 脆弱性対応 (Security Champions) SAST スキャンされた 脆弱性の対応 (Security Champions) Release !
  8. • プロダクト内のSecurity対応 ◦ DesignDocのSecurity Champions Review ◦ ツールによって検出された脆弱性の対処 ◦ セキュリティインシデントの対応

    • 知⾒共有など ◦ 他のSecurity Championsとの定期共有会 ◦ セキュリティLT⼤会 実際にSecurity Championとして⾏っていること
  9. Security Champions セキュリティチーム ツールによって検出された脆弱性の対処 • CodeQLの設定 • Championsからの相談 22 •

    CodeQLの対処‧トリアージ • 不明なものについては相談 • 実装に精通したChampionsによる素早い対処が可能 • セキュリティに精通したチームへの相談をいつでもすることが可能
  10. • 顧客情報が関わる場合のインシデントなどは基本的にCSIRT/PSIRTが対処 • しかしながら、プロダクト開発チームでの対処が必要な場⾯もある • その際の対応役としてSecurity Championsを⽤いている セキュリティインシデントの対応 • 実例

    ◦ プロダクトに誤って登録されてしまったデータの削除 ▪ S3 bucket名や、DB上のカラム名などを実装上のコードから調査 ▪ 削除するためのタスクなどを実装 ◦ ログに流れてしまったSensitiveな情報のマスキング ▪ ログに流してもいい情報は決まっているが、設定ミスなどから流れることがある ▪ Championsがマスキングするための設定を追加
  11. • Security Championsによる2週間に1度の定期共有会 • 共有会では ◦ DesignDocのレビュー内容の共有‧質問 ◦ CodeQLのスキャン結果の確認 ◦

    セキュリティインシデントの共有 • 知識の共有をしながらプロダクトのセキュリティの最新状況を常に把握している Security Champions同⼠の定期共有会
  12. • 社内のDesignDocレビューのコスト削減 ◦ 200を超える数のDesignDocをレビュー ◦ 深いドメイン知識を活かしてSecurity teamの理解を助ける • 脆弱性対応の分業 ◦

    セキュリティチームがCodeQLの設定を管理し、Security Championsがそれらの トリアージを⾏っていく ◦ freee会計では約100個のスキャン結果の対応 • Championsを通して、プロダクト開発チームへ知⾒の共有をしたりセキュリティ チームへの相談が活発になったりした Security Championsによる成果
  13. • これまでは、開発チームとSecurityチームとの連携がうまく取れていなかった • 対策として、Security Champions制度を導⼊ • Championsによる ◦ ドメイン知識を活かしたDesignDocレビュー ◦

    脆弱性対処 ◦ セキュリティインシデント対応 • その結果、チーム間の連携が上⼿く取れるようになり、開発チームの中でも Securityについて意識が向くようになった まとめ