백서

모델 기반 보안 위험 분석

개요

보안 위험은 어떻게 예측하고 완화할 수 있을까요? ISO®/SAE® 21434 및 DO-356 등의 산업 표준은 새로운 제품을 시장에 출시하기 전에 이 질문에 대한 답을 요구합니다. 변경 사항을 문서화하고 추적하며 구현하고 검증하는 통합 공정이 없다면 이 질문에 답하기 어렵습니다. 산업 분야에 따라 이 프로세스는 TARA(위협 분석 및 위험 평가), SRA(보안 위험 평가) 또는 다른 명칭으로 불릴 수 있습니다. SRA에 대해 모델 기반 프레임워크(그림 1)를 채택하면 단계별로 안내되는 공정을 통해 설계와 안전 및 보안 간의 긴밀한 연계를 달성할 수 있습니다. 또한, MATLAB®의 다양한 기능을 활용하면 이 공정을 여러분의 필요에 맞게 손쉽게 맞춤화하거나 확장 또는 자동화할 수도 있습니다.

“Architecture & Implementation Models”과 “Security Goals”를 입력으로 하는 보안 분석 공정 흐름을 보여주는 다이어그램. 이 다이어그램에는 “Static Analysis” 단계에 1) 자산, 위협 및 대응책 제안, 2) 적용된 위협 및 리스크 모델 3) 보안 목표를 테스트하기 위한 공격 모델링 등 세 가지 주요 단계가 포함되어 있습니다. 화살표는 각 단계를 연결하여 워크플로를 보여줍니다.

그림 1. 모델 기반 보안 분석 프레임워크.

컨텍스트: 창고 로봇

이 백서에서는 원격 운영자, 소프트웨어 아키텍처, 플랜트 모델, 카메라 모델(그림 3)을 포함하는 창고 로봇의 예시를 소개합니다. 그림 4의 소프트웨어 아키텍처를 자세히 살펴보면, 계획 스케줄러, 계획, 제어 및 위치 추정기 모듈이 포함되어 있음을 알 수 있습니다.

모델 기반 보안 분석은 다음과 같은 단계(그림 2 참조)로 구성됩니다.

  1. 자산 및 위협 식별
  2. 보안 위험 계산
  3. 대응책 정의, 구현 및 검증
보안 위험 관리 단계를 보여주는 플로우 차트: 자산과 위협을 식별하고, 보안 위험을 계산하고, 대응책을 정의하고 검증합니다. 각 섹션에는 리스크 매트릭스 및 보안 카메라와 같은 질문과 관련 이미지가 있습니다.

그림 2. 모델 기반 보안 분석의 단계.

제어 센터, 로봇 소프트웨어 아키텍처 및 창고 건물로 구성된 창고 로봇 시스템을 보여주는 시스템 다이어그램. 로봇 제어, 측위 및 내비게이션을 위한 데이터 흐름을 보여줍니다.

그림 3. 창고 로봇 아키텍처 모델.

로봇의 움직임 및 작업을 관리하는 Planning Scheduler, Position Estimator 및 Control 모듈을 보여주는 창고 작업 로봇 아키텍처의 상세 다이어그램.

그림 4. 창고 로봇 소프트웨어 아키텍처.

섹션

자산 및 위협 식별

자산 및 위협을 식별할 때 물어야 할 중요한 질문은 “보호해야 할 대상이 무엇인가?”입니다. 이상적인 상황이라면 이에 대한 대답은 시스템에 가치를 제공하는 모든 것입니다. 하지만 복잡성 및 비용 제약으로 인해 실제로는 안전 관련 기능처럼 꼭 필요한 항목만 보호 대상으로 선택하게 됩니다. 이러한 기능을 자산이라고 하며, 각 자산에는 다음과 같은 보호해야 할 하나 이상의 속성이 있습니다.

  • 가용성
  • 무결성
  • 인증성
  • 기밀성
  • 부인 방지
  • 권한부여

자산 식별: 무엇을 보호해야 하는가?

