[문제] 소프트웨어 개발 환경에서 보안의 중요성이 높아짐에 따라 DevSecOps 도입이 확산되고 있다. 다음을 설명하시오.
가. DevSecOps의 개념과 기존 DevOps와의 차이점
나. Shift-Left 보안 전략과 주요 보안 자동화 도구
다. DevSecOps 파이프라인 단계별 보안 활동
라. 도입 시 조직적·기술적 고려사항
가. DevSecOps의 개념과 기존 DevOps와의 차이점
나. Shift-Left 보안 전략과 주요 보안 자동화 도구
다. DevSecOps 파이프라인 단계별 보안 활동
라. 도입 시 조직적·기술적 고려사항
I. 개요 — 왜 DevSecOps인가
전통적인 폭포수 모델에서는 보안 검토가 출시 직전에 이루어져, 취약점 발견 시 수정 비용이 기하급수적으로 증가했다. 클라우드 네이티브·마이크로서비스 환경에서 배포 주기가 수십 배 빨라진 현재, 보안을 별도 단계로 다루는 것은 구조적으로 불가능하다. DevSecOps는 이 문제를 해결하기 위해 보안(Security)을 개발(Dev)과 운영(Ops) 전 과정에 내재화한 방법론이다.
가. DevSecOps 개념과 DevOps와의 차이
DevSecOps란 개발·보안·운영 조직이 공동 책임 하에 소프트웨어 전 생애주기에 걸쳐 보안을 자동화하고 지속적으로 관리하는 문화·프로세스·기술의 결합이다.
| 구분 | DevOps | DevSecOps |
|---|---|---|
| 보안 시점 | 출시 전 별도 테스트 | 개발 첫 단계부터 내재화 |
| 보안 책임 | 보안팀 단독 | 개발·운영·보안 공동 책임 |
| 취약점 발견 시점 | 출시 직전·이후 | 코드 커밋 시점부터 |
| 자동화 범위 | 빌드·테스트·배포 | 빌드·테스트·배포 + 보안 스캔 전 과정 |
| 수정 비용 | 높음 (후반 발견) | 낮음 (초기 발견) |
나. Shift-Left 보안 전략과 자동화 도구
Shift-Left란 보안 활동을 소프트웨어 개발 생명주기의 오른쪽(후반)에서 왼쪽(초기)으로 당겨오는 전략이다. 취약점은 발견이 늦을수록 수정 비용이 최대 30배까지 증가하므로, 코딩 단계에서의 조기 발견이 핵심이다.
| 도구 유형 | 전체 명칭 | 탐지 대상 | 대표 도구 |
|---|---|---|---|
| SAST | Static Application Security Testing | 소스코드 정적 분석 (SQL 인젝션, XSS 등) | SonarQube, Checkmarx, Semgrep |
| DAST | Dynamic Application Security Testing | 실행 중인 앱의 동적 취약점 | OWASP ZAP, Burp Suite |
| SCA | Software Composition Analysis | 오픈소스 라이선스·알려진 취약점(CVE) | Snyk, OWASP Dependency-Check, Black Duck |
| IAST | Interactive AST | 테스트 실행 중 런타임 분석 | Contrast Security, Seeker |
| Secrets Scan | 비밀정보 유출 탐지 | 코드 내 API 키·패스워드 하드코딩 | GitLeaks, TruffleHog, git-secrets |
| IaC Scan | Infrastructure as Code 보안 | Terraform·K8s YAML 보안 설정 오류 | Checkov, Terrascan, kube-bench |
다. DevSecOps CI/CD 파이프라인 단계별 보안 활동
- 계획 단계: STRIDE 위협 모델링으로 잠재 위협 식별, 보안 요구사항을 사용자 스토리에 반영 (Security as Code)
- 개발 단계: IDE 플러그인(SonarLint)으로 코딩 중 즉시 피드백, Pre-commit 훅으로 비밀정보 커밋 차단
- 빌드 단계: CI 파이프라인에 SAST·SCA 자동 실행. 임계값 이상 취약점 발견 시 빌드 자동 중단(Break-the-Build)
- 테스트 단계: 스테이징 환경 DAST 자동화, 컨테이너 이미지 취약점 스캔 (Trivy, Snyk Container)
- 배포 단계: 아티팩트 서명(Cosign) 및 검증, WAF 정책 자동 배포, RBAC 최소 권한 검토
- 운영 단계: SIEM 기반 실시간 이상 탐지, 정기 취약점 재스캔(DAST), 보안 인시던트 자동 대응(SOAR)
라. 도입 시 조직적·기술적 고려사항
| 구분 | 고려사항 | 대응 방안 |
|---|---|---|
| 조직적 | 보안 사일로 문제 | 개발·운영·보안 팀 간 공동 KPI 설정, 보안 챔피언(Security Champion) 제도 운영 |
| 보안 교육 부족 | OWASP Top 10 기반 개발자 보안 교육 의무화, 시큐어 코딩 가이드라인 배포 | |
| 문화적 저항 | “보안은 가로막는 것”이 아닌 “빠르게 안전하게”라는 인식 전환, 경영진 스폰서십 확보 | |
| 기술적 | 오탐(False Positive) 과다 | SAST 규칙 튜닝, 기준선(Baseline) 설정 후 증분 스캔 |
| 파이프라인 속도 저하 | 병렬 스캔 실행, 경량 빠른 스캔(Tier-1)과 심층 스캔(Tier-2) 분리 | |
| 레거시 시스템 통합 | API 게이트웨이를 통한 점진적 도입, 마이크로서비스 전환과 병행 |
✅ 핵심 암기 포인트
DevSecOps = Dev + Sec + Ops | Shift-Left = 보안을 초기로 당기기
4대 도구: SAST(정적) · DAST(동적) · SCA(오픈소스) · IaC Scan(인프라)
Break-the-Build: 임계값 이상 취약점 발견 시 빌드 자동 중단 → DevSecOps의 핵심 게이트