KR101070184B1 - System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device - Google Patents

System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device Download PDF

Info

Publication number
KR101070184B1
KR101070184B1 KR1020110016483A KR20110016483A KR101070184B1 KR 101070184 B1 KR101070184 B1 KR 101070184B1 KR 1020110016483 A KR1020110016483 A KR 1020110016483A KR 20110016483 A KR20110016483 A KR 20110016483A KR 101070184 B1 KR101070184 B1 KR 101070184B1
Authority
KR
South Korea
Prior art keywords
information
file
malicious code
analysis
site
Prior art date
Application number
KR1020110016483A
Other languages
Korean (ko)
Inventor
손동식
Original Assignee
주식회사 윈스테크넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 윈스테크넷 filed Critical 주식회사 윈스테크넷
Priority to KR1020110016483A priority Critical patent/KR101070184B1/en
Application granted granted Critical
Publication of KR101070184B1 publication Critical patent/KR101070184B1/en

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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 Multi-Thread Site-Crawler를 이용한 악성코드 자동수집, 자동분석 엔진과 보안장비 연동을 통한 악성코드 접근차단 시스템 구축 및 그 방법에 관한 것으로, 보다 상세하게는 Site-Crawler로 확보된 Web 파일에서 외부유알아이 추출, 외부유알아이와의 링크부분을 수집한 후 예외 처리되지 않은 외부 주소에 대한 추적과 자동 수집기에 의한 악성코드 의심 샘플 확보, 고도화된 자동 분석기로 분석된 악성코드 분석결과를 통해 보안장비에서 사용 가능하도록 보안장비와의 연동 형태의 시그니처를 추출 등의 과정이 함께 수행되도록 구성됨으로써, 보안장비에 의해 보호받는 일반 사용자들에게 악성코드의 접근을 원천 차단하도록 마련되는 것이다.
이를 위하여 Multi-Thread Site-Crawling 엔진, Selective Fuzzer, 샘플 자동 수집기, 샘플 자동 분석기, 보안장비 연동 엔진과 데이터 저장소로 Domain Database(Domain DB), Sub Domain Database(Sub Domain DB), External URI Database(External URI DB), Exception URI Database(Exception URI DB), Malware Database(Malware DB), 악성코드 Database(악성코드 DB), 시그니처 Database(시그니처 DB) 등이 구성되는 것이다.
The present invention relates to a malicious code access collection system using a multi-thread site-crawler, to a malicious code access blocking system through the automatic analysis engine and security equipment interworking, and more specifically, to a web file secured by a site-crawler After extracting the external ugly eye, collecting the link part with the external ugly eye, tracking the unexcepted external address, securing the suspected malicious code sample by the automatic collector, and analyzing the malware analyzed by the advanced automatic analyzer The process of extracting the signature of the interworking form with the security equipment is performed together so that the security equipment can be used, so that the general users protected by the security equipment are blocked to access malware.
For this, Multi-Thread Site-Crawling Engine, Selective Fuzzer, Sample Auto Collector, Sample Auto Analyzer, Security Device Interlock Engine and Data Repository, Domain Database (Domain DB), Sub Domain Database (Sub Domain DB), External URI Database (External) URI DB), Exception URI Database (Exception URI DB), Malware Database (Malware DB), Malware Database (Malware DB), Signature Database (Signature DB).

Description

멀티스레드 사이트 크롤러를 이용한 악성코드 자동수집, 자동분석시스템과 보안장비 연동을 통한 악성코드접근차단시스템 및 방법{SYSTEM AND METHOD FOR BLOCKING EXECUTION OF MALICIOUS CODE BY AUTOMATICALLY CRAWLING AND ANALYZING MALICIOUS CODE THROUGH MULTI-THREAD SITE-CRAWLER, AND BY INTERWORKING WITH NETWORK SECURITY DEVICE}SYSTEM AND METHOD FOR BLOCKING EXECUTION OF MALICIOUS CODE BY AUTOMATICALLY CRAWLING AND ANALYZING MALICIOUS CODE THROUGH MULTI-THREAD SITE- CRAWLER, AND BY INTERWORKING WITH NETWORK SECURITY DEVICE}

본 발명은 DDoS 숙주 및 악성코드 유포지에 대해 빠르고 정확하게 탐지하여, 실시간으로 유포되는 악성코드에 대한 유포지 관리, 빠른 수집 및 정확한 분석 등이 가능하도록 하는 악성코드접근차단시스템에 관한 것으로, 보다 상세하게는 인터넷망에 존재하는 Domain을 대상으로 하는 실시간 Crawling 으로 DDoS 숙주 및 악성코드 유포지에 대한 신속한 탐지 및 빠른 악성코드 샘플 확보, 그리고 자동분석 엔진에 의한 분석 등이 가능하도록 하고, 이를 통하여 보안장비와 연동 가능한 시그니처 추출 및 실시간 업데이트로 일반 사용자의 악성코드 노출을 원천적으로 차단할 수 있는 발명이다. 또한 Site - Crawler와 Select Fuzzer 등을 이용하여 정밀하게 악성코드 배포 경로를 추적하여 최종 악성코드를 찾아내는 엔진을 구성한 것으로, 시스템 차원에서 수많은 Web Site 관리하여 기존 유포지 탐지 시스템의 한계를 극복하고, Multi-Threading 방식을 사용하여 탐지의 고속화를 실현함으로써 대량의 Web-Site를 대상으로 점검을 수행할 수 있게 하는 발명이다.
The present invention relates to a malicious code access blocking system that enables fast and accurate detection of DDoS hosts and malware distribution sites, and enables distribution management, rapid collection, and accurate analysis of malicious codes spread in real time. Real-time crawling for domains existing on the Internet network enables quick detection of DDoS hosts and malicious code distribution sites, rapid acquisition of malicious code samples, and analysis by automatic analysis engines, which enables interoperability with security equipment. By extracting signatures and updating in real time, it is an invention that can fundamentally block the malicious code exposure of general users. In addition, it is an engine that finds the final malicious code by precisely tracking the distribution path of malware using Site-Crawler and Select Fuzzer.It manages numerous web sites at the system level, overcoming the limitations of the existing distribution site detection system, and multi- It is an invention that makes it possible to check a large amount of Web-Site by realizing the speed of detection by using the threading method.

인터넷이 보편화되고, 사람들 생활의 중심이 Off-Line에서 On-Line으로 이동하면서 정보보안에 대한 문제가 강조되고 있다. 여기에 Smart Phone의 확산과 Wireless-LAN의 활발한 보급, 3G망 등으로 국내 생활의 인터넷의존도는 걷잡을 수 없이 커지고 있으며, 지하철, 광장 등의 공공장소에서 흔히 볼 수 있듯이 대다수의 사람들이 On-line에서 시간을 보내고 있다.As the Internet becomes more common and the center of people's lives moves from off-line to on-line, the issue of information security is being emphasized. In addition, with the spread of smart phones, the active spread of Wireless-LAN, and 3G networks, the Internet's dependence on domestic life is growing wildly, and as is commonly seen in public places such as subways and squares, most people are on-line. I'm spending time.

생활의 중심에 인터넷이 들어서면서 가시적이고, 생활 밀접한 서비스가 가능한 WWW 서비스는 빠른 속도로 여러 가지의 Contents가 제공되었다. 악성코드를 개발, 배포하는 악의적인 공격자에게 이처럼 보편화된 WWW 은 무엇보다도 효율적이고 쉽게 악성코드를 배포할 수 있는 좋은 수단이 된다.As the Internet entered the center of life, the WWW service, which provides visible and life-friendly services, provided various contents at a rapid rate. For the malicious attacker who develops and distributes the malicious code, this universal WWW is a good means of distributing the malware efficiently and easily.

인터넷이 보급되기 시작한 초기에는 공개자료실에서 악의적인 프로그램을 정상적인 상용 프로그램으로 속여 사용자의 로컬 컴퓨터에서 실행하도록 유도하는 기초적인 Social Engineering 방식이 대부분이었다. 하지만 최근에는 실제 운영되고 있는 Web 페이지에, 공격자가 점유한 또 다른 서버에 Upload되어 있는 악성코드와 Link로써 연결되도록 하는 <iframe>, <script> 소스의 데이터가 삽입되는 방식으로 위-변조시킨 뒤, 정상적으로 Web Site를 사용하는 일반사용자들이 해당 페이지에 접근할 경우 자동적으로 감염시키는 진화된 방식이 사용되고 있다. 이에 그치지 않고 2차, 3차, 4차에 걸쳐 경로가 연결되도록 서버 경유형태를 통한 악성코드 유포 방법 또한 사용되고 있다.In the early days of the Internet's spread, most of the basic social engineering methods in the public archives tricked malicious programs into normal commercial programs and executed on the user's local computer. Recently, however, forgeries are made by inserting data from <iframe> and <script> sources that link to malicious code uploaded to another server occupied by the attacker and linked to the actual web page. In other words, an evolved method is used to automatically infect normal users who access the Web site normally. In addition, the method of distributing malicious code through the form of server via the server so that the path is connected in the 2nd, 3rd, and 4th steps is also used.

이러한 방식으로 수많은 일반 사용자가 쉽게 악성코드에 감염될 수 있으며, 잠재적으로 제2의 1.25인터넷 대란, 7.7 DDoS 대란의 위협에 노출되어 있다고 할 수 있다.In this way, a large number of casual users can easily be infected with malicious code, and potentially exposed to the threat of the second 1.25 Internet and 7.7 DDoS attacks.

앞서 언급한 바와 같이 제기된 시대적 상황을 배경으로 보안전문회사, 공공기관에서는 많은 노력을 하고 있지만, 일반 사용자가 네트워크 상에 전파되는 위협에 자유로울 수 없는 이유는 Web이라는 매체가 가지는 다양한 편의성 때문이며, 이 다양한 편의성은 악의적인 공격자에게 있어서 보면 어디서든지 자신이 만든 악성코드를 유포시킬 수 있다는 편의성으로도 이어진다.As mentioned above, security firms and public organizations have made a lot of efforts in the background of the times raised, but the reason why general users cannot be free from threats spreading on the network is because of the convenience of the medium of the web. Various conveniences lead to the convenience that malicious malicious attackers can distribute their own malware anywhere.

이와 같은 상황에서 효과적으로 Web 상에 존재하는 악성코드를 탐지해 내기 위해서는 결국 모든 Web Site의 정보를 대상으로 한 악성코드 탐지/분석이 필요하며, 단절되지 않은 외국의 Web Site로의 Link 정보까지 추출하여 해당 Web Site에 존재하는 악성코드까지 탐지/분석할 수 있는 시스템이 필요하다. 하지만 국내 존재하는 도메인은 약 180만개( '.kr'을 사용하는 도메인을 기준으로 한 추정치)로, 일반적인 방법을 통해 이곳에 존재하는 악성코드를 탐지하는 것은 상당히 어려운 작업이 될 수 있다.
In this situation, in order to effectively detect malicious code existing on the web, it is necessary to detect / analyze the malicious code targeting all web site information, and even extract link information to an unbroken foreign web site. There is a need for a system that can detect / analyze malicious codes existing on Web sites. However, there are about 1.8 million domains in Korea (an estimate based on domains using '.kr'), and it can be a very difficult task to detect malwares that exist here through common methods.

상기와 같은 문제점을 해소하기 위한 본 발명은 고성능 Multi-Thread Site-Crawling 엔진을 사용하여 국내도메인( '.kr' )(필요한 경우 ".com" 을 비롯한 외국 도메인도 포함)에 대한 Site-Crawling으로 Web Site에 존재하는 파일을 1차 분석하고, 해당 Web Site에 외부 Link가 존재할 경우 이를 추적-분석하여 악성으로 판단되는 경우 해당 파일을 다운로드 하여 2차 분석하여 빠르고 정확한 분석이 이루어지도록 하는 목적이 있다.The present invention for solving the above problems is to use the high-performance Multi-Thread Site-Crawling engine Site-Crawling for domestic domain ('.kr') (including foreign domains including ".com", if necessary) The primary purpose is to analyze files existing on the web site first and track and analyze the presence of external links in the web site. .

그리고 빠르고 정확한 분석으로 악성코드 의심파일을 다운로드 한 뒤, 해당 파일의 검사를 위해 보안장비가 인식 가능한 시그니처를 추출한 뒤, 해당 시그니처를 보안장비와 연동될 수 있도록 하는 것으로, 결과적으로 사용자의 해당 악성코드 접근을 원천적으로 차단하는 시스템 설계와 구축을 목적으로 한다.
After downloading suspected malware files by fast and accurate analysis, it extracts the signatures that can be recognized by the security device for the inspection of the file, and then enables the signatures to be linked with the security device. The objective is to design and build a system that blocks access natively.

상기와 같은 목적을 달성하기 위한 본 발명은, 대상 웹사이트의 서브도메인에 대한 정보와, 대상 웹사이트 또는 서브도메인에 기재된 외부유알아이에 대한 정보가 추출되어 저장되도록 구비되는 멀티스레드사이트크롤링엔진부(20, Multi-thread Site Crawling Engine)와, 상기 멀티스레드사이트크롤링엔진부(20)에 의해 추출되어 저장된 정보를 가져오고, 정보를 분석하여 외부유알아이가 존재하는지 여부를 계속해서 분석하여 분석된 외부유알아이 경유지에 대한 Site정보가 저장되도록 구비되어, 외부유알아이에 대한 정보를 분석하게 되는 사이트트레이서(30)와, 상기 사이트트레이서(30)에 의해 분석된 해당 웹사이트 또는 외부유알아이의 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 분석하며, 파일 다운로드의 다운로드 URI 정보가 저장되도록 하는 셀렉티브퍼저(40)와, 상기 셀렉티브퍼저(40)에 의해 분석된 파일 다운로드 경로 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하되 악성코드 의심파일의 해쉬값을 계산하여 해쉬값의 데이터가 존재하는지 검사하여 해당 해쉬값의 데이터가 존재하는가 여부로 중복 분석 여부를 판별하며, 중복 분석되지 않아 분석되어야 할 악성코드 의심파일을 자동 선별하고, 분석 대상인 악성코드 의심파일의 경유지정보가 포함된 정보가 저장되도록 하는 샘플자동수집기(50)와, 대상 Web Site, 서브 도메인 또는 상이(相異) 도메인에 포함된 악성코드 의심파일 정보에 대해 악성코드 동적 분석과정을 통하여 동적 분석 된 정보 및 동적 분석 중 발생된 오류정보가 저장되도록 구비되는 자동동적분석엔진(60)과, 상기 자동동적분석엔진(60)을 통하여 동적 분석 된 악성코드 의심파일에 대한 동적 분석정보를 전송 받아 악성코드 의심파일에 대해 보안장비(75)와 연동 가능한 악성코드 의심파일에 대한 시그니처 정보가 추출되도록 하는 보안장비연동엔진부(70)가 포함되어 구비되고, 상기 상이 도메인은 대상 웹사이트 또는 서브도메인과 다른 주소를 갖는 도메인으로 구비되는 것을 특징으로 하는 악성코드접근차단시스템이 제공된다.
The present invention for achieving the above object, the multi-threaded site crawling engine unit is provided so that the information on the sub-domain of the target website, and the information on the external URL described in the target website or sub-domain is extracted and stored. (20, Multi-thread Site Crawling Engine) and the information extracted and stored by the multi-threaded site crawling engine unit 20, and by analyzing the information to continuously analyze whether or not there is an external eye The site tracer 30 is provided to store the site information on the external UL eye waypoint, and analyzes the information on the external UL eye, and the corresponding website analyzed by the site tracer 30 or the web of the external UL eye. Cell that analyzes the file to see if the file download path exists and allows the download URI information of the file download to be stored. The file download path malicious code suspected by the fuzzer 40 and the selective fuzzer 40 are downloaded as the corresponding download URI information, and the downloaded malicious code suspected file is analyzed, but the hash value of the malicious code suspected file is analyzed. Calculate and check whether the data of hash value exists and determine whether or not to duplicate analysis based on the existence of the data of the hash value, Automatic screening for malicious code suspect files to be analyzed without duplicate analysis, and suspected malicious code files The sample automatic collector 50 allows the information including the waypoint information to be stored and the malicious code suspicious file information included in the target web site, subdomain, or different domains to be dynamically analyzed. An automatic dynamic analysis engine (60) provided to store the analyzed information and the error information generated during the dynamic analysis; By receiving the dynamic analysis information about the suspicious file that has been dynamically analyzed through the automatic dynamic analysis engine (60), the signature information on the suspicious file that can be linked to the security equipment (75) can be extracted for the suspicious file. The security equipment interlocking engine unit 70 is included, and the different domain is provided with a malware access blocking system, characterized in that the domain having a different address from the target website or subdomain.