자산을 식별하는 방법에는 사용자에게 대한 노출을 평가하거나, 데이터 흐름을 살펴보거나, SBOM(소프트웨어 자재 명세서)을 검토하거나, 안전 기능에서의 역할을 고려하는 등 다양한 방식이 있습니다. 기본적인 원칙으로, 외부 입력을 소비하는 모든 컴포넌트는 고려 대상입니다.

로봇의 소프트웨어 아키텍처 내에는 창고 천장 카메라(시뮬레이션 모델)로부터 전달되는 신호(robotPosition)에 의존하는 컴포넌트가 있습니다.

  • 계획 스케줄러
  • 위치 추정기

이 예시의 목적상 이 리포트는 해당 자산과 관련된 신호의 가용성, 무결성 및 인증성을 보호하는 데 중점을 둡니다. 해당 자산에는 보호가 필요한 기타 속성이 있으며, 이러한 분석은 시스템의 모든 자산을 대상으로 완료되어야 합니다.

이 분석 전반에 걸쳐 추적성을 보장하기 위해서는 Simulink Fault Analyzer™의 안전성 분석 관리자 스프레드시트를 사용하는 것이 중요합니다. 이러한 자산을 스프레드시트에 추가하기 위해 System Composer™의 스테레오타입이 활용됩니다. “자산”의 스테레오타입이 이러한 서브시스템에 할당되면, 스프레드시트에 자동으로 추가됩니다. 이 스프레드시트는 자산 유형, 보호 대상 속성 및 기타 수집하고자 하는 기타 정보를 추적할 수 있습니다. (그림 5) 또한 Requirements Toolbox™를 사용하면 자산을 식별된 위협에 연결하여 나머지 분석을 연결하는 디지털 스레드를 만들 수 있습니다. 이를 통해 다음과 같은 작업을 수행할 수 있습니다. 

  1. 산업 표준의 추적성 요구사항을 충족할 수 있습니다.
  2. 모든 변경 사항에 대한 영향 분석을 수행할 수 있습니다.
스프레드시트의 스크린샷. 두 자산이 나열되어 있습니다. “Planning Scheduler” 및 “Position Estimator”는 모두 프로세스로 표시되어 있으며, 인증성, 무결성, 가용성에 체크되어 있습니다.

그림 5. 자산 스프레드시트의 예시.

위협 식별: 무엇이 잘못될 수 있는가?

이제 보호해야 할 자산을 식별했으므로, 다음 단계는 이러한 자산에 어떤 위협이 존재하는지를 파악하는 것입니다. 소프트웨어 보안 위협을 식별하는 일반적인 방법은 STRIDE 모델링 프레임워크입니다. 자산의 바람직한 속성은 표 1에서 볼 수 있는 것처럼 각각의 관련 위협에 직접 매핑됩니다.

표 1

위협을 속성 및 정의에 매핑한 표. (출처: Wikipedia)

위협 바람직한 속성 위협의 정의
스푸핑 인증성 자신 외의 다른 대상 또는 사람으로 가장하는 것
변조 무결성 디스크, 네트워크, 메모리 또는 기타 등에서 무언가를 변경하는 것
부인 부인 방지성 어떤 일을 하지 않았거나 그에 대한 책임이 없다고 주장하는 것으로, 이는 사실일 수도, 허위일 수도 있음
정보 공개 기밀성 접근 권한이 없는 사람이 정보를 입수하는 것
서비스 거부 가용성 서비스 제공에 필요한 자원을 소모시키는 것
권한 상승 권한부여 권한이 없는 작업을 사용자가 수행할 수 있도록 허용하는 것

STRIDE를 사용하든 다른 방법을 사용하든, 이전에 식별된 자산의 속성으로부터 자동으로 위협을 제안하는 MATLAB 함수를 작성할 수 있습니다. 예를 들어, 가용성에 매핑되는 위협은 서비스 거부입니다. 이는 포괄적인 용어이므로 관련 위험 및 대응책을 파악하려면 더 구체적으로 접근해야 합니다. CAPEC™1, ATT&CK®2 및 EMB3D3 등의 위협 카탈로그를 사용하여 위협이 실제로 어떤 방식으로 나타날 수 있는지에 대한 좀 더 구체적인 정보를 얻을 수 있습니다. 이 경우, 카메라에서 위치 추정기로 전달되는 신호에 대한 재밍이 해당될 수 있습니다.

