KR101543238B1 - 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법 - Google Patents

실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR101543238B1
KR101543238B1 KR1020150009710A KR20150009710A KR101543238B1 KR 101543238 B1 KR101543238 B1 KR 101543238B1 KR 1020150009710 A KR1020150009710 A KR 1020150009710A KR 20150009710 A KR20150009710 A KR 20150009710A KR 101543238 B1 KR101543238 B1 KR 101543238B1
Authority
KR
South Korea
Prior art keywords
web page
script
analysis
web
processing unit
Prior art date
Application number
KR1020150009710A
Other languages
English (en)
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 KR1020150009710A priority Critical patent/KR101543238B1/ko
Application granted granted Critical
Publication of KR101543238B1 publication Critical patent/KR101543238B1/ko

Links

Images

Classifications

    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • H04L29/06877
    • H04L29/06897
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법이 제공된다. 상기 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치는, HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지를 수집하고, 상기 제1 웹 페이지를 요청 메시지를 포함하는 제2 웹 페이지와 응답 메시지를 포함하는 제3 웹 페이지로 분류하는 트래픽 수집 처리부, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지를 수신하여 컨텐츠 타입을 확인하고, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지의 컨텐츠 타입이 HTML 또는 Script인 경우에 분석 요청 메시지를 생성하는 컨텐츠 처리부, 및 상기 분석 요청 메시지를 수신하고, 상기 분석 요청 메시지에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과를 생성하고, 상기 분석 결과를 상기 컨텐츠 처리부로 제공하는 스크립트 분석 처리부를 포함한다.

Description

