위협 모델링 및 완화 기술 검토

완료됨

Azure IoT 개발자는 IoT 솔루션의 아키텍처 디자인을 담당 하지 않지만 솔루션에 대 한 위협을 이해하는 것이 중요 합니다.

솔루션 아키텍처 및 보안

시스템을 디자인하고 아키텍처를 설계할 때 해당 시스템에 대한 잠재적 위협을 파악하고, 그에 따라 적절한 방어 수단을 추가해야 합니다. 처음부터 보안을 염두에 두고 제품을 설계하는 것이 매우 중요합니다. 공격자가 시스템을 손상시킬 수 있는 방법을 파악하면 처음부터 적절한 위협 완화 조치를 수행할 수 있기 때문입니다.

설계 팀에서는 시스템이 배포된 이후가 아닌 시스템이 설계될 때 위협 모델링 기술을 사용한 완화 방안을 고려합니다. 배포 이후에 현장의 수많은 디바이스에 보안 기능을 추가하기란 실현 불가능하고, 오류가 많고, 고객이 위험에 노출됩니다.

위협 모델링

위협 모델링의 목표는 공격자가 시스템을 손상시킬 수 있는 방법을 파악하여 적절한 위협 완화 조치를 취하는 것입니다.

위협 모델링에 대한 고려 사항

솔루션 전체를 살펴보고 다음 영역에 집중해야 합니다.

  • 보안 및 개인 정보 보호 기능
  • 오류가 보안과 관련된 기능입니다.
  • 신뢰 경계에 접촉하는 기능입니다.

위협 모델링을 수행하는 사람

위협 모델링은 여느 프로세스와 다르지 않습니다. 솔루션의 다른 구성 요소처럼 위협 모델 문서를 처리하고 팀으로서 유효성을 검사하는 것이 좋습니다. 많은 개발 팀이 고객에게 필요한 시스템 기능을 파악하는 일은 잘하고 있습니다. 그러나 누군가가 시스템을 악용할 수 있는 불분명한 방법을 파악하기는 쉽지 않습니다. 개발 팀은 위협 모델링을 통해 공격자가 어떤 이유로 어떤 행동을 하는지 파악할 수 있습니다.

위협 모델링을 수행하는 방법

위협 모델링 프로세스는 다음 네 단계로 구성됩니다.

  • 응용 프로그램을 모델링합니다.
  • 위협에 대해 열거합니다.
  • 위협을 완화합니다.
  • 완화의 유효성을 검사합니다.

IoT의 보안

연결된 특수 디바이스는 잠재적 상호 작용 노출 영역 및 상호 작용 패턴이 매우 많으며, 이러한 디바이스에 대한 디지털 액세스를 보호하기 위해 프레임워크를 제공하는 방법을 고려해야 합니다. 여기서 "디지털 액세스"라는 용어는 디바이스 직접 상호 작용을 통해 수행되고 물리적 액세스 제어를 통해 액세스 보안이 제공되는 작업과 구분하기 위해 사용되었습니다. 예를 들어 디바이스를 문에 자물쇠가 달린 방에 비유할 수 있습니다. 소프트웨어 및 하드웨어를 사용하는 물리적 액세스를 거부할 수는 없지만 물리적 액세스가 시스템 간섭으로 이어지지 않도록 조치를 수행할 수 있습니다.

보안 모범 사례를 최적화하기 위해 위협 모델링 연습의 일환으로 일반적인 IoT 아키텍처를 여러 구성 요소/영역으로 나누는 것이 좋습니다. 이러한 영역은 다음과 같습니다.

  • 디바이스
  • IoT Edge Gateway(필드 게이트웨이로 사용되는 IoT Edge 디바이스)
  • 클라우드 게이트웨이(IoT Hub)
  • Services

각 영역은 한 원본에서 다른 원본으로 데이터/정보의 전환을 나타내는 신뢰 경계로 구분됩니다. 이 전환 과정에서 데이터/정보의 스푸핑, 변조, 거부, 정보 공개, 서비스 거부 및 권한 상승(STRIDE)이 발생할 수 있습니다.

Azure IoT 참조 아키텍처를 사용하여 IoT의 위협 모델링 및 식별된 위협을 해결하는 방법을 보여줄 수 있습니다. 이 접근 방식은 다음의 네 가지 주요 영역을 식별합니다.

  • 디바이스 및 데이터 원본
  • 데이터 전송
  • 디바이스 및 이벤트 처리
  • 프레젠테이션.

일반적인 보안 위협 및 완화