구체적인 위협이 식별된 후에는 위협 스프레드시트를 CAPEC 항목(예: CAPEC-601)으로 업데이트할 수 있습니다. 자산 시트와 비슷하게 위협 시트 역시 나머지 분석과의 연결을 통해 추적성 및 영향 분석을 지원합니다.

섹션

보안 위험 계산

특정 위협의 위험을 계산하려면 주요 인자를 고려해야 합니다. 첫 번째 인자는 실현가능성으로, 공격이 얼마나 쉽게 수행될 수 있는지를 나타냅니다. 두 번째 인자는 영향으로, 결과의 심각도를 고려합니다.

실현가능성: 작업이 얼마나 어려운가?

ISO 18045의 공격 성공 가능성 방식을 활용하면 다음과 같은 필수 인자를 기준으로 공격의 실현가능성을 추정할 수 있는 체계적인 프레임워크를 마련할 수 있습니다.

  • 전문성: 공격자의 기술 수준은 어느 정도인가?
  • 지식: 얼마나 많은 내부 지식이 필요한가?
  • 장비: 공격을 실행하려면 어떤 툴 또는 하드웨어가 필요한가?
  • 경과 시간: 취약점을 식별하고 익스플로잇을 개발하는 데 얼마나 걸리는가?
  • 공격의 기회: 공격은 언제 그리고 어디서 실행될 수 있는가?

위협 스프레드시트(그림 6)에는 고려해야 할 각 인자에 대한 열이 있으며, 사용자 지정 가능한 MATLAB 수식을 통해 실현가능성이 자동으로 계산됩니다. 위에서 설명한 대로 공격 성공 가능성 방식이 사용되며, 이 방식은 각 인자에 대해 표준화된 등급 값을 합산하여 평가합니다.

위험 및 실현가능성 세부 정보가 있는 위협 분석표의 스크린샷.

그림 6. 인자 및 실현가능성 항목이 강조 표시된 위협 스프레드시트.

영향: 영향이 얼마나 큰가?

모든 위협에는 잠재적인 영향이나 결과가 따릅니다. 이 예시에서 영향은 안전 효과의 관점에서 결정됩니다. 이를 위해 기존의 안전 분석(즉, 위험 평가)의 영향 평가를 그대로 활용합니다. 이는 단순화된 내용임에 유의하시기 바랍니다. 일반적으로 영향은 운영, 재무, 개인정보 측면에서도 함께 평가됩니다.

위험 평가(그림 7)에서는 위치 센서의 기능 고장 시 심각도가 S3에서 S5까지의 범위로 나타납니다. 단순화를 위해 해당 값 중 가장 높은 값을 DoS(서비스 거부) 위협의 영향으로 간주합니다.

계획 및 위치 센서의 기능 고장과 그에 따른 영향, 심각도, 발생 빈도, 위험 및 완화 전략을 보여주는 로봇 위험 평가표의 스크린샷.

그림 7. 로봇의 위험 평가.

위험 계산 및 처리

실현가능성 및 영향을 평가한 후에는 또 다른 MATLAB 수식을 사용하여 위험을 자동으로 계산할 수 있습니다. 이 예시에서는 실현가능성에 영향을 곱해 위험을 계산합니다.

여러분의 위험 감내 수준에 따라 어떻게 위험 처리를 적용할지 결정할 수 있습니다. 스프레드시트(그림 8)에는 위험 처리 방식이 다음 중 하나의 특성으로 표시되어 있습니다.

  • 회피: (기능을 삭제하는 등의 방식으로) 위험을 완전히 회피해야 합니다.
  • 축소: 기술적 대응책을 구현해 위험을 줄여야 합니다.
  • 공유: 위험이 보험, 사용자, 제3자 등으로 이전됩니다.
  • 수용: 추가 조치 없이 위험을 “현재 상태로” 수용합니다.
  • 해당 없음: 이 시스템에 위협이 존재하지 않습니다.