실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법{Apparatus, system and method for collecting and processing a web traffic to detect a malicious script in real-time}
본 발명은 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법에 관한 것이다.
악성 코드(malicious code)는 비정상적인 동작 또는 시스템 위해(harm) 행위를 목적으로 작성된 코드를 말하며, 컴퓨터 바이러스(computer virus), 웜(worm), 그리고 트로이 목마(trojan)를 포함하는 개념이다. 악성 스크립트는 스크립트 언어로 작성된 악성 프로그램들을 말하는데, 현재까지 발견된 것들은 비주얼 베이직 스크립트(Visual Basic Script), mIRC 스크립트, 자바 스크립트가 수적으로 가장 많으며, 그 외에 PHP 스크립트, 코렐 드로우 스크립트 등으로 작성된 것들이 일부 존재한다.
한국공개특허 제2014-0128554호에는 유해 트래픽 탐지 시스템 및 방법에 관하여 개시되어 있다.
본 발명이 해결하고자 하는 과제는, 웹 컨텐츠 중에서 스크립트만 별도로 추출한 후 악성 스크립트 존재 여부에 관해 탐지하여 네트워크 트래픽의 사용을 최적화하고, 웹 캐시 기술을 이용하여 기 분석된 정보를 활용함으로써 처리 속도를 향상시킬 수 있는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 웹 컨텐츠 중에서 스크립트만 별도로 추출한 후 악성 스크립트 존재 여부에 관해 탐지하여 네트워크 트래픽의 사용을 최적화하고, 웹 캐시 기술을 이용하여 기 분석된 정보를 활용함으로써 처리 속도를 향상시킬 수 있는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는, 웹 컨텐츠 중에서 스크립트만 별도로 추출한 후 악성 스크립트 존재 여부에 관해 탐지하여 네트워크 트래픽의 사용을 최적화하고, 웹 캐시 기술을 이용하여 기 분석된 정보를 활용함으로써 처리 속도를 향상시킬 수 있는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 일 실시예는, HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지를 수집하고, 상기 제1 웹 페이지를 요청 메시지를 포함하는 제2 웹 페이지와 응답 메시지를 포함하는 제3 웹 페이지로 분류하는 트래픽 수집 처리부, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지를 수신하여 컨텐츠 타입을 확인하고, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지의 컨텐츠 타입이 HTML 또는 Script인 경우에 분석 요청 메시지를 생성하는 컨텐츠 처리부, 및 상기 분석 요청 메시지를 수신하고, 상기 분석 요청 메시지에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과를 생성하고, 상기 분석 결과를 상기 컨텐츠 처리부로 제공하는 스크립트 분석 처리부를 포함한다.
본 발명의 몇몇 실시예에서, 상기 트래픽 수집 처리부는, 상기 제1 웹 페이지에서 추출되고 HTML 태그만 포함하는 제4 웹 페이지를 클라이언트 브라우저로 제공하는 프록시(proxy) 모듈을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 컨텐츠 처리부는, 상기 프록시 모듈로부터 상기 제2 웹 페이지 또는 상기 제3 웹 페이지를 제공받고, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지로부터 상기 제4 웹 페이지를 추출하는 버킷(bucket) 관리 모듈을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 트래픽 수집 처리부는, 상기 컨텐츠 처리부로부터 상기 제4 웹 페이지를 제공받아 저장하고, 상기 제4 웹 페이지를 상기 프록시 모듈로 제공하는 캐시(cache) 모듈을 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 버킷 관리 모듈은, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지로부터 내부 Script 태그만 포함하는 제5 웹 페이지를 더 추출할 수 있다.
본 발명의 몇몇 실시예에서, 상기 버킷 관리 모듈은, 상기 프록시 모듈로부터 외부 Script 문서를 더 제공받을 수 있다.
본 발명의 몇몇 실시예에서, 상기 외부 Script 문서는, 상기 제1 웹 페이지에 포함된 외부 Script 경로에 따라 획득된 Script 문서일 수 있다.
본 발명의 몇몇 실시예에서, 상기 컨텐츠 처리부는, 상기 제4 웹 페이지, 상기 제5 웹 페이지, 상기 외부 Script 문서, 또는 상기 분석 결과를 저장하는 데이터베이스부를 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 컨텐츠 처리부는, 상기 제4 웹 페이지, 상기 제5 웹 페이지, 상기 외부 Script 문서, 또는 상기 분석 결과를 상기 데이터베이스부로 제공하는 풀(pool) 관리 모듈을 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 버킷 관리 모듈은, 상기 제4 웹 페이지, 상기 제5 웹 페이지, 또는 상기 외부 Script 문서를 상기 스크립트 분석 처리부로 제공할 수 있다.
본 발명의 몇몇 실시예에서, 상기 분석 결과는, 상기 제4 웹 페이지, 상기 제5 웹 페이지, 또는 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석한 결과를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 트래픽 수집 처리부는, 상기 제1 웹 페이지가 HTTPS 통신 규약을 포함하는 경우에, 상기 제1 웹 페이지에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행할 수 있다.
상기 과제를 해결하기 위한 본 발명의 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템의 일 실시예는, HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지를 수집하고, 상기 제1 웹 페이지에서 추출되고 HTML 태그만 포함하는 제2 웹 페이지를 클라이언트 브라우저로 제공하는 프록시(proxy) 모듈, 상기 프록시 모듈로부터 상기 제1 웹 페이지를 제공받고, 상기 제1 웹 페이지로부터 상기 제2 웹 페이지를 추출하고, 상기 제1 웹 페이지로부터 내부 Script 태그만 포함하는 제3 웹 페이지를 추출하는 버킷(bucket) 관리 모듈, 상기 버킷 관리 모듈로부터 상기 제2 웹 페이지를 제공받아 저장하고, 상기 제2 웹 페이지를 상기 프록시 모듈로 제공하는 캐시(cache) 모듈, 상기 버킷 관리 모듈로부터 상기 제1 내지 제3 웹 페이지를 제공받고, 상기 제1 내지 제3 웹 페이지에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과를 생성하는 스크립트 분석 모듈, 및 상기 제1 내지 제3 웹 페이지와, 상기 분석 결과를 저장하는 데이터베이스부를 포함한다.
본 발명의 몇몇 실시예에서, 상기 제1 내지 제3 웹 페이지와, 상기 분석 결과를 상기 데이터베이스부로 제공하는 풀(pool) 관리 모듈을 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 버킷 관리 모듈은, 상기 프록시 모듈로부터 외부 Script 문서를 더 제공받을 수 있다.
본 발명의 몇몇 실시예에서, 상기 외부 Script 문서는, 상기 제1 웹 페이지에 포함된 외부 Script 경로에 따라 획득된 Script 문서일 수 있다.
본 발명의 몇몇 실시예에서, 상기 버킷 관리 모듈은, 상기 외부 Script 문서를 상기 스크립트 분석 모듈로 더 제공할 수 있다.
본 발명의 몇몇 실시예에서, 상기 분석 결과는, 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석한 결과를 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 프록시 모듈은, 상기 제1 웹 페이지가 HTTPS 통신 규약을 포함하는 경우에, 상기 제1 웹 페이지에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행할 수 있다.
상기 과제를 해결하기 위한 본 발명의 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법의 일 실시예는, HTTP 또는 HTTPS 통신 규약을 포함하고, 요청 메시지를 포함하는 제1 웹 페이지를 수집하고, 상기 제1 웹 페이지를 이용하여 새로운 세션을 생성하고, 서버로부터 상기 제1 웹 페이지에 대응하는 응답 메시지를 포함하는 제2 웹 페이지를 수신하고, 상기 제2 웹 페이지로부터 HTML 태그만 포함하는 제3 웹 페이지 또는 내부 Script 태그만 포함하는 제4 웹 페이지를 추출하고, 상기 제1 웹 페이지에 포함된 외부 Script 경로를 상기 서버로 제공하고, 상기 서버로부터 상기 외부 Script 경로에 대응하는 외부 Script 문서를 제공받고, 상기 제3 웹 페이지, 상기 제4 웹 페이지, 또는 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석 요청하고, 상기 분석 요청에 대응하여 분석 결과를 생성하는 것을 포함한다.
본 발명의 몇몇 실시예에서, 상기 제1 웹 페이지가 HTTPS 통신 규약을 포함하는 경우에 상기 제1 웹 페이지에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행하는 것을 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 서버로부터 상기 외부 Script 문서를 제공받고, 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석 요청하는 것은, 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부에 관한 분석 요청을 하는 분석 요청 메시지를 제공받기 전에 수행될 수 있다.
본 발명의 몇몇 실시예에서, 클라이언트 브라우저로부터 상기 분석 요청 메시지를 제공받는 경우에, 미리 생성된 상기 분석 결과를 상기 클라이언트 브라우저로 제공하는 것을 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 분석 결과를 데이터베이스부에 저장하는 것을 더 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 분석 결과는, 상기 제3 웹 페이지, 상기 제4 웹 페이지, 또는 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석한 결과를 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법에 의하면, 웹 컨텐츠 중에서 스크립트만 별도로 추출한 후 악성 스크립트 존재 여부에 관해 탐지하여 네트워크 트래픽의 사용을 최적화하고, 웹 캐시 기술을 이용하여 기 분석된 정보를 활용함으로써 처리 속도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 블록도이다.
도 2는 도 1의 웹 트래픽 수집 처리 장치에서의 컨텐츠 플로우를 도시한 것이다.
도 3은 도 1의 웹 트래픽 수집 처리 장치에서 HTML 요청 메시지를 처리하는 플로우를 도시한 것이다.
도 4는 도 1의 웹 트래픽 수집 처리 장치에서 HTML 응답 메시지를 처리하는 플로우를 도시한 것이다.
도 5는 도 1의 웹 트래픽 수집 처리 장치에서 자바 스크립트 응답 메시지를 처리하는 플로우를 도시한 것이다.
도 6은 도 1의 웹 트래픽 수집 처리 장치에서 자바 스크립트 요청 메시지를 처리하는 플로우를 도시한 것이다.
도 7은 도 1의 웹 트래픽 수집 처리 장치의 전체 동작을 순차적으로 나타낸 흐름도이다.
도 8 및 도 9는 도 1의 트래픽 수집 처리부의 동작을 순차적으로 나타낸 흐름도이다.
도 10 및 도 11은 도 1의 컨텐츠 처리부의 동작을 순차적으로 나타낸 흐름도이다.
도 12는 요청 메시지의 처리 과정을 설명하기 위한 도면이다.
도 13은 요청 메시지의 처리 과정을 순차적으로 나타낸 흐름도이다.
도 14는 응답 메시지의 처리 과정을 설명하기 위한 도면이다.
도 15는 응답 메시지의 처리 과정을 순차적으로 나타낸 흐름도이다.
도 16은 외부 경로 스크립트 수집 과정을 순차적으로 나타낸 흐름도이다.
도 17은 스크립트 분석 처리부와 연동하여 처리하는 과정을 순차적으로 나타낸 흐름도이다.
도 18은 도 1의 웹 트래픽 수집 처리 장치에서의 전체적인 처리 동작을 설명하기 위한 도면이다.
도 19 내지 도 22는 데이터 구조를 예시적으로 도시한 테이블이다.
도 23은 도 1의 웹 트래픽 수집 처리 장치에서 예외적인 상황을 처리하는 것을 설명하기 위한 도면이다.
도 24는 본 발명의 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 블록도이다.
도 25는 본 발명의 또 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 블록도이다.
도 26은 본 발명의 일 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법을 순차적으로 나타낸 흐름도이다.
도 27은 본 발명의 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법을 순차적으로 나타낸 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 블록도이다. 도 2는 도 1의 웹 트래픽 수집 처리 장치에서의 컨텐츠 플로우를 도시한 것이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 웹 트래픽 수집 처리 장치(1)는, 시스템 관리부(100), 네트워크 처리부(200), 스크립트 분석 처리부(300)를 포함하며, 네트워크 처리부(200)는 트래픽 수집 처리부(210)와 컨텐츠 처리부(220)를 포함한다.
본 발명에 따른 웹 트래픽 수집 처리 장치(1)는 Forward Proxy 형태로 구현되며, HTTP 또는 HTTPS 통신 규약을 포함하는 트래픽을 실시간으로 수집 및 처리하고, 그 외의 네트워크 트래픽은 Bypass 모드로 처리한다. 웹 트래픽 수집 처리 장치(1)는 HTTPS 프로토콜을 이용하여 SSL(Secure Socket Layer)로 암호화된 웹 트래픽도 수집 및 처리할 수 있다. 웹 트래픽 수집 처리 장치(1)는 클라이언트 브라우저에 별도의 에이전트를 설치하거나 서버의 코드를 수정하지 않고도 웹 트래픽을 수집 및 처리할 수 있다.
웹 트래픽 수집 처리 장치(1)는 HTML 웹 페이지 내에 포함된 다수의 스크립트를 하나의 정보 단위인 버킷(Bucket)으로 묶어서 관리할 수 있다. 버킷 단위의 정보를 이용해 스크립트 분석 처리부(300)에 스크립트 분석을 요청하고, 분석 결과를 수신할 수 있다. 특히, 웹 트래픽 수집 처리 장치(1)는 웹 컨텐츠 중에서 스크립트만 별도로 추출하고, 분석 요청 및 처리하여, 네트워크 트래픽 사용을 최적화 할 수 있다. 또한, 웹 캐시 기술을 이용하여 기 분석된 자료를 최대로 활용함으로써 네트워크 트래픽 사용을 최적화 할 수 있다.
시스템 관리부(100)는 사용자에게 시스템 관리 UI를 제공하며, 사용자는 시스템 관리부(100)를 통해 시스템 정책을 설정할 수 있다.
트래픽 수집 처리부(210)는 HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지(WP1)를 수집하고, 제1 웹 페이지(WP1)를 요청 메시지(REQ)를 포함하는 제2 웹 페이지(WP2)와 응답 메시지(RES)를 포함하는 제3 웹 페이지(WP3)로 분류할 수 있다. 트래픽 수집 처리부(210)는 HTTPS 통신 규약을 포함하는 제1 웹 페이지(WP1)에 대하여 SSL 암호화 처리를 하여 웹 페이지 분석을 수행하도록 할 수 있다. 그리고, 트래픽 수집 처리부(210)는 웹 캐시를 이용하여 안전한 컨텐츠들을 저장할 수 있다.
컨텐츠 처리부(220)는 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)를 수신하여 컨텐츠 타입(CT)을 확인하고, 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)의 컨텐츠 타입(CT)이 HTML 또는 Script인 경우에 분석 요청 메시지(ARM)를 생성할 수 있다. 컨텐츠 처리부(220)는 컨텐츠 세션을 관리하고, 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)의 내부 스크립트를 추출하고, 외부 경로 스크립트를 수집 및 처리할 수 있다. 컨텐츠 처리부(220)는 분석 결과를 저장할 수 있는 저장소를 포함할 수 있으며, 상기 저장소에 분석 결과뿐만 아니라 버킷 정보, 웹 컨텐츠 등을 저장할 수 있다.
스크립트 분석 처리부(300)는 분석 요청 메시지(ARM)를 수신하고, 분석 요청 메시지(ARM)에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과를 생성할 수 있다. 스크립트 분석 처리부(300)는 분석 결과를 컨텐츠 처리부(220)로 제공할 수 있다.
스크립트 분석 처리부(300)는 분석 요청 메시지(ARM)에 포함된 HTML 또는 Script에 대해, 정적 분석 또는 동적 분석을 수행할 수 있고, 시그니처 관리 시스템과 연동하여 정적 분석 또는 동적 분석을 수행할 수도 있다.
도 2를 참조하여, 웹 트래픽 수집 처리 장치(1)의 구체적인 세부 모듈과 각 세부 모듈이 동작하는 순서를 설명한다.
도 2를 참조하면, 트래픽 수집 처리부(210)는 프록시 모듈(211)과 캐시 모듈(212)을 포함할 수 있다. 그리고, 컨텐츠 처리부(220)는 버킷 관리 모듈(221), 풀 관리 모듈(222), 데이터베이스부(223)을 포함할 수 있다.
우선, 웹 서버(20)로부터 HTML 문서와 자바 스크립트 문서가 프록시 모듈(211)로 제공될 수 있다. 이하에서, HTML 문서는 HTML로 표기하고, 자바 스크립트 문서는 JS로 표기하기로 한다.
A.HTML은 제1 웹 페이지(WP1)를 의미하고, B.JS는 제1 웹 페이지(WP1) 내의 외부 스크립트 경로에 따라 획득된 외부 자바 스크립트 문서를 의미한다. 예를 들어 도 2에서는, A.HTML은 응답 메시지(RES)를 포함하는 제3 웹 페이지(WP3)일 수 있다.
프록시 모듈(211)은 A.HTML과 B.JS를 웹 서버(20)로부터 제공받아 버킷 관리 모듈(221)로 제공할 수 있다. 버킷 관리 모듈(221)은 A.HTML로부터 HTML 태그만 포함하는 A1.HTML을 추출하고, A.HTML로부터 내부 Script 태그만 포함하는 A2.JS를 추출할 수 있다. 버킷 관리 모듈(221)은 A1.HTML을 프록시 모듈(211)과 캐시 모듈(212)로 제공하고, A.HTML과 B.JS를 풀 관리 모듈(222)로 제공할 수 있다.
프록시 모듈(211)은 A1.HTML을 제공받고, A1.HTML을 클라이언트 브라우저(10)로 제공할 수 있다. 사용자는 클라이언트 브라우저(10)를 통해, 미리 A1.HTML에 대한 분석 처리된 컨텐츠들을 확인할 수 있다.
풀 관리 모듈(222)은 A.HTML과 B.JS를 데이터베이스부(223)에 제공할 수 있다. 버킷 관리 모듈(221)은 A.HTML과 B.JS를 스크립트 분석 처리부(300)로 제공하여, 스크립트 분석 처리부(300)는 컨텐츠 분석 동작을 수행할 수 있다.
스크립트 분석 처리부(300)는 분석 결과와 분석 처리 컨텐츠를 버킷 관리 모듈(221)로 제공하고, 버킷 관리 모듈(221)은 분석 결과와 분석 처리 컨텐츠를 풀 관리 모듈(222)로 제공할 수 있다.
풀 관리 모듈(222)은 분석 결과와 분석 처리 컨텐츠를 데이터베이스부(223)로 제공하고, 데이터베이스부(223)는 분석 처리 컨텐츠에 해당하는 A2.JS, B.JS, A.HTML을 캐시 모듈(212)로 제공하여 캐시 모듈(212)에서 A2.JS, B.JS, A.HTML을 저장할 수 있다.
캐시 모듈(212)은 A1.HTML, A2.JS, B.JS, A.HTML을 프록시 모듈(211)로 제공하고, 프록시 모듈(211)은 다시 A1.HTML, A2.JS, B.JS, A.HTML을 클라이언트 브라우저(10)로 제공하여, 사용자는 분석 처리된 컨텐츠들을 클라이언트 브라우저(10)를 통해 확인할 수 있다.
도 3은 도 1의 웹 트래픽 수집 처리 장치에서 HTML 요청 메시지를 처리하는 플로우를 도시한 것이다.
도 3을 참조하면, 웹 트래픽 수집 처리 장치(1)는 프록시 모듈(211)이 클라이언트 브라우저(10)로부터 A.HTML을 포함하는 HTML 요청 메시지(REQ_HTML)를 제공받는다. 프록시 모듈(211)은 캐시 모듈(212)을 조회하여, A.HTML에 대응하는 분석 결과가 저장되어 있다면, 분석 결과를 포함하는 HTML 응답 메시지(RES_HTML)를 클라이언트 브라우저(10)에 제공하고 분석 처리 과정을 종료한다.
그러나, 캐시 모듈(212)에 A.HTML에 대응하는 분석 결과가 저장되어 있지 않다면, 프록시 모듈(211)은 버킷 관리 모듈(221)에 HTML 요청 메시지(REQ_HTML)를 제공하여 컨텐츠 분석 동작을 진행한다. 버킷 관리 모듈(221)은 풀 관리 모듈(222)을 통해 데이터베이스부(223)에 버킷 ID를 할당하고, HTML 요청 메시지(REQ_HTML)에 관한 요청 정보를 저장한다. 그리고, 프록시 모듈(211)은 웹 서버(20)로 HTML 요청 메시지(REQ_HTML)를 제공한다.
도 4는 도 1의 웹 트래픽 수집 처리 장치에서 HTML 응답 메시지를 처리하는 플로우를 도시한 것이다.
도 4를 참조하면, 웹 트래픽 수집 처리 장치(1)는 웹 서버(20)가 프록시 모듈(211)로 A.HTML에 대응하는 HTML 응답 메시지(RES_HTML)를 제공한다. 프록시 모듈(211)은 버킷 관리 모듈(221)로 HTML 응답 메시지(RES_HTML)에 관한 정보를 제공하고, 버킷 관리 모듈(221)은 풀 관리 모듈(222)을 통해 데이터베이스부(223)로부터 탐지 히스토리를 조회한다. 이에 따라, 데이터베이스부(223)에 분석 결과가 저장되어 있다면, 분석 결과를 프록시 모듈(211)을 통해 클라이언트 브라우저(10)로 제공하고 분석 처리 과정을 종료한다.
그러나, 데이터베이스부(223)에 분석 결과가 저장되어 있지 않다면, HTML 응답 메시지(RES_HTML)에 관한 정보를 데이터베이스부(223)에 저장한다. 버킷 관리 모듈(221)은 A.HTML로부터 A1.HTML과 A2.JS를 추출하고, 웹 서버(20)에 B.JS에 관해 스크립트 요청 메시지(REQ_JS)를 제공한다.
버킷 관리 모듈(221)은 A1.HTML을 프록시 모듈(211)로 제공한다. 프록시 모듈(211)은 A1.HTML을 클라이언트 브라우저(10)로 제공하여, 사용자는 분석 처리된 컨텐츠들을 클라이언트 브라우저(10)를 통해 확인할 수 있다.
도 5는 도 1의 웹 트래픽 수집 처리 장치에서 자바 스크립트 응답 메시지를 처리하는 플로우를 도시한 것이다.
도 5를 참조하면, 웹 트래픽 수집 처리 장치(1)는 웹 서버(20)가 프록시 모듈(211)로 B.JS에 대응하는 스크립트 응답 메시지(RES_JS)를 제공한다. 버킷 관리 모듈(221)은 풀 관리 모듈(222)을 통해 데이터베이스부(223)에 스크립트 응답 메시지(RES_JS)에 관한 정보를 저장한다.
그리고, 버킷 관리 모듈(221)은 A.HTML과 B.JS에 관한 분석 요청 메시지(ARM)를 생성하여, 스크립트 분석 처리부(300)로 분석 요청 메시지(ARM)를 제공한다. 스크립트 분석 처리부(300)에서 분석 결과를 생성하고, 이를 버킷 관리 모듈(221)로 제공한다.
버킷 관리 모듈(221)은 A2.JS에 관한 분석 결과를 추출하고, A.HTML, A2.JS, B.JS에 관한 분석 결과를 캐시 모듈(212)로 제공하여, 캐시 모듈(212)은 A.HTML, A2.JS, B.JS에 관한 분석 결과를 저장한다. 그리고, 버킷 관리 모듈(221)은 A.HTML과 B.JS에 관한 분석 결과 및 탐지 결과를 데이터베이스부(223)에 제공하여, 데이터베이스부(223)는 A.HTML과 B.JS에 관한 분석 결과 및 탐지 결과를 저장한다.
도 6은 도 1의 웹 트래픽 수집 처리 장치에서 자바 스크립트 요청 메시지를 처리하는 플로우를 도시한 것이다.
도 6을 참조하면, 웹 트래픽 수집 처리 장치(1)는 프록시 모듈(211)이 클라이언트 브라우저(10)로부터 A2.JS, B.JS를 포함하는 스크립트 요청 메시지(REQ_JS)를 제공받는다. 프록시 모듈(211)은 캐시 모듈(212)을 조회하여, A2.JS, B.JS에 대응하는 분석 결과가 저장되어 있다면, 분석 결과를 포함하는 스크립트 응답 메시지(RES_JS)를 클라이언트 브라우저(10)에 제공하고 분석 처리 과정을 종료한다.
그러나, 캐시 모듈(212)에 A2.JS, B.JS에 대응하는 분석 결과가 저장되어 있지 않다면, 프록시 모듈(211)은 버킷 관리 모듈(221)에 스크립트 요청 메시지(REQ_JS)를 제공하여 컨텐츠 분석 동작을 진행한다. 버킷 관리 모듈(221)은 풀 관리 모듈(222)을 통해 데이터베이스부(223)에 분석 결과가 저장되어 있는지 조회하고, 데이터베이스부(223)에 분석 결과가 저장되어 있다면 컨텐츠 분석 동작을 종료하고, 클라이언트 브라우저(10)로 분석 결과를 포함하는 스크립트 응답 메시지(RES_JS)를 제공한다.
만약에, 데이터베이스부(223)에 분석 결과가 저장되어 있지 않다면, 기 정해진 시간 동안 분석 대기하고, 기 정해진 시간이 초과하는 경우에는 데이터베이스부(223)에 탐지 결과를 저장하고, 컨텐츠 분석 동작을 종료한다.
도 7은 도 1의 웹 트래픽 수집 처리 장치의 전체 동작을 순차적으로 나타낸 흐름도이다.
도 7을 참조하면, 위에서 설명한 웹 트래픽 수집 처리 장치(1)의 동작에 대해 나타나 있다. 웹 트래픽 수집 처리 장치(1)는 웹 트래픽 수집 후에, 요청 메시지(REQ)와 응답 메시지(RES)를 분류하고, 요청 메시지(REQ)에 대해서는 캐시 모듈(212)을 확인하고, 세션을 확인하여 요청 메시지(REQ)를 처리하거나 분석 결과를 조회하는 동작을 수행한다.
응답 메시지(RES)에 대해서는 탐지 결과를 확인하고, 탐지 결과 존재 여부에 따라 분석을 종료하거나, 스크립트 분석 처리부(300)와 연동하여 컨텐츠 분석 동작을 수행한다.
도 8 및 도 9는 도 1의 트래픽 수집 처리부의 동작을 순차적으로 나타낸 흐름도이다. 도 8 및 도 9를 참조하면, 위에서 설명한 트래픽 수집 처리부(210) 내의 프록시 모듈(211)과 캐시 모듈(212)의 동작에 대해 나타나 있다.
도 10 및 도 11은 도 1의 컨텐츠 처리부의 동작을 순차적으로 나타낸 흐름도이다. 도 10 및 도 11을 참조하면, 위에서 설명한 컨텐츠 처리부(220) 내의 버킷 관리 모듈(221), 풀 관리 모듈(222), 및 데이터베이스부(223)의 동작에 대해 나타나 있다.
도 12는 요청 메시지의 처리 과정을 설명하기 위한 도면이다. 도 13은 요청 메시지의 처리 과정을 순차적으로 나타낸 흐름도이다. 도 12 및 도 13을 참조하면, 위에서 설명한 요청 메시지(REQ)의 처리 순서에 대해 나타나 있다. 도 12 및 도 13에서 a1은 새로운 세션을 생성하는 과정을 나타낸 것이고, b1은 기존의 세션 내에서 요청 메시지(REQ)를 처리하는 과정을 나타낸 것이다.
도 14는 응답 메시지의 처리 과정을 설명하기 위한 도면이다. 도 15는 응답 메시지의 처리 과정을 순차적으로 나타낸 흐름도이다. 도 16은 외부 경로 스크립트 수집 과정을 순차적으로 나타낸 흐름도이다. 도 17은 스크립트 분석 처리부와 연동하여 처리하는 과정을 순차적으로 나타낸 흐름도이다.
도 14 내지 도 17을 참조하면, 위에서 설명한 응답 메시지(RES)의 처리 순서에 대해 나타나 있다. 도 14에서 a2는 응답 메시지(RES)의 처리 과정을 나타낸 것이고, b2는 외부 경로 스크립트를 수집하는 과정을 나타낸 것이고, c3는 스크립트 분석 처리부(300)와 연동하여 컨텐츠 분석 동작을 수행하는 것을 나타낸 것이다.
도 18은 도 1의 웹 트래픽 수집 처리 장치에서의 전체적인 처리 동작을 설명하기 위한 도면이다. 도 18을 참조하면, 웹 트래픽 수집 처리 장치(1)에서 새로운 세션을 생성하고, 응답 메시지(RES)를 처리하고, 외부 경로 스크립트를 수집하고, 스크립트 분석 처리부(300)와 연동하여 컨텐츠 분석 동작을 수행하는 것에 대해 나타나 있다.
도 19 내지 도 22는 데이터 구조를 예시적으로 도시한 테이블이다. 도 19 내지 도 22를 참조하면, 버킷 ID, 분석 결과, 탐지 결과, Resource ID, 트래픽 타입, 컨텐츠 타입, 컨텐츠 경로, 컨텐츠 해시 코드 등에 관한 데이터 구조의 예시에 관해 나타나 있다.
도 23은 도 1의 웹 트래픽 수집 처리 장치에서 예외적인 상황을 처리하는 것을 설명하기 위한 도면이다.
도 23을 참조하면, Case 1은 비정상 컨텐츠를 수신한 경우, 시스템 자원이 부족한 경우, 스크립트 분석 처리부(300) 연동 오류가 발생한 경우 등에서 시스템 처리를 나타낸다. 비정상 컨텐츠를 수신한 경우에는 정책 설정을 수정하거나 컨텐츠 수신을 차단할 수 있다. 시스템 자원이 부족할 경우에는 시스템 장애 상황으로 클라이언트 브라우저(10)에 에러 메시지 전송 및 관리자에게 알림이 제공될 수 있다. 스크립트 분석 처리부(300) 연동 오류가 발생한 경우에는 정책 설정을 통해 Bypass 또는 해당 컨텐츠를 차단할 수 있다.
Case 2는 웹 서버(20)로부터 오류 메시지 또는 Redirection 메시지가 발생한 경우, 클라이언트 브라우저(10)로부터 요청 메시지(REQ)가 없는 경우 등에서 네트워크 처리를 나타낸다. 프록시 모듈(211)에서 네트워크 예외 상황을 처리할 수 있으며, 요청 메시지(REQ) 또는 응답 메시지(RES)가 수신되지 않는 경우에는 프록시 모듈(211)은 세션 종료를 할 수 있다. 웹 서버(20)로부터 오류 메시지 또는 Redirection 메시지가 발생한 경우에는 그대로 클라이언트 브라우저(10)로 전송할 수 있다. 분석 대상 컨텐츠 중에서 일부만 응답 메시지(RES)가 없는 경우에는 해당 컨텐츠만 제외하고 컨텐츠 분석을 진행할 수 있다.
이하에서는, 본 발명의 다른 실시예들에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치에 대해 설명하기로 한다.
도 24는 본 발명의 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 블록도이다. 설명의 편의상, 본 발명의 일 실시예에 따른 웹 트래픽 수집 처리 장치를 설명한 것과 실질적으로 동일한 부분의 설명은 생략하기로 한다.
도 24를 참조하면, 웹 트래픽 수집 처리 장치(2)는, 프록시 모듈(510), 버킷 관리 모듈(520), 캐시 모듈(530), 스크립트 분석 모듈(540), 데이터베이스부(550)를 포함한다.
프록시 모듈(510)은 HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지(WP1)를 수집하고, 제1 웹 페이지(WP1)에서 추출되고 HTML 태그만 포함하는 제2 웹 페이지(WP2)를 클라이언트 브라우저(10)로 제공할 수 있다. 구체적으로, 버킷 관리 모듈(520)로부터 제2 웹 페이지(WP2)를 제공받아 클라이언트 브라우저(10)로 제공할 수 있다.
또한, 프록시 모듈(510)은 제1 웹 페이지(WP1)가 HTTPS 통신 규약을 포함하는 경우에, 제1 웹 페이지(WP1)에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행할 수 있다.
버킷 관리 모듈(520)은 프록시 모듈(510)로부터 제1 웹 페이지(WP1)를 제공받고, 제1 웹 페이지(WP1)로부터 제2 웹 페이지(WP2)를 추출하고, 제1 웹 페이지(WP1)로부터 내부 Script 태그만 포함하는 제3 웹 페이지(WP3)를 추출할 수 있다. 버킷 관리 모듈(520)은 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)를 스크립트 분석 모듈(540)로 제공할 수 있다.
또한, 버킷 관리 모듈(520)은 프록시 모듈(510)로부터 제1 웹 페이지(WP1)에 포함된 외부 스크립트 경로에 따라 획득된 스크립트 문서인 외부 스크립트 문서를 더 제공받을 수 있다. 이하에서 외부 스크립트 문서는 제4 웹 페이지(WP4)로 표기하기로 한다.
캐시 모듈(530)은 버킷 관리 모듈(520)로부터 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)를 제공받아 저장하고, 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)를 프록시 모듈(510)로 제공할 수 있다. 프록시 모듈(510)은 제2 웹 페이지(WP2) 또는 제3 웹 페이지(WP3)를 클라이언트 브라우저(10)로 제공할 수 있다.
스크립트 분석 모듈(540)은 버킷 관리 모듈(520)로부터 제1 내지 제4 웹 페이지(WP1~WP4)를 제공받고, 제1 내지 제4 웹 페이지(WP1~WP4)에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과(AR)를 생성할 수 있다.
데이터베이스부(550)는 제1 내지 제4 웹 페이지(WP1~WP4)와, 분석 결과(AR)를 저장할 수 있다.
도 25는 본 발명의 또 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치의 블록도이다. 설명의 편의상, 본 발명의 다른 실시예들에 따른 웹 트래픽 수집 처리 장치를 설명한 것과 실질적으로 동일한 부분의 설명은 생략하기로 한다.
도 25를 참조하면, 웹 트래픽 수집 처리 장치(3)는, 프록시 모듈(510), 버킷 관리 모듈(520), 캐시 모듈(530), 스크립트 분석 모듈(540), 데이터베이스부(550), 풀 관리 모듈(560)를 포함한다.
프록시 모듈(510), 버킷 관리 모듈(520), 캐시 모듈(530), 스크립트 분석 모듈(540), 및 데이터베이스부(550)에 대해서는 위에서 설명한 것과 실질적으로 동일하다.
풀 관리 모듈(560)은 데이터베이스부(550)로 제1 내지 제4 웹 페이지(WP1~WP4)와 분석 결과(AR)를 제공할 수 있고, 풀 관리 모듈(560)은 데이터베이스부(550)에 저장된 제1 내지 제4 웹 페이지(WP1~WP4)와 분석 결과(AR)를 탐지 및 조회하고, 제1 내지 제4 웹 페이지(WP1~WP3)와 분석 결과(AR)를 관리할 수 있다.
이하에서는, 본 발명의 몇몇 실시예들에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법에 대해 설명하기로 한다.
도 26은 본 발명의 일 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법을 순차적으로 나타낸 흐름도이다.
도 26을 참조하면, 본 발명의 일 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법은, 우선, HTTP 또는 HTTPS 통신 규약을 포함하고, 요청 메시지(REQ)를 포함하는 제1 웹 페이지(WP1_)를 수집한다(S100).
제1 웹 페이지(WP1_)가 HTTPS 통신 규약을 포함하는 경우에, 제1 웹 페이지(WP1_)에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행할 수 있다.
이어서, 제1 웹 페이지(WP1_)를 이용하여 새로운 세션을 생성한다(S110). 새로운 세션 생성을 위해서, BID를 이용할 수 있다. BID는 버킷 ID로서 다수의 스크립트를 하나의 정보 단위인 버킷 단위로 묶어서 세션을 관리하는데 이용되는 ID이다.
이어서, 웹 서버(20)로부터 제1 웹 페이지(WP1_)에 대응하는 응답 메시지(RES)를 포함하는 제2 웹 페이지(WP2_)를 수신한다(S120).
이어서, 제2 웹 페이지로(WP2_)부터 HTML 태그만 포함하는 제3 웹 페이지(WP3_) 또는 내부 Script 태그만 포함하는 제4 웹 페이지(WP4_)를 추출한다(S130).
이어서, 제1 웹 페이지(WP1_)에 포함된 외부 스크립트 경로를 웹 서버(20)로 제공한다(S140). 이 때, 웹 서버(20)로부터 외부 스크립트 경로에 대응하는 외부 스크립트 문서(ESD)를 제공받는다.
이어서, 제3 웹 페이지(WP3_), 제4 웹 페이지(WP4_), 또는 외부 스크립트 문서(ESD)에 대해 악성 스크립트 존재 여부를 분석 요청하고, 상기 분석 요청에 대응하여 분석 결과(AR)를 생성한다(S150). 이 때, 분석 결과(AR)를 생성하는 것은, 외부 스크립트 문서(ESD)에 대해 악성 스크립트 존재 여부에 관한 분석 요청을 하는 분석 요청 메시지(ARM)를 제공받기 전에 수행될 수 있다. 즉, 사용자가 분석 요청 메시지(ARM)를 제공하기 전에, 분석 결과(AR)를 생성하여, 사용자가 분석 요청 메시지(ARM)를 제공하는 경우에 분석 결과(AR)를 클라이언트 브라우저(10)로 제공하여 분석 대기 시간을 줄일 수 있다. 이러한 처리 과정에 의하여, 네트워크 트래픽 사용을 최적화 할 수 있다.
도 27은 본 발명의 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법을 순차적으로 나타낸 흐름도이다. 설명의 편의상, 본 발명의 일 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법을 설명한 것과 실질적으로 동일한 부분의 설명은 생략하기로 한다.
도 27을 참조하면, 본 발명의 다른 실시예에 따른 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법은, HTTP 또는 HTTPS 통신 규약을 포함하고, 요청 메시지(REQ)를 포함하는 제1 웹 페이지(WP1_)를 수집하고(S100), 제1 웹 페이지(WP1_)를 이용하여 새로운 세션을 생성한다(S110). 새로운 세션 생성을 위해서, BID를 이용할 수 있다.
이어서, 웹 서버(20)로부터 제1 웹 페이지(WP1_)에 대응하는 응답 메시지(RES)를 포함하는 제2 웹 페이지(WP2_)를 수신하고(S120), 제2 웹 페이지로(WP2_)부터 HTML 태그만 포함하는 제3 웹 페이지(WP3_) 또는 내부 Script 태그만 포함하는 제4 웹 페이지(WP4_)를 추출한다(S130).
이어서, 제1 웹 페이지(WP1_)에 포함된 외부 스크립트 경로를 웹 서버(20)로 제공하고(S140), 제3 웹 페이지(WP3_), 제4 웹 페이지(WP4_), 또는 외부 스크립트 문서(ESD)에 대해 악성 스크립트 존재 여부를 분석 요청하고, 상기 분석 요청에 대응하여 분석 결과(AR)를 생성한다(S150).
이어서, 분석 결과(AR)를 데이터베이스부(DB)에 저장한다(S160). 분석 결과(AR)는, 제3 웹 페이지(WP3_), 제4 웹 페이지(WP4_), 또는 외부 스크립트 문서(ESD)에 대해 악성 스크립트 존재 여부를 분석한 결과를 포함할 수 있다.
본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명의 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 그 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 시스템 관리부 200: 네트워크 처리부
210: 트래픽 수집 처리부 211: 프록시 모듈
212: 캐시 모듈 220: 컨텐츠 처리부
221: 버킷 관리 모듈 222: 풀 관리 모듈
223: 데이터베이스부 300: 스크립트 분석 처리부

