1 |
1
식별 번호 생성부가, 2개의 프로그램 각각에 포함된 모든 함수 또는 모든 기본 블록(basic block) 각각을 기설정된 조건에 따라 변환하여 상기 모든 함수 또는 모든 기본 블록 각각에 대응되는 식별 번호를 생성하는 단계;특성 비트 벡터 생성부가, 상기 2개의 프로그램 각각에 대응되며 기설정된 개수의 비트를 포함하는 2개의 비트 벡터(bit vector) 상에서 상기 식별 번호에 각각 대응되는 비트의 비트값을 ‘1’로 설정하고, 나머지 비트의 비트값을 ‘0’으로 설정하여, 2개의 특성 비트 벡터를 각각 생성하는 단계; 및프로그램 유사도 산출부가, 상기 2개의 특성 비트 벡터를 서로 대응되는 비트 별로 서로 비교하여 상기 2개의 프로그램 상호간의 유사도를 산출하는 단계를 포함하되, 상기 식별 번호를 생성하는 단계는,상기 모든 함수 또는 모든 기본 블록 각각에 해시함수를 적용하여 상기 모든 함수 또는 모든 기본 블록 각각을 임의의 비트열로 변환하는 단계;상기 모든 함수 또는 모든 기본 블록 각각에 대응되는 상기 임의의 비트열 각각에서 기설정된 개수의 연속된 비트열인 연속 비트열을 각각 추출하는 단계; 및추출된 상기 연속 비트열 각각을 10진수로 변환하여 상기 식별 번호를 생성하는 단계를 포함하고, 상기 2개의 프로그램 상호간의 유사도를 산출하는 단계는,상기 2개의 특성 비트 벡터를 서로 대응되는 비트 별로 순차적으로 비교하여, 서로 일치하는 비트값을 가지는 비트의 개수에 기초하여 상기 2개의 프로그램 상호간의 유사도를 산출하는 단계를 포함하는, 프로그램 유사도 산출 방법
|
2 |
2
제1항에 있어서,상기 2개의 프로그램 각각이 기계어로 구성된 2개의 실행 프로그램인 경우,상기 식별 번호를 부여하는 단계 이전에,프로그램 변환부가, 상기 2개의 실행 프로그램 각각을 함수 또는 기본 블록으로 구성되는 어셈블리언어 기반 프로그램 또는 고급 언어 기반 프로그램으로 변환하는 단계를 더 포함하는, 프로그램 유사도 산출 방법
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
삭제
|
6 |
6
제1항에 있어서,상기 2개의 프로그램 상호간의 유사도를 산출하는 단계는,상기 서로 대응되는 비트의 비트값이 모두 '1'인 비트의 개수를 상기 서로 대응되는 비트의 비트값 중 적어도 하나가 '1'인 비트의 개수로 나누어 상기 2개의 프로그램 상호간의 유사도를 산출하는 단계를 포함하는, 프로그램 유사도 산출 방법
|
7 |
7
2개의 프로그램 각각에 포함된 모든 함수 또는 모든 기본 블록(basic block) 각각을 기설정된 조건에 따라 변환하여 상기 모든 함수 또는 모든 기본 블록 각각에 대응되는 식별 번호를 생성하는 식별 번호 생성부;상기 2개의 프로그램 각각에 대응되며 기설정된 개수의 비트를 포함하는 2개의 비트 벡터(bit vector) 상에서 상기 식별 번호에 각각 대응되는 비트의 비트값을 ‘1’로 설정하고, 나머지 비트의 비트값을 ‘0’으로 설정하여, 2개의 특성 비트 벡터를 각각 생성하는 특성 비트 벡터 생성부; 및상기 2개의 특성 비트 벡터를 서로 대응되는 비트 별로 서로 비교하여 상기 2개의 프로그램 상호간의 유사도를 산출하는 프로그램 유사도 산출부를 포함하되, 상기 식별 번호 생성부는,상기 모든 함수 또는 모든 기본 블록 각각에 해시함수를 적용하여 상기 모든 함수 또는 모든 기본 블록 각각을 임의의 비트열로 변환하고, 상기 모든 함수 또는 모든 기본 블록 각각에 대응되는 상기 임의의 비트열 각각에서 기설정된 개수의 연속된 비트열인 연속 비트열을 각각 추출하며, 추출된 상기 연속 비트열 각각을 10진수로 변환하여 상기 식별 번호를 생성하고, 상기 프로그램 유사도 산출부는,상기 2개의 특성 비트 벡터를 서로 대응되는 비트 별로 순차적으로 비교하여, 서로 일치하는 비트값을 가지는 비트의 개수에 기초하여 상기 2개의 프로그램 상호간의 유사도를 산출하는, 프로그램 유사도 산출 장치
|
8 |
8
제7항에 있어서,상기 2개의 프로그램 각각이 기계어로 구성된 2개의 실행 프로그램인 경우,상기 2개의 실행 프로그램 각각을 함수 또는 기본 블록으로 구성되는 어셈블리언어 기반 프로그램 또는 고급 언어 기반 프로그램으로 변환하는 프로그램 변환부를 더 포함하는, 프로그램 유사도 산출 장치
|
9 |
9
삭제
|
10 |
10
삭제
|
11 |
11
삭제
|
12 |
12
제7항에 있어서,상기 프로그램 유사도 산출부는,상기 서로 대응되는 비트의 비트값이 모두 '1'인 비트의 개수를 상기 서로 대응되는 비트의 비트값 중 적어도 하나가 '1'인 비트의 개수로 나누어 상기 2개의 프로그램 상호간의 유사도를 산출하는, 프로그램 유사도 산출 장치
|