이에 본 발명은, 상기 멀티스레드사이트크롤링엔진부(20)는, 인터넷으로 연결되는 대상 웹사이트의 사이트구조정보를 추출하는 사이트구조정보추출부(21)와, 대상 웹사이트에 대해 추출된 사이트구조정보 중에서 서브 도메인 정보를 검색하는 서브도메인검색부(22)와, 대상 웹사이트 또는 서브 도메인을 대상으로 하여 검색된 도메인 중에 정상 유알아이 정보로 저장되어 있는 외부유알아이의 정보는 익셉션유알아이저장부(153)에 저장되도록 하고 익셉션유알아이저장부(153)에 저장되지 않은 경우에는 익스터널유알아이저장부(154)에 저장되도록 하는 유알아이디텍션엔진부(23, URI Detection Engine)가 포함되고, 상기 정상 유알아이 정보는, 이미 알려져 검증된 정상의 광고나 정상의 포털 주소로 알려진 유알아이의 정보, 이미 여러 번 안정되게 사용된 유알아이의 정보가 포함되며, 대상 웹사이트의 서브도메인에 대한 정보, 그리고 대상 웹사이트 또는 서브도메인에 기재된 외부유알아이에 대한 정보가 추출되어 저장되도록 구비되는 것을 특징으로 하는 악성코드접근차단시스템이 제공된다.
Accordingly, the present invention, the multi-threaded site crawling engine unit 20, the site structure information extraction unit 21 for extracting the site structure information of the target website connected to the Internet, and the site structure extracted for the target website The information of the subdomain search unit 22 for searching the subdomain information among the information, and the external URL information stored as the normal URL information in the domain searched for the target website or the subdomain are stored in the exception UID storage unit ( 153, and if not stored in the exception U eye storage unit 153, a U ID detection engine unit 23, which is stored in the external U eye storage unit 154, includes the URI detection engine, The information of the normal eye is information of the eye known as the normal advertisement or the normal portal address that has been known and verified, and the eye that has been used stably for several times. Information on the sub-domain of the target website, and the information about the external URL described in the target website or sub-domain is provided to extract and store a malware access blocking system is provided. .

또한 본 발명은, 상기 사이트구조정보추출부(21)에서 추출된 대상 웹사이트의 사이트구조정보가 저장되는 웹파일저장부(151, Web file DB)와, 상기 서브도메인검색부(22)에서 검색된 서브 도메인 정보가 저장되는 서브도메인저장부(152, Sub Domain DB)와, 상기 유알아이디텍션엔진부(23)에 의하여 상기 정상 유알아이 정보를 갖는 외부유알아이 정보가 저장되는 익셉션유알아이저장부(153, Exception URI DB)와, 상기 유알아이디텍션엔진부(23)에 의하여 상기 익셉션유알아이저장부(153)에 정보가 존재하지 않는 외부유알아이 정보가 저장되는 익스터널유알아이저장부(154, External URI DB)가 포함되어 구비되는 것을 특징으로 하는 악성코드접근차단시스템이 제공된다.
In addition, the present invention, the web file storage unit 151 (Web file DB) for storing the site structure information of the target website extracted from the site structure information extraction unit 21 and the sub-domain search unit 22 retrieved An exceptional Ul eye storage unit for storing external domain eye information having the normal U eye information by the sub domain storage unit 152 (Sub Domain DB) storing sub domain information and the U ID detection engine unit 23 ( 153, an Exception URI DB), and an external UD storage unit 154 for storing external UD information without information in the exception UD storage unit 153 by the UD identification engine unit 23; External URI DB) is provided that includes a malicious code access blocking system.

그리고 본 발명은, 상기 사이트트레이서(30)에 의해 분석된 해당 웹 파일에 기재된 외부유알아이 경유지에 대한 Site정보가 저장되는 악성코드유포경유지저장부(155)가 구비되고, 상기 셀렉티브퍼저(40)는, 상기 사이트트레이서(30)에 의해 분석된 해당 웹사이트 또는 외부유알아이의 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 판별하며, 파일 다운로드 경로에 대한 파일의 다운로드 URI 정보가 저장되도록 하는 웹파일분석기(41)가 구비되어, 악성코드인지 여부를 판별할 대상인 악성코드 의심파일에 대한 다운로드 URI 정보가 분석되도록 구비되며, 상기 셀렉티브퍼저(40)에 의해 분석된 악성코드 의심파일에 대한 다운로드 URI 정보가 저장되도록 하는 다운로드저장부(156, Download DB)가 구비되고, 상기 샘플자동수집기(50)는, 상기 셀렉티브퍼저(40)에 의해 분석되어 저장된 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하되 악성코드 의심파일의 해쉬값을 계산하여 해쉬값의 데이터가 존재하는지 검사하여 해당 해쉬값의 데이터가 존재하는가 여부로 중복 분석된 파일인지 여부를 판별하며, 분석되지 않은 악성코드 의심파일일 경우에는 해당 파일에 대한 경로 정보, 다운로드 정보, MD5 해쉬값이 포함된 샘플 분석정보가 분석되도록 구비되며, 상기 샘플자동수집기(50)에 의해 분석된 악성코드 의심파일의 분석정보가 저장되는 악성코드저장부(157)가 구비되고, 상기 보안장비연동엔진부(70)에 의해 악성코드 의심파일에 대한 시그니처 정보를 전송 받아 저장되도록 하는 시그니처저장부(159)가 구비되는 것을 특징으로 하는 악성코드접근차단시스템이 제공된다.
And the present invention is provided with a malicious code distribution route storage unit 155 for storing the site information for the external WIA waypoint described in the web file analyzed by the site tracer 30, the selective fuzzer 40 The web file is analyzed by the site tracer 30 to determine whether a file download path exists by analyzing a web file of the web site or an external URL, and the web file for storing the download URI information of the file for the file download path. Analyzer 41 is provided, and is provided so that the download URI information for the suspected malicious code file to determine whether the malicious code is analyzed, the download URI information for the malicious code suspect file analyzed by the selective fuzzer 40 Is provided with a download storage unit (156, Download DB) for storing the, the sample automatic collector 50, the selective fuzzer 40 Download the malicious code suspect file analyzed and stored as the corresponding download URI information and analyze the downloaded malicious code suspect file, calculate the hash value of the malicious code suspect file and check whether the data of the hash value exists and check the data of the hash value. Whether the file is duplicated or not, and if the file is suspected of malicious code analysis, path analysis information, download information, and sample analysis information including the MD5 hash value of the file are analyzed. The malicious code storage unit 157 is provided for storing the analysis information of the suspected malicious code file analyzed by the sample automatic collector 50, and the signature for the suspected malicious file by the security device interlocking engine 70 At the time of blocking access to malicious code, the signature storage unit 159 is provided to receive and store information. The system is provided.

이에 더하여 본 발명은, 상기 자동동적분석엔진(60)은, 상기 샘플자동수집기(50)로부터 악성코드 의심파일에 대한 정보를 제공받아 가상분석이 가능한 가상화분석시스템매니저(62) 측으로 데이터가 전송되도록 하며, 분석이 완료된 악성코드 의심파일에 대한 분석정보를 가상화분석시스템매니저(62)로부터 제공받아 아날리시스저장부(158)에 저장되도록 하는 분석엔진마스터(61)와, 상기 분석엔진마스터(61)로부터 악성코드 의심파일에 대한 정보를 전달받아 하나 또는 복수 개의 분석에이전트(63)로 전송되도록 하고, 분석에이전트(63)로부터 악성코드 의심파일에 대한 동적 분석정보를 전송 받아 분석엔진마스터(61) 측으로 전송하는 가상화분석시스템매니저(62)와, 상기 가상화분석시스템매니저(62)로부터 악성코드 의심파일에 대한 정보를 제공받고, 해당 악성코드 의심파일에 대한 동적 분석을 수행하며, 동적 분석과정 중에 오류 발생에 대한 정보와 함께 동적 분석정보를 가상화분석시스템매니저(62) 측으로 전송하는 하나 또는 복수 개의 분석에이전트(63)가 포함되어, 대상 Web Site, 서브 도메인 또는 상이(相異) 도메인에 포함된 악성코드 의심파일 정보에 대해 동적 분석 된 정보 및 분석 중 발생된 오류정보가 저장되도록 구비되고, 상기 자동동적분석엔진(60)으로부터 악성코드 의심파일에 대한 동적 분석정보가 전송되어 저장되는 아날라시스저장부(158)가 구비되는 것을 특징으로 하는 악성코드접근차단시스템이 제공된다.
In addition, the present invention, the automatic dynamic analysis engine 60 receives the information on the malicious code suspect file from the sample automatic collector 50 so that the data is transmitted to the virtual analysis system manager 62, which can be virtually analyzed. And, the analysis engine master 61 for receiving the analysis information on the suspected malicious code file has been analyzed from the virtualization analysis system manager 62 and stored in the analysis system 158, and the analysis engine master (61) Receives information on the malicious code suspicious file from) to be transmitted to one or a plurality of analysis agents (63), and receives the analysis information of the malicious code suspect files from the analysis agent (63) Analysis Engine Master (61) The virtualization analysis system manager 62 to be transmitted to the side, and the information on the malicious code suspect file is received from the virtualization analysis system manager 62, Dynamic analysis is performed on the suspicious code file, and includes one or more analysis agents 63 for transmitting dynamic analysis information to the virtualization analysis system manager 62 along with information on an error during the dynamic analysis process. It is provided to store the dynamic analysis information and error information generated during the analysis of the malicious code suspicious file information included in the target Web Site, sub-domain or different domains, and malicious from the automatic dynamic analysis engine 60 A malicious code access blocking system is provided, characterized in that an analytic storage unit 158 is provided in which dynamic analysis information about a code suspicious file is transmitted and stored.

나아가 본 발명은, 악성코드접근차단시스템(10)의 멀티스레드사이트크롤링엔진부(20)에서, 인터넷(11)으로 연결되는 대상 웹사이트(13)의 서브도메인에 대한 정보와, 대상 웹사이트 또는 서브도메인에 기재된 외부유알아이에 대한 정보를 추출하고, 추출된 상기 정보를 멀티스레드사이트크롤링엔진부(20)에서 데이터베이스(15)에 저장되도록 구비되는 멀티스레드사이트크롤링단계(S01); 상기 멀티스레드사이트크롤링단계(S01)에 의해 추출되어 저장된 정보를 사이트트레이서(30)에서 가져오고, 정보를 분석하여 다른 외부유알아이가 존재하는지 여부를 계속해서 분석하여 분석된 외부유알아이 경유지에 대한 Site정보가 데이터베이스(15)에 저장되도록 구비되어, 사이트트레이서(30)에 의하여 외부유알아이에 대한 정보를 분석하게 되는 외부유알아이경유지정보분석단계(S02); 상기 외부유알아이경유지정보분석단계(S02)에 의해 분석된 해당 웹사이트 또는 외부유알아이의 Web파일의 정보를 셀렉티브퍼저(40)에서 가져와 분석하여 파일의 다운로드 경로가 존재하는지 분석하며, 파일 다운로드의 다운로드 URI 정보가 데이터베이스(15)에 저장되도록 하는 악성코드의심파일유알아이정보분석단계(S03); 상기 악성코드의심파일유알아이정보분석단계(S03)에 의해 분석된 파일 다운로드 경로 및 파일 다운로드의 악성코드 의심파일에 대한 정보를 샘플자동수집기(50)에서 가져오고, 샘플자동수집기(50)에 의해 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하되 악성코드 의심파일의 해쉬값을 계산하여 해쉬값의 데이터가 존재하는지 검사하여 해당 해쉬값의 데이터가 존재하는가 여부로 중복 분석을 판별하며, 악성코드 의심파일에 대한 경유지정보가 포함된 분석정보가 데이터베이스(15)에 저장되도록 하는 악성코드의심파일수집단계(S04); 상기 악성코드의심파일수집단계(S04)에 의해 분석된 분석정보가 자동동적분석엔진(60)에서 가져오고 상기 자동동적분석엔진(60)에 의해 대상 Web Site, 서브 도메인 또는 상이 도메인에 기재된 악성코드 의심파일의 정보에 대해 악성코드 동적 분석과정을 통하여 동적 분석된 정보 및 동적 분석 중 발생된 오류정보가 데이터베이스(15)에 저장되도록 구비되는 악성코드의심파일동적분석단계(S05); 상기 악성코드의심파일동적분석단계(S05)를 통하여 동적분석된 악성코드 의심파일에 대한 동적분석정보를 보안장비연동엔진부(70)에서 전송 받고, 보안장비연동엔진부(70)에서 악성코드 의심파일에 대해 보안장비(75)와 연동 가능한 악성코드 의심파일에 대한 시그니처 정보가 추출되도록 하는 보안장비연동시그니처추출단계(S06)가 포함되어 구비되고, 상기 상이 도메인은 대상 웹사이트 또는 서브도메인과 다른 주소를 갖는 도메인으로 구비되는 것을 특징으로 하는 악성코드접근차단방법이 제공된다.
Furthermore, the present invention, in the multi-threaded site crawling engine unit 20 of the malicious code access blocking system 10, the information on the sub-domain of the target website 13 connected to the Internet 11, the target website or A multi-threaded site crawling step (S01) configured to extract information about the external yul eye described in the subdomain, and store the extracted information in the database 15 in the multithreaded site crawling engine unit 20; The information extracted and stored by the multi-threaded site crawling step (S01) is taken from the site tracer 30, and the information is analyzed to continuously analyze whether or not there is another external eye. Site information is provided so as to be stored in the database 15, the external eye eye maintenance information analysis step (S02) to analyze the information about the external eye by the site tracer (30); Analyzing whether the download path of the file exists by analyzing the information of the corresponding website or the web file of the external UL eye analyzed by the external UL eye maintenance information analysis step (S02), and analyzing whether the file download path exists. A malicious code sim file U eye information analysis step of allowing the download URI information to be stored in the database 15 (S03); The file download path and the information about the suspected file of the malicious code of the file download analyzed by the malicious code sim file U eye information analysis step (S03) are taken from the sample automatic collector 50, and the sample automatic collector 50 is used. Download the suspected malicious code file as the relevant download URI information and analyze the suspected malicious code file, calculate the hash value of the suspected malicious code file and check whether the data of the hash value exists or not. Determining the duplicate analysis, and collecting the malicious code file of the malicious code (S04) so that the analysis information including the waypoint information about the malicious code suspect file is stored in the database 15; The analysis information analyzed by the malicious code core file collection step (S04) is taken from the automatic dynamic analysis engine 60, and the malicious code described in the target web site, sub domain, or different domain by the automatic dynamic analysis engine 60. Simultaneous dynamic file analysis step (S05) of the malicious code provided to be stored in the database 15, the dynamic analysis information and the error information generated during the dynamic analysis for the information of the suspicious file; Receive dynamic analysis information about the malicious code suspicious file dynamically analyzed through the malicious file sim file dynamic analysis step (S05), and suspect the malicious code in the security equipment interlocking engine unit 70 Security device interlocking signature extraction step (S06) is provided to extract the signature information on the suspected malicious code file that can be linked to the security device 75 for the file, the different domain is different from the target website or sub-domain Malicious code access blocking method is provided, characterized in that provided in the domain having the address.

상기와 같이 구성되는 본 발명은 사실상 잠재적으로 모든 악성코드에 노출되어 있는 사용자가 인터넷상에 존재하는 악성코드에 접근하기 이전에 악성코드 정보를 미리 감지-분석하여 보안장비를 통해 이를 사전에 차단하도록 하는 탁월한 효과가 있다.The present invention, which is configured as described above, detects and analyzes malicious code information in advance before accessing malicious code existing on the Internet, which is potentially exposed to all malicious codes, and blocks them through security equipment in advance. Has an excellent effect.

단순 악성코드 유포지 분석 시스템은 Client에서 Web Site 접속 시도 전에 해당 Site에 대해서만 악성코드 존재유무를 파악하여 Client 자원을 보호하게 되는 것으로, 운영측면에서의 Site 관리에는 적절한 시스템이 될 수 없다. 또한 Client별 개별 설치 형태로 악성코드 접속여부를 관리하기 때문에 여러 Web Site에 대한 전사적인 관리가 어렵고, Client 별로 Web Site에 존재하는 악성코드 존재 유무를 파악해야 하기 때문에 Client 측에 부하가 생겨 악성코드 분석의 한계가 있는 단점이 있다.The simple malware distribution system analyzes the client's resources by detecting the presence of malicious code only for the relevant site before attempting to access the web site from the client. It cannot be a proper system for site management in terms of operation. In addition, since it manages access to malicious code in the form of individual installation for each client, it is difficult to manage the entire web site company-wide, and it is necessary to identify the existence of malicious code existing in the web site for each client. There are drawbacks to the limitations of the analysis.

단순 보안장비만을 통한 악성코드 탐지-차단을 악의적인 공격자에 의한 접속을 1차적인 차단 수단으로 본다면, 본 발명은 보안장비 설치 이전 시점, 혹은 보안장비가 탐지하지 못한 0-day 취약점으로 Web 서버 및 서브 도메인에 악성코드 의심파일이 존재하여, 일반사용자들에게 위협이 되는 상황에서의 2차적인 방어수단이 될 수 있는 것이다. 또한 기존의 보안장비와의 연동을 통해 추가적인 차단 정책까지 가능하게 되어 더욱 탄탄한 보안관리가 가능하게 된다.Detecting malware through simple security equipment only-When blocking is seen as a primary blocking means of access by a malicious attacker, the present invention provides a web server and a server with 0-day vulnerabilities that were not detected by the security equipment. Malware suspicious files exist in sub-domains, which can be a secondary defense in situations that threaten general users. In addition, by interlocking with existing security equipment, additional blocking policies are enabled, enabling more robust security management.

