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.9k
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.5k
コードで理解する eBPF セキュリティモニタリング
mrtc0
2
330
Product Security Casual Talk #1 - Datadog を使ったセキュリティモニタリングと 自動化の取り組み
mrtc0
2
730
GMO ペパボ株式会社 23卒・24卒向け セキュリティ勉強会 実践 DevSecOps パイプライン
mrtc0
1
770
実践 DevSecOps パイプライン ~システム開発へのセキュリティの取り入れ方~
mrtc0
2
630
脅威モデリングで考える Kubernetes セキュリティ / CloudNative Days Tokyo 2021 #CNDT2021 #CNDT2021_B
mrtc0
8
3.6k
ProSec-IT 2021 Container Security
mrtc0
2
840
Web セキュリティ研修 / GMO ペパボ 新卒研修 2021
mrtc0
7
47k
実践コンテナ & Kubernetes セキュリティ
mrtc0
12
4.2k
Other Decks in Technology
See All in Technology
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
190
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
0
350
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
130
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
190
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
160
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
250
Autonomous AI Databaseサービス・アップデート(FY27)/ adb-service-update-jp-fy27
oracle4engineer
PRO
0
110
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
230
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
350
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
190
Evolving SEO for Evolving Search Engines
ryanjones
0
280
GraphQLとの向き合い方2022年版
quramy
50
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Exploring anti-patterns in Rails
aemeredith
3
490
Writing Fast Ruby
sferik
630
63k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
320
Marketing to machines
jonoalderson
1
5.7k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
460
Mind Mapping
helmedeiros
1
350
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/