KR100916329B1 - 소프트웨어 취약점 점검 장치 및 방법 - Google Patents
소프트웨어 취약점 점검 장치 및 방법 Download PDFInfo
- Publication number
- KR100916329B1 KR100916329B1 KR1020070110850A KR20070110850A KR100916329B1 KR 100916329 B1 KR100916329 B1 KR 100916329B1 KR 1020070110850 A KR1020070110850 A KR 1020070110850A KR 20070110850 A KR20070110850 A KR 20070110850A KR 100916329 B1 KR100916329 B1 KR 100916329B1
- Authority
- KR
- South Korea
- Prior art keywords
- software
- vulnerability
- file
- binary
- function
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Abstract
본 발명은 소프트웨어의 취약점을 점검하기 위한 장치 및 방법에 관한 것으로서, 보다 상세하게는 소프트웨어의 기능별로 퍼징을 수행하는 소프트웨어 취약점 점검 장치 및 방법에 관한 것이다. 본 발명에 따른 소프트웨어 취약점 점검 장치는 취약점 점검을 수행할 상기 소프트웨어의 기능을 선택하는 대상 기능 선택 모듈; 상기 선택된 기능을 포함하는 제 1 파일 및 상기 선택된 기능을 포함하지 않는 제 2 파일을 생성하는 비교 파일 생성 모듈; 상기 제 1 파일 및 상기 제 2 파일의 바이너리 값을 비교하여 변경 또는 추가된 바이너리 패턴을 검색하는 바이너리 패턴 비교 모듈; 상기 검색된 바이너리 패턴에 기반하여 하나 이상의 테스트 케이스를 생성하는 테스트 케이스 생성 모듈; 및 상기 하나 이상의 테스트 케이스에 기반하여 취약점 점검을 수행하고 취약점 점검 결과를 생성하는 취약점 검증 모듈로 구성된다. 본 발명은 소프트웨어의 기능에 따라 변경 또는 추가되는 부분에 집중적으로 퍼징을 수행함으로써, 소프트웨어의 각각 기능별 취약점을 찾을 수 있을 뿐만 아니라 퍼징의 효율성도 증가시킬 수 있다.
퍼징, 바이너리 비교, 취약점 검증
Description
본 발명은 소프트웨어의 취약점을 점검하기 위한 장치 및 방법에 관한 것으로서, 보다 상세하게는 소프트웨어의 기능별로 퍼징을 수행하는 소프트웨어 취약점 점검 장치 및 방법에 관한 것이다.
소프트웨어 개발 과정에서, 소프트웨어에 대한 분석은 일반적으로 디버깅 프로그램를 이용하여 소스 코드에서 취약점이 발생할 가능성이 있는 곳에 브레이크 포인트를 설정하고, 소프트웨어의 실행중에 브레이크 포인트에 따라 실행이 멈추면 소프트웨어의 실행 환경을 관찰하여 분석하는 방식으로 수행된다.
이에 반해, 소프트웨어 취약점 분석은 대부분 소스 코드를 구할 수 없는 환경에서 수행되고 이에 따라 실행파일만으로도 수행가능한 블랙박스 테스트 형태의 방식으로 수행된다. 여기서, 블랙박스 테스트란 소프트웨어 자체를 내부의 동작을 관찰할 수 없는 블랙박스로 가정하고 소프트웨어의 입출력 값에 기반하여 분석을 수행하는 테스트 방식이다.
이러한 블랙박스 테스트 중 하나인 퍼징(Fuzzing)은 해당 소프트웨어에 다양한 랜덤 데이터를 입력하고, 입력 값에 따라 해당 소프트웨어에서 수행되는 비정상적인 동작을 탐지하여 소프트웨어가 처리할 수 없는 결함을 찾아내는 분석 방법이다. 퍼징은 일반적으로 랜덤 데이터를 포함하는 테스트 케이스를 만들고, 생성된 테스트 케이스를 해당 소프트웨어를 순차적으로 실행하여 해당 소프트웨어의 오동작 등을 분석하는 과정으로 수행된다.
이러한 퍼징을 사용하는 종래의 소프트웨어 취약점 점검 방법은 소프트웨어의 기능과 상관없이 입력 데이터의 전체에 대하여 랜덤으로 데이터를 생성하여 분석을 수행할 뿐이고, 이에 따라 소프트웨어의 특정 기능에 의해 발생될 수 있는 취약점에 대한 집중적인 취약점 점검을 제공하기는 어렵다는 단점이 있다.
본 발명에서 해결하고자 하는 과제는, 소프트웨어의 기능별로 집중적으로 퍼징을 수행할 수 있는 소프트웨어 취약점 점검 장치 및 방법을 제공하는 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 측면은 취약점 점검을 수행할 상기 소프트웨어의 기능을 선택하는 대상 기능 선택 모듈; 상기 선택된 기능을 포함하는 제 1 파일 및 상기 선택된 기능을 포함하지 않는 제 2 파일을 생성하는 비교 파일 생성 모듈; 상기 제 1 파일 및 상기 제 2 파일의 바이너리 값을 비교하여 변경 또는 추가된 바이너리 패턴을 검색하는 바이너리 패턴 비교 모듈; 상기 검색된 바이너리 패턴에 기반하여 하나 이상의 테스트 케이스를 생성하는 테스트 케이스 생성 모듈; 및 상기 하나 이상의 테스트 케이스에 기반하여 취약점 점검을 수행하고 취약점 점검 결과를 생성하는 취약점 검증 모듈을 포함하는 소프트웨어 취약점 점검 장치를 제공한다.
본 발명의 다른 측면은 취약점 점검을 수행할 상기 소프트웨어의 기능을 선택하는 단계; 상기 선택된 기능을 포함하는 제 1 파일을 생성하는 단계; 상기 선택된 기능을 포함하지 않는 제 2 파일을 생성하는 단계; 상기 제 1 파일 및 상기 제 2 파일의 바이너리 값을 비교하여 변경 또는 추가된 바이너리 패턴을 검색하는 단계; 상기 검색된 바이너리 패턴에 기반하여 하나 이상의 테스트 케이스를 생성하는 단계; 상기 하나 이상의 테스트 케이스에 기반하여 취약점 점검을 수행하는 단계; 및 상기 취약점 점검의 수행 결과를 생성하는 단계를 포함하는 소프트웨어 취약점 점검 방법을 제공한다.
본 발명은 소프트웨어의 기능에 따라 변경 또는 추가되는 부분에 집중적으로 퍼징을 수행함으로써, 소프트웨어의 각각 기능별 취약점을 찾을 수 있을 뿐만 아니라 퍼징의 효율성도 증가시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 취약점 점검 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 소프트웨어 취약점 점검 장치(100)는 점검 대상 기능 선택 모듈(110), 비교 파일 생성 모듈(120), 바이너리 패턴 비교 모듈(130), 테스트 케이스 생성 모듈(140) 및 취약점 검증 모듈(150)을 포함한다.
점검 대상 기능 선택 모듈(110)은 해당 소프트웨어의 기능 중에서 집중적으로 퍼징을 수행할 기능을 선택한다. 비교 파일 생성 모듈(120)은 선택된 기능이 포함된 제 1 파일 및 선택된 기능이 포함되지 않은 제 2 파일을 생성한다.
바이너리 패턴 비교 모듈(130)은 제 1 파일과 제 2 파일의 바이너리 값을 비교하여 서로 상이한 바이너리 패턴을 검색한다. 여기서, 바이너리 패턴이란 일련의 바이너리 값이 형성하는 바이너리 값의 집합을 말한다. 제 1 파일과 제 2 파일의 바이너리 패턴의 차이는 특정 기능의 포함 여부이므로 상기 상이한 바이너리 패턴이 위치하는 주소는 특정 기능에 대응하는 주소를 의미한다. 테스트 케이스 생성 모듈(140)은 바이너리 패턴 비교 모듈(130)을 통해 검색된 부분에 기반하여 퍼징을 수행하기 위한 테스트 케이스를 생성한다. 취약점 검증 모듈(150)은 테스트 케이스 생성 모듈(140)에서 생성된 테스트 케이스를 이용하여 해당 소프트웨어를 실행하고 소프트웨어의 실행중에 발생하는 오동작 등에 기반하여 취약점 점검 결과를 생성하고 출력한다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 취약점 점검 방법의 과정을 나타내는 순서도이다.
도 2를 참조하면, 점검 대상 기능 선택 모듈은 취약점 점검을 수행할 소프트웨어의 기능을 선택한다(210). 일 실시예에서, 점검 대상 기능 선택 모듈은 사용자 인터페이스를 통해 입력된 사용자의 선택에 따라 점검 대상 기능을 선택하거나 소정 선택 알고리즘에 따라 사용자의 입력없이 점검 대상 기능을 선택할 수 있다.
비교 파일 생성 모듈은 선택된 점검 대상 기능을 포함하는 제 1 파일 및 제 1 파일과 비교하기 위해 점검 대상 기능을 포함하지 않는 제 2 파일을 생성한다(220). 일 실시예에서, 제 2 파일은 워드 프로세서의 빈문서(Empty document)와 같이 해당 소프트웨어에 의해 생성되는 초기화 파일(Initialized file)일 수 있다.
바이너리 패턴 비교 모듈은 제 1 파일 및 제 2 파일의 바이너리 값을 비교하여 변경되거나 추가된 바이너리 패턴을 검색한다(230). 바이너리 패턴 비교 모듈은 비교를 통해 검색된 부분의 주소를 포함하는 위치 정보를 테스트 케이스 생성 모듈에 전달할 수 있다.
테스트 케이스 생성 모듈은 상기 검색된 부분의 주소에 랜덤 데이터를 삽입하여 퍼징을 수행하기 위한 테스트 케이스를 생성한다(240). 일반적으로 하나의 주소에는 두자리의 16진수로 이루어진 바이너리 값이 입력될 수 있다. 따라서, 하나의 주소에는 16x16,즉 256에서 본래 데이터 값을 뺀 255 개의 랜덤 데이터가 삽입될 수 있다. 이에 따라, 총 N 개의 주소가 불일치 부분으로써 검색된 경우, N x 255 개의 테스트 케이스를 생성할 수 있다. 일 실시예에서, 테스트 케이스 생성 모듈은 상기 검색된 부분의 주소에 본래 바이너리 값을 제외한 나머지 바이너리 값을 순차적으로 대입하여 테스트 케이스를 생성할 수 있다. 취약점 검증 모듈은 생성된 테스트 케이스를 입력 데이터로 이용하여 해당 소프트웨어를 실행하고(250), 실행 중 소프트웨어의 오동작 등에 기반하여 취약점 점검 결과를 생성하고 출력한다(260).
도 3a 내지 3c는 본 발명의 일 실시예에 따른 소프트웨어 취약점 점검 장치에 포함된 모듈들의 동작을 설명하기 위한 도면이다.
도 3a를 참조하면, 사용자가 점검 대상 기능 선택 모듈을 통하여 마이크로 소프트 워드 프로세서의 표 그리기 기능에 대한 취약점 점검을 수행을 요청하는 경우, 비교 파일 생성 모듈은 제 1 파일 및 제 2 파일로써 각각 표가 삽입된 문서 파일과 빈문서 파일를 생성할 수 있다.
바이너리 패턴 비교 모듈(310)은 빈문서 파일 및 표 삽입 문서 파일의 바이 너리 값을 순차적으로 비교함으로써 변경 또는 추가된 바이너리 값을 검색할 수 있다. 예를 들어, 빈문서 파일의 바이너리 값이 " D0 CF FF FF FF CC D1 F9 D3 GG 33 DS 91"이고 표 삽입 문서 파일의 바이너리 값이 " D0 CF 2A B0 67 CC D1 F9 D3 GG 33 DS 91 ES FF FF FF B1 E2 "인 경우, 0x01 및 0x02에서는 바이너리 값이 서로 일치하지만 0x03 내지 0x05에서는 바이너리 값이 일치하지 않는다. 또한, 0x06 내지 0x13에서는 두 파일 사이에 바이너리 값이 일치하지만 0x14 내지 0x19에서는 표 삽입 문서 파일에만 바이너리 값이 존재한다. 따라서, 바이너리 패턴 비교 모듈은 바이너리 값이 불일치하는 주소인 0x03 내지 0x05 및 0x14 내지 0x19를 포함하는 위치 정보를 생성하고 이를 테스트 케이스 생성 모듈(320)에 전달할 수 있다.
도 3b를 참조하면, 테스트 케이스 생성 모듈(320)은 바이너리 패턴 비교 모듈로부터 바이너리 값이 불일치하는 주소에 대한 위치 정보를 수신하고, 수신한 위치 정보에 기반하여 랜덤한 데이터를 생성하여 삽입한다. 예를 들어, 0x03 내지 0x05 및 0x14 내지 0x19가 바이너리 값이 불일치하는 부분의 주소로써 테스트 케이스 생성 모듈(320)에 전달되는 경우 테스트 케이스 생성 모듈(320)은 각각의 주소에 대해서 255개의 랜덤 데이터 삽입이 가능하므로 9 x 255 = 2295 개의 문서 파일을 테스트 케이스로 생성하여 취약점 검증 모듈(330)에 전달할 수 있다.
도 3c를 참조하면, 취약점 검증 모듈(330)은 테스트 케이스로 생성된 각각의 문서 파일을 마이크로 소프트 워드 프로세서에서 실행함으로써 실행 중에 발생할 수 있는 오류에 대한 검증을 수행하여 취약점 점검 결과를 출력할 수 있다. 0x03의 바이너리 값 2A를 AA로 치환하여 생성된 문서 파일의 실행 중에 버퍼 오버플로우가 발생한 경우, 취약점 검증 모듈(330)은 "마이크로 소프트 워드 프로세서의 표 그리기 기능이 추가된 경우 0x03의 바이너리 값이 AA로 변경되면 버퍼 오버플로우의 취약점이 발견된다"라는 취약점 점검 결과 메시지를 출력할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 취약점 점검 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 취약점 점검 방법의 과정을 나타내는 순서도이다.
도 3a 내지 3c는 본 발명의 일 실시예에 따른 소프트웨어 취약점 점검 장치에 포함된 모듈들의 동작을 설명하기 위한 도면이다.
Claims (11)
- 소프트웨어의 취약점을 점검하기 위한 장치에 있어서,취약점 점검을 수행할 상기 소프트웨어의 기능을 선택하는 대상 기능 선택 모듈;상기 선택된 기능을 포함하는 제 1 파일 및 상기 선택된 기능을 포함하지 않는 제 2 파일을 생성하는 비교 파일 생성 모듈;상기 제 1 파일 및 상기 제 2 파일의 바이너리 값을 비교하여 변경 또는 추가된 바이너리 패턴을 검색하는 바이너리 패턴 비교 모듈;상기 검색된 바이너리 패턴에 기반하여 하나 이상의 테스트 케이스를 생성하는 테스트 케이스 생성 모듈; 및상기 하나 이상의 테스트 케이스에 기반하여 취약점 점검을 수행하고 취약점 점검 결과를 생성하는 취약점 검증 모듈을 포함하는 소프트웨어 취약점 점검 장치.
- 제 1항에 있어서,상기 바이너리 패턴 비교 모듈은 상기 변경 또는 추가된 바이너리 패턴이 위치한 주소를 포함하는 위치 정보를 생성하고,상기 테스트 케이스 생성 모듈은 상기 위치 정보에 기반하여 상기 하나 이상 의 테스트 케이스를 생성하는 소프트웨어 취약점 점검 장치.
- 제 1항에 있어서,상기 하나 이상의 테스트 케이스는 상기 변경 또는 추가된 바이너리 패턴이 위치한 주소에 본래의 바이너리 값을 제외한 나머지 바이너리 값을 순차적으로 치환하여 생성되는 소프트웨어 취약점 점검 장치.
- 제 1항에 있어서,취약점 검증 모듈은 상기 하나 이상의 테스트 케이스를 입력 데이터로 이용하여 상기 소프트웨어를 실행하고, 상기 소프트웨어의 오동작을 여부에 기반하여 상기 취약점 점검 결과를 생성하는 소프트웨어 취약점 점검 장치.
- 제 1항 내지 제 4항 중 어느 한 항에 있어서,상기 제 2 파일은 상기 소프트웨어에 의해 생성되는 초기화 파일인 소프트웨어 취약점 점검 장치.
- 소프트웨어의 취약점을 점검하기 위한 방법에 있어서,(a) 취약점 점검을 수행할 상기 소프트웨어의 기능을 선택하는 단계;(b) 상기 선택된 기능을 포함하는 제 1 파일을 생성하는 단계;(c) 상기 선택된 기능을 포함하지 않는 제 2 파일을 생성하는 단계;(d) 상기 제 1 파일 및 상기 제 2 파일의 바이너리 값을 비교하여 변경 또는 추가된 바이너리 패턴을 검색하는 단계;(e) 상기 검색된 바이너리 패턴에 기반하여 하나 이상의 테스트 케이스를 생성하는 단계;(f) 상기 하나 이상의 테스트 케이스에 기반하여 취약점 점검을 수행하는 단계; 및(e) 상기 취약점 점검의 수행 결과를 생성하는 단계를 포함하는 소프트웨어 취약점 점검 방법.
- 제 6항에 있어서, 상기 단계 (d) 이후에,상기 변경 또는 추가된 바이너리 패턴이 위치한 주소를 포함하는 위치 정보를 생성하는 단계를 더 포함하는 소프트웨어 취약점 점검 방법.
- 제 7항에 있어서,상기 단계 (e)는 상기 위치 정보에 기반하여 상기 하나 이상의 테스트 케이스를 생성하는 소프트웨어 취약점 점검 방법.
- 제 6항에 있어서,상기 하나 이상의 테스트 케이스는 상기 변경 또는 추가된 바이너리 패턴이 위치한 주소에 본래의 바이너리 값을 제외한 나머지 바이너리 값을 순차적으로 치환하여 생성되는 소프트웨어 취약점 점검 방법.
- 제 6항에 있어서,상기 단계 (f)는 상기 하나 이상의 테스트 케이스를 입력 데이터로 이용하여 상기 소프트웨어를 실행하고, 상기 소프트웨어의 오동작을 여부에 기반하여 상기 취약점 점검을 수행하는 소프트웨어 취약점 점검 방법.
- 제 6항 내지 제 10항 중 어느 한 항에 있어서,상기 제 2 파일은 상기 소프트웨어에 의해 생성되는 초기화 파일인 소프트웨어 취약점 점검 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070110850A KR100916329B1 (ko) | 2007-11-01 | 2007-11-01 | 소프트웨어 취약점 점검 장치 및 방법 |
US12/102,148 US8539449B2 (en) | 2007-11-01 | 2008-04-14 | Device and method for inspecting software for vulnerabilities |
JP2008122646A JP2009116847A (ja) | 2007-11-01 | 2008-05-08 | ソフトウェア脆弱点点検装置及び方法 |
CNA2008101256664A CN101425035A (zh) | 2007-11-01 | 2008-06-17 | 用于检查软件的漏洞的设备和方法 |
EP08161266.5A EP2058747B1 (en) | 2007-11-01 | 2008-07-28 | Device and method for inspecting software for vulnerabilities |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070110850A KR100916329B1 (ko) | 2007-11-01 | 2007-11-01 | 소프트웨어 취약점 점검 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090044656A KR20090044656A (ko) | 2009-05-07 |
KR100916329B1 true KR100916329B1 (ko) | 2009-09-11 |
Family
ID=40394217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070110850A KR100916329B1 (ko) | 2007-11-01 | 2007-11-01 | 소프트웨어 취약점 점검 장치 및 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8539449B2 (ko) |
EP (1) | EP2058747B1 (ko) |
JP (1) | JP2009116847A (ko) |
KR (1) | KR100916329B1 (ko) |
CN (1) | CN101425035A (ko) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043919B2 (en) | 2008-10-21 | 2015-05-26 | Lookout, Inc. | Crawling multiple markets and correlating |
US20110016531A1 (en) * | 2009-07-16 | 2011-01-20 | Michael Yeung | System and method for automated maintenance based on security levels for document processing devices |
CN101814053B (zh) * | 2010-03-29 | 2013-03-13 | 中国人民解放军信息工程大学 | 一种基于功能模型的二进制代码漏洞发现方法 |
US9015667B2 (en) * | 2010-10-06 | 2015-04-21 | Microsoft Technology Licensing, Llc | Fuzz testing of asynchronous program code |
CN103023710B (zh) * | 2011-09-21 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种安全测试系统和方法 |
CN103034580A (zh) * | 2011-09-29 | 2013-04-10 | 西门子公司 | 模糊测试的方法、装置和系统 |
US8856935B2 (en) * | 2012-02-07 | 2014-10-07 | International Business Machines Corporation | Automatic synthesis of unit tests for security testing |
JP5906855B2 (ja) * | 2012-03-19 | 2016-04-20 | 富士通株式会社 | テストデータ作成方法、テストデータ作成プログラム及びテストデータ作成装置 |
US9407443B2 (en) | 2012-06-05 | 2016-08-02 | Lookout, Inc. | Component analysis of software applications on computing devices |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
EP2877953A4 (en) * | 2012-07-25 | 2016-02-24 | Hewlett Packard Development Co | DETERMINATION OF APPLICATION WEAKNESSES |
CN102866948B (zh) * | 2012-08-30 | 2015-04-15 | 中国人民解放军63928部队 | 一种嵌入式基础软件测试平台及其测试方法 |
US9208215B2 (en) | 2012-12-27 | 2015-12-08 | Lookout, Inc. | User classification based on data gathered from a computing device |
KR101458930B1 (ko) | 2013-05-23 | 2014-11-07 | 한국전자통신연구원 | 멀티 노드를 이용하는 스마트 단말 퍼징 장치 및 그 방법 |
CN103268274B (zh) * | 2013-06-09 | 2015-11-18 | 浙江中控研究院有限公司 | 一种基于现场总线实验平台的测试方法及装置 |
US9098352B2 (en) * | 2013-07-17 | 2015-08-04 | Deja Vu Security, Llc | Metaphor based language fuzzing of computer code |
US10534914B2 (en) | 2014-08-20 | 2020-01-14 | Nippon Telegraph And Telephone Corporation | Vulnerability finding device, vulnerability finding method, and vulnerability finding program |
CN104199774B (zh) * | 2014-09-05 | 2017-02-22 | 北京奇虎科技有限公司 | 程序安全测试方法和装置 |
US9921941B2 (en) * | 2015-04-10 | 2018-03-20 | Siemens Aktiengesellschaft | Verification and validation of third party PLC code |
WO2016178816A1 (en) | 2015-05-01 | 2016-11-10 | Lookout, Inc. | Determining source of side-loaded software |
KR101640479B1 (ko) | 2015-08-28 | 2016-07-18 | (주)엔키소프트 | 소스코드기반 소프트웨어 취약점 공격행위 분석시스템 |
KR101689795B1 (ko) | 2015-10-28 | 2016-12-26 | 아주대학교산학협력단 | 통신 프로토콜 소프트웨어의 취약성 검출 방법 및 시스템 |
CN105447387B (zh) * | 2015-11-05 | 2018-06-19 | 工业和信息化部电信研究院 | 基于硬件隔离环境的可信应用检测的方法及装置 |
CN106815135B (zh) * | 2015-11-30 | 2021-04-06 | 阿里巴巴集团控股有限公司 | 漏洞检测方法及装置 |
US9473523B1 (en) * | 2016-02-04 | 2016-10-18 | International Business Machines Corporation | Execution of test inputs with applications in computer security assessment |
JP6542148B2 (ja) | 2016-03-18 | 2019-07-10 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
US9749349B1 (en) * | 2016-09-23 | 2017-08-29 | OPSWAT, Inc. | Computer security vulnerability assessment |
US11522901B2 (en) | 2016-09-23 | 2022-12-06 | OPSWAT, Inc. | Computer security vulnerability assessment |
KR101968544B1 (ko) * | 2017-03-10 | 2019-04-12 | 아주대학교산학협력단 | 소프트웨어 취약점 검출 방법 및 장치 |
JP6880933B2 (ja) * | 2017-03-31 | 2021-06-02 | 富士通株式会社 | プログラムテスト装置、テスト制御方法及びテスト制御プログラム |
US10218697B2 (en) | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
CN107526970B (zh) * | 2017-08-24 | 2020-05-19 | 安徽大学 | 基于动态二进制平台检测运行时程序漏洞的方法 |
KR101904911B1 (ko) | 2017-10-13 | 2018-10-08 | 한국인터넷진흥원 | 하이브리드 퍼징 기반 보안 취약점 자동 탐색 방법 및 그 장치 |
CN108667912B (zh) * | 2018-04-23 | 2021-03-23 | 中国人民解放军战略支援部队信息工程大学 | 一种云资源分配方法及装置 |
KR101981028B1 (ko) * | 2018-09-28 | 2019-05-23 | 한국인터넷진흥원 | 바이너리 기반 보안 취약점 탐색 시스템, 그 방법 및 프로그램 |
JP7139944B2 (ja) * | 2018-12-28 | 2022-09-21 | 株式会社Jvcケンウッド | データ生成装置、データ生成方法、及びプログラム |
US11210405B2 (en) | 2019-07-31 | 2021-12-28 | Blackberry Limited | Binary vulnerability determination |
KR20210067745A (ko) | 2019-11-29 | 2021-06-08 | 한국전자통신연구원 | 단방향 프로토콜 소프트웨어 퍼징을 위한 퍼징 데이터 전송 장치 및 방법 |
KR102209676B1 (ko) * | 2020-07-20 | 2021-01-28 | 세종대학교산학협력단 | 펌웨어 퍼징 장치 및 방법 |
CN112347484A (zh) * | 2020-10-27 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 软件漏洞检测方法、装置、设备及计算机可读存储介质 |
CN112445709B (zh) * | 2020-11-30 | 2022-09-30 | 安徽工业大学 | 一种通过gan解决afl测试模型数据不平衡的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0736688A (ja) * | 1993-07-22 | 1995-02-07 | Toshiba Corp | ソフトウェア品質管理システム |
KR20070092403A (ko) * | 2006-03-10 | 2007-09-13 | 한국전자통신연구원 | ActiveX Control 취약점 검사 및 검증방법과 ActiveX Control 식별 장치 및 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10232795A (ja) * | 1997-02-19 | 1998-09-02 | Hitachi Ltd | ソフトウェア部品組み合わせテスト方法 |
US7051322B2 (en) * | 2002-12-06 | 2006-05-23 | @Stake, Inc. | Software analysis framework |
US7237231B2 (en) * | 2003-03-10 | 2007-06-26 | Microsoft Corporation | Automatic identification of input values that expose output failures in a software object |
WO2006044835A2 (en) * | 2004-10-15 | 2006-04-27 | Kenai Systems, Inc. | Method, system and apparatus for assessing vulnerability in web services |
JP2006209521A (ja) * | 2005-01-28 | 2006-08-10 | Matsushita Electric Ind Co Ltd | テスト項目自動生成装置 |
JP4414373B2 (ja) * | 2005-06-30 | 2010-02-10 | 富士通株式会社 | プログラムの検証プログラム、プログラムの検証装置、プログラムの検証方法 |
US8468604B2 (en) * | 2005-08-16 | 2013-06-18 | Emc Corporation | Method and system for detecting malware |
US20070203973A1 (en) * | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Fuzzing Requests And Responses Using A Proxy |
US8528087B2 (en) * | 2006-04-27 | 2013-09-03 | Robot Genius, Inc. | Methods for combating malicious software |
US7594142B1 (en) * | 2006-06-30 | 2009-09-22 | Microsoft Corporation | Architecture for automated detection and analysis of security issues |
US7904963B2 (en) * | 2006-09-26 | 2011-03-08 | Microsoft Corporation | Generating code to validate input data |
US20080195676A1 (en) * | 2007-02-14 | 2008-08-14 | Microsoft Corporation | Scanning of backup data for malicious software |
US7953674B2 (en) * | 2007-05-17 | 2011-05-31 | Microsoft Corporation | Fuzzing system and method for exhaustive security fuzzing within an SQL server |
US7926114B2 (en) * | 2007-05-31 | 2011-04-12 | Microsoft Corporation | Testing software applications with schema-based fuzzing |
US7873945B2 (en) * | 2007-06-29 | 2011-01-18 | Microsoft Corporation | Automatically generating test cases for binary code |
-
2007
- 2007-11-01 KR KR1020070110850A patent/KR100916329B1/ko active IP Right Grant
-
2008
- 2008-04-14 US US12/102,148 patent/US8539449B2/en not_active Expired - Fee Related
- 2008-05-08 JP JP2008122646A patent/JP2009116847A/ja active Pending
- 2008-06-17 CN CNA2008101256664A patent/CN101425035A/zh active Pending
- 2008-07-28 EP EP08161266.5A patent/EP2058747B1/en not_active Not-in-force
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0736688A (ja) * | 1993-07-22 | 1995-02-07 | Toshiba Corp | ソフトウェア品質管理システム |
KR20070092403A (ko) * | 2006-03-10 | 2007-09-13 | 한국전자통신연구원 | ActiveX Control 취약점 검사 및 검증방법과 ActiveX Control 식별 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20090044656A (ko) | 2009-05-07 |
EP2058747A2 (en) | 2009-05-13 |
CN101425035A (zh) | 2009-05-06 |
US20090119647A1 (en) | 2009-05-07 |
EP2058747A3 (en) | 2011-11-16 |
EP2058747B1 (en) | 2017-09-06 |
JP2009116847A (ja) | 2009-05-28 |
US8539449B2 (en) | 2013-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100916329B1 (ko) | 소프트웨어 취약점 점검 장치 및 방법 | |
Tan et al. | relifix: Automated repair of software regressions | |
Chandra et al. | Angelic debugging | |
US20080126867A1 (en) | Method and system for selective regression testing | |
US7353505B2 (en) | Tracing the execution path of a computer program | |
Agosta et al. | Automated security analysis of dynamic web applications through symbolic code execution | |
US9274930B2 (en) | Debugging system using static analysis | |
Mirzaaghaei et al. | Automatically repairing test cases for evolving method declarations | |
US20150143179A1 (en) | System and Method for Progressive Fault Injection Testing | |
JP6142705B2 (ja) | オブジェクト指向言語のための記号テストドライバの反復生成 | |
Mehne et al. | Accelerating search-based program repair | |
Degiovanni et al. | µbert: Mutation testing using pre-trained language models | |
US11275860B2 (en) | System and method for software verification | |
CN114911711A (zh) | 一种代码缺陷分析方法、装置、电子设备及存储介质 | |
Jiang et al. | Input test suites for program repair: A novel construction method based on metamorphic relations | |
Kallingal Joshy et al. | Validating static warnings via testing code fragments | |
Mohammadi et al. | Automated repair of cross-site scripting vulnerabilities through unit testing | |
Brito et al. | Study of JavaScript Static Analysis Tools for Vulnerability Detection in Node. js Packages | |
JP4957521B2 (ja) | ソフトウェア部分テストシステム、それに用いる方法およびプログラム | |
Hua et al. | A sketching-based approach for debugging using test cases | |
Wüst et al. | Force Open: Lightweight black box file repair | |
DeMott et al. | Systematic bug finding and fault localization enhanced with input data tracking | |
DeMott et al. | Towards an automatic exploit pipeline | |
Jin et al. | Fault injection scheme for embedded systems at machine code level and verification | |
Van Thuy et al. | Automated large program repair based on big code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130710 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140630 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150703 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180903 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20190918 Year of fee payment: 11 |