단순 시스템의 보안관리는 관리자, 사용자의 보안의식 등 주관적인 성향에 상당히 치중하는 경향이 많으나, 본 발명에 따른 자동화된 방식의 보안시스템으로 객관적인 보안관리와 전사적인 Site관리, 나아가 국가적인 위협으로 확산되는 DDoS 숙주로부터 예방차원의 접근 차단이 이뤄지도록 함으로써 제2의 7.7 인터넷 대란과 같은 위험상태를 예방할 수 있는 탁월한 효과가 있는 것이다.
Security management of a simple system tends to be heavily focused on subjective tendencies such as security awareness of administrators and users, but it is an automated security system according to the present invention, which is spread to objective security management, enterprise-wide site management, and even national threats. By preventing preventive access from DDoS hosts, there is an excellent effect of preventing dangerous conditions such as the second 7.7 Internet disruption.

도 1은 본 발명에 따른 악성코드접근차단시스템이 결합된 망구조의 예시도.
도 2는 본 발명에 따른 악성코드접근차단시스템이 결합된 상태에서의 전체 전개 흐름도.
도 3은 본 발명에 따른 악성코드접근차단시스템의 Site-Crawling Engine에 의한 흐름도.
도 4는 본 발명에 따른 악성코드접근차단시스템에 의해 외부 유알아이 정보가 추출되는 과정에 대한 흐름도.
도 5는 본 발명에 따른 악성코드접근차단시스템에서의 Site-Tracing, Selective Fuzzer에 대한 흐름도.
도 6은 본 발명에 따른 악성코드접근차단시스템에 의한 악성코드 의심파일의 자동수집 과정에 대한 흐름도.
도 7은 본 발명에 따른 악성코드접근차단시스템의 자동동적분석엔진에 대한 구성 예시도.
도 8은 본 발명에 따른 악성코드접근차단시스템의 분석엔진마스터에서의 작동에 대한 흐름도.
도 9는 본 발명에 따른 악성코드접근차단시스템의 분석엔진마스터에서의 분석결과의 처리에 대한 흐름도.
도 10은 본 발명에 따른 악성코드접근차단시스템에서의 가상화분석 에이전트에서의 동작에 대한 흐름도.
도 11은 본 발명에 따른 악성코드접근차단시스템의 보안장비연동엔진부에서의 시그니처추출 동작 흐름도.
도 12는 본 발명에 따른 악성코드접근차단시스템에 대한 전체 구성에 대한 예시도.
도 13은 본 발명에 따른 악성코드접근차단시스템에서의 전체 구성에 대한 순서도.
1 is an illustration of a network structure combined with a malicious code access blocking system according to the present invention.
Figure 2 is a flow chart of the entire deployment in a state combined with a malicious code access blocking system according to the present invention.
Figure 3 is a flow chart by the Site-Crawling Engine of the malware access blocking system according to the present invention.
Figure 4 is a flow chart for the process of extracting the external yul eye information by the malware access blocking system according to the present invention.
5 is a flow chart for Site-Tracing, Selective Fuzzer in the malware access blocking system according to the present invention.
Figure 6 is a flow chart for the automatic collection process of malicious code suspect files by the malware access blocking system according to the present invention.
7 is an exemplary configuration diagram for an automatic dynamic analysis engine of a malicious code access blocking system according to the present invention.
8 is a flow chart for the operation in the analysis engine master of the malware access blocking system according to the present invention.
Figure 9 is a flow chart for the processing of the analysis results in the analysis engine master of the malicious code access blocking system according to the present invention.
10 is a flow chart for the operation in the virtualization analysis agent in the malware access blocking system according to the present invention.
11 is a signature extraction operation flow diagram in the security equipment interlocking engine of the malicious code access blocking system according to the present invention.
Figure 12 is an illustration of the overall configuration for a malicious code access blocking system according to the present invention.
Figure 13 is a flow chart for the overall configuration in a malicious code access blocking system according to the present invention.

이하 첨부되는 도면을 참조하여 상세히 설명한다.
Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 도 1 내지 도 13등에 도시된 바와 같이, Multi-Thread Site-Crawler를 이용한 악성코드 자동수집, 자동분석 엔진과 보안장비 연동을 통한 악성코드 접근 차단 시스템 및 악성코드접근차단방법에 관한 것이다.1 to 13, the present invention relates to a malicious code automatic collection using a multi-thread site-crawler, a malicious code access blocking system and a malicious code access blocking method through an automatic analysis engine and security equipment interworking. .

이를 위하여 Multi-Thread Site-Crawling 엔진, Selective Fuzzer, 샘플 자동 수집기, 샘플 자동 분석기, 보안장비 연동 엔진과 데이터 저장소로 Domain Database(이하 Domain DB), Sub Domain Database(이하 Sub Domain DB), External URI Database(이하 External URI DB), Exception URI Database(이하 Exception URI DB), Malware Database(이하 Malware DB), 악성코드 Database(이하 악성코드 DB), 시그니처 Database(이하 시그니처 DB) 등이 구성될 수 있는 것이다.For this purpose, the Multi-Thread Site-Crawling Engine, Selective Fuzzer, Sample Auto Collector, Sample Auto Analyzer, Security Device Interlocking Engine and Data Repository, Domain Database (hereafter Domain DB), Sub Domain Database (hereafter Sub Domain DB), External URI Database (Hereinafter, referred to as External URI DB), Exception URI Database (hereinafter referred to as Exception URI DB), Malware Database (hereinafter referred to as Malware DB), Malware Database (hereinafter referred to as Malware DB), and Signature Database (hereinafter referred to as Signature DB).

이와 같이 마련되는 본 발명에 있어서, Multi-Thread Site-Crawler를 이용한 악성코드 자동수집, 자동분석 엔진과 보안장비 연동을 통한 악성코드 접근차단 시스템 구축 및 그 방법에 관한 것으로, Site-Crawler를 이용하여 도메인을 기준으로 한 지속적인 Site감시와 자동화된 수집기, 자동화된 분석기, 악성코드에 대한 시그니처 추출과 보안장비연동까지 가능한 전체적인 시스템을 구성한 것이다. 즉 Site-Crawler로 확보된 Web 파일에서 외부 유알아이 추출, 외부 유알아이와의 링크부분을 수집한 후 예외 처리되지 않은 외부 주소에 대한 추적과 자동 수집기에 의한 악성코드 의심 샘플 확보, 고도화된 자동 분석기로 분석된 악성코드 분석결과를 통해 보안장비에서 사용 가능하도록 보안장비와의 연동 형태의 시그니처를 추출 등의 과정이 함께 수행되도록 구성됨으로써, 보안장비에 의해 보호받는 일반 사용자들에게 악성코드의 접근을 원천 차단하도록 마련되는 것이다.
In the present invention prepared as described above, the present invention relates to a malicious code automatic collection system using a multi-thread site-crawler, an automatic analysis engine and a security device interworking system through a linkage with security equipment, and a method thereof. It consists of the entire system that enables continuous site monitoring based on domains, automated collectors, automated analyzers, signature extraction for malicious codes and interlocking of security equipment. In other words, after extracting external URL from web file secured by Site-Crawler, collecting link part with external URL, tracking trace of unexcepted external address and securing suspected malicious code sample by automatic collector, advanced automated analyzer Through the analysis of the malware analysis result, it is configured to perform the process of extracting the signature of the interworking form with the security device so that it can be used in the security device, thereby providing access to the malware to the general users protected by the security device. It is designed to block the source.

이러한 본 발명에서의 구성으로 '~부', '~엔진', '~engine', 또는 '~Database', '~DB', '데이터베이스', '저장부' 등으로 명명된 부재들은 데이터 처리 또는 저장을 위한 물리적인 부품구성, 처리장치의 구성, 논리적 처리의 구성, 프로세서의 구성, 제어흐름의 구성 등, 특정한 기능이나 동작을 처리하거나 저장을 위한 구성들을 의미하는 것으로, 이에 하드웨어적 구성, 소프트웨어적 구성 또는 하드웨어적 구성과 소프트웨어적 구성이 복합적으로 결합되는 구성 등, 다양한 상태의 구성으로 마련되어 실시될 수도 있으며, 어느 한 형태에 제한되어 해석될 수도 있지만 일반적인 전자정보통신 관련 분야의 일반적인 기술사항 내에서 적용되어 운영되고 실시될 수 있는 구성일 수 있다. 또한 이들 중 어느 하나 이상이 인터넷 또는 내부네트워크의 구성과 함께 마련될 경우에는, 각각의 구성들이 개별 서버로써 적용될 수도 있고, 개별 서버의 부속 부재들로 이루어질 수도 있으며, 나아가 서버 또는 서버와 관련된 물리적 구성 또는 이에 관련된 소프트웨어로써 구성되도록 마련될 수도 있을 것이며, 상기 구성들의 형태 또는 결합관계 등은 실시되는 상황에 알맞게 정하여질 수 있을 것이다.
In the present invention, the members named '~', '~ engine', '~ engine', or '~ Database', '~ DB', 'database', 'storage', etc. It refers to the components for processing or storing a specific function or operation such as physical component configuration for processing, configuration of processing apparatus, configuration of logical processing, configuration of processor, configuration of control flow, hardware configuration, software It may be provided and implemented in various state configurations, such as a compositional configuration or a combination of a hardware configuration and a software configuration, and may be interpreted as being limited to any one form. It may be a configuration that can be applied, operated and implemented in. In addition, when any one or more of these are provided together with the configuration of the Internet or the internal network, the respective configurations may be applied as individual servers, or may be made of individual members of individual servers, and further, physical configuration associated with the server or server. Or it may be provided to be configured as a software related to this, the form or combination of the components may be determined according to the situation to be implemented.

이와 같이 마련되는 본 발명에 따른 Multi-Thread Site-Crawler를 이용한 악성코드 자동수집, 자동분석 엔진과 보안장비 연동을 통한 악성코드접근차단시스템(10)에 대한 구성을 살펴보면 다음과 같다.Looking at the configuration of the malicious code access blocking system 10 through the automatic collection of malicious code using the Multi-Thread Site-Crawler, the automatic analysis engine and the security equipment in accordance with the present invention prepared as described above are as follows.

우선 대상 웹사이트(Web Site)와 관련된 서브 도메인(Sub Domain) 및 외부 유알아이(external URI)에 대한 정보가 추출되어 저장되도록 구비되는 멀티스레드사이트크롤링엔진부(20, Multi-thread Site Crawling Engine)가 마련될 수 있을 것이다.First, a multi-threaded site crawling engine 20 configured to extract and store information about a sub domain and an external URI related to a target web site. Could be prepared.

이러한 상기 멀티스레드사이트크롤링엔진부(20)에는, 인터넷(internet, 11)으로 연결되는 대상 웹사이트(Web Site)의 사이트구조정보를 추출하는 사이트구조정보추출부(21)(대상 웹사이트의 사이트구조 정보를 추출)와, 대상 웹사이트에 대해 추출된 사이트구조정보 중에서 서브 도메인(Sub Domain) 정보를 검색하는 서브도메인검색부(22)(대상 웹사이트에 대해 추출된 사이트 구조정보의 서브 도메인 검색)가 마련된다. 여기서 서브도메인에 대해 설명하면, 하나의 도메인으로 다수의 사이트를 운영할 수 있도록 사용되는 도메인과 관련된 서브도메인을 이르며, 그 예로, naver.com이라는 도메인에 대해서, 메일의 경우 mail.naver.com, 블로그 페이지의 경우 blog.naver.com 등으로 마련되고, 이에 mail과 blog 등이 naver.com의 서브 도메인이 될 것이다.The multi-threaded site crawling engine unit 20 includes a site structure information extracting unit 21 (a site of a target website) for extracting site structure information of a target website connected to the Internet 11. Extracting structure information) and a subdomain search unit 22 (subdomain search of extracted site structure information for the target website) for searching for sub domain information among the site structure information extracted for the target website; ) Is provided. Here, subdomains are referred to as subdomains related to domains used to operate multiple sites with one domain. For example, for a domain named naver.com, mail.naver.com, In the case of blog pages, blog.naver.com is prepared, and mail and blog will be subdomains of naver.com.

또한 대상 웹사이트 또는 서브 도메인을 대상으로 하여 검색된 도메인 중에 정상적인 외부 유알아이의 정보는 익셉션유알아이저장부(153, Exception URI DB)(신뢰할 수 있는 URI 정보 저장, 추후 외부 유알아이 정보가 이곳에 존재할 경우 대상에서 제외됨)에 저장되도록 하고 익셉션유알아이저장부(153)에 저장되지 않은 경우에는 익스터널유알아이저장부(154, External URI DB)(신뢰되지 않는 URI 정보 저장, 실제로 분석 대상이 될 URI 정보가 저장됨)에 저장되도록 하는 유알아이디텍션엔진부(23, URI Detection Engine)(페이지 내에 사용된 외부 유알아이 정보로 상대주소가 아닌 절대주소로 명시된 URI가 될 수 있음) 등이 구성될 수 있을 것이다.In addition, the information of the external external eye in the domain searched for the target website or the sub domain is stored in the exception U DB (153 URI DB) (reliable URI information storage, and the external external eye information may exist hereafter). If not stored in the exception U eye storage unit 153, the external U eye storage unit (154, External URI DB) (untrusted URI information storage, the URI to be actually analyzed The URI Detection Engine unit 23, which allows the information to be stored, may be configured as a URI detection engine (which may be a URI specified as an absolute address rather than a relative address as external UL eye information used in a page). There will be.

즉 멀티스레드사이트크롤링엔진부(20)에 의하여, 대상 웹사이트와 관련된 서브도메인 및 외부유알아이에 대한 웹 정보가 추출되어 저장되도록 구비되는 멀티스레드사이트크롤링단계(S01)가 수행되는 것이다.That is, the multi-threaded site crawling engine unit 20 performs a multi-threaded site crawling step (S01) provided to extract and store web information about the subdomain and the external UI related to the target website.

그리하여 대상 웹사이트와 관련된 서브도메인 및 외부유알아이에 대한 정보가 추출되어 저장되도록 구비되는 것이다.
Thus, the information on the subdomain and the external UI related to the target website is extracted and stored.

그리고 상기 사이트구조정보추출부(21)에서 추출된 대상 웹사이트의 사이트구조정보가 저장되는 웹파일저장부(151, Web file DB)와, 상기 서브도메인검색부(22)에서 검색된 서브 도메인 정보가 저장되는 서브도메인저장부(152, Sub Domain DB)(서브 도메인 정보가 저장됨)와, 상기 유알아이디텍션엔진부(23)에 의하여 정상적인 외부 유알아이 정보가 저장되는 익셉션유알아이저장부(153, Exception URI DB)와, 상기 유알아이디텍션엔진부(23)에 의하여 상기 익셉션유알아이저장부(153)에 정보가 존재하지 않는 외부 유알아이 정보가 저장되는 익스터널유알아이저장부(154, External URI DB)가 포함되어 구비될 수 있을 것이다.
The web file storage unit 151 (Web file DB) storing the site structure information of the target website extracted by the site structure information extracting unit 21 and the sub domain information retrieved by the sub domain search unit 22 are stored. Sub domain storage unit 152 (Sub Domain DB) (sub domain information is stored) to be stored, and the exception ID eye storage unit 153 for storing normal external UL eye information by the ID detection engine 23. Exception URI DB) and an external URI eye storage unit 154 for storing external UL eye information for which no information exists in the exception UL eye storage unit 153 by the UL ID engine 23. DB) may be included.

즉 인터넷(11)으로 연결되는 다수의 사용자(12, User)는 인터넷(11)으로 하나 또는 복수의 대상 웹사이트(13, Web Site)에 접속하여 원하는 자료를 얻고 자유롭게 사용할 수 있을 것이다.That is, a plurality of users 12 and users connected to the Internet 11 may access one or more target websites 13 and web sites through the Internet 11 to obtain desired materials and use them freely.

이러는 중에 일부 악의적인 사용자는 일부 이용하는 대상 웹사이트의 Web File 또는 웹사이트에 포함된 연동 파일 등에 악성코드 정보 또는 바이러스 정보, 이들 정보와 연동될 수 있도록 하는 URI 정보 등이 포함되도록 할 수 있을 것이다.In this case, some malicious users may include malicious code information or virus information, URI information for interworking with such information, etc., in a web file or a linked file included in a website.

따라서 본 발명에 의한 멀티스레드사이트크롤링엔진부(20)에서는 이들 악성코드 정보, 바이러스 정보 등과 관련될 우려가 있는 Web 정보, URI 정보 등을 추출하게 될 것이다.Therefore, the multi-threaded site crawling engine unit 20 according to the present invention will extract Web information, URI information, etc. that may be related to these malicious code information, virus information, and the like.

이에 멀티스레드사이트크롤링엔진부(20)의 사이트구조정보추출부(21)에서는 전체 검색 영역에 해당하는 범위의 Web Site 구조 정보를 추출하게 되는 것으로, 추출된 정보는 데이터베이스(15)의 웹파일저장부(151)에 저장될 것이다.The site structure information extracting unit 21 of the multi-threaded site crawling engine unit 20 extracts web site structure information of a range corresponding to the entire search area, and the extracted information is stored in a web file of the database 15. Will be stored in section 151.

그리고 웹파일저장부(151)에 저장된 Web Site 구조 정보 중에서 서브 Domain이 있는지 여부를 판별하여 해당 서브 Domain 정보를 서브도메인검색부(22)에서 검색하여 서브도메인저장부(152)에 저장하게 될 것이다.In addition, it is determined whether or not there is a sub domain among the Web site structure information stored in the web file storage unit 151, and the corresponding sub domain information is retrieved by the sub domain search unit 22 and stored in the sub domain storage unit 152. .

