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
DevSecOps スキームにおいて脆弱性逓減を可能にするOSS ベースの環境調査
Search
SeaOtter (Kentaro Mori)
August 07, 2023
Research
0
120
DevSecOps スキームにおいて脆弱性逓減を可能にするOSS ベースの環境調査
修士課題研究
SeaOtter (Kentaro Mori)
August 07, 2023
Tweet
Share
More Decks by SeaOtter (Kentaro Mori)
See All by SeaOtter (Kentaro Mori)
OSS-based environmental investigations to enable vulnerability mitigation in DevSecOps schemes
moruku36
0
86
就職&転職の話
moruku36
0
120
自己紹介スライド_2023年度版
moruku36
0
580
Microsoft製品・サービスでのChatGPT
moruku36
0
64
Other Decks in Research
See All in Research
[ECCV2024読み会] 衛星画像からの地上画像生成
elith
1
1.1k
打率7割を実現する、プロダクトディスカバリーの7つの極意(pmconf2024)
geshi0820
0
300
Composed image retrieval for remote sensing
satai
2
240
第79回 産総研人工知能セミナー 発表資料
agiats
3
200
JSAI NeurIPS 2024 参加報告会(AI アライメント)
akifumi_wachi
5
820
The Economics of Platforms 輪読会 第1章
tomonatu8
0
140
リモートワークにおけるパッシブ疲労
matsumoto_r
PRO
6
4.9k
ダイナミックプライシング とその実例
skmr2348
3
590
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
1.7k
ECCV2024読み会: Minimalist Vision with Freeform Pixels
hsmtta
1
410
新規のC言語処理系を実装することによる 組込みシステム研究にもたらす価値 についての考察
zacky1972
1
320
Gemini と Looker で営業DX をドライブする / Driving Sales DX with Gemini and Looker
sansan_randd
0
120
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
KATA
mclloyd
29
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Automating Front-end Workflow
addyosmani
1368
200k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
GraphQLとの向き合い方2022年版
quramy
44
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
GitHub's CSS Performance
jonrohan
1030
460k
Transcript
DevSecOps スキームにおいて脆弱性逓減を 可能にするOSS ベースの環境調査 2130022 森 健太郎
目次 1. 研究の背景 2. 脆弱性の逓減手法 3. 検証環境の構築 4. 検証結果への考察 5.
本調査の貢献
研究の背景
1.研究の背景 (1) ・近年、ソフトウェア開発において、 DevOps という開発手法が注目されている ・DevOps とは、開発(Development)と運用(Operations)のチームを融合させ、 迅速な実装と運用を実現する開発手法 ・DevOps 開発では、セキュリティ対策が十分に行われていないという問題が指摘されている
開発 運用 図1: What is DevOps ?
1.研究の背景 (2) ・DevOps にセキュリティ(Security)を組み込んだDevSecOps 開発手法の広がり ・アプリケーションのライフサイクル全体に渡ってセキュリティを確保することを目指す ・DevSecOps 開発 では、開発者や運用者だけでなくセキュリティ担当者も開発に参加し、 ソースコード
/ インフラのセキュリティチェックや脆弱性診断を自動化して実施する 図2: What is DevSecOps ? 運用 開発 セキュリティ
1.研究の背景 (3) ・本調査研究では、DevOps にセキュリティ対応を含めたDevSecOps スキームの元、 OSS ベースの開発環境を構築することで脆弱性の逓減が可能になるか調査を実施し 調査結果に対して考察を行った
脆弱性の逓減手法
2.脆弱性の逓減手法 (1) ・脆弱性とは、アプリケーションやシステムに存在するセキュリティ上の 欠陥や弱点のことで、攻撃者によって悪用される可能性がある ・DevSecOps での脆弱性管理は継続的かつ自動化されたプロセスとして実施される 計画 開発 ビルド リリース
運用 脆弱性 管理 図3: DevSecOps lifecycle stages
2.脆弱性の逓減手法 (2) ・脅威分析 ・・ アプリケーションやシステムに存在する潜在的な脅威や リスクを特定し、評価し、対策するプロセス ・ソースコードキャン・・ソースコードに含まれるクレデンシャル情報や脆弱性を検出 ・脆弱性スキャン ・・既知の脆弱性を検出するために行うスキャニング ・ポリシーチェック
・・満たすべきセキュリティ要件や基準に対して行う、チェックや検証 ・セキュリティテスト・・脆弱性を検出するために行うペネトレーションテスト
検証環境の構築
3.検証環境の構築 - (1) パブリッククラウドサービス Azure 上にOSS 製品を用いてDevSecOps の検証環境を構築し、 サンプルアプリに対し5段階のセキュリティチェックを実施し脆弱性の発生数と種類を確認 <サンプルアプリ>
言語: Python v3.9.6, Node.js v14.17.3, .NET v5.0.8 DB: Redis v6.2.4, Postgres v13.3 コンテナ: Docker v20.10.7 <セキュリティチェック> ① ソースコードスキャン ② コンテナイメージスキャン ③ Kubernetes クラスタースキャン ④ ポリシーチェック ⑤ ペネトレーションテスト 図4: example-voting-app
3.検証環境の構築 - (1-) ① ②コンテナイメージ スキャン ③Kubernetes クラスター スキャン ④ポリシーチェック
⑤ペネトレーションテスト ソースコードス キャン
3.検証環境の構築 - (2) テスト結果 ・GitHub Advanced Security の依存関係診断でNode.js パッケージの脆弱性が指摘 ・Trivy
のイメージスキャンからはホストイメージへのセキュリティパッチが 未対応なものや、使用している言語のセキュリティアップデート問題が検出 ・Kube-hunter の診断ではPod の露出やContainer の露出などの脆弱性が検出 ・OWASP ZAP の脆弱性診断ではセッション管理の問題やセキュリティヘッダーの問題など検出
検証結果への考察
4.検証結果への考察- (1) 構築結果への考察 ・〇 従来セキュリティテストで判明する脆弱性を開発の初期段階で検出することができる ・△ DevSecOps 環境を構築してもアプリケーションの脆弱性を完全に無くすことはできない そのため、SIEM を利用した対策の実施や、セキュリティトリアージの実施が必要になる (後述) ・△ DevSecOps は環境構築自体に時間を要する
本調査では、DevOps 開発経験がある場合でも、今回の検証環境の構築に 40 時間ほどかかる
4.検証結果への考察- (2) セキュリティ対策への考察 < テスト結果から > ・SIEM の導入により、リアルタイムにセキュリティイベントを監視し、異常なパターンを検出する ・脆弱性に対して緊急度や重要度などの指標から優先度を付けてセキュリティトリアージを実施する < ネットワーク周り
> ・開発環境をイントラネット内に構築し、インターネットとの境界に L7 レベルでは WAF を、L4 レベルではFW を設置することで、外部からの攻撃を防ぐことが可能 ・Hub&Spoke のネットワークを構成することでネットワークレベルのセグメンテーションを実施 < スキームの有効な利用 > ・脅威分析の導入により、計画段階からシステムのセキュリティを考慮するチーム体制が必要
本調査の貢献
5.本調査の貢献 ・OSS ベースのDevSecOps 環境の構築により、システムの脆弱性逓減が可能であることを提示 ・OSS を活用したDevSecOps スキームのコスト面、工数面でのメリット、デメリットを明確にした ・開発、運用フェーズ全体を俯瞰したセキュリティ対策手法を示した ・脅威分析を基にしたチーム内のセキュリティスキルを向上させる手法を示した
画像参照 図1: What is DevOps ? https://www.dynatrace.com/news/blog/what-is-devops/ 図2: What is
DevSecOps ? https://www.dynatrace.com/news/blog/what-is-devsecops/ 図3: DevSecOps lifecycle stages https://learn.microsoft.com/en-us/azure/architecture/guide/devsecops/devsecops-on-aks#devsecops-lifecy cle-stages 図4: example-voting-app https://github.com/dockersamples/example-voting-app#architecture