IoT 솔루션에 대한 보안 아키텍처

IoT 솔루션을 디자인하고 설계할 때는 잠재적인 위협을 이해하고 적절한 방어를 포함하는 것이 중요합니다. 공격자가 시스템을 어떻게 손상시킬 수 있는지 이해하면 처음부터 적절한 완화 조치가 이루어지도록 하는 데 도움이 됩니다.

위협 모델링

Microsoft는 IoT 솔루션 디자인의 일환으로 위협 모델링 프로세스를 사용하는 것을 권장합니다. 위협 모델링 및 보안 개발 수명 주기에 대해 잘 모르는 경우 다음을 참조하세요.

IoT의 보안

위협 모델링 연습의 일환으로 IoT 아키텍처를 여러 영역으로 나눠 보면 도움이 됩니다.

  • 디바이스
  • 필드 게이트웨이
  • 클라우드 게이트웨이
  • 서비스

보통 영역마다 고유한 데이터, 인증, 권한 부여 요구 사항이 있습니다. 영역은 손상을 격리하고 하위 신뢰 영역이 상위 신뢰 영역에 미치는 영역을 제한하는 데에도 사용할 수 있습니다.

각 영역은 다음 다이어그램에 빨간색 점선으로 표시된 것처럼 신뢰 경계로 구분됩니다. 이는 한 소스에서 다른 소스로 데이터가 전환되는 것을 나타냅니다. 이 전환 중에 데이터는 다음과 같은 위협을 마주할 수 있습니다.

  • 스푸핑
  • 변조
  • 거부
  • 정보 공개
  • 서비스 거부
  • 권한 상승

자세한 내용은 STRIDE 모델을 참조하세요.

A diagram that shows the zones and trust boundaries in a typical IoT solution architecture.

STRIDE를 사용하여 각 영역 내의 각 구성 요소에 대한 위협을 모델링할 수 있습니다. 다음 섹션에서는 각 구성 요소와 특정 보안 우려 및 필요한 해결 방법에 대해 좀 더 자세히 설명하겠습니다.

이 문서의 나머지 부분에서는 이러한 영역 및 구성 요소에 대한 위협과 완화에 대해 자세히 설명합니다.

디바이스 영역

디바이스 환경은 디바이스에 대한 물리적인 액세스 및 로컬 네트워크 디지털 액세스가 가능한 디바이스 주위의 공간입니다. 로컬 네트워크는 공용 인터넷과 구별되고 격리되어 있지만 잠재적으로 연결될 수 있는 것으로 간주됩니다. 디바이스 환경에는 디바이스의 피어 투 피어 통신을 허용하는 모든 단거리 무선 기술이 포함됩니다. 로컬 네트워크처럼 느껴지도록 하는 네트워크 가상화 기술은 포함되지 않습니다. 두 디바이스가 피어 투 피어 통신 관계를 맺는 경우 공용 네트워크 공간을 통해 통신해야 하는 공용 연산자 네트워크는 포함되지 않습니다.

필드 게이트웨이 영역

필드 게이트웨이는 통신 인에이블러 역할을 하고 잠재적으로는 디바이스 제어 시스템과 디바이스 데이터 처리 허브 역할을 하는 디바이스, 어플라이언스 또는 범용 서버 컴퓨터 소프트웨어입니다. 필드 게이트웨이 영역에는 필드 게이트웨이 그 자체와 여기에 연결된 모든 디바이스가 포함됩니다. 전용 데이터 처리 시설 외부에서 수행되는 필드 게이트웨이 작업은 일반적으로 위치 제한이 있고, 물리적 침입의 가능성이 있고, 운영 중복성이 제한됩니다. 필드 게이트웨이는 일반적으로 공격자가 물리적 액세스 권한을 얻은 경우 물리적으로 방해할 수 있는 요소입니다.

필드 게이트웨이는 액세스 및 정보 흐름을 관리하는 데 있어 적극적인 역할을 수행한다는 점에서 트래픽 라우터와 다릅니다. 현장 게이트웨이에는 두 개의 고유한 표면 영역이 있습니다. 하나는 연결된 디바이스와 면하며 영역 내부를 나타냅니다. 다른 하나는 모든 외부 당사자와 면하며 영역 가장자리입니다.

클라우드 게이트웨이 영역