Claims (25)

  1. HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지를 수집하고, 상기 제1 웹 페이지를 요청 메시지를 포함하는 제2 웹 페이지와 응답 메시지를 포함하는 제3 웹 페이지로 분류하는 트래픽 수집 처리부;
    상기 제2 웹 페이지 또는 상기 제3 웹 페이지를 수신하여 컨텐츠 타입을 확인하고, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지의 컨텐츠 타입이 HTML 또는 Script인 경우에 분석 요청 메시지를 생성하는 컨텐츠 처리부; 및
    상기 분석 요청 메시지를 수신하고, 상기 분석 요청 메시지에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과를 생성하고, 상기 분석 결과를 상기 컨텐츠 처리부로 제공하는 스크립트 분석 처리부를 포함하되,
    상기 트래픽 수집 처리부는, 상기 제1 웹 페이지에서 추출되고 HTML 태그만 포함하는 제4 웹 페이지를 클라이언트 브라우저로 제공하는 프록시(proxy) 모듈을 포함하고,
    상기 컨텐츠 처리부는, 상기 프록시 모듈로부터 상기 제2 웹 페이지 또는 상기 제3 웹 페이지를 제공받고, 상기 제2 웹 페이지 또는 상기 제3 웹 페이지로부터 상기 제4 웹 페이지를 추출하는 버킷(bucket) 관리 모듈을 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    상기 트래픽 수집 처리부는,
    상기 컨텐츠 처리부로부터 상기 제4 웹 페이지를 제공받아 저장하고, 상기 제4 웹 페이지를 상기 프록시 모듈로 제공하는 캐시(cache) 모듈을 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  5. 제 1항에 있어서,
    상기 버킷 관리 모듈은,
    상기 제2 웹 페이지 또는 상기 제3 웹 페이지로부터 내부 Script 태그만 포함하는 제5 웹 페이지를 더 추출하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  6. 제 5항에 있어서,
    상기 버킷 관리 모듈은,
    상기 프록시 모듈로부터 외부 Script 문서를 더 제공받는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  7. 제 6항에 있어서,
    상기 외부 Script 문서는, 상기 제1 웹 페이지에 포함된 외부 Script 경로에 따라 획득된 Script 문서인 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  8. 제 6항에 있어서,
    상기 컨텐츠 처리부는,
    상기 제4 웹 페이지, 상기 제5 웹 페이지, 상기 외부 Script 문서, 또는 상기 분석 결과를 저장하는 데이터베이스부를 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  9. 제 8항에 있어서,
    상기 컨텐츠 처리부는,
    상기 제4 웹 페이지, 상기 제5 웹 페이지, 상기 외부 Script 문서, 또는 상기 분석 결과를 상기 데이터베이스부로 제공하는 풀(pool) 관리 모듈을 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  10. 제 6항에 있어서,
    상기 버킷 관리 모듈은,
    상기 제4 웹 페이지, 상기 제5 웹 페이지, 또는 상기 외부 Script 문서를 상기 스크립트 분석 처리부로 제공하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  11. 제 10항에 있어서,
    상기 분석 결과는, 상기 제4 웹 페이지, 상기 제5 웹 페이지, 또는 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석한 결과를 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  12. 제 1항에 있어서,
    상기 트래픽 수집 처리부는,
    상기 제1 웹 페이지가 HTTPS 통신 규약을 포함하는 경우에, 상기 제1 웹 페이지에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치.
  13. HTTP 또는 HTTPS 통신 규약을 포함하는 제1 웹 페이지를 수집하고, 상기 제1 웹 페이지에서 추출되고 HTML 태그만 포함하는 제2 웹 페이지를 클라이언트 브라우저로 제공하는 프록시(proxy) 모듈;
    상기 프록시 모듈로부터 상기 제1 웹 페이지를 제공받고, 상기 제1 웹 페이지로부터 상기 제2 웹 페이지를 추출하고, 상기 제1 웹 페이지로부터 내부 Script 태그만 포함하는 제3 웹 페이지를 추출하는 버킷(bucket) 관리 모듈;
    상기 버킷 관리 모듈로부터 상기 제2 웹 페이지를 제공받아 저장하고, 상기 제2 웹 페이지를 상기 프록시 모듈로 제공하는 캐시(cache) 모듈;
    상기 버킷 관리 모듈로부터 상기 제1 내지 제3 웹 페이지를 제공받고, 상기 제1 내지 제3 웹 페이지에 포함된 HTML 또는 Script를 분석하여 악성 스크립트 존재 여부에 관한 분석 결과를 생성하는 스크립트 분석 모듈; 및
    상기 제1 내지 제3 웹 페이지와, 상기 분석 결과를 저장하는 데이터베이스부를 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  14. 제 13항에 있어서,
    상기 제1 내지 제3 웹 페이지와, 상기 분석 결과를 상기 데이터베이스부로 제공하는 풀(pool) 관리 모듈을 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  15. 제 13항에 있어서,
    상기 버킷 관리 모듈은, 상기 프록시 모듈로부터 외부 Script 문서를 더 제공받는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  16. 제 15항에 있어서,
    상기 외부 Script 문서는, 상기 제1 웹 페이지에 포함된 외부 Script 경로에 따라 획득된 Script 문서인 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  17. 제 16항에 있어서,
    상기 버킷 관리 모듈은, 상기 외부 Script 문서를 상기 스크립트 분석 모듈로 더 제공하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  18. 제 17항에 있어서,
    상기 분석 결과는, 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석한 결과를 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  19. 제 13항에 있어서,
    상기 프록시 모듈은, 상기 제1 웹 페이지가 HTTPS 통신 규약을 포함하는 경우에, 상기 제1 웹 페이지에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 시스템.
  20. HTTP 또는 HTTPS 통신 규약을 포함하고, 요청 메시지를 포함하는 제1 웹 페이지를 수집하고,
    상기 제1 웹 페이지를 이용하여 새로운 세션을 생성하고,
    서버로부터 상기 제1 웹 페이지에 대응하는 응답 메시지를 포함하는 제2 웹 페이지를 수신하고,
    상기 제2 웹 페이지로부터 HTML 태그만 포함하는 제3 웹 페이지 또는 내부 Script 태그만 포함하는 제4 웹 페이지를 추출하고,
    상기 제1 웹 페이지에 포함된 외부 Script 경로를 상기 서버로 제공하고,
    상기 서버로부터 상기 외부 Script 경로에 대응하는 외부 Script 문서를 제공받고,
    상기 제3 웹 페이지, 상기 제4 웹 페이지, 또는 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석 요청하고,
    상기 분석 요청에 대응하여 분석 결과를 생성하는 것을 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법.
  21. 제 20항에 있어서,
    상기 제1 웹 페이지가 HTTPS 통신 규약을 포함하는 경우에 상기 제1 웹 페이지에 대해 SSL(Secure Socket Layer) 암호화 처리를 수행하는 것을 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법.
  22. 제 20항에 있어서,
    상기 서버로부터 상기 외부 Script 문서를 제공받고, 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석 요청하는 것은,
    상기 외부 Script 문서에 대해 악성 스크립트 존재 여부에 관한 분석 요청을 하는 분석 요청 메시지를 제공받기 전에 수행되는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법.
  23. 제 22항에 있어서,
    클라이언트 브라우저로부터 상기 분석 요청 메시지를 제공받는 경우에, 미리 생성된 상기 분석 결과를 상기 클라이언트 브라우저로 제공하는 것을 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법.
  24. 제 20항에 있어서,
    상기 분석 결과를 데이터베이스부에 저장하는 것을 더 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법.
  25. 제 24항에 있어서,
    상기 분석 결과는, 상기 제3 웹 페이지, 상기 제4 웹 페이지, 또는 상기 외부 Script 문서에 대해 악성 스크립트 존재 여부를 분석한 결과를 포함하는 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 방법.