또한 대상 Web Site 또는 서브 도메인 등의 Site 정보 중에 대상 Web Site 또는 서브 도메인이 아닌 외부 유알아이 정보가 있는지 여부를 유알아이디텍션엔진부(23, URI Detection Engine)에서 추출하여 외부 유알아이 DB에 저장되도록 하는 것이다.In addition, whether or not the site information, such as the target web site or subdomain, contains external yul information other than the target web site or subdomain, the URI detection engine unit 23 extracts and stores the external yul eye DB. It is.

이에 유알아이디텍션엔진부(23)에서는 검색되는 외부 유알아이 정보 중에서 이미 알려져 검증된 정상의 광고나 포털 주소, 또는 이미 여러 번 안정되게 사용되었던 외부 유알아이 정보에 대해서는 정상 URI 정보가 저장되는 익셉션유알아이저장부(153, Exception URI DB)에 저장되도록 하는 것이다.In this case, the U-ID detection engine unit 23 receives exception URI for storing normal URI information about the known or verified normal advertisement or portal address among the external U-ID information searched or the external U-ID information that has been used stably several times. The storage unit 153 is to be stored in the exception URI DB.

반면 이처럼 정상 URI 정보라고 분별된 외부 유알아이 정보 이외의 외부 유알아이 정보는 다시 정상인지 여부를 판별해야 하기 때문에 이들의 외부 URI 정보는 별도로 익스터널유알아이저장부(154, External URI DB)에 저장되도록 함으로써, 이후의 과정에서 보다 심층적인 구조분석 또는 경로분석이 이루어질 수 있을 것이다.
On the other hand, since external ID information other than external ID information classified as normal URI information needs to be determined again, their external URI information is separately stored in the external URL information storage unit 154 (External URI DB). By doing so, a more in-depth structural analysis or path analysis may be performed in a later process.

다음으로 상기 멀티스레드사이트크롤링엔진부(20)에 의해 추출되어 저장된 정보를 가져오고, 정보를 분석하여 다른 외부 URI가 존재하는지 여부를 판별하여, 하위의 다른 URI에 대한 외부 URI를 계속해서 분석하여 분석된 외부 URI 경유지에 대한 Site정보가 저장되도록 구비되어, 외부 URI에 대한 경유지 정보를 분석하게 되는 사이트트레이서(30, Site Tracer)(Site - Crawler를 통해 추출된 Site 구조 및 link 정보를 기반으로 재귀적으로 추적하여 악성코드 유포지를 탐지해 내는 분석형 네비게이터로 될 수 있음)가 구비될 것이다.Next, by taking the information extracted and stored by the multi-threaded site crawling engine unit 20, and analyzing the information to determine whether there is another external URI, continue to analyze the external URI for the other URI of the lower Site tracer (30, Site Tracer) (Site-Crawler extracted from Site-Crawler) which is equipped to store the site information about the analyzed external URI waypoint, is recursed based on the site structure and link information. Can be an analytical navigator that tracks and detects malware distribution sites.

그리고 이러한 상기 사이트트레이서(30)에 의해 분석된 해당 웹 파일과 관련된 외부 URI 경유지에 대한 Site정보가 저장되는 악성코드유포경유지저장부(155)(최종 악성코드로 분석된 주소가 저장될 수 있고 추후 샘플 자동수집에 의해 사용될 수 있음)가 구비될 것이다.In addition, the malicious code distribution route storage unit 155 (Storage address analyzed as the final malicious code may be stored in the site information stored in the site information about the external URI waypoint associated with the web file analyzed by the site tracer 30, and later May be used by sample auto collection).

즉 멀티스레드사이트크롤링엔진부(20)에 따른 상기 멀티스레드사이트크롤링단계(S01)가 수행된 후, 사이트트레이서(30)에서는 추출된 저장정보를 가져오고, 정보를 분석하여 다른 외부 URI 경유지 정보가 존재하는지 여부를 판별하는 것으로, 하위의 다른 URI에 대한 외부 URI 경유지를 계속해서 분석하여 분석된 외부 URI 경유지에 대한 Site정보가 저장되도록 구비되어, 외부 URI에 대한 정보를 분석하게 되는 외부유알아이경유지정보분석단계(S02)가 수행되는 것이다.That is, after the multi-threaded site crawling step S01 according to the multi-threaded site crawling engine unit 20 is performed, the site tracer 30 retrieves the extracted stored information, analyzes the information, and provides other external URI waypoint information. In order to determine whether there exists, it is provided to store the site information on the analyzed external URI waypoint by continuously analyzing the external URI waypoints for the other URIs of the lower, and the external eyeeye waypoint that analyzes the information on the external URI. Information analysis step (S02) is to be performed.

그리하여 정상적으로 판별된 외부 URI 정보 이외의 것으로, 익스터널유알아이저장부(154)에 저장되어 분석이 필요한 외부 URI 정보에 대해서, 사이트트레이서(30, Site Tracer)에 의하여 해당 외부 URI 정보 중에서 외부의 다른 외부 URI 경유지 정보가 있는지 또는 파일의 다운로드 경유지 정보가 있는지 여부를 정밀 분석하게 되고, 하위로 연속되어 다운로드 경유지 정보 또는 외부 URI 경유지정보가 있는 경우에는 계속해서 해당 경유지 정보를 분석하게 되며, 분석된 파일의 다운로드 경로 정보인 파일의 URI 경유지정보가 악성코드유포경유지저장부(155)에 저장될 것이다.
Thus, for the external URI information that is stored in the external real eye storage unit 154 and needs analysis, other external URI information that is normally determined by the site tracer 30 is displayed. It analyzes whether there is external URI waypoint information or download waypoint information of a file, and if there is continuous download waypoint information or external URI waypoint information, it analyzes the waypoint information continuously. The URI waypoint information of the file which is the download path information of the file will be stored in the malware distribution waypoint storage unit 155.

다음으로 상기 외부유알아이경유지정보분석단계(S02)에 의해 분석된 해당 웹사이트 또는 외부 URI와 관련된 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 분석하며, 파일 다운로드의 다운로드 URI 정보가 저장되도록 하는 악성코드의심파일유알아이정보분석단계(S03)가 수행된다.Next, by analyzing the web file associated with the corresponding website or external URI analyzed by the external yul eye maintenance information analysis step (S02) and analyzes whether the file download path exists, malicious to allow the download URI information of the file download is stored Code suspicious file information analysis step (S03) is performed.

이를 위해 셀렉티브퍼저(40, Selective Fuzzer)가 구비될 수 있으며, 이러한 셀렉티브퍼저(40)에서는 상기 사이트트레이서(30)에 의해 분석된 해당 웹사이트와 웹 파일에 존재하는 해당 URI가 유효한지 분석하여 현재 유효한 URI 정보가 익스터널유알아이저장부에 저장되도록 구비될 수 있을 것이다.For this purpose, a selective fuzzer 40 may be provided. The selective fuzzer 40 analyzes whether the corresponding URI present in the website and the web file analyzed by the site tracer 30 is valid. Valid URI information may be provided to be stored in the external URL storage unit.

이에 본 발명에서 기재된 "정상", "유효", "신뢰" 등으로 적용되는 URI 정보는, 외부 URI 정보 중에서, 이미 알려져 검증된 정상의 광고나 정상의 포털 주소로 알려진 것고, 이미 여러 번 안정되게 사용되었던 외부 URI 정보에 대한 것을 이른다 할 것이다.In this regard, the URI information applied to "normal", "valid", "trust", etc. described in the present invention is known as a normal advertisement or a normal portal address that is already known and verified among the external URI information, and has been stabilized many times. This will lead to information about the external URI information used.

또는 외부 URI와 관련된 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 분석하며, 파일 다운로드의 다운로드 URI 정보가 저장되도록 구비될 수 있을 것이다. Alternatively, the web file associated with the external URI may be analyzed to determine whether a file download path exists, and the download URI information of the file download may be stored.

특히 이러한 상기 셀렉티브퍼저(40)는, 상기 사이트트레이서(30)에 의해 분석된 해당 웹사이트 또는 외부 URI와 관련된 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 판별하며, 파일 다운로드 경로에 대한 파일의 URI 정보가 익스터널유알아이저장부에 저장되도록 하는 웹파일분석기(41)가 구비되어, 악성코드인지 여부를 판별할 대상인 악성코드 의심파일에 대한 유효한 URI 정보가 분석되도록 구비될 수 있을 것이다.In particular, the selective fuzzer 40 analyzes a web file related to a corresponding website or an external URI analyzed by the site tracer 30 to determine whether a file download path exists and determines a file URI for a file download path. The web file analyzer 41 may be provided to allow the information to be stored in the external Ul storage unit, so that valid URI information about the suspected malicious code file to be determined as malicious code may be analyzed.

또한 상기 셀렉티브퍼저(40)에 의해 분석된 악성코드 의심파일에 대한 다운로드 URI 정보가 저장되도록 하는 다운로드저장부(156, Download DB)(악성코드 의심파일 경로 추적 정보 저장)가 구비될 것이다.In addition, a download storage unit 156 (download DB) (storage of malicious code suspicious file path tracking information) may be provided to store download URI information of the suspicious malicious code file analyzed by the selective fuzzer 40.

즉 익스터널유알아이저장부(154), 악성코드유포경유지저장부(155) 등에 저장된 외부 URI 정보에 따라 해당 Web 파일 정보를 가져온 다음에 다시 이러한 외부 URI의 Web 정보를 정밀 분석하게 되며, 특히 Online 분석기 등과 같은 웹파일분석기(41)(멀티스레드(Multi - thread) 형태로 각 Web 파일에 의심스러운 문자열, 코드 기반 하에 파일 다운로드 경로가 존재하는지 판단하여 해당 다운로드 경로를 다운로드저장부에 저장)를 통하여 의심스러운 문자열, 코드기반 하의 파일 다운로드 경로가 있는지 여부를 분석하여 분석해야 할 의심스러운 파일의 다운로드 경로인 File URI 정보를 다운로드저장부(156)에 저장하게 된다.
That is, the web file information is fetched according to the external URI information stored in the external U eye storage unit 154, the malicious code dissemination and maintenance storage unit 155, and then the web information of the external URI is precisely analyzed again. Through a web file analyzer 41 such as an analyzer (multi-threaded type), it determines whether a file download path exists under a suspicious string or code base in each web file and stores the download path in the download storage. The file URI information, which is the download path of the suspicious file to be analyzed by analyzing whether there is a suspicious string or a file download path under the code base, is stored in the download storage unit 156.

이처럼 악성코드 또는 보다 심층적으로 숨겨진 악성코드 유포지의 경로 등의 정보가 포함된 의심 파일들을 분석할 수 있는 기본적인 정보를 수집하여 저장하게 되며, 순차적인 과정에 의해 보다 심층적인 경로 분석이 이루어지며, 이에 따른 악성코드 의심파일을 다운로드 받도록 하고 다운로드 된 악성코드 의심파일을 분석하여 보안장비 호환 형태로 데이터 변환되며 또한 보안장비에 의한 악성코드 분석 등의 과정이 이루어질 수 있을 것이다.
In this way, basic information can be collected and stored to analyze suspicious files including information such as malicious code or the route of malicious code hidden more deeply.As a sequential process, more in-depth path analysis is performed. By downloading the suspected malicious code file and analyzing the downloaded malicious code suspect file, the data is converted into a security device compatible form, and the process of malware analysis by the security device may be performed.

우선 상기 악성코드의심파일유알아이정보분석단계(S03)에 의해 분석된 파일 다운로드 경로에 해당하는 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하여 중복 분석을 판별하며, 악성코드 의심파일에 대한 경유지정보가 포함된 분석정보가 저장되도록 하는 악성코드의심파일수집단계(S04)가 수행된다.First of all, the malicious code suspect file corresponding to the file download path analyzed in the malicious code suspicious file information analysis step (S03) is downloaded as the corresponding download URI information, and the downloaded malicious code suspect file is analyzed to determine duplicate analysis. In addition, the malicious code core file collection step (S04) is performed so that the analysis information including the waypoint information for the malicious code suspect file is stored.

이에 상기 셀렉티브퍼저(40)에 의해 분석된 파일 다운로드 경로 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일이 기 분석 되어진 파일인지 판별하여 중복을 피하며, 중복 분석되지 않아 분석되어야 할 악성코드 의심파일을 자동 선별하고, 분석 대상인 악성코드 의심파일의 경유지정보가 포함된 정보가 저장되도록 하는 샘플자동수집기(50)(해당 악성코드 샘플을 다운로드 받기까지 추적해온 경유지 정보, 악성코드 다운로드 URI, MD5 값 등을 저장)가 구비된다.Accordingly, the file download path malicious code analyzed by the selective fuzzer 40 is downloaded as the corresponding download URI information, and the downloaded malicious code suspect file is analyzed and the duplicate file is determined. Sample auto-collector (50) that automatically selects suspected malicious files to be analyzed and stores information including waypoint information of suspected malicious code files (pathway information and malicious information that has been tracked until the relevant malicious code samples are downloaded). Code download URI, MD5 value, and the like).

즉 이러한 상기 샘플자동수집기(50)는, 상기 셀렉티브퍼저(40)에 의해 분석되어 저장된 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고, 다운로드 된 악성코드 의심파일을 분석하여, 중복 분석된 파일인지 여부를 판별하게 된다. 이에 분석되지 않은 악성코드 의심파일일 경우에는 해당 파일에 대한 경로 정보, 다운로드 정보, MD5 해쉬값이 포함된 샘플 분석정보가 저장되도록 구비된다.That is, the sample automatic collector 50 downloads the malicious code suspect file analyzed and stored by the selective fuzzer 40 as the corresponding download URI information, analyzes the downloaded malicious code suspect file, and duplicates the analyzed file. It is determined whether or not. If the suspected malicious code file is not analyzed, sample analysis information including path information, download information, and MD5 hash value for the file is stored.

그리고 상기 샘플자동수집기(50)에 의해 분석된 악성코드 의심파일의 샘플 분석정보가 저장되는 악성코드저장부(157)가 구비되는 것이다.
The malicious code storage unit 157 is provided to store sample analysis information of the malicious code suspect file analyzed by the sample automatic collector 50.

이와 같이 상기에서처럼 분석되어 정밀분석이 필요한 악성코드 의심파일이 중복검색여부 판별과정을 거친 후, 대상 Web Site, 서브 도메인 또는 상이(相異) 도메인(대상 웹 사이트 또는 서브도메인과 다른 주소를 갖는 도메인)과 관련된 악성코드 의심파일 정보에 대해 악성코드 동적 분석과정을 통하여 동적 분석된 정보 및 분석 중 발생된 오류정보가 저장되도록 구비되는 자동동적분석엔진(60)(동적분석과정을 통해 분석된 정보 및 로그 저장)이 마련되는 것이다.As described above, after the malicious code suspect file that needs to be analyzed precisely is subjected to a duplicate search determination process, a target web site, subdomain or different domain (domain having a different address from the target web site or subdomain). Automatic dynamic analysis engine (60) (the information analyzed through the dynamic analysis process, which is provided to store the dynamic analysis information and error information generated during the analysis through the malicious code dynamic analysis process for the malicious code suspicious file information) Log storage).

즉 대상 Web Site, 서브 도메인 또는 상이(相異) 도메인과 관련된 악성코드 의심파일 정보에 대해 악성코드 동적 분석과정을 통하여 동적 분석된 정보 및 분석 중 발생된 오류정보가 저장되도록 구비되는 악성코드의심파일동적분석단계(S05)가 수행된다. 이에 상이(相異) 도메인의 경우, 해당 웹사이트에 외부 Link가 존재할 경우 이를 추적 및 분석하여 악성코드의 파일이 존재하는 것으로 판단될 경우 해당 파일을 다운로드 하여 재귀적으로 분석하게 된다. 그리고 악성코드의심파일동적분석단계(S05)에 있어서, 기 분석된 파일들과의 유사도 검사 후에 실제적인 동적 분석으로 정밀 분석하는 과정으로 수행될 수 있을 것이다.In other words, the malicious code suspicious file is provided to store the dynamic analysis information and error information generated during the analysis of the malicious code suspicious file information related to the target web site, sub domain, or different domains. Dynamic analysis step (S05) is performed. In the case of different domains, if there is an external link on the website, it is tracked and analyzed, and if it is determined that a malicious code file exists, the file is downloaded and analyzed recursively. In the step S05 of malicious code dynamic analysis, the similarity with the previously analyzed files may be performed by a precise analysis by actual dynamic analysis.

이러한 상기 자동동적분석엔진(60)에는, 상기 샘플자동수집기(50)로부터 악성코드 의심파일에 대한 정보를 제공받아 자동동적분석을 실제로 수행하는 분석에이전트와 분석에이전트에서 분석이 완료된 악성코드 의심파일에 대한 분석정보를 가상화분석시스템매니저(62)로부터 제공받아 아날리시스저장부(158)(악성코드 의심파일에 대한 동적 분석된 분석정보 저장)에 저장되도록 하는 분석엔진마스터(61)(가상화분석시스템매니저에게 제공받은 분석정보를 저장하도록 아날리시스저장부에 전달)가 구비된다.The automatic dynamic analysis engine 60 receives information on the malicious code suspect file from the sample automatic collector 50, and analyzes the malicious code suspect file that has been analyzed by the analysis agent and the analysis agent. The analysis engine master 61 (virtualization analysis system) for receiving the analysis information from the virtualization analysis system manager 62 and storing the analysis information in the analysis system 158 (storing the dynamic analysis information of the suspected malicious code file). It is provided to the analytics storage unit to store the analysis information provided from the manager.

