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

Woman Developers Summit 2022 (セキュリティ技術者として大切にしていること、 攻めと守り、仕組みづくりの視点から) PSIRT FY23Q2

freee
November 08, 2022

Woman Developers Summit 2022 (セキュリティ技術者として大切にしていること、 攻めと守り、仕組みづくりの視点から) PSIRT FY23Q2

freee

November 08, 2022
Tweet

More Decks by freee

Other Decks in Technology

Transcript

  1.   2 越智郁 2022 1.17 freeeにjoin. PSIRT(Product Security Incident Response

    Team)所属 脆弱性診断の業務を中心に、さまざまなプロダクトセキュリティに 関する業務に携わっています。 PSIRT kaworu プロフィール画像の トリミング方法
  2. 8 Plan Code Build Test Deploy Configure Monitor Code Review

    Response Logging Detect SAST SCA E2E IaC CSPM Vulnerability Assessment コードレビュー
 静的解析
 動作検証
 脆弱性スキャン
 脆弱性診断
 ログを取る
 異常検知
 インシデント対応
 構成管理
 ポリシー検証
 PSIRTの日常…DevSecOpsへの取り組み 開発と運用にsecurityを埋め込む
  3.   9 日々の運用 freee PSIRT OODA loop Security Weekly もくもく会


    Incident Handling Kaizen hour Observe 担当者が集まって分析 気になるものは一緒に探ってみる 世話を焼いていくスタイル Decide CSIRT/PSIRTで情報共有 検知状況を解釈し、対処方針を決める あえて共有 理想ドリブン Act 改善してみる かっとなって、しゅっとやる Hack Everything Orient もしものときには 足りないものに気付く 失敗して攻めよう
  4. freeeにきてからのとりくみ PSIRT配属
 03 04 05 07 01 02 06 08

    10 09 視点 脆弱性診断
 Sensor
 監視
 守り 仕組みづくり GitHub audit logを
 監視できる仕組み
 攻め
  5. 脆弱性診断のながれ 対象決め 診断 準備 結果 対応 新規リリース 新機能追加 対象の仕様 スケジュール調整

    診断用環境 ダミーデータ 外部依頼時 - トリアージ 内部実施時 - 詳細手順 開発チームに 対応依頼 ツール診断 手動の診断
  6. 攻めの視点「脆弱性診断」 対象決め 診断 準備 結果 対応 対象の仕様等 スケジュール調整 診断用環境 ダミーデータ

    安定して攻め続けるために、一連の流れをスムーズに回していく体制や仕組みづくりも大切
  7. 「脆弱性診断」ツール診断 Pattern — ../../../../../../../../../../../etc/hosts ../../../../../../../../../etc/hosts%00 /etc/hosts |/bin/sleep 20| ;/bin/sleep 20;

    ../../../../../../../bin/sleep 20| $(../../../../../../../bin/sleep 20) '`/bin/sleep 20`' `/bin/sleep 20` ツールを用いて機械的な検証
  8. 「脆弱性診断」ツール診断 ツールの検知内容や、HTTP responseの情報を参考に判断 Pattern — ../../../../../../../../../../../etc/hosts    ../../../../../../../../../etc/hosts%00   /etc/hosts |/bin/sleep 20|

    ;/bin/sleep 20; ../../../../../../../bin/sleep 20| $(../../../../../../../bin/sleep 20) '`/bin/sleep 20`' `/bin/sleep 20` StatusCode – 400 400 200 500 500 500 500 500 500 mil sec – 139 164 213 165 211 198 156 20158 209
  9. OK 「脆弱性診断」手動診断 200 OK {“name”: “名前太郎”, “company”: “B” GET /api/profile/2

    403 forbidden 権限がありません GET /api/profile/2 ビジネスロジックや権限まわりの検証など 本来見えてはいけないデータが見えてしまう例 脆弱
  10. 攻めの視点「脆弱性診断」 対象決め 診断 準備 結果 対応 新規リリース 新機能追加 対象の仕様 スケジュール調整

    診断用環境 ダミーデータ 外部依頼時 - トリアージ 内部実施時 - 詳細手順 開発チームに 対応依頼 ツール診断 手動の診断
  11. 33 Triage SIEMを参照しながら、 優先度、重要度を判断 SIEM Dashboard es-loader 守りの視点「Sensor監視」 SIEM :

    Security Information & Event Mangement = logを解析するviewer WAF: Web Application Firewall を担当することになった Security Sensor AWS WAF CloudOne GuardDuty AWS Log CloudTrail ELB DNS query log VPC flow log 簡易対処 とりあえず止血 根本対処 間違いが起きない仕 組み
  12. Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼 関連情報を リンクで含む 検索時間が大幅に短縮

    起票まで自動化 + 深掘りに必要な情報がリンク化 一つあたりの対応時間の大幅な短縮で、確認できる範囲が5倍になった 検知内容の通知
  13. Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼 関連情報を リンクで含む 検索時間が大幅に短縮

    起票まで自動化 + 深掘りに必要な情報がリンク化 一つあたりの対応時間の大幅な短縮で、確認できる範囲が5倍になった 検知内容の通知 mbです! 私がつくりました!!
  14. freeeにきてからのとりくみ PSIRT配属
 03 04 05 07 01 02 06 08

    10 09 視点 仕組みづくり GitHub audit logを
 監視できる仕組み

  15. 54 GitHub audit logの取得 Request GET /orgs/{org}/audit-log Response [{ "@timestamp":

    1606929874512, "action": "team.add_member", "actor": "octocat", "created_at": 1606929874512, "_document_id": "xJJFlFOhQ6b-5vaAFy9Rjw", "org": "octo-corp", "team": "octo-corp/example-team", "user": "monalisa" }, … ] audit log
  16. 56 GitHub audit log SIEMとりこみ 結果 お盆休みの時期 シルバーウィークの時 期 従来は文字列を追う必要があった

    可視化されることで、違う視点からも調べられるようになった ログの取り込み件数…活動量という見方もできる
 件 数
  17. freeeにきてからのとりくみ PSIRT配属
 03 04 05 07 01 02 06 08

    10 09 視点 脆弱性診断
 Sensor
 監視
 守り 仕組みづくり 攻め GitHub audit logを
 監視できる仕組み