Secure SDLC
Secure SDLC는 개발 생명주기 각 단계에 보안 활동을 넣는 방법론이다. 보안을 마지막 테스트 때 한 번 확인하는 방식과 달리, 설계와 코딩의 실수를 그 자리에서 잡는다. 정보관리기술사 4교시와 3교시에서 반복 출제되는 개념이다. 흐름은 요구사항, 설계, 구현,…
주요 장면
대본
Secure SDLC 개요
Secure SDLC는 개발 생명주기 각 단계에 보안 활동을 넣는 방법론이다.
보안을 마지막 테스트 때 한 번 확인하는 방식과 달리, 설계와 코딩의 실수를 그 자리에서 잡는다.
정보관리기술사 4교시와 3교시에서 반복 출제되는 개념이다.
단계별 보안 활동
흐름은 요구사항, 설계, 구현, 테스트, 배포, 운영 순서로 이어진다.
단계마다 보안 활동을 하고 산출물을 남겨, 보안 게이트에서 확인한다.
운영에서 얻은 사고 결과는 다시 요구사항 단계로 되돌아간다.
구현 단계 예: SQL 삽입
문자열을 이어 붙인 쿼리는 입력값이 SQL 문법의 일부가 된다.
같은 입력이라도 바인딩을 쓰면 문자열 리터럴로만 처리되어 조건 구조가 바뀌지 않는다.
근본 대책은 파라미터 바인딩이고, 입력 검증은 보조 수단이다.
주요 방법론 비교
답안에는 방법론 이름과 핵심 특징을 함께 쓴다.
MS-SDL은 단계 게이트, CLASP는 역할, SAMM은 성숙도 등급이 중심이다.
BSIMM과 SAMM은 세부 활동 수가 교재마다 달라, 답안에 수치를 쓰지 않는다.
정적 분석과 동적 분석
정적 분석과 동적 분석은 시험에서 자주 비교되는 짝이다.
가장 큰 차이는 소스 코드를 실행하느냐 여부다.
정적 분석만으로는 런타임 취약점을 놓칠 수 있어 두 가지를 함께 쓴다.
정리
먼저 Secure SDLC는 개발 생명주기 전 단계에 보안 활동을 넣는 방법론이다.
방법론에는 MS-SDL, CLASP, BSIMM, SAMM 등이 있고 답안에는 이름과 특징을 함께 쓴다.
SQL 삽입의 근본 대책은 파라미터 바인딩이며, 입력 검증과 최소 권한 계정, WAF는 보조 대책이다.