제조업 Threat Modeling(STRIDE·PASTA·LINDDUN·Attack Tree) 위협 모델링 실무 완벽 가이드 — 사후 패치에서 설계 단계 차단까지 5단계 로드맵

중소·중견 한국 제조사가 위협 모델링을 자산식별·DFD·위협도출·완화·검증까지 진짜 무사히 운영하는 5단계 로드맵. STRIDE(Microsoft) 6 위협, PASTA 7단계, LINDDUN(Privacy) 7 위협, Attack Tree, MITRE ATT&CK 매핑, Microsoft Threat Modeling Tool·OWASP Threat Dragon·IriusRisk·pytm, Shostack 4-Question Framework, Threat Modeling Manifesto, NIST SSDF PW.1·PW.2, EU CRA·ISO 27034 매핑 실무.

1. 왜 Threat Modeling인가 — 코드 작성 전에 막아야 한다

보안 결함을 발견하는 단계별 수정 비용(IBM·Ponemon 2024):

  • 설계 단계: 1
  • 개발 단계: 6.5
  • 테스트 단계: 15
  • 운영 단계: 100
  • 운영 후 침해: 400+

설계 단계의 1시간 위협 모델링이 운영 후 400배 손실을 차단한다. NIST SSDF PW.1·PW.2가 위협 모델링을 보안 SDLC의 첫 통제로 지정한 이유.

Threat Modeling = 시스템 설계 후·코드 작성 전, 무엇을 보호할지·누가 공격할지·어떻게 막을지를 구조적으로 분석하는 활동. Shostack(전 MS)의 4-Question Framework가 핵심:

  1. What are we working on? — 시스템·DFD
  2. What can go wrong? — 위협 도출
  3. What are we going to do about it? — 완화·통제
  4. Did we do a good job? — 검증·반복

오해 1 — “보안팀만 하면 된다.” 위협 모델링은 개발자가 주도하고 보안팀이 가이드. 오해 2 — “한 번 하면 끝.” 시스템 변경 시마다 반복(Agile은 매 Sprint, Waterfall은 매 Phase). 오해 3 — “복잡한 방법론만 정답.” Shostack 4-Question만으로도 80% 효과, 형식보다 실행이 중요.

Threat Modeling Manifesto(2020.11, 12명 보안 전문가 공동): 가치 4·원칙 5 — 도구보다 가치, 가시성보다 협업 등.

2. 주요 방법론 비교

방법론발표대상특징단계
STRIDEMicrosoft 1999보안 일반6 위협 카테고리DFD → STRIDE-per-element
PASTAVerSprite 2012비즈니스 중심비즈니스 영향 강조7 Stages
LINDDUNKU Leuven 2010개인정보프라이버시 7 위협LINDDUN GO/PRO/MAESTRO
OCTAVE AllegroCMU/SEI 2007자산 중심위험 평가8 단계
Trike2005자동화 친화행위자·자원·행위 매트릭스4 단계
VASTThreatModeler 2016대규모Agile·확장성두 가지 모델(Application·Operational)
Attack TreeSchneier 1999시각화공격 목표 → 하위 단계트리 분해
kill chainLockheed Martin 2011APT7 단계 사이버 킬체인Recon→…→Action
MITRE ATT&CKMITRE 2013TTPs600+ 기법 매트릭스14 Tactics

선택 가이드:

  • 첫 도입·웹앱·일반: STRIDE
  • 비즈니스 임원 보고 동반: PASTA
  • 개인정보 처리: LINDDUN
  • 시각화·이해관계자 설명: Attack Tree
  • 보안 운영·SOC: MITRE ATT&CK

대부분의 조직은 STRIDE + Attack Tree + ATT&CK 조합.

3. STRIDE 상세 — 6 위협 카테고리

약어위협위반 속성예시
SSpoofingAuthentication가짜 사용자·세션 탈취·DNS 위조
TTamperingIntegrityDB 변조·중간자 변경·바이너리 패치
RRepudiationNon-repudiation로그 삭제·서명 부인
IInformation DisclosureConfidentialityDB 노출·로그 PII·메모리 덤프
DDenial of ServiceAvailabilityDDoS·자원 고갈·랜섬웨어
EElevation of PrivilegeAuthorizationsudo 우회·SQL Injection→Admin

STRIDE-per-element: DFD 요소 종류별 적용 가능 위협:

  • External Entity: S·R
  • Process: S·T·R·I·D·E (전부)
  • Data Flow: T·I·D
  • Data Store: T·R·I·D

도구:

  • Microsoft Threat Modeling Tool(무료) — STRIDE 자동 적용
  • OWASP Threat Dragon(무료·웹·VSCode) — STRIDE·LINDDUN·CIA
  • IriusRisk(상용) — 표준 라이브러리 풍부
  • pytm(오픈소스) — 코드 기반 위협 모델링(Python)
  • Cairis(오픈소스) — 위협+요구사항 통합
  • ThreatModeler(상용) — VAST·대규모

