맞춤기술찾기

이전대상기술

바이너리 취약점 패치 방법 및 장치

  • 기술번호 : KST2020015927
  • 담당센터 :
  • 전화번호 :
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 바이너리의 취약점을 패치하는 방법 및 장치가 제공된다. 본 발명의 일 실시예에 따른 취약점 패치 방법은, 대상 바이너리 내에 패치 코드 블록을 삽입하는 단계와, 상기 대상 바이너리의 취약점 발생 영역의 적어도 일부 인스트럭션을, 상기 패치 코드 블록으로 점프하는 인스트럭션으로 치환하는 단계를 포함하되, 상기 패치 코드 블록은 상기 취약점을 해소하는 인스트럭션을 포함한다.
Int. CL G06F 21/56 (2013.01.01) G06F 21/57 (2013.01.01)
CPC G06F 21/563(2013.01) G06F 21/563(2013.01)
출원번호/일자 1020190144010 (2019.11.12)
출원인 한국인터넷진흥원
등록번호/일자 10-2117209-0000 (2020.05.26)
공개번호/일자
공고번호/일자 (20200601) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2019.11.12)
심사청구항수 9

출원인

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

발명자

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

대리인

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

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국인터넷진흥원 전라남도 나주시
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [우선심사신청]심사청구(우선심사신청)서
[Request for Preferential Examination] Request for Examination (Request for Preferential Examination)
2019.11.12 수리 (Accepted) 1-1-2019-1158615-67
2 [특허출원]특허출원서
[Patent Application] Patent Application
2019.11.12 수리 (Accepted) 1-1-2019-1158590-14
3 [우선심사신청]선행기술조사의뢰서
[Request for Preferential Examination] Request for Prior Art Search
2019.11.15 수리 (Accepted) 9-1-9999-9999999-89
4 [우선심사신청]선행기술조사보고서
[Request for Preferential Examination] Report of Prior Art Search
2019.11.19 수리 (Accepted) 9-1-2019-0053017-19
5 의견제출통지서
Notification of reason for refusal
2019.11.28 발송처리완료 (Completion of Transmission) 9-5-2019-0861532-90
6 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2020.01.06 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2020-0010125-61
7 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2020.01.06 수리 (Accepted) 1-1-2020-0010126-17
8 거절결정서
Decision to Refuse a Patent
2020.03.13 발송처리완료 (Completion of Transmission) 9-5-2020-0190940-78
9 [명세서등 보정]보정서(재심사)
Amendment to Description, etc(Reexamination)
2020.04.08 보정승인 (Acceptance of amendment) 1-1-2020-0363101-55
10 [거절이유 등 통지에 따른 의견]의견서·답변서·소명서
2020.04.08 수리 (Accepted) 1-1-2020-0363102-01
11 등록결정서
Decision to Grant Registration
2020.05.07 발송처리완료 (Completion of Transmission) 9-5-2020-0318948-01
12 [분할출원]특허출원서
[Divisional Application] Patent Application
2020.05.26 수리 (Accepted) 1-1-2020-0527395-52
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
컴퓨팅 장치에서 수행되는 방법으로서,대상 바이너리 내에 패치 코드 블록을 삽입하는 단계; 및상기 대상 바이너리의 취약점 발생 영역의 적어도 일부 인스트럭션을, 상기 패치 코드 블록으로 점프하는 인스트럭션으로 치환하는 단계를 포함하되,상기 패치 코드 블록은, 상기 취약점 발생 영역을 포함하는 함수의 프롤로그부 인스트럭션; 상기 함수의 스택 프레임을 벗어나지 않은 채로, 스택 포인터 레지스터가 가리키는 메모리 주소와 베이스 포인터 레지스터가 가리키는 메모리 주소 사이의 메모리 값들을 초기화하여, 상기 함수의 스택 프레임의 데이터를 초기화하는 인스트럭션; 및 상기 취약점 발생 영역에서 치환된 인스트럭션의 다음 인스트럭션으로 점프하는 인스트럭션을 포함하며,상기 패치 코드 블록의 스택 프레임은 상기 함수의 스택 프레임과 동일하고,상기 패치 코드 블록을 삽입하는 단계는, 상기 대상 바이너리의 유휴 영역을 탐색하는 단계; 및 상기 유휴 영역의 크기가 상기 패치 코드 블록의 크기 이상일 경우, 상기 유휴 영역에 상기 패치 코드를 기록하는 단계를 포함하고,상기 유휴 영역은 상기 대상 바이너리의 텍스트 영역 중 연속된 NOP 명령어로 채워진 영역이며,상기 패치 코드 블록의 삽입 전후에 상기 대상 바이너리 내에 포함된 인스트럭션들의 주소는 그대로 유지되는,바이너리 취약점 패치 방법
2 2
삭제
3 3
삭제
4 4
제1항에 있어서,상기 대상 바이너리의 사이즈는 상기 패치 코드 블록의 삽입 전후에 그대로 유지되는,바이너리 취약점 패치 방법
5 5
삭제
6 6
제1항에 있어서,상기 패치 코드 블록을 삽입하는 단계는, 상기 대상 바이너리에 상기 패치 코드 블록을 위한 영역을 추가하고, 상기 추가된 영역에 상기 패치 코드 블록을 기록하는 단계를 포함하는,바이너리 취약점 패치 방법
7 7
제6항에 있어서,상기 패치 코드 블록을 삽입하는 단계는, 상기 유휴 영역의 크기가 상기 패치 코드 블록의 크기 미만이라는 판정에 응답하여, 상기 대상 바이너리에 상기 패치 코드 블록을 위한 영역을 추가하고, 상기 추가된 영역에 상기 패치 코드 블록을 기록하는 단계를 더 포함하는,바이너리 취약점 패치 방법
8 8
컴퓨팅 장치에서 수행되는 방법으로서,대상 바이너리 내에 패치 코드 블록을 삽입하는 단계; 및상기 대상 바이너리의 취약점 발생 영역의 적어도 일부 인스트럭션을, 상기 패치 코드 블록으로 점프하는 인스트럭션으로 치환하는 단계를 포함하되,상기 패치 코드 블록은, 상기 대상 바이너리의 실행시 상기 취약점 발생 영역에서 크래시가 발생되는지 판정하는 인스트럭션; 상기 대상 바이너리의 실행시 크래시가 발생된다는 판정에 응답하여, 상기 대상 바이너리의 실행을 중단하는 인스트럭션; 및 상기 대상 바이너리의 실행시 크래시가 발생되지 않는다는 판정에 응답하여, 상기 취약점 발생 영역에서 치환된 인스트럭션의 다음 인스트럭션으로 점프하는 인스트럭션을 포함하며,상기 패치 코드 블록에 포함된 인스트럭션들은 상기 취약점 발생 영역을 포함하는 함수의 스택 프레임을 벗어나지 않은 채로 실행되고,상기 패치 코드 블록을 삽입하는 단계는, 상기 대상 바이너리의 유휴 영역을 탐색하는 단계; 및 상기 유휴 영역의 크기가 상기 패치 코드 블록의 크기 이상일 경우, 상기 유휴 영역에 상기 패치 코드를 기록하는 단계를 포함하고,상기 유휴 영역은 상기 대상 바이너리의 텍스트 영역 중 연속된 NOP 명령어로 채워진 영역이며,상기 패치 코드 블록의 삽입 전후에 상기 대상 바이너리 내에 포함된 인스트럭션들의 주소는 그대로 유지되는,바이너리 취약점 패치 방법
9 9
삭제
10 10
제8항에 있어서,상기 크래시는, 비정상적 메모리 접근으로 인한 크래시를 포함하며,상기 판정하는 인스트럭션은, 상기 취약점 발생 영역의 적어도 일부 인스트럭션 중 메모리에 접근하는 인스트럭션의 오퍼랜드로 사용된 레지스터의 값에 기초하여, 상기 바이너리의 실행 흐름을 결정하는 인스트럭션을 포함하는,바이너리 취약점 패치 방법
11 11
제10항에 있어서,상기 비정상적 메모리 접근은, 널 포인터 사용, 버퍼 오버 라이트, 및 버퍼 언더 라이트 중 적어도 하나를 포함하는,바이너리 취약점 패치 방법
12 12
삭제
13 13
제8항에 있어서,상기 패치 코드 블록을 삽입하는 단계는, 상기 유휴 영역의 크기가 상기 패치 코드 블록의 크기 미만이라는 판정에 응답하여, 상기 대상 바이너리에 상기 패치 코드 블록을 위한 영역을 추가하고, 상기 추가된 영역에 상기 패치 코드 블록을 기록하는 단계를 더 포함하는,바이너리 취약점 패치 방법
14 14
패치 영역 생성부; 및패치 실행부를 포함하되,상기 패치 영역 생성부는, 대상 바이너리의 텍스트 영역 중 유휴 영역을 탐색하고, 상기 유휴 영역의 크기가 패치 코드의 크기 미만일 경우, 상기 대상 바이너리에 상기 패치 코드를 위한 영역을 추가하며, 상기 대상 바이너리 내에 상기 패치 코드가 삽입될 패치 영역을 결정하고,상기 패치 실행부는, 상기 패치 영역에 상기 패치 코드를 삽입하고, 상기 대상 바이너리의 취약점 발생 영역의 적어도 일부 인스트럭션을, 상기 패치 영역으로 점프하는 인스트럭션으로 치환하며,상기 패치 코드는, 상기 취약점 발생 영역을 포함하는 함수의 프롤로그부 인스트럭션; 상기 함수의 스택 프레임을 벗어나지 않은 채로, 스택 포인터 레지스터가 가리키는 메모리 주소와 베이스 포인터 레지스터가 가리키는 메모리 주소 사이의 메모리 값들을 초기화하여, 상기 함수의 스택 프레임의 데이터를 초기화하는 인스트럭션; 및 상기 취약점 발생 영역에서 치환된 인스트럭션의 다음 인스트럭션으로 점프하는 인스트럭션을 포함하고,상기 유휴 영역은 상기 대상 바이너리의 텍스트 영역 중 연속된 NOP 명령어로 채워진 영역이며,상기 패치 코드의 삽입 전후에 상기 대상 바이너리 내에 포함된 인스트럭션들의 주소는 그대로 유지되는,바이너리 취약점 패치 장치
지정국 정보가 없습니다
패밀리정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 과학기술정보통신부 한국인터넷진흥원 정보보호핵심원천기술개발(R&D) (자가방어-2세부) 자기학습형 사이버면역 기술개발