Industry Issue

스마트 홈 퍼징 테스트

Software Risk Analysis
작성자
관리자
작성일
2024-03-11 11:21
조회
92

스마트 홈 퍼징 테스트

스마트 홈은 안전 장치를 필요로 합니다.

퍼징 테스트는 무선 및 IoT 프로토콜 퍼징 테스트를 통해 스마트 기기 소프트웨어의 취약점을 찾아냅니다.



사물인터넷(IoT)이 최근 몇 년간 많은 관심을 받기는 했지만, 여러분 주변에서 무언가 바뀐 것을 눈치채셨나요? 잠깐 여러분의 집을 한 번 떠올려보세요. 커넥티드 디바이스가 몇 개나 될까요? 가장 대표적으로 무선 라우터가 있습니다. TV와 기타 오락용 디바이스는 365일, 24시간 내내 온라인 상태입니다. 무선으로 제어 가능한 조명 시스템과 일부 전기 소켓도 해당됩니다. 조명 외에 냉난방 시스템, 진공 청소기, 잔디깎이까지도 원격 제어가 가능한 기기를 구매하여 편의성을 높였을지도 모르겠네요. 집은 여러분이 안전하게 보호 받고자하는 장소이므로 CCTV 및 현관 화상 인터폰을 설치하거나 움직임, 온도, 누수, 연기 등을 감지하는 무선 센서들도 갖추어 놓았을 수 있겠네요. 아이나 애완동물이 있는 집이라면 그들의 안전을 살펴보기 위한 디바이스를 설치했을 수도 있습니다. 여러분의 집에 있는 커넥티드 디바이스는 총 몇 개인가요? 디펜직스(Defensics) 오피스의 조사에 의하면 한 가정 당 평균 21개의 커넥티드 디바이스가 있으며 최소 5개에서 최대 60개까지 보유하고 있습니다.

홈 네트워크 토폴로지

스마트 홈은 원격 모니터링과 제어가 가능한 커넥티드 가전 및 디바이스를 갖춘 집을 뜻합니다. 하지만 스마트 홈 디바이스를 정의하는 공식 목록이 없기 때문에 가정 내에 스마트 인텔리전스가 갖추어져 있고 디바이스 역시 인터넷이나 다른 디바이스와 연결되어 있음에도 많은 사람들이 홈 자동화를 위한 스마트 디바이스를 완전하게 활용하지 못하고 있습니다. 가정 내에는 보통 세 가지 유형의 커넥티드 디바이스가 있습니다.

• (무선) 라우터를 통해 인터넷에 직접 연결된 디바이스

• 인터넷에 연결되어 있는 스마트폰에 연결된 디바이스

• 다른 디바이스에 연결되어 있는 디바이스 또는 인터넷이 연결 게이트웨이에 연결되어 있는 디바이스

그림 1은 이러한 디바이스들을 종합한 홈 네트워크 토폴로지를 보여줍니다.




[그림 1] 일반적 스마트 홈 네트워크 토폴로지

스마트 디바이스는 일반적으로 디바이스 공급사의 클라우드에 연결되어 있으며, 각 공급사의 스마트폰 애플리케이션으로 디바이스를 제어하고 자동화를 구축합니다. 하지만 각 공급사의 디바이스는 서로 통신이 되지 않으며, 특정 공급사의 솔루션과만 연결이 가능하기 때문에 스마트 홈 자동화에서 문제가 발생합니다. 또한 각 디바이스 통신에는 모두 다른 무선 프로토콜이 이용됩니다. 이로 인해 가정 내 디바이스 네트워크가 확대되는 상황에서 디바이스 상호운용성 및 신뢰성 문제가 더욱 중요 해졌습니다.

집에서의 무선 프로토콜

일반적으로 스마트 디바이스의 프로토콜은 필요한 대역폭, 거리, 토폴로지를 바탕으로 결정됩니다. 작은 대역폭은 보통 전력 소비가 적으며, 배터리를 사용하는 디바이스에서 매우 중요한 부분입니다. 가장 보편적으로 사용되는 무선 프로토콜은 다음과 같습니다.