4. PASTA·LINDDUN·Attack Tree 핵심

PASTA(Process for Attack Simulation and Threat Analysis) — 7 Stages:

  1. Define Objectives: 비즈니스 목표·법규
  2. Technical Scope: 시스템·아키텍처
  3. Application Decomposition: 컴포넌트·신뢰 경계
  4. Threat Analysis: 위협 인텔·실제 공격자 모방
  5. Vulnerability Identification: 취약점·결함
  6. Attack Modeling: 공격 경로·Attack Tree
  7. Risk/Impact Analysis: 비즈니스 영향·우선순위

LINDDUN — Privacy Threats:

약어위협
LLinkability (연결가능성)
IIdentifiability (식별가능성)
NNon-repudiation (Privacy 관점: 익명성 침해)
DDetectability (탐지가능성)
DDisclosure of Information (정보 노출)
UUnawareness (자기정보 인지 결여)
NNon-compliance (정책 위반)

LINDDUN 변형:

  • LINDDUN GO: 카드 기반 라이트
  • LINDDUN PRO: 전체 7 단계
  • LINDDUN MAESTRO(2024): AI/ML 시스템 전용

Attack Tree (Bruce Schneier):

  • 루트: 공격자 목표 (예: “고객 DB 탈취”)
  • 하위: 달성 방법 (AND·OR 게이트)
  • 잎: 구체적 공격 (예: “SQL Injection”)
  • 각 잎에 비용·확률·기술 수준 표시

5. Stage 1 — 자산·DFD·신뢰경계 (1~2주/시스템)

시스템 식별:

  • 대상 범위: 단일 마이크로서비스·전체 앱·도메인
  • 비즈니스 가치(High/Medium/Low)
  • 데이터 분류(Public/Internal/Confidential/Restricted)
  • 컴플라이언스 요구(PCI·GDPR·HIPAA·ISMS-P)

DFD(Data Flow Diagram) 작성:

  • Level 0 — 컨텍스트 다이어그램
  • Level 1 — 주요 프로세스
  • Level 2 — 세부 프로세스(필요 시)
  • 요소: External Entity(사각)·Process(원)·Data Store(이중선)·Data Flow(화살표)
  • 신뢰 경계(Trust Boundary) 점선 — 사용자/서버, 서버/DB, 내부/외부

도구:

  • Draw.io·Visio·Lucidchart로 DFD
  • OWASP Threat Dragon DFD 내장
  • Microsoft TMT — Visio 스타일

예시 DFD (간단 웹앱):

  • 사용자(EE) → HTTPS → 웹서버(P) → JDBC → DB(DS)
  • 신뢰 경계: 사용자/웹서버, 웹서버/DB

6. Stage 2 — 위협 도출 (STRIDE·LINDDUN) (2~3주)

STRIDE-per-element 적용:

  • 각 DFD 요소·Data Flow에 STRIDE 6 위협 후보 검토
  • “이 Process에서 Spoofing이 가능한가?” 식 질문
  • 각 위협에 CWE 매핑 — 예: Spoofing → CWE-287(부적절한 인증)
  • 위협 카탈로그 작성:
    • ID·요소·STRIDE·CWE·시나리오·전제조건·영향·발견 위치

개인정보 처리 시스템 — LINDDUN 추가:

  • 동의 메커니즘·익명화·로그 보관·정보주체 권리

MITRE ATT&CK 매핑:

  • 위협 시나리오 → Tactic·Technique
  • “Initial Access(TA0001) - Phishing(T1566)” 등
  • 실제 공격자 TTPs 기반 검증

Attack Tree 시각화(중요 위협):

  • 루트: “사용자 인증 우회”
  • 분기: ① 패스워드 탈취 / ② 세션 하이재킹 / ③ 인증 로직 우회
  • 각 잎: 구체 공격·비용·난이도

7. Stage 3 — 위험 점수·완화 통제 (1~2주)

위험 점수:

  • DREAD(낡음, 권장 X): Damage·Reproducibility·Exploitability·Affected·Discoverability
  • CVSS v4.0: 동적 평가에 적합
  • Likelihood × Impact 5×5 매트릭스: 직관적, 임원 보고 적합

완화 4가지 옵션 (NIST RMF·ISO 27005):

  • Mitigate(완화): 통제 추가
  • Transfer(전가): 사이버보험·외주
  • Avoid(회피): 기능 제거·재설계
  • Accept(수용): 잔존 위험 문서화·승인

STRIDE별 완화 패턴:

STRIDE완화 통제
SpoofingMFA·FIDO2·인증서·OAuth
TamperingHMAC·TLS·서명·Hash·WAF
Repudiation로그·감사 추적·디지털 서명
Info Disclosure암호화(전송·저장)·DLP·접근통제
Denial of ServiceRate Limit·Auto-scaling·CDN·DDoS 방어
Elevation최소권한·RBAC/ABAC·입력 검증·Sandbox

