본문 바로가기
소프트웨어공학

Secure SDLC와 보안 개발 모델 개념 정리

by 매일기술사 2026. 4. 12.
SW Engineering · 한장정리

[기술사토픽] Secure SDLC & 위협 모델링 완벽 정리 - 한장정리

MS-SDL·CLASP 등 Secure SDLC 모델, STRIDE 위협 분류, DREAD 위험 평가까지 기술사 빈출 주제를 완벽 정리합니다.

SecureSDLC위협모델링STRIDEDREADMS-SDL보안공학정보관리기술사

Ⅰ.보안 내재화 개발 방법론, Secure SDLC의 개요

개념: Secure SDLC는 SW 개발 생명주기 전 단계에 보안 활동을 통합하여, 개발 완료 후 보안 취약점을 제거하는 것이 아니라 설계 단계부터 보안을 내재화하는 방법론입니다.

필요성: 개발 완료 후 취약점 발견 시 수정 비용은 설계 단계 대비 30~100배 증가. 침해사고의 90% 이상이 알려진 취약점에서 발생.

가. 대표 Secure SDLC 모델
모델제안 기관특징핵심 활동
MS-SDLMicrosoft단계별 보안 게이트위협모델링·정적분석·퍼징
CLASPOWASP역할 기반 보안 프로세스보안 요구사항·코드리뷰
BSIMMSEI산업 보안성숙도 측정보안 측정·벤치마킹
Seven TouchpointsMcGraw아티팩트별 보안 활동 7개위험분석·코드리뷰·테스트
시험 포인트

Secure SDLC 핵심: 보안을 사후 패치가 아닌 설계에 내재화(Security by Design)
MS-SDL = Microsoft Security Development Lifecycle — 가장 많이 출제되는 모델.

Ⅱ.보안 취약점 사전 식별 — 위협 모델링

구성도
요구사항
보안 요구사항 명세
개인정보·규제 요건
↓ 위협 모델링
설계 단계
STRIDE 위협 모델링
공격 표면 분석·보안 패턴 적용
↓ 구현·테스트
보안 코딩
OWASP Secure Coding
SAST·코드 리뷰
보안 테스트
DAST·퍼징·침투 테스트
취약점 수정 검증
운영 보안
패치 관리·모니터링
인시던트 대응

위협 모델링(Threat Modeling)은 시스템에 존재하는 잠재적 보안 위협을 설계 단계에서 체계적으로 식별·분석·대응하는 기법입니다.

가. STRIDE 위협 분류 모델
위협영어위반 속성예시
S — 스푸핑Spoofing인증(Authentication)세션 하이재킹, 피싱
T — 변조Tampering무결성(Integrity)DB 데이터 위·변조
R — 부인Repudiation부인방지(Non-repudiation)거래 기록 삭제
I — 정보누출Information Disclosure기밀성(Confidentiality)SQL 인젝션으로 DB 노출
D — 서비스거부Denial of Service가용성(Availability)DDoS 공격
E — 권한상승Elevation of Privilege인가(Authorization)관리자 권한 탈취
나. DREAD 위험 평가 모델
요소설명
Damage(피해)공격 성공 시 피해 규모
Reproducibility(재현성)공격 재현 가능성
Exploitability(공격용이성)공격에 필요한 기술 수준
Affected users(영향 사용자)영향받는 사용자 비율
Discoverability(발견용이성)취약점 발견 가능성
시험 포인트

STRIDE: S·T·R·I·D·E 6가지 위협 유형 암기 필수! 각각 위반하는 보안 속성(CIA+AAN)과 매핑해서 기억.

Ⅲ.결론

결론

Secure SDLC는 보안 비용을 최소화하면서 안전한 SW를 개발하는 핵심 방법론입니다.
향후 DevSecOps(CI/CD 파이프라인에 보안 통합), AI 기반 자동 위협 모델링으로 발전합니다.

"보안은 제품의 기능이 아니라 설계의 속성이다. 나중에 추가하면 너무 늦다." — Gary McGraw

블로그: 기술사 학습노트 · imt-log.tistory.com