Azure IoT 솔루션의 경우 가장 일반적으로 발생하는 위협은 물리적 디바이스를 대상으로 하거나 위의 간소화된 위협 모델 다이어그램에서 식별된 신뢰 경계 중 하나입니다.

다음 STRIDE 정의를 살펴보겠습니다.

  • 스푸핑(S): 스푸핑 공격은 공격자가 자신이 아닌 다른 사람으로 가장할 때 발생합니다. 스푸핑 공격은 로컬로 발생할 수 있습니다. 예를 들어, 공격자는 소프트웨어 또는 하드웨어 수준에서 디바이스의 암호화 키 자료를 추출한 후 키 자료가 만들어진 디바이스의 ID를 사용하여 다른 물리적 시스템에 액세스할 수 있습니다.
  • 변조(T): 변조 공격은 공격자가 전송 중인 데이터를 수정할 때(IoT의 경우 물리적 디바이스 손상이 포함될 수 있음) 발생합니다. 예를 들어, 공격자는 암호화 키 자료를 확보하기 위해 물리적 디바이스를 손상시킨 후 통신 경로에 있는 디바이스에서 데이터를 가로채 숨길 수 있으며, 추출된 키 자료를 사용하여 도난 키 자료로 인증된 데이터를 거짓 데이터로 바꿀 수 있습니다.
  • 부인(R): 부인은 누군가가 작업을 수행한 후, 실제로는 수행하지 않았다고 주장할 때 발생합니다. 부인은 일반적으로 사용자 작업을 올바르게 추적하고 기록하는 기능과 연결되며, Azure IoT의 경우 Azure IoT Hub 서비스에서 이 위협을 완화합니다. 부인은 물리적 디바이스에 대한 공격에는 적용되지 않습니다.
  • 정보 공개(I): 정보 공개 위협은 매우 간단하며, 공격자가 볼 수 없는 데이터를 볼 수 있습니다. 예를 들어, 하나의 컴퓨터에서 다른 컴퓨터로 데이터를 전송할 때 공격자가 네트워크에서 데이터를 스니핑할 수 있는 경우, 구성 요소가 정보 공개 위협에 노출됩니다.
  • 서비스 거부(D): 공격자가 사용자에 대한 서비스를 저하시키거나 거부할 수 있는 경우 서비스 거부 위협이 발생합니다. IoT의 경우 이러한 성능 저하에는 장치를 작동 또는 통신 불가능하게 렌더링하는 작업이 포함됩니다. 예를 들어, 전원 또는 네트워크 연결을 고의적으로 막은 감시 카메라에서는 데이터를 보고할 수 없습니다.
  • 권한 상승(E): 권한 상승 위협은 공격자가 일반적으로 보유할 수 없는 권한을 확보하는 경우 발생합니다. IoT의 경우 이 위협을 통해 디바이스에서 의도한 기능 이외의 다른 작업을 수행할 수 있습니다. 예를 들어 절반만 열리도록 프로그래밍된 밸브가 끝까지 열리도록 속일 수 있습니다.

물리적 디바이스에 대한 일반적인 위협

구성 요소

위협

마이그레이션

위험

구현

디바이스

S

디바이스에 ID를 할당하고 디바이스를 인증합니다.

디바이스 또는 디바이스 일부를 다른 디바이스로 대체합니다. 올바른 디바이스와 통신하고 있는지 어떻게 알 수 있을까요?

TLS(전송 계층 보안) 또는 IPSec을 사용하여 디바이스를 인증합니다. 전체 비대칭 암호화를 처리할 수 없는 PSK(미리 공유한 키)를 해당 디바이스에서 사용할 수 있도록 인프라가 지원해야 합니다. Microsoft Entra ID 또는 OAuth를 사용합니다.

디바이스

TID

예를 들어, 디바이스에서 키 및 기타 암호화 자료를 추출할 수 없도록 하여 디바이스에 변조 방지 메커니즘을 적용합니다.

누군가가 디바이스를 변조(물리적 간섭)할 위험은 남아 있습니다. 디바이스가 변조되지 않았는지 확인하려면 어떻게 해야 할까요?

가장 효과적인 해결 방법은 TPM(신뢰할 수 있는 플랫폼 모듈) 기능입니다. 이 기능을 사용하면 특별한 온칩 회로에 키를 저장할 수 있습니다. 이 온칩 회로에 저장된 키는 읽기는 불가능하고 해당 키를 사용하는 암호화 작업에만 키 공개 없이 사용할 수 있습니다. 디바이스의 메모리 암호화. 디바이스의 키 관리. 코드에 서명.

