미국 FDA 사이버보안 – 위협 모델링

FDA 사이버보안에서 필수적으로 첨부해야 하는 “Threat model(위협 모델)“에 대해 알아보겠습니다.

위협 모델링이란 무엇인가요?

위협 모델링은 사이버보안의 위험 평가의 일부로 시스템의 전체에 걸쳐 잠재적인 위협을 식별하고, 취약점을 파악하고, 이러한 위협이 조직의 자산 및 운영에 미치는 영향을 평가하는 동적이며 반복적인 프로세스입니다.

위협 모델링은 어떻게 하나요?

MITRE의 Threat modeling 가이드(Playbook for Threat Modeling Medical Devices)에 따르면

다음 네 가지 질문을 중심으로 위협 모델링 방법론을 탐색해야 합니다.

1. What are we working on? / 무엇을 작업 중인가?

2. What can go wrong? / 무엇이 잘못될 수 있는가?

3. What are we going to do about it? / 이에 대해 무엇을 할 것인가?

4. Did we a good enough job? / 충분히 잘했는가?

각 질문에 대하여 하나씩 살펴보겠습니다.

1. What are we working on? / 무엇을 작업 중인가?

첫 번째 파트에서는 위협 모델링을 수행하는 의료기기의 구조화된 브레인스토밍 및 모델링 기법을 설명해야 합니다. 모델링 기법이란 Data Flow Diagrams(DFDs), Swim Lane, State Diagram 등의 시스템을 시각화하는 기법이며, 의료기기의 상황에 맞는 기법을 선택하면 됩니다.

Data Flow Diagrams (DFDs)에 대하여 자세히 설명하자면, DFDs는 아래 다섯 가지의 아이콘을 사용한 모델링 기법입니다.

아래 예시 그림처럼 구성 요소가 어떻게 맞물려 있는지 쉽게 파악할 수 있도록 그려야 합니다.

DFDs를 다 그린 후 2단계로 넘어가기 전 확인해야 할 사항이 있는데요.

다음 질문들을 모두 충분히 해소됐다고 판단되면 다음 단계로 넘어가게 됩니다.

✅ 모델이 시스템의 모든 핵심 기능을 어떤 방식으로든 설명하고 있는가?

✅ 시스템에 익숙하지 않은 사람이 현재 문서를 기반으로 시스템 작동 방식을 배울 수 있는가?

✅ 다이어그램이 명확하고 간결하며, 겹치는 데이터 플로우가 최소한인가?

✅ 중요한 데이터 플로우가 레이블 되었는가?

✅ 신뢰 경계가 설정되고 정당화 되었는가?

2. What can go wrong? / 무엇이 잘못될 수 있는가?

이번 파트에서는 어떤 위협이 발생할 수 있는지 파악하는 단계입니다. STRIDE, Attack Trees, Kill Chain and Cyber Attack Lifecycle 등의 기법을 사용하여 위협을 식별해야 합니다.

위의 기법들 중 STRIDE에 대해 알아보겠습니다.

Spoofing (위장)

◼ 시스템을 위조하여 속이는 것

◼ 예시 – 다른 사람으로 로그인하기 위해 도난 또는 대여한 로그인 정보를 이용함

Tampering (조작)

◼ 허가되지 않은 방식으로 시스템을 의도적으로 수정하는 것

◼ 예시 – 환자 데이터를 잘못된 값으로 변경함

Repudiation (부인)

◼ 실제로 발생한 행동의 진정성을 부정하는 것

◼ 예시 – 환자에게 처방된 치료가 제공되지 않았다고 부인함

Information Disclosure (정보 유출)

◼ 제한된 접근 수준을 가진 정보를 노출하는 것

◼ 예시 – 환자의 건강 데이터가 암호화되지 않은 블루투스 연결을 통해 전송됨

Denial of Service, DoS (서비스 거부)

◼ 악의적인 프로세스에 의해 시스템의 합법적인 접근이나 기능이 차단되는 것

◼ 예시 – 블루투스 센서의 잘못된 페어링 요청으로 합법적인 연결을 방해함

