MS‐SDL 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
; Microsoft ‐ Secure Development Lifecycle | |||
; 마이크로소프트에서 개발한 소프트웨어 개발 보안 방법론 | |||
* [[윈도우]] [[운영체제]]를 개발한 마이크로소프트사는 자체수립한 SDL 방법론을 적용 | |||
* SDL이 적용된 소프트웨어는 이전 버전에 비해 50% 이상 취약점이 감소하였다고 발표<ref>KISA SW개발 보안 가이드</ref> | |||
= 단계 = | |||
== 교육 단계 == | |||
; Pre-SDL Requirements: Security Training | |||
* 소프트웨어 개발팀의 구성원들을 대상으로 매년 한 번씩 보안의 기초와 최신 보안 동향에 대해 교육 | |||
* 보안 교육은 안전설계, 위협모델링, 시큐어코딩, 보안테스팅, 프라이버시에 관한 내용 포함 | |||
== 계획·분석 단계 == | |||
; Phase One: Requirements | |||
* 안전한 소프트웨어를 구축하기 위한 기본 보안요구사항과 프라이버시 요구사항 정의 | |||
* 필수 보안 활동 | |||
** SDL 방법론 적용 여부 결정 | |||
** 보안책임자(Security Advisor) 선정 | |||
** 보안팀(Security Champion) 선정 | |||
** 버그 리포팅 도구 정의 | |||
** 보안 버그 경계(security bug bar) 정의 | |||
** 보안 위험평가 | |||
* 권장 보안 활동 | |||
** 보안 계획서 작성 | |||
** 버그 추적 시스템 정의 | |||
== 설계 단계 == | |||
; Phase Two: Design | |||
* 구현에서 배포에 이르기까지 수행해야 하는 작업 계획 수립 | |||
* 필수 보안 활동 | |||
** 보안 설계검토 | |||
** 방화벽 정책 준수 | |||
** 위협모델링 | |||
** 위협모델 품질 보증 | |||
** 위협모델 검토 및 승인 | |||
* 권장 보안 활동 | |||
** 보안 설계서 작성 | |||
** 보안 디폴트 인스톨 실행 | |||
** 모든 샘플 소스코드의 보안검토 수행 | |||
** 안전하지 않은 함수와 코딩 패턴 알림 | |||
** 설계변화 요구에 관한 보안관련 사항 문서화 | |||
** 위협모델을 통해 발견한 취약성 해결을 위한 작업목록 작성 | |||
== 구현 단계 == | |||
; Phase Three: Implementation | |||
* 보안 및 프라이버시 문제점을 발견하고 제거하기 위해 개발시 최선의 방책을 수립 | |||
* 필수 보안 활동 | |||
** 최신 버전의 빌드 도구 사용 | |||
** 금지된 API 사용 회피 | |||
** Execute 허가를 통한 안전한 SQL 사용 | |||
** 저장 프로시저에서 SQL 사용 | |||
* 권장 보안 활동 | |||
* 안전하게 소프트웨어를 사용하기 위해 필요한 사용자 정보 식별 | |||
* 사용자 중심의 보안문서 계획 | |||
* 보안 형상관리에 관한 정보 생성 | |||
* 자동화된 금지 API 변환 실행 | |||
* 프로젝트 팀 전체와 모든 모범사례와 정책에 대한 정의 | |||
* 문서화, 토론 등 | |||
== 시험·검증 단계 == | |||
; Phase Four: Verification | |||
* 보안 및 프라이버시 테스팅과 보안 푸쉬(security push), 문서 리뷰를 통해, 코드가 이전 단계에서 설정한 보안과 프라이버시을 지키는지 확인 | |||
** 보안 푸쉬는 팀 전체에 걸쳐 위협모델 갱신, 코드 리뷰, 테스팅에 초점을 맞춘 작업 | |||
* 필수 보안 활동 | |||
** 커널‐모드 드라이버를 위한 테스팅 완료 | |||
** COM 객체 테스팅 수행 | |||
** 인증된 사이트 크로스 도메인 스크립팅을 위한 테스팅 | |||
** 애플리케이션 검증 테스트 수행 | |||
** 파일 fuzzing 수행 | |||
** 위협모델 검토 및 수정 | |||
* 권장 보안 활동 | |||
** 보안 테스팅 계획 완료 | |||
** 침투 테스트 수행 | |||
** 시큐어 코드 검토 | |||
** 보안 푸쉬를 시작하기전 모든 코드에 대한 우선순위 결정 | |||
** 보안문서 계획서 검토 | |||
== 배포·운영 단계 == | |||
; Phase Five: Release | |||
* 사고 대응 계획을 준비하는 것은 시간이 지남에 따라 나타날 수 있는 새로운 위협요소를 해결하는 데 중요 | |||
* 관련 담당자의 긴급 연락처 식별 및 조직 내 다른 그룹이나 타사에서 개발된 소프트웨어에 대한 보안서비스 계획 수립 등 포함 | |||
* 수행 된 모든 보안활동 에 대한 검토를 통해 소프트웨어 배포 준비 상태를 보장 | |||
* 배포 전에 소프트웨어 인증을 통해 보안 및 개인 정보 보호 요구 사항을 충족 | |||
* 배포 이후 작업 수행을 위해 모든 관련 데이터를 보관 | |||
== 같이 보기 == | |||
* [https://www.microsoft.com/en-us/securityengineering/sdl 공식 홈페이지] |