**안전한 개발 라이프사이클(Secure Development Lifecycle, SDLC)**은 보안을 사후 처리로 취급하는 대신 소프트웨어 개발의 모든 단계 — 요구사항부터 설계, 코딩, 테스트, 배포, 유지보수까지 — 에 통합합니다. 이는 "shift left"와 "security by design"을 구현합니다.
라이프사이클 전반의 보안
보안을 모든 단계에 통합(마지막에만이 아니라):
REQUIREMENTS → 보안 요구사항 정의; 규정 준수 고려
DESIGN → THREAT MODELING; 안전한 아키텍처; 설계의 보안 리뷰
DEVELOPMENT → 안전한 코딩 관행; 코드 리뷰; IDE/CI의 SAST
TESTING → 보안 테스트(SAST, DAST, 의존성 스캔, 침투 테스트)
DEPLOYMENT → 안전한 설정; secret 관리; 하드닝
MAINTENANCE → 패치, monitoring, 사고 대응, 지속적 스캔
→ "shift left" — 보안을 EARLY 다룬다(침해 후 수정보다 저렴).
Shift left하는 이유
보안 결함을 고치는 비용은 늦게 발견될수록 극적으로 증가한다:
설계/코드에서 포착(저렴) << 테스트에서 발견 << PRODUCTION에서 악용
(매우 비쌈: 침해, 피해, 긴급 대응)
→ 보안을 일찍 내재화(덧붙이기 / 침해 수정 대비)하는 것이 훨씬 효과적이고
저렴하다.