Wi-Fi/WLAN 무선랜(WLAN)은 모든 가정용 디바이스에 초고해상도 비디오 스트리밍이 가능한 대역폭을 제공합니다. 한 개의 라우터로 집 전체에 인터넷 사용이 불가능한 경우 멀티 라우터 메시(mesh) 솔루션도 사용할 수 있습니다. 고대역폭이 필요하고 전력 제한이 없는 디바이스는 대부분 커뮤니케이션 프로토콜을 위해 WLAN을 사용합니다.

Bluetooth 블루투스의 강점은 모든 스마트폰이 프로토콜을 지원하기 때문에 블루투스를 이용하면 대부분의 디바이스가 스마트폰과 직접 통신할 수 있다는 것입니다. 블루투스 디바이스는 클래식(Classic)과 저전력(Le)이라는 두 가지 유형이 있습니다. 블루투스 클래식은 스피커를 통한 음악 재생 등 오디오에 대부분 사용됩니다. 저전력 블루투스는 모두에게 데이터를 송출하는 온도 모니터링 센서나 스마트폰에 연결된 헬스 및 웨어러블 디바이스 등 센서에 더 보편적으로 사용됩니다. 또한 저전력 블루투스는 메시(mesh) 네트워크를 지원하며 조명 솔루션도 사용 가능합니다. 블루투스를 이용하면 스마트폰 보조 방식을 통해 최초 설치 이후에도 홈 네트워크의 디바이스 설치 및 환경 설정이 가능하며, 해당 디바이스는 네트워크 통신에 여러 다른 프로토콜을 사용합니다.

Zigbee 저비용, 저전력 메시(mesh) 네트워크인 지그비는 조명, 플러그, 보안 센서, 잠금장치 등의 애플리케이션의 제어 및 모니터링에 사용됩니다. 인터넷으로 통신하는 WLAN 디바이스나 스마트폰으로 통신하는 블루투스 디바이스와는 달리 지그비 디바이스는 서로 통신합니다. 지그비 디바이스가 인터넷과 통신하려면 게이트웨이 디바이스가 필요합니다.

Thread 스레드 프로토콜은 지그비와 동일한 목적으로 사용되며 가장 큰 차이점은 스레드 디바이스는 IPv6 주소를 사용하며 네이티브 IP를 통해 인터넷에 단방향 (또는 양방향)으로 통신합니다. 이러한 이유로 스레드는 새로운 매터(Matter) 표준에서 하위 계층 전송 프로토콜에 사용됩니다.

매터(Matter) 스마트 홈 표준

매터 스마트 홈 표준은 스마트 홈 산업에서 추진 중인 스마트 홈 기술 표준으로 스마트 홈 디바이스, 모바일 앱, 클라우드 서비스 전반에 걸쳐 보안과 신뢰성을 바탕으로 한 원활한 통신 제공을 목표로 합니다. 매터 표준은 새로운 무선 기술을 정의하기보다는 이더넷(Ethernet), WLAN, 스레드라는 선택된 전송 레이어 위의 IP 수준 표준화입니다. 매터 지원 디바이스의 설치에 블루투스를 사용하는 것 외에 향후 저전력 블루투스도 포함될 가능성이 높습니다.

퍼징 테스트로 안전하고 신뢰성 있는 통신

최신 디지털 기기와 관련해서는 신뢰성 문제를 용인할 수 있지만, 전구에는 신뢰성 문제가 발생해서는 안 됩니다. 홈 네트워크에서의 안전하고 신뢰성 있는 통신을 위해서는 확인할 내용이 아주 많습니다. 한 가지 알아야할 점은 가정의 점점 더 많은 커넥티드 디바이스 전파 신호가 벽을 넘어 간다는 것입니다. 일반적으로 여러분의 디바이스가 홈 자동화를 위해 이웃의 디바이스와 통신하지 않더라도 무선망은 겹칩니다. 이 경우 공격자가 겹치는 네트워크 간에 코드를 전파할 방법을 찾게 되면 보안 문제가 발생할 가능성도 있습니다. 확실한 것은 이것이 신뢰성 있는 통신에는 문제가 된다는 것입니다.

많은 디바이스 기업들이 상호운용성 향상을 위해 프로토콜 기반 인증 프로그램을 적용하고 있습니다. 이러한 인증 테스트는 주로 기능 테스트로 유효한 입력을 제공하여 출력을 올바른 값 또는 기대 값과 비교합니다. 기능 테스트는 정상적인 상황에서 모든 것이 제대로 작동한다는 것을 입증해줍니다. 하지만 누군가 전혀 말이 되지 않거나 예상치 못한 입력을 제공하면 어떤 일이 발생할까요?