참고: 회피 또는 축소 위험 처리는 모두 기술적 요구사항으로 이어집니다.

“DoS on Position Estimator” 및 “Tampering on Position Estimator”과 같은 위협과 공격 전문성 및 위험 세부 정보가 포함된 스프레드시트의 스크린샷. 경고가 강조 표시되어 있으며, 이는 선택된 상태에 비해 위험 수준이 너무 높음을 나타냅니다.

그림 8. 위협 스프레드시트의 위험 처리.

위험 계산과 위협, 자산, 기타 요소 간의 관계는 그래프로 시각화할 수 있으며, 이를 통해 전체 위험에 대한 각 요소의 기여도를 파악할 수 있습니다. 그래프를 통해 각 관계의 중요도에 대한 정보를 확인할 수 있으므로 작업의 우선순위를 정하는 데 사용할 수 있습니다. 그림 9에서 볼 수 있듯이 DoS는 변조보다 더 큰 위협이 되므로 우선적으로 대응해야 합니다. 이는 DoS가 변조(S4)보다 심각도 수준(S5)이 더 높기 때문입니다.

다이어그램이 창고 작업 로봇 아키텍처에서 자산, 위협 및 위치 추정기 간의 관계를 시각적으로 보여줍니다. 위협에 대한 우선순위가 표시되어 있으며, “DoS on Position Estimator”는 1순위, “Tampering on Position Estimator”는 2순위로 표시되어 있습니다.

그림 9. 위험의 시각화.

섹션

대응책 정의, 구현 및 검증

카메라에서 위치 추정기로 전달되는 신호에 대한 재밍(DoS) 위험을 줄이려면, 실현가능성을 낮추거나 대응책을 적용함으로써 위험을 완화할 수 있습니다. 이 경우 비상 브레이크를 추가하여 영향을 축소했습니다. 이 조치는 대응책 시트(그림 10)에 있는 링크를 통해 위협 스프레드시트로 추적할 수 있습니다. 각 대응책은 하나 이상의 도출된 요구사항의 형태로 구체화되는 보안 목표로 이어집니다. 이 경우 요구사항은 재밍이 감지되면 로봇이 1초 이내에 정지해야 한다는 것이며, 이는 추적성 및 영향 분석과도 연결되어 있습니다.

공격 전문성, 실현가능성, 위험 수준 등의 세부 정보를 포함한 다양한 위협에 대한 위험 평가표의 스크린샷. “Emergency brake to detect and stop spinning”로 레이블이 지정된 대응책에서 관련 위협으로 화살표가 이어져 있으며, 두 항목 간의 링크가 강조되어 있습니다.

그림 10. 대응책과 위협 간의 연결.

일관성 및 완전성 검사

지금까지 이 백서에서는 위협을 식별하고 그에 따른 위험을 평가하고 위험이 허용 불가할 정도로 높을 경우에 대비한 대응책을 정의했습니다. 다음 단계는 대응책의 개발입니다. 보안 목표를 구현 단계로 전달하기 전에, 다음 항목을 확인하여 위협 및 위험 모델의 유효성을 검증해야 합니다.

  • 각 자산에 대해 하나 이상의 위협이 식별되어 있어야 합니다(완전성 확보 차원).
  • 검토되지 않은 위협이 없어야 합니다.
  • 위험 수준이 너무 높은 경우에는 대응책이 배정되어야 합니다.
  • 요구사항(예: 보안 목표)이 생성되어 대응책과 연결되어 있어야 합니다.
  • 위협, 자산, 모델, 안전 분석 간에 연결이 끊긴 부분이 없어야 합니다.

한 번의 함수 호출로 전체 항목을 검증하고 플롯(그림 11)을 생성할 수 있습니다.

