1. 도입: 왜 IoT 보안인가?
IoT 기기와 우리의 일상
오늘날 IoT(Internet of Things) 기기는 단순한 편리함을 넘어, 우리의 일상과 깊이 연결되어 있습니다. 스마트 홈 시스템은 조명, 온도 조절, 보안 카메라 등을 관리하며 우리의 삶을 효율적이고 안전하게 만들어줍니다. IoT 기기는 가정뿐 아니라 의료, 산업, 그리고 군사 시스템까지, 다양한 분야에서 중요한 역할을 하고 있습니다.
예를 들어 WiFi 공유기는 IoT 네트워크의 핵심 축으로서 모든 장치의 연결성을 제공합니다. 그 외에도 IP 카메라와 같은 장치는 실시간 감시를 통해 안전을 보장하지만, 이들은 동시에 새로운 보안 위협의 통로가 되기도 합니다.
위협의 현실
IoT 기기의 확산과 함께, 보안 문제가 심각한 위협으로 대두되고 있습니다. 실제로 다음과 같은 사례들이 IoT 기기 해킹이 초래할 수 있는 위험을 여실히 보여줍니다.

이러한 사례는 IoT 기기의 보안이 얼마나 중요한지를 보여줍니다. 특히, 네트워크 연결의 중심인 WiFi 공유기와 사용자 사생활 보호의 중요한 축인 IP 카메라는 해커들의 주요한 표적입니다.
이 프로젝트의 필요성
저희 팀이 WiFi 공유기와 IP 카메라를 보안 취약점 탐지와 검증의 대상으로 삼은 이유는 다음과 같습니다.
-
IoT 기기의 보안 상태 점검: IoT 기기는 상용 소프트웨어들에 비해 자주 업데이트되지 않으며, 대개 안전하지 않은 상태로 출시되는 경우가 많음
-
네트워크 전반의 보안 확보: 공유기는 네트워크 중심에서 연결된 모든 IoT 기기로의 접근 경로를 제공. 최악의 경우 취약점 하나가 네트워크 전체를 위협할 수 있음.
-
사생활 보호 강화: IP 카메라는 개인의 사생활을 직접적으로 노출시킬 위험이 있습니다. 이는 해킹 시 매우 민감한 정보를 공격자가 손에 넣을 가능성을 의미합니다.
-
CVE 제출을 통한 기여: 이 프로젝트는 단순히 취약점을 발견하는 데 그치지 않고, 발견된 취약점을 문서화하여 보안 커뮤니티에 기여할 가능성을 열어줍니다.
따라서 이 프로젝트는 단순한 학술적 탐구를 넘어, 실질적인 보안 문제를 해결하고 사회적 가치를 창출하는 데 기여할 것이라 기대할 수 있습니다.
2. 프로젝트 개요
주제 및 목표
IoT 기기 보안은 우리의 디지털 생활에서 점점 더 중요해지고 있습니다. 본 프로젝트의 주제는 IoT 기기의 보안 취약점 탐지 및 검증으로, 이와 관련된 학문적, 실무적 기여를 목표로 하고 있습니다.
주요 목표
- 펌웨어 분석: IoT 기기의 펌웨어를 정적/동적 분석하여 보안 취약점을 탐지
- PoC(Proof of Concept) 공격 설계 및 실행: 탐지된 취약점을 기반으로 PoC 공격을 설계하고, 이를 통해 취약점의 심각성을 검증
- 결과 보고서 작성: 분석 및 검증 결과를 문서화하며, CVE 제출 및 학문적 논문 작성을 목표로 설정
결론적으로, 이 프로젝트는 IoT 기기의 보안 문제를 실질적으로 해결할 수 있는 기반을 마련함과 동시에 학문적 지평을 넓히는 데 기여하고자 합니다.
수행 대상
1. 비공개 펌웨어

- 대상: 샤오미 C301 IP 카메라
- 선정 이유:
- 최신 출시 제품으로, 제조사 웹사이트에 펌웨어가 공개되지 않은 상황에서 펌웨어를 추출하고 분석하는 도전 과제를 제공
- 사용자 프라이버시 보호를 위한 보안 검증이 중요한 장치
- 목표:
- UART, 플래시 메모리 (가능하다면 JTAG도) 등 하드웨어 인터페이스를 활용해 펌웨어를 추출하고, 보안 결함을 탐지
2. 공개 펌웨어

- 대상: D-link DIR-882 WiFi 공유기
- 선정 이유:
- 제조사 웹사이트에서 펌웨어가 제공
- 기존에 알려진 CVE를 기반으로 취약점을 분석함으로써 펌웨어 분석의 기초를 다질 수 있을 것으로 기대
- 네트워크 중심 장치로서 취약점의 파급력이 매우 큼
- 목표:
- 펌웨어 구조를 분석하고, 기존에 알려진 CVE를 기반으로 PoC 공격을 설계 및 실행하여 학습 효과를 극대화
이번 프로젝트의 주안점
1. 비공개 펌웨어 분석 도전
- 제조사가 제공하지 않는 펌웨어를 직접 추출하고 분석하는 과정은 실무적으로 중요한 기술력을 요구
- 하드웨어 인터페이스(UART, SPI 등)를 활용해, 현실적인 제약 속에서 문제를 해결하는 경험을 얻을 수 있을 것
2. PoC 공격 설계 및 실행
- 단순히 취약점을 탐지하는 데 그치지 않고, 이를 활용한 공격 시뮬레이션을 통해 취약점의 심각성을 실질적으로 검증
- 이는 학문적 연구를 넘어 실질적인 보안 개선 방안을 제안하는 데 기여
3. 학문적 및 실무적 기여
- 분석 결과를 바탕으로 CVE 등록 및 논문 작성을 통해 보안 커뮤니티에 기여
- 실제 IoT 장치의 보안을 강화할 수 있는 방안을 도출함으로써, 실무적으로 적용 가능한 결과를 제공
3. 펌웨어 분석과정에 대한 방법론
- 1단계: 펌웨어 획득
- 2단계: 정적 분석
- 3단계: 동적 분석
- 4단계: PoC 공격 설계 및 실행
- 5단계: 하드웨어 분석
1단계: 펌웨어 획득
펌웨어 획득은 IoT 기기의 보안 분석을 시작하는 첫 단계로, 하드웨어와 소프트웨어 양쪽 모두에 대한 이해와 접근이 필요합니다.
-
제조사 공개 펌웨어 다운로드
- 방법: 제조사의 공식 웹사이트에서 제공하는 펌웨어 파일을 다운로드
- 활용 사례: D-link DIR-882와 같은 공개 펌웨어 대상 기기 분석
- 장점: 펌웨어 구조를 분석하는 데 필요한 기본 파일을 바로 확보할 수 있음
-
UART 인터페이스 활용
- 방법: 기기의 하드웨어 인터페이스를 통해 펌웨어를 직접 추출
- UART: USB to UART 어댑터를 통해 디버깅 포트를 연결하고, 펌웨어를 덤프
- 장점: 제조사에서 제공하지 않는 비공개 펌웨어(샤오미 C301)도 확보 가능
-
Flash Dump
- 방법: 플래시 메모리를 하드웨어적으로 분해한 뒤, Flashrom과 같은 도구를 활용해 내용을 읽음
- 장점: 디스크 이미지나 바이너리를 포함한 전체 펌웨어 구조를 확인할 수 있음
2단계: 정적 분석
펌웨어 파일을 분석하여 내부 구조를 이해하고, 취약점을 탐지합니다. 이는 주로 파일시스템과 바이너리를 대상으로 진행됩니다.
-
펌웨어 구조 분석
- 방법: Binwalk를 사용하여 펌웨어 이미지를 분석하고, 루트 파일시스템, 커널, 설정 파일 등을 추출
- 목표: 펌웨어 구조를 파악하고, 보안 취약점이 내재된 주요 파일을 식별
-
설정 파일 분석
- 방법:
/etc/passwd, /etc/shadow와 같은 파일에서 하드코딩된 비밀번호나 인증 정보를 탐지
- 목표: 기본 설정이나 불필요한 서비스 활성화로 인한 취약점 확인
-
바이너리 역공학
- 방법: Ghidra 또는 IDA Pro를 이용하여 바이너리를 디스어셈블하고, 내부 함수 및 동작 로직을 분석
- 목표: 메모리 할당, 데이터 처리 로직에서 버퍼 오버플로우나 포맷 스트링 취약점을 탐지
3단계: 동적 분석
동적 분석은 기기의 실제 동작 환경에서 취약점을 탐지하고, 악용 가능성을 평가하는 과정입니다.
-
QEMU 에뮬레이션
- 방법: QEMU를 통해 펌웨어를 에뮬레이션하고, 런타임에서의 동작 상태를 확인
- 목표: 기기의 동작 로직을 파악하고, 비정상 동작 여부를 분석
-
네트워크 트래픽 분석
- 방법: Wireshark를 이용해 IoT 기기의 네트워크 트래픽을 캡처하고 분석
- 목표: 인증 없이 전달되는 데이터나 평문 통신 여부 확인
-
동적 디버깅
- 방법: GDB 또는 Frida를 활용해 런타임 중의 함수 호출 및 메모리 값을 추적
- 목표: 런타임 취약점, 버퍼 오버플로우, 코드 인젝션 가능성 탐지
4단계: PoC 공격 설계 및 실행
PoC(Proof of Concept) 공격은 탐지된 취약점을 실질적으로 검증하고, 기기의 보안 상태를 평가하기 위해 수행됩니다.
-
관리자 인증 우회
- 방법: 하드코딩된 디폴트 계정을 사용하거나, 인증 패킷을 변조하여 관리자 권한을 획득
- 목표: 기기의 설정을 변경하거나 관리자 페이지에 접근
-
ARP 스푸핑 및 패킷 변조
- 방법: 네트워크 트래픽을 가로채고, 악의적 데이터를 삽입
- 목표: IoT 기기의 동작을 제어하거나 데이터에 접근 가능한지 확인
-
버퍼 오버플로우 및 코드 실행
- 방법: 바이너리 취약점을 이용해 악성 코드 실행 가능성을 검증
- 목표: 권한 상승 및 원격 코드 실행 성공 여부 확인
5단계: 하드웨어 분석
IoT 기기의 하드웨어 인터페이스를 활용하여, 디버깅 정보를 수집하고 메모리 구조를 분석합니다.
-
UART 디버깅
- 방법: USB to UART 어댑터를 사용해 디버깅 메시지를 캡처
- 목표: 부팅 로그, 디버그 메시지를 확인하여 기기의 상태와 취약점을 탐지, 가능하다면 쉘까지 취득
-
Flash 메모리 구조 분석
- 방법: 플래시 메모리의 데이터를 덤프하고, 내부 파티션 구조를 분석
- 목표: 감춰진 설정, 백도어, 하드코딩된 키 값 등을 탐지
4. Exploit 시나리오
공격 시뮬레이션의 목표
IoT 기기의 보안 취약점을 탐지하는 것만으로는 그 심각성을 완전히 이해할 수 없습니다. 본 프로젝트는 PoC(Proof of Concept) 공격 시뮬레이션을 통해 취약점의 실질적 영향을 검증하는 데 목표를 둡니다.
공격의 궁극적인 목표
-
기기의 관리자 권한 확보
- 관리자 계정에 접근하여 기기의 설정을 변경하거나 시스템을 제어
-
IoT 장치 동작 제어
- 샤오미 C301 IP 카메라의 영상 데이터 차단 또는 조작
- D-link DIR-882 공유기의 네트워크 트래픽 변조
-
민감 데이터 노출 확인
- 저장된 비밀번호, 동작 기록, 인증 정보 등의 유출 여부 확인
공격 설계 예시
1. D-link DIR-882 공유기
-
CVE 기반 취약점 실행
- D-link DIR-882의 펌웨어에서 알려진 CVE를 기반으로 실제 공격을 실행
- e.g. CVE-2024-0717는 HTTP GET 요청 핸들러의 파일 /devinfo의 코드에 영향을 미치는 취약점
-
공격 시나리오
- 공개 펌웨어 분석 중 관리자 인증 절차의 취약점을 탐지
- 브라우저를 통해 관리자 페이지에 직접 접근하거나, 네트워크 트래픽을 변조하여 인증 우회
-
결과
- 관리자 페이지 접근 성공 여부 확인
- 공유기의 네트워크 설정을 변경하여 트래픽을 차단하거나, 공격자의 네트워크로 리디렉션 시키기
2. 샤오미 C301 IP 카메라
-
트래픽 변조 및 데이터 유출 시뮬레이션
- 샤오미 C301의 트래픽에서 인증되지 않은 데이터가 평문으로 전송된다면, 이를 악용한 Replay Attack을 시도
-
공격 시나리오
- 카메라가 클라우드 서버와 통신하는 동안 네트워크 트래픽을 Wireshark로 캡처
- 캡처된 인증 토큰을 사용해 불법 접근 시도
- 민감 정보(사용자 로그인 정보, 영상 스트림 등)를 공격자의 시스템으로 유출
-
결과
- 민감 데이터 유출 성공 여부 확인
- 카메라 스트림을 공격자가 임의로 중단하거나 조작 가능 여부 검증
공격 성공 지표
1. 관리자 페이지 접근 여부
- 인증 우회나 기본 계정 활용으로 관리자 페이지에 접근할 수 있는지 확인
- 성공 여부와 접근에 필요한 시도 횟수 기록
2. 패킷 변조 성공률
- 네트워크 트래픽 변조 시, 기기가 이를 거부하거나 수락하는 비율 측정
- 악의적인 명령을 포함한 패킷의 성공적인 전달 여부 평가
3. 민감 데이터 노출 여부
- 유출된 정보의 종류(예: 비밀번호, 인증 키, 영상 데이터)와 양을 기준으로 평가
- 데이터 유출이 가능하다면 이를 방지하기 위한 방안도 추가로 제안
5. 예상되는 파급력
취약점이 수정되지 않을 경우의 시나리오
- 네트워크 침해: 공유기를 통한 전체 네트워크 위협
- 모든 네트워크 트래픽을 감시하거나, 민감한 데이터를 유출
- 네트워크를 악의적인 목적(예: 봇넷 공격)에 활용
- 네트워크를 비활성화해 가정 또는 기업 전체의 연결을 차단
- 프라이버시 침해: IP 카메라의 비디오 데이터 노출 가능성
- 사생활 영상 실시간 유출
- 공격자가 기기를 마음대로 조작해, 영상을 비활성화하거나 바꾸는 행위
- 영상 데이터 유출로 협박, 사기 등의 2차 피해 발생 우려
취약점 해결이 가져올 이점
- 사용자 보안 강화
- 네트워크는 해킹의 위협에서 자유로워지고, 사용자는 인터넷 연결을 안심하고 사용할 수 있음
- IP 카메라와 같은 개인 기기가 보호되면서 사생활 침해에 대한 걱정을 줄일 수 있음
- 사회적 신뢰도 향상
- 제조사가 IoT 기기의 보안 강화를 통해 신뢰를 얻는다면, 이는 소비자 만족도 증가와 브랜드 이미지 개선으로 이어질 것
- 보안 강화는 사용자뿐만 아니라 기업과 사회 전체의 디지털 환경을 안전하게 만듦
- 공공 장소, 기업 환경, 가정 등에서 IoT 기기의 도입을 더 적극적으로 추진할 수 있는 기반을 제공
6. 수행 일정 및 팀 구조
수행 일정
1주차: 준비 단계
- IoT 기기(샤오미 C301, D-link DIR-882) 구매 및 분석 장비 준비
- 펌웨어 분석 도구(Binwalk, Ghidra, Wireshark 등) 설치 및 테스트
- 팀원 역할 분배와 작업 흐름 점검
2~7주차: IoT 기기 분석 및 검증
8주차: 결과 정리 및 발표 준비
- 분석 결과 및 PoC 성공 사례를 기반으로 보고서 작성
- CVE 제출 가능성 검토 및 발표 자료 준비
- 팀 리허설 진행과 최종 발표 준비
WBS