클라우드 게이트웨이는 여러 사이트에 배포된 디바이스 또는 필드 게이트웨이 간의 원격 통신을 가능하게 하는 시스템입니다. 클라우드 게이트웨이는 일반적으로 클라우드 기반 제어 및 데이터 분석 시스템 또는 이러한 시스템의 페더레이션을 지원합니다. 경우에 따라 클라우드 게이트웨이가 태블릿 또는 휴대폰 같은 터미널에서 특수 디바이스로의 액세스를 즉시 허용할 수 있습니다. 클라우드 게이트웨이 영역에서 운영 조치는 대상 지정 물리적 액세스를 방지하지만 반드시 퍼블릭 클라우드 인프라에 공개되지는 않습니다.

클라우드 게이트웨이는 네트워크 가상화 오버레이에 매핑되어 클라우드 게이트웨이 및 모든 연결된 디바이스 또는 필드 게이트웨이를 다른 네트워크 트래픽으로부터 분리할 수 있습니다. 클라우드 게이트웨이 자체는 디바이스 제어 시스템도 아니고 디바이스 데이터를 처리하거나 저장하는 시설도 아닙니다. 이러한 시설은 클라우드 게이트웨이와 연결됩니다. 클라우드 게이트웨이 영역은 모든 현장 게이트웨이 그리고 해당 게이트웨이에 직접적으로 또는 간접적으로 연결된 디바이스와 함께 클라우드 게이트웨이 자체를 포함합니다. 영역의 가장자리는 모든 외부 당사자가 이용하여 통신하는 고유한 노출 영역입니다.

서비스 영역

이 컨텍스트에서 서비스는 필드 또는 클라우드 게이트웨이를 통해 디바이스와 연결되는 모든 소프트웨어 구성 요소 또는 모듈입니다. 서비스는 디바이스에서 데이터를 수집하고, 해당 디바이스에 명령을 내리고 제어할 수 있습니다. 서비스는 다음을 위해 게이트웨이 및 기타 하위 시스템에 대한 ID 역할을 하는 중재자입니다.

  • 데이터 저장 및 분석
  • 데이터 인사이트 또는 일정에 따라 디바이스에 명령 발행
  • 권한 있는 최종 사용자에게 정보 및 제어 기능 공개

IoT 디바이스

보통 IoT 디바이스는 간단한 온도 센서부터 내부에 부품 수천 개가 들어가는 복잡한 공장 생산 라인에 이르는 다양한 특수 용도의 디바이스입니다. IoT 디바이스 기능의 예시는 다음과 같습니다.

  • 환경 조건 측정 및 보고
  • 밸브 회전
  • 서보 제어
  • 알람 울리기
  • 조명 켜거나 끄기

이러한 디바이스의 용도는 디바이스의 기술적 디자인, 그리고 생산 및 예정된 수명 기간 작동에 사용 가능한 예산을 결정합니다. 이러한 요소가 결합되어 사용 가능한 운영 에너지 예산, 실제 설치 공간, 그리고 사용 가능한 스토리지, 컴퓨팅, 보안 기능이 제한됩니다.

자동화되거나 원격으로 제어되는 IoT 디바이스에서 문제가 발생할 수 있는 부분은 다음과 같습니다.

  • 물리적 결함
  • 제어 논리 결함
  • 고의적인 무단 침입 및 조작

이러한 오류는 생산 부지가 파괴되거나, 건물이 소실되거나, 부상과 사망이 발생하는 등 심각한 결과로 이어질 수 있습니다. 따라서 무언가를 이동하거나 센서 데이터를 보고하여 이동하는 명령을 생성하는 디바이스의 보안 기준은 높습니다.

디바이스 제어 및 디바이스 데이터 상호 작용

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

상호 작용 패턴을 살펴보면서 디바이스 제어디바이스 데이터도 동일한 수준의 주의를 기울여 살펴보세요. 디바이스 제어는 디바이스의 동작을 수정하려는 의도로 디바이스에 제공된 모든 정보를 가리킵니다. 디바이스 데이터는 디바이스가 모든 다른 당사자에게 내보내는 상태 및 관찰된 디바이스 환경 상태에 대한 정보를 가리킵니다.

Azure IoT 참조 아키텍처에 대한 위협 모델링

이 섹션에서는 Azure IoT 참조 아키텍처를 사용하여 IoT에 대한 위협 모델링을 수행하고 확인된 위협을 해결하는 방법을 보여 드리겠습니다.