또한 상기 분석엔진마스터(61)로부터 악성코드 의심파일을 전달받아 하나 또는 복수 개의 분석에이전트(63, Agent)(가상화분석시스템매니저에 악성코드 의심파일에 대한 동적 분석정보를 전송)로 전송되도록 하고, 분석에이전트(63)로부터 악성코드 의심파일에 대한 동적 분석정보를 전송 받아 분석엔진마스터(61) 측으로 전송하는 중간자역할의 가상화분석시스템매니저(62)가 구비된다.In addition, the malicious code suspect file is received from the analysis engine master 61 so as to be transmitted to one or more analysis agents 63 (transmitting dynamic analysis information about the malicious code suspect file to the virtualization analysis system manager). A virtual analysis system manager 62 having an intermediate role that receives dynamic analysis information about a malicious code suspicious file from the analysis agent 63 and transmits the analysis information to the analysis engine master 61 is provided.

그리하여 대상 Web Site, 서브 도메인 또는 상이(相異) 도메인(대상 웹사이트 또는 서브도메인과 다른 주소를 갖는 도메인) 등과 관련된 악성코드 의심파일에 대해 자동동적분석엔진(60)으로부터 동적 분석된 정보 및 분석 중 발생된 오류정보가 아날리시스저장부(158)에 저장되도록 구비되는 것이다.Thus, information and analysis dynamically analyzed from the automatic dynamic analysis engine 60 for malicious file suspicious files related to the target web site, subdomain or different domains (domains having a different address from the target website or subdomain). The generated error information is provided to be stored in the analytic storage unit 158.

즉 많은 검색 대상인 복수의 악성코드 의심파일에 대해서, 복수의 분석이 가능하도록 하는 개별 분석에이전트(Agent, 63)가 마련되는 것으로, 이러한 Agent(63)에서는 해당 파일이 악성코드 유포의 능력, 또는 기능이 포함되었는지 여부를 판별하게 되고, 판별된 악성코드 의심파일을 분류하여 이후의 보안장비에 의해 악성코드 여부를 정밀 분석하게 될 것이다.That is, for a plurality of malicious code suspect files that are many search targets, an individual analysis agent (Agent) 63 is provided to enable a plurality of analyzes. In such an agent 63, the file is capable of distributing malicious code or functions. It will be determined whether or not included, and classified the suspected malicious code files will be analyzed by the security equipment afterwards whether the malicious code.

이처럼 많은 양의 악성코드 의심파일이 복수의 개별 Agent에 분배되도록 하기 위하여 가상화분석시스템매니저(62)가 마련되는 것으로, 가상화분석시스템매니저(62)에서는 복수의 개별 Agent 중에서 분석이 완료된 Agent를 탐지하여 악성코드 의심파일에 대한 정보를 전송하게 된다. 또한 분석이 완료된 악성코드 의심파일의 분석 정보는 다시 분석엔진마스터(61)로 전송하게 되고, 분석엔진마스터(61)에서는 분석된 데이터를 Analysis DB로 전송하게 된다. 실제로 악성코드 파일 내에는 다양하게 변형시킨 형태의 악성코드가 대부분 난독화되어 심어져 있기 때문에, 이를 다양한 방식으로 역난독화하는 과정, 역난독화된 파일 내용을 분석하여 악성코드 또는 바이러스 의심 여부 부분을 추출하게 되고, 이렇게 추출된 동적 분석데이터를 이후의 과정에서는 보안장비에서 처리 가능하도록 하는 보안장비 연동을 위한 시그니처를 추출하게 될 것이다.
In order to distribute such a large amount of suspected malicious files to a plurality of individual agents, a virtualization analysis system manager 62 is provided. The virtualization analysis system manager 62 detects an agent whose analysis is completed among a plurality of individual agents. Information about the suspected malware file will be sent. In addition, the analysis information of the suspected malware file that has been analyzed is transmitted to the analysis engine master 61 again, and the analysis engine master 61 transmits the analyzed data to the analysis DB. In fact, since various modified forms of malicious codes are mostly obfuscated and planted in the malicious code file, the process of de-obfuscating them in various ways and analyzing the contents of the de-obfuscated files to determine whether they are suspected of malware or viruses Then, the extracted dynamic analysis data will be extracted the signature for interworking security equipment that can be processed by the security equipment in the subsequent process.

이에 상기 자동동적분석엔진(60)을 통하여 분석된 악성코드 의심파일에 대한 분석정보를 전송 받아 악성코드 의심파일에 대해 보안장비(75)와 연동 가능한 악성코드 의심파일에 대한 시그니처 정보가 추출되도록 하는 보안장비연동엔진부(70)가 구비되는 것이다.Accordingly, by receiving the analysis information on the suspected malicious code file analyzed through the automatic dynamic analysis engine 60, the signature information on the suspected malicious code file interoperable with the security equipment 75 is extracted for the suspected malicious code file. The security equipment interlocking engine unit 70 is provided.

그리고 상기 보안장비연동엔진부(70)에 의해 악성코드 의심파일에 대한 시그니처 정보를 전송 받아 저장되도록 하는 시그니처저장부(159)가 구비되는 것이다.Then, the signature storage unit 159 is provided to receive and store the signature information on the suspected malicious code file by the security device interlocking engine unit 70.

즉 상기 악성코드의심파일동적분석단계(S05)를 통하여 분석된 악성코드 의심파일에 대한 분석정보를 전송 받아 악성코드 의심파일에 대해 보안장비(75)와 연동 가능한 악성코드 의심파일에 대한 시그니처 정보가 추출되도록 하는 보안장비연동시그니처추출단계(S06)가 수행된다.In other words, the signature information on the suspected malicious code file that can be linked with the security device 75 is received by receiving analysis information on the suspected malicious code file analyzed through the malicious code SIM file dynamic analysis step (S05). Security equipment interlocking signature extraction step (S06) to be extracted is performed.

그리하여 보안장비연동엔진부(70)를 통하여 추출된 시그니처 정보는 이후의 일반적인 보안장비(75)를 통하여 악성코드 여부 및 악성코드일 경우에는 해당 악성코드에 알맞은 탐지차단이 수행될 수 있도록 하는 등, 일반적인 악성코드 처리 과정이 수행되는 것이다.
Thus, the signature information extracted through the security equipment interlocking engine unit 70 is used to detect whether or not the malicious code through the general security equipment 75, so that the detection block suitable for the malicious code can be performed. General malware processing is performed.

이와 같이 마련되는 본 발명에 따른 멀티스레드사이트크롤러(Multi-Thread Site-Crawler)를 이용한 악성코드 자동수집, 자동분석 엔진과 보안장비 연동을 통한 악성코드접근차단시스템(10) 및 악성코드접근차단방법에 대해서, 첨부된 도 1 내지 도 13 등을 참조하여, 실시 가능한 바람직한 실시예의 구성 및 바람직한 구현 방법에 대해서 하기와 같이 살펴보기로 한다.
The malware access blocking system 10 and the malware access blocking method through the automatic collection of malware using the multi-thread site crawler according to the present invention, an automatic analysis engine, and a security device are interlocked according to the present invention. With respect to, with reference to the accompanying Figures 1 to 13, it will be described as follows for the configuration and preferred implementation method of the preferred embodiment possible.

첨부된 도 1은 본 발명에 따른 악성코드접근차단시스템(10)에 대한 전반적인 시스템 구성에 대한 개략적인 도면이며, 도 12는 발명에 따른 악성코드접근차단시스템(10)의 제어 구성도이고, 도 13은 악성코드접근차단 방법에 대한 순서도를 도시한 것이다. 그리고 도 2는 본 발명에 대한 데이터 처리 흐름에 있어서 전체 구성에 대한 순서를 도시한 것이다.Attached Figure 1 is a schematic diagram of the overall system configuration of the malware access blocking system 10 according to the present invention, Figure 12 is a control block diagram of the malware access blocking system 10 according to the invention, Figure 13 shows a flow chart of the malware blocking method. And FIG. 2 shows the order of the entire configuration in the data processing flow of the present invention.

이러한 본 발명에 따른 악성코드접근차단시스템(10)은, 인터넷(11)으로 연결되는 구성으로, 고성능 Multi-Thread Site-Crawling 엔진, Selective Fuzzer 및 Site-Trace, 샘플 자동 수집기, 샘플 자동분석기, 보안장비 연동 엔진 등으로 구성될 수 있을 것이다.The malware access blocking system 10 according to the present invention is a configuration connected to the Internet 11, a high-performance Multi-Thread Site-Crawling engine, Selective Fuzzer and Site-Trace, sample automatic collector, sample automatic analyzer, security It may be configured as an equipment interlocking engine.

이에 Multi - Thread Site - Crawler는 검색사이트에서 사용되는 엔진으로 인터넷상에 존재하는 웹문서들을 추적하여 필요한 정보를 수집하는 기술이고, Selective Fuzzer는 사이트트레이서가 유효한 악성코드 유포경로를 추적할 수 있게 확정하는 기능을 갖는 것이다.Multi-Thread Site-Crawler is an engine used in search sites, and it is a technology that collects necessary information by tracking web documents existing on the Internet, and Selective Fuzzer is a site tracer that can track a valid malware distribution path. It is to have a function.

또한 Site - Tracing(Site - Trace)는 Site - Crawler를 통해 추출된 Site 구조 및 link 정보를 기반으로, 재귀적으로 악성코드 유포지를 추적하여 최종 악성코드 유포지를 추적하는 과정에 대한 기능을 갖는 것이다.In addition, Site-Tracing (Site-Trace) has the function of tracking the final malware distribution site by recursively tracking the distribution of malicious code based on the site structure and link information extracted through Site-Crawler.

그리고 Multi-Thread Site Crawling 엔진에서 가공된 자료는 Selective Fuzzer에서 심화 분석하게 되고, 심화분석 결과 악성코드로 판별될 경우에는 해당 악성코드의 최종 위치까지 추적하여(Site Tracer) 해당 파일을 다운로드 하게 된다.The data processed by the Multi-Thread Site Crawling engine is further analyzed by Selective Fuzzer, and when it is determined as a malicious code as a result of the deep analysis, the trace file is downloaded to the final location of the malicious code (Site Tracer).

다운로드 된 악성코드 의심파일은 샘플 자동분석기에 의해 분석되고, 보안장비와 연동 가능한 시그니처를 추출하게 된다. 그리고 추출된 시그니처는 보안장비 연동 엔진을 통해 기 설치된 보안장비에 등록되어 이후 해당 악성코드와 관련된 행위들을 탐지/차단하게 된다.
Downloaded malicious code suspicious file is analyzed by sample automatic analyzer and extracts signature that can be linked with security equipment. The extracted signature is registered in the pre-installed security equipment through the security equipment interlocking engine, and then detects / blocks activities related to the malicious code.

이러한 일련의 과정에 대해 좀더 상세히 처리과정에 대한 실시 예를 살펴보면 다음과 같다.Looking at the embodiment of the process in more detail for this series of processes as follows.

우선 도 3을 참조하여 멀티스레드사이트크롤링엔진부(Multi-thread Site-Crawling Engine, 20)에 대해서 살펴보면, 복수의 사용자(12, User)가 인터넷(11)으로 연결되어 서비스를 이용하게 되는 많은 수의 대상 웹사이트(13, Web Site)의 Site 구조 정보를 추출하게 되는 것으로, 추출된 Web 파일 정보는 저장될 수 있을 것이다. 이러한 Multi-thread Site-crawling 엔진을 비롯하여 하기에 기술되는 다수의 엔진이나 처리 부재들에 의해 다루어지는 데이터들은 각각 관련된 데이터베이스(Data base, DB, 저장부)에 저장될 수 있는 것으로, 이러한 데이터베이스는 별도로 인터넷에 연결되는 데이터서버로 마련될 수도 있고, 해당 처리부재들과 개별 네트워크수단으로 연결되는 내부 네트워크의 일부 구성으로 마련될 수도 있으며 나아가 해당 처리부재들 내부에 설치되는 저장구성 등 다양한 형태로 마련되어 실시될 수도 있을 것이다.First, referring to FIG. 3, a multi-thread site crawling engine 20 will be described. A plurality of users 12 and 12 are connected to the Internet 11 to use services. By extracting the site structure information of the target website 13, the extracted Web file information may be stored. Data handled by a number of engines or processing members described below, including the multi-thread site-crawling engine, may be stored in related databases (Data base, DB, storage), and these databases may be separately It may be provided as a data server connected to the Internet, or may be provided as a part of the internal network connected to the processing members and individual network means, and further provided in various forms such as a storage configuration installed inside the processing members. It could be.

이에 대상 Web Site의 Domain 정보가 저장되는 Domain DB(도메인저장부) 목록에서 인출된 1개의 도메인을 기준으로 하여 볼 때, 해당 도메인과 관련된 서브 도메인을 찾기 위하여 Brute Forcing을 수행하게 될 수 있으며, 이러한 과정으로 Domain 구조를 파악한 뒤 해당 정보를 Sub Domain DB(서브도메인저장부, 152)에 저장한다.Accordingly, based on one domain extracted from the Domain DB (Domain Storage) list in which Domain information of the target Web Site is stored, Brute Forcing may be performed to find a subdomain related to the relevant domain. After the domain structure is identified, the information is stored in the Sub Domain DB (subdomain storage unit 152).

이러한 과정을 예를 들면, "Target.co.kr"이라는 도메인이 분석 대상 Domain DB에 있다면, 해당 엔진인 서브도메인검색부(22) 등에 의해서 도메인 이름을 기준으로 "webmail.target.co.kr", "home.target.co.kr", "blog.target.co.kr" 등과 같은 서브 도메인이 존재하는지 검사한 뒤, 존재가 확인된 도메인을 바탕으로 하여 도메인 구조 정보를 서브도메인저장부(Sub Domain DB, 152)에 저장하게 된다. 또 Sub Domain DB에 저장된 도메인 구조를 바탕으로, "Target.co.kr"의 메인 페이지를 찾아 해당 페이지의 소스를 토대로 유알아이디텍션엔진부, URI Detection Engine)을 통해 외부 주소의 정보를 추출한다. 또한 다른 관련 도메인의 페이지를 찾아 관련되는 외부 주소를 추출하게 된다.For example, if the domain "Target.co.kr" exists in the domain DB to be analyzed, "webmail.target.co.kr" based on the domain name by the subdomain search unit 22, which is the engine. After checking whether the sub domains such as "home.target.co.kr" and "blog.target.co.kr" exist, the domain structure information based on the verified domain is subdomain storage unit (Sub Domain DB, 152). Based on the domain structure stored in the Sub Domain DB, the main page of "Target.co.kr" is searched and the external address information is extracted through the URI detection engine based on the source of the page. It will also find pages from other related domains and extract relevant external addresses.

이에 도 4에서와 같이 구성된 유알아이디텍션엔진부(URI Detection Engine, 23)의 주요 기능은 추출된 도메인 구조에 대해 index.html, index.jsp와 같은 시작 페이지 또는 관련페이지에 대해 Crawling하여 각 Web Site의 구조를 파악하게 된다. 그리고 하위에 존재하는 모든 Web 파일을 open하여, <html>과 </html> 사이의 내부 및 외부, <body>와 </body> 사이의 내부 및 외부, <iframe>, <script>, <a href> 등의 태그 부분에 대해 외부 URI 정보를 추출하게 되는 것이다.Therefore, the main function of the UI Detection Engine 23 configured as shown in FIG. 4 is to crawl each start page such as index.html and index.jsp or related pages with respect to the extracted domain structure, and then, each Web Site. The structure of the Then open all web files that exist below, so that internal and external between <html> and </ html>, internal and external between <body> and </ body>, <iframe>, <script>, <a External URI information is extracted for tag parts such as href>.

이처럼 추출된 외부 URI 정보는 각각 Exception URI DB(익셉션유알아이저장부, 153) 의 내용과 비교하고, 매칭되는 외부 URI 정보가 없을 경우에는 해당 정보를 External URI DB(익스터널유알아이저장부, 154)에 저장하게 된다.The extracted external URI information is compared with the contents of the exception URI DB (exception U eye storage unit 153), and if there is no matching external URI information, the corresponding information is stored in the External URI DB (external U eye storage unit). ).

즉 Exception URI DB는 정상적인 광고 페이지 등과 같이 정상적인 정보로 구분된 URI 정보가 저장되어, 정상적인 외부 URI에 대해서 예외처리하기 위한 저장소로 사용되도록 구비된다. 반면 External URI DB에는 예외 처리되지 않은 것으로, 보다 심층 분석의 대상이 되거나 비 정상적으로 존재하는 외부 URI의 정보가 저장되는 것이다.That is, the Exception URI DB stores URI information divided into normal information, such as a normal advertisement page, and is used to store an exception for a normal external URI. On the other hand, the exception is not handled in the External URI DB, and the information of the external URI that is further analyzed or abnormally exists is stored.

