DevSecOps - DevOps用語集
はじめに
本記事では日本仮想化技術がDevOpsに関連する用語解説をわかりやすくお伝えいたします。今回は「DevSecOps」について解説していきたいと思います。
本論1
DevSecOpsはCI/CDのプロセスの中でセキュリティテストを自動化し、早い段階で繰り返しセキュリティに関する検査を行う概念です。
従来のセキュリティテストはアプリケーションが完成して、リリースの直前になって行われるのが一般的でした。しかし、頻繁にリリースをし、完成のタイミングが分かりづらいDevOpsでの開発においては、リリースの直前にセキュリティテストを実施することが困難です。そのため、シフトレフトの概念に基づき、開発のサイクルの早い段階でアプリケーションのテストと同様にセキュリティテストを実施するのがDevSecOpsの基本的な考え方です。
DevSecOpsで実施されるセキュリティテストにはいくつかの種類があり、プロジェクトの状況に応じて自動化の対象とするかどうかの判断を行います。ここでは代表的なセキュリティテストの種類を紹介します。
SCA(Software Composition Analysis)は公開されている脆弱性情報に基づき、システムで使用するコンポーネントに既知の脆弱性が含まれていないかを検査する仕組みです。頻繁にSCAで検査することで、使用しているコンポーネントに脆弱性があることに気づかずに対策をしないまま使用してしまうことを避けることができます。
SAST(Static Application Security Test)はアプリケーションのコードレベルで脆弱性の要因となるようなコードの存在を検査する仕組みです。セキュアなコードを書くためには多くの知識が必要で、プロジェクト全体でセキュアなコードを開発することは容易ではありません。そのため、開発されたソースコードやバイナリコードに対してSASTで解析を行うことで、開発者が見落としたセキュアではないコードを発見し、システムに混入することを防ぎます。
DAST(Dynamic Application Security Test)は動いているアプリケーションに対して、UIやAPIを通じたセキュリティ攻撃に対する堅牢性を検査する仕組みです。アプリケーションには静的に分析しただけでは見つけられない脆弱性が存在することがあります。攻撃者が実際に使用するような攻撃手法を使用してシステムの脆弱性を検査することで、運用時に想定される外部からの攻撃への対策を事前に取ることができます。
関連リンク(任意)
かんたんDevOps | 日本仮想化技術株式会社
https://virtualtech.jp/devops/
とことんDevOps | DevOpsに取り組みたい皆さんのための技術情報メディア
https://devops-blog.virtualtech.jp/
この記事の著者:日本仮想化技術株式会社
日本仮想化技術はベンダーニュートラルな独立系仮想化技術のエキスパート集団です。日本仮想化技術ではこれからDevOpsを始めたいと考えるプロジェクトに対して、DevOpsの導入、実践を支援する「DevOpsサポートサービス」というサービスを提供しています。
- 関連キーワード:
- 用語集
DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly