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
GMO Developer Day 2021 - DevSecOps 推進の取り組みの紹介.pdf
Search
mrtc0
September 16, 2021
Technology
1.8k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GMO Developer Day 2021 - DevSecOps 推進の取り組みの紹介.pdf
mrtc0
September 16, 2021
More Decks by mrtc0
See All by mrtc0
Datadog を使ったプロダクトとクラウドの セキュリティモニタリング
mrtc0
0
3.4k
コードで理解する eBPF セキュリティモニタリング
mrtc0
2
310
Product Security Casual Talk #1 - Datadog を使ったセキュリティモニタリングと 自動化の取り組み
mrtc0
2
720
GMO ペパボ株式会社 23卒・24卒向け セキュリティ勉強会 実践 DevSecOps パイプライン
mrtc0
1
750
実践 DevSecOps パイプライン ~システム開発へのセキュリティの取り入れ方~
mrtc0
2
610
脅威モデリングで考える Kubernetes セキュリティ / CloudNative Days Tokyo 2021 #CNDT2021 #CNDT2021_B
mrtc0
8
3.5k
ProSec-IT 2021 Container Security
mrtc0
2
830
Web セキュリティ研修 / GMO ペパボ 新卒研修 2021
mrtc0
7
46k
実践コンテナ & Kubernetes セキュリティ
mrtc0
12
4.1k
Other Decks in Technology
See All in Technology
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
700
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
180
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
120
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
620
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
960
手塩にかけりゃいいってもんじゃない
ming_ayami
0
420
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
130
失敗を資産に変えるClaude Code
shinyasaita
0
480
RAG を使わないという選択肢
tatsutaka
1
190
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
600
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
810
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
250
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Prompt Engineering for Job Search
mfonobong
0
340
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Bash Introduction
62gerente
615
220k
Test your architecture with Archunit
thirion
1
2.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Automating Front-end Workflow
addyosmani
1370
210k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Transcript
DevSecOps 推進の取り組みの紹介 GMO Pepabo, Inc. / Kohei Morita @mrtc0 GMO
Developer Day 2021 #GMOdevday
whoami Kohei Morita / @mrtc0 GMO Pepabo, Inc. セキュリティ対策室 シニアエンジニア
OWASP Fukuoka Chapter Leader セキュリティ・キャンプ 講師 / ステアリングコミッティメンバー blog.ssrf.in / container-seucrity.dev
About • ペパボにおける DevSecOps への最近の取り組みについてお話しします About this talk 1. 脅威モデリング
2. Inventory Management 3. SAST 4. セキュリティモニタリング 5. コミュニケーション ペパボテックカンファレンス #14 でお話した内容も含め、最近の取り組みについてお話します。 https://tech.pepabo.com/pdf/pepabo-tech-conference-14-security-team-slide.pdf
DevSecOps シフトレフトと自動化によって開発サイクルにセキュリティ対策を組み込んでいく DevSecOps 「DevSecOps」で検索すると ∞ な表現をイメージした図が出てきます
DevSecOps DevSecOps 手戻りのコストを小さくする 協力によりサイロ化を防いで 人材育成にも寄与
DevSecOps 継続的なセキュリティ強化を行うために ... Security as Code • DevOps プロセスにセキュリティツールを統合する •
「あるべき状態」をコードやポリシーで定義する • 自動化する Security as Code, Policy as Code, Test Driven Security で継続的かつ確実なセキュリティ対策を実施 セキュリティエンジニアリングとしての領域として発展させていくミッションの一つ
DevSecOps セキュリティ対策室 各事業部がセキュリティ対策を実施 2018年 🔥 セキュリティ・インシデントが発生 2018年 3月 セキュリティ対策室発足 2018年
12月 セキュリティインシデントの 再発防止策完了 2019年 インシデントハンドリング手法の 標準化 DevSecOps へのマインド切り替え 2021年 DevSecOps を実現するための ツールや仕組みを開発 事業部横断のセキュリティ対策を実施する組織として活動
DevSecOps ペパボでも「セキュリティを対策を意識しなくても実施されている状態」を目指している DevSecOps Cycle in Pepabo Code • 脅威モデリング •
セキュアコーディングトレーニング • SAST, DAST Test Monitoring • 各種インベントリ情報の管理 • ポートやファイル改竄などの監視 Incident Response • sssbot による支援 • Slack reacji 等による情報共有の工夫 例えば... 詳しくはペパボテックカンファレンス #14 のスライドをご覧ください https://tech.pepabo.com/pdf/pepabo-tech-conference-14-security-team-slide.pdf
DevSecOps • OpenStack ベースのプライベートクラウド Nyah 上で稼働 ◦ 一部 AWS や
GCP を利用し、ハイブリッドクラウドになっているサービスもある • ソースコード管理は GitHub Enterprise Server ◦ CI も GitHub Actions Self-hosted Runner を使用 ◦ コンテナレジストリも GitHub Packages を使用 ペパボのサービスとセキュリティ対策基盤 マネージドサービスは利用せず、セキュリティ基盤を自前で構築しているのが特徴
Threat Modeling
Threat Modeling • 潜在的な脅威を特定しサービスのセキュリティを向上させるために、脅威モデリングをサービスの開 発者 + セキュリティ対策室で実施 • 事前に Dataflow
を書いてもらい、STRIDE を使って評価。リスクの深刻度を判断して、対策や緩和策 を実施 Threat Modeling Dataflow の例. draw.io を利用. 脅威モデリングを実施する上で必要な情報が記載されているか確認のためのチェックリスト
Threat Modeling • 特定した脅威は「脅威」「手法」「前提」「攻撃元」「攻撃先」をまとめて記録 • リスク評価を行い、対策 /緩和策をアクションアイテムとして追加 Threat Modeling 脅威は
S.T.R.I.D ごとに Notion にまとめ 特定した脅威の対策を実施
Inventory Management
Inventory Management • 既知の脆弱性のトリアージなどを目的に、様々なインベントリを管理している Inventory Management アプリケーションの依存ライブラリ cyclone-dx で SBOM
にして Dependency-Track で管理 OS のバージョンやパッケージなど Wazuh の syscollector で収集、別 DB で管理 オンプレ/VM 含めたサーバー一覧 Wazuh がインストールされているかを 確認するためにも収集、リポジトリで管理
SAST
SAST • ペパボではコードレビュー時にセキュリティチェックを必ず行うことにしている • セキュリティレビューを支援するために「脆弱性の可能性のある」箇所を自動で指摘する GitHub Actions を活用している ◦ Semgrep
+ 各言語の SAST ツール コードレビュー時のセキュリティ支援 PHP のセキュリティレビュー支援 Bot による指摘の例 検出した内容とチェック項目に加えて、 その脆弱性に関するガイドライン等へのポインタを記載
SAST • https://semgrep.dev/ • Tree-sitter でパースした構文木に対して grep ができるツール Semgrep 関数としての
exec() の使用を検出し、文字 列としての exec() は検出しない
SAST • ルールは YAML で定義し`message` の文字列をレビューコメントとして投稿 Semgrep + GitHub Actions
# php-xss-echo.yaml rules: - id: xss-echo patterns: - pattern: | echo $X; - pattern-not: | echo "..."; - pattern-not: | htmlspecialchars(..., ENT_QUOTES, "UTF-8"); ... message: | :warning: Found XSS! See https://security-guide... languages: ["php"] severity: WARNING
Security Monitoring
Security Monitoring • Agent / Manager で構成される OSS のセキュリティプラットフォーム ◦
FIM や Log Analysis, Vulnerability Detection など機能が多彩 例えば SSH のログを拾って、ルールに基づいてアラートを上げ、アラートによっては自動でトリ アージを行うことが可能 Wazuh • ペパボでは全サーバーへの導入を目標としており、現在 1500台以上のサーバーを監視している
Security Monitoring Wazuh による監視の仕組み (logcollector) Wazuh Agent のコンポーネントの例 • syscheck
… FIM • syscollector … Inventory の収集 • logcollector … ログやコマンド実行結果の収集
Security Monitoring • デプロイなどの正常な変更についてもアラートが発砲されてしまい、狼少年状態に... 異常なアラートのみ通知するために、正常なアラートを自動トリアージする Auto triage Wazuh alerts •
通知モデルの変更 (ossec integration → kafka + WebApp) • 流量の制限とサマリ化 • 動的/静的な Mute ポリシーの実装 • シグネチャ収集によるアラート削減 • プロビジョニングツールによるデプロイ前後のコンテキスト取得 • Annotation によるトリアージ支援 • ルールをテストできる環境の整備
Security Monitoring • プライベートクラウド Nyah 上に Kubernetes クラスタを構築するツール • 各サービスのセキュリティレベルを揃えるためにデフォルトでセキュアになるようにしている
NKE (Nyah Kubernetes Engine) kube-apiserver の監査ログの取得 Secret などへのアクセスログを取得し、有事の際に対応できるように Falco による監視 Wazuh など既存のツールではコンテナ上のイベント監査ができないため Gatekeeper の導入 PSS を定義し、準拠しない Pod の作成をモニタリング & ブロック
Communication
Communication 「DevOps」vs「Sec」 の対立にならないようにする DevSecOps の推進 コミュニケーションが「セキュリティを当たり前とする文化」を育てるレバレッジとなる • セキュリティを組織文化として育む • 小さな異変や気づきを気軽に共有できる組織
• 平時・緊急を問わず、迅速・正確な対応につなげる ツールを導入して終わり! ではなく、コミュニケーションを通して組織のセキュリティマインドを育てる
Commincation CO3 ( Communication / Completeness / Continuous ) セキュリティ対策室の方針
• Communication … コミュニケーションを取る。「みんなと仲良くする」。 • Completeness … インシデントを収束させる。対策を完了する。 • Continuous … 対策を継続する。継続にレバレッジする技術を使う。
Communication • セキュアコーディング研修や新卒研修でのトレーニング • SSS Tuesday (中途入社者向けのセキュリティオンボーディング ) • 社内イベント(ペパボテックフライデー
)で宣伝と啓蒙 コミュニケーションの取り組み DevSecOps モデルの理解を得てもらうために様々な取り組みをしている 研修での「sss」絵文字リアクションの様子 インシデント訓練や研修時でも sssbot を利用
Communication 自動化(基盤構築)とコミュニケーションが DevSecOps 推進のポイント 💡 DevSecOps の推進 • ツールの導入、自動化でセキュリティ対策を "継続"
する • セキュリティ文化を醸成するために "コミュニケーション" に力を入れる • 上記を実施することで迅速・正確な対策を "完了" できる もちろん、組織によっては、これだけでは足りないこともあると思います。 DevSecOps やシフトレフトへの切り替えは、組織ごとにアプローチが変わってきますが、参考になれば幸いです。
We are hiring ! 以下、一つでもマッチする方を募集しています!!1 我々のミッションや取り組みに共感、興味を持って頂いた方へ • 技術力、コミュニケーションで DevSecOps の推進に貢献したい方
• プロダクトのセキュリティエンジニアリングに関わりたい方 • この発表を聞いて「面白そう!」となった方 「ペパボ 採用」[ 検索 ] https://recruit.pepabo.com/