정보보안 컨설팅에서 자산 식별과 위험 분석 단계는 조직의 보안 수준을 평가하고 위협을 완화하는 핵심 과정입니다. 그중에서도 위협 모델링(Threat Modeling) 은 시스템이 직면한 보안 위협을 체계적으로 식별하고 분석하는 중요한 기법입니다. 이를 통해 보안 취약점을 사전에 발견하고, 효과적인 보안 대책을 수립할 수 있습니다.
이번 글에서는 대표적인 위협 모델링 기법인 STRIDE, PASTA, LINDDUN 을 중심으로 각각의 개념과 적용 방법을 살펴보겠습니다.
1. 위협 모델링이란?
위협 모델링은 시스템, 애플리케이션, 네트워크 등의 자산을 대상으로 잠재적인 보안 위협을 식별하고, 분석하며, 대응 방안을 수립하는 과정입니다. 일반적으로 다음과 같은 절차로 진행됩니다.
- 자산 식별: 보호해야 할 자산(데이터, 시스템, 네트워크 등)을 식별
- 설계 분석: 시스템 아키텍처와 데이터 흐름을 분석
- 위협 식별: 위협 모델링 기법(STRIDE, PASTA 등)을 적용하여 보안 위협을 찾아냄
- 위험 평가: 각 위협의 심각도와 발생 가능성을 평가
- 대응 전략 수립: 보안 조치를 설계하고 적용
위협 모델링을 통해 보안 취약점을 사전에 파악하고, 현실적인 대응 전략을 수립할 수 있습니다.
2. 대표적인 위협 모델링 기법
1) STRIDE
STRIDE는 Microsoft에서 개발한 위협 모델링 프레임워크로, 애플리케이션 및 시스템의 보안 위협을 6가지 범주로 구분합니다.
위협 요소 | 설명 | 예시 |
---|---|---|
Spoofing | 사용자 또는 시스템의 신원을 속이는 공격 | 피싱, 세션 하이재킹 |
Tampering | 데이터 무결성을 훼손하는 공격 | 악성 코드 삽입, 데이터 변조 |
Repudiation | 행위를 부인할 수 있는 취약점 | 로그 조작, 부인 방지 기능 부족 |
Information Disclosure | 민감한 정보가 유출되는 위험 | 데이터 스니핑, SQL 인젝션 |
Denial of Service | 서비스 거부 공격 | DDoS 공격, 자원 고갈 |
Elevation of Privilege | 권한 상승 공격 | 취약한 인증 우회, 루트 접근 |
STRIDE는 각 위협 요소를 기반으로 보안 대책을 설계하는 데 유용합니다. 예를 들어, Spoofing을 방지하기 위해 MFA(다중 인증)을 도입하고, Tampering을 막기 위해 무결성 검증 및 암호화를 적용하는 방식입니다.
2) PASTA (Process for Attack Simulation and Threat Analysis)
PASTA는 위협 시뮬레이션을 기반으로 하는 공격 중심적 모델링 기법입니다. 이 방식은 공격자가 실제로 시스템을 어떻게 공격할지를 시뮬레이션하는 방식으로, 총 7단계로 구성됩니다.
- 비즈니스 목표 정의: 보호해야 할 비즈니스 자산 식별
- 기술적 범위 결정: 시스템 구성 요소 분석
- 애플리케이션 개별 분석: 애플리케이션 및 네트워크 구조 파악
- 위협 식별: 공격 가능한 벡터 분석
- 취약점 분석: 기존 보안 취약점 및 공격 방법 평가
- 공격 시뮬레이션: 실제 공격을 가정한 테스트 수행
- 위험 및 대응책 평가: 보안 강화 전략 수립
PASTA는 실제 공격자의 관점에서 보안 위협을 평가하는 방식으로, 금융 시스템, 클라우드 서비스, IoT 환경 등의 복잡한 환경에서 효과적으로 활용됩니다. PASTA는 정량적이고 더 넓은 경계에서 위협을 식별할 수 있어 STRIDE의 대안으로 채택될 수 있습니다.
3) LINDDUN
LINDDUN은 개인정보 보호 중심의 위협 모델링 기법으로, 주로 개인정보 보호 및 데이터 프라이버시 강화를 위해 사용됩니다. LINDDUN의 위협 요소는 다음과 같습니다.
위협 요소 | 설명 | 예시 |
---|---|---|
Linkability | 사용자 데이터 간 연관성을 분석 | 쿠키 트래킹, 웹 방문 기록 추적 |
Identifiability | 특정 사용자를 식별할 수 있는 취약점 | IP 기반 추적, 사용자 프로파일링 |
Non-repudiation | 사용자가 행동을 부인할 수 없음 | 로그 파일 조작 |
Detectability | 특정 이벤트가 감지될 가능성 | 로그인 시도 노출, API 호출 추적 |
Disclosure of Information | 민감한 데이터가 노출되는 위험 | 데이터 유출, 암호화되지 않은 전송 |
Unawareness | 사용자가 데이터 수집을 인식하지 못함 | 자동 데이터 수집, 투명성 부족 |
Non-compliance | 법적 규정을 준수하지 않음 | GDPR, HIPAA 위반 사례 |
LINDDUN은 주로 개인정보보호법, GDPR(유럽 개인정보보호법), HIPAA(미국 의료정보보호법) 등을 준수해야 하는 환경에서 유용합니다.
3. 위협 모델링의 실무 적용
위협 모델링은 단순히 보안 분석을 위한 이론이 아니라, 실제 보안 컨설팅 및 시스템 설계 과정에서 적극 활용됩니다.
- 웹 애플리케이션 보안: OWASP 기반의 보안 평가 진행
- 네트워크 인프라 보호: 기업 네트워크 및 클라우드 환경에서 위협 모델링 적용
- 개인정보 보호 강화: 금융, 의료, 공공 기관에서 LINDDUN 활용
- 공격 시뮬레이션: 실제 침투 테스트와 결합하여 PASTA 적용
Tip : SDLC 전 과정에 보안을 결합하여 보안성 향상을 구현하는 Secure SDLC를 위해, 위협 모델링을 DevSecOps 프로세스와 연계하면, 보안이 개발 초기부터 고려될 수 있도록 유도할 수 있습니다. 위협 모델링의 자동화 구현을 위한 여러 도구(Cairis, Threat Dragon, pytm…) 들이 제공되고 있으니, 이를 참고해보는 것을 권고드립니다.
4. 위협 모델링 고려사항
위협 모델링을 효과적으로 적용하기 위해 다음 사항을 필수적으로 고려해야 합니다.
1) 모델 정확성
- 시스템 반영 여부: 모델이 실제 시스템 구조를 정확히 반영하는지 검토
- DFD(Data Flow Diagram) 검토: 데이터 흐름이 명확하게 표현되었는지 확인
- 위협 식별 완료 여부: 모든 가능한 위협이 식별되었는지 점검
2) 위협 대응
- 대응 전략 합의: 식별된 각 위협에 대한 대응 전략이 수립 및 합의되었는지 검토
- 완화 전략 수립: 위협을 허용 가능한 수준으로 줄이는 전략 마련
3) 문서화 및 평가
- 공식 문서화 및 접근성 확보: 위협 모델이 공식적으로 문서화되고, 관련 자료가 필요 시 접근 가능해야 함
- 테스트 및 성공 기준 설정: 완화 조치가 테스트 가능하며, 성공/실패 여부를 평가할 기준이 설정되어야 함
위와 같은 고려사항을 체크하면, 위협 모델링의 실효성을 높이고 실제 보안 개선에 기여할 수 있습니다.
5. 결론
위협 모델링은 보안 컨설팅의 핵심 절차이며, 조직의 자산을 보호하기 위한 필수적인 과정입니다.
STRIDE, PASTA, LINDDUN과 같은 기법들은 각각의 목적에 따라 효과적으로 활용될 수 있으며, 시스템의 보안 수준을 향상시키는 데 중요한 역할을 합니다.
특히, 개발 및 운영 단계에서 위협 모델링을 적용하면, 보안 사고를 사전에 방지할 수 있는 강력한 도구가 될 수 있습니다.
보안이 단순한 사후 대응이 아니라, 설계 초기부터 고려되어야 한다는 점을 다시 한번 강조하고 싶습니다.
참고자료 :
OWASP Threat Modeling Method – OWASP Threat Modeling Cheat Sheet