Secure SDLC
설명 영상 Secure SDLC · 2:12
왜 배우는가: Secure SDLC는 보안 사고를 개발 후반이 아니라 요구사항 단계부터 막아 유지보수 비용을 줄이는 방법론이다. 정보관리기술사 4교시와 3교시에서 방법론 유형과 단계별 보안 기술이 반복해 출제되며, 웹 애플리케이션의 SQL Injection 같은 구현 취약점 대응과 직접 연결된다.
출제 이력: 제121회 4교시 4번, 제108회 3교시 3번
1. 한 줄 정의와 핵심 키워드
Secure SDLC는 요구사항부터 운영까지 각 개발 단계에 보안 활동을 내재화하여 보안 취약점을 초기에 제거하는 소프트웨어 개발 생명주기 방법론이다.
핵심 키워드
- Secure SDLC(보안 소프트웨어 개발 생명주기)
- 보안 게이트(단계 종료 전 보안 점검 기준)
- 위협 모델링(Threat Modeling)
- 보안 코딩 표준(Secure Coding Standard)
- 정적 분석(SAST)과 동적 분석(DAST)
- 성숙도 모델(Maturity Model)
- SQL Injection(SQL 삽입 공격)
2. 개념 풀이
Secure SDLC는 쉽게 말해 개발 과정 곳곳에 보안 점검표를 끼워 넣는 것이다. 보안을 마지막 테스트 때 한 번 확인하는 방식과 달리, 설계 잘못이나 코딩 실수를 그 자리에서 잡는다.
정식 정의는 다음과 같다. Secure SDLC는 기존 SDLC의 요구사항 분석, 설계, 구현, 테스트, 배포, 유지보수 단계에 보안 강화 프로세스를 포함한 개발 체계다. 기존 SDLC에 보안 활동을 추가한 것이므로 별도의 개발 순서를 새로 만드는 것이 아니다.
핵심 용어는 다음과 같다.
- 보안 요구사항: 기능 요구사항과 함께 정의하는 인증, 권한, 암호화, 로깅 등의 요구다. 요구 단계에서 누락되면 이후 단계에서 비용이 크게 늘어난다.
- 위협 모델링: 시스템의 자산, 공격 경로, 공격자 유형을 식별하고 위험 우선순위를 정하는 활동이다. 설계 단계의 핵심 산출물이다.
- 보안 코딩 표준: 입력값 검증, 파라미터 바인딩, 에러 처리 등 구현 규칙을 정한 문서다. 구현 단계의 기준이 된다.
- 보안 테스트: 정적 분석(소스 코드를 실행하지 않고 점검)과 동적 분석(실행 중 입력을 넣어 점검)으로 나뉜다.
3. 등장 배경과 필요성
소프트웨어 결함을 개발 후반이나 운영 중에 발견하면 수정 비용이 급격히 커진다. Secure SDLC는 이 비용 문제를 줄이기 위해 등장했다. 원인 데이터는 분석 주체마다 다르므로 수치로 인용하지 않는다.
웹 서비스가 외부 API와 연결되고 자동화 공격이 늘면서, 보안을 개발 말미의 점검으로 두기에는 한계가 커졌다. 금융권 침해 사례에서도 인증 절차 미적용과 자동화 도구 공격이 함께 지적되었다. 이는 요구사항과 설계 단계에서 인증 정책을 정해야 한다는 근거가 된다.
또한 소프트웨어 공급망이 복잡해지면서 오픈소스 구성요소의 취약점 관리가 필요해졌다. 개발 단계마다 보안 활동을 연결하는 체계가 없으면 취약점 추적이 끊긴다. Secure SDLC는 이러한 추적성을 확보하는 틀로 활용된다.
이어지는 내용
- 4. 구성요소·원리·절차
- 5. 관련 법령·기준·표준
- 6. 유형과 비교
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기