アプリケーションセキュリティ
DevSecOps
別称: SecDevOps, Rugged DevOps
定義
セキュリティの責任を DevOps のワークフローに組み込み、安全なソフトウェアを継続的かつ高速に提供するための文化とプラクティス群。
DevSecOps はセキュリティを「最後の関門」ではなく、開発・セキュリティ・運用が共有する責任と位置づけて DevOps を拡張します。CI/CD パイプライン内に SAST、SCA、シークレットスキャン、コンテナスキャン、IaC 解析、DAST、ポリシー・アズ・コードなどを自動化し、開発者が普段使う場所で問題を可視化します。自動化に加え、セキュリティチャンピオン、責任追及をしない振り返り、KPI ダッシュボード、セルフサービスツールといった文化変革も伴います。うまく機能すれば、平均修復時間と本番への脆弱性流出を減らし、コンプライアンスの摩擦を下げつつ、高いデプロイ頻度を維持できます。
例
- GitHub Actions のパイプラインで、すべての Pull Request に Trivy・Semgrep・Gitleaks を実行する。
- Terraform プランの適用前に OPA/Conftest によるポリシー・アズ・コードを強制する。
関連用語
アプリケーションセキュリティ(AppSec)
ソフトウェアのライフサイクル全体を通じて、悪用・改ざん・不正アクセスに耐えられるように設計・構築・テスト・運用する分野。
セキュアソフトウェア開発ライフサイクル(SSDLC)
要件・設計・実装・テスト・リリース・運用といったソフトウェア開発の各フェーズにセキュリティ活動を組み込んだライフサイクル。
シフトレフトセキュリティ
セキュリティ活動をソフトウェアライフサイクルの早い段階に前倒しし、コードが本番に到達する前に脆弱性を発見・修正する取り組み。
SAST(静的アプリケーションセキュリティテスト)
ソースコード・バイトコード・バイナリを実行せずに自動解析し、インジェクションや安全でない API、弱い暗号などのセキュリティ欠陥を検出する手法。
SCA(ソフトウェアコンポジション解析)
アプリケーションが利用するオープンソース・サードパーティコンポーネントを自動解析し、既知の脆弱性、ライセンス問題、古い・危険な依存関係を洗い出す手法。
Secure Coding
Secure Coding — definition coming soon.