OWASP ASVS 5.0 통제 카탈로그 → 위협별 ASVS 요구사항 ID 매핑.

완화 통제 백로그:

  • 우선순위 (HIGH·MEDIUM·LOW)
  • 담당자·기한
  • 구현 검증 방법

8. Stage 4 — 검증·재방문 (지속)

검증 (Did we do a good job?):

  • 코드 리뷰: 위협별 통제 구현 확인
  • SAST/DAST/IAST: 자동 검증
  • Pentest: 외부 검증
  • Red Team Exercise: 실제 공격 시나리오
  • Bug Bounty: 외부 연구자
  • Purple Team: Red+Blue 합동

재방문 트리거:

  • 신규 기능 추가
  • 아키텍처 변경(클라우드 이전 등)
  • 신규 위협(예: AI 위협)
  • 인시던트 발생 후
  • 6개월 정기 검토

CI/CD 통합 — Threat Modeling as Code:

  • pytm(Python) — 코드로 DFD·STRIDE 자동
from pytm import TM, Server, Datastore, Dataflow, Boundary

tm = TM("MyApp")
internet = Boundary("Internet")
server = Server("WebServer")
db = Datastore("UserDB")
dataflow = Dataflow(server, db, "User Query")
tm.process()
  • threagile(Go·오픈소스) — YAML로 정의, 자동 리포트
  • IriusRisk·SD Elements API 통합

9. Stage 5 — 거버넌스·확장·고도화 (지속)

거버넌스 체계:

  • Threat Modeling 표준 문서·템플릿
  • 위협 카탈로그 라이브러리(자체+OWASP·MITRE)
  • 보안 챔피언(Security Champion) 프로그램 — 각 팀 1명 위협 모델링 가능자
  • 분기 보안 회고 — 발견된 위협·완화 효과

확장:

  • 기존 시스템 백로그 — Tier 1 자산부터 위협 모델링
  • M&A 시스템 — 인수 후 즉시
  • 외주 시스템 — 계약에 위협 모델링 결과 제출 의무

고도화:

  • AI/ML 위협: LINDDUN MAESTRO + OWASP LLM Top 10 + NIST AI RMF
  • Cloud Threat Modeling: Cloud Threat Model Card(CNCF), CSA Cloud Threats
  • OT/ICS: IEC 62443·MITRE ATT&CK for ICS·Process Hazard Analysis 통합
  • Privacy-by-Design: LINDDUN 의무화

컴플라이언스 매핑:

  • NIST SSDF PW.1·PW.2: 위협 모델링 + 디자인 리뷰
  • ISO/IEC 27034: 애플리케이션 보안
  • EU CRA Article 13: Cybersecurity by Design
  • PCI DSS 6.5: 보안 코딩 + 위협 모델링

10. 비용·ROI

항목비용 (연간)
도구(Threat Dragon 무료, IriusRisk·SD Elements 3~30억)0~30억
교육·인증(SAFECode·SANS)1천~3천만
보안 챔피언 프로그램(시간)5천~3억
분기 위협 모델링 워크숍5천~2억
펜테스트 검증5천~5억
합계 (중견 제조사)2~40억

ROI:

  • 설계 단계 1시간 = 운영 후 400시간 절감
  • 침해사고 1건 평균 38억(IBM 2024 한국) 예방
  • NIST SSDF 자가증명 100% 충족 — 미 연방 조달 진입
  • EU CRA Cybersecurity by Design 매핑
  • 사이버보험 — 위협 모델링 운영 시 10~20% 할인

11. 자가 점검

  • Shostack 4-Question 프레임워크 적용
  • DFD 작성 표준
  • 신뢰 경계 명시
  • STRIDE-per-element 적용
  • LINDDUN(개인정보 처리 시)
  • Attack Tree 중요 위협 시각화
  • MITRE ATT&CK 매핑
  • CWE·CVE·CVSS 매핑
  • 위협 카탈로그 라이브러리
  • 완화 통제 우선순위 백로그
  • SAST·DAST·펜테스트 검증
  • 보안 챔피언 프로그램
  • 시스템 변경 시 위협 모델링 재실시
  • CI/CD에 Threat Modeling as Code(pytm·threagile)
  • AI/ML 시스템 LINDDUN MAESTRO
  • OT/ICS 별도 위협 모델링
  • NIST SSDF·EU CRA 매핑

12. 마무리 — 디자인 단계의 1시간이 운영의 400시간

위협 모델링은 ① 자산·DFD·신뢰 경계, ② STRIDE·LINDDUN 위협 도출, ③ 위험 점수·완화 통제, ④ 검증·재방문, ⑤ 거버넌스·확장 — 5단계로 SDLC 최상위 단계에 결합한다. 형식주의에 빠지지 말고 Shostack 4-Question부터 시작, 점진적으로 STRIDE → LINDDUN → ATT&CK 매핑까지 확장하면 보안 결함을 운영 전에 90%+ 차단할 수 있다.

통합 사이클