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
85
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
61
就職&転職の話
moruku36
0
83
自己紹介スライド_2023年度版
moruku36
0
320
Microsoft製品・サービスでのChatGPT
moruku36
0
41
Other Decks in Research
See All in Research
Cross-Media Information Spaces and Architectures
signer
PRO
0
130
Julia Tokyo #11 トーク: 「Juliaで歩く自動微分」
abap34
2
1.3k
CSC590 Lecture 01
javiergs
PRO
0
130
Discovering Universal Geometry in Embeddings with ICA
momoseoyama
1
390
ICLR2024 LLMエージェントの研究動向
masatoto
9
4.1k
[KDD2023論文読み会] BERT4CTR: An Efficient Framework to Combine Pre-trained Language Model with Non-textual Features for CTR Prediction / KDD2023 LY Tech Reading
shunk031
0
500
Generative Spoken Dialogue Language Modeling [対話論文読み会@電通大]
yuta0306
1
150
Webスケールデータセットに対する実用的なポイズニング手法 / Poisoning Web-Scale Training Datasets is Practical
nttcom
0
140
Threat Intelligence and Beyond
rishikadesai_7
0
200
第12回全日本コンピュータビジョン勉強会:画像の自己教師あり学習における大規模データセット
naok615
0
540
20240127_熊本から今いちど真面目に都市交通~めざせ「車1割削減、渋滞半減、公共交通2倍」~ 全国路面電車サミット2024宇都宮
trafficbrain
1
690
訓練データ作成のためのCloudCompareを利用した点群の手動ラベリング
kentaitakura
0
590
Featured
See All Featured
For a Future-Friendly Web
brad_frost
172
9k
Happy Clients
brianwarren
92
6.4k
Gamification - CAS2011
davidbonilla
77
4.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
Scaling GitHub
holman
457
140k
Producing Creativity
orderedlist
PRO
338
39k
A Philosophy of Restraint
colly
197
16k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Building Adaptive Systems
keathley
32
1.9k
Git: the NoSQL Database
bkeepers
PRO
423
63k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
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