KR1020150009710A 2015-01-21 2015-01-21 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법 KR101543238B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150009710A KR101543238B1 (ko) 2015-01-21 2015-01-21 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150009710A KR101543238B1 (ko) 2015-01-21 2015-01-21 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101543238B1 true KR101543238B1 (ko) 2015-08-11

Family

ID=54060709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150009710A KR101543238B1 (ko) 2015-01-21 2015-01-21 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101543238B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559456A (zh) * 2015-09-29 2017-04-05 腾讯科技(深圳)有限公司 服务器、http请求的归类系统及方法
KR101917996B1 (ko) * 2016-12-23 2018-11-13 한국인터넷진흥원 악성 스크립트 탐지 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101052443B1 (ko) 2009-05-15 2011-07-28 주식회사 엔에스에이치씨 악성코드 분석 방법 및 시스템
US20110239294A1 (en) 2010-03-29 2011-09-29 Electronics And Telecommunications Research Institute System and method for detecting malicious script
KR101481910B1 (ko) 2013-08-14 2015-01-15 한국과학기술원 웹 페이지의 비정상 정보 탐지 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101052443B1 (ko) 2009-05-15 2011-07-28 주식회사 엔에스에이치씨 악성코드 분석 방법 및 시스템
US20110239294A1 (en) 2010-03-29 2011-09-29 Electronics And Telecommunications Research Institute System and method for detecting malicious script
KR101481910B1 (ko) 2013-08-14 2015-01-15 한국과학기술원 웹 페이지의 비정상 정보 탐지 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559456A (zh) * 2015-09-29 2017-04-05 腾讯科技(深圳)有限公司 服务器、http请求的归类系统及方法
CN106559456B (zh) * 2015-09-29 2020-01-14 腾讯科技(深圳)有限公司 服务器、http请求的归类系统及方法
KR101917996B1 (ko) * 2016-12-23 2018-11-13 한국인터넷진흥원 악성 스크립트 탐지 방법 및 장치