퍼징 테스트 또는 퍼징은 유효하지 않거나 비정상적, 혹은 예상치 못한 입력을 시스템에 주입해 소프트웨어 결함과 취약점을 탐지하여 기능 테스트를 보완하는 방식으로 사용되는 자동화된 소프트웨어 테스트 방법입니다. 퍼징은 테스트 대상의 보안, 신뢰성, 성능 및 기타 문제를 찾아내는 입증된 테스트입니다. 안전하고 신뢰성 있는 통신 디바이스를 갖고자 한다면 퍼징의 힘이 필요합니다.

저희 디펜직스(Defensics)팀은 15년 이상의 무선 네트워크 퍼징 경험을 보유하고 있습니다. 저희는 다수의 취약점을 발견하고 보고했지만 인증되지 않은 단일 프로토콜 메시지가 테스트 대상에 오류를 일으키는 경우 더 많은 문제점이 발생하는 것을 확인했습니다. 이러한 오류가 발생하면 스스로 재부팅을 하는 디바이스도 있지만, 전기 케이블을 제거해야 정상 상태로 돌아가는 디바이스도 있습니다. 스마트 홈 디바이스는 접근성이 떨어지는 곳에 위치해 있거나 디바이스의 개수가 매우 많을 수도 있습니다. 예를 들어, 저희는 퍼징으로 인해 스마트 전구가 메시(mesh) 네트워크에서 떨어지는 것을 보았고, 이 경우 여러분은 집 안의 모든 전구에 대한 네트워크를 재구축 해야 합니다. 최악의 경우에는 이 퍼징 데이터가 네트워크 보호 메커니즘을 우회하여 네트워크에 데이터를 주입할 수도 있습니다. 이 경우 악의적인 공격자들이 길거리나 공중 드론을 이용해 무선 네트워크를 쉽게 교란할 수 있으며, 최악의 경우 네트워크를 이용할 수도 있습니다. 공격자는 정보 유출 등 무선 프로토콜 퍼징을 통해 발견되는 취약점을 이용해 스마트 디바이스로부터 홈 네트워크에 대한 액세스를 얻은 후 인터넷으로부터 백도어 액세스를 제공할 수 있습니다.

예상치 못한 조건에서의 강건성(Robustness)

비정상적 무선 프레임의 원인은 사이버보안 공격일 수도 있지만, 주변 디바이스가 프로토콜 사양을 다르게 해석하면서 코딩 에러, 하드웨어 오작동으로 인해 발생하기도 합니다. 잘못된 데이터뿐 아니라 프로토콜 데이터를 다루는 코드의 오프 바이 원(off-by-one)에러 등 로직 에러도 문제를 발생시킵니다. 모델 기반의 프로토콜 퍼징 테스트 도구는 프로토콜 내 각 영역에 대해 모든 체크섬, 메시지 길이, 프로토콜 규격에 따라 행해진 암호화를 이용해 최소값 및 최대값을 테스트할 것입니다.

추가적 기능성 제공을 위해 공급사 고유의 데이터를 프로토콜에 반드시 추가해야 하는 경우가 많습니다. 일부 프로토콜은 이를 위한 메커니즘을 제공하기도 하지만, 특정 공급사의 데이터는 유효한 프로토콜 메시지에 덧붙여 전송하는 피기백(piggybacked) 방식을 이용하기도 하며, 프로토콜 보존 블록(protocol-reserved blocks)이나 유효한 구조의 끝에 추가될 수도 있습니다. 보통 다른 디바이스들이 추가 데이터를 인식 또는 처리하지 못하기 때문에 추가 데이터는 문제가 되지 않습니다. 하지만 두 공급사 모두 피기백 방식을 이용하는 경우 유효하지 않은 데이터를 다루게 될 수도 있습니다. 프로토콜 사양이 업데이트 되는 경우에도 동일한 문제가 발생할 수 있습니다. 이 경우 추가 데이터가 업데이트 된 프로토콜 사양의 새로운 유효 데이터 영역과 중복됩니다. 확장을 하지 않는 경우에도 다른 프로토콜 버전들과 적응 에러로 인해 네트워크에 의미 없는 데이터를 나타나게 할 위험이 증가합니다.