예를 들면, "http://Target.co.kr/index.php"가 존재한다고 하면, URI Detection Engine은 index.php의 내용을 분석하여 상대주소로 참조되는 Web Page(.html, .htm, .php, .asp 등)의 경우("./board/index.php" 형식), 다시 해당 URI 주소를 인자로 가지는 유알아이디텍션엔진(URI Detection Engine) 스레드(thread)를 생성하게 된다. 그리고 동일 웹 사이트 내에 있는 웹 파일을 모두 검사하게 된다.For example, if "http://Target.co.kr/index.php" exists, the URI Detection Engine analyzes the contents of index.php and references Web Pages (.html, .htm, In the case of .php, .asp, etc. ("./board/index.php" format), the UID Detection Engine thread will be created with the URI address as an argument. It will scan all web files within the same web site.

이에 절대 주소로 참조되는 URI의 경우(예 : "http://x.x.x.x"의 형식), 익셉션유알아이저장부(Exception URI DB)에 존재하는지 여부를 판별한 뒤, 매칭되는 데이터가 없을 경우에는 익스터널유알아이저장부(External URI DB)에 저장하게 된다.In the case of a URI referenced by an absolute address (for example, in the format of "http: // xxxx"), it is determined whether it exists in the exception URI DB (Exception URI DB). It is stored in the tunnel URI eye storage unit (External URI DB).

보다 상세하게 설명하면, "http://target.co.kr/index.php" 파일에 "<iframe src = "http://hacking.ro.cn/malicious/worm.php" width="0" height="0">"와 같은 정보가 담겨있고, URI 주소에 해당하는 "http://hacking.ro.cn/malicious/worm.php"가 Exception URI DB에 존재하지 않을 경우에는 해당 URI는 External URI DB에 저장되도록 하고, 셀렉티브퍼저(Selective Fuzzer Engine)에서 보다 심화된 분석을 하게 된다.In more detail, the "http://target.com/index.php" file contains "<iframe src =" http://hacking.ro.cn/malicious/worm.php "width =" 0 " If it contains information such as height = "0"> "and" http://hacking.ro.cn/malicious/worm.php "corresponding to the URI address does not exist in the Exception URI DB, the URI is External It is stored in the URI DB and further analyzed by the Selective Fuzzer Engine.

위의 예에서 언급한 <iframe src="http://hacking.ro.cn/malicious/worm.php" width="0" height="0"> 과 같은 태그 형식 등과 같이, 일반적인 정상 웹 페이지의 경우에는 사용되지 않는 것을 예로 할 수 있으며, 사용자의 방문이 많은 Home Page에 악의적인 공격자가 불특정 다수의 사용자 모르게 원격 웹 서버를 열람하도록 하는 경우에 사용되는 일 실시 예로 볼 수 있다. 기타 웹 파일에는 이러한 악의적인 공격자가 불특정 다수의 사용자 모르게 다른 웹 서버를 접속하도록 하는 정보가 포함될 수 있으며 이에 이러한 악의적인 내용이 검색되어야 할 것이다. 즉 공격징후를 포함하는 내용을 검출하는 툴을 가지고 분석하게 될 것이다.
In a typical normal web page, such as the tag format <iframe src = "http://hacking.ro.cn/malicious/worm.php" width = "0" height = "0"> mentioned in the example above, In this case, it may be an example of not being used, and an example may be used when a malicious attacker visits a home page where a user visits a lot, and causes a remote web server to be viewed without an unspecified number of users. Other web files could contain information that would allow such a malicious attacker to connect to another web server without the knowledge of an unspecified number of users, and this malicious content would have to be retrieved. In other words, the tool will detect the contents including attack signs.

이에 도 5에서와 같은 Selective Fuzzer는 작성된 External URI DB 데이터를 인출하여 해당 Web 파일 정보를 가져오게 된다. 가져온 파일 내용을 분석하여 또 다른 외부 URI 정보가 존재하는지 여부를 파악하게 되고, 해당 과정은 악성파일 다운로드 경로가 존재하지 않거나, 또는 또 다른 외부 URI가 존재하지 않을 때까지 계속적으로 반복될 수 있을 것이다. 또한 다른 외부 URI에 의해 해당 과정은 반복될 수 있으며, 경유지로 사용된 외부 URI의 Site 정보 및 경로정보 등은 악성코드 유포 경유지 DB에 저장될 것이다.Accordingly, as shown in FIG. 5, the selective fuzzer retrieves the created external URI DB data to obtain corresponding web file information. The contents of the imported file are analyzed to determine whether there is another external URI information, and the process can be repeated continuously until the malicious file download path does not exist or another external URI does not exist. . In addition, the process may be repeated by another external URI, and the site information and path information of the external URI used as waypoints will be stored in the malicious code distribution waypoint DB.

그리고 파악된 Site 구조에 따라 멀티스레드(Multi-Thread) 형태로 하여 분석될 수 있는 것으로, 각 Web 파일들은 Online 분석기와 같은 웹파일분석기로 분석될 수 있으며, 이에 의심스러운 문자열, 코드 기반 하에 파일 다운로드 경로가 존재하는지 판단한 후, 해당 다운로드 경로 등의 정보가 다운로드저장부(Download DB)에 저장될 수 있을 것이다. 결국 Download DB에는 실제 다운로드 하게 될 악성의 의심 대상인 파일의 URI 정보가 저장될 것이다.In addition, it can be analyzed in the form of multi-thread according to the identified site structure. Each web file can be analyzed by a web file analyzer such as an online analyzer. After determining whether a path exists, information such as a download path may be stored in a download storage unit (Download DB). Eventually, Download DB will store URI information of malicious suspect file to download.

위의 경우 "http://hacking.ro.cn/malicious/worm.php" 내에 또 다른 외부 페이지의 정보가 존재할 경우, 해당 웹 페이지를 인자로 가지는 스레드를 생성하여 Online분석기 등과 같은 웹파일분석기를 통해 의심스러운 문자열, 코드를 기반으로 하여, 의심스러운 파일의 다운로드 경로를 분석하게 되며, <a href="http://redirect.cn/hack.js">와 같은 외부 웹 페이지의 주소가 또 다시 존재할 경우, 해당 URI를 인자값으로 가지는 Online분석기 스레드(Thread)를 생성하여 연속되게 작업을 반복 수행하게 된다. 그리고 Online분석기에서 분석된 다운로드 URI 정보가 나오게 되면, 해당 정보는 Download DB에 insert된다.In the above case, if information of another external page exists in "http://hacking.ro.cn/malicious/worm.php", a web file analyzer such as an online analyzer is created by creating a thread that takes the web page as an argument. Based on the suspicious string and code, the download path of the suspicious file is analyzed, and the address of an external web page such as <a href="http://redirect.cn/hack.js"> If present, it creates an online analyzer thread that takes the URI as an argument and repeats the task continuously. When the download URI information analyzed by the online analyzer comes out, the information is inserted into the Download DB.

다음으로 도 6에서와 같이 마련되는 다운로드엔진(Download Engine)(악성코드 의심파일 다운로드 및 다운로드 경로 입력 모니터링)은 Download DB에 새로운 데이터의 입력을 모니터링 하였다가 새로운 데이터가 입력되었을 경우, 해당 데이터를 인출하여 경로에 존재하는 악성코드 의심파일을 멀티스레드(Multi-Thread) 형태로 다운로드 하게 된다.Next, as shown in FIG. 6, the download engine (downloading suspected malicious files and monitoring the download path input) monitors the input of new data in the Download DB and withdraws the corresponding data when new data is input. By downloading the suspected malicious file in the path in the form of multi-thread.

다운로드가 정상적으로 완료되면, 다운로드 된 악성코드 의심파일을 분석하게 되는 것으로 분석된 결과로 다운로드 된 해당 악성코드 의심파일의 중복분석 여부를 판별하게 될 것이다.If the download is completed normally, as a result of analyzing the suspected malicious file downloaded, it will be determined whether the corresponding malicious code suspected file is duplicated.

이에 해당 악성코드 의심파일에 대한 중복 분석 여부에 대한 일 실시 예를 보면, 다운로드 된 악성코드 의심파일의 MD5 해쉬값을 계산하여 악성코드 DB에 같은 해쉬값을 가지는 데이터가 존재하는지 검사하는 과정을 통해 중복분석을 방지하도록 마련될 수 있는 것으로, 이처럼 중복 분석되는 정보가 존재하지 않을 경우에는 다운로드 시간, MD5 해쉬값, 다운로드 URI, 다운로드 IP 정보, 악성코드 다운로드 경로 등과 같은 분석정보를 악성코드저장부(DB)(157)에 저장하게 될 것이다.
As an example of whether or not a duplicate analysis of the suspected malicious code file is performed, the MD5 hash value of the suspected malicious code file is calculated to check whether data having the same hash value exists in the malicious code DB. It can be prepared to prevent duplicate analysis. If there is no duplicate analysis, analysis information such as download time, MD5 hash value, download URI, download IP information, malware download path, etc. can be analyzed. DB) 157 will be stored.

이처럼 악성코드 여부의 분석을 위한 악성코드 의심파일에 대한 선별 수집 과정 이후에, 이러한 악성코드 의심파일에 대한 세분화된 분석 및 검사를 위한 시그니처 추출 및 검사 과정이 수행될 수 있을 것이다.As described above, after the process of screening and collecting the suspected malicious file for analyzing the malicious code, the signature extraction and inspection process for the detailed analysis and inspection of the suspected malicious code may be performed.

우선 도 7에서의 악성코드 자동동적분석엔진에 대해서 살펴보면, 분석엔진 Master(61)와 가상화분석시스템매니저(Manager, 62), 가상화분석시스템매니저(62)와 연결되는 복수의 Agent(63, 분석에이전트 또는 가상화 분석 엔진) 등이 구성될 수 있으며 Agent에서는 각각의 악성코드에 대한 자동 동적 분석을 통해 얻은 정보를 분석엔진마스터(61) 측으로 전달되도록 수행하게 된다.First, referring to the malicious code automatic dynamic analysis engine in FIG. 7, a plurality of agents (63, analysis agents) connected to the analysis engine master (61), the virtualization analysis system manager (Manager) 62, and the virtualization analysis system manager 62 are analyzed. Or a virtualization analysis engine) and the like, and the agent performs the information obtained through the automatic dynamic analysis of each malicious code to be delivered to the analysis engine master 61.

이에 이러한 가상화 분석 엔진에 대한 바람직한 실시 예를 살펴보면, 가상화분석시스템매니저(62)와 연결되는 가상화 분석 엔진은 N개의 분석에이전트(Agent)로 구성되고, 각각의 Agent는 전송된 샘플을 미리 정의된 상수 M의 시간 동안 분석되도록 실시될 수 있을 것이다.Therefore, referring to a preferred embodiment of the virtualization analysis engine, the virtualization analysis engine connected to the virtualization analysis system manager 62 is composed of N analysis agents (Agent), each Agent is a predefined constant of the transmitted samples. It may be implemented to be analyzed for the time of M.

도 7, 도 8 등을 통하여 구체적으로 예시되는 실시 예를 살펴보면, 분석엔진마스터(61)는 새로 다운로드 되는 악성코드 관련 정보가 있는지 여부를 감시하게 되고, 다운로드 된 정보가 있으면 해당 파일이 기존에 분석된 샘플인지 여부를 확인하게 될 것이다.Looking at the embodiment specifically illustrated through Fig. 7, Fig. 8, etc., the analysis engine master 61 monitors whether there is information related to the newly downloaded malicious code, and if there is the downloaded information, the corresponding file is analyzed You will be asked to check whether the sample is valid.

이에 아직 분석과정을 거치지 않은 샘플로 확인되면 N개의 가상화 분석 엔진인 분석에이전트(Agent)의 현재 상태를 확인하고, 최적화된 경로를 탐지하여 활성화 상태인 가상화 분석 엔진 Agent를 선택한 뒤 해당 샘플을 전송하게 될 것이다.If it is confirmed that the sample has not been analyzed yet, it checks the current state of N virtualization analysis engines (Agents), detects the optimized path, selects the active virtualization engine engine, and sends the sample. Will be.

그리고 도 9에서와 같이 분석된 결과 데이터의 처리과정은, 각 가상화 분석 Agent에서 샘플 분석이 완료되면 분석 완료된 결과를 다시 가상화분석시스템매니저(62) 및 분석엔진마스터(61) 측으로 전송하게 되며, 결과값을 전송 받은 분석엔진마스터(61)에서는 Fuzzy-hash 리스트에 샘플별 Fuzzy-hash값을 등록하고, 기 분석된 샘플들과의 유사도를 검사하게 되며, 산출된 유사도 값(%)을 결과에 첨부하게 된다. 1개의 결과 단위가 작성되면 해당 결과값을 Analysis DB에 저장하도록 실시될 수 있을 것이다.In the process of analyzing the analyzed result data as shown in FIG. 9, when the sample analysis is completed in each virtualization analysis agent, the analyzed result is transmitted back to the virtualization analysis system manager 62 and the analysis engine master 61. The analysis engine master 61 receiving the value registers the Fuzzy-hash value for each sample in the Fuzzy-hash list, checks the similarity with the previously analyzed samples, and attaches the calculated similarity value (%) to the result. Done. Once a result unit is created, it can be implemented to save the result in Analysis DB.

예를 들면, 1개의 분석엔진마스터(61) 및 가상화분석시스템매니저(62)와, 3개의 분석에이전트(63, Agent)가 구비되고, 이에 연속해서 A.exe, B.exe, C.exe, D.exe 등의 악성코드 의심파일의 검색 대상 파일로 순서대로 다운되었다고 가정하여 실시 예를 설명하면 다음과 같다.For example, one analysis engine master 61, a virtualization analysis system manager 62, and three analysis agents 63 are provided, followed by A.exe, B.exe, C.exe, The following description will be given based on the assumption that the malicious code suspect files such as D.exe are down in order.

우선 분석엔진마스터(61), 가상화분석시스템매니저(62)에서는 A.exe를 첫 번째 Agent로 전달되도록 하고, B.exe를 두 번째 Agnet로 전달되도록 하며, C.exe를 세 번째 Agent로 전달되도록 하여 분석 처리과정이 수행되도록 실시될 수 있으며, 이에 첫 번째 Agent가 A.exe에 대한 분석을 완료하게 되며(또는 상수 M 시간 후에 분석을 완료하도록 설정될 수 있음), 분석결과를 가상화분석시스템매니저(62), 분석엔진마스터(61)로 전송되도록 하고 해당 정보가 Analysis DB에 저장되도록 실시될 수 있을 것이다.First, the analysis engine master 61 and the virtualization analysis system manager 62 allow A.exe to be delivered to the first agent, B.exe to be delivered to the second Agnet, and C.exe to be delivered to the third Agent. The analysis process may be performed so that the first agent completes the analysis of A.exe (or may be set to complete the analysis after a constant M time), and the analysis result is virtualized analysis system manager. (62), may be transmitted to the analysis engine master 61 and the information is stored in the Analysis DB.

이에 첫 번째 Agent는 자신의 활성화 상태 정보를 가상화분석시스템매니저(62), 분석엔진마스터(61)로 알리게 되고, 분석엔진마스터(61), 가상화분석시스템매니저(62)는 D.exe의 데이터를 첫 번째 Agnet로 전송하여 계속적인 분석과정이 수행되도록 하는 것이다. 물론 두 번째 Agent가 B.exe의 분석을 완료하게 되면 다시 D.exe 이후에 다운로드 된 다른 악성코드 의심파일을 두 번째 Agent에게 전달되도록 하여 처리되도록 하는 것이다.
Accordingly, the first agent informs its activation status information to the virtualization analysis system manager 62 and the analysis engine master 61, and the analysis engine master 61 and the virtualization analysis system manager 62 provide data of D.exe. It is sent to the first Agnet for continuous analysis. Of course, when the second Agent completes the analysis of B.exe, it will send another malicious code suspect file downloaded after D.exe to the second Agent for processing.

이에 도 10에서와 같이 가상 분석 엔진인 분석에이전트(63, Agent)는 악성코드 의심파일에 대한 악성코드 동적 분석 작업을 수행하게 된다. 실제로 가상머신을 이용하여 분석엔진 Master로부터 샘플을 전송 받으면, 각 Agent는 Network Sniffing을 시작하며, 샘플 실행 전의 Network Status, Registry Status, File Status 등의 정보를 미리 저장하게 된다.Accordingly, as shown in FIG. 10, the analysis agent 63, which is a virtual analysis engine, performs a dynamic analysis of malicious codes on malicious code suspect files. In fact, when a sample is sent from the analysis engine master using a virtual machine, each agent starts network sniffing and stores information such as network status, registry status, and file status before the sample is executed.

이후 악성코드 의심파일에 대해서 해당 파일의 PE구조와 같은 파일 구조를 분석하게 되고, Header 정보를 추출하게 될 것이다. 이에 Protector나 Packet 등으로 실행 압출되어 있을 경우에는, 정상적인 PE Header가 아닐 수도 있기 때문에 실행압축 정보 확인을 위해 Packing 검사를 수행할 수도 있을 것이다.After that, the file structure such as PE structure of the file will be analyzed and the header information will be extracted. In the case where the execution is extruded by Protector or Packet, it may not be a normal PE header, so packing inspection may be performed to check execution compression information.

그리고 실행 가능한 형태의 경우(예 ".EXE", ".COM" 등)에는 바로 실행하게 되지만, ".DLL" 등과 같은 형태의 악성코드 의심파일의 경우에는 DLL injection 등과 같이 미리 정의된 루틴에 따라 분석과정을 수행할 수 있을 것이다.In case of executable type (eg, ".EXE", ".COM", etc.), it will be executed immediately, but in case of suspected malicious file type such as ".DLL", it will be based on predefined routines such as DLL injection. The analysis process can be performed.