Similar Documents

Publication Publication Date Title
US10592676B2 (en) Application security service
KR101543237B1 (ko) 코드 패턴을 이용한 정적 분석과 api 흐름을 이용한 동적 분석을 통한 악성 스크립트 탐지 차단 장치, 시스템 및 방법
US10140451B2 (en) Detection of malicious scripting language code in a network environment
US20170339108A1 (en) Network Traffic Analysis to Enhance Rule-Based Network Security
KR101190261B1 (ko) 하이브리드 인터액션 클라이언트 허니팟 시스템 및 그 운용방법
CN103384888A (zh) 用于恶意软件的检测和扫描的系统和方法
JP2018502351A (ja) スクリプト言語用のrasp
JP2009526304A (ja) デバイスの間に悪性アプリケーションの行為情報を使用する装置および方法
JP5920169B2 (ja) 不正コネクション検出方法、ネットワーク監視装置及びプログラム
US8904492B2 (en) Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
WO2017012241A1 (zh) 文件的检测方法、装置、设备及非易失性计算机存储介质
US9129287B2 (en) System and method for gathering data for detecting fraudulent transactions
CN110086811B (zh) 一种恶意脚本检测方法及相关装置
WO2018131199A1 (ja) 結合装置、結合方法および結合プログラム
WO2017019717A1 (en) Dynamic attachment delivery in emails for advanced malicious content filtering
CN114065196A (zh) Java内存马检测方法、装置、电子设备与存储介质
KR101543238B1 (ko) 실시간 악성 스크립트 탐지를 위한 웹 트래픽 수집 처리 장치, 시스템 및 방법
KR101431192B1 (ko) 모바일 단말의 루팅 공격 이벤트 검출 방법
CN108259416B (zh) 检测恶意网页的方法及相关设备
KR101917996B1 (ko) 악성 스크립트 탐지 방법 및 장치
JP6649296B2 (ja) セキュリティ対処案設計装置及びセキュリティ対処案設計方法
US11632393B2 (en) Detecting and mitigating malware by evaluating HTTP errors
CN115174192A (zh) 应用安全防护方法及装置、电子设备和存储介质
CN105653948B (zh) 一种阻止恶意操作的方法及装置
Chen et al. Custompro: Network protocol customization through cross-host feature analysis

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee