연구 완료 · 2019

PLC·라우터 펌웨어 동적 분석 환경 구축

PLC와 라우터에서 UART/JTAG·디버깅 셸을 확보해 펌웨어를 동적으로 분석할 환경을 만들었습니다.

기간2019.03–2019.10
대상 저장소세종대학교 대학원 연구
역할분석 환경 구축·방법론 정리
PLCUART/JTAGVxWorksOn-Chip Debugging

작업 요약

실제 장비 VxWorks 셸 획득·분석 절차 정리

실제 장비에서 셸과 디버깅 환경을 확보했습니다

PLC와 라우터 펌웨어를 분석하려면 먼저 장비에 연결해 셸을 얻고, 디버거와 정적 분석기로 확인할 수 있는 환경을 만들어야 했습니다.

UART 연결, EF-Fuzz, IoTFirmFuzz, IoTHybridFuzzer, FIRM-COV 연구와 관련된 작업 중 이 페이지에서는 실제 장비의 동적 분석 환경 구축을 다룹니다.

문제

제어기기나 라우터 펌웨어는 일반 서버 애플리케이션처럼 바로 실행하거나 디버깅하기 어렵습니다. 장비마다 인터페이스가 다르고, 셸 접근 여부도 다르며, 같은 UART/JTAG이라도 핀 식별·전압·부트 로그·권한 조건이 달라 장비별로 분석 절차를 확인해야 합니다.

이 연구의 핵심은 취약점 하나를 찾는 것보다, PLC·임베디드 장치 펌웨어를 반복적으로 정적·동적 분석할 수 있는 환경을 만드는 것이었습니다.

접근 (한 일)

결과·성과

7개월
동적 분석 환경 구축 연구 기간
PLC
제어기기 펌웨어 분석 방법론
VxWorks
라우터 셸 접근 검증

PDF 원본에는 TL-WR886N 장치의 셸 획득 화면, VCC/GND/RX/TX 핀 라벨, 납땜 후 PC 연결 사진, 장비 정보와 셸 접근 화면이 남아 있습니다. 또한 여러 공유기의 매직키를 확보해 VxWorks 셸까지 접근한 결과가 기록되어 있습니다.

제어기기 쪽에서는 펌웨어를 정적·동적으로 분석할 수 있는 환경 구축 절차와 환경별 디버깅 방법을 정리하고, 제어시스템 펌웨어 취약점 분석을 위한 방법론 형태로 결과를 남겼습니다.

의의

자동 퍼징을 실행하기 전에 필요한 분석 환경을 구성한 작업입니다. 펌웨어를 얻고, 디버깅 가능한 상태를 만들고, 정적 분석과 동적 분석이 만나는 지점을 정리해야 이후 AFL/QEMU 기반 퍼징이나 심볼릭 실행을 적용할 수 있습니다.

현재 포트폴리오의 UART 연구가 “펌웨어 획득 경로”를 설명하고, EF-Fuzz/IoTFirmFuzz가 “자동 분석·퍼징”을 설명한다면, 이 작업은 그 사이에서 실제 장비에서 셸과 디버깅 환경을 확보하는 과정을 다룹니다.

원본 근거

2021년 포트폴리오 PDF의 `제어기기 펌웨어 동적 분석 환경구축 방법론 연구` 및 `Embedded Analysis` 슬라이드에서 추출했습니다. 비공개 보고서나 기관 내부 세부 내용은 공개 포트폴리오에 옮기지 않았습니다.

🔬 관련 연구 — UART 기반 펌웨어 획득 연구 · EF-Fuzz 석사논문 · IoTFirmFuzz 등록특허 · IoTHybridFuzzer 특허

근거 자료

아래 기록에 근거해 정리했습니다. 내부 원문 경로를 표시하며, 비공개 원문 파일은 이 페이지에서 제공하지 않습니다.