1 |
1
임의의 사물 인터넷(IoT; Internet of Things) 기기의 펌웨어에 시스템 모드 에뮬레이션 환경을 제공하는 시스템 모드 에뮬레이터; 상기 시스템 모드 에뮬레이션 환경에서 실행 중인 상기 펌웨어의 하나 이상의 프로세스 중 대상 프로세스에 사용자 모드 에뮬레이션 환경을 제공하는 사용자 모드 에뮬레이터;상기 사용자 모드 에뮬레이션 환경에서 상기 대상 프로세스에 변이 기반 퍼징(Fuzzing)을 실행하는 제1 테스팅부;상기 퍼징의 실행 중 기 설정된 이벤트가 발생된 경우, 상기 시스템 모드 에뮬레이션 환경에서 상기 이벤트의 발생 당시 상기 대상 프로세스의 상태에 기초하여 발생된 이벤트를 해결하기 위한 동작을 수행하는, 제2 테스팅부; 및상기 이벤트가 발생할 당시 상기 대상 프로세스의 메모리 상태 및 상기 퍼징에 대응하는 제1 테스트 케이스 중 적어도 하나를 상기 퍼징의 실행 결과로서 저장하고, 상기 이벤트를 해결하고자 상기 실행 결과를 상기 제2 테스팅부에 제공하고, 상기 제2 테스팅부의 상기 동작의 결과를 상기 제1 테스팅부에 제공하는 제어부를 포함하되, 상기 제1 테스팅부는,상기 기 설정된 이벤트가 발생한 경우, 상기 퍼징의 실행을 중단하고, 상기 동작의 결과에 기초하여 상기 퍼징의 실행을 재개하여 상기 펌웨어의 취약점을 검출하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
2 |
2
삭제
|
3 |
3
청구항 1에 있어서,상기 제2 테스팅부는,상기 퍼징이 실행되는 도중 시스템 호출(syscall)이 발생한 경우, 상기 시스템 모드 에뮬레이션 환경에서 상기 시스템 호출을 해결하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
4 |
4
청구항 3에 있어서,상기 제어부는,상기 시스템 호출의 해결 당시 상기 대상 프로세스의 메모리 상태를 저장하고, 상기 시스템 호출이 해결될 당시 상기 대상 프로세스의 메모리 상태를 상기 제1 테스팅부에 제공하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
5 |
5
청구항 4에 있어서,상기 제1 테스팅부는,상기 동작의 결과로서 상기 시스템 호출이 해결될 당시 상기 대상 프로세스의 메모리 상태에 기초하여 상기 퍼징의 실행을 재개하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
6 |
6
청구항 1에 있어서,상기 제2 테스팅부는, 상기 퍼징이 실행되는 도중 기 설정된 시간 동안 제약 조건을 해결하지 못한 경우, 상기 시스템 모드 에뮬레이션 환경에서 동적 기호 실행(Concolic Execution)을 수행하여 상기 제약 조건을 해결하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
7 |
7
청구항 6항에 있어서,상기 동적 기호 실행을 수행하여 제약 조건이 해결되는 경우, 상기 동적 기호 실행에 대응하는 제2 테스트 케이스를 생성하는 테스트 케이스 생성부를 더 포함하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
8 |
8
청구항 7에 있어서,상기 제어부는,상기 제2 테스트 케이스를 저장하고, 상기 제2 테스트 케이스를 상기 제1 테스팅부에 제공하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
9 |
9
청구항 8에 있어서,상기 제1 테스팅부는,상기 제2 테스트 케이스에 기초하여 상기 퍼징을 재개하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치
|
10 |
10
임의의 사물 인터넷(IoT; Internet of Things) 기기의 펌웨어에 시스템 모드 에뮬레이션 환경을 제공하는 단계;상기 시스템 모드 에뮬레이션 환경에서 실행 중인 상기 펌웨어의 하나 이상의 프로세스 중 대상 프로세스에 사용자 모드 에뮬레이션 환경을 제공하는 단계;상기 사용자 모드 에뮬레이션 환경에서 상기 대상 프로세스에 변이 기반 퍼징(Fuzzing)을 실행하는 단계;상기 퍼징의 실행 중 기 설정된 이벤트가 발생한 경우, 상기 퍼징의 실행을 중단하는 단계;상기 이벤트가 발생할 당시 상기 대상 프로세스의 메모리 상태 및 상기 퍼징에 대응하는 제1 테스트 케이스 중 적어도 하나를 상기 퍼징의 실행 결과로서 저장하는 단계;상기 시스템 모드 에뮬레이션 환경에서 상기 이벤트의 발생 당시 상기 대상 프로세스의 상태에 기초하여 발생된 이벤트를 해결하기 위한 동작을 수행하는 단계; 상기 동작의 결과에 기초하여 상기 퍼징의 실행을 재개하는 단계; 및상기 퍼징이 재개된 결과에 기초하여 상기 펌웨어의 취약점을 검출하는 단계를 포함하고,상기 수행하는 단계는, 상기 이벤트를 해결하고자 상기 퍼징의 실행 결과에 기초하여 상기 이벤트를 해결하기 위한 동작을 수행하고,상기 재개하는 단계는, 상기 퍼징을 통해 상기 펌웨어의 취약점을 검출하고자 상기 동작의 결과에 기초하여 상기 퍼징의 실행을 재개하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
11 |
11
삭제
|
12 |
12
청구항 10에 있어서,상기 수행하는 단계는,상기 퍼징이 실행되는 도중 시스템 호출(syscall)이 발생하는 경우, 상기 시스템 모드 에뮬레이션 환경에서 상기 시스템 호출을 해결하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
13 |
13
청구항 12에 있어서,상기 시스템 호출이 해결된 경우, 상기 대상 프로세스의 메모리 상태를 저장하는 단계를 더 포함하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
14 |
14
청구항 13에 있어서,상기 재개하는 단계는, 상기 시스템 호출을 해결한 상기 대상 프로세스의 메모리 상태에 기초하여 상기 퍼징을 재개하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
15 |
15
청구항 10에 있어서,상기 수행하는 단계는,상기 퍼징이 실행되는 도중 기 설정된 시간 동안 제약 조건을 해결하지 못한 경우, 상기 시스템 모드 에뮬레이션 환경에서 동적 기호 실행(Concolic Execution)을 수행하여 상기 제약 조건을 해결하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
16 |
16
청구항 15에 있어서,상기 동적 기호 실행을 수행하여 제약 조건이 해결되는 경우, 상기 동적 기호 실행에 대응하는 제2 테스트 케이스를 생성하는 단계를 더 포함하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
17 |
17
청구항 16에 있어서,상기 동적 기호 실행을 수행하여 제약 조건이 해결되는 경우, 상기 제2 테스트 케이스를 저장하는 단계를 더 포함하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|
18 |
18
청구항 17에 있어서,상기 수행하는 단계는,상기 제2 테스트 케이스에 기초하여 상기 퍼징을 재개하는, 하이브리드 퍼징 기반의 펌웨어 취약점 검출 방법
|