Replicated

Seven Touchpoints, CLASP 본문

소프트웨어 보안개발방법론

Seven Touchpoints, CLASP

라구넹 2025. 6. 12. 14:21

Seven Touchpoints

- 2006년 Gary McGraw에 의해 소개된 프레임워크

- 실무적으로 검증된 개발 보안 방법론

- 소프트웨어 보안 모범 사례를 소프트웨어 개발 생명 주기에 통합

- 7개의 보안 강화 활동(touchpoints)을 각 개발 단계에 매핑하여 체계적인 보안 관리가 가능

- 각 활동은 상호 연계되어 통합적인 보안 단계를 구축

 

1. Code Review (코드 리뷰)

- 소스 코드의 보안 취약점을 찾는 활동

- 정적 분석 도구 및 수동 검토를 병행하여 수행

- 코딩 규칙, 보안 버그 등에 대한 검토

 

2. Risk Analysis (위험 분석)

- 설계 단계에서의 보안성 분석 활동

- 위협 모델링을 통한 보안 위험 평가

- 보안 취약점이 될 수 있는 설계 상의 결함 식별

- 전체 시스템 관점에서의 보안성 검토

 

3. Penetration Testing (침투 테스트)

- 실제 공격자의 관점에서 시스템 테스트

- 발견된 취약점을 통한 실제 침투 가능성 확인

- 실행 중인 시스템에 대한 동적 분석 수행

 

4. Risk-Based Security Test (위험 기반 보안 테스트)

- 보안 기능의 정상 동작 여부 확인

- 보안 요구사항 충족 여부 테스트

- 기능 테스트와 통합된 보안 테스트 수행

 

5. Abuse Cases (남용 사례)

- 시스템의 오용 가능성 식별

- 악의적 사용자의 관점에서 시나리오 도출

- 예상치 못한 사용 패턴 분석

 

6. Security Requirements (보안 요구사항)

- 명확한 보안 요구사항 정의

- 법적 / 규제적 요구사항 반영

- 보안 기능 요구사항 도출

- 검증 가능한 형태로 요구사항 명세

 

7. Security Operations (보안 운영)

- 보안 모니터링 및 로그 분석

- 사고 대응

- 백업 및 복구

- 패치 및 보안 업데이트 적용

 

Seven Touchpoints 순서 의미

- 비용 효과적 측면 (Code Review, Risk Analysis): 초기에 발견된 결함일수록 수정 비용이 적음

- 다른 Touchpoints 경험이 쌓여서 더 효과적인 결과를 가져올 수 있는 순서 (Security Requirements, Security Operations)

- 모든 터치 포인트들을 동시에 실행하는 것보다 점진적으로 도입하는 것이 현실적

 

 

개발 단계

Requirements and Use Cases (요구사항 및 사용 사례)

- 오용 사례와 위럼 분석으로 설계 보안 항목에 대한 정의와 명세를 작성하고 오용 사례에 대한 정의 및 케이스 예시를 작성

- Abuse Cases, Security Requirements, Risk Analysis

 

Architecture and Design (아키텍처 및 설계)

- 위험 분석 진행을 통한 안전한 아키텍처 검토

- Risk Analysis

 

Test Plans (테스트 계획)

- 공격 패턴, 위험 분석 결과, 악용 사례를 기반으로 위험 기반 보안 테스트 수행

- Risk-Based Security Tests

 

Code (구현)

- 소스코드에 존재하는 취약성 및 구현 오류 발견과 정적 분석 수행

- Code Review

 

Tests and Test Results (테스트 및 결과)

- 위험 분석 및 침투 테스트를 수행하여 작동 환경에서의 이해도를 증대

- Risk Analysis, Penetration Testing

 

Feedback from the Field (현장 피드백)

- 운영 단계에서 획득한 공격 도구 및 경험에 대한 지식을 개발자에게 다시 피드백

- Penetration Testing, Security Operations


 

CLASP (Comprehensive, Lightweight Application Security Process)

- 어플리케이션 보안을 소프트웨어 개발 생명 주기에 통합하기 위한 체계적인 프로세스 제공 (by OWASP)

- 활동 중심, 역할 기반의 프로세스

- View(5가지), Activity (24가지), Process Component로 구성된 계층 구조

 

Concept View (1)

- 보안 개념, 원칙, 프로세스 등 기본적인 보안 지식 정의

 

Role-Based View (2)

- 각 역할 별 보안 책임과 활동을 정의

 

Activity-Assessment View (3)

- 보안 활동의 우선 순위 설정 및 단계별 보안 활동 평가

 

Activity-Implementation View (4)

- 개발에서 적용 가능한 구체적 보안 구현 방법 정의

 

Vulnerability View (5)

- 취약점 유형과 대응 방안 정의

 

전체 뷰 간의 지속적인 피드백 루프

뷰 간 상호작용을 통한 지속적인 개선