맞춤기술찾기

이전대상기술

바이너리에 대한 보안 취약점 및 그 원인 위치의 식별 방법 및 그 장치

  • 기술번호 : KST2019005670
  • 담당센터 :
  • 전화번호 :
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 바이너리에 존재하는 취약점 및 그 취약점의 원인이 되는 위치를 판정하는 자동화 된 방법이 제공된다. 본 발명의 일 실시예에 따른 바이너리 취약점 분석 방법은, 분석 대상인 바이너리(binary)의 실행을 통한 테인트 분석(taint analysis)을 수행하여, 상기 바이너리에 대하여 크래쉬(crash)를 유발하는 실행 흐름 경로(execution flow path) 및 상기 실행 흐름 경로 상의 의심 요소(suspicious element)와 관련된 취약점의 기호 제약조건(symbolic constraint)을 기록하는 1차 실행 단계와, 상기 바이너리의 상기 실행 흐름 경로에 대하여 기호 실행(symbolic execution) 방식의 2차 실행을 수행하되, 상기 기호 제약조건을 만족하는 인스트럭션 발견 시, 상기 발견된 인스트럭션과 상기 의심 요소의 비교 결과에 기반하여 상기 바이너리에 상기 취약점이 존재하는 것으로 판정하는 2차 실행 단계를 포함한다.
Int. CL G06F 21/57 (2013.01.01) G06F 21/56 (2013.01.01)
CPC
출원번호/일자 1020180141200 (2018.11.16)
출원인 한국인터넷진흥원
등록번호/일자
공개번호/일자 10-2019-0055776 (2019.05.23) 문서열기
공고번호/일자 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자 10-2017-0152288 (2017.11.15)
관련 출원번호 1020170152288
심사청구여부/일자 Y (2018.11.21)
심사청구항수 13

출원인

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

발명자

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

대리인

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

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국인터넷진흥원 전라남도 나주시
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [분할출원]특허출원서
[Divisional Application] Patent Application
2018.11.16 수리 (Accepted) 1-1-2018-1139560-19
2 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2018.11.21 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2018-1159422-96
3 [심사청구]심사청구(우선심사신청)서
[Request for Examination] Request for Examination (Request for Preferential Examination)
2018.11.21 수리 (Accepted) 1-1-2018-1159423-31
4 의견제출통지서
Notification of reason for refusal
2019.09.01 발송처리완료 (Completion of Transmission) 9-5-2019-0629359-11
5 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2019.10.02 수리 (Accepted) 1-1-2019-1007432-12
6 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2019.10.02 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2019-1007433-57
7 등록결정서
Decision to grant
2020.02.04 발송처리완료 (Completion of Transmission) 9-5-2020-0084629-74
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
컴퓨팅 장치에서 바이너리 취약점을 분석하는 방법에 있어서,분석 대상인 바이너리(binary)의 실행을 통한 테인트 분석(taint analysis)을 수행하여, 상기 바이너리에 대해 크래쉬(crash)를 유발한 실행 흐름 경로(execution flow path) 상에서 테인트된 피연산자를 검출하는 단계;상기 검출된 피연산자의 값을 추적하여, 상기 크래쉬 발생에 의해 강제 종료될 때의 피연산자 값인 크래쉬 유발 값이 변화하는지 여부를 판정하는 단계;상기 추적 과정에서 상기 크래쉬 유발 값이 변화한다는 판정에 응답하여, 상기 실행 흐름 경로 상의 상기 강제 종료 지점에서 가장 가까운 변화 지점의 위치를 상기 바이너리의 취약점 원인 위치로 결정하는 단계를 포함하는,바이너리 취약점 분석 방법
2 2
제1 항에 있어서,상기 테인트된 피연산자를 검출하는 단계는,상기 크래쉬를 유발하는 실행 파라미터를 이용하여 상기 테인트 분석을 위한 테인트 소스를 세팅하는 단계; 및상기 세팅된 테인트 소스로부터 테인트된 피연산자를 검출하는 단계를 포함하되,상기 테인트 소스의 세팅 위치는, 상기 바이너리의 디버그 심볼(debug symbol)에 "main" 심볼이 존재하는지 여부에 따라 달라지는 것인,바이너리 취약점 분석 방법
3 3
제2 항에 있어서,상기 테인트 소스를 세팅하는 단계는,상기 디버그 심볼에 "main" 심볼이 존재하는 경우, "main" 심볼에 대응되는 인스트럭션(instruction)들 중에 상기 실행 파라미터를 로드하는 인스트럭션의 위치를 상기 테인트 소스로 세팅하는 단계를 포함하는,바이너리 취약점 분석 방법
4 4
제2 항에 있어서,상기 테인트 소스를 세팅하는 단계는,상기 디버그 심볼에 "main" 심볼이 존재하지 않는 경우, 상기 바이너리의 실행 과정에서, 최초로 외부 값을 로드하는 인스트럭션의 위치를 상기 테인트 소스로 세팅하는 단계를 포함하는,바이너리 취약점 분석 방법
5 5
제1 항에 있어서,상기 크래쉬 유발 값에 변화가 존재하는지 여부를 판정하는 단계는,상기 강제 종료 지점부터 역순으로 상기 검출된 피연산자의 값을 추적하는 단계를 포함하는,바이너리 취약점 분석 방법
6 6
제1 항에 있어서,상기 검출된 피연산자를 포함하는 인스트럭션 중에서 기 저장된 의심 패턴과 매칭되는 인스트럭션을 의심 요소로 결정하는 단계를 더 포함하는,바이너리 취약점 분석 방법
7 7
제6 항에 있어서,상기 결정된 의심 요소와 관련된 취약점에 대응되는 기호 제약 조건을 조회하는 단계;상기 실행 흐름 경로에 대하여 기호 실행(symbolic execution)을 수행하는 단계; 및상기 기호 실행의 결과로, 상기 기호 제약 조건을 만족하는 인스트럭션 발견 시, 상기 발견된 인스트럭션과 상기 의심 요소의 비교 결과에 기반하여 상기 바이너리에 취약점이 존재하는지 여부를 판정하는 단계를 더 포함하는,바이너리 취약점 분석 방법
8 8
제7 항에 있어서,상기 발견된 인스트럭션의 위치가 상기 의심 요소의 위치와 일치하는 경우, 상기 바이너리에 상기 취약점이 존재하는 것으로 판정하는 단계를 포함하는,바이너리 취약점 분석 방법
9 9
제7 항에 있어서,상기 발견된 인스트럭션이 상기 의심 요소로 결정된 인스트럭션이 실행된 후에 실행된 것이라면, 상기 바이너리에 상기 취약점이 존재하는 것으로 판정하는 단계를 포함하는,바이너리 취약점 분석 방법
10 10
제6 항에 있어서,상기 추적 과정에서 상기 크래쉬 유발 값이 변화하지 않는다는 판정에 응답하여, 상기 실행 흐름 경로 상의 상기 강제 종료 지점에서 가장 가까운 의심 요소의 위치를 상기 취약점 원인 위치로 결정하는 단계를 더 포함하는,바이너리 취약점 분석 방법
11 11
제1 항에 있어서,상기 테인트된 피연산자를 검출하는 단계는,테인트된 메모리 주소 및 테인트된 레지스터를 더 검출하는 단계를 포함하는,바이너리 취약점 분석 방법
12 12
하나 이상의 인스트럭션들(instructions) 및 분석 대상인 바이너리(binary)를 저장하는 메모리; 및상기 하나 이상의 인스트럭션들을 실행함으로써,상기 바이너리의 실행을 통한 테인트 분석(taint analysis)을 수행하여, 상기 바이너리에 대해 크래쉬(crash)를 유발한 실행 흐름 경로(execution flow path) 상에서 테인트된 피연산자를 검출하고, 상기 검출된 피연산자의 값을 추적하여, 상기 크래쉬 발생에 의해 강제 종료될 때의 피연산자 값인 크래쉬 유발 값이 변화하는지 여부를 판정하며, 상기 추적 과정에서 상기 크래쉬 유발 값이 변화한다는 판정에 응답하여, 상기 실행 흐름 경로 상의 상기 강제 종료 지점에서 가장 가까운 변화 지점의 위치를 상기 바이너리의 취약점 원인 위치로 결정하는 프로세서를 포함하는,바이너리 취약점 분석 장치
13 13
컴퓨팅 장치와 결합하여,분석 대상인 바이너리(binary)의 실행을 통한 테인트 분석(taint analysis)을 수행하여, 상기 바이너리에 대해 크래쉬(crash)를 유발한 실행 흐름 경로(execution flow path) 상에서 테인트된 피연산자를 검출하는 단계;상기 검출된 피연산자의 값을 추적하여, 상기 크래쉬 발생에 의해 강제 종료될 때의 피연산자 값인 크래쉬 유발 값이 변화하는지 여부를 판정하는 단계;상기 추적 과정에서 상기 크래쉬 유발 값이 변화한다는 판정에 응답하여, 상기 실행 흐름 경로 상의 상기 강제 종료 지점에서 가장 가까운 변화 지점의 위치를 상기 바이너리의 취약점 원인 위치로 결정하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장된,컴퓨터 프로그램
14 14
삭제
지정국 정보가 없습니다
순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - 패밀리정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 KR101921052 KR 대한민국 FAMILY
2 US10339322 US 미국 FAMILY
3 US20190147168 US 미국 FAMILY

DOCDB 패밀리 정보

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