Elevation of Privilege, EoP (권한 상승)

◼ 공격자가 정상적으로 접근해서는 안 되는 기능에 접근하는 것

◼ 예시 – 환자가 자신의 정보가 아닌 모든 정보를 볼 수 있는 웹 포털을 이용함

DFDs의 각 요소들은 STRIDE에 적용이 될 수 있는데요, 세부 사항은 다음 표와 같습니다.

ElementSpoofingTamperingRepudiationInformation DisclosureDenial of Service, DoSElevation of Privilege, EoP
External Entity
Process
Data Store
Dataflow

3. What are we going to do about it? / 이에 대해 무엇을 할 것인가?

다음 단계는 식별한 위협을 어떻게 관리할 것인지에 대한 파트입니다.

Eliminate(제거), Mitigate(완화), Accept(수용), Transfer(전가)의 네 가지 접근 방법에 대해 설명하고 있는데요, 각 접근 방법에 대하여 알아보겠습니다.

◊ Eliminate approach

◼ 위협이 적용되는 기능이나 프로세스를 제거하는 것이기 때문에 보안 관점에서 가장 바람직한 과정이지만, 모든 위협을 제거할 수는 없으니 완화, 수용, 전가 등의 다른 전략이 필요합니다.

◊ Mitigate approach

◼ 공격을 막기 위해 제어 수단을 식별하고 추가 개선하는 것입니다.

◼ Protect(보호), Detect(탐지), Respond(대응), Recover(복구)의 네가지 제어 수단을 통해 완화할 수 있습니다.

◼ 현재의 보안 제어 수단을 문서화하는 것이 중요합니다.

◊ Accept approach

◼ 완전히 제거하기 어려운 잔여 위험에 대하여 위험 수용 결정을 어떻게 내리고 추적하는지에 대한 접근 방법입니다.

◼ 조직이 직접 영향을 받는 경우에는 이를 승인하고 추적하는 과정이 중요하며,

◼ 고객이 영향을 받는 경우에는 고객을 대신하여 위험을 수용하는 것은 어려우니 위험 전가 방법으로 접근해야 합니다.

◊ Transfer approach

◼ 사용자가 배포된 제품의 위험을 수용하게 되는 과정에서 안전한 제품의 사용을 돕고 문제 발생 시 효과적으로 대응하도록 하는 접근 방법입니다.

◼ 설치 가이드 등을 통해 제품을 사용할 때 발생할 수 있는 위험을 명확히 알려야 하고 문제가 발생했을 때 누가 책임을 질 것인지 명확히 해야 합니다.

이 단계에서 위협의 영향을 평가하여 점수를 매기는 것은 우선 순위를 정하고 이해 관계자에게 전가되는 위험을 전달하는데 도움이 됩니다.

◊ DREAD

◊ CVSS Rubric

◊ NIST SP 800-30

위 방법/문서를 참고하여 위험과 잔여 위험에 대해 점수화 하여야 합니다.

4. Did we a good enough job? / 충분히 잘했는가?

마지막으로 위협 모델링의 효과성을 평가하기 위한 단계입니다. 아래의 체크리스트를 통해 점검해볼 수 있습니다.

◊ Completeness / 완전성 – 모든 정보와 하위 요소가 완전한가?

◊ Clarity / 명확성 – 각 위협과 완화 조치가 명확하게 설명되었는가?

◊ Specificity / 구체성 – 각 요소가 적절하게 구체적이고 세부 사항을 가지고 있는가?

◊ Traceability / 추적 가능성 – 구성 요소 간의 상호 관계가 쉽게 추적 가능한가?

◊ Consistency / 일관성 – 설계와 구현 간에 일관성이 있는가?

◊ Roles and responsibilities / 역할 및 책임 – 각 당사자의 역할과 책임이 명확하게 식별되는가?

◊ Assumptions / 가정 – 모든 가정이 명확하게 식별되고 합리적인가?

◊ Rationales / 이유 – 결정에 대한 이유가 충분히 포함되어 있는가?

이상으로 ​FDA Cybersecurity에서 위협 모델링을 하는 방법​을 알아보았습니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다