KR102231722B1 - 취약점 중복판단방법 및 이를 이용하는 진단장치 - Google Patents
취약점 중복판단방법 및 이를 이용하는 진단장치 Download PDFInfo
- Publication number
- KR102231722B1 KR102231722B1 KR1020190036357A KR20190036357A KR102231722B1 KR 102231722 B1 KR102231722 B1 KR 102231722B1 KR 1020190036357 A KR1020190036357 A KR 1020190036357A KR 20190036357 A KR20190036357 A KR 20190036357A KR 102231722 B1 KR102231722 B1 KR 102231722B1
- Authority
- KR
- South Korea
- Prior art keywords
- vulnerability
- url
- hash value
- tag
- vulnerable
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- 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
-
- H04L61/1505—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
본 출원은 취약점 중복판단방법 및 이를 이용하는 진단장치에 관한 것으로서, 본 발명의 일 실시예에 의한 취약점 중복판단방법은, 진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출하는 취약점 추출단계; 상기 취약 URL 주소로부터, 상기 취약점에 대응하는 URL 해시(hash)값을 생성하는 해시생성단계; 및 상기 URL 해시값이 제1 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 중복판단단계를 포함할 수 있다.
Description
본 출원은 취약점 중복판단방법 및 이를 이용하는 진단장치에 관한 것으로서, 진단대상서버에서 발견한 취약점들의 중복을 제거할 수 있는 취약점 중복판단방법 및 이를 이용하는 진단장치에 관한 것이다.
최근 웹 서비스가 범람하고 웹 인터페이스가 사용자에게 친숙해짐에 따라 전통적 응용프로그램이 웹 기반 시스템으로 통합이 가속화되고 있다. 이러한, 웹 서비스의 발전 속에 웹 어플리케이션 자체의 문제점, 프로그래머의 보안에 대한 무지, 방화벽에서의 차단 불능, 침입탐지 회피 그리고 해킹 도구의 다양화와 같은 역기능이 심각한 문제점으로 부각되고 있다.
웹 어플리케이션에 대한 다양한 형태의 공격을 방지하기 위해서는 URL(Uniform Resource Locator)에 포함되어 있는 각 파라미터 별로 공격 코드가 침입하는 것을 차단하여야 하며, 각 파라미터 별로 공격 코드의 침입을 원천적으로 차단하기 위해서는 무엇보다도 각 URL에 포함된 모든 파라미터에 대해 각 공격 유형별로 취약성이 존재하는지 여부의 판단이 선행되어야 한다.
본 출원은, 진단대상서버에 대한 취약점 진단시 탐지되는 취약점들의 중복을 제거할 수 있는 취약점 중복판단방법 및 이를 이용하는 진단장치를 제공하고자 한다.
본 출원은, 취약점의 종류에 따라, 효과적으로 발견된 취약점들의 중복을 제거할 수 있는 취약점 중복판단방법 및 이를 이용하는 진단장치를 제공하고자 한다.
본 발명의 일 실시예에 의한 취약점 중복판단방법은, 진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출하는 취약점 추출단계; 상기 취약 URL 주소로부터, 상기 취약점에 대응하는 URL 해시(hash)값을 생성하는 해시생성단계; 및 상기 URL 해시값이 제1 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 중복판단단계를 포함할 수 있다.
본 발명의 일 실시예에 의한 취약점 중복판단방법은, 진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출하는 취약점 추출단계; 상기 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성하는 해시생성단계; 및 상기 태그 해시값이 제2 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 중복판단단계를 포함할 수 있다.
본 발명의 일 실시예에 의한 취약점 중복판단방법은, 진단대상서버로부터 취약점을 포함하는 취약 URL 주소를 추출하는 단계; 상기 취약 URL 주소로부터, 상기 취약점에 대응하는 URL 해시값을 생성하는 단계; 상기 URL 해시값을 제1 비교테이블 내에서 검색하는 단계; 상기 URL 해시값이 상기 제1 비교테이블 내에 존재하면, 상기 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성하는 단계; 상기 태그 해시값을 제2 비교테이블 내에서 검색하는 단계; 및 상기 태그 해시값이 상기 제2 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 단계를 포함할 수 있다.
본 발명의 일 실시예에 의한 진단장치는, 진단대상서버로부터, 취약점을 포함하는 취약 URL 주소를 추출하는 취약점 추출부; 상기 취약 URL 주소로부터 상기 취약점에 대응하는 URL 해시값을 생성하거나, 상기 취약 URL 주소에 연결된 응답페이지에 대응하는 태그 해시값을 생성하는 해시생성부; 및 상기 URL 해시값 또는 태그 해시값을 이용하여, 상기 취약점의 중복여부를 판단하는 중복판단부를 포함할 수 있다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 취약점 중복판단방법 및 이를 이용하는 진단장치에 의하면, 진단대상서버에 대한 취약점 진단시 탐지되는 취약점들의 중복을 제거할 수 있다. 따라서, 불필요한 취약점에 대한 정보가 지나치게 많아지게 되어 유의미한 탐지결과를 놓치는 등의 문제점을 방지할 수 있다. 또한, 취약점을 수정해야하는 포인트가 동일한 경우를 중복으로 간주하여 제거할 수 있다.
본 발명의 일 실시예에 의한 취약점 중복판단방법 및 이를 이용하는 진단장치는, 단순히 URL 주소를 직접 비교하는 것이 아니라, URL 주소의 구조를 비교하므로, 실질적으로 동일한 취약점들을 중복으로 판별할 수 있다. 또한, 발견된 취약점의 종류에 따라, URL 주소에 연결되는 응답 페이지의 구조를 더 포함하여 비교하므로, 취약점의 중복을 정확하게 판별할 수 있다.
다만, 본 발명의 실시예들에 따른 취약점 중복판단방법 및 이를 이용하는 진단장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도1은 본 발명의 일 실시예에 의한 취약점 진단 시스템을 나타내는 개략도이다.
도2는 본 발명의 일 실시예에 의한 진단장치를 나타내는 블록도이다.
도3은 본 발명의 일 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다.
도4는 본 발명의 일 실시예에 의한 취약점 중복판단방법의 URL 해시값 생성을 나타내는 순서도이다.
도5는 본 발명의 다른 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다.
도6은 본 발명의 다른 실시예에 의한 취약점 중복판단방법의 태그 해시값 생성을 나타내는 순서도이다.
도7은 본 발명의 또다른 실시예에 의한 취약점 중복 판단방법을 나타내는 순서도이다.
도2는 본 발명의 일 실시예에 의한 진단장치를 나타내는 블록도이다.
도3은 본 발명의 일 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다.
도4는 본 발명의 일 실시예에 의한 취약점 중복판단방법의 URL 해시값 생성을 나타내는 순서도이다.
도5는 본 발명의 다른 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다.
도6은 본 발명의 다른 실시예에 의한 취약점 중복판단방법의 태그 해시값 생성을 나타내는 순서도이다.
도7은 본 발명의 또다른 실시예에 의한 취약점 중복 판단방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도1은 본 발명의 일 실시예에 의한 취약점 진단 시스템을 나타내는 개략도이다.
도1을 참조하면, 본 발명의 일 실시예에 의한 취약점 진단 시스템은, 진단대상서버(200) 및 진단장치(100)를 포함할 수 있다.
이하, 도1을 참조하여 본 발명의 일 실시예에 의한 취약점 진단시스템을 설명한다.
진단장치(100)는 진단대상 서버(200)를 진단하여, 진단대상 서버(200)가 제공하는 웹 페이지, 웹 어플리케이션 등의 취약점을 추출할 수 있다. 즉, 진단대상 서버(200)의 하드웨어 또는 소프트웨어의 결함이나 설계상의 허점으로 인하여, 단말장치(1)의 사용자에게 허용된 권한 이상의 동작이나 허용된 범위 이상의 정보 열람, 변조, 유출을 가능하게 하는 약점에 대하여 점검을 수행할 수 있다.
진단장치(100)는 복수의 진단모듈들을 포함할 수 있으며, 각각의 진단모듈들을 통하여 SQL(Structured Query Language) Injection, XSS(Cross Site Scripting), SSRF(Server Side Request Forgery) 등 다양한 종류의 취약점에 대한 진단을 수행할 수 있다. 여기서 각각의 진단모듈들은 진단대상 서버(200)에 대한 모의공격 등을 수행하여, 진단대상 서버(200)의 취약점을 진단할 수 있다.
진단대상 서버(200)는 단말장치(1)에 웹 서비스를 제공하는 웹 서버 등일 수 있으며, 단말장치(1)의 요청에 응답하여 웹 페이지 등을 제공할 수 있다. 진단대상 서버(200)는 도1에 도시한 바와 같이 별도의 물리적 구성으로 구현할 수 있으며, 실시예에 따라서는 클라우드 서버 등에 포함된 가상화 머신으로 구현하는 것도 가능하다.
한편, 진단장치(100)는 진단대상 서버(200)의 취약점에 대한 정탐율을 높이고, 진단대상 서버(200)에 구축된 방어솔루션을 우회하기 위해서, 다양한 방식으로 진단대상서버(200)를 공격할 수 있다. 다만, 동일한 취약점이 각각 공격방식에 의해 중복하여 탐지될 수 있으며, 이 경우 진단자의 입장에서는 불필요한 취약점에 대한 정보가 지나치게 많아지게 될 수 있으며, 이로인하여 유의미한 탐지결과를 놓치게 되는 경우가 발생할 수 있다.
다만, 본 발명의 일 실시예에 의한 진단장치(100)는, 진단대상 서버(200)로부터 취약점 추출시, 중복된 취약점들을 판별하여 취약점에서 제외하는 것이 가능하다. 이하, 본 발명의 일 실시예에 의한 진단장치를 설명한다.
도2는 본 발명의 일 실시예에 의한 진단장치를 나타내는 블록도이다.
도2를 참조하면 본 발명의 일 실시예에 의한 진단장치(100)는, 취약점 추출부(110), 해시생성부(120) 및 중복판단부(130)를 포함할 수 있다.
취약점 추출부(110)는 진단대상서버로부터, 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소들을 추출할 수 있다. 취약점 추출부(110)에는 복수의 진단모듈들이 포함될 수 있으며, 각각의 진단모듈들은 각각 상이한 방식으로 진단대상 서버의 취약점을 진단할 수 있다. 여기서, 각각의 진단모듈들은 취약점 진단결과로 취약점을 포함하는 취약 URL 주소와, 취약 URL 주소에 포함된 취약 파라미터들을 추출할 수 있다.
해시생성부(120)는 추출한 각각의 취약점들을 특정할 수 있는 해시값을 생성할 수 있다. 여기서, 해시생성부(120)는 취약 URL 주소에 대응하는 URL 해시값 또는, 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성할 수 있다.
구체적으로, 해시생성부(120)는 취약 URL 주소의 구조를 이용하여 URL 해시값을 생성할 수 있다. 먼저, 해시생성부(120)는 취약 URL 주소에서 취약점으로 판단된 취약 파라미터의 파라미터 명칭 및 파라미터 값을 제거하여 URL 문자열을 생성할 수 있다. 여기서, 해시생성부(120)는 취약 URL 주소에서 취약 파라미터를 제외하여 URL 문자열을 생성하므로, 1개의 취약 URL 주소 내에 복수의 취약 파라미터가 포함된 경우를 각각 구별할 수 있다. 즉, 해시생성부(120)는 각각의 취약점별로 취약 URL 주소에서 제외되는 취약 파라미터를 달리 할 수 있으므로, 각각의 취약 파라미터마다 상이한 URL 문자열을 생성할 수 있다.
이후, 해시생성부(120)는 URL 문자열에 포함된 나머지 파라미터들의 파라미터값을 제거하고, 파라미터들의 파라미터 명칭을 정렬순서에 따라 재배열하여 재배열 문자열을 생성할 수 있다. 여기서, 취약 파라미터 이외의 나머지 파라미터들의 파라미터값들을 제거하므로, 파라미터 값만 상이하고 동일한 구조의 취약점들을 중복으로 처리하는 것이 가능하다. 예를들어, 웹 페이지의 특정게시판에 취약점이 존재하는 경우, 특정게시판에 포함된 각각의 게시글들의 URL 주소는, 게시물 번호를 나타내는 "no"의 파라미터값만이 상이하고 나머지 구조는 동일할 수 있다. 이 경우, 특정게시판에 포함된 전체 게시글들의 URL 주소가 전부 상이한 취약점으로 추출되는 것을 방지하기 위하여, 해시생성부(120)는 파라미터 "no"의 파라미터값들을 제거하고 URL 해시값을 생성할 수 있다. 즉, 해시생성부(120)는 기술적인 관점에서 취약점을 수정해야하는 포인트가 동일한 경우를 중복으로 간주할 수 있다.
재배열 문자열이 생성되면, 해시생성부(120)는 재배열 문자열을 해시함수에 입력하여, 재배열 문자열에 대응하는 URL 해시값을 생성할 수 있다. 실시예에 따라서는 재배열 문자열을 이용하여 각각의 중복여부를 판별하는 것도 가능하지만, 해시생성부(120)는 재배열 문자열을 해시값으로 변환하여 활용할 수 있다. 즉, 재배열 문자열을 URL 해시값으로 변환하여 데이터의 크기를 줄일 수 있으며, 비교테이블 내에서의 검색속도나 메모리 사용의 효율성 등을 향상시킬 수 있다.
취약 URL 주소가 "http://test.com/test.php?no=212&id=tester&title=test"이고, 취약 파라미터가 "title"인 경우를 예로 들면, 해시생성부(120)는 먼저 취약 파라미터의 파라미터 명칭인 "title"과 파라미터 값 "test"를 제거하여 URL 문자열을 "http://test.com/test.php?no=212&id=tester"를 생성할 수 있다. 이후, URL 문자열에 포함된 나머지 파라미터들인 "no"와 "id"의 파라미터값인 "212"와 "tester"를 각각 제거하여 "http://test.com/test.php?no=&id="를 생성할 수 있으며, "no"와 "id"를 알파벳 순서에 따라 재배열하여 "http://test.com/test.php?id=&no="를 재배열 문자열로 생성할 수 있다. 재배열 문자열이 생성된 이후에는, 재배열 문자열 "http://test.com/test.php?id=&no="을 SHA-256 등의 해시함수에 입력하여 대응하는 URL 해시값을 생성할 수 있다.
한편, 해시생성부(120)는 URL 해시값 이외에, 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성할 수 있다. 구체적으로, 취약 URL 주소에 대응하는 웹 페이지인 응답 페이지가 존재할 수 있으며, 각각의 응답 페이지는 HTML(Hypertext Markup Language) 코드로 구현될 수 있다. 이 경우, 해시생성부(120)는 응답 페이지의 HTML 코드에 포함된 태그들의 태그 명칭을 추출할 수 있으며, 이때 태그 명칭 중에서 컨텐츠용 태그에 대응하는 태그 명칭들은 제외시킬 수 있다. 즉, 응답 페이지의 구조를 특정할 수 있는 태그 해시값을 설정하기 위하여, 사용자 등이 임의로 입력할 수 있는 컨텐츠용 태그 등은 제외시킬 수 있다. 여기서, 컨텐츠용 태그에 대응하는 태그 명칭들은 미리 설정되어 있을 수 있다. 이후, 해시생성부(120)는 태그 명칭들을 HTML 코드에 기재된 순서에 따라 연결하여 태그 문자열을 생성할 수 있으며, 태그 문자열에 해시함수를 적용하여 태그 해시값을 생성할 수 있다.
<html> <head> <meta charset="UTF-8"> <title>이미지 태그</title> </head> <body> <a href="https://www.itworld.com/" target="_blank"> <img src ="img.png" alt="news icon image"/> </a> <br/> <img src ="img.png" alt="news icon image" width="70"/> </body> </html> |
예를들어, 응답 페이지의 HTML 코드는 상기 표1과 같이 구현될 수 있으며, 해시생성부(120)는 각각의 태그 <html>, <head>, <meta>, <title>, <body>, <a>, <img>, <br/> 등을 추출할 수 있다. 여기서, <img> 태그는 컨텐츠용 태그로 미리 설정되어 있을 수 있으며, 이 경우 해시생성부(120)는 <img> 태그를 제외시킬 수 있다. 따라서, 해시생성부(120)는 <img> 태그를 제외하고, 나머지 태그들을 HTML 코드 상에 기재된 순서에 따라 연결하여, "htmlheadmetatitle/titlebodya/abr//body/html"와 같은 태그 문자열을 생성할 수 있다. 이후, 태그 문자열을 SHA-256 등의 해시함수에 적용하여 태그해시값을 생성할 수 있다. 추가적으로, 해시생성부(120)는 각각의 취약점들의 종류에 따라, 생성하는 해시값을 종류를 달리할 수 있다. 예를들어, SQL injection 취약점의 경우에는 URL 해시값을 생성하고, XSS 취약점인 경우에는 URL 해시값과 태그 해시값을 모두 생성할 수 있다. 실시예에 따라서는, 취약점추출부(110)에 포함된 각각의 진단모듈별로 추출하는 취약점의 종류가 상이할 수 있으며, 이 경우 해시생성부(120)는 진단모듈별로 생성하는 해시값을 달리할 수 있다.
중복판단부(130)는 URL 해시값 또는 태그 해시값을 이용하여, 취약 URL 주소에 대한 중복여부를 판단할 수 있다. 여기서, 중복판단부(130)는 취약점의 종류에 따라, URL 해시값 또는 태그 해시값을 활용할 수 있다.
구체적으로, SQL injection 등에 대한 취약점의 경우, 중복판단부(130)는 URL 해시값을 이용하여 추출한 취약점들의 중복여부를 판단할 수 있다. 이 경우, 중복판단부(130)는 추출한 취약점 URL 주소에 대응하는 URL 해시값을 해시생성부(120)로부터 제공받을 수 있으며, 각각의 URL 해시값을 제1 비교테이블과 비교할 수 있다. 여기서, 제1 비교테이블에는 이전에 추출한 취약점에 대응하는 URL 해시값들이 저장되어 있을 수 있으며, 중복판단부(130)는 현재 중복여부를 판단하고자 하는 취약점에 대응하는 URL 해시값을 제1 비교테이블 내에서 검색할 수 있다. 실시예에 따라서는, 제1 비교테이블을 데이터 배열(dictionary) 등으로 구현할 수 있다.
이후, 제1 비교테이블 내에 URL 해시값과 동일한 해시값이 존재하면, 중복판단부(130)는 해당 URL 해시값에 대응하는 취약점을 중복으로 판단할 수 있으며, 해당 취약점을 취약점 정보에서 제외시킬 수 있다. 반면에, URL 해시값이 제1 비교테이블 내에 존재하지 않는 경우에는, 해당 취약점이 중복이 아닌 것으로 판단할 수 있다. 이때, 중복판단부(130)는 해당 취약점을 취약점 정보에 포함시킬 수 있으며, 해당 URL 해시값을 제1 비교테이블에 추가하여 업데이트할 수 있다.
한편, XSS 취약점 등의 경우에는, URL 주소의 구조가 동일하더라도, 응답 페이지의 구조가 상이하면 취약점이 서로 상이할 수 있다. 따라서, XSS 취약점의 중복판단을 위해서는 응답 페이지 구조의 유사도를 비교할 필요가 있다. 따라서, 중복제거부(130)는 1차적으로 URL 해시값을 이용하여 중복여부를 확인한 후, URL 해시값에서 중복으로 판단되면, 2차적으로 태그 해시값으로 중복여부를 다시 확인할 수 있다. 즉, XSS 취약점 등의 경우에는, URL 해시값 및 태그 해시값을 이용한 중복확인에서 모두 중복으로 판단된 경우에 한하여, 중복으로 판단할 수 있다.
구체적으로, 중복판단부(130)는 해시생성부(120)로부터 취약 URL 주소에 대응하는 URL 해시값을 제공받을 수 있으며, URL 해시값을 제1 비교테이블과 비교할 수 있다. 여기서, URL 해시값이 제1 비교테이블 내에 존재하는 경우에는, 중복판단부(130)가 태그 해시값을 해시생성부(120)에게 요청할 수 있다. 즉, 각각의 응답 페이지에 대한 태그 해시값을 전부 생성하는 것은 비효율적이므로, URL 해시값이 중복으로 판단된 경우에 한하여, 태그 해시값을 생성하도록 요청할 수 있다.
이후, 중복판단부(130)는 태그 해시값을 제2 비교테이블 내에서 검색할 수 있으며, 태그 해시값이 제2 비교테이블 내에 존재하는 경우에 한하여, 해당 취약 URL 주소를 중복으로 판단할 수 있다. 여기서, 제2 비교테이블에는 이전에 추출한 취약점에 대응하는 태그 해시값들이 저장되어 있을 수 있으며, 중복판단부(130)는 현재 중복여부를 판단하고자 하는 취약점에 대응하는 태그 해시값을 제2 비교테이블 내에서 검색할 수 있다. 제2 비교테이블은 데이터 배열(dictionary) 등으로 구현할 수 있다.
태그 해시값은 응답 페이지의 HTML 코드에 포함된 태그들을 이용하여 생성하는 것으로, 태그 해시값이 동일하다는 것은 응답 페이지의 HTML 구조가 동일한 것을 의미한다. 반면에, 태그 해시값이 상이한 경우에는 응답 페이지의 구조가 상이한 것으로, 응답 페이지의 구조 상의 차이로 인하여 상이한 XSS 취약점이 존재할 가능성이 존재한다. 따라서, 중복판단부(130)는 태그 해시값이 제2 비교테이블 내에 존재하면, 해당 태그 해시값에 대응하는 취약점을 중복으로 판단할 수 있다. 즉, 중복판단부(130)는 해당 취약점을 취약점 정보에서 제외시킬 수 있다.
반면에, URL 해시값이 제1 비교테이블 내에 존재하지 않거나, 태그 해시값이 제2 비교테이블 내에 존재하지 않는 경우에는, 해당 취약점이 중복이 아닌 것으로 판단할 수 있다. 이 경우 해당 취약점을 취약점 정보에 포함시킬 수 있으며, 해당 URL 해시값을 제1 비교테이블에 추가하거나 태그 해시값을 제2 비교테이블에 추가하여 업데이트할 수 있다.
도3은 본 발명의 일 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다.
도3을 참조하면 본 발명의 일 실시예에 의한 취약점 중복판단방법은, 취약점 추출단계(S110), 해시생성단계(S120), 중복판단단계(S130) 및 업데이트 단계(S140)를 포함할 수 있다. 여기서, 각 단계는 진단장치에 의하여 수행될 수 있다.
이하 도3을 참조하여 본 발명의 일 실시예에 의한 취약점 중복판단방법을 설명한다.
취약점 추출단계(S110)에서는, 진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출할 수 있다. 진단장치는 복수의 진단모듈들을 포함할 수 있으며, 각각의 진단모듈들은 각각 상이한 방식으로 진단대상 서버의 취약점을 진단할 수 있다. 여기서, 각각의 진단모듈들은 취약점 진단결과로 취약점을 포함하는 취약 URL 주소들을 추출할 수 있으며, 이후 각각의 취약 URL 주소에 대한 중복여부를 확인할 수 있다.
해시생성단계(S120)에서는, 취약 URL 주소로부터, 추출한 취약점에 대응하는 URL 해시(hash)값을 생성할 수 있다. SQL injection 취약점 등의 경우에는, 중복여부 판단시 URL 해시값을 이용할 수 있다. 따라서, 취약점 중복 판단을 위하여, 해시생성단계(S120)에서는 추출한 각각의 취약 URL 주소에 대응하는 URL 해시값을 생성할 수 있다.
구체적으로, 해시생성단계(S120)에서는, 도4에 도시한 바와 같은 단계들을 통하여 URL 해시값을 생성할 수 있다. 먼저, 진단장치는 취약 URL 주소에서 취약점으로 판단된 취약 파라미터의 파라미터 명칭 및 파라미터 값을 제거하여 URL 문자열을 생성할 수 있다(S121). 즉, 취약 파라미터를 제외하여, 동일한 취약 URL 주소 내에 복수의 취약 파라미터가 포함된 경우 등을 구별하여 각각 상이한 URL 해시값을 생성하도록 할 수 있다.
이후, URL 문자열에 포함된 나머지 파라미터들의 파라미터값을 제거하고, 파라미터들의 파라미터 명칭을 정렬순서에 따라 재배열하여 재배열 문자열을 생성할 수 있다(S122). 이 경우, 취약 파라미터 이외의 나머지 파라미터들의 파라미터값들을 제거하므로, 파라미터 값만 상이하고 동일한 구조의 취약점들을 중복으로 처리하는 것이 가능하다.
재배열 문자열이 생성된 이후에는, 재배열 문자열을 해시함수에 입력하여, 재배열 문자열에 대응하는 URL 해시값을 생성할 수 있다(S123).
중복판단단계(S130)에서는, URL 해시값이 제1 비교테이블 내에 존재하면, 추출한 취약점을 중복으로 판단하고, 해당 취약점을 취약점 정보에서 제외시킬 수 있다. 여기서, 제1 비교테이블은 이전에 추출한 취약점에 대응하는 URL 해시값들이 저장되어 있을 수 있으며, 진단장치는 현재 중복여부를 판단하고자 하는 취약점에 대응하는 URL 해시값이 제1 비교테이블 내에서 존재하는지를 확인할 수 있다.
제1 비교테이블 내에 URL 해시값과 동일한 해시값이 존재하는 경우에는, 해당 URL 해시값에 대응하는 취약점을 중복으로 판단할 수 있으며, 해당 취약점을 취약점 정보에서 제외시킬 수 있다.
반면에, URL 해시값이 제1 비교테이블 내에 존재하지 않으면, 업데이트 단계(S140)를 수행할 수 있다. 즉, 해당 취약점이 중복이 아닌 것으로 판단할 수 있으며, 추출한 취약점을 취약점 정보에 포함하고, URL 해시값을 제1 비교테이블에 추가하여 업데이트할 수 있다.
도5는 본 발명의 다른 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다.
도5를 참조하면 본 발명의 다른 실시예에 의한 취약점 중복판단방법은, 취약점 추출단계(S210), 해시생성단계(S220), 중복판단단계(S230) 및 업데이트 단계(S240)를 포함할 수 있다.
이하 도5를 참조하여 본 발명의 다른 실시예에 의한 취약점 중복판단방법을 설명한다.
취약점 추출단계(S210)에서는 진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출할 수 있으며, 해시생성단계(S220)에서는, 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성할 수 있다.
여기서, 해시생성단계(S220)에서는 도6에 도시한 바와 같이, 태그 해시값을 생성할 수 있다. 구체적으로, 취약 URL 주소에 대응하는 웹 페이지인 응답 페이지가 존재할 수 있으며, 각각의 응답 페이지는 HTML(Hypertext Markup Language) 코드로 구현될 수 있다. 이 경우, 진단장치는 응답 페이지의 HTML 코드에 포함된 태그들의 태그 명칭을 추출할 수 있으며(S221), 이때 태그 명칭 중에서 컨텐츠용 태그에 대응하는 태그 명칭들은 제외시킬 수 있다(S222). 즉, 응답 페이지의 구조를 특정할 수 있는 태그 해시값을 설정하기 위하여, 사용자 등이 임의로 입력할 수 있는 컨텐츠용 태그 등은 제외시킬 수 있다. 여기서, 컨텐츠용 태그에 대응하는 태그 명칭들은 미리 설정되어 있을 수 있다. 이후, 태그 명칭들을 HTML 코드에 기재된 순서에 따라 연결하여 태그 문자열을 생성할 수 있으며(S223), 태그 문자열에 해시함수를 적용하여 태그 해시값을 생성할 수 있다(S224).
이후, 태그 해시값이 제2 비교테이블 내에 존재하는지 확인할 수 있으며, 태그 해시값이 제2 비교테이블 내에 존재하면, 추출한 취약점을 중복으로 판단하여 취약점 정보에서 제외시킬 수 있다(S230). 여기서, 제2 비교테이블에는 이전에 추출한 취약점에 대응하는 태그 해시값들이 저장되어 있을 수 있으며, 진단장치는 현재 중복여부를 판단하고자 하는 취약점에 대응하는 태그 해시값을 제2 비교테이블 내에서 검색할 수 있다.
반면에, 태그 해시값이 제2 비교테이블 내에 존재하지 않는 경우에는, 업데이트단계(S240)를 수행할 수 있다. 즉, 태그 해시값이 제2 비교테이블 내에 존재하지 않으면, 해당 취약점이 중복이 아닌 것으로 판단할 수 있으며, 태그 해시값을 제2 비교테이블에 추가하여 업데이트할 수 있다.
한편, 도7은 본 발명의 다른 실시예에 의한 취약점 중복판단방법을 나타내는 순서도이다. 예를들어, XSS 취약점 등의 경우에는, URL 주소의 구조가 동일하더라도 응답 페이지의 구조가 상이하면, 서로 다른 취약점이 존재할 수 있다. 따라서, 취약 URL 주소의 구조 이외에 응답 페이지 구조의 유사도를 더 비교하여야 올바른 중복제거가 가능하다. 이를 위하여, 1차적으로 URL 해시값을 이용하여 중복여부를 확인하고, URL 해시값에서 중복으로 판단되면, 2차적으로 태그 해시값으로 중복여부를 다시 확인할 수 있다.
도7을 참조하면, 진단장치는 진단대상서버로부터 취약점을 포함하는 취약 URL 주소를 추출할 수 있으며(S310), 취약 URL 주소로부터 취약점에 대응하는 URL 해시값을 생성할 수 있다(S320). 이후, 진단장치는 URL 해시값을 제1 비교테이블 내에 존재하는지 검색할 수 있다.
여기서, URL 해시값이 제1 비교테이블 내에 존재하는 경우에는, 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성할 수 있다(S330). 즉, URL 해시값이 중복으로 판단된 경우에 한하여, 태그 해시값을 생성하도록 요청할 수 있다.
이후, 태그 해시값이 제2 비교테이블 내에서 존재하는지 검색할 수 있으며, 태그 해시값이 제2 비교테이블 내에 존재하는 경우에 한하여, 해당 취약 URL 주소를 중복으로 판단할 수 있다(S350).
반면에, URL 해시값이 제1 비교테이블 내에 존재하지 않거나(S340), 태그 해시값이 제2 비교테이블 내에 존재하지 않는 경우에는(S360), 해당 취약점이 중복이 아닌 것으로 판단할 수 있다. 이 경우 해당 취약점을 취약점 정보에 포함시킬 수 있으며, 해당 URL 해시값을 제1 비교테이블에 추가하거나 태그 해시값을 제2 비교테이블에 추가하여 업데이트할 수 있다(S340, S360).
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
1: 단말장치 100: 진단장치
110: 취약점 추출부 120: 해시생성부
130: 중복판단부 200: 진단대상서버
S110: 취약점 추출단계 S120: 해시생성단계
S130: 중복판단단계 S140: 업데이트단계
110: 취약점 추출부 120: 해시생성부
130: 중복판단부 200: 진단대상서버
S110: 취약점 추출단계 S120: 해시생성단계
S130: 중복판단단계 S140: 업데이트단계
Claims (9)
- 진단장치의 취약점 중복판단방법에 있어서,
진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출하는 취약점 추출단계;
상기 취약 URL 주소로부터, 상기 취약점에 대응하는 URL 해시(hash)값을 생성하는 해시생성단계; 및
상기 URL 해시값이 제1 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 중복판단단계를 포함하는 것으로,
상기 해시생성단계는
상기 취약 URL 주소에서 상기 취약점으로 판단된 취약 파라미터의 파라미터 명칭 및 파라미터 값을 제거하여 URL 문자열을 생성하는 단계;
상기 URL 문자열에 포함된 나머지 파라미터들의 파라미터값을 제거하고, 상기 파라미터들의 파라미터 명칭을 정렬순서에 따라 재배열하여 재배열 문자열을 생성하는 단계; 및
상기 재배열 문자열에 해시함수를 적용하여, 상기 URL 해시값을 생성하는 단계를 포함하는 것을 특징으로 하는 취약점 중복판단방법.
- 제1항에 있어서,
상기 URL 해시값이 상기 제1 비교테이블 내에 존재하지 않으면, 상기 취약점을 상기 취약점 정보에 포함하고, 상기 URL 해시값을 상기 제1 비교테이블에 추가하여 업데이트하는 업데이트 단계를 더 포함하는 것을 특징으로 하는 취약점 중복판단방법.
- 삭제
- 진단장치의 취약점 중복판단방법에 있어서,
진단대상서버로부터 취약점을 포함하는 취약 URL(Uniform Resource Locator) 주소를 추출하는 취약점 추출단계;
상기 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성하는 해시생성단계; 및
상기 태그 해시값이 제2 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 중복판단단계를 포함하는 것으로,
상기 해시생성단계는
상기 응답 페이지의 HTML(Hypertext Markup Language) 코드에 포함된 태그들의 태그 명칭을 추출하는 단계;
상기 태그 명칭 중에서 컨텐츠용 태그에 대응하는 태그 명칭들을 제거하는 단계;
상기 태그 명칭들을 상기 HTML 코드에 기재된 순서에 따라 연결하여, 태그 문자열을 생성하는 단계; 및
상기 태그 문자열에 해시함수를 적용하여, 상기 태그 해시값을 생성하는 단계를 포함하는 것을 특징으로 하는 취약점 중복판단방법.
- 제4항에 있어서,
상기 태그 해시값이 상기 제2 비교테이블 내에 존재하지 않으면, 상기 취약점을 상기 취약점 정보에 포함하고, 상기 태그 해시값을 상기 제2 비교테이블에 추가하여 업데이트하는 업데이트 단계를 더 포함하는 것을 특징으로 하는 취약점 중복판단방법.
- 삭제
- 진단장치의 취약점 정보 관리방법에 있어서,
진단대상서버로부터 취약점을 포함하는 취약 URL 주소를 추출하는 단계;
상기 취약 URL 주소로부터, 상기 취약점에 대응하는 URL 해시값을 생성하는 단계;
상기 URL 해시값을 제1 비교테이블 내에서 검색하는 단계;
상기 URL 해시값이 상기 제1 비교테이블 내에 존재하면, 상기 취약 URL 주소에 연결된 응답 페이지에 대응하는 태그 해시값을 생성하는 단계;
상기 태그 해시값을 제2 비교테이블 내에서 검색하는 단계; 및
상기 태그 해시값이 상기 제2 비교테이블 내에 존재하면, 상기 취약점을 중복으로 판단하고, 상기 취약점을 취약점 정보에서 제외시키는 단계를 포함하는 것으로,
상기 URL 해시값을 생성단계는
상기 취약 URL 주소에서 상기 취약점으로 판단된 취약 파라미터의 파라미터 명칭 및 파라미터 값을 제거하여 URL 문자열을 생성하는 단계;
상기 URL 문자열에 포함된 나머지 파라미터들의 파라미터값을 제거하고, 상기 파라미터들의 파라미터 명칭을 정렬순서에 따라 재배열하여 재배열 문자열을 생성하는 단계; 및
상기 재배열 문자열에 해시함수를 적용하여, 상기 URL 해시값을 생성하는 단계를 포함하고,
상기 태그 해시값을 생성하는 단계는
상기 응답 페이지의 HTML(Hypertext Markup Language) 코드에 포함된 태그들의 태그 명칭을 추출하는 단계;
상기 태그 명칭 중에서 컨텐츠용 태그에 대응하는 태그 명칭들을 제거하는 단계;
상기 태그 명칭들을 상기 HTML 코드에 기재된 순서에 따라 연결하여, 태그 문자열을 생성하는 단계; 및
상기 태그 문자열에 해시함수에 적용하여, 상기 태그 해시값을 생성하는 단계를 포함하는 것을 특징으로 하는 취약점 중복판단방법.
- 하드웨어와 결합되어 제1항, 제2항, 제4항, 제5항 및 제7항 중 어느 한 항의 취약점 중복판단방법을 수행하기 위하여 매체에 저장된 컴퓨터 프로그램.
- 진단대상서버로부터, 취약점을 포함하는 취약 URL 주소를 추출하는 취약점 추출부;
상기 취약 URL 주소로부터 상기 취약점에 대응하는 URL 해시값을 생성하거나, 상기 취약 URL 주소에 연결된 응답페이지에 대응하는 태그 해시값을 생성하는 해시생성부; 및
상기 URL 해시값 또는 태그 해시값을 이용하여, 상기 취약점의 중복여부를 판단하는 중복판단부를 포함하는 것으로,
상기 해시생성부는
상기 취약 URL 주소에서 상기 취약점으로 판단된 취약 파라미터의 파라미터 명칭 및 파라미터 값을 제거하여 URL 문자열을 생성하고, 상기 URL 문자열에 포함된 나머지 파라미터들의 파라미터값을 제거한 후 상기 파라미터들의 파라미터 명칭을 정렬순서에 따라 재배열하여 재배열 문자열을 생성하며, 상기 재배열 문자열에 해시함수를 적용하여 상기 URL 해시값을 생성하는 진단장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190036357A KR102231722B1 (ko) | 2019-03-28 | 2019-03-28 | 취약점 중복판단방법 및 이를 이용하는 진단장치 |
US16/801,459 US11570196B2 (en) | 2019-03-28 | 2020-02-26 | Method for determining duplication of security vulnerability and analysis apparatus using same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190036357A KR102231722B1 (ko) | 2019-03-28 | 2019-03-28 | 취약점 중복판단방법 및 이를 이용하는 진단장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200114484A KR20200114484A (ko) | 2020-10-07 |
KR102231722B1 true KR102231722B1 (ko) | 2021-03-25 |
Family
ID=72607420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190036357A KR102231722B1 (ko) | 2019-03-28 | 2019-03-28 | 취약점 중복판단방법 및 이를 이용하는 진단장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11570196B2 (ko) |
KR (1) | KR102231722B1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11201896B1 (en) * | 2019-05-07 | 2021-12-14 | Rapid7, Inc. | Vulnerability validation using lightweight offensive payloads |
US11218503B2 (en) * | 2019-07-19 | 2022-01-04 | Jpmorgan Chase Bank, N.A. | System and method for implementing a vulnerability management module |
US11429688B2 (en) * | 2020-03-19 | 2022-08-30 | International Business Machines Corporation | Correcting a URL within a REST API call |
CN113342673B (zh) * | 2021-06-25 | 2024-07-02 | 深圳前海微众银行股份有限公司 | 漏洞检测方法、设备及可读存储介质 |
TWI774582B (zh) * | 2021-10-13 | 2022-08-11 | 財團法人工業技術研究院 | 惡意超文本傳輸協定請求的偵測裝置和偵測方法 |
US20230214495A1 (en) * | 2022-01-04 | 2023-07-06 | International Business Machines Corporation | Dynamic prioritization of vulnerability exclusion renewals |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006215735A (ja) * | 2005-02-02 | 2006-08-17 | Mitsubishi Electric Corp | 重複Webサイト検出装置 |
KR101725404B1 (ko) * | 2015-11-06 | 2017-04-11 | 한국인터넷진흥원 | 웹사이트 점검 장치 및 그 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103562923B (zh) * | 2011-05-31 | 2016-09-07 | 惠普发展公司,有限责任合伙企业 | 应用程序安全测试 |
US9811550B2 (en) * | 2014-12-02 | 2017-11-07 | Ca, Inc. | Security for multi-tenant deduplication datastore against other tenants |
WO2017068617A1 (ja) * | 2015-10-19 | 2017-04-27 | 株式会社日立製作所 | ストレージシステム |
CN109977677A (zh) * | 2017-12-28 | 2019-07-05 | 平安科技(深圳)有限公司 | 漏洞信息收集方法、装置、设备及可读存储介质 |
US20200097662A1 (en) * | 2018-09-25 | 2020-03-26 | Ca, Inc. | Combined threat score for container images |
-
2019
- 2019-03-28 KR KR1020190036357A patent/KR102231722B1/ko active IP Right Grant
-
2020
- 2020-02-26 US US16/801,459 patent/US11570196B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006215735A (ja) * | 2005-02-02 | 2006-08-17 | Mitsubishi Electric Corp | 重複Webサイト検出装置 |
KR101725404B1 (ko) * | 2015-11-06 | 2017-04-11 | 한국인터넷진흥원 | 웹사이트 점검 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20200314135A1 (en) | 2020-10-01 |
KR20200114484A (ko) | 2020-10-07 |
US11570196B2 (en) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102231722B1 (ko) | 취약점 중복판단방법 및 이를 이용하는 진단장치 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
KR101001132B1 (ko) | 웹 어플리케이션의 취약성 판단 방법 및 시스템 | |
CN110225029B (zh) | 注入攻击检测方法、装置、服务器及存储介质 | |
CN109918907B (zh) | Linux平台进程内存恶意代码取证方法、控制器及介质 | |
KR20140043081A (ko) | 애플리케이션 보안 검사 | |
KR20090108000A (ko) | 컴퓨터 사기를 탐지하는 방법 및 장치 | |
CN111104579A (zh) | 一种公网资产的识别方法、装置及存储介质 | |
CN109547294B (zh) | 一种基于固件分析的联网设备型号探测方法、装置 | |
CN111881455A (zh) | 一种固件安全分析的方法及装置 | |
CN111770079B (zh) | 一种web框架注入漏洞检测方法及装置 | |
CN111159482A (zh) | 数据校验方法及系统 | |
CN112306753B (zh) | 一种数据修复方法、装置及系统 | |
CN107153692B (zh) | 一种字符串匹配的方法及设备 | |
CN111949537A (zh) | 接口的测试方法、装置、设备和介质 | |
JP2009230618A (ja) | 設計書作成プログラム、該装置、及び該方法 | |
CN103095698A (zh) | 客户端软件的修复方法、装置和通信系统 | |
CN115001724B (zh) | 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质 | |
CN115186001A (zh) | 一种补丁处理方法和装置 | |
US20200311169A1 (en) | Apparatus and method for determining types of uniform resource locator | |
CN116702146B (zh) | 一种Web服务器的注入漏洞扫描方法和系统 | |
CN117294527B (zh) | 一种攻击判定方法、装置、存储介质及设备 | |
CN115640170B (zh) | 一种大数据同步备份及校验方法 | |
CN114257511B (zh) | 一种硬件负载均衡垃圾配置优化的方法、系统、设备及可读存储介质 | |
CN108512818A (zh) | 检测漏洞的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |