맞춤기술찾기

이전대상기술

포맷 스트링 취약점 검출 방법 및 이를 수행하기 위한 장치

  • 기술번호 : KST2020003430
  • 담당센터 : 서울동부기술혁신센터
  • 전화번호 : 02-2155-3662
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 포맷 스트링 취약점 검출 방법 및 이를 수행하기 위한 장치가 개시된다. 개시되는 일 실시예에 따른 포맷 스트링 검출 장치는, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 대상 파일에 출력 API를 호출하는 함수가 있는 경우, 함수를 후킹하는 후킹 모듈 및 후킹한 함수에 기반하여 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하는 취약점 판단 모듈을 포함한다.
Int. CL G06F 21/57 (2013.01.01) G06F 21/56 (2013.01.01)
CPC G06F 21/577(2013.01) G06F 21/577(2013.01) G06F 21/577(2013.01)
출원번호/일자 1020190057045 (2019.05.15)
출원인 세종대학교산학협력단
등록번호/일자 10-2067733-0000 (2020.01.13)
공개번호/일자
공고번호/일자 (20200117) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2019.05.15)
심사청구항수 18

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 세종대학교산학협력단 대한민국 서울특별시 광진구 능동로 *** (군

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 윤주범 서울특별시 송파구
2 유지현 경기도 부천시 조마루로***

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 두호특허법인 대한민국 서울특별시 강남구 언주로***, *층(논현동,시그너스빌딩)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 세종대학교산학협력단 서울특별시 광진구 능동로 *** (군
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2019.05.15 수리 (Accepted) 1-1-2019-0497570-84
2 [우선심사신청]심사청구(우선심사신청)서
[Request for Preferential Examination] Request for Examination (Request for Preferential Examination)
2019.05.20 수리 (Accepted) 1-1-2019-0516822-86
3 선행기술조사의뢰서
Request for Prior Art Search
2019.06.11 수리 (Accepted) 9-1-9999-9999999-89
4 선행기술조사보고서
Report of Prior Art Search
2019.07.02 수리 (Accepted) 9-1-2019-0029991-46
5 의견제출통지서
Notification of reason for refusal
2019.07.09 발송처리완료 (Completion of Transmission) 9-5-2019-0494675-01
6 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2019.09.06 수리 (Accepted) 1-1-2019-0920249-44
7 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2019.09.06 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2019-0920302-77
8 거절결정서
Decision to Refuse a Patent
2019.11.26 발송처리완료 (Completion of Transmission) 9-5-2019-0856239-09
9 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2019.12.27 수리 (Accepted) 1-1-2019-1348794-77
10 [명세서등 보정]보정서(재심사)
Amendment to Description, etc(Reexamination)
2019.12.27 보정승인 (Acceptance of amendment) 1-1-2019-1348824-59
11 등록결정서
Decision to Grant Registration
2020.01.10 발송처리완료 (Completion of Transmission) 9-5-2020-0025147-52
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
하나 이상의 프로세서들, 및상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 대상 파일에 출력 API를 호출하는 함수-상기 출력 API를 호출하는 함수는, 상기 대상 파일이 실행되는 컴퓨팅 장치에서 해당 함수의 명령에 대응하는 결과를 디스플레이에 출력하기 위한 함수임-가 있는지 여부를 확인하고, 상기 출력 API를 호출하는 함수가 있는 경우, 상기 함수를 후킹하는 후킹 모듈; 및상기 후킹한 함수의 인자에 사용자로부터 입력되는 값을 입력으로 하는 버퍼가 존재하고, 상기 버퍼가 상기 후킹한 함수의 첫 번째 인자인 경우, 상기 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하는 취약점 판단 모듈을 포함하는, 포맷 스트링 검출 장치
2 2
청구항 1에 있어서, 상기 취약점 판단 모듈은, 상기 첫 번째 인자가 상기 버퍼인 경우, 상기 버퍼에 설정된 메모리를 로딩하고, 상기 메모리에서 상기 버퍼의 입력 길이를 확인하는, 포맷 스트링 검출 장치
3 3
삭제
4 4
청구항 2에 있어서, 상기 취약점 판단 모듈은, 상기 첫 번째 인자가 상기 버퍼인 경우, 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값을 생성하는, 포맷 스트링 검출 장치
5 5
청구항 4에 있어서, 상기 취약점 판단 모듈은, 상기 버퍼의 입력 길이와 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이를 비교하여 상기 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하는, 포맷 스트링 검출 장치
6 6
청구항 5에 있어서, 상기 취약점 판단 모듈은, 상기 버퍼의 입력 길이가 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이 이상인 경우 상기 대상 파일에 포맷 스트링 취약점이 있는 것으로 판단하고, 상기 버퍼의 입력 길이가 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이 미만인 경우 상기 대상 파일에 포맷 스트링 취약점이 없는 것으로 판단하는, 포맷 스트링 검출 장치
7 7
청구항 5에 있어서, 상기 포맷 스트링 검출 장치는, 공격 코드를 생성하고, 상기 공격 코드를 상기 포맷 스트링 취약점이 있는 것으로 판단된 대상 파일에 대해 적용하여 포맷 스트링 취약점 검증을 수행하는 검증 모듈을 더 포함하는, 포맷 스트링 검출 장치
8 8
청구항 7에 있어서, 상기 검증 모듈은, 상기 대상 파일의 입력 유형, 상기 대상 파일에 적용된 보호 기법, 상기 대상 파일 내 취약한 함수 부분의 주소, 및 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이 중 하나 이상을 기반으로 상기 공격 코드를 생성하는, 포맷 스트링 검출 장치
9 9
청구항 8에 있어서, 상기 검증 모듈은, 상기 공격 코드를 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값과 동일한 길이로 생성하는, 포맷 스트링 검출 장치
10 10
하나 이상의 프로세서들, 및상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 대상 파일에 출력 API를 호출하는 함수-상기 출력 API를 호출하는 함수는, 상기 대상 파일이 실행되는 컴퓨팅 장치에서 해당 함수의 명령에 대응하는 결과를 디스플레이에 출력하기 위한 함수임-가 있는지 여부를 확인하는 동작;상기 출력 API를 호출하는 함수가 있는 경우, 상기 함수를 후킹하는 동작; 및상기 후킹한 함수의 인자에 사용자로부터 입력되는 값을 입력으로 하는 버퍼가 존재하고, 상기 버퍼가 상기 후킹한 함수의 첫 번째 인자인 경우, 상기 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하는 동작을 포함하는, 포맷 스트링 검출 방법
11 11
청구항 10에 있어서, 상기 포맷 스트링 취약점이 있는지 여부를 판단하는 동작은, 상기 첫 번째 인자가 상기 버퍼인 경우, 상기 버퍼에 설정된 메모리를 로딩하는 동작; 및상기 메모리에서 상기 버퍼의 입력 길이를 확인하는 동작을 포함하는, 포맷 스트링 검출 방법
12 12
삭제
13 13
청구항 11에 있어서, 상기 포맷 스트링 취약점이 있는지 여부를 판단하는 동작은, 상기 첫 번째 인자가 상기 버퍼인 경우, 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값을 생성하는 동작을 더 포함하는, 포맷 스트링 검출 방법
14 14
청구항 13에 있어서, 상기 포맷 스트링 취약점이 있는지 여부를 판단하는 동작은, 상기 버퍼의 입력 길이와 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이를 비교하여 상기 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하는 동작을 더 포함하는, 포맷 스트링 검출 방법
15 15
청구항 14에 있어서, 상기 포맷 스트링 취약점이 있는지 여부를 판단하는 동작은, 상기 버퍼의 입력 길이가 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이 이상인 경우 상기 대상 파일에 포맷 스트링 취약점이 있는 것으로 판단하는 동작; 및상기 버퍼의 입력 길이가 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이 미만인 경우 상기 대상 파일에 포맷 스트링 취약점이 없는 것으로 판단하는 동작을 포함하는, 포맷 스트링 검출 방법
16 16
청구항 14에 있어서, 상기 포맷 스트링 검출 방법은, 공격 코드를 생성하고, 상기 공격 코드를 상기 포맷 스트링 취약점이 있는 것으로 판단된 대상 파일에 대해 적용하여 포맷 스트링 취약점 검증을 수행하는 동작을 더 포함하는, 포맷 스트링 검출 방법
17 17
청구항 16에 있어서, 상기 검증을 수행하는 동작은, 상기 대상 파일의 입력 유형, 상기 대상 파일에 적용된 보호 기법, 상기 대상 파일 내 취약한 함수 부분의 주소, 및 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값의 길이 중 하나 이상을 기반으로 상기 공격 코드를 생성하는, 포맷 스트링 검출 방법
18 18
청구항 17에 있어서, 상기 검증을 수행하는 동작은, 상기 공격 코드를 상기 대상 파일의 프로그램 흐름을 변조할 수 있는 입력 값과 동일한 길이로 생성하는, 포맷 스트링 검출 방법
19 19
하나 이상의 프로세서들;메모리; 및하나 이상의 프로그램들을 포함하고,상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 대상 파일에 출력 API를 호출하는 함수-상기 출력 API를 호출하는 함수는, 상기 대상 파일이 실행되는 컴퓨팅 장치에서 해당 함수의 명령에 대응하는 결과를 디스플레이에 출력하기 위한 함수임-가 있는지 여부를 확인하기 위한 명령;상기 출력 API를 호출하는 함수가 있는 경우, 상기 함수를 후킹하기 위한 명령; 및상기 후킹한 함수의 인자에 사용자로부터 입력되는 값을 입력으로 하는 버퍼가 존재하고, 상기 버퍼가 상기 후킹한 함수의 첫 번째 인자인 경우, 상기 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하기 위한 명령을 포함하는, 컴퓨팅 장치
20 20
비일시적 컴퓨터 판독 가능한 저장 매체(non-transitory computer readable storage medium)에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 명령어들을 포함하고, 상기 명령어들은 하나 이상의 프로세서들을 갖는 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금, 대상 파일에 출력 API를 호출하는 함수-상기 출력 API를 호출하는 함수는, 상기 대상 파일이 실행되는 컴퓨팅 장치에서 해당 함수의 명령에 대응하는 결과를 디스플레이에 출력하기 위한 함수임-가 있는지 여부를 확인하도록 하고,상기 출력 API를 호출하는 함수가 있는 경우, 상기 함수를 후킹하도록 하고, 그리고상기 후킹한 함수의 인자에 사용자로부터 입력되는 값을 입력으로 하는 버퍼가 존재하고, 상기 버퍼가 상기 후킹한 함수의 첫 번째 인자인 경우, 상기 대상 파일에 포맷 스트링 취약점이 있는지 여부를 판단하도록 하는, 컴퓨터 프로그램
지정국 정보가 없습니다
패밀리정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 과학기술정보통신부 세종대학교 산학협력단 대학ICT연구센터지원사업 지능형 비행로봇 융합기술 연구