맞춤기술찾기

이전대상기술

메모리 힙 영역 공격을 방어하기 위한 메모리 정렬 랜덤화 방법

  • 기술번호 : KST2018007551
  • 담당센터 : 대전기술혁신센터
  • 전화번호 : 042-610-2279
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 본 발명은 메모리 힙(heap) 영역 공격을 회피하기 위한 메모리 정렬 랜덤화 방법에 관한 것으로서, 더욱 상세하게는 소프트웨어 메모리 힙 영역의 취약점 공격(exploit)을 차단하기 위하여 힙 내부 객체들의 메모리 정렬(alignment)을 랜덤하게 형성시키는 방법에 관한 것이다.본 발명에 의하면, 힙 내부 객체들의 메모리 정렬(alignment)시, 메모리주소를 워드 사이즈의 배수로부터 정렬하는 방식이 아닌, 랜덤하게 도출된 주소로부터 정렬하는 방식을 채택하여, 힙 익스플로잇 공격을 강력하게 방어하게 된다.
Int. CL G06F 12/14 (2006.01.01)
CPC G06F 12/14(2013.01)
출원번호/일자 1020160162888 (2016.12.01)
출원인 한국과학기술원
등록번호/일자
공개번호/일자 10-2018-0062796 (2018.06.11) 문서열기
공고번호/일자 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2016.12.01)
심사청구항수 7

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국과학기술원 대한민국 대전광역시 유성구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 강병훈 미국 대전 유성구
2 장대희 대한민국 대전광역시 유성구
3 김민수 대한민국 대전광역시 유성구
4 김종환 대한민국 대전광역시 유성구
5 김대경 대한민국 대전광역시 유성구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 장수현 대한민국 서울특별시 서초구 바우뫼로 ***, *층(양재동, 영진빌딩)(두리암특허법률사무소)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국과학기술원 대전광역시 유성구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2016.12.01 수리 (Accepted) 1-1-2016-1181445-27
2 [출원서등 보정]보정서
[Amendment to Patent Application, etc.] Amendment
2016.12.26 수리 (Accepted) 1-1-2016-1272128-71
3 선행기술조사의뢰서
Request for Prior Art Search
2017.09.11 수리 (Accepted) 9-1-9999-9999999-89
4 선행기술조사보고서
Report of Prior Art Search
2017.10.16 발송처리완료 (Completion of Transmission) 9-6-2017-0153267-21
5 의견제출통지서
Notification of reason for refusal
2017.10.25 발송처리완료 (Completion of Transmission) 9-5-2017-0739311-53
6 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2017.12.26 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2017-1290218-38
7 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2017.12.26 수리 (Accepted) 1-1-2017-1290173-72
8 등록결정서
Decision to grant
2018.05.11 발송처리완료 (Completion of Transmission) 9-5-2018-0321870-51
9 출원인정보변경(경정)신고서
Notification of change of applicant's information
2019.04.24 수리 (Accepted) 4-1-2019-5081392-49
10 출원인정보변경(경정)신고서
Notification of change of applicant's information
2020.05.15 수리 (Accepted) 4-1-2020-5108396-12
11 출원인정보변경(경정)신고서
Notification of change of applicant's information
2020.06.12 수리 (Accepted) 4-1-2020-5131486-63
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
메모리 정렬 랜덤화 방법으로서,(a) 할당받을 메모리 크기(이하 '할당요청 메모리 크기'라 한다)를 지정하여, 객체를 위치시키기 위한 메모리 할당을 힙 할당자에 요청하는 단계;(b) 상기 힙 할당자가 할당할 메모리 시작주소(이하 '반환 시작주소'라 한다)를 반환하는 단계;(c) 상기 반환 시작주소에, 랜덤하게 선택된 값을 더하여 상기 객체를 정렬할 시작주소(이하 '객체 시작주소'라 한다)를 산출하는 단계; 및(d) 상기 객체 시작주소로부터 상기 객체를 정렬하여 위치시키는 단계를 포함하고,상기 단계(b)와 단계(c) 사이에,(b1) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 메모리 정렬을 워드 사이즈의 배수로부터 시작하는 것으로 고정하지 않고 랜덤하게 할 것인지 여부를 결정하는 단계를 더 포함하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 할 것으로 결정한 경우에는 상기 단계(c)로 진행하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 하지 않을 것으로 결정한 경우에는 상기 반환 시작주소를 객체 시작주소로 하여 상기 단계(d)로 진행하는,메모리 정렬 랜덤화 방법
2 2
삭제
3 3
청구항 1에 있어서,상기 단계(b1)은,(b101) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 할당받은 메모리 영역이 기 설정된 특정 메모리 영역(이하 '회피 영역'이라 한다)을 침범하는 경우에는 메모리 정렬을 랜덤하게 하지 않을 것으로 결정하고, 상기 회피 영역을 침범하지 않는 경우에는 메모리 정렬을 랜덤하게 할 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 메모리 정렬 랜덤화 방법
4 4
청구항 3에 있어서,상기 회피 영역은,캐시(cache) 메모리의 경계를 포함하거나, 또는 메모리 상의 페이지 경계를 포함하는 영역으로 설정되는 것을 특징으로 하는 메모리 정렬 랜덤화 방법
5 5
청구항 1에 있어서,상기 단계(c)의 랜덤하게 선택된 값은,특정 범위(이하 '랜덤값 선택 범위'라 한다) 내의 값으로 선택되고,상기 할당요청 메모리 크기 값은,객체 지정을 위해 필요로 하는 메모리 크기에, 상기 랜덤값 선택 범위의 최대값이 더해진 값인 것을 특징으로 하는 메모리 정렬 랜덤화 방법
6 6
청구항 1에 있어서,상기 단계(c)와 단계(d) 사이에,(c1) 상기 단계(c)에서 산출된 객체 시작주소가 워드 사이즈의 배수인 경우, 산출되는 객체 시작주소가 워드 사이즈의 배수가 아닌 수가 나올 때까지 상기 산출된 객체 시작주소에 랜덤하게 선택된 값을 더하여 새로운 객체 시작주소의 산출 과정을 반복하고, 워드 사이즈의 배수가 아닌 수가 산출된 경우 이를 객체 시작주소로 하여 상기 단계(d)로 진행하는 단계를 더 포함하는 것을 특징으로 하는 메모리 정렬 랜덤화 방법
7 7
메모리 정렬 랜덤화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체로서, 컴퓨터에,(a) 할당받을 메모리 크기(이하 '할당요청 메모리 크기'라 한다)를 지정하여, 객체를 위치시키기 위한 메모리 할당을 힙 할당자에 요청하는 단계;(b) 상기 힙 할당자가 할당할 메모리 시작주소(이하 '반환 시작주소'라 한다)를 반환하는 단계;(c) 상기 반환 시작주소에, 랜덤하게 선택된 값을 더하여 상기 객체를 정렬할 시작주소(이하 '객체 시작주소'라 한다)를 산출하는 단계; 및(d) 상기 객체 시작주소로부터 상기 객체를 정렬하여 위치시키는 단계를 포함하고,상기 단계(b)와 단계(c) 사이에,(b1) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 메모리 정렬을 워드 사이즈의 배수로부터 시작하는 것으로 고정하지 않고 랜덤하게 할 것인지 여부를 결정하는 단계를 더 포함하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 할 것으로 결정한 경우에는 상기 단계(c)로 진행하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 하지 않을 것으로 결정한 경우에는 상기 반환 시작주소를 객체 시작주소로 하여 상기 단계(d)로 진행하는,메모리 정렬 랜덤화 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체
8 8
메모리 정렬 랜덤화 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램으로서,(a) 할당받을 메모리 크기(이하 '할당요청 메모리 크기'라 한다)를 지정하여, 객체를 위치시키기 위한 메모리 할당을 힙 할당자에 요청하는 단계;(b) 상기 힙 할당자가 할당할 메모리 시작주소(이하 '반환 시작주소'라 한다)를 반환하는 단계;(c) 상기 반환 시작주소에, 랜덤하게 선택된 값을 더하여 상기 객체를 정렬할 시작주소(이하 '객체 시작주소'라 한다)를 산출하는 단계; 및(d) 상기 객체 시작주소로부터 상기 객체를 정렬하여 위치시키는 단계를 포함하고,상기 단계(b)와 단계(c) 사이에,(b1) 상기 할당요청 메모리 크기 및 상기 반환 시작주소로부터, 메모리 정렬을 워드 사이즈의 배수로부터 시작하는 것으로 고정하지 않고 랜덤하게 할 것인지 여부를 결정하는 단계를 더 포함하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 할 것으로 결정한 경우에는 상기 단계(c)로 진행하고,상기 단계(b1)에서 메모리 정렬을 랜덤하게 하지 않을 것으로 결정한 경우에는 상기 반환 시작주소를 객체 시작주소로 하여 상기 단계(d)로 진행하는,메모리 정렬 랜덤화 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램
지정국 정보가 없습니다
순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - 패밀리정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 US10664589 US 미국 FAMILY
2 US20180157827 US 미국 FAMILY

DOCDB 패밀리 정보

순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - DOCDB 패밀리 정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 US10664589 US 미국 DOCDBFAMILY
2 US2018157827 US 미국 DOCDBFAMILY
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 미래창조과학부 한국전자통신연구원 IT·SW융합산업원천기술개발 고신뢰성 다종 무인이동체 통신 및 보안 SW기술 개발