← 기술 목록으로

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

제어기기와 상용 라우터를 대상으로 On-Chip Debugging, UART/JTAG, 디버깅 셸을 활용해 펌웨어를 정적·동적으로 분석할 수 있는 환경을 만든 대학원 연구 과제.

기간2019.03–2019.10
대상 저장소세종대학교 대학원 연구
역할분석 환경 구축·방법론 정리
PLC Firmware Analysis UART/JTAG VxWorks On-Chip Debugging IDA Pro Embedded Security

0작업자의 메모

현재 포트폴리오에는 UART 논문, EF-Fuzz, IoTFirmFuzz, IoTHybridFuzzer, FIRM-COV처럼 논문·특허 중심의 펌웨어 보안 연구가 이미 들어가 있습니다. 이 항목은 같은 내용을 반복하지 않기 위해, 논문 결과가 아니라 실제 장비를 분석 가능한 상태로 만드는 환경 구축에만 초점을 맞췄습니다.

펌웨어 보안은 도구를 돌리기 전에 장비와 연결되고, 셸을 얻고, 디버거와 정적 분석기가 볼 수 있는 형태로 환경을 만드는 시간이 큽니다. 이 페이지는 그 앞단의 손에 잡히는 작업을 정리한 것입니다.

1문제

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

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

2접근 (한 일)

3결과·성과

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

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

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

4의의

이 항목은 자동 퍼징 시스템 자체보다 앞단의 기반 작업입니다. 펌웨어를 얻고, 디버깅 가능한 상태를 만들고, 정적 분석과 동적 분석이 만나는 지점을 정리해야 이후 AFL/QEMU 기반 퍼징이나 심볼릭 실행 연구가 의미 있게 이어질 수 있습니다.

현재 포트폴리오의 UART 연구가 “펌웨어 획득 경로”를 설명하고, EF-Fuzz/IoTFirmFuzz가 “자동 분석·퍼징”을 설명한다면, 이 작업은 그 사이에서 실제 장비를 분석 환경으로 끌어오는 연결 고리에 해당합니다.

원본 근거

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

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