이처럼 샘플 실행 후에는 샘플에 의한 Process Memory에 대한 Dump를 계속적으로 저장하도록 실시될 수 있으며, 상이(相異) 도메인에 대한 Query 확인을 위해 DNS 정보를 탐지할 수 있을 것이다. 기 정의된 M의 시간 후에 Registry 상태를 검사하여 변화를 탐지, 악성코드 분석에 필요한 자료만을 추출하기 위한 Registry Filtering 및 변화/생성/삭제에 따른 정렬, 파일 변화 내역 필터링(Filtering), Network Sniffing(네트워크상에 전송되는 트래픽을 도청하는 과정) 및 Sniffing된 트래픽(Traffic)의 파일 저장, Sniffing된 트래픽에서 GET이나 POST 등의 중요 Method Parsing 작업 등을 수행하도록 실시될 수도 있을 것이다.In this way, after the sample is executed, it can be executed to continuously store a dump of the process memory by the sample, and DNS information can be detected for query verification of different domains. Registry filtering to detect changes by checking registry status after a predefined time of M, extract only data needed for malware analysis, sort by change / create / delete, filter file change history, network sniffing The process of eavesdropping traffic transmitted on the network), the file storage of sniffed traffic (Traffic), and important method parsing such as GET or POST may be performed in the sniffed traffic.

이와 같은 분석 작업이 완료되면 결과값을 분석엔진마스터(61), 가상화분석시스템매니저(62)로 전송하며, 각 수행단계에서 오류가 발생될 경우에 오류 발생 에러 로그를 기록하여 분석엔진마스터(61) 등에 전송하게 될 것이다.
When the analysis is completed, the result is transmitted to the analysis engine master 61 and the virtualization analysis system manager 62. When an error occurs in each execution step, an error occurrence error log is recorded and the analysis engine master 61 ) And so on.

다음으로 도 11에서와 같이 보안장비(75)와 연동될 수 있도록 하기 위한 보안장비 연동엔진(70)에 대한 일 실시 예를 살펴보면, 자동동적분석엔진(60)에서 산출된 정보를 중심으로 악성코드 의심파일의 분석에 따른 악성코드유알아이저장부(Malware URI DB), 악성코드 유포지(IP기준), 악성코드에 대한 PE헤더 정보를 통해 보안장비와 연동 가능한 시그니처를 생성하도록 실시될 수 있을 것이다. 그리고 연동 가능한 보안장비에서 업데이트 요청 시, 실시간 업데이트를 제공하도록 마련될 수 있을 것이다.Next, referring to an embodiment of the security equipment interlocking engine 70 for interlocking with the security equipment 75 as shown in FIG. 11, the malicious code is mainly based on the information calculated by the automatic dynamic analysis engine 60. Malware URI DB according to the analysis of the suspicious file (Malware URI DB), malicious code distribution (IP standard), PE header information on the malware may be implemented to generate a signature that can be linked to the security equipment. And when the update request from the interlockable security equipment, it may be prepared to provide real-time updates.

이에 보안장비와 연동 가능하도록 하기 위한 시그니처는 악성코드 유포지(IP 기준), 악성코드 URI, 악성코드 Header 정보 등이 포함될 수 있으며, 이외에 수집된 정보는 악성코드가 동작하는 정확한 매커니즘 파악을 위한 자료로 사용될 수 있을 것이다.The signature for enabling interoperability with security equipment may include malware distribution (IP standard), malware URI, and malware header information.In addition, the collected information is used to identify the exact mechanism by which malware operates. Could be used.

예를 들면, 보안장비 연동엔진부(70)(아날리시스저장부의 새로운 데이터 입력을 모니터링하여 보안장비에서 업데이트 요청 시 실시간 업데이트를 제공)는 Analysis DB에 새로운 데이터 입력을 모니터링하게 되고, 새로운 내용이 추가되었을 경우에는 악성코드 유포지 의심 URI 정보, 악성코드 유포지 의심 IP, 악성코드 의심 파일의 PE 헤더 정보 등의 내용을 근간으로 보안장비와 연동 가능한 시그니처를 추출하도록 실시될 수 있는 것이며, 이렇게 추출된 시그니처 정보는 시그니처 DB에 저장되는 것이다.For example, the security equipment interworking engine unit 70 (monitoring new data input of the analytic storage unit and providing real-time updates when the security device requests an update) monitors the new data input in the Analysis DB. If it is added, it can be implemented to extract signatures that can be linked with security equipment based on the contents of suspicious malware distribution URI information, suspicious malware distribution IP, PE header information of suspicious malware file, etc. The information is stored in the signature DB.

또한 각 보안장비는 추가적으로 시그니처 DB의 최신 업데이트 내용을 탐지하게 되고, 새로운 데이터가 존재할 경우에는 시그니처 업데이트를 실시하도록 수행될 수 있을 것이다.In addition, each security device additionally detects the latest update contents of the signature DB, and if there is new data, the signature update may be performed.

이와 같이 마련되는 본 발명에 따른 Multi-Thread Site Crawler 를 이용한 악성코드 자동수집, 악성코드 의심파일의 자동동적분석엔진과, 보안장비 연동을 위한 시그니처 생성 등의 과정을 수행하게 되는 악성코드접근차단시스템(10) 및 악성코드접근차단방법 등에 의하여, 다수의 사용자가 인터넷을 통하여 접속하여 이용하게 되는 대상 웹사이트 및 관련 URI를 통하여 악의적으로 유포시키는 악성코드 의심파일을 정확하게 탐지하도록 하면서 탐지된 악성코드 의심파일이 보안장비에 의해서 분석이 용이하도록 변환하도록 함으로써, 악성코드의 탐지 성능 및 분석 효율이 극대화되도록 하는 장점이 있다.
The malware access blocking system performs a process such as automatic collection of malware using the Multi-Thread Site Crawler according to the present invention, an automatic dynamic analysis engine of malicious code suspect files, and a signature generation for interworking security equipment. (10) and malicious code suspicion detected by accurate detection of malicious code suspicious files distributed through target websites and related URIs that are accessed and used by a large number of users through the Internet. By converting the file to be easily analyzed by the security device, there is an advantage to maximize the detection performance and analysis efficiency of malicious code.

이상으로 본 발명의 실시 예에 대하여 상세히 설명하였으나, 이는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 실시 예를 기재한 것이므로, 상기 실시예의 기재에 의하여 본 발명의 기술적 사상이 제한적으로 해석되어서는 아니 된다.
Although the embodiments of the present invention have been described in detail above, the embodiments have been described so that those skilled in the art to which the present invention pertains can easily carry out the present invention. The technical spirit of the invention should not be interpreted limitedly.

10 : 악성코드접근차단시스템 11 : 인터넷
12 : 사용자 13 : 대상웹사이트
15 : 데이터베이스 151 : 웹파일저장부
152 : 서브도메인저장부 153 : 익셉션유알아이저장부
154 : 익스터널유알아이저장부 155 : 악성코드유포경유지저장부
156 : 다운로드저장부 157 : 악성코드저장부
158 : 아날라시스저장부 159 : 시그니처저장부
20 : 멀티스레드사이트크롤링엔진부
21 : 사이트구조정보추출부 22 : 서브도메인검색부
23 : 유알아이디텍션엔진부 30 : 사이트트레이서
40 : 셀렉티브퍼저 41 : 웹파일분석기
50 : 샘플자동수집기 51 : 다운로드엔진부
60 : 자동동적분석엔진 61 : 분석엔진마스터
62 : 가상화분석시스템매니저 63 : 분석에이전트
70 : 보안장비연동엔진부 75 : 보안장비
10: malicious code access blocking system 11: Internet
12: user 13: target website
15: Database 151: Web File Storage
152: sub domain storage unit 153: exception U eye storage unit
154: External U eye storage unit 155: Malicious code distribution and maintenance storage unit
156: download storage unit 157: malware storage unit
158: analysis storage unit 159: signature storage unit
20: multi-threaded site crawling engine
21: Site structure information extraction unit 22: Sub domain search unit
23: UID detection engine unit 30: Site tracer
40: Selective Fuzzer 41: Web File Analyzer
50: sample automatic collector 51: download engine
60: automatic dynamic analysis engine 61: analysis engine master
62: Virtualization Analysis System Manager 63: Analysis Agent
70: security equipment interlocking engine unit 75: security equipment

Claims (6)

