KR20100089256A - 응용 프로그램 패치 장치 및 방법 - Google Patents
응용 프로그램 패치 장치 및 방법 Download PDFInfo
- Publication number
- KR20100089256A KR20100089256A KR1020090008430A KR20090008430A KR20100089256A KR 20100089256 A KR20100089256 A KR 20100089256A KR 1020090008430 A KR1020090008430 A KR 1020090008430A KR 20090008430 A KR20090008430 A KR 20090008430A KR 20100089256 A KR20100089256 A KR 20100089256A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- vulnerability
- function
- patch
- found
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Abstract
Description
Claims (18)
- 사용자 시스템에 저장된 다수의 응용 프로그램의 함수 정보를 수집하여 데이터베이스에 저장하는 객체 정보 수집 모듈과,통신망을 통해 취약점이 발견된 응용 프로그램에 대한 입력 데이터를 검증하기 위한 검증 코드가 수신됨에 따라 상기 데이터베이스에서 상기 취약점이 발견된 응용 프로그램의 함수 정보를 추출하고, 상기 추출된 함수 정보를 토대로 상기 검증 코드를 삽입하여 상기 취약점이 발견된 응용 프로그램을 패치하는 패치 모듈을 포함하는 응용 프로그램 패치 장치.
- 제 1 항에 있어서,상기 객체 정보 수집 모듈은, 상기 응용 프로그램에서 제공하는 형식 라이브러리와 이중 인터페이스를 이용하여 상기 응용 프로그램의 함수 정보를 획득하는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 1 항에 있어서,상기 객체 정보 수집 모듈은, 상기 응용 프로그램의 함수의 이름과 주소가 저장된 AFX_DISPMAP_ENTRY 구조체 테이블을 검색한 후 이를 이용하여 상기 응용 프로그램의 함수 정보를 획득하는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 3 항에 있어서,상기 객체 정보 수집 모듈은, 상기 AFX_DISPMAP_ENTRY 구조체 테이블의 위치 정보가 저장된 AFX_DISPMAP 구조체를 이용하여 상기 AFX_DISPMAP_ENTRY 구조체 테이블을 찾는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 3 항에 있어서,상기 객체 정보 수집 모듈은, 상기 응용 프로그램의 형식 라이브러리에서 제공하는 함수 이름을 참조하는 곳의 검색을 통해 상기 AFX_DISPMAP_ENTRY 구조체 테이블의 위치를 검색하는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 1 항에 있어서,상기 패치 모듈은, 상기 취약점이 발견된 응용 프로그램에서 수정되어야 할 코드가 메모리에 존재하는 경우 상기 취약점이 발견된 응용 프로그램이 상기 메모리에 로드되는 시점을 찾은 후에 상기 시점 이전에 상기 검증 코드를 삽입하여 상기 취약점이 발생된 응용 프로그램을 패치하는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 6 항에 있어서,상기 패치 모듈은, 상기 응용 프로그램을 로드시키는 로드 함수의 후킹을 통해 상기 응용 프로그램이 상기 메모리에 로드되는 시점을 찾는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 1 항에 있어서,상기 객체 정보 수집 모듈은, 상기 응용 프로그램의 함수가 사용하는 스택 메모리의 크기를 수집하여 상기 데이터베이스에 저장하는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 제 8 항에 있어서,상기 패치 모듈은, 상기 데이터베이스에서 상기 취약점이 발견된 응용 프로그램의 함수에 대한 스택 메모리 크기를 검색하고, 상기 검색된 스택 메모리의 크기를 토대로 상기 취약점이 발견된 응용 프로그램의 함수에 입력되는 입력 데이터의 유효성을 검증하는 것을 특징으로 하는 응용 프로그램 패치 장치.
- 사용자 시스템에 저장된 다수의 응용 프로그램의 함수 정보 및 스택 메모리의 크기를 수집하여 데이터베이스에 저장하는 단계와,통신망을 통해 취약점이 발견된 응용 프로그램에 대한 정보와 입력 데이터를 검증하기 위한 검증 코드가 수신되면, 상기 데이터베이스에서 상기 취약점이 발생된 응용 프로그램의 함수 정보와 스택 메모리의 크기를 추출하는 단계와,상기 추출된 함수 정보와 스택 메모리의 크기를 토대로 상기 검증 코드를 삽입하여 상기 취약점이 발생된 응용 프로그램을 패치하는 단계를 포함하는 응용 프로그램 패치 방법.
- 제 10 항에 있어서,상기 데이터베이스에 저장하는 단계는,상기 응용 프로그램에서 이중 인터페이스를 제공하는지를 판단하는 단계와,상기 이중 인터페이스를 제공하는 경우 상기 응용 프로그램에서 제공하는 형식 라이브러리와 이중 인터페이스를 이용하여 상기 응용 프로그램의 함수 정보를 수집한 후 이를 상기 데이터베이스에 저장하는 단계를 포함하는응용 프로그램 패치 방법.
- 제 11 항에 있어서,상기 이중 인터페이스를 제공하지 않을 경우 상기 응용 프로그램의 함수의 이름과 주소가 저장된 AFX_DISPMAP_ENTRY 구조체 테이블을 검색한 후 이를 이용하여 상기 응용 프로그램의 함수 정보를 수집한 후 이를 상기 데이터베이스에 저장하는 것을 특징으로 하는 응용 프로그램 패치 방법.
- 제 12 항에 있어서,상기 AFX_DISPMAP_ENTRY 구조체 테이블의 검색은, AFX_DISPMAP 구조체를 이용하여 상기 AFX_DISPMAP_ENTRY 구조체 테이블을 검색하는 것을 특징으로 하는 응용 프로그램 패치 방법.
- 제 12 항에 있어서,상기 AFX_DISPMAP_ENTRY 구조체 테이블의 검색은, 상기 응용 프로그램의 형식 라이브러리에서 제공하는 함수 이름을 참조하는 곳의 검색을 통해 상기 AFX_DISPMAP_ENTRY 구조체 테이블의 위치를 검색하는 것을 특징으로 하는 응용 프로그램 패치 방법.
- 제 10 항에 있어서,상기 패치하는 단계는,상기 취약점이 발견된 응용 프로그램에서 수정되어야 할 코드가 바이너리 파일인지 메모리에 존재하는지를 판단하는 단계와,상기 메모리에 존재하는 경우 상기 취약점이 발견된 응용 프로그램이 상기 메모리에 로드되는 시점을 찾는 단계와,상기 로드 시점 이전에 상기 검증 코드를 삽입하여 상기 취약점이 발견된 응용 프로그램을 패치하는 단계를 포함하는 응용 프로그램 패치 방법.
- 제 15 항에 있어서,상기 메모리에 로드되는 시점을 찾는 단계는, 상기 응용 프로그램을 로드시키는 로드 함수의 후킹을 통해 상기 응용 프로그램이 상기 메모리에 로드되는 시점 을 찾는 것을 특징으로 하는 응용 프로그램 패치 방법.
- 제 10 항에 있어서,상기 패치하는 단계는,상기 데이터베이스에서 상기 취약점이 발견된 응용 프로그램의 함수에 대한 스택 메모리 크기를 검색하는 단계와,상기 검색된 스택 메모리의 크기와 상기 취약점이 발견된 응용 프로그램의 함수에 입력되는 입력 데이터 크기간의 비교를 통해 상기 입력 데이터의 유효성을 검증하는 상기 검증 코드를 이용하여 상기 취약점이 발견된 응용 프로그램을 패치하는 단계를 포함하는 응용 프로그램 패치 방법.
- 제 17 항에 있어서,상기 검증 코드를 이용하여 상기 취약점이 발견된 응용 프로그램을 패치하는 단계는,상기 검증 코드를 상기 취약점이 발견된 응용 프로그램 내에 삽입시킨 후 상기 삽입된 위치를 기억하는 단계와,상기 취약점이 발견된 응용 프로그램에서 취약점이 존재하는 함수를 호출하는 명령어를 검색한 후 상기 검색된 명령어를 상기 기억된 위치의 검증 코드로 분기시키는 명령어로 대체하는 단계와,상기 대체된 명령어에 의거하여 상기 검증 코드로 분기되어 상기 취약점이 존재하는 함수의 입력 파라미터를 검증하는 단계와,상기 검증 결과에 의거하여 에러 메시지를 출력하거나 상기 취약점이 존재하는 함수를 호출하는 것을 특징으로 하는 응용 프로그램 패치 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090008430A KR101052734B1 (ko) | 2009-02-03 | 2009-02-03 | 응용 프로그램 패치 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090008430A KR101052734B1 (ko) | 2009-02-03 | 2009-02-03 | 응용 프로그램 패치 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100089256A true KR20100089256A (ko) | 2010-08-12 |
KR101052734B1 KR101052734B1 (ko) | 2011-07-29 |
Family
ID=42755169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090008430A KR101052734B1 (ko) | 2009-02-03 | 2009-02-03 | 응용 프로그램 패치 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101052734B1 (ko) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101955356B1 (ko) * | 2017-12-08 | 2019-03-07 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
KR20190068495A (ko) * | 2019-02-28 | 2019-06-18 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
CN110399131A (zh) * | 2019-05-23 | 2019-11-01 | 中国平安财产保险股份有限公司 | 提高应用程序稳定性的方法、装置、计算机设备 |
KR102067733B1 (ko) * | 2019-05-15 | 2020-01-17 | 세종대학교산학협력단 | 포맷 스트링 취약점 검출 방법 및 이를 수행하기 위한 장치 |
KR20200037518A (ko) * | 2018-10-01 | 2020-04-09 | 주식회사 시큐센 | 취약점 패치의 최적화 평가가 이루어지는 해킹 방어 경연 시스템 |
US11238151B2 (en) | 2018-10-31 | 2022-02-01 | Korea Internet & Security Agency | Method and apparatus for patching binary having vulnerability |
KR20240048170A (ko) | 2022-10-06 | 2024-04-15 | 주식회사 엘앤제이테크 | 프로그램의 서드파티 라이브러리 점검 시스템, 서드파티 라이브러리 점검 방법 및 그 점검 방법을 구현하기 위한 컴퓨터 프로그램이 저장된 기록 매체 |
CN110399131B (zh) * | 2019-05-23 | 2024-04-26 | 中国平安财产保险股份有限公司 | 提高应用程序稳定性的方法、装置、计算机设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101893518B1 (ko) | 2016-10-28 | 2018-10-04 | 한국전자통신연구원 | 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법 |
KR101989581B1 (ko) | 2017-07-24 | 2019-06-14 | 한국전자통신연구원 | 내부망 전달용 파일 검증 장치 및 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040080844A (ko) * | 2003-03-14 | 2004-09-20 | 주식회사 안철수연구소 | 정적 분석을 이용한 악성 스크립트 감지 방법 |
US7424706B2 (en) * | 2003-07-16 | 2008-09-09 | Microsoft Corporation | Automatic detection and patching of vulnerable files |
KR100670209B1 (ko) * | 2004-12-23 | 2007-01-16 | 한국전자통신연구원 | 파라미터 상태 추적을 통한 웹 응용프로그램 취약점의소스코드 분석 장치 및 방법 |
KR100706176B1 (ko) * | 2005-07-12 | 2007-04-12 | 한국전자통신연구원 | 커널 취약요소를 방어하기 위한 커널 패치 방법 및 시스템 |
-
2009
- 2009-02-03 KR KR1020090008430A patent/KR101052734B1/ko active IP Right Grant
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101955356B1 (ko) * | 2017-12-08 | 2019-03-07 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
KR20200037518A (ko) * | 2018-10-01 | 2020-04-09 | 주식회사 시큐센 | 취약점 패치의 최적화 평가가 이루어지는 해킹 방어 경연 시스템 |
US11238151B2 (en) | 2018-10-31 | 2022-02-01 | Korea Internet & Security Agency | Method and apparatus for patching binary having vulnerability |
KR20190068495A (ko) * | 2019-02-28 | 2019-06-18 | 한국인터넷진흥원 | 취약 함수 사용에 의한 취약점을 보완하기 위한 바이너리 패치 장치 및 그 방법 |
KR102067733B1 (ko) * | 2019-05-15 | 2020-01-17 | 세종대학교산학협력단 | 포맷 스트링 취약점 검출 방법 및 이를 수행하기 위한 장치 |
CN110399131A (zh) * | 2019-05-23 | 2019-11-01 | 中国平安财产保险股份有限公司 | 提高应用程序稳定性的方法、装置、计算机设备 |
CN110399131B (zh) * | 2019-05-23 | 2024-04-26 | 中国平安财产保险股份有限公司 | 提高应用程序稳定性的方法、装置、计算机设备 |
KR20240048170A (ko) | 2022-10-06 | 2024-04-15 | 주식회사 엘앤제이테크 | 프로그램의 서드파티 라이브러리 점검 시스템, 서드파티 라이브러리 점검 방법 및 그 점검 방법을 구현하기 위한 컴퓨터 프로그램이 저장된 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
KR101052734B1 (ko) | 2011-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101052734B1 (ko) | 응용 프로그램 패치 장치 및 방법 | |
EP3039608B1 (en) | Hardware and software execution profiling | |
US8266700B2 (en) | Secure web application development environment | |
Pietraszek et al. | Defending against injection attacks through context-sensitive string evaluation | |
US8356351B2 (en) | Method and device for verification of code module in virtual machine | |
US7739516B2 (en) | Import address table verification | |
US8443354B1 (en) | Detecting new or modified portions of code | |
US20160142437A1 (en) | Method and system for preventing injection-type attacks in a web based operating system | |
JP5863973B2 (ja) | プログラム実行装置及びプログラム解析装置 | |
US11238151B2 (en) | Method and apparatus for patching binary having vulnerability | |
US20120089973A1 (en) | Smart patch delivery system | |
CN108959936B (zh) | 一种基于路径分析的缓冲区溢出漏洞自动利用方法 | |
Chinprutthiwong et al. | Security Study of Service Worker Cross-Site Scripting. | |
US20190042750A1 (en) | Pluggable trust architecture | |
CN114021106B (zh) | 一种可信度量的远程认证方法、装置及系统 | |
KR101482700B1 (ko) | 해시를 이용한 프로그램의 무결성 검증 방법 | |
US8775822B2 (en) | Computer-implemented method and system for protecting a software installation after certification | |
Titze et al. | Preventing library spoofing on android | |
WO2020012474A1 (en) | Return-oriented programming attack protection system and method | |
US8141055B2 (en) | Method for dynamic discovery of code segments in instrumented binary modules | |
CN117093245B (zh) | Ota升级包验证方法、装置、设备及可读存储介质 | |
Halim et al. | A lightweight binary authentication system for windows | |
US20230049233A1 (en) | Control flow integrity system and method | |
CN111625784B (zh) | 一种应用的反调试方法、相关装置及存储介质 | |
Liang et al. | Automatic detection of integer sign vulnerabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140725 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150727 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160725 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170725 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180725 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190725 Year of fee payment: 9 |