MS‐SDL 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
#넘겨주기 [[MS-SDL]]
; 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 공식 홈페이지]
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)