1 |
1
그레이 박스(Grey-box) 퍼징(Fuzzing) 장치에 의해 수행되는 그레이 박스 퍼징 방법에 있어서, 시드 모음으로부터 퍼저(Fuzzer)가 프로그램 테스트를 실행할 시드를 선택하는 스케줄 단계;상기 선택된 시드를 사용하여 상기 프로그램을 테스트하는 테스트 단계; 및 상기 프로그램을 테스트함에 따라 획득된 프로그램 실행 추적에 대한 정보를 이용하여 계산된 거리 정보 기반의 피트니스 함수를 기 설정된 기준에 따라 상기 시드 모음을 갱신하는 시드 관리 단계 를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
2 |
2
제1항에 있어서, 상기 테스트 단계는,상기 시드를 무작위로 변형하여 새로운 테스트 케이스를 생성하고, 상기 생성된 새로운 테스트 케이스를 상기 프로그램의 입력으로 제공하여 프로그램을 실행시키고, 상기 프로그램으로부터 프로그램 실행 추적을 생성하기 위해 프로그램 계측을 수행하는 단계를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
3 |
3
제2항에 있어서, 상기 프로그램을 테스트하는 테스트 단계는,상기 프로그램을 실행시키는 과정에서 프로그램의 버그를 발견할 경우, 상기 발견된 프로그램의 버그의 위치 정보에 해당하는 테스트 케이스를 출력으로 제공하는 단계 를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
4 |
4
제1항에 있어서, 상기 시드 관리 단계는,상기 프로그램 테스트를 실행함에 따라 획득된 프로그램 실행 추적에 대한 정보를 이용하여 거리 정보 기반의 피트니스 함수를 계산하고, 계산된 거리 정보 기반의 피트니스 함수 값이 기 설정된 기준 값 이상일 경우, 시드 모음에 상기 프로그램을 테스트함에 따라 생성된 새로운 테스트를 추가하여 시드 모음을 갱신하는 단계를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
5 |
5
제4항에 있어서, 상기 시드 관리 단계는,상기 시드 모음에 존재하는 테스트 케이스들 중에서 특정 테스트 케이스와 거리가 가장 짧은 테스트 케이스와의 거리 정보를 피트니스 함수 값으로 사용하는 단계 를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
6 |
6
제5항에 있어서, 상기 시드 관리 단계는,상기 거리 정보 기반의 피트니스 함수의 계산을 위한 동적 주성분 분석을 수행하고, 상기 수행된 동적 주성분 분석의 결과로 획득된 차원 변환 행렬을 사용하여 분기 방문 횟수 벡터의 차원을 변환시키는 단계를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
7 |
7
제4항에 있어서, 상기 시드 관리 단계는,상기 거리 정보 기반의 피트니스 함수의 계산을 위한 동적 주성분 분석을 수행한 후, 상기 거리 정보 기반의 피트니스 함수를 계산한 함수 값이 기 설정된 기준 값보다 큰 경우에 상기 프로그램을 테스트함에 따라 생성된 새로운 테스트 케이스를 추가하여 갱신된 시드 모음을 기반으로 새로운 기준 값을 계산하는 단계를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 방법
|
8 |
8
그레이 박스(Grey-box) 퍼징(Fuzzing) 장치에 있어서, 시드 모음으로부터 퍼저(Fuzzer)가 프로그램 테스트를 실행할 시드를 선택하는 스케줄부;상기 선택된 시드를 사용하여 상기 프로그램을 테스트하는 테스트부; 및 상기 프로그램을 테스트함에 따라 획득된 프로그램 실행 추적에 대한 정보를 이용하여 계산된 거리 정보 기반의 피트니스 함수를 기 설정된 기준에 따라 상기 시드 모음을 갱신하는 시드 관리부 를 포함하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|
9 |
9
제8항에 있어서, 상기 테스트부는,상기 시드를 무작위로 변형하여 새로운 테스트 케이스를 생성하고, 상기 생성된 새로운 테스트 케이스를 상기 프로그램의 입력으로 제공하여 프로그램을 실행시키고, 상기 프로그램으로부터 프로그램 실행 추적을 생성하기 위해 프로그램 계측을 수행하는 것을 특징으로 하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|
10 |
10
제9항에 있어서, 상기 테스트부는,상기 프로그램을 실행시키는 과정에서 프로그램의 버그를 발견할 경우, 상기 발견된 프로그램의 버그의 위치 정보에 해당하는 테스트 케이스를 출력으로 제공하는것을 특징으로 하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|
11 |
11
제8항에 있어서, 상기 시드 관리부는,상기 프로그램 테스트를 실행함에 따라 획득된 프로그램 실행 추적에 대한 정보를 이용하여 거리 정보 기반의 피트니스 함수를 계산하고, 계산된 거리 정보 기반의 피트니스 함수 값이 기 설정된 기준 값 이상일 경우, 시드 모음에 상기 프로그램을 테스트함에 따라 생성된 새로운 테스트를 추가하여 시드 모음을 갱신하는 것을 특징으로 하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|
12 |
12
제11항에 있어서, 상기 시드 관리부는,상기 시드 모음에 존재하는 테스트 케이스들 중에서 특정 테스트 케이스와 거리가 가장 짧은 테스트 케이스와의 거리 정보를 피트니스 함수 값으로 사용하는 것을 특징으로 하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|
13 |
13
제12항에 있어서, 상기 시드 관리부는,상기 거리 정보 기반의 피트니스 함수의 계산을 위한 동적 주성분 분석을 수행하고, 상기 수행된 동적 주성분 분석의 결과로 획득된 차원 변환 행렬을 사용하여 분기 방문 횟수 벡터의 차원을 변환시키는 것을 특징으로 하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|
14 |
14
제11항에 있어서, 상기 시드 관리부는,상기 거리 정보 기반의 피트니스 함수의 계산을 위한 동적 주성분 분석을 수행한 후, 상기 거리 정보 기반의 피트니스 함수를 계산한 함수 값이 기 설정된 기준 값보다 큰 경우에 상기 프로그램을 테스트함에 따라 생성된 새로운 테스트 케이스를 추가하여 갱신된 시드 모음을 기반으로 새로운 기준 값을 계산하는것을 특징으로 하는 그레이 박스(Grey-box) 퍼징(Fuzzing) 장치
|