Diagram that shows the Azure IoT reference architecture.

다음 다이어그램은 데이터 흐름 다이어그램 모델을 사용하여 참조 아키텍처를 간단히 보여줍니다.

A data flow diagram derived from the Azure IoT reference architecture.

아키텍처는 디바이스와 필드 게이트웨이 기능을 분리합니다. 이 방법을 통해 더 안전한 필드 게이트웨이 디바이스를 사용할 수 있습니다. 필드 게이트웨이 디바이스는 보안 프로토콜을 사용하여 클라우드 게이트웨이와 통신할 수 있습니다. 여기에는 일반적으로 자동 온도 조절기와 같은 간단한 디바이스보다 더 큰 처리 능력이 필요합니다. 다이어그램의 Azure 서비스 영역에서 Azure IoT Hub 서비스는 클라우드 게이트웨이입니다.

앞에서 설명한 아키텍처를 바탕으로, 다음 섹션에서는 몇 가지 위협 모델링 예제를 보여 줍니다. 이러한 예제에서는 다음과 같은 위협 모델의 핵심 요소를 집중적으로 다룹니다.

  • 프로세스
  • 통신
  • 스토리지

프로세스

다음은 프로세스 범주의 위협에 대한 몇 가지 예입니다. 위협은 STRIDE 모델에 따라 분류됩니다.

스푸핑: 공격자가 소프트웨어 또는 하드웨어 수준에서 디바이스의 암호화 키를 추출할 수 있습니다. 그런 다음, 공격자는 해당 키를 사용하여 다른 물리적 디바이스 또는 가상 디바이스에서 원래 디바이스의 ID로 시스템에 액세스합니다.

서비스 거부: 무선 주파수를 방해하거나 와이어를 절단하여 디바이스의 정상 작동 또는 통신을 불가능하게 만들 수 있습니다. 예를 들어 감시 카메라의 자체 전원 또는 네트워크 연결을 고의적으로 끊으면 감시 카메라가 데이터를 전혀 보고할 수 없습니다.

변조: 공격자가 디바이스의 소프트웨어를 부분적으로 또는 완전히 교체할 수 있습니다. 디바이스의 암호화 키를 공격자 코드에서 사용할 수 있는 경우 해당 디바이스의 ID를 사용할 수 있습니다.

변조: 빈 복도의 가시 스펙트럼 화면을 보여주는 감시 카메라가 동일한 복도의 사진을 비추도록 변조될 수 있습니다. 연기 또는 화재 센서가 누군가가 그 아래에서 라이터를 대고 있다고 보고할 수 있습니다. 어느 경우든 디바이스가 기술적으로 시스템을 완전히 신뢰하겠지만 조작된 정보를 보고합니다.

변조: 공격자가 추출된 암호화 키를 사용하여 디바이스에서 데이터를 가로채서 숨긴 후, 훔친 키로 인증된 거짓 데이터로 바꿀 수 있습니다.

정보 공개: 디바이스가 조작된 소프트웨어에서 실행되는 경우 조작된 소프트웨어가 권한 없는 사람에게 데이터를 유출할 수 있습니다.

정보 공개: 공격자가 추출된 암호화 키를 사용하여 디바이스 및 필드 게이트웨이나 클라우드 게이트웨이 간의 통신 경로에 코드를 삽입해 정보를 빼낼 수 있습니다.

서비스 거부: 디바이스가 꺼지거나 통신이 불가능한 모드로 전환될 수 있습니다(많은 산업용 컴퓨터에서 의도적으로 발생).

변조: 디바이스가 제어 시스템에 알려지지 않은 상태(알려진 보정 매개 변수를 벗어나는 상태)에서 작동하여 잘못 해석될 수 있는 데이터를 제공하도록 다시 구성될 수 있습니다.

권한 상승: 특정 기능을 수행하는 디바이스가 강제로 다른 기능을 수행할 수 있습니다. 예를 들어 절반만 열리도록 프로그래밍된 밸브가 끝까지 열리도록 속일 수 있습니다.

스푸핑/변조/부인: 보안이 설정되지 않으면(소비자 원격 제어가 가능한 경우는 거의 없음) 공격자가 디바이스 상태를 익명으로 조작할 수 있습니다. 좋은 예시로는 어떤 TV든 끌 수 있는 리모컨을 들 수 있습니다.