대상 웹사이트의 서브도메인에 대한 정보와, 대상 웹사이트 또는 서브도메인에 기재된 외부유알아이에 대한 정보가 추출되어 저장되도록 구비되는 멀티스레드사이트크롤링엔진부(20, Multi-thread Site Crawling Engine)와,
상기 멀티스레드사이트크롤링엔진부(20)에 의해 추출되어 저장된 정보를 가져오고, 정보를 분석하여 외부유알아이가 존재하는지 여부를 계속해서 분석하여 분석된 외부유알아이 경유지에 대한 Site정보가 저장되도록 구비되어, 외부유알아이에 대한 정보를 분석하게 되는 사이트트레이서(30)와,
상기 사이트트레이서(30)에 의해 분석된 해당 웹사이트 또는 외부유알아이의 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 분석하며, 파일 다운로드의 다운로드 URI 정보가 저장되도록 하는 셀렉티브퍼저(40)와,
상기 셀렉티브퍼저(40)에 의해 분석된 파일 다운로드 경로 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하되 악성코드 의심파일의 해쉬값을 계산하여 해쉬값의 데이터가 존재하는지 검사하여 해당 해쉬값의 데이터가 존재하는가 여부로 중복 분석 여부를 판별하며, 중복 분석되지 않아 분석되어야 할 악성코드 의심파일을 자동 선별하고, 분석 대상인 악성코드 의심파일의 경유지정보가 포함된 정보가 저장되도록 하는 샘플자동수집기(50)와,
대상 Web Site, 서브 도메인 또는 상이(相異) 도메인에 기재된 악성코드 의심파일 정보에 대해 악성코드 동적 분석과정을 통하여 동적 분석 된 정보 및 동적 분석 중 발생된 오류정보가 저장되도록 구비되는 자동동적분석엔진(60)과,
상기 자동동적분석엔진(60)을 통하여 동적 분석 된 악성코드 의심파일에 대한 동적 분석정보를 전송 받아 악성코드 의심파일에 대해 보안장비(75)와 연동 가능한 악성코드 의심파일에 대한 시그니처 정보가 추출되도록 하는 보안장비연동엔진부(70)가 포함되어 구비되고,
상기 상이 도메인은 대상 웹사이트 또는 서브도메인과 다른 주소를 갖는 도메인으로 구비되는 것을 특징으로 하는 악성코드접근차단시스템.
Multi-thread Site Crawling Engine (20), which is provided to extract and store information on the sub-domain of the target website, and the information on the external URL described in the target website or the sub-domain;
Imported and stored information extracted and stored by the multi-threaded site crawling engine unit 20, and analyzing the information to continue to analyze whether there is an external UL eye is provided so that the site information for the analyzed external UL eye waypoints are stored. And, the site tracer 30 to analyze the information about the external eye, and
A selective fuzzer 40 for analyzing whether a file download path exists by analyzing a web file of the corresponding website analyzed by the site tracer 30 or an external UI, and storing download URI information of the file download;
The file download path malicious code analyzed by the selective fuzzer 40 is downloaded as the corresponding download URI information, and the downloaded malicious code suspect file is analyzed, but the hash value data is calculated by calculating the hash value of the malicious code suspect file. Whether the data of the corresponding hash value exists or not is analyzed to determine whether it is duplicated or not, and automatically suspects malicious files to be analyzed because they are not duplicated, and includes information on the waypoints of the suspected malicious code files. Sample automatic collector 50 to be stored,
Automated dynamic analysis engine that stores dynamic analysis information and error information generated during dynamic analysis of malicious code suspicious file information in target web site, sub domain or different domains. 60,
Through the automatic dynamic analysis engine 60, receiving dynamic analysis information on the malicious code suspect file that has been dynamically analyzed, so that signature information on the suspected malicious code file interoperable with the security device 75 may be extracted. It is provided that includes a security equipment interlocking engine unit 70,
The different domain is a malicious code access blocking system, characterized in that provided with a domain having a different address than the target website or subdomain.
제 1항에 있어서,
상기 멀티스레드사이트크롤링엔진부(20)는,
인터넷으로 연결되는 대상 웹사이트의 사이트구조정보를 추출하는 사이트구조정보추출부(21)와,
대상 웹사이트에 대해 추출된 사이트구조정보 중에서 서브 도메인 정보를 검색하는 서브도메인검색부(22)와,
대상 웹사이트 또는 서브 도메인을 대상으로 하여 검색된 도메인 중에 정상 유알아이 정보로 저장되어 있는 외부유알아이의 정보는 익셉션유알아이저장부(153)에 저장되도록 하고 익셉션유알아이저장부(153)에 저장되지 않은 경우에는 익스터널유알아이저장부(154)에 저장되도록 하는 유알아이디텍션엔진부(23, URI Detection Engine)가 포함되고,
상기 정상 유알아이 정보는, 이미 알려져 검증된 정상의 광고나 정상의 포털 주소로 알려진 유알아이의 정보, 이미 여러 번 안정되게 사용된 유알아이의 정보가 포함되며,
대상 웹사이트의 서브도메인에 대한 정보, 그리고 대상 웹사이트 또는 서브도메인에 기재된 외부유알아이에 대한 정보가 추출되어 저장되도록 구비되는 것을 특징으로 하는 악성코드접근차단시스템.
The method of claim 1,
The multi-threaded site crawling engine unit 20,
A site structure information extracting unit 21 for extracting site structure information of a target website connected to the Internet,
A subdomain searching unit 22 for searching subdomain information among the extracted site structure information for the target website;
The information of the external UL eye stored as the normal UL eye information among the searched domains for the target website or the sub domain is stored in the exception UL eye storage unit 153 and is not stored in the exception UL eye storage unit 153. If not, the UID detection engine unit 23, which is to be stored in the external U eye storage unit 154 is included,
The normal eye information includes information of a yual eye known as a normal advertisement or a normal portal address that has been known and verified, information of a yul eye that has been used stably many times already,
Malicious code access blocking system, characterized in that the information on the sub-domain of the target website, and the information on the external UI described in the target website or sub-domain is provided to be extracted and stored.
제 2항에 있어서,
상기 사이트구조정보추출부(21)에서 추출된 대상 웹사이트의 사이트구조정보가 저장되는 웹파일저장부(151, Web file DB)와,
상기 서브도메인검색부(22)에서 검색된 서브 도메인 정보가 저장되는 서브도메인저장부(152, Sub Domain DB)와,
상기 유알아이디텍션엔진부(23)에 의하여 상기 정상 유알아이 정보를 갖는 외부유알아이 정보가 저장되는 익셉션유알아이저장부(153, Exception URI DB)와,
상기 유알아이디텍션엔진부(23)에 의하여 상기 익셉션유알아이저장부(153)에 정보가 존재하지 않는 외부유알아이 정보가 저장되는 익스터널유알아이저장부(154, External URI DB)가 포함되어 구비되는 것을 특징으로 하는 악성코드접근차단시스템.
The method of claim 2,
A web file storage unit 151 (Web file DB) for storing site structure information of the target website extracted by the site structure information extracting unit 21;
A sub domain storage unit 152 (Sub Domain DB) in which the sub domain information retrieved by the sub domain search unit 22 is stored;
An exception UL eye storage unit 153 (Exception URI DB) for storing the external UL eye information having the normal UL eye information by the UL ID engine 23;
An external Ul eye storage unit 154 (External URI DB) for storing the external Ul eye information without information in the exception U eye storage unit 153 is included by the U ID detection engine unit 23. Malicious code access blocking system characterized in that.
제 1항에 있어서,
상기 사이트트레이서(30)에 의해 분석된 해당 웹 파일에 기재된 외부유알아이 경유지에 대한 Site정보가 저장되는 악성코드유포경유지저장부(155)가 구비되고,
상기 셀렉티브퍼저(40)는, 상기 사이트트레이서(30)에 의해 분석된 해당 웹사이트 또는 외부유알아이의 Web파일을 분석하여 파일 다운로드 경로가 존재하는지 판별하며, 파일 다운로드 경로에 대한 파일의 다운로드 URI 정보가 저장되도록 하는 웹파일분석기(41)가 구비되어, 악성코드인지 여부를 판별할 대상인 악성코드 의심파일에 대한 다운로드 URI 정보가 분석되도록 구비되며,
상기 셀렉티브퍼저(40)에 의해 분석된 악성코드 의심파일에 대한 다운로드 URI 정보가 저장되도록 하는 다운로드저장부(156, Download DB)가 구비되고,
상기 샘플자동수집기(50)는, 상기 셀렉티브퍼저(40)에 의해 분석되어 저장된 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하되 악성코드 의심파일의 해쉬값을 계산하여 해쉬값의 데이터가 존재하는지 검사하여 해당 해쉬값의 데이터가 존재하는가 여부로 중복 분석된 파일인지 여부를 판별하며, 분석되지 않은 악성코드 의심파일일 경우에는 해당 파일에 대한 경로 정보, 다운로드 정보, MD5 해쉬값이 포함된 샘플 분석정보가 분석되도록 구비되며,
상기 샘플자동수집기(50)에 의해 분석된 악성코드 의심파일의 분석정보가 저장되는 악성코드저장부(157)가 구비되고,
상기 보안장비연동엔진부(70)에 의해 악성코드 의심파일에 대한 시그니처 정보를 전송 받아 저장되도록 하는 시그니처저장부(159)가 구비되는 것을 특징으로 하는 악성코드접근차단시스템.
The method of claim 1,
Malicious code distribution way storage unit 155 is provided that stores the site information for the external WIA waypoint described in the web file analyzed by the site tracer 30,
The selective fuzzer 40 determines whether a file download path exists by analyzing a web file of the corresponding website or an external UI analyzed by the site tracer 30, and download URI information of the file for the file download path. Is provided with a web file analyzer 41 to be stored, so that the download URI information for the suspected malicious code file to determine whether or not malicious code is analyzed,
There is provided a download storage unit (156, Download DB) for storing the download URI information on the suspicious file malicious code analyzed by the selective fuzzer 40,
The sample automatic collector 50 downloads the malicious code suspect file analyzed and stored by the selective fuzzer 40 as the corresponding download URI information and analyzes the downloaded malicious code suspect file, while analyzing the hash value of the malicious code suspect file. It calculates whether the data of hash value exists and checks whether the file is duplicated or not by analyzing whether or not the data of hash value exists. In case of suspicious file that has not been analyzed, path information and download information about the file , So that the sample analysis information including the MD5 hash value is analyzed,
The malicious code storage unit 157 is provided to store the analysis information of the suspected malicious code file analyzed by the sample automatic collector 50,
And a signature storage unit (159) configured to receive and store the signature information on the suspected malicious code file by the security device interlocking engine unit (70).
제 1항에 있어서,
상기 자동동적분석엔진(60)은,
상기 샘플자동수집기(50)로부터 악성코드 의심파일에 대한 정보를 제공받아 가상분석이 가능한 가상화분석시스템매니저(62) 측으로 데이터가 전송되도록 하며, 분석이 완료된 악성코드 의심파일에 대한 분석정보를 가상화분석시스템매니저(62)로부터 제공받아 아날리시스저장부(158)에 저장되도록 하는 분석엔진마스터(61)와,
상기 분석엔진마스터(61)로부터 악성코드 의심파일에 대한 정보를 전달받아 하나 또는 복수 개의 분석에이전트(63)로 전송되도록 하고, 분석에이전트(63)로부터 악성코드 의심파일에 대한 동적 분석정보를 전송 받아 분석엔진마스터(61) 측으로 전송하는 가상화분석시스템매니저(62)와,
상기 가상화분석시스템매니저(62)로부터 악성코드 의심파일에 대한 정보를 제공받고, 해당 악성코드 의심파일에 대한 동적 분석을 수행하며, 동적 분석과정 중에 오류 발생에 대한 정보와 함께 동적 분석정보를 가상화분석시스템매니저(62) 측으로 전송하는 하나 또는 복수 개의 분석에이전트(63)가 포함되어, 대상 Web Site, 서브 도메인 또는 상이(相異) 도메인에 포함된 악성코드 의심파일에 대해 동적 분석 된 정보 및 분석 중 발생된 오류정보가 저장되도록 구비되고,
상기 자동동적분석엔진(60)으로부터 악성코드 의심파일에 대한 동적 분석정보가 전송되어 저장되는 아날라시스저장부(158)가 구비되는 것을 특징으로 하는 악성코드접근차단시스템.
The method of claim 1,
The automatic dynamic analysis engine 60,
By receiving information on the suspected malicious code file from the sample automatic collector 50, data is transmitted to the virtual analysis system manager 62 capable of virtual analysis, and analyzing the analyzed information on the suspected malicious code file that has been analyzed. An analysis engine master 61 provided from the system manager 62 to be stored in the analysis storage unit 158,
Receives information about the suspected malicious code file from the analysis engine master 61 to be transmitted to one or more analysis agents 63, and receives the dynamic analysis information about the suspected malicious code file from the analysis agent 63. A virtualization analysis system manager 62 for transmitting to the analysis engine master 61;
Receives information on the suspected malicious code file from the virtualization analysis system manager 62, performs dynamic analysis on the suspected malicious code file, and analyzes the dynamic analysis information along with information on the occurrence of an error during the dynamic analysis process. One or more analysis agents 63 are transmitted to the system manager 62 to dynamically analyze and analyze the malicious code suspect files included in the target web site, subdomain, or different domains. It is provided to store the generated error information,
The malware analysis block system, characterized in that the dynamic analysis information for the malicious code suspect file from the automatic dynamic analysis engine 60 is transmitted and stored.
악성코드접근차단시스템(10)의 멀티스레드사이트크롤링엔진부(20)에서, 인터넷(11)으로 연결되는 대상 웹사이트(13)의 서브도메인에 대한 정보와, 대상 웹사이트 또는 서브도메인에 기재된 외부유알아이에 대한 정보를 추출하고, 추출된 상기 정보를 멀티스레드사이트크롤링엔진부(20)에서 데이터베이스(15)에 저장되도록 구비되는 멀티스레드사이트크롤링단계(S01);
상기 멀티스레드사이트크롤링단계(S01)에 의해 추출되어 저장된 정보를 사이트트레이서(30)에서 가져오고, 정보를 분석하여 다른 외부유알아이가 존재하는지 여부를 계속해서 분석하여 분석된 외부유알아이 경유지에 대한 Site정보가 데이터베이스(15)에 저장되도록 구비되어, 사이트트레이서(30)에 의하여 외부유알아이에 대한 정보를 분석하게 되는 외부유알아이경유지정보분석단계(S02);
상기 외부유알아이경유지정보분석단계(S02)에 의해 분석된 해당 웹사이트 또는 외부유알아이의 Web파일의 정보를 셀렉티브퍼저(40)에서 가져와 분석하여 파일의 다운로드 경로가 존재하는지 분석하며, 파일 다운로드의 다운로드 URI 정보가 데이터베이스(15)에 저장되도록 하는 악성코드의심파일유알아이정보분석단계(S03);
상기 악성코드의심파일유알아이정보분석단계(S03)에 의해 분석된 파일 다운로드 경로 및 파일 다운로드의 악성코드 의심파일에 대한 정보를 샘플자동수집기(50)에서 가져오고, 샘플자동수집기(50)에 의해 악성코드 의심파일을 해당 다운로드 URI 정보로 하여 다운로드하고 다운로드 된 악성코드 의심파일을 분석하되 악성코드 의심파일의 해쉬값을 계산하여 해쉬값의 데이터가 존재하는지 검사하여 해당 해쉬값의 데이터가 존재하는가 여부로 중복 분석을 판별하며, 악성코드 의심파일에 대한 경유지정보가 포함된 분석정보가 데이터베이스(15)에 저장되도록 하는 악성코드의심파일수집단계(S04);
상기 악성코드의심파일수집단계(S04)에 의해 분석된 분석정보가 자동동적분석엔진(60)에서 가져오고 상기 자동동적분석엔진(60)에 의해 대상 Web Site, 서브 도메인 또는 상이 도메인에 기재된 악성코드 의심파일의 정보에 대해 악성코드 동적 분석과정을 통하여 동적 분석된 정보 및 동적 분석 중 발생된 오류정보가 데이터베이스(15)에 저장되도록 구비되는 악성코드의심파일동적분석단계(S05);
상기 악성코드의심파일동적분석단계(S05)를 통하여 동적분석된 악성코드 의심파일에 대한 동적분석정보를 보안장비연동엔진부(70)에서 전송 받고, 보안장비연동엔진부(70)에서 악성코드 의심파일에 대해 보안장비(75)와 연동 가능한 악성코드 의심파일에 대한 시그니처 정보가 추출되도록 하는 보안장비연동시그니처추출단계(S06)가 포함되어 구비되고,
상기 상이 도메인은 대상 웹사이트 또는 서브도메인과 다른 주소를 갖는 도메인으로 구비되는 것을 특징으로 하는 악성코드접근차단방법.
In the multi-threaded site crawling engine unit 20 of the malicious code access blocking system 10, information on the subdomain of the target website 13 connected to the Internet 11, and the external website described in the target website or subdomain. A multi-threaded site crawling step (S01) configured to extract information about the U-R, and store the extracted information in the database 15 in the multi-threaded site crawling engine unit 20;
The information extracted and stored by the multi-threaded site crawling step (S01) is taken from the site tracer 30, and the information is analyzed to continuously analyze whether or not there is another external eye. Site information is provided so as to be stored in the database 15, the external eye eye maintenance information analysis step (S02) to analyze the information about the external eye by the site tracer (30);
Analyzing whether the download path of the file exists by analyzing the information of the corresponding website or the web file of the external UL eye analyzed by the external UL eye maintenance information analysis step (S02), and analyzing whether the file download path exists. A malicious code sim file U eye information analysis step of allowing the download URI information to be stored in the database 15 (S03);
The file download path and the information about the suspected file of the malicious code of the file download analyzed by the malicious code sim file U eye information analysis step (S03) are taken from the sample automatic collector 50, and the sample automatic collector 50 is used. Download the suspected malicious code file as the relevant download URI information and analyze the suspected malicious code file, calculate the hash value of the suspected malicious code file and check whether the data of the hash value exists or not. Determining the duplicate analysis, and collecting the malicious code file of the malicious code (S04) so that the analysis information including the waypoint information about the malicious code suspect file is stored in the database 15;
The analysis information analyzed by the malicious code core file collection step (S04) is taken from the automatic dynamic analysis engine 60, and the malicious code described in the target web site, sub domain, or different domain by the automatic dynamic analysis engine 60. Simultaneous dynamic file analysis step (S05) of the malicious code provided to be stored in the database 15, the dynamic analysis information and the error information generated during the dynamic analysis for the information of the suspicious file;
Receive dynamic analysis information about the malicious code suspicious file dynamically analyzed through the malicious file sim file dynamic analysis step (S05), and suspect the malicious code in the security equipment interlocking engine unit 70 A security equipment interlocking signature extraction step (S06) is provided to extract the signature information on the suspected malicious code file that can be interlocked with the security equipment 75 for the file.
The different domain is a malicious code access blocking method, characterized in that provided in the domain having a different address from the target website or subdomain.
KR1020110016483A 2011-02-24 2011-02-24 System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device KR101070184B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110016483A KR101070184B1 (en) 2011-02-24 2011-02-24 System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110016483A KR101070184B1 (en) 2011-02-24 2011-02-24 System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device

Publications (1)

Publication Number Publication Date
KR101070184B1 true KR101070184B1 (en) 2011-10-07

Family

ID=45032298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110016483A KR101070184B1 (en) 2011-02-24 2011-02-24 System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device

Country Status (1)

Country Link
KR (1) KR101070184B1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160219B1 (en) * 2012-01-05 2012-06-27 주식회사 피앤피시큐어 Tracking system and method of connecting route for the network security
KR101235139B1 (en) 2012-05-29 2013-02-20 주식회사 비바엔에스 Detection method and system, the internal structure website
WO2013077565A1 (en) * 2011-11-22 2013-05-30 주식회사 안랩 Malicious code diagnosis/removal service device and method therefor
KR101388962B1 (en) 2012-11-19 2014-04-24 한국인터넷진흥원 A method for quickly checking mass web sites
CN103902386A (en) * 2014-04-11 2014-07-02 复旦大学 Multi-thread network crawler processing method based on connection proxy optimal management
KR101468114B1 (en) * 2013-04-25 2014-12-05 한국인터넷진흥원 System and method for tracking exploit hopping sites based on sinkhole server
KR101545964B1 (en) 2013-06-11 2015-08-21 에스케이텔레콤 주식회사 Apparatus and method for examining malicious url
KR20150134172A (en) 2014-05-21 2015-12-01 삼성에스디에스 주식회사 Apparatus and method for detecting malicious code
KR101589649B1 (en) * 2015-01-19 2016-01-28 한국인터넷진흥원 System and method for analysing large-scale malignant code
CN107305548A (en) * 2016-04-18 2017-10-31 北京国双科技有限公司 Control the method for allocating tasks and device of web crawlers
KR101969572B1 (en) * 2018-06-22 2019-04-16 주식회사 에프원시큐리티 Malicious code detection apparatus and method
KR102120200B1 (en) * 2019-12-27 2020-06-17 주식회사 와이햇에이아이 Malware Crawling Method and System
CN111355728A (en) * 2020-02-27 2020-06-30 紫光云技术有限公司 Malicious crawler protection method
CN112434297A (en) * 2020-12-29 2021-03-02 成都立鑫新技术科技有限公司 Method for detecting mobile phone security in public place
CN113343064A (en) * 2021-06-18 2021-09-03 北京百度网讯科技有限公司 Data processing method, device, equipment, storage medium and computer program product

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013077565A1 (en) * 2011-11-22 2013-05-30 주식회사 안랩 Malicious code diagnosis/removal service device and method therefor
KR101160219B1 (en) * 2012-01-05 2012-06-27 주식회사 피앤피시큐어 Tracking system and method of connecting route for the network security
KR101235139B1 (en) 2012-05-29 2013-02-20 주식회사 비바엔에스 Detection method and system, the internal structure website
KR101388962B1 (en) 2012-11-19 2014-04-24 한국인터넷진흥원 A method for quickly checking mass web sites
KR101468114B1 (en) * 2013-04-25 2014-12-05 한국인터넷진흥원 System and method for tracking exploit hopping sites based on sinkhole server
KR101545964B1 (en) 2013-06-11 2015-08-21 에스케이텔레콤 주식회사 Apparatus and method for examining malicious url
CN103902386A (en) * 2014-04-11 2014-07-02 复旦大学 Multi-thread network crawler processing method based on connection proxy optimal management
KR20150134172A (en) 2014-05-21 2015-12-01 삼성에스디에스 주식회사 Apparatus and method for detecting malicious code
KR101589649B1 (en) * 2015-01-19 2016-01-28 한국인터넷진흥원 System and method for analysing large-scale malignant code
CN107305548A (en) * 2016-04-18 2017-10-31 北京国双科技有限公司 Control the method for allocating tasks and device of web crawlers
CN107305548B (en) * 2016-04-18 2020-02-28 北京国双科技有限公司 Task allocation method and device for controlling web crawler
KR101969572B1 (en) * 2018-06-22 2019-04-16 주식회사 에프원시큐리티 Malicious code detection apparatus and method
WO2019245107A1 (en) * 2018-06-22 2019-12-26 주식회사 에프원시큐리티 Malicious code detection device and method
KR102120200B1 (en) * 2019-12-27 2020-06-17 주식회사 와이햇에이아이 Malware Crawling Method and System
CN111355728A (en) * 2020-02-27 2020-06-30 紫光云技术有限公司 Malicious crawler protection method
CN112434297A (en) * 2020-12-29 2021-03-02 成都立鑫新技术科技有限公司 Method for detecting mobile phone security in public place
CN112434297B (en) * 2020-12-29 2024-02-20 成都立鑫新技术科技有限公司 Method for detecting safety of mobile phone in public place
CN113343064A (en) * 2021-06-18 2021-09-03 北京百度网讯科技有限公司 Data processing method, device, equipment, storage medium and computer program product
CN113343064B (en) * 2021-06-18 2023-07-28 北京百度网讯科技有限公司 Data processing method, apparatus, device, storage medium, and computer program product

Similar Documents

Publication Publication Date Title
KR101070184B1 (en) System and method for blocking execution of malicious code by automatically crawling and analyzing malicious code through multi-thread site-crawler, and by interworking with network security device
Kwon et al. The dropper effect: Insights into malware distribution with downloader graph analytics
Canali et al. Prophiler: a fast filter for the large-scale detection of malicious web pages
Maggi et al. Two years of short urls internet measurement: security threats and countermeasures
EP3557843B1 (en) Content delivery network (cdn) bot detection using compound feature sets
Eshete et al. Webwinnow: Leveraging exploit kit workflows to detect malicious urls
CN105491053A (en) Web malicious code detection method and system
CN103701793B (en) The recognition methods of server broiler chicken and device
US20170180402A1 (en) Detection of Coordinated Cyber-Attacks
Starov et al. Betrayed by your dashboard: Discovering malicious campaigns via web analytics
CN103685294A (en) Method and device for identifying attack sources of denial of service attack
Akiyama et al. HoneyCirculator: distributing credential honeytoken for introspection of web-based attack cycle
KR101623068B1 (en) System for collecting and analyzing traffic on network
CN112350992A (en) Safety protection method, device, equipment and storage medium based on web white list
CN101895516A (en) Method and device for positioning cross-site scripting attack source
JP2011193343A (en) Communications network monitoring system
Cigoj et al. An intelligent and automated WCMS vulnerability-discovery tool: the current state of the web
Matsunaka et al. An approach to detect drive-by download by observing the web page transition behaviors
SatheeshKumar et al. A lightweight and proactive rule-based incremental construction approach to detect phishing scam
Canfora et al. A set of features to detect web security threats
KR101345740B1 (en) A malware detection system based on correlation analysis using live response techniques
Roopak et al. On effectiveness of source code and SSL based features for phishing website detection
Huber et al. Tor HTTP usage and information leakage
Nikolaev et al. Exploit kit website detection using http proxy logs
Huh et al. A comprehensive analysis of today’s malware and its distribution network: common adversary strategies and implications

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190930

Year of fee payment: 9