KR101803225B1 - 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법 - Google Patents

멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR101803225B1
KR101803225B1 KR1020170015445A KR20170015445A KR101803225B1 KR 101803225 B1 KR101803225 B1 KR 101803225B1 KR 1020170015445 A KR1020170015445 A KR 1020170015445A KR 20170015445 A KR20170015445 A KR 20170015445A KR 101803225 B1 KR101803225 B1 KR 101803225B1
Authority
KR
South Korea
Prior art keywords
information
module
malicious
detection
inspection object
Prior art date
Application number
KR1020170015445A
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 KR1020170015445A priority Critical patent/KR101803225B1/ko
Application granted granted Critical
Publication of KR101803225B1 publication Critical patent/KR101803225B1/ko
Priority to GB2111825.2A priority patent/GB2594895B/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/01Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour 
    • G02F1/13Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  based on liquid crystals, e.g. single liquid crystal display cells
    • G02F1/133Constructional arrangements; Operation of liquid crystal cells; Circuit arrangements
    • G02F1/1333Constructional arrangements; Manufacturing methods
    • G02F1/13338Input devices, e.g. touch panels
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0443Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a single layer of sensing electrodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0448Details of the electrode shape, e.g. for enhancing the detection of touches, for generating specific electric field shapes, for enhancing display quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K9/00Screening of apparatus or components against electric or magnetic fields
    • H05K9/0073Shielding materials
    • H05K9/0079Electrostatic discharge protection, e.g. ESD treated surface for rapid dissipation of charges
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K50/00Organic light-emitting devices
    • H10K50/80Constructional details
    • H10K50/84Passivation; Containers; Encapsulations
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K50/00Organic light-emitting devices
    • H10K50/80Constructional details
    • H10K50/84Passivation; Containers; Encapsulations
    • H10K50/844Encapsulations
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K59/00Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
    • H10K59/10OLED displays
    • H10K59/12Active-matrix OLED [AMOLED] displays
    • H10K59/131Interconnections, e.g. wiring lines or terminals
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K59/00Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
    • H10K59/40OLEDs integrated with touch screens
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K59/00Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
    • H10K59/80Constructional details
    • H10K59/87Passivation; Containers; Encapsulations
    • H10K59/873Encapsulations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04107Shielding in digitiser, i.e. guard or shielding arrangements, mostly for capacitive touchscreens, e.g. driven shields, driven grounds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04111Cross over in capacitive digitiser, i.e. details of structures for connecting electrodes of the sensing pattern where the connections cross each other, e.g. bridge structures comprising an insulating layer, or vias through substrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04112Electrode mesh in capacitive digitiser: electrode for touch sensing is formed of a mesh of very fine, normally metallic, interconnected lines that are almost invisible to see. This provides a quite large but transparent electrode surface, without need for ITO or similar transparent conductive material
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K59/00Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
    • H10K59/30Devices specially adapted for multicolour light emission
    • H10K59/38Devices specially adapted for multicolour light emission comprising colour filters or colour changing media [CCM]

Abstract

본 발명은 네트워크 보안 기술에 관한 것으로서, 더 상세하게는 악성코드를 전파하는 악성웹사이트를 자동으로 탐지 및 수집하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법에 대한 것이다.
본 발명에 따르면, 인터넷의 정상적 사용을 침해하는 공격자들이 사용하는 악성 웹페이지들의 위험 현황을 고속으로 파악하여, 궁극적으로 양성(Benign) 웹페이지로부터 악성(Malicious) 웹페이지를 추출할 수 있다.

Description

멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법{System and Method for detecting malicious websites at high speed based multi-server, multi-docker}
본 발명은 네트워크 보안 기술에 관한 것으로서, 더 상세하게는 악성코드를 전파하는 악성웹사이트를 자동으로 탐지 및 수집하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법에 대한 것이다.
특히, 본 발명은 다중서버, 다중콘테이너, 다중웹킷브라우저 환경을 통해 대용량 웹페이지의 악성여부를 고속으로 탐지하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법에 대한 것이다.
또한, 본 발명은 도커(Docker), 웹키트2(WebKit2) 브라우저 엔진에 기반한 저상호 작용(LOW-INTERACTION) 분석 시스템으로서, 다중 컨테이너, 다중서버에 기반한 아키텍쳐를 제공하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법에 대한 것이다.
악성 코드를 전파하는 공격자들은 인터넷 서핑을 수행하는 일반 사용자를 대상으로 또는 특정 공격 대상자를 상대로 그들이 자주 이용하는 웹사이트에 악성 공격코드를 심어놓고 있다. 일반 사용자들이 이들 사이트에 접속할 때, 사용자 PC(Personal Computer)의 취약한 어플리케이션의 취약점을 공격하여 권한을 획득하고 악성코드를 다운로드시키는 드라이브 바이 다운로드(Drive-by Downloads) 공격을 감행한다. 그런데, 이들 공격들은 수많은 웹페이지의 곳곳에 숨겨져 있다.
이들 악성 웹페이지를 탐지하는 것은 궁극적으로 악성코드 감염을 최소화할 수 있는 근거가 된다. 즉, 그 악성 웹페이지를 탐지하여 악성 웹페이지 접근 차단 시스템을 통해 상기 URL(uniform resource locator) 등록을 통해 사용자 접근을 필터링하면, 악성코드 감염(특히, 랜섬위어, 파밍 백도어 등)으로부터 보호될 수 있다.
이를 위해 수많은 웹페이지에 숨겨져 있는 악성코드를 고속으로 탐지하는 기술이 필요하다.
1.한국공개특허 제10-2009-0111416호(발명의 명칭: 악성 사이트 검사 방법, 악성 사이트 정보 수집 방법, 장치, 시스템 및 컴퓨터 프로그램이 기록된 기록매체)
1. 김대청외, "안드로이드 플랫폼 기반 악성사이트 차단 방법", 정보보호학회논문지 제24권 제3호 (2014년 6월) pp.499-505 2. 황영섭외, "SVM을 활용한 악성 웹 페이지 분류", 한국컴퓨터정보학회논문지 제17권 제3호 통권 제96호 (2012년 3월) pp.77-83
본 발명은 배경기술에서 기술된 문제점을 해소하기 위해 제안된 것으로서, 악성 웹페이지를 탐지함에 있어, 안전성, 탐지율, 안정성을 지원하는 고속 악성 웹페이지 탐지 프레임웍을 가능하게 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 이러한 고속 악성 웹페이지 탐지 프레임웍을 위해 최근에 등장한 도커(Docker)와 웹키트(WebKit)를 이용한 멀티 서버(Multi-server), 멀티 컨테이너(Multi-container) 환경에 따른 고속 악성 웹사이트 탐지 시스템 및 방법을 제공하는데 다른 목적이 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한하지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명은 위에서 제시된 과제를 달성하기 위해, 안전성, 탐지율, 안정성을 지원하는 고속 악성 웹페이지 탐지 프레임웍을 가능하게 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템을 제공한다.
상기 고속 악성 웹사이트 탐지 시스템은,
점검 대상 정보를 큐서버를 통해 분배하는 점검대상분배모듈;
상기 점검 대상 정보를 데이터베이스에 저장하고, 웹킷을 이용하여 상기 점검 대상 정보를 분석하고 분석결과 분석시간 범위에 있는지를 확인하는 분석모듈;
상기 분석시간 범위내 여부에 따라 상기 점검 대상 정보의 악성여부를 탐지하기 위한 악성 판정 룰 환경을 설정하는 탐지모듈;
상기 악성 판정 룰 환경에 따라 상기 악성 판정룰과 상기 점검 대상 정보를 비교하고, 비교결과 상기 점검 대상 정보와 악성 판정룰이 매칭되면 악성 탐지를 나타내는 탐지 이벤트를 전달하는 연장 모듈; 및
상기 탐지 이벤트를 기반으로 상기 점검 대상 정보에 대한 요약 정보를 생성하는 리포팅 모듈;를 포함하는 것을 특징으로 한다.
이때, 상기 고속 악성 웹사이트 탐지 시스템은, 상기 웹킷의 분석을 처리하는 웹프로세스(WebProcess)의 확장 플러그인으로 웹키트 프레임이 로딩될때에 상기 확장 플러그인 및 웹킷 사이를 모니터링하여 공격 행위를 확인하는 후킹 모듈;를 더 포함하는 것을 특징으로 할 수 있다.
이때, 상기 확장 플러그인은 브라우저, 자바 애플릿, 플래시 중 어느 하나인 것을 특징으로 할 수 있다.
또한, 상기 고속 악성 웹사이트 탐지 시스템은, 상기 요약 정보를 바탕으로 시각적 현황 정보를 생성하여 출력하는 대쉬 보드 모듈;을 더 포함할 수 있다.
이때, 상기 시각적 현황 정보는 상기 리포팅 모듈 및 데이터베이스에 저장되는 각종 웹소스 정보와 연동되며, 프리젠테이션 기능을 포함하는 것을 특징으로 할 수 있다.
상기 점검 대상 정보는 도메인, URL 정보를 포함하며, 상기 분석모듈은 각종 로그를 요청하며, 악성링크의 연관관계를 트리구조로 관리하는 것을 특징으로 할 수 있다.
또한, 상기 점검 대상 분배 모듈은, 큐 네임별로 상기 점검 대상 정보 중 도메인을 등록하고, 상기 큐 네임별로 등록된 등록 도메인을 분배하는 것을 특징으로 할 수 있다.
또한, 상기 등록 도메인은 도메인 등록 번호를 나타내는 인덱스 번호, 크롤링하는 웹페이지의 깊이를 나타내는 페이지 깊이, 및 상기 크롤링을 통해 점검한 도메인 주소를 포함하는 것을 특징으로 할 수 있다.
또한, 크롤링 성능을 향상시키기 위해, 상기 점검 대상 정보의 중복성을 확인하여 상기 중복성이 없는 때만 상기 데이터베이스에 상기 점검 대상 정보를 저장하는 것을 특징으로 할 수 있다.
또한, 상기 분석 모듈은 현재의 페이지 깊이(page depth)를 파악하고, 상기 페이지 깊이에 따라 상기 데이터베이스(database)에 해당 수집 링크 정보가 존재하지 않으면, 큐(queue) 서버에게 다음 점검 대상 정보를 요청하는 것을 특징으로 할 수 있다.
이때, 상기 요약 정보는 타임스탬프 기반 시드 정보, 인데스 정보, 탐지관련 악성 링크 트리 구조 데이터 정보를 포함하는 것을 특징으로 할 수 있다.
다른 한편으로, 본 발명의 다른 일실시예는, 점검 대상 분배 모듈이 큐서버를 통해 점검 대상 정보를 분배하는 단계; 분석 모듈이 상기 점검 대상 정보를 데이터베이스에 저장하고, 웹킷을 이용하여 상기 점검 대상 정보를 분석하고 분석결과 분석시간 범위에 있는지를 확인하는 단계; 탐지 모듈이 상기 분석시간 범위내 여부에 따라 상기 점검 대상 정보의 악성여부를 탐지하기 위한 악성 판정 룰 환경을 설정하는 단계; 연장 모듈이 상기 악성 판정 룰 환경에 따라 상기 악성 판정룰과 상기 점검 대상 정보를 비교하는 단계; 상기 연장 모듈이 비교결과 상기 점검 대상 정보와 악성 판정룰이 매칭되면 악성 탐지를 나타내는 탐지 이벤트를 전달하는 단계; 및 리포팅 모듈이 상기 탐지 이벤트를 기반으로 상기 점검 대상 정보에 대한 요약 정보를 생성하는 단계;를 포함하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 방법을 제공할 수 있다.
본 발명에 따르면, 인터넷의 정상적 사용을 침해하는 공격자들이 사용하는 악성 웹페이지들의 위험 현황을 고속으로 파악하여, 궁극적으로 양성(Benign) 웹페이지로부터 악성(Malicious) 웹페이지를 추출할 수 있다.
또한, 본 발명의 다른 효과로서는 수집된 악성링크정보(악성 리디렉션 URL, 악성 <a> TAG URL) 및 공격코드를 포함하는 익스플로잇 웹페이지(Exploit Webpage) 및 최종 악성 익스플로잇 웹페이지(Exploit Webpage)로부터 동작하는 애플릿이나 자바 애플릿을 통한 공격정보 및 익스플로잇 웹페이지(Exploit Webpage)에 포함되어 있는 공격링크 및 요소(elements) 정보를 수집할 수 있다는 점을 들 수 있다.
또한, 본 발명의 또 다른 효과로서는 정보는 현재 존재하는 웹필터링(web-filtering) 시스템에 탑재하여, 악성 웹페이지 접근 차단에 이용될 수 있다는 점을 들 수 있다.
또한, 본 발명의 또 다른 효과로서는 기타 다양한 이기종 시스템에게 해당 정보를 제공, 악성 웹사이트 차단 및 방어에 응용할 수 있다는 점을 들 수 있다.
도 1은 본 발명의 일실시예에 따른 악성 웹페이지 탐지 시스템의 블록 구성도이다.
도 2는 본 발명의 일실시예에 따른 멀티 서버, 멀티도커 기반하여 고속으로 악성 웹사이트를 탐지하는 과정을 보여주는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 URL를 수집하여 YARA 룰 탐지를 설정하고 비교하여 리포팅하여 대쉬보드에 표시하는 과정을 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법을 상세하게 기술하기로 한다.
도 1은 본 발명의 일실시예에 따른 악성 웹페이지 탐지 시스템(100)의 블록 구성도이다. 도 1을 참조하면, 악성 웹페이지 탐지 시스템(100)은, 점검 대상 분배 모듈(110), 분석 모듈(121), 탐지 모듈(1220, 연장 모듈(123), 후킹 모듈(124), DB 관리 모듈(125), 리포팅 모듈(126), 데이터베이스(130), 대쉬보드 모듈(140) 등을 포함하여 구성될 수 있다.
특히, 분석 모듈(121), 탐지 모듈(1220, 연장 모듈(123), 후킹 모듈(124), DB 관리 모듈(125), 리포팅 모듈(126), 데이터베이스(130), 대쉬보드 모듈(140)은 도커 환경에서 구성된다.
일반적으로 도커는 리눅스 컨테이너 기반의 오픈 소스 가상화 도구이다. 개발자들의 소프트웨어 빌드를 더 빠르게 할 수 있게 도와주고 분산된 응용 프로그램들이 어디서나 간편하게 실행되고 공유될 수 있게 해준다. 도커에서의 모든 작업은 컨테이너를 통해 이루어진다. 컨테이너는 특정 소프트웨어가 실행되기 위한 코드, 런타임(runtime), 시스템 툴(system tools), 시스템 라이브러리(system libraries)를 포함하고 있다. 컨테이너들은 OS(Operating System)의 커널을 공유하며 유저영역에서 독립적으로 동작한다.
앞서 언급한 바와 같이 악성 웹페이지를 식별하기 위해서는 특정 URL(Uniform Resource Locator)을 가진 악성 웹페이지가 악성적으로 사용되었는지를 식별할 수 있는 값이 필요한데, 본 발명의 일실시예에서는 이러한 식별을 위해 야라(YARA) 룰을 이용한다. YARA는 악성코드 샘플에 포함된 패턴을 이용해 특성과 행위를 기준으로 악성파일을 분류하는데 사용되는 툴이다. 비교적 간단한 문법의 YARA 룰을 작성하는 것만으로 악성코드 샘플이 특정 기능을 하는지, 명시된 조건이 포함되어 있는지 여부를 확인할 수 있다.
그리고, 본 발명의 일실시예는 구조적으로 확장가능함을 보여주고, 기술적으로 최신의 웹킷2(WebKit2) 엔진과 도커(Docker) 엔진에 기반한 단일 시스템과 다중 시스템으로 구현 가능하다. 다중 시스템은 서버별로 큐네임을 읽어오도록 내부 컨피그(Config) 값을 변경하면 된다.
그리고, 본 발명의 일실시예는 단일 서버의 다중 도커-컨테이너(docker-container) 환경에 대해 주로 기술하고 있지만, 본 발명의 일실시예에서 제공하는 큐서버는 다중 서버들이 접속하도록 분배기능을 제공함을 알린다.
먼저 도 1을 참조하면, 본 발명의 일실시예에 따른 악성 웹페이지 탐지 시스템(100)은 외부(원격지)에 점검 대상 분배 모듈(110), 데이터베이스(130), 대쉬 보드 모듈(140) 등이 구성되고, 내부 도커 컨테이너(docker container) 환경(120)에 분석 모듈(121), DB 관리 모듈(125), 탐지 모듈(122), 연장 모듈(123), 후킹 모듈(124), 리포팅 모듈(126) 등을 포함하여 구성될 수 있다. 상기 컨테이너(containers) 환경은 서버별 수백개 이상을 생성하여 병렬적으로 운영될 수 있다.
점검 대상 분배 모듈(110)은 도메인 분배 모듈(111)과 도메인 등록을 위한 큐네임별 등록 모듈(112)을 포함할 수 있고, 분석 모듈(121)은 웹키트2(WebKit2) 분석 모듈(121-1)과 분석 요청 모듈(121-2)을 포함할 수 있고, DB 관리 모듈(125)은 데이터베이스(130)을 포함할 수 있다.
이때, 큐네임별 등록 모듈(112)은 큐 네임별로 상기 점검 대상 정보 중 도메인을 등록하는 기능을 수행한다. 또한, 도메인 분배 모듈(111)은 상기 큐 네임별로 등록된 등록 도메인을 분배하는 기능을 수행한다. 특히, 도메인 분배 모듈(111)은 큐서버를 이용하여 다중 서버들이 접속하도록 분배 기능을 제공한다.
점검 대상 분배 모듈(110)은, 다중 서버의 접속에 대해 각 큐네임별 적절한 양의 도메인을 설정하고, 이를 서버에 분배해야 하므로, 큐네임별 등록 모듈(112)을 가지고 있으며, 이 큐네임별 등록 모듈(112)은 로컬에서 등록하고자 하는 도메인을 자동으로 큐 서버의 특정 네임으로 자동 등록을 지원하는 모듈이다.
이 큐네임별 등록 모듈(112)을 통해 등록된 큐네임별 도메인들은 원격지 서버의 요청에 따라, 적절히 분배하는 역할을 하는 도메인 분배 모듈(111)을 가지고 있다. 이 도메인 분배 모듈(111)은 서로 다른 큐네임을 가지고 있다.
본 발명의 일실시예에서는 큐서버에 등록되는 등록 도메인은 1@@2@@http://www.daum.net 형태를 가지고 있을 수 있다. 첫번째 항목인 "1@@"은 인덱스(index) 번호이며, 이 인덱스(index) 번호는 도메인 등록번호를 가리키고, 여기서는 첫번째 등록 도메인임을 뜻한다.
두번째 항목인"2"는 페이지 깊이(page depth)를 말한다. 페이지 깊이(Page depth)는 본 발명의 일실시예서는 크롤링하는 웹페이지의 깊이(depth)를 말하는 것으로 2 depth 만틈의 크롤링을 수행한다는 것이다. 마지막 항목인 "@@http://www.daum.net"은 크롤링을 통해 점검한 도메인 주소를 말한다. 본 발명의 일실시예는 도메인 또는 URL 타입 모두를 지원할 수 있다.
도 1을 계속 참조하면, 분석 모듈(121)은 분배받은 도메인을 순차적으로 웹키트2(WebKit2) 엔진으로 로딩하는 모듈이며, 현재는 웹키트(WebKit)엔진인 웹키트2 분석 모듈(121-1)이 http://www.daum.net을 로딩하게 된다. 즉, 웹키트(즉 웹브라우저)가 웹페이지(html:Hypertext Markup Language)를 해석하여 보여주는 렌더링이 수행된다. 이러한 렌더링을 수행할 때 웹키트(WebKit)는 로딩되는 웹페이지별 웹킷 프레임과 웹킷 리소스를 읽어들인다.
각 읽어들인 웹킷 리소스에는 다양한 링크정보를 가지고 있는데, 리디렉션 링크는 웹킷의 요청 신호(request signal) 함수가 요청될때마다 자동으로 로딩하면서 링크를 추출한다. 이후, <a> tag를 가지는 링크들은 링크 추출 함수에 의해 자동으로 추출되어 DB 관리 모듈(125)을 통해 데이터베이스(130)에 저장된다.
이 <A> tag링크들은 도커-컨테이너(docker-container)들에 의해 읽혀지고 분석모듈(121)에서 동시에 수행하게 된다. 본 발명의 일실시예는 서버별 수백개의 컨테이너(container)를 가지고 동작할 수 있다. 따라서, 추출된 링크들은 다른 컨테이너(container)들이 수행되고 데이터베이스(DB)에 링크가 존재하지 않을 동안 연속적으로 수행된다. 만약 DB에 링크가 존재하지 않으면, 점검 대상 분배 모듈(121)에게 요청하여 다음 도메인을 받게 된다.
분석 모듈(121)은 특히, 현재 분석중인 페이지 깊이(PAGE depth) 정보와 분석제한 깊이(depth, 예 : 2)를 기반으로 수집링크를 연속적으로 추출하고 추출되는 링크 정보는 데이터베이스(130)에 저장한다.
수집된 <a> 링크는 추가적인 분석에 이용되도록 <seed url><page depth><current depth><current url> 등의 정보를 기반으로 데이터베이스(130)에 저장되고 다른 컨테이너(container)들은 이를 바탕으로 분석할 정도를 판단하고 태스크(task)를 수행하게 된다.
도 1을 계속 참조하면, 특히, 분석요청모듈(121-2)에서, 데이터베이스(130)에 저장하기에 앞서, 수집된 URL의 유효성을 확인하고 내부에 이미 저장되어 있는 URL(Uniform Resource Locator)이 존재하는지 중복성 확인을 하고 중복성이 없을 경우에 URL을 저장한다.
이 중복성은 동일 시드 정보(SEED URL)를 가진 url에 대해서만 유효하다. 이 중복성의 제거는 전체적인 크롤링 성능을 향상시킨다. 크롤링(crawling)은 문서를 수집하여 검색 대상의 색인을 포함시키는 기술을 말한다.
특히, 분석 모듈(121)에는 현재의 페이지 깊이(page depth)를 파악하고, 데이터베이스(database)의 수집 링크 정보를 파악하고 존재하지 않을 경우, 큐(queue) 서버에게 다음 도메인을 요청하는 함수와 데이터베이스(130)로부터 분석 데이터를 가져오는 함수, seed URL에 대한 분석이 완료되었을 경우, 리포팅 모듈(126)로 정보를 보내는 요청을 수행하는 전반적인 크롤러 기능을 위한 전체적인 항목을 포함하고 있는데, 크롤러를 수행하기 위해 수집된 링크를 가져오는 함수를 포함하는 스케줄러 기능이 포함되어 있다.
따라서, 분석모듈(121)은 웹킷을 이용하여 점검 대상 정보를 분석하고 분석결과 분석시간 범위에 있는지를 확인한다. 부연하면, 일반적인 악성 웹페이지는 짧은 시간내에 사용자 시스템을 공격하여 악성 코드를 다운로드시킨다. 따라서, 짧은시간내에 공격을 성공시키기 위해 작은 악성파일을 사용하는게 일반적이다.
만약, 사용자가 접속한 (악성)웹페이지의 로딩시간이 길어질 경우, 사용자는 웹페이지 로딩을 기다리지 않고, 중단하거나, 다른 웹페이지로 인터넷 검색을 옮기는 경향이 있어서, 일반적으로 수십초 내에서 공격을 수행시킨다. 물론 다운로드된 악성코드를 통해 지속적인 공격을 수행하지만, Drive-by download가 시작되는 시점까지는 수십초 내에서 결정된다. 따라서, 웹페이지의 악성여부를 판단할 때, 무작정 웹페이지가 로딩되는 시간을 기다려서 판단하지 않고, 일정시간을 정해두고 그때까지 악성행위를 판단한다.
도 1을 계속 참조하면, 탐지 모듈(122)은 룰 추가 모듈(122-1)과 버퍼 스캔 모듈(122-2) 등을 포함할 수 있고, 연장 모듈(123)은 룰 비교 수행 모듈(123-1)과 룰 탐지에 따른 탐지 이벤트 호출 모듈(123-2) 등을 포함할 수 있다.
탐지 모듈(122)은 분석 모듈(121)에 의해 로딩된 리소스 정보에 대한 악성 여부를 탐지하기 위한 야라(YARA) 룰의 사용을 활성화하기 사용을 위한 환경 및 야라 라이브러리(YARA LIBRARY)를 로딩하여 해당 야라(YARA) 룰 API(Application Programming Interface)를 사용할 수 있는 환경을 만드는 모듈이다. 이 탐지 모듈(122)은 분석 모듈(121)의 요청에 따라 활성화된다. 이 탐지 모듈(122)이 활성화될 때, 로컬 컨테이너의 디렉토리에 설치되어 있는 다양한 야라(YARA) 룰을 메모리로 읽어들이기 위해, 야라(YARA) 룰이 설치된 디렉토리를 읽고, 해당 디렉토리에 있는 모든 야라(YARA) 룰을 메모리에 추가한다.
이 룰 추가 모듈(122-1)에 의해 추가된 룰은 분석을 위해 직접사용되는데, 이 사용을 위해서는 스캔 버퍼(SCAN_BUFFER) 모듈(122-2)을 통해 탐지가 실행된다. 부연하면, 탐지 모듈(122)은 분석 모듈(121)에서 요청한 웹페이지의 악성여부를 탐지하기 위한 YARA 룰 탐지 시작환경을 설정하는 모듈로서, 특정 디렉토리에 저장되어 있는 야라 룰 세트(YARA RULE SET)의 모든 정보를 읽어, 탐지에 이용할 수 있도록 메모리로 추가하는 역할을 수행한다. 또한, 분석 모듈(121)의 리소스에 저장되어 있는 웹페이지 콘텐츠를 스캔할 수 있도록 스캔 버퍼(SCAN_BUFFER) 함수를 요청한다.
웹키트2(WebKit2)는 유저 인터페이스 프로세스(UI process)와 웹 프로세스(Web Process)로 구분되어 동작하는데, 실제 탐지를 하기 위해서는 웹 프로세스(Web Procees)에 존재하는 연장 모듈(123)을 통해 이루어 져야 한다.
따라서, 야라 룰(YARA RULE)의 비교 수행 모듈(123-1)은 이 연장 모듈(123)을 통해 이루어지고, 야라(YARA) 룰에 의한 실제적인 악성 웹페이지가 탐지되었을 경우, 탐지 이벤트 호출 모듈(123-2)을 통해 탐지가 되었음을 알린다. 이 때, 분석 모듈(121)은 이 이벤트 요청을 받고, 관련 정보를 데이터베이스(130)에 저장한다. 부연하면, 점검 대상 웹페이지가 야라 룰과 매칭되면 이 점검 대상 웹페이지는 악성 웹페이지가 된다.
후킹 모듈(124)은 각종 취약 플러그인을 연동하기 위한 플로그인 후킹 모듈(124-1)과 브라우저(예: Internet Explorer)의 취약점 공격을 모니터링하기 위한 브라우저 후킹 모듈(124-2)이 포함된다.
야라(YARA) 룰의 탐지외에 추가적인 분석이 필요한데, 후킹 모듈(124)은 이러한 부족한 부분을 지원하는 모듈로, 다양한 플러그인 취약점 공격을 모니터링하기 위해 브라우저, 자바 애플릿, 플래시 등의 취약 플러그인을 연동하는 것이 필요하다. 따라서, 이 취약버전의 so 파일(리눅스에서 사용가능한 모듈 파일들을 말함)을 로딩하고, 이 로딩 플러그인을 통해 발생하는 정보를 모니터링하기 위해 플러그인 후킹모듈(144-1)은 웹키트(webkit)와 플러그인(plugin) 사이를 모니터링한다.
플러그인 후킹 모듈(124-1)은 자바, 플래쉬 플러그인 등을 뜻하고, 브라우저 후킹 모듈(124-2)은 인터넷 익스플러어(Internet Explorer)를 말한다.
리포팅 모듈(126)에는 탐지정보 및/또는 이력정보에 대한 정보를 http 환경으로 수집하기 위한 요약정보 처리 모듈(126-1)이 포함된다. 부연하면, 리포팅 모듈(126)은 야라(YARA) 룰이나 플러그인(PLUGIN)을 통해 탐지된 악성 정보에 대한 요약정보를 HTTP를 통해 연장 모듈(123) 및 후킹 모듈(124)로부터 전달받게 되는데, 타임 스탬프별 악성 링크 정보, 시드 정보, 탐지 파일 정보(MAP 데이터) 등을 받게 된다.
부연하면, 리포팅 모듈(126)은, 타임스탬프 기반 수집된 각종 정보를 요약하여 전송 처리하는 모듈로 분석 시간, 시드 정보(Seed URL), 시드 ID 오브젝트(Seed ID object), 인덱스(Index) 정보, 탐지관련 악성 링크 트리 구조 데이터 정보, 요소(element) 정보 등을 생성하여 대쉬보드 모듈(140)에 전송한다.
대쉬보드 모듈(140)은 이를 프리젠테이션하기 위한 기능을 수행한다. 데시보드 모듈(140)은 리포팅 모듈(126)을 통한 정보 외에, DB 관리 모듈(125)을 통해 데이터를 검색할 수 있도록 인터페이스를 제공할 수 있다. 또한, 수집된 정보들의 다양한 통계 처리를 시각화하는 것이 대쉬보드 모듈(140)이다. 이 대쉬보드 모듈(140)에는 레포팅 기능도 포함할 수 있다.
도 1에 기재된 "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 하드웨어 구현에 있어, 상술한 기능을 수행하기 위해 디자인된 ASIC(application specific integrated circuit), DSP(digital signal processing), PLD(programmable logic device), FPGA(field programmable gate array), 프로세서, 제어기, 마이크로 프로세서, 다른 전자 유닛 또는 이들의 조합으로 구현될 수 있다. 소프트웨어 구현에 있어, 상술한 기능을 수행하는 모듈로 구현될 수 있다. 소프트웨어는 메모리 유닛에 저장될 수 있고, 프로세서에 의해 실행된다. 메모리 유닛이나 프로세서는 당업자에게 잘 알려진 다양한 수단을 채용할 수 있다.
도 2는 본 발명의 일실시예에 따른 멀티 서버, 멀티도커 기반하여 고속으로 악성 웹사이트를 탐지하는 과정을 보여주는 흐름도이다. 도 2를 참조하면, 대량의 웹페이지를 대상으로 악성여부를 판단하기 위해, 먼저 점검 대상 분배 모듈(110)은 다중 서버의 접속에 대해 각 큐 네임별 적절한 량의 도메인을 설정하고, 이들을 분배한다(단계 S210,S220).
이후, 분석 모듈(121)은 분배받은 도메인을 순차적으로 WebKit2 엔진으로 로딩하고, 웹페이지별 웹킷 프레임과 웹킷 리소스를 읽어들여 분석을 수행한다(단계 S230). 또한, 각 읽어들인 웹킷리소스에는 다양한 링크정보를 가지고 있는데, 리디렉션 링크는 웹킷의 요청 신호(request signal) 함수가 요청될때마다 자동으로 로딩하면서 링크를 추출하고, <a> tag를 가지는 링크들은 링크추출함수에 의해 자동으로 추출하고 DB 관리 모듈(도 1의 125)을 통해 데이터베이스(130)에 저장된다(단계 S240,S250,S251). 물론, 이때 링크 연관성 트리 구조를 통해 관리된다.
부연하면, 일반적으로 사용자가 인터넷을 접속하여 웹페이지를 검색할 때, 악성 웹페이지 내에 존재하는 다수의 리디렉션 링크를 통해 최종의 악성코드가 존재하는 악성 웹페이지까지 도달하게 된다. 따라서, 악성 웹페이지까지 도달하기위해서는 경유지 사이트를 통해 최종 악성 웹페이지가 있는 유포지사이트까지 다수의 URL를 거쳐서 가게되는데, 이 경유지사이트 또한 공격자가 심어놓은 악성링크임으로 이들 악성링크를 추출하는 기술이 필요하다. 이를 위해 시스템은 이들 링크들을 추출하여 이진 트리구조 형태로 구조화하여, 경유지->유포지 관계를 구현한다. 즉, www.naver.com -> www.route1.com/1.htm -> www.route2.net/2.html -> www.malicious.com/1.php의 예를 들 수 있다.
물론, 단계 S250에서 수집 링크, 탐지 정보등의 저장여부를 판단하며, 추출된 수집 링크가 데이터베이스(130)에 저장할 수 없는 상태이면 탐지 요청을 수행하고, 링크의 종료 여부를 확인한다(단계 S260,S270). 즉, 탐지 요청이 있게 되면 로딩된 리소스 정보에 대한 악성여부를 탐지하기 위해 야라(YARA) 탐지를 수행하며, 야라(YARA) 룰을 비교하여 YARA 룰에 의한 실제적인 악성 웹페이지가 탐지되었을 경우, 탐지 이벤트 호출 모듈(도 1의 123-2)을 통해 탐지가 되었음을 알린다(단계 S261,S263,S265).
한편, 단계 S270에서 링크 종료가 확인되었는지를 확인하여 링크 종료가 아니면 검색 링크를 데이터베이스(130)에 저장한다(단계 S251).
이와 달리, 단계 S270에서 링크 종료이면 큐 서버에 다음 도메인을 요청하여 단계 S220 내지 S270을 재실행한다(단계 S280).
한편, 야라(YARA) 룰의 탐지외에 추가적인 분석이 필요한데, 웹키트(webkit)와 플러그인(plugin) 사이를 모니터링한다(단계 S231).
이후, 리포팅 모듈(도 1의 126)은 이러한 야라(YARA) 룰이나 플러그인(PLUGIN)을 통해 탐지된 악성정보에 대한 요약정보를 생성하고, 이를 HTTP를 통해 대쉬보드 모듈(140)에 전달하면, 대쉬보드 모듈(140)에서 레포팅이 이루어진다(단계 S252,S253).
도 3은 본 발명의 일실시예에 따른 URL를 수집하여 YARA 룰 탐지를 설정하고 비교하여 리포팅하여 대쉬보드에 표시하는 과정을 보여주는 흐름도이다. 도 3을 참조하면, 점검 대상 분배가 이루어지며, 점검대상 정보를 수집하고 접속 요청이 이루어진다(단계 S310).
이후, 웹킷 프레임 및 리소스 분석이 수행되고, 링크 추출, 트리 연관성 분석 및 관리가 수행되며 해당 정보들은 데이터베이스에 저장된다(단계 S310,S320,S331).
이후, 점검대상 정보에 대하여 야라 룰 탐지를 설정하고, 야라 룰 비교를 수행하여 YARA 룰에 의한 실제적인 악성 웹페이지가 탐지되면 탐지 이벤트를 데이터베이스에 저장한다(단계 S340,S350).
이후, 야라(YARA) 룰을 통해 탐지된 악성정보에 대한 요약정보를 생성하고, 이를 대쉬보드에 리포팅한다(단계 S360,S370).
100: 고속 악성 웹사이트 탐지 시스템
110: 점검 대상 분배 모듈
111: 도메인 분배 모듈 112: 큐네임별 등록 모듈
120: 도커(Docker) 환경
121: 분석 모듈 121-1: 웹키트2 분석 모듈
121-2: 분석 요청 모듈 122: 탐지 모듈
122-1: 룰 추가 모듈 122-2: 버퍼 스캔 모듈
123: 연장(extension) 모듈 123-1: 룰 비교 수행 모듈
123-2: 탐지 이벤트 호출 모듈 124: 후킹 모듈
124-1: 플러그인 후킹 모듈 124-2: 브라우저 후킹 모듈
125: DB 관리 모듈 126: 리포팅 모듈
130: 데이터베이스
140: 대쉬모드 모듈

Claims (10)

  1. 점검 대상 정보를 큐서버를 통해 분배하는 점검대상분배모듈;
    상기 점검 대상 정보를 데이터베이스(database)에 저장하고, 웹킷을 이용하여 상기 점검 대상 정보를 분석하고 분석결과 분석시간 범위에 있는지를 확인하는 분석모듈;
    상기 분석시간 범위내 여부에 따라 상기 점검 대상 정보의 악성여부를 탐지하기 위한 악성 판정 룰 환경을 설정하는 탐지모듈;
    상기 악성 판정 룰 환경에 따라 상기 악성 판정룰과 상기 점검 대상 정보를 비교하고, 비교결과 상기 점검 대상 정보와 악성 판정룰이 매칭되면 악성 탐지를 나타내는 탐지 이벤트를 전달하는 연장 모듈;
    상기 탐지 이벤트를 기반으로 상기 점검 대상 정보에 대한 요약 정보를 생성하는 리포팅 모듈; 및
    상기 요약 정보를 바탕으로 시각적 현황 정보를 생성하여 출력하는 대쉬 보드 모듈;을 포함하며,
    상기 시각적 현황 정보는 상기 리포팅 모듈 및 데이터베이스에 저장되는 각종 웹소스 정보와 연동되며, 프리젠테이션 기능을 포함하며,
    상기 요약 정보는 타임스탬프 기반 시드 정보, 인덱스 정보, 탐지관련 악성 링크 트리 구조 데이터 정보를 포함하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템.
  2. 제 1 항에 있어서,
    상기 웹킷을 구성하는 프로세스들중 웹 프로세스(Web Process)를 통해 브라우저를 포함하는 확장 플러그인이 로딩되어 모니터링되도록 웹키트 프레임이 로딩될 때에 상기 확장 플러그인을 함께 로딩시켜 공격행위여부를 확인하도록 지원하는 후킹 모듈;를 더 포함하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 점검 대상 분배 모듈은, 다중 서버의 접속에 대해 상기 큐 서버의 특정 네임인 큐 네임별로 상기 점검 대상 정보를 설정하고, 상기 큐 네임별로 설정된 점검 대상 정보를 상기 다중 서버에 분배하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템.
  6. 제 5 항에 있어서,
    상기 점검 대상 정보는 도메인 등록 번호를 나타내는 인덱스 번호, 크롤링하는 웹페이지의 깊이를 나타내는 페이지 깊이, 및 상기 크롤링을 통해 점검한 도메인 주소를 포함하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템.
  7. 제 1 항에 있어서,
    크롤링 성능을 향상시키기 위해, 상기 점검 대상 정보의 중복성을 확인하여 상기 중복성이 없는 때만 상기 데이터베이스에 상기 점검 대상 정보를 저장하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템.
  8. 제 6 항에 있어서,
    상기 분석 모듈은 상기 웹 페이지의 깊이(page depth)를 파악하고, 상기 페이지 깊이에 따라 점검되는 해당 수집 링크 정보가 상기 데이터베이스에 저장되어 존재하지 않으면, 큐(queue) 서버에게 다음 점검 대상 정보를 요청하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템.
  9. 삭제
  10. 점검 대상 분배 모듈이 큐서버를 통해 점검 대상 정보를 분배하는 단계;
    분석 모듈이 상기 점검 대상 정보를 데이터베이스에 저장하고, 웹킷을 이용하여 상기 점검 대상 정보를 분석하고 분석결과 분석시간 범위에 있는지를 확인하는 단계;
    탐지 모듈이 상기 분석시간 범위내 여부에 따라 상기 점검 대상 정보의 악성여부를 탐지하기 위한 악성 판정 룰 환경을 설정하는 단계;
    연장 모듈이 상기 악성 판정 룰 환경에 따라 상기 악성 판정룰과 상기 점검 대상 정보를 비교하는 단계;
    상기 연장 모듈이 비교결과 상기 점검 대상 정보와 악성 판정룰이 매칭되면 악성 탐지를 나타내는 탐지 이벤트를 전달하는 단계;
    리포팅 모듈이 상기 탐지 이벤트를 기반으로 상기 점검 대상 정보에 대한 요약 정보를 생성하는 단계; 및
    대쉬 보드 모듈이 상기 요약 정보를 바탕으로 시각적 현황 정보를 생성하여 출력하는 단계;를 포함하며,
    상기 시각적 현황 정보는 상기 리포팅 모듈 및 데이터베이스에 저장되는 각종 웹소스 정보와 연동되며, 프리젠테이션 기능을 포함하며,
    상기 요약 정보는 타임스탬프 기반 시드 정보, 인덱스 정보, 탐지관련 악성 링크 트리 구조 데이터 정보를 포함하는 것을 특징으로 하는 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 방법.
KR1020170015445A 2017-02-03 2017-02-03 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법 KR101803225B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170015445A KR101803225B1 (ko) 2017-02-03 2017-02-03 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법
GB2111825.2A GB2594895B (en) 2017-02-03 2018-11-20 Touch panel and touch device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170015445A KR101803225B1 (ko) 2017-02-03 2017-02-03 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101803225B1 true KR101803225B1 (ko) 2017-12-28

Family

ID=60939911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170015445A KR101803225B1 (ko) 2017-02-03 2017-02-03 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101803225B1 (ko)
GB (1) GB2594895B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102147167B1 (ko) * 2020-01-07 2020-08-24 (주)에스투더블유랩 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램
WO2020171410A1 (ko) * 2019-02-19 2020-08-27 (주)에스투더블유랩 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램
KR20210085739A (ko) * 2019-12-31 2021-07-08 주식회사 안랩 악성코드 탐지장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158626A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation Detection and categorization of malicious urls
KR101518233B1 (ko) * 2014-03-31 2015-05-12 순천향대학교 산학협력단 기업 내부 전산환경의 위협탐지를 위한 보안 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875484B2 (ja) * 2011-12-22 2016-03-02 富士フイルム株式会社 導電シート及びタッチパネル

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158626A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation Detection and categorization of malicious urls
KR101518233B1 (ko) * 2014-03-31 2015-05-12 순천향대학교 산학협력단 기업 내부 전산환경의 위협탐지를 위한 보안 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020171410A1 (ko) * 2019-02-19 2020-08-27 (주)에스투더블유랩 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램
US11790016B2 (en) 2019-02-19 2023-10-17 S2W Inc. Method, device and computer program for collecting data from multi-domain
KR20210085739A (ko) * 2019-12-31 2021-07-08 주식회사 안랩 악성코드 탐지장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR102336466B1 (ko) 2019-12-31 2021-12-07 주식회사 안랩 악성코드 탐지장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR102147167B1 (ko) * 2020-01-07 2020-08-24 (주)에스투더블유랩 멀티 도메인에서 데이터를 수집하는 방법, 장치 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
GB2594895B (en) 2022-06-29
GB2594895A (en) 2021-11-10
GB202111825D0 (en) 2021-09-29

Similar Documents

Publication Publication Date Title
Iqbal et al. The ad wars: retrospective measurement and analysis of anti-adblock filter lists
US10362050B2 (en) System and methods for scalably identifying and characterizing structural differences between document object models
US20240121266A1 (en) Malicious script detection
US10728274B2 (en) Method and system for injecting javascript into a web page
AU2013201003B2 (en) Systems and methods for detecting malicious code
US20180260565A1 (en) Identifying web pages in malware distribution networks
US9723018B2 (en) System and method of analyzing web content
KR101724307B1 (ko) 악성코드를 검출하는 방법 및 시스템
US8850585B2 (en) Systems and methods for automated malware artifact retrieval and analysis
CN103023712B (zh) 网页恶意属性监测方法和系统
Wang et al. Detection of malicious web pages based on hybrid analysis
US9154522B2 (en) Network security identification method, security detection server, and client and system therefor
CN111552854A (zh) 一种网页数据抓取方法、装置、存储介质和设备
US20190222587A1 (en) System and method for detection of attacks in a computer network using deception elements
KR101803225B1 (ko) 멀티 서버, 멀티도커 기반 고속 악성 웹사이트 탐지 시스템 및 방법
CN107103243B (zh) 漏洞的检测方法及装置
WO2018008013A2 (en) System and method for webpages scripts validation
US11423099B2 (en) Classification apparatus, classification method, and classification program
KR101781780B1 (ko) 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템 및 방법
JP6527111B2 (ja) 解析装置、解析方法および解析プログラム
Ham et al. Big Data Preprocessing Mechanism for Analytics of Mobile Web Log.
CN113014601B (zh) 一种通信检测方法、装置、设备和介质
CN110825976B (zh) 网站页面的检测方法、装置、电子设备及介质
Arumugam et al. Prediction of sql injection attacks in web applications
Seifert et al. Application of divide-and-conquer algorithm paradigm to improve the detection speed of high interaction client honeypots

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant