KR20210076455A - Xss 공격 검증 자동화 방법 및 그 장치 - Google Patents
Xss 공격 검증 자동화 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20210076455A KR20210076455A KR1020190167680A KR20190167680A KR20210076455A KR 20210076455 A KR20210076455 A KR 20210076455A KR 1020190167680 A KR1020190167680 A KR 1020190167680A KR 20190167680 A KR20190167680 A KR 20190167680A KR 20210076455 A KR20210076455 A KR 20210076455A
- Authority
- KR
- South Korea
- Prior art keywords
- url
- data
- abnormal
- automate
- xss attack
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
XSS(Cross Site Scripting) 공격에 대한 검증을 자동화 하는 방법 및 그 방법이 적용된 장치가 제공된다. 본 발명의 일 실시예에 따른 XSS 공격 검증 자동화 방법은 비정상 URL에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계와, 웹 테스트 자동화 툴이, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여 대상 서버에 자동으로 접속하고, 상기 접속에 따른 반응에 상기 제1 데이터의 발견 여부를 자동으로 분석하는 단계를 포함할 수 있다.
Description
본 발명은 XSS 공격의 징후가 있는 URL에 대한 검증을 자동화된 방식으로 처리하는 것과 관련된 것이다.
크로스 사이트 스크립팅(Cross Site Scripting; 이하, 'XSS'로 축약하여 표기한다) 취약점은 취약한 웹 사이트에 악성 스크립트를 포함할 수 있는 손쉬운 방법 중 하나로 공격자들이 가장 많이 선호하는 방식 중 하나이다. XSS 취약점은 여러 보안 취약점 위험 순위에서 높은 위험으로 매겨져 있으며, 취약점 분포도도 ‘매우 광범위’ 한 수준이다. 즉, XSS 공격은 조직의 정보 자산을 보호하는데 가장 큰 위험 중 하나이다.
XSS 공격은 웹 응용에 존재하는 취약점을 기반으로 웹 서버와 클라이언트간 통신 방식인 HTTP 프로토콜 동작과정 중에 발생한다. XSS 공격은 브라우저로 전달되는 데이터에 악성 스크립트가 포함되어 개인의 브라우저에서 실행되면서 해킹을 하는 것이며, 이 공격용 악성 스크립트는 공격자가 웹 서버에 구현된 웹 애플리케이션의 XSS 취약점을 이용하여 서버 측 또는 URL에 미리 삽입을 해 놓은 것일 수 있다.
널리 사용되는 범용 브라우저에는 XSS 필터링 기능이 일반적으로 포함되어 있다. 그러나, XSS 공격의 패턴이 매우 다양하여, 모든 형태의 XSS 공격이 브라우저에서 자체적으로 차단되기는 어렵다. 따라서, XSS 공격이 의심되는 URL은 보안 이벤트로서 수집되고, 각각의 공격 의심 URL은 분석가가 웹에서 직접 재현해 보는 방식으로 공격 영향성 유무가 사람에 의하여 직접 평가되고 있다. 이러한 이유로, XSS 공격의 검증에 소요되는 시간 및 비용의 부담이 크다.
본 발명이 해결하고자 하는 기술적 과제는, 사람의 개입이 최소화 되는 방식으로 XSS 공격이 의심되는 URL을 검증하는 XSS 공격 검증 자동화 방법 및 그 방법이 수행되는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, XSS 공격이 의심되는 URL을 검증하는 XSS 공격의 검증을 자동화 함에 있어서, 그 자동화 프로그램이 실행되는 환경을 안전하게 보호하면서, XSS 공격을 검증하는 방법 및 그 방법이 수행되는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, XSS 공격이 의심되는 URL의 검증 결과, 그 위험도를 복수의 단계로 평가하는 방법 및 그 방법이 수행되는 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 인터넷 브라우저에 팝업 창을 표시하는 방식의 XSS 공격을 자동화된 방식으로 검증하되, 그 자동화 프로그램이 실행되는 환경을 안전하게 보호하는 방법이 수행되는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 XSS 공격 검증 자동화 방법은, 비정상 URL의 쿼리 스트링(query string)을 얻는 단계와, 상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계와, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여, 대상 서버에 접속하는 단계와, 상기 접속에 따라, 브라우저에 상기 제1 데이터가 팝업 되는지 여부를 자동으로 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 쿼리 스트링을 얻는 단계, 상기 제1 데이터로 치환하는 단계, 상기 접속하는 단계 및 상기 자동으로 판정하는 단계는, 다음 단계를 수행하기 위한 사용자 입력 없이 자동으로 진행되는 것을 특징으로 할 수 있다.
일 실시예에서, 상기 자동으로 판정하는 단계는, 상기 브라우저에 상기 제1 데이터가 팝업 된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계를 포함할 수 있다. 이 때, 상기 브라우저에 상기 제1 데이터가 팝업 된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계는, 상기 브라우저에 상기 제1 데이터가 팝업 된 경우, 상기 비정상 URL의 영향성을 제1 등급으로 판정하는 단계와, 상기 브라우저에 상기 제1 데이터가 팝업 되지 않았으나, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성을 제2 등급으로 판정하는 단계를 포함할 수 있다. 이 때, 상기 제1 등급은 상기 제2 등급 보다 높은 위험도를 가진 것일 수 있다.
일 실시예에서, 상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계는, 상기 쿼리 스트링을 하나 이상의 키/밸류(key/value) 쌍으로 구분하는 단계와, 상기 키/밸류 쌍에 포함된 밸류 중 스크립트 함수 호출을 가리키는 밸류를 식별하는 단계와, 상기 식별된 밸류에서 함수명을 추출하는 단계와, 상기 추출된 함수명이 기 지정된 위험 함수 리스트에 포함된 것인 경우, 상기 식별된 밸류에서 추출된 상기 함수 파라미터를 상기 제1 데이터로 치환하는 단계를 포함할 수 있다. 상기 지정된 위험 함수 리스트는, 브라우저에 팝업 메시지를 출력하는 스크립트 함수들을 포함하는 것일 수 있다.
일 실시예에서, 상기 접속하는 단계 및 상기 자동으로 판정하는 단계는, 샌드박스 환경 내에서 실행될 수 있다.
일 실시예에서, 상기 쿼리 스트링(query string)을 얻는 단계는, 상기 비정상 URL을 얻는 단계와, 상기 비정상 URL을, 쿼리 스트링 필드를 포함하는 복수의 필드로 파싱(parsing)하는 단계와, 상기 파싱의 결과 얻어진 각각의 필드 및 공격 유형 필드를 포함하는 URL 구조체를 구성하는 단계를 포함할 수 있다. 이 때, 상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계는 상기 쿼리 스트링에 포함된 함수명을 이용하여, 상기 URL 구조체의 공격 유형 필드의 값을 세팅하는 단계와, 상기 URL 구조체의 쿼리 스트링 필드의 하위 필드 중 밸류 필드의 값으로서, 상기 함수 파라미터가 상기 제1 데이터로 치환된 데이터를 세팅하는 단계를 포함할 수 있다. 이 때, 상기 대상 서버에 접속하는 단계는, 상기 비정상 URL의 상기 URL 구조체의 각 필드 값을 조합하되, 상기 URL 구조체의 포트 값은 다른 값으로 변형하여, 상기 변형 URL을 생성하는 단계를 포함할 수도 있다. 또한, 상기 대상 서버에 접속하는 단계는, 상기 비정상 URL의 상기 URL 구조체의 각 필드 값을 조합하여, 상기 변형 URL을 생성하는 단계와, 상기 변형 URL을 웹 테스트 자동화 툴에 제공함으로써, 상기 웹 테스트 자동화 툴이 상기 변형 URL을 이용하여, 대상 서버에 접속하는 단계를 포함할 수 있다. 또한, 상기 웹 테스트 자동화 툴이 상기 변형 URL을 이용하여, 대상 서버에 접속하는 단계는, 상기 변형 URL 및 상기 공격 유형 필드의 값을 웹 테스트 자동화 툴에 제공함으로써, 상기 웹 테스트 자동화 툴이 상기 변형 URL을 이용하여, 대상 서버에 접속하는 단계를 포함하고, 상기 브라우저에 상기 제1 데이터가 팝업 되는지 여부를 자동으로 판정하는 단계는, 상기 웹 테스트 자동화 툴이, 상기 공격 유형 필드의 값을 이용하여, 상기 제1 데이터의 팝업 여부를 자동으로 판정하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 XSS 공격 검증 자동화 방법은, 비정상 URL에서 쿼리 스트링(query string)을 얻는 단계와, 상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계와, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL으로 대상 서버에 접속하는 단계와, 상기 접속에 따라, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계는,
상기 브라우저에 상기 제1 데이터가 팝업 된 경우, 상기 비정상 URL의 영향성을 제1 등급으로 판정하는 단계와, 상기 브라우저에 상기 제1 데이터가 팝업 되지 않았으나, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성을 제2 등급으로 판정하는 단계를 포함할 수 있다. 이 때, 상기 제1 등급은 상기 제2 등급 보다 높은 위험도를 가진 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 XSS 공격 검증 자동화 방법은, 비정상 URL에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계와, 웹 테스트 자동화 툴이, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여 대상 서버에 자동으로 접속하고, 상기 접속에 따른 반응에 상기 제1 데이터의 발견 여부를 자동으로 분석하는 단계를 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 XSS 공격 검증 자동화 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 XSS 공격 검증 자동화 방법의 순서도이다.
도 3 내지 도 4는 본 발명의 몇몇 실시예들에서 URL을 파싱 하는 과정을 설명하기 위한 도면들이다.
도 5a 내지 도 5b는 본 발명의 몇몇 실시예들에서 URL의 파싱 결과를 저장하기 위한 URL 구조체의 몇몇 예시들이다.
도 6a 내지 도 6b는 본 발명의 몇몇 실시예들에서 함수 파라미터가 제1 데이터로 치환되는 예시를 설명하기 위한 도면들이다.
도 7 내지 도 8은 본 발명의 몇몇 실시예들에서 웹 테스트 자동화 툴이 적용되는 방식을 설명하기 위한 도면들이다.
도 9는 도 2의 일부 동작을 상세히 설명하기 위한 상세 순서도이다.
도 10 내지 도 11은 본 발명의 몇몇 실시예들에서 웹 테스트 자동화 툴이 XSS 공격 의심 URL 접속에 따른 반응을 자동으로 분석하는 과정을 설명하기 위한 도면들이다.
도 12는 도 2의 다른 일부 동작을 상세히 설명하기 위한 상세 순서도이다.
도 13은 본 발명의 몇몇 실시예들에 따른 방법을 구현하기 위한 예시적인 하드웨어 구조를 설명하기 위한 하드웨어 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 XSS 공격 검증 자동화 방법의 순서도이다.
도 3 내지 도 4는 본 발명의 몇몇 실시예들에서 URL을 파싱 하는 과정을 설명하기 위한 도면들이다.
도 5a 내지 도 5b는 본 발명의 몇몇 실시예들에서 URL의 파싱 결과를 저장하기 위한 URL 구조체의 몇몇 예시들이다.
도 6a 내지 도 6b는 본 발명의 몇몇 실시예들에서 함수 파라미터가 제1 데이터로 치환되는 예시를 설명하기 위한 도면들이다.
도 7 내지 도 8은 본 발명의 몇몇 실시예들에서 웹 테스트 자동화 툴이 적용되는 방식을 설명하기 위한 도면들이다.
도 9는 도 2의 일부 동작을 상세히 설명하기 위한 상세 순서도이다.
도 10 내지 도 11은 본 발명의 몇몇 실시예들에서 웹 테스트 자동화 툴이 XSS 공격 의심 URL 접속에 따른 반응을 자동으로 분석하는 과정을 설명하기 위한 도면들이다.
도 12는 도 2의 다른 일부 동작을 상세히 설명하기 위한 상세 순서도이다.
도 13은 본 발명의 몇몇 실시예들에 따른 방법을 구현하기 위한 예시적인 하드웨어 구조를 설명하기 위한 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
이하, 본 발명의 일 실시예에 따른 XSS 공격 검증 자동화 시스템의 구성 및 동작을 도 1을 참조하여 설명한다.
도 1에 도시된 바와 같이, 본 실시예에 따른 XSS 공격 검증 자동화 시스템은 XSS 공격 검증 자동화 장치(100)를 포함할 수 있다. 몇몇 실시예에서, 본 실시예에 따른 상기 시스템은 비정상 URL 수집 장치(20)를 더 포함할 수 있다. 몇몇 실시예에서, 본 실시예에 따른 상기 시스템은 보안 관제 서버(30)를 더 포함할 수도 있다.
XSS 공격 검증 자동화 장치(100)는 비정상 URL 수집 장치(20)로부터 비정상 URL에 대한 정보를 주기적/비주기적으로 수신한다. 상기 비정상 URL에 대한 정보는 하나 이상의 대상 서버(10)에 유입되는 URL 요청(URL request)에 따른 URL 중, 비정상 URL 분류 로직에 따라 비정상 URL로 분류된 URL들에 대한 정보를 포함할 수 있다.
상기 비정상 URL에 대한 정보는, 가공되지 않은 정보로서, 단순히 비정상 URL 자체만으로 구성될 수도 있고, 비정상 URL 수집 장치(20)에 의한 파싱(parsing)의 결과 데이터로 구성될 수도 있다. 상기 비정상 URL에 대한 정보가 파싱 결과 데이터의 형태로 구성된 경우, 후술될 URL 파싱 동작은 XSS 공격 검증 자동화 장치(100)에 의하여 수행되지 않을 수 있다.
XSS 공격 검증 자동화 장치(100)는, 상기 비정상 URL에 대한 정보를 수신하고, 주기적/비주기적으로 상기 비정상 URL에 대한 정보에 대한 자동화된 검증 로직을 수행한다. 즉, XSS 공격 검증 자동화 장치(100)는 상기 비정상 URL에 대한 정보를 일정 분량 수집해 두었다가, 벌크 작업(bulk processing) 방식으로 상기 검증 로직을 수행할 수도 있고, 상기 비정상 URL에 대한 정보가 수신되면 즉각적으로 상기 검증 로직을 수행할 수도 있다.
몇몇 실시예들에서, 상기 검증 로직의 수행이 시작 될 때 필요한 사용자 컨펌 입력을 제외하고, 상기 검증 로직의 수행 과정에서 사용자 입력은 불필요하다. 기존의 XSS 공격 검증은 분석가가 웹에서 직접 재현하는 방식이었던 점에 대비하면, 본 발명의 실시예들에서 시간 및 비용이 최소화된 방식으로 XSS 공격 검증이 수행될 수 있을 것이다.
XSS 공격 검증 자동화 장치(100)는 비정상 URL의 쿼리 스트링(query string)을 얻고, 상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하며, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여, 대상 서버에 접속하고, 상기 접속에 따라, 브라우저에 상기 제1 데이터가 팝업 되는지 여부를 자동으로 판정할 수 있다.
XSS 공격 검증 자동화 장치(100)는 비정상 URL에서 쿼리 스트링(query string)을 얻고, 상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하며, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL으로 대상 서버에 접속하고, 상기 접속에 따라, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정할 수도 있다.
XSS 공격 검증 자동화 장치(100)는 비정상 URL에 포함된 함수 파라미터를 제1 데이터로 치환하고, 웹 테스트 자동화 툴을 이용하여, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여 대상 서버에 자동으로 접속하고, 상기 접속에 따른 반응에 상기 제1 데이터의 발견 여부를 자동으로 분석하며, 상기 분석의 결과에 따라 각각의 비정상 URL에 대한 평가 정보를 자동으로 세팅할 수도 있다.
즉, XSS 공격 검증 자동화 장치(100)는 비정상 URL에 포함된 쿼리 스트링의 함수 파라미터를 제1 데이터로 치환함으로써, 상기 함수 파라미터가 그대로 유지됨으로써 XSS 공격 재연 과정에서 XSS 공격 검증 자동화 장치(100)에 대한 공격이 실현되는 것을 방지할 수 있다. 즉, XSS 공격 검증 자동화 장치(100)는 XSS 공격의 공격 영향성을 측정하는 과정에서 스스로 공격 받을 수 있는 가능성을 차단할 수 있는 것이다.
본 명세서에서, '공격 영향성'은, XSS 공격이 성공하여 실제 클라이언트 장치에 영향을 미치는지 여부를 가리키는 것으로 이해될 수 있을 것이다.
몇몇 실시예에서, XSS 공격 검증 자동화 장치(100)는 웹 테스트 자동화 툴을 이용하여 XSS 공격 검증을 자동화 할 수 있다. 이 때, 상기 웹 테스트 자동화 툴 및 인터넷 브라우저는 샌드박스 등 다양한 보안 환경 내에서 실행됨으로써, 혹시나 있을지 모를 XSS 공격의 영향이 XSS 공격 검증 자동화 장치(100) 자체 또는 XSS 공격 검증 자동화 장치(100) 외부로 확대되는 것을 방지할 수 있다.
XSS 공격 검증 자동화 장치(100)의 구성 및 동작과 관련하여는, 후술될 다양한 실시예들을 통하여 보완적으로 이해될 수 있을 것이다.
이하, 본 발명의 다른 실시예에 따른 XSS 공격 검증 자동화 방법에 대하여 도 2를 중심으로, 도 3 내지 도 12를 참조하여 설명하기로 한다. 본 실시예에 따른 방법은 한대 이상의 컴퓨팅 장치에서 수행될 수 있다. 상기 컴퓨팅 장치는, 예를 들어 도 1을 참조하여 설명된 XSS 공격 검증 자동화 장치(100)일 수 있다. 물론, 본 실시예에 따른 방법은 도 1을 참조하여 설명된 비정상 URL 수집 장치에 의하여 수행됨으로써, 비정상 URL의 수집 및 그 XSS 공격 검증이 단일 장치에서 일원화 되어 수행될 수도 있을 것이다. 이하, 본 실시예에 따른 방법의 각 동작을 설명함에 있어서, 별도의 주체에 대한 명시가 없는 경우, 그 주체는 상기 컴퓨팅 장치인 것으로 이해될 수 있을 것이다.
도 2에 도시된 바와 같이, 본 실시예에 따른 방법은 비정상 URL 정보를 얻는 동작(S101), 각각의 URL을 분석하여 상기 URL에 대응되는 URL 구조체를 세팅하며, 문제시되는 함수 파라미터를 제1 데이터로 치환함으로써, 안정성이 확보된 XSS 공격 검증용 변형 URL에 생성될 수 있도록 준비하는 동작(S100), 상기 변형 URL을 이용하여 XSS 공격 검증을 위한 자동화된 테스트를 수행하는 동작(S110) 및 XSS 공격의 검증 결과로서, XSS 공격 영향성 판정 정보를 저장하고, 출력하는 동작(S120)을 포함할 수 있다.
먼저, 동작 S100에 대하여 상세히 설명한다. 동작 S100은, 단계 S101에서 얻은 비정상 URL 정보에 포함된 각각의 URL에 대하여 반복적으로 수행되는 단계로서, 상술한 바와 같이 상기 비정상 URL 정보가 이미 파싱 된 상태의 정보인 경우, 후술할 단계 S103, S105 및 S107은 생략될 수 있다.
단계 S103 및 단계 S105에서, 각각의 비정상 URL에 대한 파싱(parsing)이 수행된다. 상기 파싱은 하나의 데이터를 복수의 필드 별로 구분함으로써, 각각의 필드에 해당하는 값 또는 데이터를 세팅하는 과정으로 이해되어야 할 것이다.
도 3에 예시적인 URL이 도시되어 있다. 파싱 규칙(rule)에 기반하여 상기 파싱이 수행될 수 있다. 상기 파싱 규칙은 각각의 필드 및 필드 사이를 구분하는 구분자(delimeter)에 대한 세팅을 포함할 것이다. 이러한 파싱 규칙에 기반하여, 도 3의 예시적인 URL은 프로토콜, 도메인, 포트, 패스 및 쿼리 스트링(query string)의 필드로 파싱될 수 있을 것이다.
도 4에, 도 3의 예시적인 URL의 쿼리 스트링 전체가 도시되어 있다. 쿼리 스트링은 하나 이상의 키/밸류 쌍으로 파싱된다. 도 4의 쿼리 스트링 예시의 경우, 아래의 표 1과 같이 파싱될 것이다.
키(KEY) | 밸류(VALUE) |
lang | Kr |
load | Alert(document.cookie) |
다시 도 2로 돌아와서 설명하면, 단계 S103에서 각각의 비정상 URL에 대하여 파싱이 되어, 필드 별 데이터를 포함하는 URL 구조체가 세팅된다. URL 구조체의 필드 중, 쿼리 스트링 필드의 경우, 상세 필드의 세팅이 필요하다. 이러한 상세 필드는 하나 이상의 키/밸류 쌍을 포함하며, 이러한 상세 필드의 세팅 과정이 단계 S105에서 수행된다.단계 S107에서, 키/밸류 쌍 중에서 함수명, 함수 파라미터를 포함하는 밸류가 식별된다. 상기 파싱 규칙에는 함수명과 함수 파라미터로 구성되는 밸류를 식별하기 위한 규칙이 더 포함될 수 있을 것이다. 예를 들어, "A(A or N)", "A(A or N, A or N)"등의 형태로 구성되는 밸류는 함수명 및 함수 파라미터로 식별될 수 있을 것이다(A는 알파벳, N은 숫자).
단계 S109에서, 상기 함수명이 기 지정된 위험 함수 리스트에 포함된 것이라면, 상기 함수 파라미터는 제1 데이터로 치환된다. 위험 함수는, 예를 들어 브라우저에 팝업 메시지를 출력하는 스크립트 함수들을 포함하는 것일 수 있다. 예를 들어, 상기 위험 함수는 자바 스크립트의 ALERT 함수, PROMPT 함수 또는 CONFIRM 함수를 포함할 수 있다.
상기 제1 데이터는, 원래의 함수 파라미터와 다른 것이기만 하면 모든 데이터를 의미하는 것으로 이해되어야 한다. 예를 들어, 상기 제1 데이터는 임의로 생성된 데이터일 수 있다. 또는, 상기 제1 데이터는 일반적으로 사용되지 않는 무의미한 데이터일 수 있다. 추후 설명할 것이나, 상기 제1 데이터가 팝업창 내의 컨텐츠에서 발견되거나, HTML 코드 내에서 발견되는 경우, XSS 공격이 성공한 것으로 자동 판정되므로, 상기 제1 데이터는 일반적으로 사용될 가능성이 낮은 데이터인 것이 바람직하다. 이를 위해 상기 제1 데이터는 소정의 최저 길이 이상의 길이를 가지는 값일 수 있다.
몇몇 실시예에서, 상기 함수 명을 이용하여 공격 유형이 태깅 될 수 있다. 이렇게 태깅 된 공격 유형에 대한 정보는, 변형된 URL과 함께 웹 테스트 자동화 툴에 전달되어, 상기 웹 테스트 자동화 툴이 상기 제1 데이터를 신속하게 탐지할 수 있도록 한다.
상기 공격 유형 필드는 상기 URL 구조체에 포함될 수 있다. 이하, 몇몇 예시를 도 5a 내지 도 5b를 참조하여 설명한다.
도 5a에 URL 구조체의 JSON 기반 제1 표현예가 도시된다. 도 5a에 도시된 바와 같이, 공격 유형 필드(41a)가 다른 필드들(프로토콜, 도메인 등)과 동일한 레벨의 필드로서 URL 구조체에 포함될 수 있다.
도 5b에 URL 구조체의 JSON 기반 제2 표현예가 도시된다. 도 5b에 도시된 바와 같이, 공격 유형 필드(41b)가 쿼리 스트링 필드의 상세 파싱 결과를 표현하는 attackInfo 구조체의 한 필드로서 URL 구조체에 포함될 수도 있다.
물론, 상기 URL 구조체는 필요에 따라 얼마든지 다른 형태로 구성될 수 있을 것이며, 본 발명의 권리범위에 따른 URL 구조체는 도 5a 내지 도 5b에 도시된 것으로 한정하여 해석되지 않는다.
상기 태깅의 결과, 각 URL의 URL 구조체에는 웹 테스트 자동화 툴이 상기 제1 데이터를 신속하게 탐지하기 위해 필요한 상기 공격 유형에 대한 정보가 포함될 수 있다. 일 예에 따른 상기 공격 유형에 대한 정보는 함수명일 수 있다.
도 6a에 시각화 된 URL 구조체의 일 예가 도시된다. 함수명 및 함수 파라미터를 포함하는 쿼리스트링의 밸류(44a) 및 공격 유형(43)에 대한 정보가 상기 URL 구조체에 포함된다. 상기 함수 파라미터는, 도 6b에 도시된 바와 같이 제1 데이터로 치환된다(S109).
다시 도 2로 돌아와서, 상기 변형 URL을 이용하여 XSS 공격 검증을 위한 자동화된 테스트를 수행하는 동작(S110)을 상세히 설명한다. S110 단계는 각각의 URL 별로 반복하여 수행되는 것으로 이해될 수 있을 것이다.
단계 S111에서, 상기 함수 파라미터가 제1 데이터로 치환된 변형 URL이 생성된다. 그리고, 상기 변형 URL에 대한 URL request는 브라우저를 통해 대상 서버에 송신된다(S113). 상기 URL request는, 몇몇 실시예에서 가상 브라우저를 통해 상기 대상 서버에 송신될 수 있다.
단계 S115에서, 상기 변형 URL의 URL request에 대한 브라우저의 피드백 동작이 자동으로 분석된다. 이러한 분석은, 웹 테스트 자동화 툴에 의하여 자동으로 수행될 수 있다. 이와 관련하여, 도 7 내지 도 8을 참조하여 자세히 설명한다. 상기 웹 테스트 자동화 툴은, 셀레늄(selenium) 등의 제공되고 있는 웹 테스트 자동화 툴을 가리키는 것으로 이해될 수 있을 것이다.
웹 테스트 자동화 툴(45)은 JSON 형식으로 상기 변형 URL을 패키징 한 후, 상기 변형 URL의 JSON 형식 데이터를 웹 드라이버(46)에 제공할 수 있다. 이 과정은 상기 웹 테스트 자동화 툴에서 상기 변형 URL의 JSON 형식 데이터를 웹 드라이버(46)에 바인딩 하는 것으로 이해될 수 있을 것이다. 그리고, 웹 드라이버(46)는 가상의 브라우저를 통해 대상 서버(10)에 상기 변형 URL을 URL request 한다.
XSS 공격이 성공한다면, 예를 들어, 브라우저 상에 상기 제1 데이터를 포함하는 팝업 윈도우가 디스플레이 될 것이다. 웹 테스트 자동화 툴(45)은 웹 드라이버(46)를 통해 상기 제1 데이터를 포함하는 팝업 윈도우를 감지할 수 있다. 이 때, 웹 테스트 자동화 툴(45)은 상기 공격 유형에 대한 정보를 이용하여, 상기 팝업 윈도우를 신속하고 정확하게 감지할 수 있다.
XSS 공격을 위한 비정상 URL을 그대로 대상 서버(10)에 request 하지 않고, 문제시 되는 팝업 함수의 파라미터를 제1 데이터로 변형한 변형 URL을 대상 서버(10)에 request 하기 때문에 위험도는 크지 않다. 그럼에도 불구하고 혹시 발생할지 모를 위험 요소를 원천 차단하기 위해, 도 7에 도시된 바와 같이 웹 드라이버 및 브라우저(또는 가상 브라우저)는 샌드박스 등 보안 환경(50) 내에서 실행될 수 있다. 몇몇 실시예에서, 보안성을 보다 강화하기 위해 웹 테스트 자동화 툴(45), 웹 드라이버(46) 및 브라우저(또는 가상 브라우저) 모두가 샌드박스 등 보안 환경(50) 내에서 실행될 수도 있을 것이다.
다음으로, 단계 S117에서 브라우저의 피드백 동작이 자동으로 분석된 결과를 이용하여 현재 분석 중인 URL의 XSS 공격 영향성이 판정된다. 단계 S117은 상술한 웹 테스트 자동화 툴을 이용하여 수행될 수 있다. 이와 관련하여 도 9 내지 도 11을 참조하여 자세히 설명한다.
단계 S171에서, 접속이 불가능 한 URL이거나, 페이지가 존재하지 않는지 여부가 체크된다. 단계 S171은 도메인에 해당하는 부분만 접속 체크하는 과정으로 공격 대상 웹사이트가 실제 존재하는지를 실제 유입된 공격을 재현하고, 리턴 된 응답 코드를 분석하여 실제 페이지 존재여부를 확인하는 동작으로 이해될 수 있을 것이다. 단계 S171에서, 페이지가 존재 하지 않거나 접속이 불가능한 경우 검증행위를 종료함으로써 불필요한 추가 검증을 방지할 수 있다. 이 경우, XSS 공격 영향도가 없음을 의미하는 제3 등급의 판정이 내려질 수 있다(S176).
단계 S172에서, 브라우저에 제1 데이터를 포함하는 컨텐츠의 팝업 창이 표시되는지 여부가 체크된다. 예를 들어, 도 10에 도시된 바와 같이 브라우저(47)에 제1 데이터(49a)를 포함하는 컨텐츠가 디스플레이 되는 팝업 창(48)이 표시되는지 여부가 체크되는 것이다. 브라우저에 제1 데이터를 포함하는 컨텐츠의 팝업 창이 표시되는 경우, XSS 공격이 성공함을 가리키는 제1 등급의 판정이 내려질 수 있다.
브라우저에 제1 데이터를 포함하는 컨텐츠의 팝업 창이 표시되지 않는다 하여 XSS 공격의 공격 영향도가 전혀 없는 것은 아니다. 따라서, 단계 S173에서, 대상 서버로부터 수신된 HTML 코드에 상기 제1 데이터가 포함되어 있는지가 체크된다. 도 11에 도시된 바와 같이 상기 변형된 URL의 request에 응답하여 대상 서버로부터 다운로드 된 HTML에 제1 데이터(49b)가 포함되어 있다면, 이는 XSS 공격이 클라이언트 환경에 따라 성공할 수도 있음을 가리킨다. 따라서, 이 경우, 단계 S175에서 제1 등급 보다는 낮은 XSS 공격 영향도를 가리키는 제2 등급의 판정이 내려질 수 있다.
단계 S173에서 대상 서버로부터 수신된 HTML 코드에 상기 제1 데이터가 포함되지 않은 점이 확인되었다면, 서버에 anti-XSS 공격 관련 조치가 취해져서, XSS 공격이 무력화 되었음을 가리킨다. 따라서, 이 경우에는 공격 영향도가 없음을 가리키는 제3 등급이 내려질 수 있다.
다음으로, 단계 S120에서, 조사의 수행 결과가 저장되거나, 도 1을 참조하여 설명된 보안 관제 서버와 같은 외부 장치에 자동으로 송신될 수 있다.
도 2를 참조하여 설명한 동작들은, 단계 S101에서 비정상 URL 정보를 얻은 후, 단계 S100 및 단계 S110의 실행을 시작하기 위한 사용자 컨펌 입력을 받은 후에는, 추가적인 사용자 입력 없이 자동화 되어 수행될 수 있다. 몇몇 실시예에서, 단계 S101에서 비정상 URL 정보를 얻은 후, 별도의 사용자 컨펌 없이 단계 S100 및 단계 S110이 수행될 수도 있다. 지금까지 설명된 본 발명의 몇몇 실시예들에 따르면, XSS 공격의 검증을 위한 사용자 조작이 최소화 되므로, 관련된 시간 및 자원의 투입이 최소화 되는 효과를 가진다.
몇몇 실시예에서, 상기 비정상 URL에 포함되어 있던 포트에 한정하여 테스트 하는 것이 아니라, 포트를 바꿔가면서 테스트를 진행함으로써, 테스트 대상을 보다 넓힐 수도 있다. 이와 관련하여, 도 12를 참조하여 설명한다.
단계 S111a에서, 함수 파라미터만 제1 데이터로 치환된 것이 아니라, 포트도 임의의 제1 포트로 치환된 변형 URL이 생성된다. 물론, 단계 S111a가 현재 테스트 중인 비정상 URL에 대하여 처음으로 수행되는 것이라면, 비정상 URL의 원래 포트가 그대로 유지될 것이다.
다음으로, 단계 S113에서 변형 URL을 이용한 URL request가 대상 서버에 송신되고, 단계 S115에서, 상기 URL request에 대한 브라우저의 피드백이 자동으로 분석된다.
단계 S111a, S113, S115는 대상 서버에 대한 모든 테스트 대상 포트가 조사 완료 될 때까지 반복된다(S116a, S116b).
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 전자 장치로부터 제2 전자 장치에 전송되어 상기 제2 전자 장치에 설치될 수 있고, 이로써 상기 제2 전자 장치에서 사용될 수 있다. 상기 제1 전자 장치 및 상기 제2 전자 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 전자 장치를 모두 포함한다.
이하에서는, 도 13을 참조하여 본 발명의 다양한 실시예에서 설명된 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다.
도 13은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 13에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 13에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 13에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 도 13에 도시된 컴퓨팅 장치(500)는 IaaS(Infrastructure-as-a-Service) 방식의 클라우드 서비스를 제공하는 서버팜(server farm)에 소속된 물리 서버 중 어느 하나를 가리킬 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 도 4에 도시된 바와 같은 로직(또는 모듈)이 메모리(530) 상에 구현될 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 통신 인터페이스(570)는 도 1을 참조하여 설명한 비정상 URL 수집 장치, 보안 관제 서버 및 대상 서버 중 적어도 하나와 인트라넷을 통해 접속됨으로써, 빠른 통신 속도를 확보할 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.
Claims (14)
- 컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
비정상 URL의 쿼리 스트링(query string)을 얻는 단계;
상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계;
상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여, 대상 서버에 접속하는 단계; 및
상기 접속에 따라, 브라우저에 상기 제1 데이터가 팝업 되는지 여부를 자동으로 판정하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제1 항에 있어서,
상기 쿼리 스트링을 얻는 단계, 상기 제1 데이터로 치환하는 단계, 상기 접속하는 단계 및 상기 자동으로 판정하는 단계는,
다음 단계를 수행하기 위한 사용자 입력 없이 자동으로 진행되는 것을 특징으로 하는,
XSS 공격 검증 자동화 방법. - 제1 항에 있어서,
상기 자동으로 판정하는 단계는,
상기 브라우저에 상기 제1 데이터가 팝업 된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제3 항에 있어서,
상기 브라우저에 상기 제1 데이터가 팝업된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계는,
상기 브라우저에 상기 제1 데이터가 팝업된 경우, 상기 비정상 URL의 영향성을 제1 등급으로 판정하는 단계; 및
상기 브라우저에 상기 제1 데이터가 팝업되지 않았으나, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성을 제2 등급으로 판정하는 단계를 포함하되,
상기 제1 등급은 상기 제2 등급 보다 높은 위험도를 가진 것인,
XSS 공격 검증 자동화 방법. - 제1 항에 있어서,
상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계는,
상기 쿼리 스트링을 하나 이상의 키/밸류 쌍으로 구분하는 단계;
상기 키/밸류 쌍에 포함된 밸류 중 스크립트 함수 호출을 가리키는 밸류를 식별하는 단계;
상기 식별된 밸류에서 함수명을 추출하는 단계; 및
상기 추출된 함수명이 기 지정된 위험 함수 리스트에 포함된 것인 경우, 상기 식별된 밸류에서 추출된 상기 함수 파라미터를 상기 제1 데이터로 치환하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제5 항에 있어서,
기 지정된 위험 함수 리스트는,
브라우저에 팝업 메시지를 출력하는 스크립트 함수들을 포함하는 것인,
XSS 공격 검증 자동화 방법. - 제1 항에 있어서,
상기 접속하는 단계 및 상기 자동으로 판정하는 단계는,
샌드박스 환경 내에서 실행되는 것을 특징으로 하는,
XSS 공격 검증 자동화 방법. - 제1 항에 있어서,
상기 쿼리 스트링(query string)을 얻는 단계는,
상기 비정상 URL을 얻는 단계;
상기 비정상 URL을, 쿼리 스트링 필드를 포함하는 복수의 필드로 파싱(parsing)하는 단계; 및
상기 파싱의 결과 얻어진 각각의 필드 및 공격 유형 필드를 포함하는 URL 구조체를 구성하는 단계를 포함하고,
상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계는,
상기 쿼리 스트링에 포함된 함수명을 이용하여, 상기 URL 구조체의 공격 유형 필드의 값을 세팅하는 단계; 및
상기 URL 구조체의 쿼리 스트링 필드의 하위 필드 중 밸류 필드의 값으로서, 상기 함수 파라미터가 상기 제1 데이터로 치환된 데이터를 세팅하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제8 항에 있어서,
상기 대상 서버에 접속하는 단계는,
상기 비정상 URL의 상기 URL 구조체의 각 필드 값을 조합하여, 상기 변형 URL을 생성하는 단계; 및
상기 변형 URL을 웹 테스트 자동화 툴에 제공함으로써, 상기 웹 테스트 자동화 툴이 상기 변형 URL을 이용하여, 대상 서버에 접속하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제9 항에 있어서,
상기 웹 테스트 자동화 툴이 상기 변형 URL을 이용하여, 대상 서버에 접속하는 단계는,
상기 변형 URL 및 상기 공격 유형 필드의 값을 웹 테스트 자동화 툴에 제공함으로써, 상기 웹 테스트 자동화 툴이 상기 변형 URL을 이용하여, 대상 서버에 접속하는 단계를 포함하고,
상기 브라우저에 상기 제1 데이터가 팝업 되는지 여부를 자동으로 판정하는 단계는,
상기 웹 테스트 자동화 툴이, 상기 공격 유형 필드의 값을 이용하여, 상기 제1 데이터의 팝업 여부를 자동으로 판정하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제8 항에 있어서,
상기 대상 서버에 접속하는 단계는,
상기 비정상 URL의 상기 URL 구조체의 각 필드 값을 조합하되, 상기 URL 구조체의 포트 값은 다른 값으로 변형하여, 상기 변형 URL을 생성하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
비정상 URL에서 쿼리 스트링(query string)을 얻는 단계;
상기 쿼리 스트링에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계;
상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL으로 대상 서버에 접속하는 단계; 및
상기 접속에 따라, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계를 포함하는,
XSS 공격 검증 자동화 방법. - 제12 항에 있어서,
상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성이 있는 것으로 판정하는 단계는,
상기 브라우저에 상기 제1 데이터가 팝업 된 경우, 상기 비정상 URL의 영향성을 제1 등급으로 판정하는 단계; 및
상기 브라우저에 상기 제1 데이터가 팝업 되지 않았으나, 상기 대상 서버로부터 수신되는 HTML 코드에 상기 제1 데이터가 포함된 경우, 상기 비정상 URL의 영향성을 제2 등급으로 판정하는 단계를 포함하되,
상기 제1 등급은 상기 제2 등급 보다 높은 위험도를 가진 것인,
XSS 공격 검증 자동화 방법. - 컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
비정상 URL에 포함된 함수 파라미터를 제1 데이터로 치환하는 단계; 및
웹 테스트 자동화 툴이, 상기 함수 파라미터가 상기 제1 데이터로 치환된 변형 URL을 이용하여 대상 서버에 자동으로 접속하고, 상기 접속에 따른 반응에 상기 제1 데이터의 발견 여부를 자동으로 분석하는 단계를 포함하는,
XSS 공격 검증 자동화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190167680A KR20210076455A (ko) | 2019-12-16 | 2019-12-16 | Xss 공격 검증 자동화 방법 및 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190167680A KR20210076455A (ko) | 2019-12-16 | 2019-12-16 | Xss 공격 검증 자동화 방법 및 그 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210076455A true KR20210076455A (ko) | 2021-06-24 |
Family
ID=76607303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190167680A KR20210076455A (ko) | 2019-12-16 | 2019-12-16 | Xss 공격 검증 자동화 방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210076455A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499968A (zh) * | 2021-12-27 | 2022-05-13 | 奇安信科技集团股份有限公司 | 一种xss攻击检测方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080004904A (ko) | 2006-07-07 | 2008-01-10 | 오희국 | 실시간 웹 무결성 검증 시스템 |
-
2019
- 2019-12-16 KR KR1020190167680A patent/KR20210076455A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080004904A (ko) | 2006-07-07 | 2008-01-10 | 오희국 | 실시간 웹 무결성 검증 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499968A (zh) * | 2021-12-27 | 2022-05-13 | 奇安信科技集团股份有限公司 | 一种xss攻击检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240121266A1 (en) | Malicious script detection | |
Gupta et al. | Enhancing the browser-side context-aware sanitization of suspicious HTML5 code for halting the DOM-based XSS vulnerabilities in cloud | |
US10904286B1 (en) | Detection of phishing attacks using similarity analysis | |
US10057280B2 (en) | Methods and systems of detecting and analyzing correlated operations in a common storage | |
KR101001132B1 (ko) | 웹 어플리케이션의 취약성 판단 방법 및 시스템 | |
CN107209831B (zh) | 用于识别网络攻击的系统和方法 | |
CN103279710B (zh) | Internet信息系统恶意代码的检测方法和系统 | |
EP3547121B1 (en) | Combining device, combining method and combining program | |
KR101902747B1 (ko) | 클라이언트 측 웹 취약점 분석 방법 및 장치 | |
EP2881877A1 (en) | Program execution device and program analysis device | |
EP3021550A1 (en) | System and method for identifying internet attacks | |
US11496502B2 (en) | Method and apparatus for generating attack string | |
KR20210076455A (ko) | Xss 공격 검증 자동화 방법 및 그 장치 | |
JP6666475B2 (ja) | 解析装置、解析方法及び解析プログラム | |
CN116361793A (zh) | 代码检测方法、装置、电子设备及存储介质 | |
Cvitić et al. | Defining cross-site scripting attack resilience guidelines based on BeEF framework simulation | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN114003918A (zh) | 一种云安全运营方法、装置、电子设备以及存储介质 | |
CN113238971A (zh) | 基于状态机的自动化渗透测试系统及方法 | |
CN107124386B (zh) | 黑色产业内容的检测分析方法及装置 | |
Nguyen et al. | An Improving Way For Website Security Assessment | |
CN114726559B (zh) | 一种url检测方法、系统、设备及计算机可读存储介质 | |
US20240250964A1 (en) | Alert verification device, alert verification method, and alert verification program | |
Bronte et al. | Benchmark for Empirical Evaluation of Web Application Anomaly Detectors | |
CN116155530A (zh) | 网络攻击的判定方法、电子设备及计算机可读存储介质 |