디바이스

E

디바이스의 액세스 제어. 권한 부여 체계.

디바이스가 외부 원본 또는 심지어 손상된 센서의 명령에 따라 개별 작업을 수행할 수 있도록 허용하면 공격이 작업을 수행할 수 있습니다. 만약 허용하지 않으면 공격이 작업에 액세스할 수 없습니다.

디바이스에 대한 권한 부여 체계를 보유합니다.

IoT Edge 게이트웨이(필드 게이트웨이)

S

클라우드 게이트웨이에 대한 필드 게이트웨이 인증(예: 인증서 기반, PSK 또는 클레임 기반).

누군가가 현장 게이트웨이를 스푸핑할 수 있다면 현장 게이트웨이가 모든 디바이스로 제공될 수 있습니다.

TLS RSA/PSK, IPSec, RFC 4279. 디바이스의 모든 일반적인 키 스토리지 및 증명 문제를 해결하는 가장 좋은 방법은 TPM 사용입니다. WSN(무선 센서 네트워크)을 지원하기 위한 IPSec용 6LowPAN 확장 기능입니다.

IoT Edge 게이트웨이(필드 게이트웨이)

TID

변조로부터 현장 게이트웨이 보호(TPM?)

스푸핑 공격은 클라우드 게이트웨이가 필드 게이트웨이와 통신하고 있다고 생각하도록 속여 정보 공개 및 데이터 변조를 초래할 수 있습니다.

메모리 암호화, TPM 사용, 인증.

IoT Edge 게이트웨이(필드 게이트웨이)

E

필드 게이트웨이에 대한 액세스 제어 메커니즘입니다.

물리적 디바이스에 대한 위협의 몇 가지 예는 다음과 같습니다.

  • 스푸핑: 공격자는 소프트웨어 또는 하드웨어 수준에서 디바이스의 암호화 키 자료를 추출한 후 키 자료가 만들어진 디바이스의 ID를 사용하여 다른 물리적 시스템 또는 가상 디바이스에 액세스할 수 있습니다.
  • 서비스 거부: 무선 주파수를 방해하거나 와이어를 절단하여 디바이스의 정상 작동 또는 통신을 불가능하게 만들 수 있습니다. 예를 들어 감시 카메라의 자체 전원 또는 네트워크 연결을 고의적으로 끊으면 감시 카메라가 데이터를 전혀 보고하지 않습니다.
  • 변조: 공격자는 디바이스에서 실행 중인 소프트웨어를 부분적으로 또는 전체적으로 교체할 수 있으며, 키 자료 또는 키 자료를 보유하는 암호화 기능을 불법 프로그램에서 사용할 수 있는 경우 교체된 소프트웨어가 디바이스의 실제 ID를 사용하도록 할 수 있습니다.
  • 변조: 빈 복도의 가시 스펙트럼 그림을 보여 주는 감시 카메라가 이러한 복도의 사진을 비추도록 변조될 수 있습니다. 연기 또는 화재 센서가 누군가가 그 아래에서 라이터를 대고 있다고 보고할 수 있습니다. 어느 경우든 디바이스가 기술적으로 시스템을 완전히 신뢰하겠지만 조작된 정보를 보고합니다.
  • 변조: 공격자는 추출된 키 자료를 사용하여 통신 경로에 있는 디바이스에서 데이터를 가로채서 숨긴 후 도난 키 자료로 인증된 거짓 데이터로 바꿀 수 있습니다.
  • 변조: 공격자는 디바이스에서 실행 중인 소프트웨어를 부분적으로 또는 전체적으로 교체할 수 있으며, 키 자료 또는 키 자료를 보유하는 암호화 기능을 불법 프로그램에서 사용할 수 있는 경우 교체된 소프트웨어가 디바이스의 실제 ID를 사용하도록 할 수 있습니다.
  • 정보 공개: 디바이스가 조작된 소프트웨어에서 실행되는 경우 조작된 소프트웨어가 권한 없는 사람에게 데이터를 유출할 수 있습니다.
  • 정보 공개: 공격자는 추출된 키 자료를 사용하여 디바이스 및 컨트롤러 또는 필드 게이트웨이나 클라우드 게이트웨이 간의 통신 경로에 자신을 삽입하여 정보를 빼낼 수 있습니다.
  • 서비스 거부: 디바이스가 꺼지거나 통신이 불가능한 모드로 전환될 수 있습니다(많은 산업용 시스템에서 의도적으로 발생).
  • 변조: 디바이스가 제어 시스템에 알려지지 않은 상태(알려진 보정 매개 변수를 벗어나는 상태)에서 작동하여 잘못 해석될 수 있는 데이터를 제공하도록 다시 구성될 수 있습니다.
  • 권한 상승: 특정 기능을 수행하는 디바이스가 강제로 다른 기능을 수행할 수 있습니다. 예를 들어 절반만 열리도록 프로그래밍된 밸브가 끝까지 열리도록 속일 수 있습니다.

