UART 기반 임베디드 펌웨어 획득 연구
UART 연결과 방어 기법을 분석해 임베디드 장비에서 펌웨어를 획득하는 방법을 연구했습니다.
작업 요약
UART 연결 방법 연구 · 학술대회 발표
UART로 실기기의 펌웨어에 접근했습니다
펌웨어 분석은 파일을 얻는 순간부터 시작됩니다. UART 연구는 취약점 분석 이전에, 제조사 방어 기법을 어떻게 넘어 실제 펌웨어에 접근할 수 있는지를 다룬 초기 연구입니다.
실기기 검증을 넣은 이유는 제안한 연결 방법으로 실제 장비에 접근할 수 있는지 확인하기 위해서였습니다. 이후 퍼징 연구로 이어지는 출발점이 된 작업입니다.
문제
IoT·임베디드 장비가 늘어나면서 각 기기는 잠재적 취약점을 품은 펌웨어를 탑재한다. 펌웨어를 분석하려면 먼저 기기에서 펌웨어를 획득해야 하고 그러려면 임베디드 시스템을 PC에 물리적으로 연결해야 한다.
UART(Universal Asynchronous Receiver/Transmitter)는 가장 접근성이 높은 연결 수단이지만 최근 제조사들이 하드웨어·소프트웨어 양쪽에서 UART 접근을 점점 더 강하게 차단하고 있어 펌웨어 획득이 어려워지는 것이 핵심 문제였다.
접근 (한 일)
UART의 기본 구조(TX·RX·VCC·GND 4개 핀, USB-to-TTL 모듈·점퍼 케이블·터미널 소프트웨어 사용)를 정리한 뒤, 실제 펌웨어 획득 과정에서 마주치는 제조사 방어 기법과 그 우회 방법을 체계화했다.
제조사 UART 방어 기법 5종 분석:
- UART 포트 미탑재 또는 관리자 설정에서 UART 비활성화
- RX 핀 차단·은닉 (위치 이동, 두 핀 브리징 필요 등)
- 비표준 Baud rate 사용으로 수집 데이터가 깨져 보이게 함
- 연결 후 기기별 비밀 키 요구 (ipTime 공유기 등에서 흔함)
- 라이선스 매칭 — 기기와 호스트의 라이선스가 일치해야만 연결 (대형 제조사가 제품 기밀 보호용으로 사용)
UART 연결·우회 방법 7종 제안:
- 직접 연결: PCB의 UART 포트에 USB-to-TTL 연결 후 터미널에서 확인
- 라벨 없는 핀: 멀티미터로 RX/TX/GND 식별 (VCC는 사각 솔더 패드)
- 오디오 포트 경유: RX/TX/GND를 담은 오디오 포트에 오디오형 USB-to-TTL 케이블 사용
- micro-USB 포트 경유: USB 커넥터로 USB-to-TTL과 UART 브리징 (구형 스마트폰에서 성공)
- CPU 핀 경유: CPU 데이터시트에서 RX/TX 핀을 찾아 USB-to-TTL 점퍼를 납땜
- 차단된 RX 재활성화: 특정 PCB 패드 브리징 또는 보드의 다른 RX 핀 탐색
- 전압 매칭: Level Converter로 전압을 맞춰 통신 (불일치 시 데이터 손상·기기 손상 위험)
결과·성과
제안한 방법은 실제 라우터 D-Link DIR-842에서 검증했다. PCB에서 UART 포트를 찾고 RX/TX/VCC/GND를 구분한 뒤 USB-to-TTL 모듈 SZH-CVBE-004를 연결했다. XShell 6.0.0024에서 Serial 프로토콜과 Baud Rate를 맞춰 펌웨어 획득 경로를 확보했다.
연구 결과를 2019 정보보호 하계학술대회(KIISC Summer Conference 2019)에 제1저자로 발표했다.
의의
UART는 펌웨어를 얻는 가장 손쉬운 물리적 경로다. 제조사들이 하드웨어·소프트웨어로 UART를 점점 차단하고 있지만 여전히 많은 임베디드 시스템이 UART로 셸 접근을 노출하고 있고 다수의 잠금은 우회가 가능하다는 점을 정리·검증했다.
이 연구는 동일한 연구 라인의 펌웨어 획득 단계를 다루며 이후 획득·에뮬레이션된 펌웨어를 대상으로 한 퍼징(IoT 펌웨어 퍼징) 및 하이브리드 퍼징 연구로 이어진다.
원본 자료
KIISC 2019 하계학술대회 발표 자료 — 발표 자료 보기 ↗
🔬 펌웨어 보안 연구 시리즈 ① — ② EF-Fuzz 석사논문 · ③ IoTFirmFuzz 등록특허 · ④ IoTHybridFuzzer 특허 · ⑤ FIRM-COV 논문
근거 자료
아래 기록에 근거해 정리했습니다. 내부 원문 경로를 표시하며, 비공개 원문 파일은 이 페이지에서 제공하지 않습니다.
ai/sources/academic/2021-portfolio-extract.mdai/wiki/academic/uart-firmware-acquisition.md