IT/Secure Coding

Microsoft SDL(제일 중요)

바바옄 2015. 4. 22. 10:12
반응형

Microsoft SDL (Security Development Lifecycle - 실제 실무에서 많이 사용)

SDL을 통한 소프트웨어 개발 프로세스 개선 (수행 후 에러 및 해킹률이 50% 이하로 떨어짐)

스마트 퍼징(smart fuzzing) : 가이드대로 입력 값을 넣어주는 방식 

덤브 퍼징(dumb fuzzing) : 아무 값이나 넣어보고 오류를 진단하는 방식

1. 교육 단계

  • 프로젝트 진행 전, 참가인원을 대상으로 소프트웨어 개발 보안 교육 실시.

2. 계획/분석, 설계 단계

  • 소프트웨어의 전체적인 요건과 구조를 제시.
  • 보안 구조 및 설계 지침 정의
  • 소프트웨어 전체 구로를 보안 관점에서 결정. 시스템 보안이 필수적인 소프트웨어의 부분 확인
  • 소프트웨어 공격 외형 요소 기록
  • 사용자의 범위에 따라 노출범위를 결정. 노출된 기능은 최소한의 권한을 할당
  • 위협 모델링 작업 수행 ( 별첨 3) 위협모델링 방법 참고 중요!!)별첨3) 위협모델링 방법.docx
  • 구조화된 기법을 이용해 각 자산에 피해를 줄수 있는 위협과 위험도를 판단 후 대응 조치 파악.

3. 구현 단계

  • 개발팀은 소프트웨어를 코드화 하고, 테스트하고 통합한다.
  • 보안 결함 및 약점을 제거하거나 예방조치를 하여 최종 버전의 소프트웨어에 잔류하지 않도록 조치한다.
  • 제품의 사용자를 위한 올바른 보안 실천 방법을 문서화한다.

4. 검증 단계

  • 소프트웨어가 기능적으로 완전하여 베타 시험을 하는 단계.
  • 개발팀은 이 단계에서 소프트웨어 배포 후에 발생할 수 있는 보안 위협에 대응할 수 있음을 보증하기 위한
  • 자체 침입 테스트를 수행한다.

5. 배포 단계

  • 중앙 보안팀에 의해 소프트웨어에 대한 최종 보안 점검을 실시.

6. 지원 및 서비스 단계

  • 개발팀은 배포된 소프트웨어에서 새로 발견되는 취약점에 대한 대응 프로세스를 준비해야 함

 

반응형

'IT > Secure Coding' 카테고리의 다른 글

CWE (Common Weakness Enumeration)  (0) 2015.04.22
소프트웨어 보안 개발 가이드  (0) 2015.04.22
별첨 3) 위협모델링 방법  (0) 2015.04.22
OWASP CLASP  (0) 2015.04.22
보안 개발 방법론  (0) 2015.04.22