“Threat & Risk Model Validation”이라는 제목의 막대 그래프로, 다양한 분석 시트에서 발견된 항목 수를 보여줍니다. 이 차트에서는 자산, 위협, 대응책, 로봇 위험 평가의 상태를 녹색, 주황색, 빨간색으로 표시합니다.

그림 11. 위협 및 위험 모델 검증.

대응책 구현

대응책이 정의되었다면 이제 이를 모델에 구현할 차례입니다. 제어기의 Simulink® 모델에서 MATLAB을 사용해 함수 블록(그림 12)을 추가하며, 이 블록은 추적성을 확보하기 위해 요구사항과 연결됩니다.

safetyLock 및 emergencyBrake 컴포넌트가 포함된 비상 브레이크 시스템의 구현을 설명하는 다이어그램. 오른쪽 패널에는 비상 브레이크의 함수에 대한 요약과 설명이 표시되며, “Emergency Brake Active” 링크가 강조 표시되어 있습니다.

그림 12. 연결된 요구사항이 있는 비상 브레이크의 구현.

검증 및 확인

구현이 완료된 후의 다음 단계는 공격을 모델링하고 대응책의 기능을 검증하는 것입니다. 이 작업은 공격을 모델링하고 시뮬레이션할 수 있는 Simulink Fault Analyzer를 사용해 수행할 수 있습니다. 그림 13은 공격을 모델링할 때 사용된 설정을 시각적으로 보여줍니다.

모델 요소에 결함을 추가할 때 사용하는 대화 상자로, 결함 이름 및 동작 등 세부 속성을 지정할 수 있습니다. 결함은 지정된 시뮬레이션 시간에 트리거되며, 동작 유형은 “Stuck-at-Ground”입니다.

그림 13. 트리거가 강조 표시된 결함 대화 상자.

결함을 활성화하고 모델을 실행한 후에는, 그림 14에 표시된 것처럼 SDI(시뮬레이션 데이터 인스펙터)를 사용해 신호를 자세히 살펴볼 수 있습니다. 그림 15에서와 같이 Navigation Toolbox™를 사용하여 공격 대응을 시각화할 수도 있습니다. 이러한 툴을 통해 대응책이 의도한 대로 작동하는지를 시각적으로 검증할 수 있으며, 이 워크플로는 Simulink Test Manager 프레임워크를 활용해 전체 기능이 올바르게 검증되도록 확장할 수 있습니다.

로봇의 위치 추정기를 대상으로 한 DoS 공격을 나타낸 그래픽 분석 화면의 스크린샷. 위쪽 그래프는 공격이 주입된 시점을 나타내며, 가운데 그래프는 로봇이 정지한 시점을 보여줍니다.

그림 14. 공격이 주입된 지점을 보여주는 Simulink 데이터 인스펙터.

그림 15. 대응책이 있는 공격(왼쪽) 및 없는 공격(오른쪽)의 시각화.

섹션

결론

모델 기반 보안 분석 프레임워크는 내장된 추적성, 준수 표준을 충족하기 위한 사용자 지정 설정 기능, 자동화 기능을 갖춘 워크플로를 제공하여 설계와 분석 간의 일관성을 보장합니다. 이 간소화된 워크플로를 통해 설계 공정에서 검증 및 확인을 더 앞당겨 진행하면 개발 시간 및 비용을 절감할 수 있습니다. 잠재적인 위협의 발견부터 위험의 정량화와 평가 및 대응책의 효과 정의와 시뮬레이션에 이르기까지, 이 종단간 접근법은 보안 공정의 완전한 커버리지를 보장합니다.

섹션

참고문헌

  1. The MITRE Corporation. “CAPEC - Common Attack Pattern Enumeration and Classification (CAPEC™).” 접속일: 2025년 3월 18일

  2. The MITRE Corporation. “MITRE ATT&CK®.” 접속일: 2025년 3월 18일

  3. The MITRE Corporation. “MITRE EMB3D™.” 접속일: 2025년 3월 18일