KR101781780B1 - System and Method for detecting malicious websites fast based multi-server, multi browser - Google Patents
System and Method for detecting malicious websites fast based multi-server, multi browser Download PDFInfo
- Publication number
- KR101781780B1 KR101781780B1 KR1020170027548A KR20170027548A KR101781780B1 KR 101781780 B1 KR101781780 B1 KR 101781780B1 KR 1020170027548 A KR1020170027548 A KR 1020170027548A KR 20170027548 A KR20170027548 A KR 20170027548A KR 101781780 B1 KR101781780 B1 KR 101781780B1
- Authority
- KR
- South Korea
- Prior art keywords
- malicious
- information
- module
- domain
- api
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G06F17/30994—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 네트워크 보안 기술에 관한 것으로서, 더 상세하게는 악성코드를 전파하는 웹사이트를 자동으로 탐지하여 정보를 수집하는 자동화된 악성 웹 사이트 탐지 시스템 및 방법에 대한 것이다.
본 발명에 따르면, 본 발명에 따르면, 공격자들이 인터넷의 개방성을 이용하여 대량의 악성코드를 전파하기에, 이를 이용하는 악성 웹사이트를 자동적으로 탐지하여 이들 사이트로부터 전파되는 악성코드를 차단하기 위한 도메인 및 URL(uniform resource locator) 정보를 제공하는 시스템으로, 침해행위를 조장하는 악성 웹사이트를 고속으로 파악하여, 단기간 악성코드를 전파하는 악성 웹사이트를 고속으로 추출할 수 있다.The present invention relates to a network security technology, and more particularly, to an automated malicious web site detection system and method for automatically detecting a web site that propagates malicious code to collect information.
According to the present invention, according to the present invention, attackers propagate a large amount of malicious code by exploiting the openness of the Internet, and automatically detect a malicious web site using the domain and block malicious codes propagated from those sites. It is a system that provides URL (uniform resource locator) information. It can identify a malicious web site promoting an infringement action at a high speed and extract a malicious web site that propagates malicious code for a short period of time at a high speed.
Description
본 발명은 네트워크 보안 기술에 관한 것으로서, 더 상세하게는 악성코드를 전파하는 웹사이트를 자동으로 탐지하여 정보를 수집하는 자동화된 악성 웹 사이트 탐지 시스템 및 방법에 대한 것이다.The present invention relates to a network security technology, and more particularly, to an automated malicious web site detection system and method for automatically detecting a web site that propagates malicious code to collect information.
특히, 본 발명은 악성코드를 전파하는 악성 웹페이지를 탐지하고, 전파하는 악성유포지 및 경유지 사이트를 자동으로 탐지 및 수집하는 악성 웹 사이트 탐지 시스템 및 방법에 대한 것이다.More particularly, the present invention relates to a malicious web site detection system and method for detecting malicious web pages that propagate malicious code, and automatically detecting and collecting malicious malicious URLs and waypoint sites that are propagated.
악성코드를 전파하는 공격자들은 악성코드 전파를 위해 웹을 이용한다. 취약점을 가진 웹사이트를 공격하여 접속 사용자의 컴퓨터를 감염시키기 위한 악성 스크립트를 심어놓는다. 이들 악성코드는 랜섬웨어, 파밍, 악성 코드 전파 등 다양한 형태의 공격 타입을 포함하고 있다. Attackers who spread malware use the Web to spread malware. It attacks a vulnerable Web site and injects a malicious script to infect a connected user's computer. These malicious codes include various forms of attack such as Ransomware, pharming, and malicious code propagation.
따라서, 이런 악성 웹사이트를 탐지하기 위한 다양한 방식이 존재하며, 정적 탐지 방식, 머신 러닝 기반 분석, 노우 인터랙션(low-interaction) 동적방식이 있다.Thus, there are various ways to detect such malicious Web sites, such as static detection methods, machine learning based analysis, and low-interaction dynamic methods.
특히, 하이인터랙션(high-interaction) 동적 방식은 탐지율이 높으나 퍼포먼스가 낮다는 문제점을 가지고 있다. Particularly, the high-interaction dynamic method has a problem that the detection rate is high but the performance is low.
본 발명은 배경기술에서 기술된 문제점을 해소하기 위해 제안된 것으로서, 대량의 후보 도메인에 대해 고속 탐지기술을 이용하여 악성 페이지를 빠르게 탐지하는 기술적 체계로, 악성 페이지를 정상 페이지로부터 분류하고, 다중 서버, 다중 브라우저 기반에 의한 고속 악성 웹 사이트 탐지 시스템 및 방법을 제공하는 데 그 목적이 있다.The present invention has been proposed in order to solve the problem described in the background art. It is a technical system for quickly detecting malicious pages using a high-speed detection technology for a large number of candidate domains, classifies malicious pages from normal pages, , And a system and method for high-speed malicious website detection based on multiple browsers.
또한, 본 발명은 공격자들이 인터넷의 개방성을 이용하여 대량의 악성코드를 전파하기에, 이를 이용하는 악성 웹사이트를 자동적으로 탐지하여 이들 사이트로부터 전파되는 악성코드를 차단하기 위한 도메인 및/또는 URL(Uniform Resource Locator) 정보를 식별, 제공하는 시스템으로, 침해행위를 조장하는 악성 웹사이트를 고속으로 파악하여, 단기간 악성코드를 전파하는 악성 웹사이트를 추출할 수 있는 악성 웹 사이트 탐지 시스템 및 방법을 제공하는 데 다른 목적이 있다.In addition, the present invention can be applied to an attacker who uses a domain and / or a URL (Uniform) to automatically detect a malicious web site using the openness of the Internet and to block malicious code propagated from the malicious web site, A system and method for detecting a malicious web site that can identify a malicious web site promoting an infringing action at a high speed and extract a malicious web site that propagates malicious code for a short period of time There is another purpose.
특히, 본 발명은 기존 발명과 다르게 브라우저의 코드 수정 없이 별도의 악성행위를 모니터링 하기 위한 별도의 DLL 파일을 생성하고, 그 DLL 파일을 로딩되는 다수의 브라우저 마다 각각 인젝션을 시켜 악성행위를 모니터링 하는 방식을 제공하는 것이다.In particular, according to the present invention, a separate DLL file for monitoring a malicious behavior is generated without the code modification of the browser, and malicious behavior is monitored by injecting the DLL file for each of a plurality of browsers .
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한하지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems which are not mentioned can be understood by those skilled in the art from the following description.
본 발명은 위에서 제시된 과제를 달성하기 위해, 대량의 후보 도메인에 대해 고속 탐지기술을 이용하여 악성 페이지를 빠르게 탐지하는 기술적 체계로, 악성 페이지를 정상 페이지로부터 분류하고, 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템을 제공한다.In order to accomplish the above-mentioned object, the present invention provides a technical system for quickly detecting malicious pages using a high-speed detection technology for a large number of candidate domains, which classifies malicious pages from normal pages, Provides a malicious website detection system.
상기 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템은,The multi-server, multi-browser based high-
탐지 대상인 도메인 정보를 관리하고 분배하는 도메인 저장 관리 모듈;A domain storage management module for managing and distributing domain information to be detected;
상기 도메인 정보를 수집하고 실제 다중 브라우저를 통해 접속하여 상기 도메인 정보를 로딩하는 역할을 수행하는 브라우저 로딩 모듈;A browser loading module for collecting the domain information and accessing the domain information through actual multiple browsers;
로딩되는 상기 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 악성 행위 감시용 DLL(Dynamic Linking Library) 파일 인젝션 모듈;A dynamic linking library (DLL) file injection module for monitoring malicious activity through the actual multiple browsers loaded;
인젝션된 상기 DLL 파일안에서 악성행위를 모니터링하기 위해 인젝션된 다중 브라우저를 통해 요청되는 API(application programming interface) 함수를 식별하고 동작시키는 API 후킹 모듈;An API hooking module for identifying and operating an application programming interface (API) function requested through multiple injected multiple browsers to monitor malicious activity in the injected DLL file;
상기 API 후킹을 통해 사전에 정의된 특정 감시대상 API가 요청되는지 모니터링하여 악성 파일 여부를 판단하는 탐지 모니터링 모듈;A detection monitoring module for monitoring whether a specific monitoring target API defined in advance through the API hooking is requested and determining whether or not the file is a malicious file;
악성으로 판단된 프로세스들의 정보를 로깅하여 로그 정보를 수집하는 탐지정보 수집 모듈;A detection information collection module for collecting log information by logging information of processes judged to be malicious;
상기 로그 정보를 데이터베이스에 저장 관리하는 DB 관리 모듈; 및A DB management module for storing and managing the log information in a database; And
상기 데이터베이스의 로그 정보를 이용하여 악성 도메인의 위험수준을 시각화하는 대쉬보드및 관리 모듈;을 포함한다.And a dashboard and management module for visualizing the risk level of the malicious domain using the log information of the database.
이때, 상기 도메인 정보는 후보군 도메인, URL(uniform resource locator)을 포함하는 것을 특징으로 할 수 있다.In this case, the domain information may include a candidate domain and a URL (uniform resource locator).
또한, 상기 도메인 수집 모듈은 로컬 디렉토리에 CONFIG 파일을 저장하며, 상기 CONFIG 파일내에는 대상이 되는 큐서버 및 큐네임 정보가 포함되어, 상기 큐서버 및 큐네임 정보를 바탕으로 상기 브라우저 로딩 모듈의 요청에 따라 상기 도메인 정보를 분배하는 것을 특징으로 할 수 있다.In addition, the domain collection module stores a CONFIG file in a local directory. The CONFIG file includes a queue server and queue name information of interest, and the request information of the browser loading module, based on the queue server and queue name information, And distributing the domain information according to the domain information.
또한, 상기 API 훅 모듈은 상기 실제 다중 브라우저가 로딩되면서 해당 웹사이트의 웹페이지에 숨어있는 악성코드로부터 발생되는 악성행위를 모니터링하는 것을 특징으로 할 수 있다.In addition, the API hook module monitors malicious activity occurring from malicious code hidden in a web page of a corresponding web site while the actual multiple browsers are loaded.
또한, 상기 API 후킹을 위해서 특정 주소가 코드 패치(CODE PATCH)되며, 상기 모니터링은 상기 특정 주소를 변조함으로써 공격자가 심어놓은 악성 웹페이지가 특정 악성행위를 위해 요청하는 API 함수를 중간에 가로채어 이루어지는 것을 특징으로 할 수 있다.In addition, a specific address is code-patched for hooking the API, and the monitoring is performed by intercepting an API function requested by a malicious web page planted by an attacker for a specific malicious action by modifying the specific address . ≪ / RTI >
또한, 상기 탐지 모니터링 모듈은 악성행위가 발생할 시 총체적인 현상을 보고 악성으로 판단하며, 상기 악성 행위는 응용 프로그램 로딩, 파일 생성, 레지스트리 변경, 다른 네트워크 포트 오픈, 잘사용되지 않는 포트의 연결성, 컴맨드라인(cmdline)을 통한 명령어 실행 중 어느 하나인 것을 특징으로 할 수 있다.In addition, the detection and monitoring module judges maliciousness as a malicious behavior when a malicious action occurs, and the malicious action includes application loading, file creation, registry change, other network port opening, And execution of a command through a line (cmdline).
또한, 상기 탐지 정보 수집 모듈은 상기 로그 정보를 수집하기 위해 로컬 폴더를 생성하고 시간별, 행위별, 파일별, 링크별 정보를 수집하는 것을 특징으로 할 수 있다.The detection information collection module may generate a local folder for collecting the log information, and collect information by time, action, file, and link.
또한, 상기 DB 관리 모듈은 상기 로그 정보를 생성된 프로세스 ID를 시간별로 톱-다운(TOP-DOWN) 형태로 이력관리하고 해당 프로세스에 의해 생성된 로그 정보를 시간기반으로 저장된 형태인 것을 특징으로 할 수 있다.In addition, the DB management module may manage the history of the log information in a TOP-DOWN manner by the generated process ID, and store log information generated by the process in a time-based manner .
또한, 상기 도메인 저장 관리 모듈은 해당 후보군 도메인을 관리 페이지를 통해 등록 여부를 수행하는 것을 특징으로 할 수 있다.In addition, the domain storage management module may register the candidate domain through the management page.
또한, 상기 탐지 모니터링 모듈은 상기 API 후킹으로 부터 수집되는 로그 정보에 대해 악성여부를 판단하기 위해, 특정 대기시간 동안 악성행위의 발생여부를 판단하며, 접속 후보군 도메인의 비정상 연결 상태에 대해 빠르게 종료하는 역할을 제공하는 것을 특징을 할 수 있다.In addition, the detection and monitoring module determines whether a malicious action has occurred during a specific waiting time to determine whether the log information collected from the API hooking is malicious or not, and terminates the abnormal connection state of the connection candidate domain quickly A role can be provided.
또한, 상기 API 후킹 모듈(140)은 DLL 인젝션을 통해 브라우저로 연결된 DLL 파일 내에 API 후킹 정보를 삽입하여 다중 실제 브라우저로 로딩되는 악성 웹페이지의 행위를 감시하기 위해, 악성웹페이지가 요청하는 API를 리스트한다. 상기 API 후킹 정보가 로딩되는 다중 실제 브라우저마다 API를 후킹하고 종료할시 언후킹을 통해 정상종료되도록 수행하는 것을 특징으로 할 수 있다.In addition, the
다른 한편으로, 본 발명의 다른 일실시예는, 도메인 저장 관리 모듈이 탐지 대상인 도메인 정보를 관리하고 분배하는 단계; 브라우저 로딩 모듈이 상기 도메인 정보를 수집하고 실제 다중 브라우저를 통해 접속하여 상기 도메인 정보를 로딩하는 역할을 수행하는 단계; DLL(Dynamic Linking Library) 인젝션 모듈이 로딩되는 상기 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 초기작업을 위해 상기 실제 브라우저로 악성 행위 감시용 DLL 파일을 인젝션하는 단계; API(application programming interface) 후킹 모듈이 인젝션된 상기 DLL 파일안에서 악성행위를 모니터링하기 위한 API를 식별하고 동작시키는 API 후킹을 수행하는 단계; 탐지 모니터링 모듈이 상기 API 후킹을 통해 해당 API가 요청되는지 모니터링하여 사전에 정의된 특정 악성 파일의 탐지 여부에 따라 악성으로 판단하는 단계; 탐지정보 수집 모듈이 악성으로 판단된 프로세스들의 정보를 로깅하여 로그 정보를 수집하는 단계; DB 관리 모듈이 상기 로그 정보를 데이터베이스에 저장 관리하는 단계; 및 대쉬보드및 관리 모듈이 상기 데이터베이스의 로그 정보를 이용하여 악성 도메인의 위험수준을 시각화하는 단계;을 포함하여 구성되는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반 악성 웹 사이트 탐지 방법을 제공할 수 있다.According to another embodiment of the present invention, there is provided a method for managing domain information, comprising: managing and distributing domain information to be detected by a domain storage management module; Performing a role of the browser loading module collecting the domain information and actually connecting the domain information by accessing through the multiple browsers; Injecting a malicious activity monitoring DLL file into the actual browser for an initial task for monitoring malicious activity through the actual multiple browsers loaded with a dynamic linking library (DLL) module; Performing API hooking for identifying and operating an API for monitoring malicious behavior in the DLL file in which an application programming interface (API) hooking module is injected; Monitoring whether the detection monitoring module requests the corresponding API through the API hooking and judging the malicious file according to whether a predetermined malicious file is detected; Collecting log information by logging information of processes judged to be malicious by the detection information collection module; Storing and managing the log information in the database by the DB management module; And a dashboard and a management module visualizing a risk level of a malicious domain using log information of the database. The multiserver and multi-browser based malicious web site detection method according to claim 1, .
본 발명에 따르면, 공격자들이 인터넷의 개방성을 이용하여 대량의 악성코드를 전파하기에, 이를 이용하는 악성 웹사이트를 자동적으로 탐지하여 이들 사이트로부터 전파되는 악성코드를 차단하기 위한 도메인 및 URL(uniform resource locator) 정보를 제공하는 시스템으로, 침해행위를 조장하는 악성 웹사이트를 고속으로 파악하여, 단기간 악성코드를 전파하는 악성 웹사이트를 고속으로 추출할 수 있다.According to the present invention, since attackers propagate a large amount of malicious code using the openness of the Internet, a domain and a URL (uniform resource locator) for automatically detecting a malicious web site using the malicious code, ) Information system, it is possible to quickly identify malicious websites promoting infringement behavior, and to extract malicious websites that spread malicious code for a short period of time at a high speed.
또한, 본 발명의 다른 효과로서는 현재 존재하는 웹사이트의 위험성 외에 다운로드 실행(drive-by download)에 의해 생성되는 각종 제로 데이(zero-day) 공격파일 및 그 파일로부터 수집되는 악성 C&C(Command & Control)정보를 동시에 담고 있고, 추가적인 악성정보를 판별할 수 있다는 점을 들 수 있다.Also, as another effect of the present invention, currently existing websites risks in addition to free run (drive-by download) malware C & C (Command & Control is collected from various zero-day (zero-day) attacks files and those files that are generated by that ) Information at the same time, and can identify additional malicious information.
또한, 본 발명의 또 다른 효과로서는 다양한 이기종 시스템에게 해당 정보를 제공, 악성 웹사이트 차단 및 방어에 응용할 수 있다는 점을 들 수 있다.In addition, another advantage of the present invention is that the information can be provided to various heterogeneous systems, and can be applied to block and protect malicious websites.
도 1은 본 발명의 일실시예에 따른 고속 악성 웹페이지 탐지 시스템(100)의 블록 구성도이다.
도 2는 본 발명의 일실시예에 따른 고속 악성 웹페이지를 탐지하는 과정을 보여주는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 악성 행위를 모니터링하는 과정을 보여주는 흐름도이다. 1 is a block diagram of a high-speed malicious web
FIG. 2 is a flowchart illustrating a process for detecting a high-speed malicious web page according to an exemplary embodiment of the present invention.
3 is a flowchart illustrating a process for monitoring malicious activity according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. To fully disclose the scope of the invention to a person skilled in the art, and the invention is only defined by the scope of the claims. The dimensions and relative sizes of the components shown in the figures may be exaggerated for clarity of description.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, “및/또는”은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.Like reference numerals refer to like elements throughout the specification and " and / or " include each and every combination of one or more of the mentioned items.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 “포함한다” 및/또는 “구성된다”는 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the terms "comprises" and / or "comprising" do not exclude the presence or addition of one or more other elements, steps, operations, and / or elements .
비록 제1, 제2 등의 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 대해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소와 구별하기 위하여 사용되는 것이다. 따라서, 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although used to describe various components such as first, second, etc., it goes without saying that these components are not limited to these terms. These terms are used only to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical scope of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.
이하 첨부된 도면을 참조하여, 본 발명의 일실시예에 따른 다중 서버, 다중 브라우저 기반 악성 웹 사이트 탐지 시스템 및 방법을 상세하게 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout.
도 1은 본 발명의 일실시예에 따른 고속 악성 웹페이지 탐지 시스템(100)의 블록 구성도이다. 도 1을 참조하면, 앞서 언급한 것과 같이 악성 웹페이지를 식별하기 위해서는 웹페이지가 악성적으로 사용되었는지를 식별할 수 있는 식별 값이 필요한데, 본 발명의 일실시예에서는 이러한 식별 값의 집합을 악성 웹페이지로 정의한다. 개별 악성 웹페이지에 대해서는 단일 악성 웹페이지로 정의한다.1 is a block diagram of a high-speed malicious web
그리고 자세히 후술하겠지만, 본 발명의 일실시예에서의 단일 악성 웹페이지는 한 후보군 도메인에 포함되어 있는 다수의 웹페이지들중 하나의 악성 웹페이지가 악성 웹페이지로 사용되는 것을 말하며, 실제적으로는 하나의 악성 도메인에는 다수의 악성링크를 가지고 있는 악성 웹페이지 및 공격코드를 포함하는 악성 웹페이지를 포함할 수 있다. As will be described in detail later, a single malicious web page in the embodiment of the present invention means that one malicious web page among a plurality of web pages included in one candidate domain is used as a malicious web page, and actually one A malicious domain of a malicious web page may include malicious web pages having a plurality of malicious links and malicious web pages containing attack codes.
대부분의 악성 도메인은 다수의 악성 리디렉션 링크를 통해 공격코드가 삽입되어 있는 악성 웹페이지에 다다른다. 이들 리디렉션 링크를 가지는 웹페이지와 악성코드를 가지고 있는 웹페이지의 링크는 최초 랜딩으로 사용되는 후보 도메인일 수도 있으나 대부분은 서로 다른 도메인일 가능성이 높다.Most malicious domains reach malicious web pages with malicious redirect links embedded in the attack code. A link between a web page with these redirect links and a web page with malicious code may be a candidate domain used for initial landing, but most likely it is a different domain.
먼저 도 1을 참조하면, 본 발명의 일실시예에 따른 고속 악성 웹페이지 탐지 시스템(100)은, 도메인 저장 관리 모듈(110), 브라우저 로딩 모듈(120), DLL 인젝션 모듈(130), API 후킹 모듈(140), 탐지 모니터링 모듈(150), 탐지 정보 수집 모듈(160), DB 관리 모듈(170), 대쉬보드 및 관리 모듈(180) 등을 포함하여 구성될 수 있다.Referring to FIG. 1, a high-speed malicious web
도메인 저장 관리 모듈(110)은 후보 도메인인 후보군 도메인 및/또는 URL(uniform resource locator) 등을 포함하는 도메인 정보를 저장하고 관리하는 기능을 수행한다. 이를 위해, 모메인 저장 관리 모듈(110)은 도메인 정보를 관리하고 분배하는 후보 도메인 분배 큐(QUEUE) 서버(111)를 포함한다. The domain
부연하면, 도메인 저장 관리 모듈(110)은 각기 다른 큐네임을 가지고 있는 후보 도메인 큐서버(111)로 도메인 정보(즉, 후보군 도메인)를 저장하고 분배하는 역할을 수행하며, 브라우저 로딩 모듈(120)의 도메인 정보 수집 요청에 따라 도메인을 분배하는 역할을 수행한다. In other words, the domain
고속 악성 웹페이지 탐지 시스템(100)은 크게 큐서버와 탐지 시스템으로 구성되어 있는데, 특히 탐지 시스템은 여러 개의 가상머신을 가지고 있고, 각 가상머신 내에는 취약한 어플리케션 버전을 가진 Windows 운영체제 이미지를 가지고 있다. 이 운영체제는 원도우 XP, 7, 9, 10 및 그 외 윈도우 환경 이미지를 가지고 있을 수 있다. The high-speed malicious web
각 가상 이미지는 동일한 운영체제를 가진 이미지를 가질 수도 있고 서로 다른 버전의 윈도우 이미지 환경을 가질 수도 있다. 또한 그 윈도우 이미지는 각기 다른 버전의 취약한 어플리케션 버전들이 설치된 이미지들을 말한다. Each virtual image can have an image with the same operating system or different versions of the Windows image environment. The window image also refers to images with different versions of vulnerable application versions installed.
각 가상 머신 이미지는 동일한 큐네임을 가질 수도 있고 다른 큐네임 서버를 가질 수 있다. 고속 악성 웹페이지 탐지 시스템(100)은 실제로 멀티 서버 멀티 가상 이미지, 멀티 브라우저 환경을 지원하기 때문에 큐네임은 서버의 수 및/또는 운영환경에 따라 다양한 형태로 구성할 수 있다.Each virtual machine image can have the same queue name or have different queue name servers. Since the high-speed malicious web
따라서, 도메인 수집 모듈(110)은 로컬 디렉토리에 CONFIG 파일을 가지고 있으며, 그 CONFIG 파일내에는 대상이 되는 큐서버 및 큐네임 정보를 가지고 있고, 그 정보를 바탕으로 후보 도메인을 수집하여 수집 후보군을 생성하게 된다. 수집 후보군은 한번에 다수의 후보를 다운로드할 수도 있고 요청시마다 1개의 후보군을 다운로드받을 수도 있다.Therefore, the
따라서, 다운받은 후보군 도메인은 가상 머신별로 서로 다르거나, 같을수 있는데 같을 경우의 가상 이미지는 서로 다른 환경의 운영체제 및 어플리케션을 포함하는 환경을 가지고 있을 수 있다. 일반적으로 다운받은 후보군 도메인은 로컬 디렉토리에 저장되며, 이때 실제 다중 브라우저가 연속적으로 로딩되면서 후보 도메인을 하나씩 읽어가며 해당 도메인에 접속하여 브라우징한다. 동시에 다수의 브라우저를 로딩하도록 구성된다.Accordingly, the downloaded candidate domain may be different or the same for each virtual machine. If the virtual image is the same, the environment may include an operating system and an application of different environments. Generally, the downloaded candidate domain is stored in a local directory. At this time, the actual multiple browsers are sequentially loaded, and the candidate domains are read one by one and connected to the corresponding domain to browse. And is configured to simultaneously load a plurality of browsers.
브라우저 로딩 모듈(120)은 후보 도메인 분배 큐 서버(111)로부터 도메인 정보를 수집하여 저장하는 기능을 수행한다. 이를 위해, 브라우저 로딩 모듈(120)은 도메인 정보의 후보군 도메인을 분배받아 로컬 디렉토리에 저장하는 도메인 수집 모듈(121) 및 도메인 정보의 후보군 도메인을 실제 다중 브라우저를 통해 접속하여 로딩하는 역할을 수행하는 도메인 로딩 모듈(122)를 포함하여 구성된다. 실제 다중 브라우저의 예로서는 크롬, 파이어폭스, 인터넷 익스플로러, 사파리, 웹브라우저, 핫 자바, 브라우저 엔진 등을 들 수 있다.The
DLL(Dynamic Linking Library) 인젝션 모듈(130)은 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 초기작업을 위해 실제 다중 브라우저로 악성 행위 감시 용 DLL 파일을 인젝션시키는 기능을 수행한다. 이를 위해, DLL 인젝션 모듈(130)은 DLL 파일을 실제 다중 브라우저로 인젝트하기 위한 DLL 파일 인젝션 모듈(131)을 포함할 수 있다. 악성 행위 감시 용 DLL 파일은 소프트웨어적인 모듈 방식인 악성 행위 감시 모듈이 될 수 있다. The DLL (Dynamic Linking Library)
API(application programming interface) 후킹 모듈(140)은 실제 다중 브라우저가 로딩되면서 해당 웹사이트의 웹페이지에 숨어있는 각종 악성코드로부터 발생되는 각종 악성행위를 모니터링하기 위해, 상기 악성 행위 감시 용 DLL 파일안에서 악성행위를 감시하기 위한 API를 식별하고 동작시키는 기능을 수행한다. 이를 위해, API 후킹 모듈(140)은 API 언훅 모듈(142) 및 API 훅모듈(141)을 포함한다. The application programming interface (API) hooking
API 훅 모듈(141)은 DLL 파일이 인젝션되고 실제 다중 브라우저가 동작될 때, DLL 파일내에 모니터링 대상이 되는 각종 API를 후킹한다. API 후킹을 위해서는 특정 주소를 코드 패치(CODE PATCH)하게 되는데, 이 주소를 변조함으로써 공격자가 심어놓은 악성 웹페이지가 특정 악성행위를 위해 요청하는 각종 API함수를 중간에 가로채어 모니터링 할 수 있는 환경을 마련하도록 하며, 이를 전역 API 후킹이라고 한다.The
API 언훅 모듈(142)은 API 훅 모듈(141)에 의한 API 훅 이전의 상태로 복원되기 위해, 즉 원래의 형태로 되돌리기 위한 기능을 수행한다.The
탐지 모니터링 모듈(150)은 악성 웹페이지가 해당 API를 요청하는지 모니터링하는 기능을 수행한다. 부연하면, 탐지 모니터링 모듈(150)은 악성 웹페이지를 통해 생성된 쓰레드들(Threads)이 생성되고 행위하는 모든 정보를 모니터링하는 후킹 API 모니터링을 포함하고 있으며, 이를 통해 악성행위로 판단되는 프로세스를 판단한다. The
부연하면, API 후킹을 통해 수집되는 각종 정보를 모니터링하고 있다가 사전에 정의한 각종 악성파일이 탐지될 경우 악성으로 판단하게 된다. 특히, 자바, 플래쉬 등과 같은 응용 프로그램이 로딩되고, 파일이 생성되고, 레지스트리가 변경되고, 새로운 네트워크 포드가 오픈되거나, 잘사용되지 않는 포드의 연결성을 보이거나 cmdline을 통한 명령어가 실행되는 등 각종 악성행위가 발생할 시 총체적인 현상을 보고 악성으로 판단하게 된다.In other words, when various kinds of malicious files defined in advance are detected after monitoring various information collected through API hooking, maliciousness is judged. In particular, various malicious programs such as Java, Flash, etc. are loaded, files are created, the registry is changed, a new network pod is opened, the connectivity of a pod that is not used well or the command via cmdline is executed When an action occurs, it is judged to be malicious by seeing the overall phenomenon.
일반 사용자가 악성코드가 삽입된 웹페이지를 방문할 경우, 악성코드는 접속 사용자의 시스템 환경(예를들어 윈도우 7)과 취약한 어플리케션 버전(취약한 JAVA 버전, Flash 버전)을 체크하고, 해당 취약한 버전을 공격하는 악성코드를 동작시켜 사용자의 시스템의 어플리케션 권한을 가지고 악성코드를 동작시킨다.When an ordinary user visits a web page containing malicious code, the malicious code checks the system environment of the accessing user (for example, Windows 7) and the vulnerable application version (vulnerable JAVA version, Flash version) The malicious code that operates on the user's system is operated.
그때, 악성코드를 다운로드시키고(drive-by downloads), 그때 작은 파일(vbscript)등이 다운로드되면서 사용자 시스템 내에 공격파일을 생성시키면서, 사용자 시스템내에 있는 각종 인증서정보나 개인정보 및 악성코드를 설치한다.At that time, malicious code is downloaded (drive-by downloads), then a small file (vbscript) is downloaded, and attack files are created in the user system, and various certificate information, personal information and malicious code are installed in the user system.
또한, 그때 그 악성코드들이 하는 행위가 앞서 기술한, 사용자 시스템이 재부팅시에도 동작할수 있도록 레지스트리 시작 엔트리를 수정하거나 새로운 네트워크를 생성하여 필요한 파일을 다운로드하거나, cmdline을 통해 사용자 시스템내에서 명령어를 수행하면서 파일을 생성하고 변경시키는 행위를 한다.Also, modify the registry start entry, or create a new network to download the necessary files so that the malicious code acts as described above, so that the user system can operate even when rebooting, or execute commands in the user system through cmdline While creating and modifying files.
이런 일련의 행위에 대해 DLL파일의 API함수를 모니터링하고 실행되는 명령어를 모니터링함으로써 이상행위라고 판단한다. 일반적인 경우에는 이런 행위를 하지 않음으로써 이런 일련의 행위를 하는 행위자체를 악성행위로 판단하는 것이다.This kind of behavior is judged to be an abnormal behavior by monitoring the API function of the DLL file and monitoring the executed command. In general, the act of doing such a series of acts by not doing this is judged to be malicious.
그외 윈도우의 정상적인 파일(iexplore.exe)이 로딩되는 지는 정상파일로 인식하여 악성으로 판단하지 않는다. 또한 winsock의 send 및 recv를 통해 HTTP (hypertext transfer protocol)를 통해 요청되고 받는 과정중 네트워크 정보를 모니티링하여 악성으로 사용되는 리디렉션 정보를 모니터링한다. 그 모니터링 정보에는 분석(Analytics) 정보를 동시에 포함하고 모니터링한다.It does not judge it as malicious by recognizing whether the normal file (iexplore.exe) of other window is loaded as normal file. It also monitors network information during the process of being requested and received through HTTP (hypertext transfer protocol) through send and recv of winsock to monitor malicious redirection information. The monitoring information includes and monitors the analysis information at the same time.
또한, 상기 API 후킹 모듈(140)은 DLL 인젝션을 통해 브라우저로 연결된 DLL 파일 내에 API 후킹 정보를 삽입하여 다중 실제 브라우저로 로딩되는 악성 웹페이지의 행위를 감시하기 위해, 악성웹페이지가 요청하는 API를 리스트하고, 상기 API 후킹 정보가 로딩되는 다중 실제 브라우저마다 API를 후킹하고 종료할시 언후킹을 통해 정상종료되도록 수행한다.In addition, the
본 발명의 일실시예에 따른 악성 웹페이지 탐지 시스템은 악성 웹페이지로부터 API요청을 통해 생성되는 각종 프로세스들을 추적하는 근원적 정보를 제공한다. The malicious web page detection system according to an exemplary embodiment of the present invention provides basic information for tracking various processes generated through an API request from a malicious web page.
도 1을 계속 참조하면, 탐지 정보 수집 모듈(160)은 악성 행위로 판단된 프로세스들의 정보를 로깅하고 로그 정보를 수집하는 행위를 수행한다. 부연하면, 탐지 정보 수집 모듈(160)은 탐지 모니터링 모듈(150)을 통해 판단된 악성 웹페이지(즉 악성 프로세스)에 대해 발생한 모든 정보를 수집하고 원시 악성 웹페이지 소스를 다운로드하여 관리하는 일련의 행위를 수행한다. Referring to FIG. 1, the detection
특히, 탐지 정보 수집 모듈(160)은 해당 로그 정보를 수집하기 위해 로컬 폴더를 생성하고 시간별, 행위별, 파일별, 링크별 정보를 수집한다. 특히, 탐지 모니터링 모듈(150)을 통해 탐지된 각종 정보를 담고 있다.In particular, the detection
DB 관리 모듈(170)은 수집 로그 정보를 저장하는 기능을 수행한다. 이를 위해 데이터베이스(175)를 포함할 수 있다. 물론, 데이터베이스(175)는 별도의 공간에 데이터베이스 서버를 구성하여 이 서버로 연결되어 구성될 수 있다. 저장되는 정보는 탐지 정보 수집 모듈(160)을 통해 수집된 정보들로, 비록, 도 1에는 도시되지 않았으나, 그 탐지 정보 수집 모듈(160)은 수집된 로그 정보를 생성된 프로세스 ID(Identification)를 시간별로 톱다운(TOP-DOWN) 형태로 이력관리하고 그 프로세스에 의해 생성된 각종정보를 시간기반으로 저장된 형태며, 이 정보를 압축 형태로 DB에 전달하고 DB는 이들 정보를 받아 압축을 풀어 DB에 저장한다. The
대쉬보드 및 관리모듈(180)은 DB 관리 모듈(170)과 연동하여 수집된 로그 정보를 이용하여 결과 정보를 생성하고 이를 프리젠테이션하는 기능을 수행한다. 부연하면, 이러한 결과 정보를 이용하여 악성 도메인의 위험수준을 시각화할 수 있다. 시각화는 그래픽, 문자 등의 조합으로 이루어질 수 있다. The dashboard and
또한, 모든 데이터 처리를 후보군 도메인 중심으로 시각화하여 처리, 진행하기 때문에, 수집된 데이터에 대한 이력을 보여준다. 점검시간, 탐지여부 및 탐지결과 및 해당 로그 정보(파일, 웹소스정보 등)를 대쉬보드를 통해 조회가능하며, 해당 후보군 도메인은 관리 페이지를 통해 도메인 저장 관리 모듈(110)에 등록 여부를 결정하는 관리페이지를 담고 있을 수 있다. In addition, since all data processing is visualized and processed in the candidate domain, it shows the history of collected data. And the log information (file, web source information, etc.) can be inquired through the dashboard, and the candidate group domain is registered in the domain
이 관리 페이지에서 후보군 도메인에 대한 점검여부가 결정되면, 결정된 후보군 도메인 및/또는 URL만이 도메인 저장 관리 모듈(110)에 등록되게 된다.In this management page, if it is determined whether the candidate group is to be checked, only the determined candidate group domain and / or URL are registered in the domain
따라서, 고속 악성 웹 사이트 탐지 시스템(100)은 다양한 외부 보안 시스템(즉, 웹서버(190) 등을 들 수 있음)에게 수집된 악성 웹페이지 정보, 악성 도메인 및 악성 URL 정보를 실시간 제공함으로써, 다양한 보안장비에서 이를 차단함으로써 악성코드 공격에 효율적으로 이용될 수 있다.Accordingly, the high-speed malicious
도 2는 본 발명의 일실시예에 따른 고속 악성 웹페이지를 탐지하는 과정을 보여주는 흐름도이다. 도 2를 참조하면, 도메인 저장 관리 모듈(110)이 탐지 대상인 도메인 정보를 관리하고 분배함에 따라, 브라우저 로딩 모듈(120)이 상기 도메인 정보를 수집하고 실제 다중 브라우저를 통해 접속하여 상기 도메인 정보를 로딩하는 역할을 수행한다(단계 S210,S211,S220).FIG. 2 is a flowchart illustrating a process for detecting a high-speed malicious web page according to an exemplary embodiment of the present invention. 2, the domain
물론, 이때 DLL 인젝션 모듈(130)이 로딩되는 상기 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 초기작업을 위해 상기 실제 브라우저로 악성 행위 감시용 DLL(Dynamic Linking Library) 파일을 인젝션한다(단계 S231).Of course, at this time, a DLL (Dynamic Linking Library) file for malicious activity monitoring is injected into the actual browser for an initial task for monitoring the malicious behavior through the actual multiple browsers loaded with the DLL injection module 130 (step S231) .
또한, API 후킹 모듈(140)이 인젝션된 상기 DLL 파일안에서 악성행위를 모니터링하기 위한 API(application programming interface)를 식별하고 동작시키는 API 후킹을 수행한다(단계 S241).In step S241, the
이후, 대기 시간, 정상 접속 등이 정상적으로 이루어지는 지를 판단한다(단계 S230). 부연하면, 탐지 모니터링 모듈(150)이 API 후킹으로부터 수집되는 정보에 대해 악성여부를 판단하는 단계로, 특정 대기시간 동안 악성행위의 발생여부를 기다리며, 접속 후보군 도메인의 비정상 연결 상태에 대해 빠르게 종료하는 역할을 제공한다.Then, it is determined whether the waiting time, normal connection, and the like are normally performed (step S230). In other words, the
판단 결과, S230에서 비정상적이거나 대기시간을 초과하면 브라우저를 종료하고 단계 S211 내지 S230을 반복수행한다(단계 S251).As a result of the determination, if it is abnormal in step S230 or if the waiting time is exceeded, the browser is terminated and steps S211 to S230 are repeated (step S251).
이와 달리, 판단 결과, S230에서 정상적이거나 대기 시간을 초과하지 않으면 탐지 모니터링 모듈(150)이 악성여부를 판단한다.Otherwise, if it is determined in step S230 that it is normal or does not exceed the waiting time, the
판단 결과, 악성으로 판단되면, 탐지 정보 수집 모듈(160)에 의해 악성으로 판단된 프로세스들의 정보를 로깅하여 로그 정보를 수집하고, DB 관리 모듈(170)을 통해 상기 로그 정보가 데이터베이스(175)에 저장 관리된다.As a result of the determination, when it is determined to be malicious, information of processes determined to be malicious by the detection
이후, 대쉬보드및 관리 모듈(180) 상기 데이터베이스의 로그 정보를 이용하여 악성 도메인의 위험수준을 시각화한다.The dashboard and
이와 달리, 단계 S240에서 악성이 아닌 것으로 판단되면, 단계 S211 내지 S240이 반복 수행된다.On the other hand, if it is determined in step S240 that it is not malicious, steps S211 to S240 are repeatedly performed.
도 3은 본 발명의 일실시예에 따른 악성 행위를 모니터링하는 과정을 보여주는 흐름도이다. 도 3을 참조하면, 도메인 저장 관리 모듈(110)이 관리 페이지를 통해 탐지 대상인 도메인 정보를 관리하고 분배함에 따라, 브라우저 로딩 모듈(120)이 상기 도메인 정보를 수집하고 실제 다중 브라우저를 통해 접속하여 상기 도메인 정보를 로딩하는 역할을 수행한다(단계 S310,S320,S330). 물론, 수동 입력이 가능하다(단계 S311).3 is a flowchart illustrating a process for monitoring malicious activity according to an embodiment of the present invention. 3, the domain
물론, 이때 DLL 인젝션 모듈(130)이 로딩되는 상기 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 초기작업을 위해 상기 실제 브라우저로 악성 행위 감시용 DLL(Dynamic Linking Library) 파일을 인젝션한다(단계 S343).Of course, at this time, a DLL (Dynamic Linking Library) file for malicious activity monitoring is injected into the actual browser for an initial task for monitoring the malicious behavior through the actual multiple browsers loaded with the DLL injection module 130 (step S343) .
또한, API 후킹 모듈(140)이 인젝션된 상기 DLL 파일안에서 악성행위를 모니터링하기 위한 API(application programming interface)를 식별하고 동작시키는 API 후킹을 수행한다(단계 S341).In step S341, the
이후, 탐지 모니터링 모듈(150)이 API 후킹에 따라 악성 행위를 모니터링한다(단계 S340).Thereafter, the
이후, 모니터링에 따라 탐지 정보 수집 모듈(160)에 의해 악성으로 판단된 프로세스들의 정보를 로깅하여 로그 정보를 수집하고, DB 관리 모듈(170)을 통해 상기 로그 정보가 데이터베이스(175)에 저장 관리된다(단계 S360).Thereafter, information of processes determined to be malicious by the detection
이후, 대쉬보드및 관리 모듈(180) 상기 데이터베이스의 로그 정보를 이용하여 악성 도메인의 위험수준을 시각화한다(단계 S370).Then, the dashboard and
도 1 내지 도 3에 도시된 모듈의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 하드웨어 구현에 있어, 상술한 기능을 수행하기 위해 디자인된 ASIC(application specific integrated circuit), DSP(digital signal processing), PLD(programmable logic device), FPGA(field programmable gate array), 프로세서, 제어기, 마이크로 프로세서, 다른 전자 유닛 또는 이들의 조합으로 구현될 수 있다. 소프트웨어 구현에 있어, 상술한 기능을 수행하는 모듈로 구현될 수 있다. 소프트웨어는 메모리 유닛에 저장될 수 있고, 프로세서에 의해 실행된다. 메모리 유닛이나 프로세서는 당업자에게 잘 알려진 다양한 수단을 채용할 수 있다The term of the modules shown in Figs. 1 to 3 means a unit for processing at least one function or operation, which can be implemented by hardware, software, or a combination of hardware and software. (DSP), a programmable logic device (PLD), a field programmable gate array (FPGA), a processor, a controller, a microprocessor, and the like, which are designed to perform the above- , Other electronic units, or a combination thereof. In software implementation, it may be implemented as a module that performs the above-described functions. The software may be stored in a memory unit and executed by a processor. The memory unit or processor may employ various means well known to those skilled in the art
또한, 명세서에 기재된 용어 중 이해를 위해 설명하면 제로데이 공격(zero day attack)이란 운영체제(OS)나 네트워크 장비 등 핵심 시스템의 보안 취약점이 발견된 뒤 이를 막을 수 있는 패치가 발표되기도 전에 그 취약점을 이용한 악성코드나 해킹공격을 감행하는 수법을 말한다.In addition, the term "zero day attack" refers to a vulnerability of a core system, such as an operating system (OS) or a network device, before a patch is issued to prevent the vulnerability. It refers to the method of using malicious code or hacking attack.
또한, 다운로드 실행(Drive by Download)이란 웹 서버를 이용한 악성코드 침투 방법을 말한다. 특정 홈 페이지를 운영하는 웹 서버에 악성코드를 심어서, 이 홈페이지에 방문만 해도 악성코드가 PC에 다운로드되어 설치되고 실행되는 방법이다. In addition, "Drive by Download" refers to a malicious code infiltration method using a web server. A malicious code is planted on a web server running a specific home page, and the malicious code is downloaded to the PC and installed and executed only by visiting this homepage.
100: 고속 악성 웹 사이트 탐지 시스템
110: 도메인 저장 관리 모듈
120: 브라우저 로딩 모듈
130: DLL((Dynamic Linking Library) 인젝션 모듈
140: API(application programming interface) 후킹 모듈
150: 탐지 모니터링 모듈
160: 탐지 정보 수집 모듈
170: DB(Database) 관리 모듈
170: 데이터베이스
180: 대쉬 보드 및 관리 모듈100: High-Speed Malicious Website Detection System
110: Domain storage management module
120: Browser loading module
130: DLL (Dynamic Linking Library) injection module
140: application programming interface (API) hooking module
150: detection monitoring module
160: Detection information collection module
170: DB (Database) management module
170: Database
180: Dashboard and Management Module
Claims (12)
상기 도메인 정보를 수집하고 실제 다중 브라우저를 통해 접속하도록 상기 실제 다중 브라우저를 로딩하는 역할을 수행하는 브라우저 로딩 모듈;
로딩되는 상기 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 악성 행위 감시용 DLL(Dynamic Linking Library) 파일 인젝션 모듈;
인젝션된 상기 DLL 파일안에서 악성행위를 모니터링하기 위해 인젝션된 다중 브라우저를 통해 요청되는 API(application programming interface) 함수를 식별하고 동작시키는 API 후킹 모듈;
API 후킹을 통해 사전에 정의된 특정 감시대상 API가 요청되는지 모니터링하여 악성 파일 여부를 판단하는 탐지 모니터링 모듈;
악성으로 판단된 프로세스들의 정보를 로깅하여 로그 정보를 수집하는 탐지정보 수집 모듈;
상기 로그 정보를 데이터베이스에 저장 관리하는 DB 관리 모듈; 및
상기 데이터베이스의 로그 정보를 이용하여 악성 도메인의 위험수준을 시각화하는 대쉬보드및 관리 모듈;을 포함하여 구성되며,
상기 API 후킹 모듈은 상기 실제 다중 브라우저가 로딩되면서 해당 웹사이트의 웹페이지에 숨어있는 악성코드로부터 발생되는 악성행위를 모니터링하고,
API 후킹 정보가 로딩되는 다중 실제 브라우저마다 API를 후킹하고 종료할시 언후킹을 통해 정상종료되도록 수행하여 악성 페이지로부터 정상 페이지로 분류되며,
상기 API 후킹 모듈은 DLL 인젝션을 통해 브라우저로 연결된 DLL 파일 내에 API 후킹 정보를 삽입하여 다중 실제 브라우저로 로딩되는 악성 웹페이지의 행위를 감시하기 위해, 악성웹페이지가 요청하는 API를 리스트하고,
상기 DLL 파일은 상기 실제 다중 브라우저의 코드 수정 없이 별도의 악성행위를 모니터링 하기 위한 별도의 DLL 파일이고,
상기 모니터링은 특정 주소를 변조함으로써 공격자가 심어놓은 악성 웹페이지가 특정 악성행위를 위해 요청하는 API 함수를 중간에 가로채어 이루어지는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
A domain storage management module for managing domain information to be detected and distributing the information through a queue server;
A browser loading module for collecting the domain information and loading the actual multiple browsers to connect through actual multiple browsers;
A dynamic linking library (DLL) file injection module for monitoring malicious activity through the actual multiple browsers loaded;
An API hooking module for identifying and operating an application programming interface (API) function requested through multiple injected multiple browsers to monitor malicious activity in the injected DLL file;
A detection monitoring module for monitoring whether predetermined specific monitoring target APIs are requested through API hooking to determine whether malicious files are requested;
A detection information collection module for collecting log information by logging information of processes judged to be malicious;
A DB management module for storing and managing the log information in a database; And
And a dashboard and management module for visualizing a risk level of a malicious domain using log information of the database,
The API hooking module monitors malicious activity generated from malicious code hidden in a web page of a corresponding web site while the actual multiple browsers are loaded,
API hooking is performed for multiple real browsers that load API hooking information, and normal termination is performed through dead hooking for termination, so that malicious pages are classified as normal pages,
The API hooking module lists APIs requested by malicious web pages in order to monitor malicious web page loads that are loaded into multiple real browsers by inserting API hooking information into a DLL file connected through a browser through DLL injection,
The DLL file is a separate DLL file for monitoring a malicious behavior without modifying the code of the actual multiple browsers,
Wherein the monitoring is performed by intercepting an API function requested by a malicious web page planted by an attacker for a specific malicious behavior by modifying a specific address in the middle.
상기 도메인 정보는 후보군 도메인, URL(uniform resource locator)을 포함하는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
The method according to claim 1,
Wherein the domain information includes a candidate domain and a uniform resource locator (URL).
상기 도메인 수집 모듈은 로컬 디렉토리에 CONFIG 파일을 저장하며, 상기 CONFIG 파일내에는 대상이 되는 큐서버 및 큐네임 정보가 포함되어, 상기 큐서버 및 큐네임 정보를 바탕으로 상기 브라우저 로딩 모듈의 요청에 따라 상기 도메인 정보를 분배하는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
3. The method of claim 2,
The domain collection module stores a CONFIG file in a local directory. The CONFIG file includes a queue server and queue name information to be targeted. Based on the queue server and the queue name information, And distributing the domain information to the malicious web site.
상기 API 후킹을 위해서 특정 주소가 코드 패치(CODE PATCH)되는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
The method according to claim 1,
And a specific address is code-patched to hook up the API. The multi-server, multi-browser based high-speed malicious website detection system according to claim 1,
상기 탐지 모니터링 모듈은 악성행위가 발생할 시 총체적인 현상을 보고 악성으로 판단하며, 상기 악성 행위는 응용 프로그램 로딩, 파일 생성, 레지스트리 변경, 다른 네트워크 포트 오픈, 잘사용되지 않는 포트의 연결성, 코맨드라인(cmdline을 통한 명령어 실행 중 어느 하나인 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
The method according to claim 1,
The detection and monitoring module judges maliciousness as a malicious behavior when a malicious action occurs. The malicious action includes application program loading, file creation, registry change, other network port opening, connection of a port that is not used well, Wherein the malicious web site is a malicious web site.
상기 탐지 정보 수집 모듈은 상기 로그 정보를 수집하기 위해 로컬 폴더를 생성하고 시간별, 행위별, 파일별, 링크별 정보를 수집하는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
The method according to claim 1,
Wherein the detection information collection module generates a local folder for collecting the log information, and collects information by time, action, file, and link, based on multiple servers and multiple browsers.
상기 DB 관리 모듈은 상기 로그 정보를 생성된 프로세스 ID를 시간별로 톱-다운(TOP-DOWN) 형태로 이력관리하고 해당 프로세스에 의해 생성된 로그 정보를 시간기반으로 저장된 형태인 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
The method according to claim 1,
Wherein the DB management module is configured to manage the history of the log information in a TOP-DOWN manner in accordance with the generated process ID, and to store the log information generated by the process in a time-based manner. , A multi-browser based high-speed malicious website detection system.
상기 도메인 저장 관리 모듈은 해당 후보군 도메인을 관리 페이지를 통해 등록 여부를 수행하는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
3. The method of claim 2,
Wherein the domain storage management module performs registration of the candidate domain through a management page.
상기 탐지 모니터링 모듈은 상기 API 후킹으로부터 수집되는 로그 정보에 대해 악성여부를 판단하기 위해, 특정 대기시간 동안 악성행위의 발생여부를 판단하며, 접속 후보군 도메인의 비정상 연결 상태에 대해 빠르게 종료하는 역할을 제공하는 것을 특징을 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템.
3. The method of claim 2,
The detection and monitoring module determines whether a malicious action has occurred during a specific waiting time to determine whether the log information collected from the API hooking is malicious or not, and plays a role of terminating an abnormal connection state of a connection candidate domain quickly Based multi-server, multi-browser based high-speed malicious website detection system.
브라우저 로딩 모듈이 상기 도메인 정보를 수집하고 실제 다중 브라우저를 통해 접속하도록 상기 실제 다중 브라우저를 로딩하는 역할을 수행하는 단계;
DLL(Dynamic Linking Library) 인젝션 모듈이 로딩되는 상기 실제 다중 브라우저를 통해 악성행위를 모니터링 하기 위한 초기작업을 위해 상기 실제 다중 브라우저로 악성 행위 감시용 DLL 파일을 인젝션하는 단계;
API(application programming interface) 후킹 모듈이 인젝션된 상기 DLL 파일안에서 악성행위를 모니터링하기 위한 API를 식별하고 동작시키는 API 후킹을 수행하는 단계;
탐지 모니터링 모듈이 API 후킹을 통해 해당 API가 요청되는지 모니터링하여 사전에 정의된 특정 악성 파일의 탐지 여부에 따라 악성으로 판단하는 단계;
탐지정보 수집 모듈이 악성으로 판단된 프로세스들의 정보를 로깅하여 로그 정보를 수집하는 단계;
DB 관리 모듈이 상기 로그 정보를 데이터베이스에 저장 관리하는 단계; 및
대쉬보드및 관리 모듈이 상기 데이터베이스의 로그 정보를 이용하여 악성 도메인의 위험수준을 시각화하는 단계;를 포함하여 구성되며,
상기 API 후킹 모듈은 상기 실제 다중 브라우저가 로딩되면서 해당 웹사이트의 웹페이지에 숨어있는 악성코드로부터 발생되는 악성행위를 모니터링하고,
API 후킹 정보가 로딩되는 다중 실제 브라우저마다 API를 후킹하고 종료할시 언후킹을 통해 정상종료되도록 수행하여 악성 페이지로부터 정상 페이지로 분류되며,
상기 API 후킹 모듈은 DLL 인젝션을 통해 브라우저로 연결된 DLL 파일 내에 API 후킹 정보를 삽입하여 다중 실제 브라우저로 로딩되는 악성 웹페이지의 행위를 감시하기 위해, 악성웹페이지가 요청하는 API를 리스트하고,
상기 DLL 파일은 상기 실제 다중 브라우저의 코드 수정 없이 별도의 악성행위를 모니터링 하기 위한 별도의 DLL 파일이고,
상기 모니터링은 특정 주소를 변조함으로써 공격자가 심어놓은 악성 웹페이지가 특정 악성행위를 위해 요청하는 API 함수를 중간에 가로채어 이루어지는 것을 특징으로 하는 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 방법.
Managing the domain information to be detected by the domain storage management module and distributing the domain information through the queue server;
Performing a role of the browser loading module to collect the domain information and load the actual multiple browsers to access through actual multiple browsers;
Injecting a malicious activity monitoring DLL file into the actual multiple browser for an initial task for monitoring malicious activity through the actual multiple browsers loaded with a dynamic linking library (DLL) module;
Performing API hooking for identifying and operating an API for monitoring malicious behavior in the DLL file in which an application programming interface (API) hooking module is injected;
Monitoring whether the detection monitoring module is requesting the API through API hooking, and judging the malicious file according to whether a predetermined malicious file is detected;
Collecting log information by logging information of processes judged to be malicious by the detection information collection module;
Storing and managing the log information in the database by the DB management module; And
And dashboard and management module visualizing the risk level of malicious domain using log information of the database,
The API hooking module monitors malicious activity generated from malicious code hidden in a web page of a corresponding web site while the actual multiple browsers are loaded,
API hooking is performed for multiple real browsers that load API hooking information, and normal termination is performed through dead hooking for termination, so that malicious pages are classified as normal pages,
The API hooking module lists APIs requested by malicious web pages in order to monitor malicious web page loads that are loaded into multiple real browsers by inserting API hooking information into a DLL file connected through a browser through DLL injection,
The DLL file is a separate DLL file for monitoring a malicious behavior without modifying the code of the actual multiple browsers,
Wherein the monitoring is performed by intercepting an API function requested by a malicious web page planted by an attacker for a specific malicious behavior by modifying a specific address in the middle.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170027548A KR101781780B1 (en) | 2017-03-03 | 2017-03-03 | System and Method for detecting malicious websites fast based multi-server, multi browser |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170027548A KR101781780B1 (en) | 2017-03-03 | 2017-03-03 | System and Method for detecting malicious websites fast based multi-server, multi browser |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101781780B1 true KR101781780B1 (en) | 2017-10-23 |
Family
ID=60298704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170027548A Expired - Fee Related KR101781780B1 (en) | 2017-03-03 | 2017-03-03 | System and Method for detecting malicious websites fast based multi-server, multi browser |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101781780B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102006232B1 (en) * | 2018-12-18 | 2019-08-01 | 한국인터넷진흥원 | Method and apparatus for detecting a device abnormality symptom through comprehensive analysis of a plurality of pieces of device information |
CN114513359A (en) * | 2022-02-16 | 2022-05-17 | 北京仁信证科技有限公司 | An end-to-end protected web page tamper-proof system |
EP4024248A1 (en) * | 2020-12-30 | 2022-07-06 | Acronis International GmbH | Systems and methods for preventing injections of malicious processes in software |
CN115834150A (en) * | 2022-11-04 | 2023-03-21 | 杭州安恒信息技术股份有限公司 | A security detection method, device, electronic equipment and storage medium |
CN118860837A (en) * | 2024-09-27 | 2024-10-29 | 杭州领信数科信息技术有限公司 | Method and system for acquiring data based on browser logs |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101589652B1 (en) * | 2015-01-19 | 2016-01-28 | 한국인터넷진흥원 | System and method for detecting and inquiring metamorphic malignant code based on action |
-
2017
- 2017-03-03 KR KR1020170027548A patent/KR101781780B1/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101589652B1 (en) * | 2015-01-19 | 2016-01-28 | 한국인터넷진흥원 | System and method for detecting and inquiring metamorphic malignant code based on action |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102006232B1 (en) * | 2018-12-18 | 2019-08-01 | 한국인터넷진흥원 | Method and apparatus for detecting a device abnormality symptom through comprehensive analysis of a plurality of pieces of device information |
US11336671B2 (en) | 2018-12-18 | 2022-05-17 | Korea Internet & Security Agency | Method and apparatus for detecting anomaly in a plurality of devices by collectively analyzing information on devices |
EP4024248A1 (en) * | 2020-12-30 | 2022-07-06 | Acronis International GmbH | Systems and methods for preventing injections of malicious processes in software |
CN114513359A (en) * | 2022-02-16 | 2022-05-17 | 北京仁信证科技有限公司 | An end-to-end protected web page tamper-proof system |
CN115834150A (en) * | 2022-11-04 | 2023-03-21 | 杭州安恒信息技术股份有限公司 | A security detection method, device, electronic equipment and storage medium |
CN118860837A (en) * | 2024-09-27 | 2024-10-29 | 杭州领信数科信息技术有限公司 | Method and system for acquiring data based on browser logs |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728274B2 (en) | Method and system for injecting javascript into a web page | |
US9596255B2 (en) | Honey monkey network exploration | |
US9531752B2 (en) | Detection of spyware threats within virtual machines | |
KR101781780B1 (en) | System and Method for detecting malicious websites fast based multi-server, multi browser | |
US10284575B2 (en) | Launcher for setting analysis environment variations for malware detection | |
EP2486507B1 (en) | Malware detection by application monitoring | |
CN107209831B (en) | System and method for identifying network attacks | |
KR101442654B1 (en) | Systems and methods for behavioral sandboxing | |
US7865953B1 (en) | Methods and arrangement for active malicious web pages discovery | |
US8667583B2 (en) | Collecting and analyzing malware data | |
US9531734B2 (en) | Method and apparatus for intercepting or cleaning-up plugins | |
US8176556B1 (en) | Methods and systems for tracing web-based attacks | |
EP2701092A1 (en) | Method for identifying malicious executables | |
CN103384888A (en) | Systems and methods for malware detection and scanning | |
CN106548075B (en) | Vulnerability detection method and device | |
EP3547121B1 (en) | Combining device, combining method and combining program | |
CN111177727A (en) | Vulnerability detection method and device | |
CN116340943A (en) | Application program protection method, device, equipment, storage medium and program product | |
KR101803225B1 (en) | System and Method for detecting malicious websites at high speed based multi-server, multi-docker | |
JP6169497B2 (en) | Connection destination information determination device, connection destination information determination method, and program | |
US11763004B1 (en) | System and method for bootkit detection | |
KR20210076455A (en) | Method and apparatus for automated verifying of xss attack | |
KR20200110268A (en) | Method and apparatus for blocking web page attack | |
JP2017168146A (en) | Connection destination information determination device, connection destination information determination method, and program | |
Andriatsimandefitra et al. | Information flow policies vs malware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
AMND | Amendment | ||
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |
|
AMND | Amendment | ||
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
PX0901 | Re-examination |
St.27 status event code: A-2-3-E10-E12-rex-PX0901 |
|
PX0701 | Decision of registration after re-examination |
St.27 status event code: A-3-4-F10-F13-rex-PX0701 |
|
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20240920 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20240920 |