- Seven Touchpoints
- 실무적으로 검증된 개발보안 방법론 중 하나로써 소프트웨어 보안의 모범 사례를 소프트웨어 개발 라이프사이클에 통합
- 공통 위험요소를 파악하고 이해하며, 보안을 설계하고 모든 소프트웨어 산출물에 대해 철저하고 객관적인 위험분석 및 테스트를 거쳐 안전한 소프트웨어를 만들어내는 방법을 정의
- 보안활동을 수행하는 동안 소프트웨어 위험요소에 대해서 위험관리 프레임워크에 따라 명시적으로 추적하고 모니터링을 수행
- 실무적으로 검증된 개발보안 방법론 중 하나로써 SW보안의 모범사례를 SDLC(Software Development Life Cycle)에 통합한 소프트웨어 개발 보안 생명주기 방법론
7가지 터치포인트
소프트웨어 개발 생명주기의 각 단계에 관련된 7개의 보안강화활동을 개발자에게 집중적으로 관리하도록 요구[1]
- 요구사항과 Use Cases 단계
- 오용사례와 위험분석을 통하여 보안요구사항에 대한 정의와 명세를작성하고, 오용사례에 대한 정의 및 케이스 예시를 작성
- 구조설계 단계
- 공격저항 분석(attack resistance analysis), 모호성 분석, 허점분석 등을 통해 위험요소를 분석
- 테스트 계획 단계
- 공격패턴, 위험분석 결과, 악용사례를 기반으로 위험기반 보안테스트를 수행
- 코드 단계
- 구현 오류(implementation bug)에 중점을 두며 특히 소스코드에 존재하는 취약점을 발견할 목적으로 코드 정적분석을 위주로 수행
- 테스트 및 테스트결과 단계
- 위험분석 및 침투 테스트 수행
- 현장과의 피드백 단계
- 보안운영을 통해 얻은 공격자와 공격도구에 대한 경험과 지식을 개발자에게 다시 피드백
- ↑ KISA 소프트웨어 개발 보안 가이드