맞춤기술찾기

이전대상기술

바이너리 기반 보안 취약점 탐색 시스템, 그 방법 및 프로그램

  • 기술번호 : KST2019003699
  • 담당센터 :
  • 전화번호 :
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 프로그램의 보안 취약점을 효율적으로 탐색할 수 있는 방법 및 시스템이 제공 된다. 본 발명의 일 실시예에 따른 취약점 탐색 방법은, 테스트 케이스에 대하여 상기 대상 프로그램을 바이너리(binary) 실행하여, 상기 테스트 케이스의 실행 경로 정보를 포함하는 바이너리 정보를 생성하고, 크래시(crash) 발생에 응답하여 크래시 정보를 획득하는 취약점 탐색 단계, 상기 바이너리 정보를 기초로 상기 대상 프로그램의 제어 흐름 그래프(control flow graph)를 복구하고, 상기 제어 흐름 그래프를 기초로 상기 실행 경로에 대한 복잡도를 산출하며, 상기 복잡도가 임계값 미만이라는 판정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행하기로 결정하는 바이너리 분석 단계 및 상기 경로 탐색의 수행 결정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행함으로써, 신규 테스트 케이스를 생성하는 경로 탐색 단계를 포함한다.
Int. CL G06F 21/57 (2013.01.01) G06F 11/36 (2006.01.01)
CPC
출원번호/일자 1020180115715 (2018.09.28)
출원인 한국인터넷진흥원
등록번호/일자
공개번호/일자 10-2019-0041912 (2019.04.23) 문서열기
공고번호/일자 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자 10-2017-0133153 (2017.10.13)
관련 출원번호 1020170133153
심사청구여부/일자 Y (2018.09.28)
심사청구항수 19

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국인터넷진흥원 대한민국 전라남도 나주시

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 김환국 전라남도 나주시 진흥길
2 김태은 전라남도 나주시 진흥길
3 오상환 전라남도 나주시 진흥길
4 윤수진 전라남도 나주시 진흥길
5 전지수 전라남도 나주시 진흥길
6 나건배 전라남도 나주시 진흥길

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 특허법인가산 대한민국 서울 서초구 남부순환로 ****, *층(서초동, 한원빌딩)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국인터넷진흥원 전라남도 나주시
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [분할출원]특허출원서
[Divisional Application] Patent Application
2018.09.28 수리 (Accepted) 1-1-2018-0959725-33
2 의견제출통지서
Notification of reason for refusal
2018.12.17 발송처리완료 (Completion of Transmission) 9-5-2018-0864497-69
3 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2019.01.24 수리 (Accepted) 1-1-2019-0085408-09
4 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2019.01.24 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2019-0085407-53
5 등록결정서
Decision to grant
2019.05.03 발송처리완료 (Completion of Transmission) 9-5-2019-0322952-10
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
취약점 탐색 시스템에서 대상 프로그램의 취약점을 탐색하는 방법에 있어서,테스트 케이스에 대하여 상기 대상 프로그램을 바이너리(binary) 실행하여, 상기 테스트 케이스의 실행 경로 정보를 포함하는 바이너리 정보를 생성하고, 크래시(crash) 발생에 응답하여 크래시 정보를 획득하는 취약점 탐색 단계;상기 바이너리 정보를 기초로 상기 대상 프로그램의 제어 흐름 그래프(control flow graph)를 복구하고, 상기 제어 흐름 그래프를 기초로 상기 실행 경로에 대한 복잡도를 산출하며, 상기 복잡도가 임계값 미만이라는 판정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행하기로 결정하는 바이너리 분석 단계; 및상기 경로 탐색의 수행 결정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행함으로써, 신규 테스트 케이스를 생성하는 경로 탐색 단계를 포함하되,상기 크래시 정보는 상기 크래시를 유발한 제1 테스트 케이스 및 상기 제1 테스트 케이스의 제1 실행 경로를 포함하고,상기 경로 탐색 단계는,상기 제1 실행 경로에 대한 경로 탐색을 수행함으로써, 제2 테스트 케이스를 생성하는 단계를 포함하는 것을 특징으로 하는,취약점 탐색 방법
2 2
제1 항에 있어서,상기 취약점 탐색 단계는,퍼징(fuzzing) 기법을 적용하여 상기 테스트 케이스를 생성하는 단계를 포함하는 것을 특징으로 하는,취약점 탐색 방법
3 3
제1 항에 있어서,상기 바이너리 분석 단계는,상기 복잡도가 제1 임계값 미만이고, 상기 제어 흐름 그래프에 포함된 분기점(Branch)의 개수가 제2 임계값 미만이라는 판정에 응답하여, 상기 경로 탐색을 수행하기로 결정하는 단계를 포함하는 것을 특징으로 하는,취약점 탐색 방법
4 4
제1 항에 있어서,상기 바이너리 분석 단계는,상기 실행 경로에 대한 위험도를 산출하는 단계를 더 포함하되,상기 위험도는,상기 실행 경로 상에서 보안이 취약한 함수가 많이 호출될수록 높은 값으로 산출되는 것을 특징으로 하는,취약점 탐색 방법
5 5
제4 항에 있어서,상기 위험도를 산출하는 단계는,상기 산출된 복잡도를 더 이용하여 상기 위험도를 산출하는 단계를 포함하되,상기 위험도는,상기 산출된 복잡도가 높을수록 높은 값으로 산출되는 것을 특징으로 하는,취약점 탐색 방법
6 6
제4 항에 있어서,상기 실행 경로는 복수개이고,상기 신규 테스트 케이스를 이용하여 상기 복수개의 실행 경로에 대하여 상기 취약점 탐색 단계를 다시 수행하는 단계를 더 포함하되,상기 취약점 탐색 단계를 수행하는 단계는,상기 산출된 위험도에 기초하여 상기 복수개의 실행 경로의 우선순위를 결정하는 단계; 및상기 결정된 우선순위에 따라 상기 취약점 탐색 단계를 다시 수행하는 단계를 포함하는 것을 특징으로 하는,취약점 탐색 방법
7 7
제4 항에 있어서,상기 위험도를 산출하는 단계는,하기 수학식에 기초하여 상기 위험도를 산출하는 단계를 포함하되,Exp는 경로의 위험도, n은 취약한 함수를 호출한 카운트, vi는 상기 카운트와 상기 취약한 함수가 호출하는 시스템 호출(system call)의 잠재적 위험도의 곱인 것을 특징으로 하는,취약점 탐색 방법
8 8
제1 항에 있어서,상기 바이너리 분석 단계는,하기 수학식에 기초하여 상기 복잡도를 산출하는 단계를 포함하되,H
9 9
제1 항에 있어서,상기 경로 탐색 단계는,기호 실행(Symbolic Execution)을 수행하여 상기 실행 경로에 대한 경로식을 생성하는 단계;상기 생성된 경로식에 기초하여 추상 구문 트리(Abstract Syntax Tree)를 생성하는 단계; 및SMT 문제 풀이기를 통해 상기 추상 구문 트리에 대한 제약 조건 풀이를 수행함으로써 상기 신규 테스트 케이스를 생성하는 단계를 포함하는 것을 특징으로 하는,취약점 탐색 방법
10 10
삭제
11 11
테스트 케이스에 대하여 대상 프로그램을 바이너리(binary) 실행하여, 상기 테스트 케이스의 실행 경로 정보를 포함하는 바이너리 정보를 생성하고, 크래시(crash) 발생에 응답하여 크래시 정보를 획득하는 취약점 탐색 모듈;상기 바이너리 정보를 기초로 상기 대상 프로그램의 제어 흐름 그래프(control flow graph)를 복구하고, 상기 제어 흐름 그래프를 기초로 상기 실행 경로에 대한 복잡도를 산출하며, 상기 복잡도가 임계값 미만이라는 판정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행하기로 결정하는 바이너리 분석 모듈; 및상기 경로 탐색의 수행 결정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행함으로써, 신규 테스트 케이스를 생성하는 경로 탐색 모듈을 포함하되,상기 크래시 정보는 상기 크래시를 유발한 제1 테스트 케이스 및 상기 제1 테스트 케이스의 제1 실행 경로를 포함하고,상기 경로 탐색 모듈은,상기 제1 실행 경로에 대한 경로 탐색을 수행함으로써, 제2 테스트 케이스를 생성하는 것을 특징으로 하는,취약점 탐색 시스템
12 12
제11 항에 있어서,상기 취약점 탐색 모듈은,퍼징(fuzzing) 기법을 적용하여 상기 테스트 케이스를 생성하는 것을 특징으로 하는,취약점 탐색 시스템
13 13
제11 항에 있어서,상기 바이너리 분석 모듈은,상기 복잡도가 제1 임계값 미만이고, 상기 제어 흐름 그래프에 포함된 분기점(Branch)의 개수가 제2 임계값 미만이라는 판정에 응답하여, 상기 경로 탐색을 수행하기로 결정하는 것을 특징으로 하는,취약점 탐색 시스템
14 14
제11 항에 있어서,상기 바이너리 분석 모듈은,상기 실행 경로에 대한 위험도를 더 산출하되,상기 위험도는,상기 실행 경로 상에서 보안이 취약한 함수가 많이 호출될수록 높은 값으로 산출되는 것을 특징으로 하는,취약점 탐색 시스템
15 15
제14 항에 있어서,상기 바이너리 분석 모듈은,상기 산출된 복잡도를 더 이용하여 상기 위험도를 산출하되,상기 위험도는,상기 산출된 복잡도가 높을수록 높은 값으로 산출되는 것을 특징으로 하는,취약점 탐색 시스템
16 16
제14 항에 있어서,상기 실행 경로는 복수개이고,상기 바이너리 분석 모듈은,상기 산출된 위험도에 기초하여 상기 복수개의 실행 경로의 우선순위를 결정하고,상기 취약점 탐색 모듈은,상기 신규 테스트 케이스를 이용하여 상기 복수개의 실행 경로에 대한 크래시 발생 여부를 탐색하되, 상기 결정된 우선순위에 따라 상기 크래시 발생 여부를 탐색하는 것을 특징으로 하는,취약점 탐색 시스템
17 17
제14 항에 있어서,상기 바이너리 분석 모듈은,하기 수학식에 기초하여 상기 위험도를 산출하되,Exp는 경로의 위험도, n은 취약한 함수를 호출한 카운트, vi는 상기 카운트와 상기 취약한 함수가 호출하는 시스템 호출(system call)의 잠재적 위험도의 곱인 것을 특징으로 하는,취약점 탐색 시스템
18 18
제11 항에 있어서,상기 바이너리 분석 모듈은,하기 수학식에 기초하여 상기 복잡도를 산출하되,H
19 19
제11 항에 있어서,상기 경로 탐색 모듈은,기호 실행(Symbolic Execution)을 수행하여 상기 실행 경로에 대한 경로식을 생성하고, 상기 생성된 경로식에 기초하여 추상 구문 트리(Abstract Syntax Tree)를 생성하며, SMT 문제 풀이기를 통해 상기 추상 구문 트리에 대한 제약 조건 풀이를 수행함으로써 상기 신규 테스트 케이스를 생성하는 것을 특징으로 하는,취약점 탐색 시스템
20 20
삭제
21 21
하드웨어와 결합하여,테스트 케이스에 대하여 대상 프로그램을 바이너리(binary) 실행하여, 상기 테스트 케이스의 실행 경로 정보를 포함하는 바이너리 정보를 생성하고, 크래시(crash) 발생에 응답하여 크래시 정보를 획득하는 취약점 탐색 단계;상기 바이너리 정보를 기초로 상기 대상 프로그램의 제어 흐름 그래프(control flow graph)를 복구하고, 상기 제어 흐름 그래프를 기초로 상기 실행 경로에 대한 복잡도를 산출하며, 상기 복잡도가 임계값 미만이라는 판정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행하기로 결정하는 바이너리 분석 단계; 및상기 경로 탐색의 수행 결정에 응답하여, 상기 실행 경로에 대한 경로 탐색을 수행함으로써, 신규 테스트 케이스를 생성하는 경로 탐색 단계를 실행시키되,상기 크래시 정보는 상기 크래시를 유발한 제1 테스트 케이스 및 상기 제1 테스트 케이스의 제1 실행 경로를 포함하고,상기 경로 탐색 단계는,상기 제1 실행 경로에 대한 경로 탐색을 수행함으로써, 제2 테스트 케이스를 생성하는 단계를 포함하는, 컴퓨터로 판독가능한 기록 매체에 저장된,컴퓨터 프로그램
지정국 정보가 없습니다
순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - 패밀리정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 KR101904911 KR 대한민국 FAMILY
2 US10586053 US 미국 FAMILY
3 US10621362 US 미국 FAMILY
4 US20190114436 US 미국 FAMILY
5 US20190266333 US 미국 FAMILY

DOCDB 패밀리 정보

순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - DOCDB 패밀리 정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
DOCDB 패밀리 정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 과학기술정보통신부 한국인터넷진흥원 정보보호핵심원천기술개발사업 자기학습형 사이버 면역 기술 개발