「DevSecOpsとは?」の
一歩先
複数の導入経験から語るセキュリティエンジニアの本音
田原聖也 (Tahara, Masaya)
November 4, 2021
Agenda
発表内容に関する注意
DevSecOpsへの共通認識の整理
うまくいくDevSecOpsプロジェクトが大事にしていること
典型的な導入事例に当てはめる
習熟レベルとそれぞれが目指すべきもの
発表内容のまとめと補足
1
2
3
4
5
6
7
自己紹介
2
1. 自己紹介
田原 聖也 (Tahara, Masaya)
• https://github.com/MasayaTahara
• https://www.strava.com/athletes/84259956
• アクセンチュア株式会社
テクノロジーコンサルティング本部所属
• クラウドとセキュリティの2軸でお客様の支援をしております
• アプリケーション・・・業務でもプライベートでも幅広く
Rust, Go, Ruby, Python, C#, Java, C++, etc
• インフラ・・・ほぼAWS、Azureを少し
• セキュリティ・・・
情報処理安全確保支援士
3
This presentation makes reference to marks owned by third parties. Unless otherwise noted, all such third-party marks are the property of their
respective owners. No sponsorship, endorsement or approval of this content by the owners of such marks is intended, expressed or implied.
2. 発表内容に関する注意
DevSecOpsを活用するとはどういう状態か、どうすればDevSecOpsを活用できる
のか、について複数案件での導入・支援の経験を基にお話します。
お話すること お話しないこと
✓ DevSecOpsがうまくいく共通点
✓ 実際に導入すると発生しやすい問題
✓ DevSecOpsをより活用するための
アプローチ
✓ 特定の製品・ツールに関する詳細な説明
✓ 具体的なDevSecOpsを含んだCI/CD
アーキテクチャの深堀り
4
3. DevSecOpsへの共通認識の整理
DevSecOpsでは、ただセキュリティチェックを行うのではなく、できるだけそれが開発
の邪魔にならないことが求められます。
5
(Gartner[1] より引用。日本語部分は発表者が抄訳。)
✓ DevSecOps is the integration of security into emerging agile IT and
DevOps development as seamlessly and as transparently as possible.
…DevSecOpsとは、新興のアジャイルITやDevOpsの開発に、セキュリティをで
きるだけシームレスかつ透過的に統合すること
✓ Ideally, this is done without reducing the agility or speed of
developers or requiring them to leave their development toolchain
environment.
…理想的には、開発者のアジリティやスピードを低下させたり、開発ツール環境を
変更することなく、これを実現する
[1] https://www.gartner.com/en/information-technology/glossary/devsecops
4. うまくいくDevSecOpsプロジェクトが大事にしていること
DevSecOpsをうまく活用するためには、アジャイルなアプローチを忘れず、具体的に
は3つの施策を遂行することが重要です。
6
施策①:ツールの導入はビッグバンアプローチよりもスモールスタート
施策②:運用しながら、体制やフローを修正し続ける
施策③:小さな成功を積み重ねて、大きな成果を得る
DevSecOpsにもアジャイルなアプローチを忘れるべからず!
5. 典型的な導入事例に当てはめる (Case 1)
導入事例1では高機能なセキュリティ製品をビッグバンアプローチで導入したため、
対応の負荷が大きくなり、結果運用が回らなくなってしまいました。
7
※本事例は発表者の経験を基にしたフィクションであり、実在するプロジェクトとは異なります。
• プロジェクト初期に高機能な商用セキュリティスキャン製品を導入
• 運用コスト面からセキュリティチームがプロジェクトを離れると、
DevSecOpsも形骸化
• 人・プロセス・技術の分析:
技術は最初から揃っていても、プロセスが未成熟なうちに人が抜けてし
まい、全体のバランスが崩れた
5. 典型的な導入事例に当てはめる (Case 2)
導入事例2ではOSSをベースとしてスモールスタートでDevSecOpsの導入を始め、
人・プロセス・技術がバランスを保つことで無理なくセキュリティ強化を実現しました。
8
※本事例は発表者の経験を基にしたフィクションであり、実在するプロジェクトとは異なります。
• はじめはほとんどOSSのセキュリティツールを利用
• 運用しながらツールを追加・入れ替えし、プロジェクトにとって無理の
ない形で徐々にDevSecOpsを強化
• 人・プロセス・技術の分析:
3つのそれぞれがバランスを保ちながら、少しずつ大きくなっていった
6. 習熟レベルとそれぞれが目指すべきもの
事例を汎化し、DevSecOpsに取り組むプロジェクトを5段階の習熟レベルに分けま
した。各習熟レベルを分析した上で、課題に対する施策を整理します。
9
より習熟しているプロジェクト
Lv.5:全員野球
Lv.4:セキュリティチーム主導
Lv3:セキュリティチーム依存
Lv.2:脆弱性放置
Lv.1:未導入
6. 習熟レベルとそれぞれが目指すべきもの (Lv.5)
DevSecOpsの習熟度が最も高いプロジェクトでは、プロジェクト関係者全員が
セキュリティに対して関心を持ち、主体的にDevSecOpsを活用します。
10
✓ 人・プロセス・技術のバランスがとれている
✓ 全員がセキュリティを第一に開発を進めることがで
きていることが重要
✓ さらに、管理職レベルであっても、セキュリティ対応
状況を把握する方法(統合GUI等)がわかって
いる状況が理想的
6. 習熟レベルとそれぞれが目指すべきもの (Lv.4)
レベル4のプロジェクトでは、セキュリティチームが主導して開発チームや運用チーム等
の担当者にセキュリティ対応を依頼・管理します。
11
✓ 人・プロセス・技術のうち、プロセスが未成熟である
ことが多い
✓ そのため、セキュリティチームへの定常的な依存が
発生してしまう
✓ 習熟度を上げるには、開発者や運用者が自立し
てセキュリティ対応ができる状態を目指してプロセス
を見直す
6. 習熟レベルとそれぞれが目指すべきもの (Lv.3)
レベル3のプロジェクトでは、セキュリティチームのメンバーが自ら発見された脆弱性や
設定不備の対応をしてしまいます。
12
✓ 既にセキュリティが開発のボトルネックになっている
事が多い
✓ 習熟度を上げるには
➢ メンバーを増やす等で運用体制を修正
➢ もしくはリスクを鑑みた上で現状の体制で運
用できる範囲から再スタートする
6. 習熟レベルとそれぞれが目指すべきもの (Lv.2)
レベル2のプロジェクトでは、DevSecOpsの技術が導入されていても、検知された
脆弱性への対応が行われません。
13
✓ 技術があっても人・プロセスが抜けている
✓ 1つ目の導入事例では、レベル3からスタートしたが、
レベル2に落ちてしまった
✓ 習熟度を上げるには
➢ そもそも運用体制・フローの設計をしているか
➢ 現実との乖離が大きいならば、早急に見直す
必要がある
6. 習熟レベルとそれぞれが目指すべきもの (Lv.1)
DevSecOpsが導入されていないプロジェクトでは、アジャイルなアプローチと3つの施
策を念頭に置いて、ぜひ取り組んでみてください。
14
✓ プロジェクトやシステム固有の事情によりまだ導入
できないこともあるため、今回は深堀りしない
✓ 習熟度を上げる(これから導入する)には
➢ まずはDevOps、その中にセキュリティを埋め
込む、という順番を忘れない
➢ アジャイルなアプローチと3つの施策を念頭に
7. 発表内容のまとめと補足 (施策①)
施策①はスモールスタートについてですが、はじめに導入するツールとしては、設定の
容易性とコストの低さから、パブリッククラウドのセキュリティサービスを推奨します。
15
施策①:ツールの導入はビッグバンアプローチよりもスモールスタート
✓ おすすめツール:パブリッククラウドが提供するセキュリティサービス
✓ 具体例:Amazon ECRのイメージスキャン機能
DevSecOpsにもアジャイルなアプローチを忘れるべからず!
7. 発表内容のまとめと補足 (施策②)
施策②として運用体制・フローを修正する上で重要なことは、できるだけ属人化を
防ぐことと、脆弱性の対応基準を明確化することです。
16
施策②:運用しながら、体制やフローを修正し続ける
✓ ドキュメントの整備・フローの明確化により、属人化を防ぐ
✓ 脆弱性の対応をどこまで義務化するか、まで明確化する
DevSecOpsにもアジャイルなアプローチを忘れるべからず!
7. 発表内容のまとめと補足 (施策③)
習熟レベルで整理したように、DevSecOpsは一朝一夕で成り立つものではありま
せん。各レベルに応じた小さな成功を積み重ねて、チームを育てていきましょう。
17
施策③:小さな成功を積み重ねて、大きな成果を得る
✓ 習熟レベルを一つずつ上げていく覚悟が必要
✓ まずOSSで構成するDevSecOpsにより人・プロセスを盤石にし、
最後に商用製品に移行し技術面を固めるというアプローチもある
DevSecOpsにもアジャイルなアプローチを忘れるべからず!
7. 発表内容のまとめと補足
DevSecOpsに対しても、いつもの開発と同様、アジャイルなアプローチにより
プロジェクトにとって無理のない進め方をしてはいかがでしょうか。
18
施策①:ツールの導入はビッグバンアプローチよりもスモールスタート
施策②:運用しながら、体制やフローを修正し続ける
施策③:小さな成功を積み重ねて、大きな成果を得る
DevSecOpsにもアジャイルなアプローチを忘れるべからず!
Thank You!
ご意見、ご質問ありましたらお気軽にご連絡下さい
masaya.tahara@accenture.com
田原 聖也 (Tahara, Masaya)

「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021)