1 |
1
전자 장치의 프로그램 검사 방법에 있어서,프로그램에 대한 제어 흐름 그래프 정보를 획득하는 동작; 상기 제어 흐름 그래프 정보에 기반하여, 시드 리스트를 저장할 위치를 결정하는 동작; 및상기 시드 리스트를 이용하여 상기 프로그램의 퍼징(fuzzing)을 수행하는 동작을 포함하는, 프로그램 검사 방법
|
2 |
2
제 1 항에 있어서, 상기 프로그램의 퍼징을 수행하는 동작은,상기 시드 리스트에 기반하여 생성된 변이 시드를 이용하여 상기 시드 리스트가 저장된 메모리 영역에 대응하는 상기 프로그램의 위치에서 퍼징을 수행하는 동작을 포함하는, 프로그램 검사 방법
|
3 |
3
제 1 항에 있어서, 상기 시드 리스트를 저장할 위치를 결정하는 동작은,상기 제어 흐름 그래프 정보에 포함된 복수의 블록들 각각에 대하여 상기 시드 리스트에 포함된 시드의 대응 여부를 판단하는 동작; 및상기 블록들에 대한 상기 시드의 대응 여부에 기반하여, 상기 시드 리스트를 저장할 위치를 결정하는 동작을 포함하는, 프로그램 검사 방법
|
4 |
4
제 3 항에 있어서,상기 시드의 대응 여부를 판단하는 동작은, 상기 각각의 블록들에 대한 상기 시드의 액세스 여부에 기반하여 결정되는, 프로그램 검사 방법
|
5 |
5
제 3 항에 있어서,상기 시드 리스트를 저장할 위치를 결정하는 동작은, 상기 제어 흐름 그래프 정보에 포함된 복수의 에지들 중, 상기 시드에 대응하는 블록과 상기 시드에 대응하지 않는 블록을 연결하는 적어도 하나의 에지에 대응하도록, 상기 시드 리스트를 저장하도록 결정하는 동작을 포함하는, 프로그램 검사 방법
|
6 |
6
제 3 항에 있어서,상기 시드 리스트를 저장할 위치를 결정하는 동작은, 상기 제어 흐름 그래프 정보에 포함된 복수의 블록들 및 에지들이, 제1블록; 제2블록; 및 상기 제1블록과 상기 제2블록을 연결하는 제1에지;를 포함하고, 상기 제1블록은 제1시드에 대응하며, 상기 제2블록은 상기 제1시드에 대응하지 않는 것으로 판단할 경우, 상기 제1에지에 대응하도록 상기 제1시드를 포함하는 시드 리스트를 저장하도록 결정하는 동작을 포함하는, 프로그램 검사 방법
|
7 |
7
제 6 항에 있어서,상기 시드 리스트를 저장할 위치를 결정하는 동작은,상기 제어 흐름 그래프 정보에 포함되는 복수의 블록들 및 에지들이 제3블록; 및 상기 제2블록과 상기 제3블록을 연결하는 제2에지;를 더 포함하고, 상기 제2블록은 상기 제1시드에 기초하여 변이되어 생성된 제2시드에 대응하고, 상기 제3블록은 상기 제2시드에 대응하지 않는 것으로 판단할 경우, 상기 제2에지에 대응하도록 상기 제2시드를 포함하는 시드 리스트를 저장하도록 결정하는 동작을 더 포함하는, 프로그램 검사 방법
|
8 |
8
제 7 항에 있어서,상기 프로그램의 퍼징을 수행하는 동작은,상기 제1에지에서, 상기 제1시드를 이용하여, 상기 프로그램의 퍼징을 수행하는 동작; 및상기 제2에지에서, 상기 제2시드를 이용하여, 상기 프로그램의 퍼징을 수행하는 동작을 포함하는, 프로그램 검사 방법
|
9 |
9
전자 장치에 있어서,메모리; 및 상기 메모리와 전기적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,검사할 타겟 프로그램의 제어 흐름 그래프 정보를 획득하고,상기 제어 흐름 그래프 정보에 기반하여, 상기 제어 흐름 그래프 정보에 포함된 복수의 에지들 중 시드 리스트에 대응하는 적어도 하나의 에지를 결정하고,상기 시드 리스트에 기초하여 상기 타겟 프로그램에 대한 퍼징을 수행하도록 설정된, 전자 장치
|
10 |
10
제 9 항에 있어서,상기 적어도 하나의 프로세서는,상기 시드 리스트에 포함된 시드가 방문한 블록과 연결된 에지들 중 상기 시드가 방문하지 않은 블록과 연결된 적어도 하나의 에지를 확인하고,상기 적어도 하나의 에지에 대응하도록 상기 시드 리스트를 저장하도록 설정된, 전자 장치
|
11 |
11
검사할 타겟 프로그램의 제어 흐름 그래프 정보를 획득하는 동작;상기 제어 흐름 그래프 정보에 포함된 복수의 에지들 중 시드 리스트에 대응하는 적어도 하나의 에지를 결정하는 동작; 및상기 시드 리스트에 기초하여 상기 타겟 프로그램에 대한 퍼징을 수행하는 동작을 수행하도록 설정된, 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체
|