통신에 대한 일반적인 위협

구성 요소

위협

마이그레이션

위험

구현

디바이스-IoT Hub

TID

트래픽을 암호화하는 (D)TLS(PSK/RSA).

디바이스 및 게이트웨이 간의 통신을 도청하거나 방해합니다.

프로토콜 수준에서 보안 설정 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다. 대부분의 경우 디바이스에서 IoT Hub로 통신이 발생합니다(디바이스에서 연결을 시작).

디바이스 간

TID

트래픽을 암호화하는 (D)TLS(PSK/RSA).

디바이스 간에 전송 중인 데이터 읽기. 데이터 변조. 새로운 연결을 통해 디바이스를 오버로드합니다.

프로토콜 수준에서 보안 설정(MQTT/AMQP/HTTP/CoAP). 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다. DoS 위협의 해결 방법은 클라우드 또는 현장 게이트웨이를 통해 디바이스를 피어링하고 네트워크에 대해 클라이언트로만 작동하게 하는 것입니다. 피어링은 게이트웨이에서 중개된 후 피어 간에 직접 연결을 초래할 수 있습니다.

외부 엔터티-디바이스

TID

외부 엔터티를 디바이스에 강력하게 페어링

디바이스에 대한 연결 도청. 디바이스와의 통신을 방해합니다.

외부 엔터티를 디바이스 NFC/Bluetooth LE에 안전하게 페어링. 물리적 디바이스의 작동 패널을 제어합니다.

IoT Edge 게이트웨이 - 클라우드 게이트웨이

TID

트래픽을 암호화하는 TLS(PSK/RSA).

디바이스 및 게이트웨이 간의 통신을 도청하거나 방해합니다.

프로토콜 수준에서 보안 설정(MQTT/AMQP/HTTP/CoAP). 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다.

디바이스-클라우드 게이트웨이

TID

트래픽을 암호화하는 TLS(PSK/RSA).

디바이스 및 게이트웨이 간의 통신을 도청하거나 방해합니다.

프로토콜 수준에서 보안 설정(MQTT/AMQP/HTTP/CoAP). 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다.

다음은 통신에 대한 위협의 몇 가지 예입니다.

  • 서비스 거부: 제한된 디바이스는 네트워크의 인바운드 연결 또는 원치 않는 데이터그램을 능동적으로 수신할 때 일반적으로 DoS 위협에 노출되는데 공격자가 동시에 여러 연결을 열고 서비스를 제공하지 않거나 느리게 서비스를 제공할 수도 있으며 또는 디바이스가 원치 않는 트래픽으로 넘쳐날 수 있기 때문입니다. 두 경우 모두 디바이스가 네트워크에서 작동할 수 없게 만드는 효과적인 방법입니다.
  • 스푸핑, 정보 공개: 제한된 디바이스와 특수 디바이스는 암호 또는 PIN 보호 같은 한 가지 보안 수단을 모든 곳에 적용하거나 신뢰할 수 있는 네트워크에 전적으로 의존하는 경우가 자주 있습니다. 다시 말해서 디바이스가 동일한 네트워크에 있으면 정보에 대한 액세스 권한을 부여하며, 해당 네트워크는 공유 키로만 보호되는 경우가 자주 있습니다. 즉, 디바이스 또는 네트워크의 공유 암호가 공개되면 디바이스를 제어하거나 디바이스에서 내보낸 데이터를 관찰할 수 있습니다.
  • 스푸핑: 공격자는 브로드캐스트를 가로채거나 부분적으로 재정의하고 발신자를 스푸핑할 수 있습니다.
  • 변조: 공격자는 브로드캐스트를 가로채거나 부분적으로 재정의하고 거짓 정보를 전송할 수 있습니다.
  • 정보 공개: 공격자는 브로드캐스트를 도청하여 승인 없이 정보를 확보할 수 있습니다.
  • 서비스 거부: 공격자는 브로드캐스트 신호를 교란하고 정보 배포를 거부할 수 있습니다.