또 다른 예시는 하드웨어 오작동입니다. 온도, 습도, 기압을 보고하는 센서의 경우 각 항목은 32비트의 값을 갖습니다. 하나의 메세지는 세 개의 값을 모두 포함해야 합니다. 기압 감지부가 갑자기 응답을 멈추었다고 가정해보겠습니다. 센서 코드는 네트워크 0x00000000, 0xFFFFFFFF에 보고하거나 해당 값을 메시지에서 삭제할 수 있습니다. 센서 값을 다루는 코드가 모든 가능성에 대비되었나요? 기압은 0이 될 수 없으므로 0으로 나누기 오류(devide-by-zero crash)가 발생했을 가능성이 있습니다.

전형적인 실수로 부호 없는 최대값이 예상치 못한 상황을 초래할 때 부호 없는 값을 부호 있는 유형으로 다루는 경우가 있습니다. 반복되거나 누락된 데이터 역시 코드에서 예상치 못한 상황을 초래할 수 있습니다. 프로토콜을 이해하는 퍼저는 네트워크에 잘못된 센서가 나타나기 전에 이 모든 조건들을 테스트할 수 있습니다.

아래 테이블에서 최대값은 두 가지 문제를 발생시킬 수 있습니다.

1. 값이 부호 있는 변수로 읽히고 부정 응답을 얻습니다.

2. 값이 계산에 사용되어 정수 오버플로우(value=VALUE_MAX+1) 또는 정수 언더플로우(value=VALUE_MIN-1)가 발생합니다.


업계에서는 이미 모든 디바이스가 서로 원활하게 통신할 수 있는 환경을 구축하기 위한 노력을 기울이고 있습니다. 이는 소비자들의 편의성은 높여주지만 다양한 공급사들의 디바이스가 혼재하는 대형 네트워크가 초래될 수 있습니다. 디바이스 입장에서는 동일 네트워크에 있는 디바이스의 퀄리티를 신뢰할 수 없습니다. 유명한 브랜드가 가벼운 게이트웨이 스타팅 키트를 내놓고 소비자들이 이를 브랜드가 없는 디바이스로 확장한다고 생각해보세요. 브랜드의 디바이스는 프로토콜 내 예상치 못한 데이터로 인해 불안정해지지만, 브랜드가 없는 디바이스는 완벽히 정상 작동합니다. 여러 다른 디바이스가 혼재하는 네트워크에서의 모든 예상치 못한 상황에서도 디바이스가 잘 작동할 수 있도록 하는 것은 중요합니다.

디펜직스(Defensics) 퍼징 테스트

디펜직스(Defensics)는 광범위하고 강력하며 자동화된 블랙박스 솔루션으로 대부분의 스마트 홈 무선 및 IoT 프로토콜을 지원하며, 추가적으로 300개의 다른 프로토콜도 지원합니다. 디펜직스(Defensics)는 여러분이 테스트하는 프로토콜을 알고 있는 인텔리전스 퍼저입니다. 디펜직스(Defensics)의 모든 무선 테스트는 소스 코드에 접근할 필요 없이 디바이스에 대해 OTA(over-the-air)방식으로 시행할 수 있습니다. 퍼징 테스트를 CI/CD 파이프라인에 통합하려는 경우 디펜직스는 젠킨스(Jenkins) 플러그인, CLI, REST API를 통해 헤드리스 테스트 통합을 허용합니다. 세 가지 통합 인터페이스 모두 퍼저 환경 설정, 테스트 실시 및 진행 상황 추적, 테스트 보고서 내보내기와 같은 기본 업무 흐름을 허용합니다.

안전하고 신뢰성 있는 스마트 홈 디바이스를 원하신다면 프로토콜 퍼징 테스트가 반드시 필요합니다. 디펜직스(Defensics)와 함께 홈 디바이스의 안전성과 신뢰성을 구축해보세요.

 

Defensics 더 알아보기 CLICK!!!

원문 게시일: 2022.09.08

원문 기고자: Kari Hulkko

출처: https://www.synopsys.com/blogs/software-security/smart-home-fuzzing-defensics.html

/about-us/inquiry/
https://www.youtube.com/@softflow2018
https://blog.naver.com/softflow_group
#