팀원 역할 분배
1. 프로젝트 매니저 (PM) - 이종훈
- 프로젝트 일정 관리 및 조율
- 보고서 최종 통합 및 검토
2. 자료 조사 및 기술 문서화 담당 1 - 임찬수
3. 자료 조사 및 기술 문서화 담당 2 - 박성호
4. PoC(Proof of Concept) 검증 담당 - 정윤호
5. 데이터 정리 및 결과 검증 담당 - 양인규
7. 예상 결과
분석 보고서
-
CVE 제출 가능성
- 새롭게 발견된 취약점이 기존 CVE 데이터베이스와 중복되지 않는다면, CVE 등록을 통해 보안 커뮤니티에 기여할 예정
- 등록된 CVE는 IoT 보안 연구 및 실무 환경에서 참조될 수 있는 중요한 데이터로 활용될 수도
-
논문 형태로의 정리
- 프로젝트가 완료된 이후에도 수행 과정, 분석 방법론, PoC 결과, 취약점 대응 방안 등을 논문으로 정리하여 학문적 발표나 출판을 목표로 함
학문적 기여
-
최신 IoT 보안 문제 반영
- WiFi 공유기와 IP 카메라와 같은 일반적인 IoT 기기를 대상으로 한 실질적인 분석 사례를 제시
- 비공개 펌웨어 분석과 PoC 실행을 통해 연구의 깊이를 더해줄 것
-
확장 가능성
- 연구에서 제시된 분석 방법론과 결과는 다른 IoT 기기와 환경으로 확장할 수 있을 것
- 전부는 아니라도, 의료 기기, 산업용 IoT 장치 등에서도 유사한 접근 방식을 적용할 수 있을 것으로 기대함
실무적 가치
-
보안 강화 방안 제안
- 발견된 취약점을 해결하기 위한 구체적인 권고안을 보고서에 포함시킬 것
- e.g. 관리자 인증 절차 강화, 네트워크 암호화 프로토콜 적용, 하드코딩된 비밀번호 제거 등
-
실제 환경 적용 가능성
- IoT 기기의 보안 문제를 해결함으로써, 사용자와 제조사 모두에게 실질적인 혜택을 제공
- 제조사는 제품의 보안성을 강화해 신뢰를 얻을 수 있으며, 사용자는 안전한 IoT 환경에서 기기를 사용할 수 있을 것
8. 결론 및 질의응답
본 프로젝트는 IoT 기기의 보안 취약점을 탐지하고, PoC(Proof of Concept) 공격 시뮬레이션을 통해 이를 검증하며, 구체적인 보안 강화 방안을 제시하는 것을 목표로 합니다.
이를 통해
- IoT 보안의 중요성을 실질적으로 입증하고,
- 보안 연구와 실무 환경 모두에 기여할 수 있는 유의미한 성과를 제공합니다.
이 프로젝트는 단순히 취약점을 탐지하는 데서 멈추지 않고, 발견된 취약점의 심각성을 증명하며, 이를 해결하기 위한 실질적인 방안을 제안한다는 점에서 의의를 가집니다.