임베디드 디바이스 펌웨어의 웹 인터페이스 취약점 식별을 위한 에뮬레이션 기반 퍼징 기법 - 허정민 (The Graduate School, Ajou University, 2020)
IoT 기술의 발전으로 임베디드 디바이스의 보급량이 급증하고 있으며 임베디드 디바이스 펌웨어 취약점을 기반으로 한 공격사례도 증가하고 있다. 특히 유무선 공유기와 라우터 같은 네트워크 장비는 공개된 공간에서 많이 사용되기 때문에 안전하지 않은 펌웨어를 사용할 경우 공격을 받을 수 있으므로 취약점을 찾아내서 제거해야만 한다. 그러나 임베디드 디바이스는 다양한 제품군 그리고 다양한 펌웨어가 있으며 모든 펌웨어에 대해 취약점을 식별하는 것에 한계가 존재한다. 최근 연구에서는 Firmadyne 프레임워크의 펌웨어 에뮬레이션 기법을 통해 이를 해결하였다. 그러나 이는 도구에서 정의된 취약점에 대해서만 분석 가능하기 때문에 식별되는 취약점의 종류와 범위가 한정되어 있다. 본 논문에서는 이를 보완하기 위해 취약점의 범위를 특정하지 않고 다양한 테스트를 수행하는 퍼징(fuzzing) 기법을 도입하여 임베디드 디바이스 펌웨어의 취약점을 식별하는 에뮬레이션 기반의 퍼징 기법인 Fabfuzz를 제안한다. 이는 기존의 Firmadyne을 통해 알려진 취약점 외에 퍼징 기법을 사용하여 대상 임베디드 디바이스의 동작환경을 에뮬레이션하여 실제 장비가 없이도 펌웨어의 취약점을 식별할 수 있었다. 또한 펌웨어 에뮬레이션 실행, 테스트 케이스 생성 및 모니터링을 수행함으로써 에뮬레이션 환경에서 퍼징하였을 때 식별되지 않은 취약점을 도출하여 이를 분석 및 보완하는 데 기여한다.
학위논문(석사)--아주대학교 일반대학원 :컴퓨터공학과,2020. 2
Keywords: Dynamic Analysis; Embedded Device; Firmware Emulation; Fuzzing