안녕하세요.
이번 글 에서 다룰 내용은 최근 가하급수적으로 증폭하고 있는 IoT 디바이스가 통신할 때 사용하는 통신 프로토콜에 대해서 살펴 보겠습니다.

IoT 해킹 주제를 다루게 된 계기로는, i2sec 최근 국내 S모기업 IoT 모의해킹 프로젝트를 수행하게 되었고, 요즘 4차산업혁명의 주역이자 매우 Hot한 아이템이기 때문입니다.
그럼 한번 빠져 봅시다.

IoT 시스템 구성은 일반적으로 아래와 같습니다. IoTsystem
IoT 서비스를 제공해 주는 서비스 서버, 관리서버와 가스락, 도어락, 플러그, 스위치 등의 IoT 단말들
그리고, 서버와 단말의 네트워크 통신에 도움을 주는 IoT 허브와 AP로 구성되어 있습니다.

저희는 오늘 IoT 허브와 IoT 단말간 근거리 통신에 자주 사용되는 Z-Wave 취약점에 대해 살펴 보겠습니다.
IoTThings
Z-Wave 취약점 발생구간은 위 그림과 같이단말기에 직접 통신하는 구간에서 발생하며, 취약점으로는 스니핑, 인증 키 우회, 패킷 Replay Attack 등이 있습니다.

Z-Wave 자주 쓰이냐구요? 겁나 많은 IoT 디바이스들이 근거리 통신에 사용 중 입니다.
그럼 Z-Wave에 대해서 조금 살펴보죠.
Z-Wave덴마크회사인 ZensysZ-Wave 얼라이언스에서 개발한 상호운용성을 가지는 무선 통신 프로토콜로 가정 자동화와 센서 네트워크와 같은 저전력과 저 대역폭을 요구하는 장치를 위해 설계되었습니다.
Z-Wave 얼라이언스는 Z-Wave 표준에 기반한 무선 홈컨트롤 제품들을 구축하는 것에 동의하는 160개 이상의제조사들로 이루어진 컨소시엄으로 2017년 현재 1700여개의 상호운용가능한 Z-Wave 제품들과 약 7000만개가 넘는 Z-Wave 장비들이 출시되어 있습니다.참고

z-wave-1
Z-wave는 9,600bits/s, 40kbits/s 데이터 전송속도를 지원하며, 사용하는 주파수 대역은 860~920Mhz를 사용합니다.
국가별로 통신 주파수 대역의 차이가 있는데, 한국의 경우 920.9MHz, 921.MHz, 923.1MHz를 사용합니다.

주파수 전이방식은 GFSK를 이용하며, 최대 232노드를 수용하며 30~100m 거리의 근거리 통신을 가능하게 해줍니다.


Z-wave의 Structure
Controller, Node로 구성되어 있으며 제어를 하기 위해선 ID(고유 식별 정보), Home ID, Network ID, Node ID가 필요합니다. z-wave-2
Z-wave Stack
z-wave-stack
Z-wave은 총 4가지 Layer로 구성되어 있으며 디지털->아날로그 전환 해주는 Phy Layer, 충돌 회피, 저전력 운영과 관련된 MAC Layer, 전송의 신뢰성, 라우팅을 관리하는 Transport, Routing Layer, 전송방식, 명령제어를 해주는 Application Layer로 구성되어 있습니다.

Z-wave Pairing & Command
Pairing: Controller와 Slave 연결을 맺는 과정입니다. 아래 그림을 보시면 이해가 빠르실 거 같네요.
z-wave_pairing
Command: Controller가 Slave에게 명령어를 전달하는 과정입니다.
zwave_command


1편에서는 이렇게 Z-wave의 기본 원리에 대해서 살펴보았습니다.
2편에서는 대망의 기본원리의 취약점을 이용한 공격 방안에 대해 리뷰하겠습니다.
. SNS에 노출된 눈의 피로를 제 컨텐츠에 투자 해 주신 것을 감사드립니다.

###Reference