다음 표에서는 이러한 위협의 완화 예제를 보여 줍니다. 위협 열의 값은 약어입니다.

  • 스푸핑(S)
  • 변조(T)
  • 부인(R)
  • 정보 공개(I)
  • 서비스 거부(D)
  • 권한 상승(E)
구성 요소 위협 완화 위험 구현
디바이스 S 디바이스에 ID를 할당하고 디바이스 인증 디바이스 또는 디바이스 일부를 다른 디바이스로 대체합니다. 올바른 디바이스와 통신하고 있는지 어떻게 알 수 있을까요? TLS(전송 계층 보안) 또는 IPSec을 사용하여 디바이스를 인증합니다. 인프라가 전체 비대칭 암호화를 처리할 수 없는 PSK(미리 공유한 키)를 해당 디바이스에서 사용할 수 있도록 지원해야 합니다. Microsoft Entra ID인 OAuth를 사용합니다.
TRID 예를 들어, 디바이스에서 키 및 기타 암호화 자료를 추출할 수 없도록 하여 디바이스에 변조 방지 메커니즘을 적용합니다. 누군가가 디바이스를 변조(물리적 간섭)할 위험은 남아 있습니다. 디바이스가 변조되지 않았는지 어떻게 확인할 수 있을까요? 가장 효과적인 완화 조치는 TPM(신뢰할 수 있는 플랫폼 모듈)입니다. TPM은 특별한 온칩 회로에 키를 저장합니다. 온칩 회로에 저장된 키는 읽기는 불가능하고 해당 키를 사용하는 암호화 작업에만 사용할 수 있습니다. 디바이스의 메모리 암호화. 디바이스의 키 관리. 코드에 서명.
E 디바이스의 액세스 제어. 권한 부여 체계. 디바이스가 외부 원본 또는 심지어 손상된 센서의 명령에 따라 개별 작업을 수행할 수 있도록 허용하면 공격이 작업을 수행할 수 있습니다. 만약 허용하지 않으면 공격이 작업에 액세스할 수 없습니다. 디바이스에 대한 권한 부여 체계를 보유합니다.
현장 게이트웨이 S 클라우드 게이트웨이(인증서 기반, PSK, 클레임 기반 등)에 대해 필드 게이트웨이를 인증합니다. 누군가가 현장 게이트웨이를 스푸핑할 수 있다면 현장 게이트웨이가 모든 디바이스로 제공될 수 있습니다. TLS RSA/PSK, IPSec, RFC 4279. 디바이스의 모든 일반적인 키 스토리지 및 증명 문제를 해결하는 가장 좋은 방법은 TPM 사용입니다. WSN(무선 센서 네트워크)을 지원하기 위한 IPSec용 6LowPAN 확장 기능입니다.
TRID 변조로부터 현장 게이트웨이 보호(TPM?) 클라우드 게이트웨이가 필드 게이트웨이와 통신 중이라고 믿도록 하는 스푸핑 공격은 정보 공개 및 데이터 변조로 이어질 수 있습니다. 메모리 암호화, TPM, 인증
E 현장 게이트웨이에 대한 액세스 제어 메커니즘

통신

다음은 통신 범주의 위협에 대한 몇 가지 예입니다. 위협은 STRIDE 모델에 따라 분류됩니다.

서비스 거부: 제한된 디바이스는 일반적으로 네트워크의 인바운드 연결 또는 원치 않는 데이터그램을 능동적으로 수신할 때 DoS 위협에 노출됩니다. 공격자가 동시에 여러 연결을 열고 서비스를 제공하지 않거나, 느리게 서비스하거나, 디바이스가 원치 않는 트래픽으로 넘치도록 할 수 있습니다. 두 경우 모두 디바이스가 네트워크에서 작동할 수 없게 만드는 효과적인 방법입니다.

스푸핑, 정보 공개: 제한된 디바이스 및 특수 용도 디바이스에는 암호 또는 PIN 보호와 같은 일체형 보안 기능이 있는 경우가 많습니다. 경우에 따라 이러한 기능은 네트워크를 전적으로 신뢰하고 동일한 네트워크에 있는 모든 디바이스 정보에 대한 액세스 권한을 부여합니다. 공개된 공유 키로 네트워크가 보호되는 경우 공격자는 디바이스를 제어하거나 디바이스가 전송하는 데이터를 관찰할 수 있습니다.

스푸핑: 공격자가 브로드캐스트를 가로채거나 부분적으로 재정의하고 발신자를 스푸핑할 수 있습니다.

