이번 포스트에서는 FDA Cybersecurity 제출 자료에서 필수로 요구되는 Threat Model(위협 모델) 작성 가이드를 정리합니다.
FDA 사이버보안 필수 문서: Threat Model(위협 모델) 작성 가이드
MITRE Playbook for Threat Modeling Medical Devices 기반
위협 모델링이란?
위협 모델링(Threat Modeling)은 사이버보안 위험 평가의 일부로, 시스템 전반에 걸친 잠재 위협을 식별하고 취약점을 파악한 뒤, 그 영향과 대응 방안을 평가·개선하는 반복적이고 지속적인 프로세스입니다.
위협 모델링은 어떻게 하나요?
MITRE의 Playbook for Threat Modeling Medical Devices에서는 아래 네 가지 질문을 중심으로 위협 모델링 방법론을 구성할 것을 권장합니다.
working on?
go wrong?
to do about it?
good enough job?
1) What are we working on? / 무엇을 작업 중인가?
첫 단계에서는 위협 모델링을 수행할 대상(의료기기/시스템)을 구조화된 브레인스토밍과 모델링 기법으로 설명해야 합니다.
시스템을 시각화하기 위한 모델링 기법으로는 Data Flow Diagram(DFD), Swim Lane, State Diagram 등이 있으며, 의료기기 상황에 적합한 기법을 선택하면 됩니다.
DFD는 아래와 같은 아이콘(요소)을 사용해 시스템 구성요소와 데이터 흐름을 표현합니다.
또한 아래 예시처럼 구성 요소가 어떻게 맞물려 동작하는지 한눈에 이해 가능하도록 다이어그램을 작성하는 것이 중요합니다.
1단계 체크리스트
DFD 작성 후, 다음 항목이 충족되는지 점검한 뒤 2단계로 넘어갑니다.
모델이 시스템의 핵심 기능을 어떤 방식으로든 설명하고 있는가?
시스템에 익숙하지 않은 사람도 문서만으로 작동 방식을 이해할 수 있는가?
다이어그램이 명확하고 간결하며, 겹치는 데이터 플로우가 최소한인가?
중요한 데이터 플로우에 레이블이 부여되어 있는가?
신뢰 경계(Trust Boundary)가 설정되고 정당화되어 있는가?
2) What can go wrong? / 무엇이 잘못될 수 있는가?
두 번째 단계는 시스템에서 발생 가능한 위협을 식별하는 과정입니다. 대표적인 기법으로 STRIDE, Attack Trees, Kill Chain/Cyber Attack Lifecycle 등이 사용됩니다. 여기서는 STRIDE를 기준으로 핵심 개념을 정리합니다.
STRIDE 구성 요소
예) 도난/대여한 로그인 정보로 다른 사람 계정에 접근
예) 환자 데이터를 잘못된 값으로 변경
예) 처방된 치료가 제공되지 않았다고 부인
예) 암호화되지 않은 블루투스로 건강 데이터 전송
예) 잘못된 페어링 요청으로 합법적 연결 방해
예) 환자가 모든 사용자 정보를 볼 수 있는 포털 접근
DFD 요소 × STRIDE 매핑
| Element | Spoofing | Tampering | Repudiation | Info Disclosure | DoS | EoP |
|---|---|---|---|---|---|---|
| External Entity | ○ | ○ | ||||
| Process | ○ | ○ | ○ | ○ | ○ | ○ |
| Data Store | ○ | △ | ○ | ○ | ||
| Dataflow | ○ | ○ | ○ |
3) What are we going to do about it? / 이에 대해 무엇을 할 것인가?
세 번째 단계는 식별된 위협을 어떻게 관리할지 결정하는 과정입니다. MITRE 가이드는 아래 네 가지 접근을 설명합니다.
Eliminate (제거)
위협이 적용되는 기능/프로세스를 제거. 가장 이상적이지만 현실적 한계가 있음
Mitigate (완화)
제어 수단을 식별·추가·개선하여 공격을 방지
Accept (수용)
제거가 어려운 잔여 위험을 승인하고 추적
Transfer (전가)
사용자의 안전한 사용을 돕고 책임/대응 체계를 명확히 함 (예: 설치 가이드, 책임 범위 명시)
💡 위험 점수화 참고 방법론
위협의 영향을 평가해 점수화하면, 우선순위 결정 및 이해관계자에게 위험을 전달하는 데 도움이 됩니다.
DREAD, CVSS Rubric, NIST SP 800-30 등을 참고해 위험과 잔여 위험을 점수화하고, 대응 전략을 문서화하는 것이 핵심입니다.
4) Did we do a good enough job? / 충분히 잘했는가?
마지막 단계는 위협 모델링의 품질과 효과성을 평가하는 과정입니다. 아래 체크리스트로 점검할 수 있습니다.
품질 평가 체크리스트
Completeness (완전성)
모든 정보와 하위 요소가 완전한가?
Clarity (명확성)
각 위협과 완화 조치가 명확히 설명되었는가?
Specificity (구체성)
각 요소가 적절히 구체적이며 세부 사항을 갖는가?
Traceability (추적 가능성)
구성 요소 간 관계가 쉽게 추적 가능한가?
Consistency (일관성)
설계와 구현 간 일관성이 있는가?
Roles & Responsibilities (역할 및 책임)
역할과 책임이 명확히 식별되는가?
Assumptions (가정)
모든 가정이 명확하고 합리적인가?
Rationales (이유)
주요 결정의 이유가 충분히 포함되는가?
정리
핵심은 “시스템을 명확히 모델링하고(DFD) → 위협을 식별(STRIDE) → 대응을 결정(Eliminate/Mitigate/Accept/Transfer) → 품질을 점검(체크리스트)”하는 것입니다.