보안 개발 수명주기
보안 개발 수명주기는 요구사항부터 설계, 구현, 시험, 배포, 운영, 폐기까지 소프트웨어 전 과정에 보안 활동을 포함하는 체계입니다.
보안 개발 수명주기
보안 요구사항, 위협 모델, 안전한 코딩, 코드리뷰, 자동 분석, 의존성 관리, 침투시험, 서명·배포, 취약점 대응을 단계별 품질 기준으로 운영합니다.
핵심 정보
운영 방식
개발자가 수정 가능한 시점에 피드백을 제공하고 위험도가 높은 변경은 추가 검토를 요구합니다. 빌드 파이프라인과 개발도구 자체도 공급망 자산으로 보호합니다.
운영 효과는 데이터 생성 지점, 처리 목적, 사용자와 관리자 권한, 외부 연동, 백업과 로그, 삭제 절차를 연결할 때 확보됩니다. 설계 문서와 실제 운영 상태가 다를 수 있으므로 설정값, 표본 데이터, 접근기록, 변경 이력을 근거로 검증합니다.
보호 효과와 실패 위험
검사를 출시 직전에 몰아두면 수정이 지연되고 예외가 상시화됩니다. 도구 경보가 많거나 개발 맥락과 연결되지 않으면 실제 결함이 묻힐 수 있습니다.
개인정보 관련 위험에는 기밀성 침해, 잘못된 수정과 삭제, 서비스 중단, 부정확한 프로파일링, 차별적 의사결정, 계정 탈취, 사칭과 2차 피싱이 포함됩니다. 위험 평가는 정보의 민감도, 변경 가능성, 결합 가능성, 노출 기간, 대상 인원, 공격자의 실제 접근 능력을 반영합니다.
성숙도와 효과 확인
단계별 보안 기준과 통과 증빙, 예외 승인, 수정시간, 재발 약점, 빌드 무결성, 비밀 유출을 확인합니다. 개인정보 기능에는 데이터 최소화와 삭제 테스트를 추가합니다.
검토 결과에는 적용 범위, 남은 위험, 책임자, 개선 기한, 재검증 조건을 기록합니다. 외부 서비스와 오픈소스 구성요소가 관련되면 계약서와 보안 공지, 버전, 데이터 처리 위치, 하위 수탁·의존 관계도 확인합니다.
구축·운영 원칙
- 보안·개인정보 요구사항을 작업 추적 시스템에 등록합니다.
- 위협 모델과 코드·의존성·동적 테스트를 위험도에 맞게 조합합니다.
- 빌드와 배포 산출물의 출처·서명·승인을 검증합니다.
- 운영 사고와 취약점의 근본원인을 개발 표준과 교육에 반영합니다.
보호조치는 예방, 탐지, 대응, 복구 단계에 나누어 배치합니다. 한 통제가 우회되거나 오작동해도 피해가 곧바로 전체 데이터로 확산되지 않도록 권한·네트워크·데이터·로그 통제를 겹쳐 적용합니다.
혼동하기 쉬운 개념
Secure SDLC는 전체 수명주기 통제 체계이며 DevSecOps는 자동화와 협업을 통해 이를 지속 적용하는 운영 방식입니다.