Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Woman Developers Summit 2022 (セキュリティ技術者として大切にして...
Search
freee
November 08, 2022
Technology
0
23k
Woman Developers Summit 2022 (セキュリティ技術者として大切にしていること、 攻めと守り、仕組みづくりの視点から) PSIRT FY23Q2
freee
November 08, 2022
Tweet
Share
More Decks by freee
See All by freee
品質の高速フィードバックへの取り組み / Commitment to Fast Quality Feedback
freee
3
790
組織作りに「プロダクト開発のエッセンス」 を取り入れ、不確実性に向き合い続ける / Incorporating the “essence of product development” into organizational development and continuing to face uncertainty
freee
0
1.2k
LGBTQ__support_WOMEN_女性として働くということ_DEI
freee
2
420
QAエンジニア_Summer Internship説明会(26卒)
freee
0
220
権限管理基盤の開発とQAの今 / Authority Management Infrastructure Development and QA Now
freee
1
2.3k
国籍と専門性を超えてのコラボレーション / Collaboration across nationalities and specialties
freee
1
2.3k
デザインリサーチの広げ方 〜XDの姿勢・態度・思考〜 / How to Expand Design Research 〜˜XD's Attitude, Attitude, and Thinking
freee
1
2.3k
グローバルなQAエンジニア・・・ってナニ!? / Global_QA_Engineer..._What_s_that.pdf
freee
1
2.3k
ぶきっちょPMによるfreeeのカルチャーとプロダクトのつながりについて / The Connection Between Freee's Culture and Product by a Clumsy PM
freee
1
2.3k
Other Decks in Technology
See All in Technology
tenntennはなんでnewmoにnew社したの? - YAPC::Hakodate 2024
tenntenn
PRO
0
260
【shownet.conf_】AI技術とUX監視の応用でShowNetの基盤を支えるモニタリングシステム
shownet
PRO
0
380
Efficient zero-copy networking using io_uring
ennael
PRO
0
360
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
4
780
Databricks Appのご紹介
databricksjapan
0
250
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
210
【㈱アイモバイル】エンジニア向け会社説明資料
imobile
0
470
【完全版】Dify - LINE Bot連携 考え方と実用テクニック
uezo
1
350
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(2-1)WebAPI座学
nomu
0
170
【swonet.conf_】NOCメンバーが語るSTMの実態!! ~ShowNetから若者への贈り物~
shownet
PRO
0
310
OPENLOGI Company Profile
hr01
0
54k
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
8
2.5k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
GraphQLとの向き合い方2022年版
quramy
43
13k
Agile that works and the tools we love
rasmusluckow
327
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
46
4.9k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Debugging Ruby Performance
tmm1
73
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Documentation Writing (for coders)
carmenintech
65
4.4k
The Pragmatic Product Professional
lauravandoore
31
6.2k
A better future with KSS
kneath
237
17k
Writing Fast Ruby
sferik
626
60k
Transcript
2022.11.02 13:10 ~ 13:40 Woman Developers Summit 2022 セキュリティ技術者として大切にしていること、
攻めと守り、仕組みづくりの視点から
2 越智郁 2022 1.17 freeeにjoin. PSIRT(Product Security Incident Response
Team)所属 脆弱性診断の業務を中心に、さまざまなプロダクトセキュリティに 関する業務に携わっています。 PSIRT kaworu プロフィール画像の トリミング方法
スモールビジネスを、世界の主役に。
4 freee会計 freee開業 freee福利厚生 freeeアプリストア freee人事労務 freee会社設立 freee受発注 freeeプロジェクト管理
freee資金調達 freee申告 freeeカード プロダクトラインアップ freeeサイン
5 00 はじめに 01 PSIRTの日常 02 攻めの視点「脆弱性診断」 03 守りの視点「sensor監視」 04 仕組みづくり 05 おわりに 目次
6 00 はじめに 01 PSIRTの日常 02 攻めの視点「脆弱性診断」 03 守りの視点「sensor監視」 04 仕組みづくり 05 おわりに 目次
7 PSIRT(Product Security Incident Response Team) serviceを守るのがPSIRTの責務
8 Plan Code Build Test Deploy Configure Monitor Code Review
Response Logging Detect SAST SCA E2E IaC CSPM Vulnerability Assessment コードレビュー 静的解析 動作検証 脆弱性スキャン 脆弱性診断 ログを取る 異常検知 インシデント対応 構成管理 ポリシー検証 PSIRTの日常…DevSecOpsへの取り組み 開発と運用にsecurityを埋め込む
9 日々の運用 freee PSIRT OODA loop Security Weekly もくもく会
Incident Handling Kaizen hour Observe 担当者が集まって分析 気になるものは一緒に探ってみる 世話を焼いていくスタイル Decide CSIRT/PSIRTで情報共有 検知状況を解釈し、対処方針を決める あえて共有 理想ドリブン Act 改善してみる かっとなって、しゅっとやる Hack Everything Orient もしものときには 足りないものに気付く 失敗して攻めよう
PSIRTのメンバー構成 1000人規模の会社 インフラからアプリケーションまで それぞれの必殺技(得意な分野)の バリエーションがひろいチーム! セキュリティチーム構成 CISO下に、CSIRT、PSIRTの構成 PSIRTの女性はふたり もうひとり、素敵な方がいます 彼女のお仕事の話も本日少し触れます
1% CSIRT CISO PSIRT
freeeにきてからのとりくみ PSIRT配属 03 04 05 07 01 02 06 08
10 09 視点 脆弱性診断 Sensor 監視 守り 仕組みづくり GitHub audit logを 監視できる仕組み 攻め
12 00 はじめに 01 PSIRTの日常 02 攻めの視点「脆弱性診断」 03 守りの視点「sensor監視」 04 仕組みづくり 05 おわりに 目次
freeeにきてからのとりくみ PSIRT配属 03 04 05 07 01 02 06 08
10 09 視点 脆弱性診断 攻め
「脆弱性診断」 擬似的な攻撃 ふるまいをみて 脆弱性を探す 脆弱性…セキュリティ上の問題点を探す
攻めの視点「脆弱性診断」 診断 結果 外部依頼時 - 指摘内容を確認 - トリアージ 内部実施時 ツール診断
手動の診断 脆弱性を探す、まさに攻める部分
攻めの視点「脆弱性診断」 対象決め 診断 準備 結果 対応 ツール診断 手動の診断 脆弱性診断のながれ
脆弱性診断のながれ 対象決め 診断 準備 結果 対応 新規リリース 新機能追加 対象の仕様 スケジュール調整
診断用環境 ダミーデータ 外部依頼時 - トリアージ 内部実施時 - 詳細手順 開発チームに 対応依頼 ツール診断 手動の診断
脆弱性診断のながれ 対象決め 診断 準備 結果 対応 対象の仕様 スケジュール調整 診断用環境 ダミーデータ
脆弱性診断の準備 テンプレート化 共通の確認事項をテンプレートに 準備ツールの作成 “診断ヒアリングし太郎”
20 同期的なヒアリングが、非同期でできるようになった。 (その分の工数を他のことで利用できるようになった) 診断ヒアリングし太郎(診断太郎)
攻めの視点「脆弱性診断」 対象決め 診断 準備 結果 対応 対象の仕様等 スケジュール調整 診断用環境 ダミーデータ
安定して攻め続けるために、一連の流れをスムーズに回していく体制や仕組みづくりも大切
攻めの視点「脆弱性診断」 対象決め 診断 準備 結果 対応 ツール診断 手動診断
「脆弱性診断」の攻め方 ツール診断 内部だからこそ 手動診断
「脆弱性診断」ツール診断 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` ツールを用いて機械的な検証
「脆弱性診断」ツール診断 ツールの検知内容や、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
「脆弱性診断」手動診断 200 OK {“name”: “越智郁”, “company”: “A” } ビジネスロジックや権限まわりの検証など GET
/api/profile/1
「脆弱性診断」手動診断 403 forbidden 権限がありません ビジネスロジックや権限まわりの検証など GET /api/profile/2
OK 「脆弱性診断」手動診断 200 OK {“name”: “名前太郎”, “company”: “B” GET /api/profile/2
403 forbidden 権限がありません GET /api/profile/2 ビジネスロジックや権限まわりの検証など 本来見えてはいけないデータが見えてしまう例 脆弱
「脆弱性診断」内部だからこその観点 ソースコードや設定、開発チームとの詳細なコミュニケーションがとれる よりリスクの高いパスをじっくり検証したり、”抜き打ち”したり
攻めの視点「脆弱性診断」 対象決め 診断 準備 結果 対応 新規リリース 新機能追加 対象の仕様 スケジュール調整
診断用環境 ダミーデータ 外部依頼時 - トリアージ 内部実施時 - 詳細手順 開発チームに 対応依頼 ツール診断 手動の診断
31 00 はじめに 01 PSIRTの日常 02 攻めの視点「脆弱性診断」 03 守りの視点「sensor監視」 04 仕組みづくり 05 おわりに 目次
freeeにきてからのとりくみ PSIRT配属 03 04 05 07 01 02 06 08
10 09 視点 Sensor 監視 守り
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 簡易対処 とりあえず止血 根本対処 間違いが起きない仕 組み
Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼
SIEMを確認(1週間) とあるサービスのBlock状況 件 数
SIEMを確認(1週間→1日) 件 数
SIEMを確認(1週間→1日→Block数の多い特定IP) 件 数
深堀り…典型的な攻撃・探索パターン 件 数
Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼
Sensor監視:Public APIの大量リクエスト freeeユーザー freee Public API freee Public API:要望に合わせた機能開発ができるように、APIを提供しています。
Sensor監視:Public APIの大量リクエスト 特定ユーザーの特定パスにて、大量のリクエストが発生し、Block。 Block開始 件 数
Sensor監視:Public APIの大量リクエスト 特定ユーザーの特定パスにて、大量のリクエストが発生し、Block。 Sensorが検知 Issue Open Triage → お客様へお知らせ 件
数
Sensor監視:Public APIの大量リクエスト お客様側で 対処 Issue Close 件 数
Sensor監視:Public APIの大量リクエスト 特定ユーザーの特定パスにて、大量のリクエストが発生し、Block。 Block=悪い通信とは限らない。みきわめが大変。 Block開始 Sensorが検知 お客様側で 対処 Issue Close
Issue Open Triage → お客様へお知らせ 件 数
Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼
Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼 関連情報を リンクで含む 検索時間が大幅に短縮
起票まで自動化 + 深掘りに必要な情報がリンク化 一つあたりの対応時間の大幅な短縮で、確認できる範囲が5倍になった 検知内容の通知
Sensor監視のながれ SIEMを確認 深堀り 起票 対応 開発チームに 対応依頼 関連情報を リンクで含む 検索時間が大幅に短縮
起票まで自動化 + 深掘りに必要な情報がリンク化 一つあたりの対応時間の大幅な短縮で、確認できる範囲が5倍になった 検知内容の通知 mbです! 私がつくりました!!
48 00 はじめに 01 PSIRTの日常 02 攻めの視点「脆弱性診断」 03 守りの視点「sensor監視」 04 仕組みづくり 05 おわりに 目次
freeeにきてからのとりくみ PSIRT配属 03 04 05 07 01 02 06 08
10 09 視点 仕組みづくり GitHub audit logを 監視できる仕組み
50 仕組みづくり「GitHub audit logのSIEMへの取り込み」 audit log: 監査ログ 内部起因のインシデントを予防を目的に
51 audit log: 監査ログ 内部起因のインシデントを予防を目的に 仕組みづくり「GitHub audit logのSIEMへの取り込み」
52 仕組みづくり「GitHub audit logのSIEMへの取り込み」 audit log: 監査ログ, GitHub上のいろいろな操作の履歴
53 仕組みづくり「GitHub audit logのSIEMへの取り込み」 audit log: 監査ログ, GitHub上のいろいろな操作の履歴 画面操作で監査ログを取り扱うのも地味に大変 ※検索結果のイメージです。
実際は組織名/repository名、日付、国名が入っています。
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
55 GitHub audit logのSIEMへの取り込み es-loader audit log siem
56 GitHub audit log SIEMとりこみ 結果 お盆休みの時期 シルバーウィークの時 期 従来は文字列を追う必要があった
可視化されることで、違う視点からも調べられるようになった ログの取り込み件数…活動量という見方もできる 件 数
57 00 はじめに 01 PSIRTの日常 02 攻めの視点「脆弱性診断」 03 守りの視点「sensor監視」 04 仕組みづくり 05 おわりに 目次
freeeにきてからのとりくみ PSIRT配属 03 04 05 07 01 02 06 08
10 09 視点 脆弱性診断 Sensor 監視 守り 仕組みづくり 攻め GitHub audit logを 監視できる仕組み
私がセキュリティ技術者として大切にしていること 幅を広げる 脆弱性診断のエンジニアから セキュリティ技術者へ 積み重ね 積み重ねてよりセキュアに 自身のできることも増やしたい 視点・視野を広げる 攻め・守り・仕組みづくり 相互に影響しあっていると実感
freeeの開発文化
freeeについて mission https://corp.freee.co.jp/mission/ Developers Blog (security) https://developers.freee.co.jp/archive/ca tegory/セキュリティ エンジニア採用 https://jobs.freee.co.jp/engineers/
2022.11.02 13:10 ~ 13:40 Woman Developers Summit 2022 セキュリティ技術者として大切にしていること、
攻めと守り、仕組みづくりの視点から