변조: 공격자가 브로드캐스트를 가로채거나 부분적으로 재정의하고 잘못된 정보를 보낼 수 있습니다.

정보 공개: 공격자가 브로드캐스트를 도청하여 권한 없이 정보를 확보할 수 있습니다.

서비스 거부: 공격자가 브로드캐스트 신호를 교란하고 정보 배포를 거부할 수 있습니다.

다음 표에서는 이러한 위협의 완화 예제를 보여 줍니다.

구성 요소 위협 완화 위험 구현
디바이스 IoT Hub TID 트래픽을 암호화하는 (D)TLS(PSK/RSA) 디바이스와 게이트웨이 간의 통신을 도청 또는 방해 프로토콜 수준에서 보안 설정 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다. 대부분의 경우 디바이스에서 IoT Hub로 통신이 발생합니다(디바이스에서 연결을 시작).
디바이스 간 TID 트래픽을 암호화하는 (D)TLS(PSK/RSA). 디바이스 간에 전송 중인 데이터 읽기. 데이터 변조. 새 연결로 디바이스를 오버로드 프로토콜 수준에서 보안 설정(MQTT/AMQP/HTTP/CoAP). 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다. DoS 위협의 해결 방법은 클라우드 또는 현장 게이트웨이를 통해 디바이스를 피어링하고 네트워크에 대해 클라이언트로만 작동하게 하는 것입니다. 게이트웨이가 피어링을 중개한 후 피어 간에 직접 연결이 있을 수 있습니다.
외부 엔터티 디바이스 TID 외부 엔터티를 디바이스에 강력하게 페어링 디바이스에 대한 연결 도청. 디바이스와의 통신 방해 외부 엔터티를 디바이스 NFC/Bluetooth LE에 안전하게 페어링. 물리적 디바이스의 작동 패널을 제어합니다.
현장 게이트웨이 클라우드 게이트웨이 TID 트래픽을 암호화하는 TLS(PSK/RSA). 디바이스와 게이트웨이 간의 통신을 도청 또는 방해 프로토콜 수준에서 보안 설정(MQTT/AMQP/HTTP/CoAP). 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다.
디바이스 클라우드 게이트웨이 TID 트래픽을 암호화하는 TLS(PSK/RSA). 디바이스와 게이트웨이 간의 통신을 도청 또는 방해 프로토콜 수준에서 보안 설정(MQTT/AMQP/HTTP/CoAP). 사용자 지정 프로토콜을 사용하는 경우 프로토콜을 보호하는 방법을 파악해야 합니다.

스토리지

다음 표에서는 스토리지 위협의 완화 예제를 보여 줍니다.

구성 요소 위협 완화 위험 구현
디바이스 스토리지 TRID 스토리지 암호화, 로그 서명 스토리지의 데이터를 읽고 원격 분석 데이터를 변조합니다. 큐에 대기 중이거나 캐시된 명령 제어 데이터 변조. 로컬 큐에 대기 중이거나 캐시 중에 구성 또는 펌웨어 업데이트 패키지가 변조되면 OS 및/또는 시스템 구성 요소의 손상으로 이어질 수 있음 암호화, MAC(메시지 인증 코드) 또는 디지털 서명. 가능하다면 리소스 ACL(액세스 제어 목록) 사용 권한을 통해 강력한 액세스 제어.
디바이스 OS 이미지 TRID OS 변조/OS 구성 요소 교체 읽기 전용 OS 파티션, 서명한 OS 이미지, 암호화
현장 게이트웨이 스토리지(데이터를 큐에 대기) TRID 스토리지 암호화, 로그 서명 스토리지의 데이터를 읽고, 원격 분석 데이터를 변조하고, 큐에 대기 중이거나 캐시된 명령 제어 데이터를 변조합니다. 로컬 큐에 대기 중이거나 캐시 중에 구성 또는 펌웨어 업데이트 패키지(디바이스 또는 현장 게이트웨이에 사용될)변조되면 OS 및/또는 시스템 구성 요소의 손상으로 이어질 수 있음 BitLocker
현장 게이트웨이 OS 이미지 TRID OS 변조/OS 구성 요소 교체 읽기 전용 OS 파티션, 서명한 OS 이미지, 암호화

다음 단계

IoT 보안에 대해 자세히 알아보려면 다음을 참조하세요.