KR101001132B1 - 웹 어플리케이션의 취약성 판단 방법 및 시스템 - Google Patents

웹 어플리케이션의 취약성 판단 방법 및 시스템 Download PDF

Info

Publication number
KR101001132B1
KR101001132B1 KR1020080016046A KR20080016046A KR101001132B1 KR 101001132 B1 KR101001132 B1 KR 101001132B1 KR 1020080016046 A KR1020080016046 A KR 1020080016046A KR 20080016046 A KR20080016046 A KR 20080016046A KR 101001132 B1 KR101001132 B1 KR 101001132B1
Authority
KR
South Korea
Prior art keywords
vulnerability
attack
fixed factor
determination
factor
Prior art date
Application number
KR1020080016046A
Other languages
English (en)
Other versions
KR20090090685A (ko
Inventor
전상훈
Original Assignee
엔에이치엔비즈니스플랫폼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔비즈니스플랫폼 주식회사 filed Critical 엔에이치엔비즈니스플랫폼 주식회사
Priority to KR1020080016046A priority Critical patent/KR101001132B1/ko
Priority to US12/135,267 priority patent/US8533328B2/en
Publication of KR20090090685A publication Critical patent/KR20090090685A/ko
Application granted granted Critical
Publication of KR101001132B1 publication Critical patent/KR101001132B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

유알엘에 포함된 인자를 구분하여 구분된 인자에 따라 선택적으로 웹 어플리케이션의 취약성을 판단할 수 있는 본 발명의 일 측면에 따른 웹 어플리케이션의 취약성 판단 방법은 검사 대상 웹사이트로부터 추출된 유알엘(Uniform Resource Locator)링크의 인자들 중 고정인자를 선별하는 단계; 상기 선별된 고정인자에 대해 취약성 판단 완료 여부를 판단하는 단계; 상기 선별된 고정인자가 취약성 판단이 완료되지 않은 것인 경우, 상기 고정인자에 대한 입력값에 각 공격 유형 별로 소정 공격 패턴을 삽입하는 단계; 및 상기 공격패턴이 삽입된 유알엘 링크의 입력에 대한 응답을 분석하여 각 공격 유형에 대한 상기 고정인자의 취약성을 판단하는 단계를 포함한다.
웹, 어플리케이션, 취약성, 판단, 침입

Description

웹 어플리케이션의 취약성 판단 방법 및 시스템{Method and System for Determining Vulnerability of Web Application}
본 발명은 웹 보안에 관한 것으로서 보다 상세하게는 웹 어플리케이션의 취약성을 판단할 수 있는 방법 및 시스템에 관한 것이다.
통신기술의 발달 및 인터넷의 대중화로 인해, 오프라인을 통해 수행되던 많은 업무들이 온라인 상에서 수행되고 있다. 기존의 오프라인에서 수행되던 많은 업무들이 온라인 상에서 수행되도록 하기 위해 각 서비스 제공자들은 일종의 창구 역할을 수행할 수 있는 '웹 어플리케이션(Web Application)'을 사용자에게 제공하게 된다. 그러나, 웹 어플리케이션을 통해 입출력 되는 정보들 중에는 사용자의 금융정보 등 외부로 유출되어 악용될 시 사용자에게 직접적이고 금전적인 피해를 입힐 수 있는 정보들이 많이 있다.
따라서 소위 말하는 해커들은 이러한 정보에 접근하기 위해서 정보의 유일한 통로인 웹 어플리케이션으로 공격목표를 옮겨가는 추세이며, 보안사항이 고려되지 않은 웹 어플리케이션은 이러한 공격에 쉽게 무너질 수 밖에 없는 상황이다.
OWASP(Open Web Application Security Project)에서 발표한 'A Guide to Building Secure Web Applications'라는 문서에서는 이러한 웹 어플리케이션에 대한 공격의 유형으로, SQL Injection, Cook Spoofing 및 Injection, File Upload 및 Download, Parameter Manipulation, XSS(Cross Site scripting) 등을 예시하고 있는데, 이러한 웹 어플리케이션에 대한 공격의 유형 중 현재 가장 문제가 되는 것은 SQL Injection 및 XSS로 판단되고 있다.
SQL Injection이란 악의적인 명령어 주입 공격의 한 형태로써 웹사이트의 사용자 인증 창이나 URL 직접 입력 창 등을 통해 비정상적인 SQL 명령어를 입력함으로써 SQL 쿼리(Query)를 변조하여 허가되지 않은 정보를 취득하는 공격기법을 의미한다. 이러한 SQL Injection이 발생하게 되는 경우, 사용자 인증이 비정상적으로 통과되거나 데이터베이스에 저장된 데이터가 임의로 열람되거나 데이터베이스의 시스템 명령을 이용하여 시스템 조작이 가능하게 되는 피해가 발생할 수 있다.
XSS는 동적 생성 웹페이지에 악의적인 스크립트를 삽입하여 사용자가 해당 웹페이지를 열람했을 경우, 삽입된 스크립트가 실행되도록 함으로써 사용자의 데이터를 탈취하는 공격기법을 의미한다. 이러한 XSS가 발생하게 되는 경우, 사용자의 쿠키 정보가 유출되거나 사용자의 단말에 악성코드가 실행되는 피해가 발생할 수 있다.
이러한 웹 어플리케이션에 대한 다양한 형태의 공격을 방지하기 위해서는 유알엘에 포함되어 있는 각 인자 별로 공격 코드가 침입하는 것을 차단하여야 하며, 각 인자별로 공격 코드의 침입을 원천적으로 차단하기 위해서는 무엇보다도 각 유알엘에 포함된 모든 인자에 대해 각 공격 유형 별로 취약성이 존재하는지 여부의 판단이 선행되어야 한다.
그러나, 유알엘에 포함된 인자들 중에는 동일한 인자들이 많이 존재함에도 불구하고, 종래의 각 유알엘 인자별 취약성 여부 판단 방법은 유알엘에 포함된 모든 인자를 대상으로 취약성 여부를 판단하였으므로, 취약성 판단에 너무 많은 시간이 소요된다는 문제점과 이미 판단이 완료된 유알엘 또는 인자에 대해서도 중복적으로 취약성 판단이 수행될 수 있다는 문제점이 있다. 특히, 이러한 문제점은 포탈 웹사이트와 같이 그 규모가 큰 웹사이트일수록 더욱 심각해진다 할 것이다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 유알엘에 포함된 인자를 구분하여 구분된 인자에 따라 선택적으로 웹 어플리케이션의 취약성을 판단할 수 있는 웹 어플리케이션의 취약성 판단 방법 및 시스템을 제공하는 것을 기술적 과제로 한다.
또한, 본 발명은 웹 어플리케이션의 취약성이 판단된 유알엘 링크에 대해서는 중복 판단을 방지할 수 있는 웹 어플리케이션의 취약성 판단 방법 및 시스템을 제공하는 것을 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 웹 어플리케이션의 취약성 판단 방법은 검사 대상 웹사이트로부터 추출된 유알엘(Uniform Resource Locator)링크의 인자들 중 고정인자를 선별하는 단계; 상기 선별된 고정인자에 대해 취약성 판단 완료 여부를 판단하는 단계; 상기 선별된 고정인자가 취약성 판단이 완료되지 않은 것인 경우, 상기 고정인자에 대한 입력값에 각 공격 유형 별로 소정 공격 패턴을 삽입하는 단계; 및 상기 공격패턴이 삽입된 유알엘 링크의 입력에 대한 응답을 분석하여 각 공격 유형에 대한 상기 고정인자의 취약성을 판단하는 단계를 포함한다.
이때, 상기 고정인자 선별 단계 이전에, 상기 검사 대상 웹사이트의 메인 웹페이지로부터 상기 유알엘 링크를 추출하는 단계를 더 포함할 수 있으며, 상기 고 정인자 선별단계에서, 상기 고정인자는 상기 유알엘 링크에 포함된 인자 구분 기호의 바로 좌측에 위치하는 인자로 정의되는 것을 특징으로 한다.
한편, 상기 공격 패턴 삽입 단계에서, 상기 공격 패턴은 상기 공격 패턴이 상기 각 공격 유형 별로 저장되어 있는 제1 데이터베이스로부터 추출될 수 있고, 각 공격 유형별 공격 패턴은 문자 형태로 구성되며, 상기 공격 유형은 SQL Injection, Blind SQL Injection, 및 XSS(Cross-Site Scripting)중 적어도 하나를 포함할 수 있다.
일 실시예에 있어서, 상기 취약성 판단 단계 이후에, 상기 취약성 판단 단계에서 상기 고정인자가 취약한 것으로 판단된 경우, 상기 고정인자가 취약한 것으로 판단된 공격 유형 별로 상기 고정인자와 상기 웹 사이트의 유알엘 주소를 매핑시킨 취약성 판단결과를 생성하는 단계를 더 포함할 수 있다.
한편, 상기 취약성 판단 단계에서, 상기 공격 패턴이 삽입된 유알엘 링크의 입력에 대한 HTTP 응답 패턴과 기 저장되어 있는 취약성 결과 패턴과의 비교를 통해 상기 고정인자의 취약성을 판단할 수 있다.
또한, 상기 취약성 판단 단계 이후에, 취약성 판단이 완료된 유알엘 링크 정보를 저장하는 단계를 더 포함할 수 있다.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 웹 어플리케이션의 취약성 판단 검사 대상 웹사이트로 추출된 유알엘(Uniform Resource Locator)링크의 인자들 중 고정인자를 선별하는 고정인자 선별부; 상기 선별된 고정인자에 대해 취약성 판단 완료 여부를 판단하는 중복검사 판단부; 상기 선별된 고정인자가 취약성 판단이 완료되지 않은 것인 경우, 상기 고정인자에 대한 입력값에 각 공격 유형 별로 소정 공격 패턴을 삽입하는 패턴 삽입부; 및 상기 공격패턴이 삽입된 상기 유알엘 링크의 입력에 대한 응답을 분석하여 상기 고정인자의 취약성을 판단하는 취약성 판단부를 포함한다.
상술한 바와 같이 본 발명에 따르면, 유알엘 링크에 포함된 인자를 구분하여 유알엘에 포함된 고정인자들 중 그 입력값이 동일한 고정인자의 경우 어느 하나에 대해서만 웹 어플리케이션의 취약성을 판단함으로써 반복되는 고정인자에 대해 중복 검사가 수행되는 것을 방지할 수 있어 웹 어플리케이션의 취약성 판단에 소요되는 시간을 감소시킬 수 있다는 효과가 있다.
또한, 본 발명은 웹 어플리케이션의 취약성 판단 대상이 되는 유알엘 링크 중 이미 취약성 판단이 완료된 유알엘 링크는 제외함으로써 중복적인 판단을 방지할 수 있다는 효과도 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 웹 어플리케이션의 취약성 판단 시스템의 개략적인 구성을 보여주는 블록도이다. 웹 어플리케이션(Web Application)의 취약성 판단 시스템(100)은 네트워크(200)를 통해 각종 웹서버(300)에 연결되어, 각 웹서버(300)에 의해 제공되는 웹 어플리케이션의 취약성을 판단한다.
이러한 웹 어플리케이션 취약성 판단 시스템(100)은 도시된 바와 같이, 유알 엘 링크 추출부(110), 고정인자 선별부(112), 중복검사 판단부(114), 공격 패턴 삽입부(118), 취약성 판단부(122), 및 판단결과 생성부(124)를 포함한다.
유알엘 링크 추출부(110)는 검사 대상이 되는 웹 사이트의 유알엘(Uniform Resource Locator)을 이용하여 해당 웹사이트를 운영하는 웹서버(300)에 접속한 후 해당 웹사이트로부터 유알엘 링크를 추출하고, 추출된 유알엘 링크를 후술할 고정인자 선별부(112)로 제공한다.
일 실시예에 있어서, 유알엘 링크 추출부(110)는 해당 웹사이트의 메인 웹페이지로부터 메인 웹페이지에 포함되어 있는 모든 유알엘 링크들을 추출할 수 있는데, 이때, 추출된 유알엘 링크 중에서 해당 웹사이트의 유알엘 주소가 아닌 외부 유알엘 주소를 포함하는 유알엘 링크는 검사 대상 유알엘 링크에서 제외할 수 있다.
상술한 실시예에 있어서, 유알엘 링크 추출부(110)가 필수적인 구성요소인 것으로 기재하였으나, 검사 대상이 되는 웹사이트에 포함된 유알엘 링크들은 별도의 장치로부터 제공받을 수도 있으므로, 이러한 유알엘 링크 추출부(110)는 선택적으로 포함될 수 있을 것이다.
고정인자 선별부(112)는 유알엘 링크 추출부(110)로부터 제공되는 유알엘 링크 내에서 고정인자를 선별한다. 유알엘 링크 내에서는 웹 어플리케이션에 의해 생성되는 인자인 고정인자와 이러한 고정인자에 대한 입력값인 가변인자가 포함되어 있다. 일 실시예에 있어서, 고정인자 선별부(112)는 "="와 같은 인자 구분 기호를 기준으로 인자 구분 기호의 바로 좌측에 위치하는 인자를 고정인자로 선별할 수 있다.
예컨대, "www.xxx.com/vuln.asp?idx=1&cd=1234"와 같은 유알엘 링크의 경우, 인자 구분 기호인 "="와 바로 좌측에 위치하는 "idx"및 "cd"가 고정인자로 선별되게 되는 것이다.
본 발명에서, 유알엘 링크 내에서 고정인자를 선별하는 이유는, 각 유알엘 링크들 중에서 고정인자는 동일하지만 해당 고정인자에 대한 입력값들인 가변인자만이 상이한 유알엘 링크들이 대부분이므로, 고정인자는 동일하나 해당 고정인자에 대한 가변인자가 상이한 유알엘 링크들은 그 중 어느 하나에 대해서만 취약성 여부를 판단함으로써 취약성 판단에 소요되는 시간을 감소시키기 위한 것이다.
중복검사 판단부(114)는 고정인자 선별부(112)에 의해 선별된 고정인자가 이미 취약성 여부가 판단된 것인지 여부를 판단한다. 일 실시예에 있어서, 본 발명에서는 후술할 취약성 판단부(122)에 의해 취약성이 판단된 고정인자는 해당 유알엘과 함께 매핑되어 결과 데이터베이스(116)의 제1 테이블(미도시)에 저장되게 되는데, 중복검사 판단부(114)는 이러한 결과 데이터베이스(116)에 저장되어 있는 제1 테이블을 참조하여 선별된 고정인자가 취약성이 판단된 것인지 여부를 판단하게 되는 것이다.
판단결과 선별된 고정인자가 이미 취약성이 판단된 것으로 판단되는 경우, 중복검사 판단부(114)는 동일한 유알엘 링크 내에 포함된 다른 고정인자에 대해서도 중복검사 여부를 반복적으로 수행한다.
한편, 판단결과 선별된 고정인자가 취약성이 판단되지 않은 것으로 판단되는 경우, 중복검사 판단부(114)는 그 결과를 공격 패턴 삽입부(118)로 전달한다.
공격 패턴 삽입부(118)는 중복검사 판단부(114)에 의해 취약성 판단이 수행되지 않은 것으로 판단된 고정인자의 입력값에 각 공격 유형 별로 미리 정해져 있는 공격 패턴을 삽입한다. 이때, 각 공격 유형 별 공격 패턴은 각 공격 유형 별로 공격 패턴이 저장되어 있는 패턴 데이터베이스(120)로부터 획득할 수 있다.
일 실시예에 있어서, 공격 유형에는 SQL Injection, Blind SQL Injection, 및 XSS(Cross-Site Scripting, 이하, 'XSS'라 함) 중 적어도 하나가 포함된다.
앞에서도 언급한 바와 같이, SQL Injection이란 웹사이트의 사용자 인증 창이나 URL 직접 입력 창 등을 통해 비정상적인 SQL 명령어를 입력함으로써 SQL 쿼리(Query)를 변조하여 허가되지 않은 정보를 취득하는 공격기법을 의미하고, XSS는 동적 생성 웹페이지에 악의적인 스크립트를 삽입하여 사용자가 해당 웹페이지를 열람했을 경우, 삽입된 스크립트가 실행되도록 함으로써 사용자의 데이터를 탈취하는 공격기법을 의미한다. 한편, Blind SQL Injection은 SQL Injection에 대한 방어책을 우회하기 위해 생성된 것으로서 SQL Injection이 더욱 지능화 된 것을 의미한다.
일 실시예에 있어서, SQL Injection 또는 Blind SQL Injection 유형의 공격에 대한 취약성 판단을 위해, 공격 패턴 삽입부(118)는 고정인자의 입력값에 싱글쿼테이션인"'", 더블대쉬인 "--", 또는 "#"과 같은 특수 문자로 된 공격 패턴을 삽입할 수 있다. 예컨대, 유알엘 링크가 "www.target.com/vuln.asp?idx=1&cd=1234"이고, 선별된 고정인자가 "cd"인 경우, 고정인자"cd"의 입력값인1234에 "'"를 삽입 하는 것이다. 이로 인해 유알엘 링크는 "www.xxx.com/vuln.asp?idx=1&cd=1234'"로 변형된다.
즉, "'"와 같은 공격코드를 고정변수의 입력값에 삽입함으로써 이러한 공격코드가 포함된 유알엘 링크를 웹서버로 제공하여 웹서버가 이에 대해 에러 메시지를 발생하도록 하는 것이다.
한편, XSS유형의 공격에 대한 취약성 판단을 위해 공격 패턴 삽입부(118)는 "<" 또는 ">"와 같은 특수 문자로 된 공격 패턴 또는 "+onmouseover=alert(test)+"와 같은 공격 패턴을 삽입할 수 있다.
취약성 판단부(122)는 공격 패턴 삽입부에 의해 공격 패턴이 삽입된 유알엘 링크를 웹서버(300)로 제공하고, 웹서버(300)로부터 수신되는 응답의 분석을 통해 유알엘 링크에 포함되어 있는 각 공격 유형에 대한 고정인자들의 취약성을 판단한다.
일 실시예에 있어서, 취약성 판단부(122)는 공격 패턴이 삽입된 유알엘 링크의 입력에 대한 HTTP 응답을 분석함으로써 해당 유알엘 링크에 포함된 고정인자의 취약성을 판단할 수 있다. 이를 위해, 미리 패턴 데이터베이스(120)에 각 공격 유형 별로 각 공격 유형에 대해 취약한 경우 표시될 수 있는 HTTP응답 패턴들이 저장되어 있고, 취약성 판단부(122)는 공격 패턴이 삽입된 유알엘 링크의 입력에 대한 HTTP응답 패턴이 패턴 데이터베이스(120)에 저장되어 있는 HTTP 응답 패턴들에 포함되어 있는 지 여부를 판단할 수 있다. 판단결과, 포함되어 있는 경우, 해당 고정인자는 해당 공격 유형에 대해 취약한 것으로 판단된다.
예컨대, SQL Injection 또는 Blind SQL Injection의 공격 유형에 취약할 때 자주 발생할 수 있는 HTTP응답 패턴인 "HTTP 500 Error" "Unclosed quotation mark", 또는"ADODB.Command"가 패턴 데이터베이스(120)에 저장되어 있다고 가정하는 경우, 공격 패턴으로 "'"이 삽입된 유알엘 링크 ""에 대한 HTTP 응답이 도 2a에 도시된 바와 같이, "Unclosed quotation mark"를 포함하고 있거나, 공격 패턴으로 "'"이 삽입된 유알엘 링크"www.xxx.com/vuln.asp?idx=1&cd=1234'"에 대한 HTTP 응답이 도 2b에 도시된 바와 같이 "HTTP 500 Error"를 포함하고 있으므로, 유알엘 링크에 포함된 고정인자 "id"및"cd"는 SQL Injection 또는 Blind SQL Injection의 공격 유형에 취약한 것으로 판단하는 것이다.
또한, XSS 공격 유형의 경우, 도 3에 도시된 바와 같이, 공격 패턴으로 "<script>alert(document.cookie)</script>"가 삽입된 유알엘 링크에 대한 HTTP 응답으로 스크립트가 자동으로 실행되는 경우 해당 유알엘 링크는 XSS 공격 유형에 취약한 것으로 판단될 수 있다.
한편, 취약성 판단부(122)는 취약성 판단을 위해 웹서버로 전송했던 유알엘 링크들에 대해 해당 유알엘 링크에 포함된 고정인자를 유알엘 주소와 매핑시켜 결과 데이터베이스(116)의 제1 테이블에 저장한다. 이러한 제1 테이블은 상술한 중복검사 판단부(114)에 의해 해당 고정인자의 중복 검사 여부 판단에 이용된다.
판단결과 생성부(124)는 취약성 판단부(122)에 의해 판단 대상이 된 고정인자가 공격 유형에 취약한 것으로 판단된 경우, 고정인자가 취약한 공격 유형 별로 고정인자와 해당 고정인자가 포함된 유알엘 주소를 매핑시켜 결과 데이터베이 스(116)의 제2 테이블에 저장한다. 한편, 판단결과 생성부(124)는 생성된 판단 결과를 관리자 등에게 제공할 수 있다.
결과 데이터베이스(116)는 취약성 판단이 완료된 고정인자가 해당 유알엘과 함께 매핑되어 있는 제1 테이블(미도시)과, 취약한 공격 유형 별로 고정인자와 해당 고정인자가 포함된 유알엘 주소가 매핑되어 있는 제2 테이블(미도시)이 저장되어 있고, 패턴 데이터베이스(118)에는 각 공격 유형별 공격 패턴과 각 공격 유형에 대해 취약함을 표시하는 HTTP응답 패턴들이 저장되어 있다.
도 4는 상술한 웹 어플리케이션 취약성 판단 시스템을 이용하여 웹 어플리케이션의 취약성을 판단하는 방법을 보여주는 플로우차트이다.
먼저, 검사 대상이 되는 웹사이트에 접속함으로써 해당 웹사이트의 메인 웹페이지에 포함되어 있는 모든 유알엘 링크들을 추출한다(제400단계). 이때, 추출된 유알엘 링크 중에서 해당 웹사이트의 유알엘 주소가 아닌 외부 유알엘 주소를 포함하는 유알엘 링크는 제외할 수 있다. 검사 대상이 되는 웹사이트에 포함된 유알엘 링크들은 별도의 외부 장치로부터 제공받을 수도 있으므로, 이러한 유알엘 링크 추출 과정은 선택적으로 포함될 수 있을 것이다.
다음으로, 추출된 유알엘 링크에 포함된 인자들 중 고정인자를 선별한다(제410단계). 유알엘 링크 내에는 웹 어플리케이션에 의해 생성되는 인자인 고정인자와 이러한 고정인자에 대한 입력값인 가변인자가 포함되어 있으므로, 이러한 인자들 중에서 고정인자를 선별해 내는 것이다. 일 실시예에 있어서, "="와 같은 인자 구분 기호를 기준으로 인자 구분 기호의 바로 좌측에 위치하는 인자를 고정인자로 선별할 수 있다.
이미 위에서도 언급하였지만, 본 발명에서, 유알엘 링크 내에서 고정인자를 선별하는 이유는, 각 유알엘 링크들 중에서 고정인자는 동일하지만 해당 고정인자에 대한 입력값들인 가변인자만이 상이한 유알엘 링크들이 대부분이므로, 고정인자는 동일하나 해당 고정인자에 대한 가변인자가 상이한 유알엘 링크들은 그 중 어느 하나에 대해서만 취약성 여부를 판단함으로써 취약성 판단에 소요되는 시간을 감소시키기 위한 것이다.
이후, 선별된 고정인자가 이미 취약성 판단이 완료된 고정인자인지 여부를 판단한다(제420단계). 일 실시예에 있어서, 이러한 판단은 취약성이 판단된 고정인자가 해당 유알엘과 매핑되어 있는 제1 테이블을 참조하여 수행될 수 있다. 즉, 결과 데이터베이스(116)의 제1 테이블에 해당 고정인자가 포함되어 있는 경우, 해당 고정인자는 취약성 판단이 완료된 것으로 판단하는 것이다.
판단결과 선별된 고정인자가 취약성 판단이 완료되지 않은 것으로 판단되는 경우, 선별된 고정인자의 입력값에 각 공격 유형 별 공격 패턴을 삽입한다(제430단계).
일 실시예에 있어서, 공격 유형에는 SQL Injection, Blind SQL Injection, 및 XSS 중 적어도 하나가 포함되며, 각 공격 유형별 공격 패턴의 삽입에 있어서, SQL Injection 또는 Blind SQL Injection 유형의 공격에 대한 취약성 판단을 위해, 고정인자의 입력값에 싱글쿼테이션인"'", 더블대쉬인 "--", 또는 "#"과 같은 특수 문자로 된 공격 패턴을 삽입할 수 있고, XSS 유형의 공격에 대한 취약성 판단을 위 해, "<" 또는 ">"와 같은 특수 문자로 된 공격 패턴 또는 "+onmouseover=alert(test)+"와 같은 공격 패턴을 삽입할 수 있다.
이후, 공격 패턴이 삽입된 유알엘 링크를 웹서버로 전송하고(제440단계), 웹서버로부터 수신되는 해당 유알엘 링크의 입력에 대한 응답 분석을 통해 검사 대상이 된 고정인자의 취약성 여부를 판단한다(제450단계). 이때, 공격 패턴이 삽입된 유알엘 링크를 웹서버로 전송함에 있어서, 웹서버로 전송된 유알엘 링크를 해당 유알엘 링크에 포함된 고정인자를 해당 유알엘과 매핑시켜 결과 데이터베이스(116)의 제1 테이블 상에 기록할 수 있다.
일 실시예에 있어서, 이러한 응답 분석 과정에서 공격 패턴이 삽입된 유알엘 링크의 입력에 대한 HTTP응답 패턴이 패턴 데이터베이스(120)에 저장되어 있는 HTTP 응답 패턴들에 포함되어 있는지 여부를 판단하여 포함되어 있는 경우, 해당 고정인자는 해당 공격 유형에 대해 취약한 것으로 판단하게 된다.
예컨대, SQL Injection 또는 Blind SQL Injection의 공격 유형에 대한 취약성 판단용 공격 패턴이 삽입된 유알엘 링크에 대한 응답이 상술한 도 2에 도시된 바와 같이 "HTTP 500 Error"를 포함하고 있거나, XSS 공격 유형에 대한 취약성 판단용 공격 패턴이 삽입된 유알엘 링크에 대한 응답으로 상술한 도 3에 도시된 바와 같이 스크립트가 자동으로 실행되는 경우 해당 유알엘 링크는 상술한 공격 유형들에 취약한 것으로 판단되는 것이다.
제450단계에서, 취약성 판단결과 해당 고정인자가 특정 공격 유형에 취약한 것으로 판단되면, 해당 고정인자와 해당 고정인자가 포함된 유알엘을 매핑시켜 해 당 고정인자가 취약한 공격 유형과 함께 결과 데이터베이스(116)의 제2 테이블 상에 기록한다(제460단계).
이후, 해당 유알엘 링크 내에 포함된 다른 고정인자가 존재하는지 여부를 판단하고(제470단계), 존재하는 경우 다시 제420단계 내지 제460단계를 반복한다. 존재하지 않는 경우 검사 대상이 되는 유알엘 링크가 존재하는지 여부를 판단하여(제480단계), 존재하는 경우 다시 제410단계 내지 제470단계를 반복하고, 존재하지 않는 경우 웹 어플리케이션의 취약성 판단 과정을 종료한다.
한편, 제420단계에서의 판단결과, 선별된 고정인지가 취약성 판단이 완료된 것으로 판단되는 경우, 해당 유알엘 링크 내에 포함된 다른 고정인자가 존재하는지 여부를 판단하고(제470단계), 존재하는 경우 다시 제420단계 내지 제460단계를 반복한다.
존재하지 않는 경우 검사 대상이 되는 유알엘 링크가 존재하는지 여부를 판단하여(제480단계), 존재하는 경우 다시 제410단계 내지 제470단계를 반복하고, 존재하지 않는 경우 웹 어플리케이션의 취약성 판단 과정을 종료한다.
상술한 실시예에 있어서는, 추출된 유알엘 링크들 중에서 고정인자는 동일하지만 해당 고정인자에 대한 입력값들인 가변인자만이 상이한 유알엘 링크들에 대해 취약성 판단이 중복적으로 수행되는 것을 방지하기 위해, 선별된 고정인자가 취약성 판단이 완료된 것인지 여부를 결과 데이터베이스 내의 제1 테이블에 기록된 유알엘 링크의 정보와 비교를 통해 판단하는 것으로 기재하였다.
변형된 실시예에 있어서는, 유알엘 추출단계에서 취약성 판단 대상이 되는 유알엘 링크들이 기록된 유알엘 링크 리스트를 이용하여 고정인자는 동일하고 가변인자만이 상이한 유알엘 링크들에 대한 중복적인 취약성 판단을 배제할 수도 있을 것이다. 이를 도 5를 참조하여 구체적으로 설명한다.
먼저, 검사 대상이 되는 웹사이트에 접속함으로써 해당 웹사이트의 메인 웹페이지에 포함되어 있는 모든 유알엘 링크들을 추출한다(제500단계). 다음으로, 추출된 유알엘 링크에 포함된 인자들 중 고정인자를 선별한다(제510단계). 상술한 바와 같이, 유알엘 링크 내에는 웹 어플리케이션에 의해 생성되는 인자인 고정인자와 이러한 고정인자에 대한 입력값인 가변인자가 포함되어 있으므로, 이러한 인자들 중에서 고정인자를 선별해 내는 것이다. 일 실시예에 있어서, "="와 같은 인자 구분 기호를 기준으로 인자 구분 기호의 바로 좌측에 위치하는 인자를 고정인자로 선별할 수 있다.
이후, 추출된 유알엘 링크가 취약성 판단 대상 유알엘 링크 리스트에 포함되어 있는지 여부를 판단하여(제515단계), 취약성 판단 대상 유알엘 링크 리스트 상에 추출된 유알엘 링크가 포함되어 있지 않은 것으로 판단되는 경우 추출된 유알엘 링크를 취약성 판단 대상 유알엘 링크에 포함시킨다(제517단계). 이때, 검사 대상 유알엘 링크 리스트 상에 추출된 유알엘 링크가 존재하는지 여부를 판단함에 있어서, 유알엘 링크에 포함된 고정인자는 동일하나 가변인자는 상이한 유알엘 링크는 동일한 유알엘 링크로 판단한다.
즉, 추출된 유알엘 링크가 취약성 판단 대상 유알엘 링크 리스트에 포함되어 있지 않은 경우 추출된 유알엘을 리스트에 포함시키고, 추출된 유알엘 링크가 취약 성 판단 대상 유알엘 링크 리스트에 포함되어 있는 경우에는 추출된 유알엘 링크를 취약성 판단 대상 유알엘 링크 리스트에 포함시키지 않음으로써, 고정인자는 동일하고 가변인자만이 상이한 유알엘 링크들에 대해 취약성 판단이 중복적으로 수행되는 것을 방지할 수 있게 된다.
다음으로, 취약성 판단 대상 유알엘 링크 리스트에 기록된 유알엘 링크의 고정인자가 취약성 판단이 이미 완료된 고정인자인지 여부를 판단한다(제520단계). 이러한 판단은 결과 데이터베이스의 제1 테이블을 이용하여 수행되는 것으로서, 본 실시예에 있어서는 취약성 판단이 중복적으로 수행되는 것을 방지하기 위해 2단계에 걸쳐 동일한 고정인자를 가지는 유알엘 링크를 구별해 내는 것이다.
이후, 제530단계 내지 제580단계는 도 4에 도시된 제430단계 내지 제480단계와 동일하므로 구체적인 설명은 생략하기로 한다.
상술한 웹 어플리케이션의 취약성 판단 방법은 다양한 컴퓨터 수단을 이용하여 수행될 수 있는 프로그램 형태로도 구현될 수 있는데, 이때 웹 어플리케이션의 취약성 판단 방법을 수행하기 위한 프로그램은 하드 디스크, CD-ROM, DVD, 롬(ROM), 램, 또는 플래시 메모리와 같은 컴퓨터로 판독할 수 있는 기록 매체에 저장된다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적 인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 웹 어플리케이션의 취약성 판단 시스템의 개략적인 블록도.
도 2a 및 2b는 SQL Injection 공격 유형에 취약한 경우의 응답 패턴을 보여주는 도면.
도 3은 XSS 공격 유형에 취약한 경우의 응답 패턴을 보여주는 도면.
도 4는 본 발명의 일 실시예에 따른 웹 어플리케이션의 취약성 판단 방법을 보여주는 플로우차트.
도 5는 본 발명의 다른 실시예에 따른 웹 어플리케이션의 취약성 판단 방법을 보여주는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
100: 웹 어플리케이션의 취약성 판단 시스템 110: 유알엘 링크 추출부
112: 고정인자 선별부 114: 중복검사 판단부
116: 결과 데이터베이스 118: 공격 패턴 삽입부
120: 패턴 데이터베이스 122: 취약성 판단부
124: 판단결과 생성부 200: 네트워크
300: 웹서버

Claims (17)

  1. 웹 어플리케이션 취약성 판단 시스템의 고정인자 선별부에 의해, 검사 대상 웹사이트로부터 추출된 유알엘(Uniform Resource Locator)링크의 인자들 중 고정인자를 선별하는 단계;
    중복검사 판단부에 의해, 상기 선별된 고정인자에 대해 취약성 판단 완료 여부를 판단하는 단계;
    상기 선별된 고정인자가 취약성 판단이 완료되지 않은 것인 경우, 공격패턴 삽입부에 의해, 상기 고정인자에 대한 입력값에 각 공격 유형 별로 소정 공격 패턴을 삽입하는 단계; 및
    취약성 판단부에 의해, 상기 각 공격 유형별 소정 공격패턴이 삽입된 유알엘 링크의 입력에 대한 응답을 분석하여 각 공격 유형에 대한 상기 고정인자의 취약성을 판단하는 단계를 포함하고,
    상기 취약성 판단 완료 여부는, 상기 유알엘 링크 및 상기 선별된 고정인자에 취약성이 존재하거나 존재하지 않는 경우에 대한 판단 완료를 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  2. 제1항에 있어서, 상기 고정인자 선별 단계 이전에,
    상기 검사 대상 웹사이트의 메인 웹페이지로부터 상기 유알엘 링크를 추출하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  3. 제1항에 있어서, 상기 고정인자 선별단계에서,
    상기 고정인자는 상기 유알엘 링크에 포함된 인자 구분 기호의 바로 좌측에 위치하는 인자로 정의되는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  4. 제1항에 있어서, 상기 공격 패턴 삽입 단계에서,
    상기 공격 패턴은 상기 공격 패턴이 상기 각 공격 유형 별로 저장되어 있는 제1 데이터베이스로부터 추출되는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  5. 제1항에 있어서,
    각 공격 유형별 공격 패턴은 문자 형태로 구성되는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  6. 제1항에 있어서,
    상기 공격 유형은 SQL Injection, Blind SQL Injection, 및 XSS(Cross-Site Scripting)중 적어도 하나를 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  7. 제1항에 있어서, 상기 취약성 판단 단계 이후에,
    상기 취약성 판단 단계에서 상기 고정인자가 취약한 것으로 판단된 경우, 상기 고정인자가 취약한 것으로 판단된 공격 유형 별로 상기 고정인자와 상기 웹 사이트의 유알엘 주소를 매핑시킨 취약성 판단결과를 생성하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  8. 제1항에 있어서, 상기 취약성 판단 단계에서,
    상기 공격 패턴이 삽입된 유알엘 링크의 입력에 대한 HTTP 응답 패턴과 기 저장되어 있는 취약성 결과 패턴과의 비교를 통해 상기 고정인자의 취약성을 판단하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  9. 제1항에 있어서, 상기 취약성 판단 단계 이후에,
    취약성 판단이 완료된 유알엘 링크 정보를 저장하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 방법.
  10. 제1항 내지 제9항에 기재된 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.
  11. 검사 대상 웹사이트로 추출된 유알엘(Uniform Resource Locator)링크의 인자들 중 고정인자를 선별하는 고정인자 선별부;
    상기 선별된 고정인자에 대해 취약성 판단 완료 여부를 판단하는 중복검사 판단부;
    상기 선별된 고정인자가 취약성 판단이 완료되지 않은 것인 경우, 상기 고정인자에 대한 입력값에 각 공격 유형 별로 소정 공격 패턴을 삽입하는 공격 패턴 삽입부; 및
    상기 각 공격 유형별 소정 공격패턴이 삽입된 상기 유알엘 링크의 입력에 대한 응답을 분석하여 상기 고정인자의 취약성을 판단하는 취약성 판단부를 포함하고,
    상기 취약성 판단 완료 여부는, 상기 유알엘 링크 및 상기 선별된 고정인자에 취약성이 존재하거나 존재하지 않는 경우에 대한 판단 완료를 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
  12. 제11항에 있어서,
    상기 검사 대상 웹사이트의 메인 웹페이지로부터 상기 유알엘 링크를 추출하여 상기 고정인자 선별부로 제공하는 유알엘 링크 추출부를 더 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
  13. 제11항에 있어서,
    상기 고정인자 선별부는 상기 유알엘 링크에 포함된 인자 구분 기호의 바로 좌측에 위치하는 인자를 고정인자로 선별하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
  14. 제11항에 있어서,
    상기 각 공격 유형 별 공격 패턴이 저장되어 있는 제1 데이터베이스; 및
    취약성 판단이 완료된 유알엘 링크 정보가 저장되어 있는 제2 데이터베이스를 더 포함하고,
    상기 공격 패턴 삽입부는 상기 제1 데이터베이스로부터 상기 공격 패턴을 추출하여 상기 선별된 고정인자의 입력값에 삽입하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
  15. 제11항에 있어서,
    상기 공격 유형은 SQL Injection, Blind SQL Injection, 및 XSS(Cross-Site Scripting) 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
  16. 제11항에 있어서,
    상기 취약성 판단부에 의해 상기 고정인자가 취약한 것으로 판단된 경우,
    상기 고정인자가 취약한 것으로 판단된 공격 유형 별로 상기 고정인자와 상기 웹 사이트의 유알엘 주소를 매핑시킨 취약성 판단결과를 생성하는 판단결과 생성부를 더 포함하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
  17. 제11항에 있어서,
    상기 취약성 판단부는 상기 공격 패턴이 삽입된 유알엘 링크의 입력에 대한 HTTP 응답 패턴과 기 저장되어 있는 취약성 결과 패턴과의 비교를 통해 상기 고정인자의 취약성을 판단하는 것을 특징으로 하는 웹 어플리케이션의 취약성 판단 시스템.
KR1020080016046A 2008-02-22 2008-02-22 웹 어플리케이션의 취약성 판단 방법 및 시스템 KR101001132B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080016046A KR101001132B1 (ko) 2008-02-22 2008-02-22 웹 어플리케이션의 취약성 판단 방법 및 시스템
US12/135,267 US8533328B2 (en) 2008-02-22 2008-06-09 Method and system of determining vulnerability of web application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080016046A KR101001132B1 (ko) 2008-02-22 2008-02-22 웹 어플리케이션의 취약성 판단 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20090090685A KR20090090685A (ko) 2009-08-26
KR101001132B1 true KR101001132B1 (ko) 2010-12-15

Family

ID=40589521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080016046A KR101001132B1 (ko) 2008-02-22 2008-02-22 웹 어플리케이션의 취약성 판단 방법 및 시스템

Country Status (2)

Country Link
US (1) US8533328B2 (ko)
KR (1) KR101001132B1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171555B2 (en) 2004-07-23 2012-05-01 Fortinet, Inc. Determining technology-appropriate remediation for vulnerability
US7774848B2 (en) 2004-07-23 2010-08-10 Fortinet, Inc. Mapping remediation to plurality of vulnerabilities
US7761920B2 (en) 2004-09-03 2010-07-20 Fortinet, Inc. Data structure for policy-based remediation selection
US7665119B2 (en) 2004-09-03 2010-02-16 Secure Elements, Inc. Policy-based selection of remediation
US7672948B2 (en) * 2004-09-03 2010-03-02 Fortinet, Inc. Centralized data transformation
US7703137B2 (en) * 2004-09-03 2010-04-20 Fortinet, Inc. Centralized data transformation
US8365290B2 (en) * 2009-05-15 2013-01-29 Frederick Young Web application vulnerability scanner
CN101964025B (zh) * 2009-07-23 2016-02-03 北京神州绿盟信息安全科技股份有限公司 Xss检测方法和设备
US8387017B2 (en) * 2009-09-03 2013-02-26 International Business Machines Corporation Black box testing optimization using information from white box testing
JP5725529B2 (ja) * 2010-07-21 2015-05-27 日本電気株式会社 Web脆弱性補修システム、Web脆弱性補修方法、及びプログラム
US9747187B2 (en) 2010-10-27 2017-08-29 International Business Machines Corporation Simulating black box test results using information from white box testing
JP5522850B2 (ja) * 2010-11-10 2014-06-18 京セラコミュニケーションシステム株式会社 脆弱性診断装置
JP5618861B2 (ja) * 2011-02-23 2014-11-05 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
US8949992B2 (en) * 2011-05-31 2015-02-03 International Business Machines Corporation Detecting persistent vulnerabilities in web applications
KR101086451B1 (ko) * 2011-08-30 2011-11-25 한국전자통신연구원 클라이언트 화면 변조 방어 장치 및 방법
US9213832B2 (en) 2012-01-24 2015-12-15 International Business Machines Corporation Dynamically scanning a web application through use of web traffic information
US8997235B2 (en) * 2012-02-07 2015-03-31 Microsoft Technology Licensing, Llc Adaptive fuzzing system for web services
US9027141B2 (en) * 2012-04-12 2015-05-05 Netflix, Inc. Method and system for improving security and reliability in a networked application environment
KR102363404B1 (ko) * 2012-06-25 2022-02-15 (주)트리니티소프트 웹 방화벽과 취약점 분석도구의 연동방법
CN102970282B (zh) * 2012-10-31 2015-08-19 北京奇虎科技有限公司 网站安全检测系统
BR112015014307A2 (pt) 2012-12-19 2017-07-11 Bayer Cropscience Ag difluorometil-nicotínico- tetrahidronaftil carboxamidas
US9904786B2 (en) 2013-01-17 2018-02-27 International Business Machines Corporation Identifying stored security vulnerabilities in computer software applications
US9135152B2 (en) 2013-05-29 2015-09-15 International Business Machines Corporation Optimizing test data payload selection for testing computer software applications via computer networks
US9323649B2 (en) 2013-09-30 2016-04-26 International Business Machines Corporation Detecting error states when interacting with web applications
GB2519159A (en) * 2013-10-14 2015-04-15 Ibm Security testing of web applications with specialised payloads
CN104636664B (zh) * 2013-11-08 2018-04-27 腾讯科技(深圳)有限公司 基于文档对象模型的跨站脚本攻击漏洞检测方法及装置
CN103647678A (zh) * 2013-11-08 2014-03-19 北京奇虎科技有限公司 一种网站漏洞在线验证方法及装置
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US11895138B1 (en) * 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US11575524B2 (en) 2015-10-12 2023-02-07 Servicenow, Inc. Selective encryption delineation
US10601781B2 (en) 2015-10-12 2020-03-24 Servicenow, Inc. Selective encryption delineation
US10320761B2 (en) 2015-11-02 2019-06-11 Servicenow, Inc. Selective encryption configuration
US10019529B2 (en) 2015-11-19 2018-07-10 International Business Machines Corporation Identifying webpages accessible by unauthorized users via URL guessing or network sniffing
US10614221B2 (en) * 2016-11-16 2020-04-07 International Business Machines Corporation Method and apparatus for security testing of application flows that cannot be automated through HTTP replay
CN110998577A (zh) * 2017-08-01 2020-04-10 三菱电机株式会社 安全诊断装置以及安全诊断方法
KR102254197B1 (ko) * 2019-03-28 2021-05-21 네이버클라우드 주식회사 웹페이지 취약점 진단 방법, 장치 및 컴퓨터 프로그램
US11921862B2 (en) * 2020-02-07 2024-03-05 Jpmorgan Chase Bank , N.A. Systems and methods for rules-based automated penetration testing to certify release candidates
US11363057B1 (en) * 2020-04-17 2022-06-14 American Express Travel Related Services Company, Inc. Computer-based system for analyzing and quantifying cyber threat patterns and methods of use thereof
KR102459418B1 (ko) * 2020-09-28 2022-10-27 네이버클라우드 주식회사 취약점 진단방법 및 이를 위한 진단장치
KR102497201B1 (ko) * 2020-09-28 2023-02-08 네이버클라우드 주식회사 Sql 주입 취약점 진단 방법, 장치 및 컴퓨터 프로그램
KR102433386B1 (ko) * 2020-09-28 2022-08-18 네이버클라우드 주식회사 취약점 진단방법 및 이를 위한 진단장치
KR102287394B1 (ko) * 2020-12-21 2021-08-06 한국인터넷진흥원 익스플로잇 공격 유형 분류 방법 및 그 장치
US20230205882A1 (en) * 2021-12-29 2023-06-29 Microsoft Technology Licensing, Llc Detecting malicious queries using syntax metrics

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156644A1 (en) * 2006-01-05 2007-07-05 Microsoft Corporation SQL injection detector

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051368B1 (en) * 1999-11-09 2006-05-23 Microsoft Corporation Methods and systems for screening input strings intended for use by web servers
AU2001237696A1 (en) * 2000-03-03 2001-09-12 Sanctum Ltd. System for determining web application vulnerabilities
US7343626B1 (en) * 2002-11-12 2008-03-11 Microsoft Corporation Automated detection of cross site scripting vulnerabilities
JP4298622B2 (ja) * 2004-09-29 2009-07-22 株式会社東芝 不正アクセス検出装置、不正アクセス検出方法及び不正アクセス検出プログラム
US7774459B2 (en) * 2006-03-01 2010-08-10 Microsoft Corporation Honey monkey network exploration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156644A1 (en) * 2006-01-05 2007-07-05 Microsoft Corporation SQL injection detector

Also Published As

Publication number Publication date
US8533328B2 (en) 2013-09-10
US20090119777A1 (en) 2009-05-07
KR20090090685A (ko) 2009-08-26

Similar Documents

Publication Publication Date Title
KR101001132B1 (ko) 웹 어플리케이션의 취약성 판단 방법 및 시스템
Gupta et al. XSS-secure as a service for the platforms of online social network-based multimedia web applications in cloud
US10248782B2 (en) Systems and methods for access control to web applications and identification of web browsers
JP5497173B2 (ja) Xss検出方法および装置
Gupta et al. PHP-sensor: a prototype method to discover workflow violation and XSS vulnerabilities in PHP web applications
US8800042B2 (en) Secure web application development and execution environment
EP2104901B1 (en) Method and apparatus for detecting computer fraud
JP4625246B2 (ja) クロスサイトスクリプティング脆弱性の自動検出
CN108989355B (zh) 一种漏洞检测方法和装置
US20060259973A1 (en) Secure web application development environment
Buchanan et al. Analysis of the adoption of security headers in HTTP
JP2013520719A (ja) ウェブサービスのリアルタイム脆弱性診断及び結果情報提供サービスシステム
WO2015142697A1 (en) Methods for determining cross-site scripting and related vulnerabilities in applications
CN112929390B (zh) 一种基于多策略融合的网络智能监控方法
CN102546576A (zh) 一种网页挂马检测和防护方法、系统及相应代码提取方法
CN111756724A (zh) 钓鱼网站的检测方法、装置、设备、计算机可读存储介质
CN110879891A (zh) 基于web指纹信息的漏洞探测方法及装置
CN105404816A (zh) 基于内容的漏洞检测方法及装置
CN110765333A (zh) 采集网站信息的方法及装置、存储介质、电子装置
CN117336098B (zh) 一种网络空间数据安全性监测分析方法
Deeptha et al. Website Vulnerability Scanner
JP5082555B2 (ja) セキュリティ検査用モデル生成装置,セキュリティ検査用モデル検査装置,およびセキュリティ検査用モデル生成プログラム
CN111523123A (zh) 一种网站漏洞智能检测方法
Sagala et al. Testing and comparing result scanning using web vulnerability scanner
CN112287349A (zh) 安全漏洞检测方法及服务端

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161013

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171012

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191010

Year of fee payment: 10