1 |
1
임베디드(embedded) 기기 취약점 자동 분석 방법으로서,(a) 분석 대상인 임베디드 기기의 펌웨어 코드(code)에 대하여, 정적 분석에 의하여 취약점 분석을 수행하는 단계;(b) 상기 정적 분석 결과로서, 취약점 테스트 코드를 생성하는 단계;(c) 상기 펌웨어를 에뮬레이션 실행시킨 후, 상기 펌웨어에 대한 동적 분석에 의하여 취약점 분석을 수행하는 단계; 및,(d) 상기 펌웨어에 대한 동적 분석의 로그(log) 데이터를 생성하는 단계를 포함하고,상기 단계(a)의 정적 분석에 의한 취약점 분석 전에, 동적 분석 프로세스로부터 입력받은 로그 데이터를 기반으로 분석 대상 프로그램(펌웨어 코드)의 일부분을 해당 로그 데이터에 맞는 환경으로 설정하고, 이와 같이 설정된 펌웨어 코드에 대하여, 상기 단계(a)의 정적 분석에 의한 취약점 분석을 수행하는,임베디드 기기 취약점 자동 분석 방법
|
2 |
2
청구항 1에 있어서,상기 단계(a)에서 상기 정적 분석에 의한 취약점 분석은,기호 실행(symbolic execution) 방식으로 수행하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
3 |
3
청구항 2에 있어서,상기 기호 실행 방식에 의한 취약점 분석을 수행하기 전,(a1) 상기 임베디드 기기 펌웨어로부터 바이너리(binary) 파일을 추출하는 단계; 및,(a2) 상기 추출된 바이너리 파일에 대하여 디스어셈블(disassemble)을 수행하여 어셈블리 코드(assembly code)로 변환하는 단계를 더 포함하고,상기 기호 실행은, 상기 펌웨어의 어셈블리 코드에 대하여 수행하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
4 |
4
청구항 1에 있어서,상기 정적 분석에 의한 취약점 분석은,버퍼 오버플로우(buffer overflow) 가능성에 대한 검증을 포함하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
5 |
5
청구항 1에 있어서,상기 정적 분석에 의한 취약점 분석은,상기 펌웨어에 대하여 커맨드 인젝션(command injection) 공격이 가능한지 여부에 대한 검증을 포함하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
6 |
6
청구항 1에 있어서,상기 정적 분석에 의한 취약점 분석은,상기 펌웨어에 대하여 SQL 인젝션(SQL injection) 공격이 가능한지 여부에 대한 검증을 포함하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
7 |
7
청구항 1에 있어서,상기 정적 분석에 의한 취약점 분석은,상기 펌웨어에 대하여 XSS(cross-site scripting) 공격이 가능한지 여부에 대한 검증을 포함하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
8 |
8
청구항 1에 있어서,상기 단계(b)의 취약점 테스트 코드는,상기 분석 대상인 펌웨어 코드에, 상기 단계(a)에서 분석한 취약점을 유발할 수 있는 입력값을 기호 실행을 이용하여 생성한 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
9 |
9
삭제
|
10 |
10
청구항 1에 있어서,상기 단계(c)의 동적 분석에 의한 취약점 분석은,상기 단계(b)에서 생성된 취약점 테스트 코드를 실행 시킴에 의해 수행하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
11 |
11
청구항 1에 있어서,상기 단계(c)의 동적 분석에 의한 취약점 분석은,퍼저(fuzzer)를 이용하여 수행하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
12 |
12
청구항 11에 있어서,상기 퍼저(fuzzer)를 이용한 취약점 분석은,버퍼 오버플로우(buffer overflow), 커맨드 인젝션(command injection), SQL 인젝션(SQL injection), XSS(cross-site scripting) 중 하나 이상을 유발할 수 있는 다양한 값들을 입력하는 것을 반복하여, 출력되는 결과 값이나 수집된 로그를 통해 취약점으로 판단되는 부분이 생길 때까지 반복하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
13 |
13
청구항 11에 있어서,상기 단계(d)에서 생성한 동적 분석의 로그(log) 데이터는,상기 단계(a)의 정적 분석에 의한 취약점 분석 프로세스에 전달하는 것을 특징으로 하는 임베디드 기기 취약점 자동 분석 방법
|
14 |
14
임베디드 기기 취약점을 자동으로 분석하기 위한 장치로서,적어도 하나의 프로세서; 및컴퓨터로 실행가능한 명령을 저장하는 적어도 하나의 메모리를 포함하되,상기 적어도 하나의 메모리에 저장된 상기 컴퓨터로 실행가능한 명령은, 상기 적어도 하나의 프로세서에 의하여, (a) 분석 대상인 임베디드 기기의 펌웨어 코드(code)에 대하여, 정적 분석에 의하여 취약점 분석을 수행하는 단계;(b) 상기 정적 분석 결과로서, 취약점 테스트 코드를 생성하는 단계;(c) 상기 펌웨어를 에뮬레이션 실행시킨 후, 상기 펌웨어에 대한 동적 분석에 의하여 취약점 분석을 수행하는 단계; 및,(d) 상기 펌웨어에 대한 동적 분석의 로그(log) 데이터를 생성하는 단계가 실행되도록 하고,상기 단계(a)의 정적 분석에 의한 취약점 분석 전에, 동적 분석 프로세스로부터 입력받은 로그 데이터를 기반으로 분석 대상 프로그램(펌웨어 코드)의 일부분을 해당 로그 데이터에 맞는 환경으로 설정하고, 이와 같이 설정된 펌웨어 코드에 대하여, 상기 단계(a)의 정적 분석에 의한 취약점 분석을 수행하도록 하는,임베디드 기기 취약점을 자동으로 분석하기 위한 장치
|
15 |
15
임베디드 기기 취약점을 자동으로 분석하기 위한 컴퓨터 프로그램으로서,비일시적 저장 매체에 저장되며, 프로세서에 의하여,(a) 분석 대상인 임베디드 기기의 펌웨어 코드(code)에 대하여, 정적 분석에 의하여 취약점 분석을 수행하는 단계;(b) 상기 정적 분석 결과로서, 취약점 테스트 코드를 생성하는 단계;(c) 상기 펌웨어를 에뮬레이션 실행시킨 후, 상기 펌웨어에 대한 동적 분석에 의하여 취약점 분석을 수행하는 단계; 및,(d) 상기 펌웨어에 대한 동적 분석의 로그(log) 데이터를 생성하는 단계가 실행되도록 하는 명령을 포함하고,상기 단계(a)의 정적 분석에 의한 취약점 분석 전에, 동적 분석 프로세스로부터 입력받은 로그 데이터를 기반으로 분석 대상 프로그램(펌웨어 코드)의 일부분을 해당 로그 데이터에 맞는 환경으로 설정하고, 이와 같이 설정된 펌웨어 코드에 대하여, 상기 단계(a)의 정적 분석에 의한 취약점 분석을 수행하는 명령을 포함하는,임베디드 기기 취약점을 자동으로 분석하기 위한 컴퓨터 프로그램
|