
조작된 펌웨어 주입을 통한 Belkin 스마트 플러그 DoS
[설명] Belkin Wemo Smart Plug WSP080 v1.2의 Device Firmware Update 프로세스 중 펌웨어 서명 검증이 올바르지 않아 공격자가 조작된 펌웨어 파일을 통해 서비스 거부(DoS)를 유발할 수 있습니다.
[추가 정보] Wemo 스마트 플러그의 펌웨어를 모바일 애플리케이션을 통해 업데이트할 때, 스마트 플러그 펌웨어 바이너리의 펌웨어 서명이 유효하지 않으면 Wemo 스마트 플러그가 응답을 중지하게(벽돌이 되어) 만들 수 있음을 발견했습니다.
우리는 Wemo Android 앱(com.belkin.wemoandroid)을 악용하여 수정된 펌웨어를 Wemo Smart Plug에 주입합니다. 원본 펌웨어는 다음 위치에 있습니다: http://app.xbcs.net/firmware/Wemo-RTOS/715-f30e070f6/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc. 우리는 Android Volley 라이브러리의 onResponse 메서드에 코드를 주입하여 Wemo 앱에서 이 URL을 변경합니다. 우리는 1바이트를 수정한 바이너리를 가리키도록 URL을 변경합니다. 구체적으로 다음과 같이 바이너리를 수정합니다: @00124C90 (펌웨어 파일 끝에서 4번째 줄) A3 E0 49 D5를 A3 E0 50 D5로 변경.
우리는 스마트 플러그로 향하는 네트워크 트래픽을 가로채어 수정된 펌웨어가 기기에 전송되는 것을 확인합니다. 스마트 플러그가 수정된 펌웨어를 수신한 후에는 플러그가 응답을 중지하고 모바일 애플리케이션으로 재설정하거나 감지할 수 없게 됩니다.
[취약점 유형] 서비스 거부(Denial of Service)
[제품 공급업체] Belkin
[영향받는 제품 코드 베이스] Wemo Smart Plug WSP080 - Wemo Android App (com.belkin.wemoandroid) (1.2)
[영향받는 구성 요소] http://app.xbcs.net/firmware/Wemo-RTOS/715-f30e070f6/WEMO_WW_4.00.20111600.PVT-RTOS-SNSV4_tz.bin.enc
[공격 유형] 원격(Remote)
[공격 벡터] 이 공격은 펌웨어 바이너리가 Smart Plug로 전달되는 과정의 어느 지점에서든 펌웨어 바이너리의 최소 1바이트만 수정함으로써 수행될 수 있습니다. 이는 펌웨어가 모바일 기기 또는 MQTT 서버로 다운로드될 때나 어떤 네트워크에서든 전송 중일 때 수행될 수 있습니다.
https://www.computer.org/csdl/proceedings-article/eurosp/2023/651200b047/1OFthXNYuRy https://research.utwente.nl/en/publications/aot-attack-on-things-a-security-analysis-of-iot-firmware-updates