1 |
1
비교 대상이 되는 제 1 및 제 2 소프트웨어의 실행 파일들-제1 실행 파일 및 제 2 실행 파일-을 디스어셈블(disassemble)하는 단계(a);상기 제 1 및 제 2 실행 파일들의 디스어셈블된 결과를 하나의 함수 호출 명령어를 각각 포함하는 복수의 블록들로 각각 분할하는 단계(b); 및상기 제 1 실행 파일의 블록들과 상기 제 2 실행 파일의 블록들 간의 유사도를 산출하는 단계(c)를 포함하되,상기 복수의 블록들 각각은 각 블록에 포함된 상기 하나의 함수 호출 명령어 및 상기 하나의 함수 호출 명령어 전후의 미리 설정된 개수의 다른 명령어들을 포함하는 것을 특징으로 하는 소프트웨어 유사도 탐지 방법
|
2 |
2
삭제
|
3 |
3
청구항 1에 있어서,상기 각 블록에 포함되는 상기 하나의 함수 호출 명령어 전후의 명령어 개수는 상기 함수의 인자(argument)에 기초하여 결정되는 것을 특징으로 하는 소프트웨어 유사도 탐지 방법
|
4 |
4
청구항 1에 있어서,상기 각 블록에 포함되는 상기 하나의 함수 호출 명령어 전후의 명령어 개수는 상기 함수의 반환 값(return value)에 기초하여 결정되는 것을 특징으로 하는 소프트웨어 유사도 탐지 방법
|
5 |
5
청구항 1에 있어서,상기 단계(c)는 상기 제 1 실행 파일의 m개(m은 자연수) 블록과 상기 제 2 실행 파일의 n개(n은 자연수) 블록에 대하여, 상기 제 1 실행 파일의 m개 블록 각각에 대하여 상기 제 2 실행 파일의 n개 블록에 대한 유사도 값을 산출하는 것을 포함하는 것을 특징으로 하는 소프트웨어 유사도 탐지 방법
|
6 |
6
청구항 5에 있어서,상기 유사도 값의 산출은 비교 대상이 되는 블록들을 구성하는 어셈블리 코드의 집합 또는 순서를 자카드(Jaccard) 유사도 또는 코사인(cosine) 유사도를 이용하여 계산하는 것을 특징으로 하는 소프트웨어 유사도 탐지 방법
|
7 |
7
청구항 5에 있어서,상기 제 1 실행 파일의 m개 블록 각각에 대한 상기 제 2 실행 파일의 n개 블록들의 유사도 값들 중 가장 높은 유사도 값들을 결정하고, 상기 가장 높은 유사도 값들의 평균을 상기 제 1 실행 파일과 상기 제 2 실행 파일의 유사도 값으로 산출하는 단계를 추가로 포함하는 것을 특징으로 하는 소프트웨어 유사도 탐지 방법
|
8 |
8
비교 대상이 되는 제 1 및 제 2 소프트웨어의 실행 파일들-제1 실행 파일 및 제 2 실행 파일-을 저장하는 저장부;상기 제 1 및 제 2 실행 파일들을 디스어셈블하는 디스어셈블부;상기 제 1 및 제 2 실행 파일들의 디스어셈블된 결과를 하나의 함수 호출 명령어를 각각 포함하는 복수의 블록들로 각각 분할하는 블록 분할부; 및상기 제 1 실행 파일의 블록들과 상기 제 2 실행 파일의 블록들 간의 유사도를 산출하는 유사도 산출부를 포함하되,상기 복수의 블록들 각각은 각 블록에 포함된 상기 하나의 함수 호출 명령어와 상기 하나의 함수 호출 명령어 전후의 미리 설정된 개수의 다른 명령어들을 포함하는 것을 특징으로 하는 소프트웨어 유사도 탐지 장치
|
9 |
9
삭제
|
10 |
10
청구항 8에 있어서,상기 각 블록에 포함되는 상기 하나의 함수 호출 명령어 전후의 명령어 개수는 상기 함수의 인자(argument)에 기초하여 결정되는 것을 특징으로 하는 소프트웨어 유사도 탐지 장치
|
11 |
11
청구항 8에 있어서,상기 각 블록에 포함되는 상기 하나의 함수 호출 명령어 전후의 명령어 개수는 상기 함수의 반환 값(return value)에 기초하여 결정되는 것을 특징으로 하는 소프트웨어 유사도 탐지 장치
|
12 |
12
청구항 8에 있어서,상기 유사도 산출부는 상기 제 1 실행 파일의 m개(m은 자연수) 블록과 상기 제 2 실행 파일의 n개(n은 자연수) 블록에 대하여, 상기 제 1 실행 파일의 m개 블록 각각에 대하여 상기 제 2 실행 파일의 n개 블록에 대한 유사도 값을 산출하는 것을 특징으로 하는 소프트웨어 유사도 탐지 장치
|
13 |
13
청구항 12에 있어서,상기 유사도 값의 산출은 비교 대상이 되는 블록들을 구성하는 어셈블리 코드의 집합 또는 순서를 자카드(Jaccard) 유사도 또는 코사인(cosine) 유사도를 이용하여 계산하는 것을 특징으로 하는 소프트웨어 유사도 탐지 장치
|
14 |
14
청구항 12에 있어서,상기 유사도 산출부는 상기 제 1 실행 파일의 m개 블록 각각에 대한 상기 제 2 실행 파일의 n개 블록들의 유사도 값들 중 가장 높은 유사도 값들을 결정하고, 상기 가장 높은 유사도 값들의 평균을 상기 제 1 실행 파일과 상기 제 2 실행 파일의 유사도 값으로 산출하는 것을 특징으로 하는 소프트웨어 유사도 탐지 장치
|