KR20090054822A - Method and apparatus for collecting malicious codes - Google Patents

Method and apparatus for collecting malicious codes Download PDF

Info

Publication number
KR20090054822A
KR20090054822A KR1020070121706A KR20070121706A KR20090054822A KR 20090054822 A KR20090054822 A KR 20090054822A KR 1020070121706 A KR1020070121706 A KR 1020070121706A KR 20070121706 A KR20070121706 A KR 20070121706A KR 20090054822 A KR20090054822 A KR 20090054822A
Authority
KR
South Korea
Prior art keywords
condition
malicious code
site
web page
operation command
Prior art date
Application number
KR1020070121706A
Other languages
Korean (ko)
Other versions
KR100915202B1 (en
Inventor
백동현
Original Assignee
유디코스모 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유디코스모 주식회사 filed Critical 유디코스모 주식회사
Priority to KR1020070121706A priority Critical patent/KR100915202B1/en
Publication of KR20090054822A publication Critical patent/KR20090054822A/en
Application granted granted Critical
Publication of KR100915202B1 publication Critical patent/KR100915202B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method for collecting malware codes and an apparatus thereof are provided to collect malware codes from corresponding to sites through an automated program which is executed at predetermined time intervals. A timer controller reads the address information of a site to be connected from a site database(S710), and then sets up start conditions in a condition and operation database(S720). A web browser connects to a corresponding site through the site address information inputted from the timer controller, and then receives a web page(S730). After setting up a timer, the timer controller executes a malware collecting program(S740).

Description

악성코드 수집 방법 및 장치{Method and apparatus for collecting malicious codes}Method and apparatus for collecting malicious codes

본 발명은 악성코드 수집 방법 및 장치에 관한 것으로서, 보다 구체적으로는 악성 코드를 유포시키는 웹 사이트를 감시하여 악성 코드를 수집하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for collecting malicious code, and more particularly, to a method and apparatus for collecting malicious code by monitoring a web site distributing malicious code.

악성 코드란 말웨어(malware, malicious software), 악성 프로그램(malicious Program)이라고도 칭해지고, 사용자가 주로 웹페이지를 검색할 때, P2P 서비스를 이용할 때, 셰어웨어를 사용할 때, 불법복제 프로그램을 사용할 때, 전자우편의 첨부파일 또는 메신저 파일을 열 때 등의 경우에 사용자의 컴퓨터에 침투하거나 설치를 유도하여, 영리적인 목적의 광고 노출, 네트워크 트래픽 발생, 시스템 성능 저하, 파일 삭제, 이메일 자동발송, 개인 정보 유출, 원격 제어 등의 작업을 수행한다. Malware is also referred to as malware, malicious programs, and malicious users, mainly when browsing web pages, using peer-to-peer services, using shareware, using pirated programs, Infiltrate user's computer or induce installation when opening mail attachments or messenger files, etc., to expose commercial advertisements, generate network traffic, degrade system performance, delete files, send e-mails automatically, leak personal information Perform tasks such as remote control.

악성코드는 바이러스, 웜바이러스(worm virus), 트로이목마(Trojan horse)로 분류된다. 악성코드의 대표격인 바이러스는 프로그램, 실행 가능한 어느 일부분 혹은 데이터에 자기 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의 된다. 감염대상 프로그램 혹은 코드를 변형해 바이러스 코드 혹은 일부 코드를 복제해 감염시키고 다른 대상을 감염시킴으로써 확산된다.Malware is classified into viruses, worm viruses, and Trojan horses. Viruses, which are representative of malicious code, are defined as a combination of instructions that copy themselves or transformed themselves into a program, any executable part or data. It spreads by modifying the infected program or code by copying the virus code or some code and infecting other targets.

웜은 다른 프로그램의 감염없이 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의된다. 웜은 네트워크 어웨어 바이러스(Network Aware virus)라고 불리기도 한다. 웜은 기억장소에 코드 형태로 존재하거나 혹은 실행파일로 존재하며 실행되면 파일이나 코드 자체를 다른 시스템으로 복사한다.A worm is defined as a combination of instructions that copies itself or its variants without infecting other programs. Worms are also called Network Aware viruses. Worms exist in memory in the form of code or as executable files. When executed, the worm copies the file or the code itself to another system.

트로이목마는 컴퓨터의 프로그램 내에 사용자는 알 수 없도록 프로그래머가 고의로 포함시킨 자기 자신을 복사하지 않는 명령어들의 조합이라고 정의된다. 고의로 포함시켰다는 점에서 프로그램의 버그(bug)와 다르며, 자신을 복사하지 않는다는 점에서 바이러스나 웜과도 약간 다르다. A Trojan is defined as a combination of instructions that does not copy itself intentionally included by the programmer so that the user cannot know it in the program of the computer. It is different from a program bug in that it is intentionally included, and a bit different from a virus or a worm in that it does not copy itself.

이러한 악성 코드들은 시스템의 성능을 저하시키거나, 사용자 컴퓨터에 저장된 중요 파일들을 임의로 삭제하는 등의 문제점을 야기시키므로, 이러한 악성 코드를 신속하게 발견하여 제거하는 것은 인터넷이 보편화된 최근의 사회에서는 매우 중요한 이슈로 부각되고 있다.Since these malicious codes cause problems such as degrading the performance of the system or randomly deleting important files stored on the user's computer, detecting and removing such malicious codes quickly is very important in the modern society where the Internet is common. It is emerging as an issue.

매일같이 신종 악성 코드가 생성되어 유포되는 상황에 효율적으로 대처하기 위해서는, 신속하게 신종 악성 코드의 발생 현황을 파악하여, 이를 제거할 수 있는 안티-악성코드 프로그램들을 생성하여 사용자들에게 제공하는 것이 필요하다.In order to effectively cope with the situation where new malicious code is generated and distributed every day, it is necessary to quickly identify the current status of new malicious code and to provide anti-malware programs that can remove the malicious code. Do.

이를 위해서, 종래 기술에 따른 안티-악성코드 프로그램 공급자측에서는 주기적으로 최신의 악성코드에 관한 정보를 서버에 올려놓고, 사용자 단말이 주기적으로 서버에 접속하여 안티-악성코드 프로그램을 다운로드 하거나 업그레이드 패치 를 다운로드하여 최신의 상태를 유지하여 신종 악성코드를 진단/치료하게 구성되어있다. To this end, the anti-malware program provider according to the prior art periodically puts information on the latest malware on the server, and the user terminal periodically accesses the server to download the anti-malware program or download the upgrade patch. It keeps up-to-date and diagnoses / repairs new malicious code.

안티-악성코드 프로그램 공급자는 항상 최신의 악성코드에 관한 정보(이하, "악성코드 DB"라 칭함)를 유지하기 위해 노력해야 하는데, 이를 위해서 공급자는 먼저 악성코드 샘플을 수집해야 한다. Anti-malware program providers should always try to maintain up-to-date information about malware (hereinafter referred to as "malware DB"), which must first collect malware samples.

악성코드 샘플을 수집하는 방법으로는, 첫 번째로 사용자의 신고에 의하는 방법, 두 번째로 관련 전문가들과의 악성 코드 정보를 교환하는 방법, 세 번째로 의심이 가는 악성코드 출현 사이트를 방문해서 직접 가져오는 방법이 있다. The first way to collect malware samples is by first reporting the user, secondly by exchanging malware information with relevant experts, and thirdly by visiting suspicious malware sites. There is a direct way to import.

세 번째 방법의 경우, 악성코드를 배포한 웹사이트들이 반복적으로 새로운 악성코드를 배포 하는 경향이 있으므로, 악성 코드를 배포한 이력이 있는 사이트(의심사이트)로 판단되면 주기적으로 방문하여 신종 악성코드의 발생 여부를 확인할 필요가 있다. 초창기의 종래 기술은 사람이 수작업으로 웹브라우저를 활용하여 의심 사이트를 방문하고 변동사항이 있는지 눈으로 직접 확인하는 방식을 취하였다. 그러나, 확인할 사이트의 수가 증가하게 되면서, 이러한 종래 방식은 수많은 인력과 시간을 소모하는 비효율적인 작업이 되었다.In the third method, websites that distribute malware tend to distribute new malware repeatedly. Therefore, if it is determined that the site that has distributed the malicious code (suspect site) is visited periodically, It is necessary to confirm whether it occurred. In the early days of the art, a person manually visited a suspicious site using a web browser and visually checked whether there was any change. However, as the number of sites to verify increased, this conventional approach became an inefficient task that consumed a lot of manpower and time.

따라서, 이러한 비효율적인 작업을 컴퓨터로 자동화하는 기술의 도입이 절실히 요구되지만, 현재까지 이러한 기술은 제안된 바 없었다.Therefore, the introduction of a technique for automating such inefficient tasks with a computer is urgently required, but this technique has not been proposed until now.

이에, 본 출원인은 이러한 문제점을 해결하기 위해서 웹 검색 엔진 기술의 적용을 고려하였다. 웹 검색 엔진의 구성요소 중 사이트를 컴퓨터 프로그램이 자동으로 방문하여 각각의 링크들을 따라다니면서 정보들을 모으는 기능을 이용하는 것으로서, 기본구성은 도 1 에 도시된 바와 같이, 방문해야할 사이트주소를 주기적으로 판독하여 소켓통신을 이용하여 해당 사이트에 접속하여 조사 후, 악성코드가 발견되면 악성코드 DB에 저장하는 방식이다. Accordingly, the present applicant has considered the application of the web search engine technology to solve this problem. Among the components of the web search engine, a computer program automatically visits a site and follows a respective link to gather information. The basic configuration is to periodically read a site address to be visited as shown in FIG. After accessing the relevant site using socket communication and investigating, if malicious code is found, it is stored in the malicious code DB.

그러나, 이러한 기술을 적용할 경우에는, 인터넷상의 통신기술인 소켓통신 기술을 이용하여 구현되므로 대량의 데이터를 고속으로 수집하는데 월등하나, 시각적으로 운영자가 악성코드 수집 동작을 확인하는데에는 적합하지 않다. However, when applying such a technology, since it is implemented using the socket communication technology, which is a communication technology on the Internet, it is excellent for collecting a large amount of data at high speed, but it is not suitable for the operator visually confirming the malware collection operation.

그리고, 먼저 언급한 대로 확인할 사이트의 수가 1~2백만개 수준이 아닌 1~2만개 또는 그 이하의 사이트를 3~4일 간격으로 확인만 해도 바라는 목적을 달성할 수 있으므로 소켓통신으로 구현하는 것은 적절치 못한 선택이다. And, as mentioned earlier, it is not appropriate to implement socket communication because it is possible to achieve the desired purpose by checking 1 to 20,000 or less sites at intervals of 3 to 4 days instead of 1 to 2 million. It is a bad choice.

이에, 본 출원인은 PC상의 웹 브라우저를 자동으로 제어하는 기술의 적용을 고려하였다. 이를 사용하면 소켓통신으로 인터넷을 접속하겠지만 일단 그 위에서 동작하는 웹 브라우저를 제어하므로 움직임이나 처리과정을 운영자가 시각적으로 확인이 가능하게 되어 유지보수가 쉬운 장점이 있다. Accordingly, the present applicant has considered the application of a technology for automatically controlling a web browser on a PC. If you use this, you will connect to the Internet through socket communication, but once you control the web browser running on it, the operator can visually check the movement or processing process, which is easy to maintain.

그 기본구성을 도 2에 도시하였다. 도 2를 참조하면, 그 구성은 도 1 에 도시된 것과 유사하지만, 외관상 사용자에게 웹브라우저로 시각적 확인이 가능하다는 것이 차이점이 있다. The basic configuration is shown in FIG. Referring to FIG. 2, the configuration is similar to that shown in FIG. 1, except that the user can visually check the appearance with a web browser.

내부흐름을 보면, 웹브라우저 내에서 사이트를 방문할 때는 기술적으로 앞서 설명한 소켓통신과 같다. 인터넷 익스플로러는 개발자가 다른 용도로 사용할 수 있게 구성되어 있는데 웹 브라우저를 개발자의 프로그램 소스에 삽입할 수 있게 인터페이스를 제공하고 있긴 하지만 스스로 동작하게 할 수 있는 용도로 설계된 기술이 아니기 때문에 잘못 설계할 경우 시스템에 장애가 생기고 장시간 운영이 불가능하다. In terms of internal flow, visiting a site from within a web browser is technically the same as the socket communication described earlier. Internet Explorer is designed for developers to use it for other purposes. Although it provides an interface for inserting a web browser into the developer's program source, it is not a technology designed to make itself work. There is a failure, and long time operation is impossible.

도 2 에 도시된 시스템을 자동제어하기 위해서는, 웹브라우저가 네비게이션(Navigaton)중에 사용자코드를 호출하는 하는 시점에 페이지가 바뀌는 동작을 임의로 조정하기 위한 가로채기 코드를 호출하도록 설정해 주어야한다. 가로채기 코드 호출 프로세스는 웹브라우저를 초기화하고 가로채기 코드를 삽입함으로써 설정된다.In order to automatically control the system shown in FIG. 2, the web browser should be set to call an interception code for arbitrarily adjusting the page changing operation at the time of navigating the user code during navigation. The interception code invocation process is established by initializing the web browser and inserting interception code.

그러나, 이러한 방식에 따르면, 도 3 에 도시된 바와 같이, 웹브라우저가 사용자 코드를 호출하는 시점에서 웹브라우저의 네비게이션 동작이 종료되지 않고 호출되고 있고, 또한 가로채기코드에서 다시 웹브라우저의 네비게이션을 호출하나 가로채기 동작이 종료되지 못한 채로 호출하게된다. According to this method, however, as shown in FIG. 3, the navigation operation of the web browser is called without being terminated at the time when the web browser calls the user code, and the navigation of the web browser is called again from the interception code. However, the intercept operation is called without ending.

도 3 에서 보는 바와 같이, 이러한 방법으로 반복적으로 실행할 경우 시스템내의 스택이 오버플로우가 발생하여 시스템의 동작이 멈출 가능성이 높아지는 문제점이 발생한다.As shown in FIG. 3, when repeatedly executed in this manner, there is a problem in that the stack in the system overflows, thereby increasing the possibility of stopping the operation of the system.

본 발명이 해결하고자 하는 과제는, 관리자의 수작업이 필요없이, 자동으로 악성 코드를 유포하는 사이트를 감시하여 악성 코드를 수집할 수 있는 악성 코드 수집 방법 및 장치를 제공하는 것이다.The problem to be solved by the present invention is to provide a malicious code collection method and apparatus that can collect malicious code by automatically monitoring the site that distributes malicious code without the need for manual administrators.

상술한 과제를 이루기 위한 본 발명의 악성 코드 수집 방법은, (a) 악성 코드 수집 장치가 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB 와 각 사이트에 접속하여 수행할 조건 및 동작 명령을 저장한 조건 및 명령 DB를 구비하는 단계; (b) 악성 코드 수집 장치가 사이트 DB 로부터 주소 정보를 판독하는 단계; (c) 악성 코드 수집 장치가 판독된 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하는 단계; 및 (d) 악성 코드 수집 장치가 시스템 타이머를 설정하여, 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여, 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집하는 단계를 포함한다.The malicious code collection method of the present invention for achieving the above object, (a) the condition DB and the condition and operation command to be performed by accessing each site and the site DB that stores the address information of suspicious sites that cause malicious code collection device Comprising a condition and a command DB for storing; (b) the malicious code collecting device reading the address information from the site DB; (c) the malicious code collecting device accessing the suspicious site according to the read address information and receiving a web page; And (d) the malicious code collecting device sets a system timer to execute the malicious code collecting program every cycle of the system timer to read one condition and operation command stored in the condition and operation DB, and the condition is satisfied. Collecting malicious code by executing an action command.

또한, 상술한 (d) 단계는 (d1) 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램이 실행되면, 악성 코드 수집 장치가 조건 및 동작 DB 에 저장된 조건을 판독하고, 수신된 웹페이지의 상태가 판독된 조건을 만족하는지 여부를 조사하는 단계; 및 (d2) 웹페이지의 상태가 판독된 조건을 만족하면, 악성 코드 수집 장치가 조건과 연계되어 저장된 동작 명령을 조건 및 동작 DB에서 판독하여 실행하 고, 시스템 타이머의 다음 사이클에 수행할 다음 조건 및 동작 명령을 설정하는 단계를 포함한다.In addition, in the step (d) described above, when the malicious code collecting program is executed every cycle of the system timer (d1), the malicious code collecting device reads the condition and the condition stored in the operation DB, and the state of the received web page is read. Investigating whether the satisfied condition is satisfied; And (d2) if the state of the webpage satisfies the read condition, the malicious code collecting device reads and executes the stored action instruction from the condition and action DB in association with the condition, and performs the next condition to be performed in the next cycle of the system timer. And setting an operation command.

또한, 상술한 (d2) 단계에서 동작 명령은 새로운 웹페이지로의 접속명령이고, (d2) 단계에서, 악성 코드 수집 장치는 동작 명령에 따라서 웹페이지에 접속할 수 있다.In addition, in the above-described step (d2), the operation command is a connection command to a new web page, and in step (d2), the malicious code collecting device may access the web page according to the operation command.

또한, 상술한 악성코드 수집 방법은, (e) 시스템 타이머의 다음 사이클에, (d2) 단계에서 설정된 조건 및 동작 명령에 대해서 (d) 단계를 수행하는 단계를 더 포함할 수 있다.In addition, the above-described malicious code collection method may further include (e) performing step (d) on the condition and operation command set in step (d2) in the next cycle of the system timer.

또한, 상술한 조건은 특정 문자열로 설정되고, 상술한 (d) 단계는 웹페이지에 특정 문자열이 포함되어 있는지 여부를 조사하여, 특정 문자열이 웹페이지에 포함된 경우에는 조건이 만족된 것으로 판단할 수 있다.In addition, the above-described condition is set to a specific character string, and step (d) described above examines whether or not a specific character string is included in the web page, and determines that the condition is satisfied when the specific character string is included in the web page. Can be.

또한, 상술한 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고, (d) 단계는 아이디 또는 비밀번호를 의미하는 문자열이 웹페이지에 포함된 경우에 조건이 만족된 것으로 판단하여, 사이트에 로그인을 수행할 수 있다.In addition, the above-described condition is set to a string representing an ID or password required for login, and step (d) determines that the condition is satisfied when a string representing an ID or password is included in the webpage, and the You can log in.

또한, 상술한 (d) 단계는 조건이 만족되면, 사이트에 게시된 다운로드 탭을 클릭하여 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행할 수 있다.In addition, in the step (d) described above, if the condition is satisfied, the operation command for downloading malicious code from the site may be performed by clicking the download tab posted on the site.

또한, 상술한 악성 코드 수집 방법은 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록될 수 있다.In addition, the above-described malicious code collection method may be read by a computer and recorded as executable program code.

한편, 상술한 기술적 과제를 이루기 위한 본 발명의 악성 코드 수집 장치는, 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB; 의심 사이트에 접속하여 수행할 동작 명령 및 동작 명령을 수행하기 위한 조건을 저장한 조건 및 명령 DB; 입력된 사이트 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하고, 수신된 웹페이지의 내용을 포함하는 상태 정보를 출력하는 웹브라우저; 및 사이트 DB 로부터 사이트의 주소 정보를 판독하여 웹브라우저로 출력하고, 웹브라우저로부터 상태 정보를 수신하며, 시스템 타이머를 설정하고, 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여 악성 코드를 수집하는 타이머 제어부를 포함한다.On the other hand, the malicious code collection apparatus of the present invention for achieving the above technical problem, the site DB that stores the address information of the suspicious sites that cause malicious code; A condition and command DB for storing an operation command to be performed by accessing a suspicious site and a condition for performing the operation command; A web browser accessing a suspicious site according to the input site address information, receiving a web page, and outputting status information including the content of the received web page; And reading the address information of the site from the site DB and outputting it to a web browser, receiving status information from the web browser, setting a system timer, and executing a malware collection program every cycle of the system timer to collect malicious code. It includes a timer controller.

또한, 상술한 타이머 제어부는 시스템 타이머의 한 사이클마다 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 상태 정보와 조건을 비교하여 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집할 수 있다.In addition, the above-described timer control unit reads one condition and operation command stored in the condition and operation DB every cycle of the system timer, compares the state information with the condition, executes the operation command when the condition is satisfied, and executes the malicious code. Can be collected.

또한, 상술한 동작 명령은 새로운 웹페이지로의 접속명령이고, 악성 코드 수집 장치는 동작 명령에 따라서 웹페이지에 접속할 수 있다.In addition, the above-described operation command is a connection command to a new web page, and the malicious code collecting device can access the web page according to the operation command.

또한, 상술한 조건은 특정 문자열로 설정되고, 타이머 제어부는 웹페이지에 특정 문자열이 포함되어 있는지 여부를 조사하여, 특정 문자열이 웹페이지에 포함된 경우에는 조건이 만족된 것으로 판단할 수 있다.In addition, the above-described condition is set to a specific character string, and the timer controller may determine whether the specific character string is included in the web page by checking whether the specific character string is included in the web page.

또한, 상술한 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고, 타이머 제어부는 아이디 또는 비밀번호를 의미하는 문자열이 웹페이지에 포함된 경우에 조건이 만족된 것으로 판단하여, 사이트에 로그인을 수행하는 동작 명령을 실행할 수 있다.In addition, the above-described condition is set to a string representing an ID or password required for login, and the timer controller determines that the condition is satisfied when a string representing an ID or password is included in the web page and logs in to the site. You can execute the operation command to perform.

또한, 상술한 타이머 제어부는 조건이 만족되면, 사이트에 게시된 다운로드 탭을 클릭하여 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행할 수 있다.In addition, the above-described timer control unit may perform an operation command for downloading malicious code from the site by clicking the download tab posted on the site when the condition is satisfied.

상술한 바와 같이, 본 발명은 사전에 악성 코드를 발생시킬 우려가 있는 웹사이트 목록을 사전에 저장하고, 일정한 시간 간격으로 자동화된 프로그램에 의해서 해당 사이트들에 접속하여 악성 코드를 수집함으로써, 종래기술의 관리자가 일일이 각각의 사이트에 직접 접속함으로서 발생하는 인력 및 시간 소모로 인한 비용 낭비를 해결하는 효과가 있다.As described above, the present invention by storing a list of websites that may cause malicious code in advance, and by accessing the sites by an automated program at regular intervals to collect malicious code, It is effective to solve the waste of manpower and time wasted by the administrator of each direct access to each site.

또한, 본 발명은 웹브라우저를 제어하여 자동으로 웹사이트에 접속하여 악성 코드를 수집하므로, 관리자가 악성 코드 수집 작업을 시각적으로 모니터링이 가능하고, 이에 따라서 관리가 용이한 효과가 있다In addition, since the present invention collects malicious code by automatically accessing a website by controlling a web browser, an administrator can visually monitor a malicious code collecting operation, and thus, there is an easy management.

또한, 본 발명은 웹브라우저의 동작과는 서로 독립적으로, 시스템의 타이머 호출 기능을 이용하여 웹사이트의 현재 상태와 사전에 저장된 조건을 비교하여, 조건을 만족할 때 악성 코드 수집 동작을 실행함으로써, 자동제어를 위해 웹브라우저가 네비게이션(Navigaton)중에 사용자코드를 호출하는 하는 시점에서 가로채기코드를 호출하도록 하는 방법을 적용할 때 발생하는 스택오버플로우를 해결하는 효과가 있다.In addition, the present invention is independent of the operation of the web browser, by using the timer call function of the system by comparing the current state of the website with the pre-stored conditions, by executing a malicious code collection operation when the conditions are satisfied, automatic For the control, it is effective to solve the stack overflow that occurs when the web browser calls the interception code when the user code is called during navigation.

또한, 타이머 제어에 의한 악성 코드 수집 방법은 웹브라우저를 자동제어할 필요가 있는 분야에 다양하게 응용이 가능하다. 악성코드 사이트가 아니고 다른 특 정사이트의 변경사항을 주기적으로 조사할 필요가 있을 때나 자동으로 특정사이트에 접근해서 데이터를 가져올때도 적용이 가능하고, 단순히 특정 검색어를 사용해서 검색엔진이 제공되는 사이트에서 검색한후 나온 결과를 분석하고 다시 해당사이트를 방문해서 데이터를 수집하는 작업에도 응용이 가능하다.In addition, the malicious code collection method by the timer control can be applied to a variety of applications that need to automatically control the web browser. It can be applied when you need to periodically check the changes of other specific sites, or when you want to automatically access specific sites and import data, and on sites where search engines are provided by simply using specific search terms. It can also be applied to analyze the results of a search and then visit the site again and collect data.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

도 4 는 본 발명에 따른 웹페이지 감시를 통한 악성코드 수집 장치의 전체 시스템 구성을 도시하는 도면이다. 도 1을 참조하면, 본 발명의 악성 코드 수집 장치는 인터넷망을 통해서 복수의 의심 사이트 서버(400)와 복수의 사용자 단말(600)들과 연결된다.4 is a diagram showing the overall system configuration of the malicious code collection apparatus through the web page monitoring according to the present invention. Referring to FIG. 1, the malicious code collection device of the present invention is connected to a plurality of suspicious site servers 400 and a plurality of user terminals 600 through an internet network.

악성 코드 수집 장치는 후술하는 바와 같이, 의심 사이트 서버(400)에 주기적으로 접속하여 해당 사이트 서버(400)로부터 악성 코드를 수집하여 내부에 저장하고, 안티-악성코드 프로그램을 생성하여 사용자 단말(600)들로 제공한다. As described below, the malicious code collecting apparatus periodically connects to the suspicious site server 400, collects malicious codes from the corresponding site server 400, stores the malicious codes therein, and generates an anti-malware program to the user terminal 600. Provided by).

도 5 는 악성 코드 수집 장치의 구성을 도시하는 블록도이다. 도 5를 참조하면, 본 발명의 악성 코드 수집 장치는 타이머 제어부(540), 조건 및 동작 DB(520), 악성 코드 DB(510), 사이트 DB(530), 웹브라우저(550), 및 통신부(560)를 포함하여 구성된다.5 is a block diagram showing the configuration of a malicious code collection device. Referring to FIG. 5, the malicious code collecting device of the present invention includes a timer controller 540, a condition and operation DB 520, a malicious code DB 510, a site DB 530, a web browser 550, and a communication unit ( 560.

먼저, 사이트 DB(530)는 악성 코드를 발생시킨 이력이 있거나, 악성 코드를 발생시킬 가능성이 있는 사이트 목록을 저장하고, 악성 코드 DB(510)는 의심 사이트들로부터 수집된 악성 코드를 저장한다.First, the site DB 530 stores a list of sites that have a history of generating malicious code or are likely to generate malicious code, and the malicious code DB 510 stores malicious code collected from suspicious sites.

조건 및 동작 DB(520)는 조건 항목, 조건 항목에 저장된 조건이 만족되었을 때 수행될 동작 명령, 및 동작 명령들이 수행된 이후에 다음으로 조사될 조건과 수행될 명령이 저장된 위치를 나타내는 다음 조건 항목이 배열 형태로 저장되어 있다.The condition and action DB 520 indicates a condition item, an operation command to be executed when the condition stored in the condition item is satisfied, and a next condition item indicating a condition to be examined next after the operation commands are executed and a location to be executed. This array is stored.

타이머 제어부(540)는 일정한 시간 주기로 사이트 DB(530)에서 접속할 사이트 주소를 판독하고, 웹브라우저(550)를 제어하여 판독된 사이트에 접속한다. 그 후, 시스템 타이머를 작동시키고, 타이머 설정 시간 주기의 한 사이클마다, 웹브라우저(550)로부터 웹페이지의 상태 정보를 입력받아 조건 및 동작 DB(520)에 저장된 동작 수행 조건이 만족하는지 여부를 판단한 후, 조건이 만족되면 사전에 조건 및 동작 DB(520)에 저장된 동작을 수행하여 악성코드를 수집하고, 수집된 악성 코드를 악성 코드 DB(510)에 저장한다.The timer controller 540 reads a site address to be accessed from the site DB 530 at a predetermined time period, and controls the web browser 550 to access the read site. Thereafter, the system timer is started, and at each cycle of the timer setting time period, the web browser 550 receives the status information of the web page to determine whether the condition and the condition for performing the operation stored in the operation DB 520 are satisfied. After the condition is satisfied, the malicious code is collected by performing an operation stored in the condition and operation DB 520 in advance, and the collected malicious code is stored in the malicious code DB 510.

웹브라우저(550)는 타이머 제어부(540)로부터 입력되는 제어신호에 따라서 일정한 시간 주기로 의심 사이트에 접속하여 사이트에서 수신된 웹페이지의 현재 상태 정보를 타이머 제어부(540)로 출력하고, 타이머 제어부(540)로부터 입력되는 동작 수행 명령에 따라서 접속된 사이트에 로그인, 무료 다운로드 등의 동작 명령을 실행하여 악성 코드를 수집하여 타이머 제어부(540)로 출력한다. 웹브라우저(550)는 PC에 설치되어 있는 운영체제내에 인터넷상의 웹사이트를 볼 수 있게 해주는 프로그램으로 대표적으로 윈도우의 개발사인 마이크로소프트사에서 개발하였고 계층적으로 다시 해당사의 제품인 익스플로러가 이 웹브라우저의 기능을 이용하여 최종적으로 사용자에게 보여진다. 물론, 다른 응용소프웨어를 개발하고자 하는 회사나 프로그래머들도 활용이 가능하게 설계되어 있다. The web browser 550 accesses the suspicious site at regular time intervals according to the control signal input from the timer controller 540, and outputs the current state information of the web page received from the site to the timer controller 540, and the timer controller 540. In accordance with the operation execution command input from the) to execute the operation command such as login, free download, etc. to the connected site to collect malicious code and output to the timer control unit 540. The web browser 550 is a program that allows users to view websites on the Internet within the operating system installed on the PC. The web browser 550 is developed by Microsoft, a developer of Windows, and hierarchically again, the explorer, a product of the company, functions as the web browser. Is finally shown to the user. Of course, it is designed to be used by companies or programmers who want to develop other application software.

통신부(560)는 소정의 통신 프로토콜에 따라서 인터넷망을 통해서 사용자 단말(600)들 및 의심 사이트 서버(400)들과 통신을 수행한다.The communication unit 560 communicates with the user terminals 600 and the suspicious site server 400 through the Internet network according to a predetermined communication protocol.

도 6 은 본 발명의 바람직한 실시예에 따른 타이머 제어부(540)와 웹브라우저(550)에서 수행되는 동작을 개념적으로 설명한 도면이다.6 conceptually illustrates operations performed by the timer controller 540 and the web browser 550 according to an exemplary embodiment of the present invention.

사이트 DB(530)로부터 판독된 의심 사이트에 접속되면, 타이머 제어부(540)는 조건 및 동작 DB(520)로부터 조건을 판독하고, 웹브라우저(550)로부터 현재 상태를 입력받는다. 현재 상태란 현재 접속하고 있거나, 화면에 표시되고 있는 웹페이지의 주소와 그 내용을 의미한다.When the suspect site read from the site DB 530 is connected, the timer control unit 540 reads the condition from the condition and operation DB 520 and receives the current state from the web browser 550. The current state refers to the address and contents of a web page currently being accessed or displayed on the screen.

또한, 조건 및 동작 DB(520)는 도 6 에 도시된 바와 같이, 조건 항목과 조건을 만족할 때 수행될 동작 항목, 및 동작이 수행된 후 다음에 수행될 동작과 이에 대한 조건을 지정하는 다음 조건 항목들을 배열 형태로 저장한다.Also, as shown in FIG. 6, the condition and operation DB 520 may specify a condition item and an operation item to be performed when the condition is satisfied, and a next condition that specifies a next operation to be performed after the operation is performed and a condition thereof. Store items in an array.

타이머 제어부(540)는 웹브라우저(550)로부터 입력된 현재 상태가 판독된 조건을 만족하는지 여부를 조사하고, 만족하는 경우에는 해당 조건과 연계되어 저장된 동작 명령을 판독하여 웹브라우저(550)로 출력하며, 웹브라우저(550)는 타이머 제어부(540)로부터 입력된 명령을 수행한다.The timer controller 540 examines whether the current state input from the web browser 550 satisfies the read condition, and if it satisfies it, reads an operation command stored in association with the condition and outputs it to the web browser 550. In addition, the web browser 550 performs a command input from the timer controller 540.

도 7a 및 도 7b 는 본 발명의 바람직한 실시예에 따른 웹페이지 감시를 통한 악성코드 수집 방법을 설명하는 도면이다. 먼저, 도 7a 를 참조하여 설명하면, 타이머 제어부(540)는 먼저, 사이트 DB(530)로부터 접속할 사이트의 주소 정보를 판독하여 웹브라우저(550)로 출력하고(S710), 조건 및 동작 DB(520)에서 시작 조건 을 판독하여 설정한다(S720). 이 때, 조건을 설정한다는 의미는 조건 및 동작 내용을 저장한 조건 및 동작 DB(520)의 배열 위치를 설정한다는 의미이다.7A and 7B are diagrams illustrating a method of collecting malicious codes through webpage monitoring according to a preferred embodiment of the present invention. First, referring to FIG. 7A, the timer controller 540 first reads address information of a site to be accessed from the site DB 530 and outputs the address information to the web browser 550 (S710), and the condition and operation DB 520. In step S720, the start condition is read and set. At this time, the setting of the condition means setting the arrangement position of the condition and operation DB 520 storing the condition and the operation contents.

웹브라우저(550)는 타이머 제어부(540)로부터 사이트 주소 정보를 입력받고, 해당 사이트에 접속하여 웹페이지를 수신한다(S730).The web browser 550 receives site address information from the timer controller 540 and accesses the corresponding site to receive a web page (S730).

그 후, 타이머 제어부(540)는 시스템 타이머를 설정하여 일정한 시간 간격으로 도 7b 에 도시된 과정을 수행하는 악성코드 수집 프로그램을 실행한다(S740).Thereafter, the timer controller 540 sets a system timer to execute the malware collection program performing the process shown in FIG. 7B at regular time intervals (S740).

도 7b를 참조하여, 제 S740 단계에서 수행되는 과정을 설명하면, 먼저, 타이머가 설정된 후, 프로그램이 실행되면, 타이머 제어부(540)는 설정 조건을 조건 및 동작 DB(520)에서 판독한다(S741). 설정 조건은 상술한 바와 같이 판독될 조건을 나타내는 것으로서, 현재 접속된 사이트에 대해서 최초로 수행되는 경우에는 상술한 제 S720 단계에서 설정된 조건이 판독되고, 현재 접속된 사이트에 대해서 최초로 수행되는 것이 아닌 경우에는 후술하는 제 S749 단계에서 설정된 조건이 판독된다.Referring to FIG. 7B, when the process performed in step S740 is described, first, when a timer is set and a program is executed, the timer controller 540 reads the setting condition from the condition and operation DB 520 (S741). ). The setting condition indicates a condition to be read as described above. When the setting condition is first performed on the currently connected site, when the condition set in step S720 is read and is not performed on the currently connected site for the first time. The condition set in step S749 described later is read.

조건이 판독되면, 타이머 제어부(540)는 웹브라우저(550)로부터 상태 정보를 입력받는다(S743). 여기서 상태 정보란, 상술한 바와 같이, 현재 접속하고 있거나 화면에 표시되고 있는 웹페이지의 주소와 그 내용 등을 말한다.When the condition is read, the timer controller 540 receives state information from the web browser 550 (S743). As described above, the status information refers to the address of the web page currently connected or displayed on the screen, its contents, and the like.

그 후, 타이머 제어부(540)는 판독된 조건과 웹브라우저(550)의 상태 정보를 비교하여 조건이 만족되었는지 여부를 조사하고, 조건이 만족되지 않은 경우에는 다음 조건을 설정하지 않고, 즉, 현재 웹페이지에 대한 악성 코드 정보 수집을 종료한다(S745).Thereafter, the timer controller 540 compares the read condition with the state information of the web browser 550 to check whether the condition is satisfied, and if the condition is not satisfied, does not set the next condition, that is, the present condition. The collection of malicious code information for the web page ends (S745).

한편, 판독된 조건과 웹브라우저(550)의 상태 정보와 비교한 결과, 조건이 만족된 경우에는 해당 조건에 대응되어 저장된 동작 명령을 판독하고, 동작 명령을 웹브라우저(550)로 출력하여 해당 동작을 수행하고(S747), 동작이 완료되면 조건 및 동작 DB(520) 의 현재 조건에 연계하여 저장된 다음 조건 항목을 판독하여 다음에 수행될 조건을 설정한다(S749).On the other hand, as a result of comparing the read condition with the status information of the web browser 550, if the condition is satisfied, the operation command stored corresponding to the condition is read, and the operation command is output to the web browser 550 to perform the operation. In operation S747, when the operation is completed, the next condition item stored in association with the condition and the current condition of the operation DB 520 is read to set a condition to be performed next (S749).

제 S740 단계에서 설정된 타이머의 한 사이클 동안에, 조건 및 동작 DB(520)에 저장된 하나의 조건과 하나의 동작에 대해서 상술한 제 S741 단계 내지 제 S749 단계가 수행되고, 그 다음 타이머 사이클 동안에 제 S749 단계에서 설정된 조건과 이에 대응되는 동작이 수행되고, 조건 및 동작 DB(520)에 저장된 모든 조건 및 동작이 수행되면, 상술한 제 710 단계부터 다시 수행된다. During one cycle of the timer set in step S740, the above-described steps S741 to S749 are performed for one condition and one operation stored in the condition and operation DB 520, and then for the next timer cycle, step S749. If the condition set in step S and an operation corresponding thereto are performed, and all conditions and operations stored in the condition and operation DB 520 are performed, the operation is performed again from the above-described step 710.

상술한 제 S741 단계 내지 제 S749 단계의 각 과정을 예시적으로 추가 설명하면 다음과 같다.Each process of the above-described step S741 to step S749 will be further described as follows.

조건 및 동작 DB(520)는 사전에 조건1 항목에 특정 문자열(예컨대, 일반적인 쇼핑몰 사이트의 메인 페이지의 최하단에 표시되는 "회사소개","이메일무단수집거부"등의 문자열)을 저장하고 제 S741 단계에서 이 문자열이 타이머 제어부(540)으로 판독된다.The condition and operation DB 520 stores a specific character string (eg, a character string such as "About Us", "E-mail Collection Rejection" displayed at the bottom of the main page of a general shopping mall site) in the condition 1 item in advance, and S741. This string is read by the timer control unit 540 in step.

제 S743 단계에서, 타이머 제어부(540)는 웹브라우저(550)로부터 상태 정보로서 접속한 웹페이지에 포함된 문자열들을 입력받는다. In operation S743, the timer controller 540 receives strings included in the web page accessed as status information from the web browser 550.

제 S745 단계에서, 타이머 제어부(540)는 상태 정보에 포함된 문자열들에 조건으로 판독된 문자열과 동일한 문자열이 포함되어 있는지 여부를 비교하여, 동일 한 문자열이 포함되어 있는 경우에는 조건이 만족된 것으로 판단한다. 예컨대, 상태 정보에 "회사소개"이라는 문자열이 포함된 경우에, 웹페이지가 모두 수신되었다고 판단할 수 있다.In step S745, the timer controller 540 compares whether the strings included in the status information include the same string as the string read as a condition, and if the same string is included, the condition is satisfied. To judge. For example, when the status information includes the string "About Us", it may be determined that all web pages have been received.

조건이 만족된 경우에, 제 S747 단계는 동작 명령을 조건 및 동작 DB(520)로부터 판독하여 웹브라우저(550)로 출력하여 해당 동작을 수행한다. 이 때, 수행되는 동작은, 화면상에 특정요소에 데이터를 기재할 수도 있고, 특정한 버튼 또는 링크를 클릭하여 웹브라우저(550)가 다른 페이지로 이동하게 할 수 있다. 혹은 새로운 페이지로 이동하도록 새로운 Navigation 명령을 출력할 수 있다. When the condition is satisfied, step S747 reads the operation command from the condition and operation DB 520 and outputs it to the web browser 550 to perform the corresponding operation. In this case, the performed operation may include data on a specific element on the screen, and may cause the web browser 550 to move to another page by clicking a specific button or link. Or you can print a new Navigation command to go to a new page.

동작이 수행되면, 제 749 단계는 다음번 타이머 사이클에서 수행될 조건 및 동작이 저장된 배열내의 위치를 지정하고 현재 타이머 사이클은 종료된다. If the operation is performed, step 749 designates the position in the array in which the condition and operation to be performed in the next timer cycle are stored and the current timer cycle ends.

예시적으로 상술한 것 이외에도, 조건 및 동작은 다양하게 설정될 수 있다. 예컨대, 조건으로 웹 페이지내에 jpg 또는 bmp 형식의 그림 파일 경로명을 설정할 수 있다. 이는 웹페이지에서 "무료 다운로드" 등의 내용을 사용자에게 표시하는데 일반적으로 이용되는 것으로, 웹페이지에 "무료 다운로드"항목이 포함된 경우에는 조건이 만족되고, 이에 대응되는 동작 명령으로서 "무료 다운로드"탭을 클릭하여 현재 접속중인 사이트로부터 다운로드를 수행할 수 있다.Exemplarily, in addition to those described above, conditions and operations may be variously set. For example, as a condition, a picture file path name in jpg or bmp format can be set in a web page. This is generally used to display contents such as "free download" to a user on a web page. If the web page includes a "free download" item, the condition is satisfied and a corresponding operation command is "free download". You can click the tab to download from the site you are currently connected to.

또한, 조건으로 "아이디" 및 "비밀번호"와 같은 로그인 박스내에 포한되는 문자열을 설정하고, 웹페이지에 이러한 문자열이 포함되어 해당 조건을 만족하는 경우에는 로그인을 수행하도록 동작 명령을 설정하여 수행할 수 있다.In addition, as a condition, a character string included in a login box such as "ID" and "password" can be set, and if such a string is included in a web page and the condition is satisfied, an operation command can be set to perform a login. have.

또한, 접속한 사이트에 ACTIVE X 와 같은 임의적인 다운로드 코드가 숨겨져 있는지 여부를 조건으로 설정하고, 이러한 임의적인 다운로드 코드가 숨겨져 있는 경우에 조건이 만족된 것으로 판단하여, ACTIVE X를 설치하여 접속중인 사이트가 배포하는 임의로 배포하는 코드를 다운로드 하는 동작을 수행할 수 있다.In addition, the condition is set whether or not an arbitrary download code such as ACTIVE X is hidden in the connected site, and if the condition is satisfied when such arbitrary download code is hidden, the site to which ACTIVE X is installed and connected You can download the code to distribute randomly.

상술한 도 7a 및 도 7b 의 과정을 통해서 의심 사이트들로부터 악성 코드 수집 장치에 다운로드된 실행 프로그램들, ACTIVE X, 스크립트들 등("악성 코드"라 통칭함)의 악성 코드들은 일반적인 악성 코드 검출 방식에 따라서 선별되어 악성 코드 DB(510)에 저장된다. 악성 코드를 선별하는 과정은 공지된 기술이므로 구체적인 설명은 생략한다.The malicious codes of executable programs, ACTIVE X, scripts, etc. (collectively referred to as "malware") downloaded from the suspicious sites to the malicious code collecting device through the processes of FIGS. 7A and 7B described above are common malware detection methods. Selected according to the malicious code DB (510) is stored. Since the process of screening malicious code is a known technique, a detailed description thereof will be omitted.

또한, 상술한 도 7a 및 도 7b 에 도시된 과정은 사이트 DB(530)에서 판독된 하나의 사이트에 대해서 수행되는 과정을 설명한 것으로서, 이러한 과정은 사이트 DB(530)에 저장된 모든 사이트에 대해서 순차적으로 수행된다.In addition, the above-described process illustrated in FIGS. 7A and 7B described a process performed for one site read from the site DB 530, which is sequentially performed for all sites stored in the site DB 530. Is performed.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록1장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording 1 devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of a carrier wave (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1 은 종래 기술에 따른 웹 검색 엔진의 구성을 개념적으로 표시한 블록도이다.1 is a block diagram conceptually showing a configuration of a web search engine according to the prior art.

도 2 는 도 1 의 종래 기술에 웹브라우저를 삽입한 구성을 도시하는 블록도이다.FIG. 2 is a block diagram illustrating a configuration in which a web browser is inserted in the prior art of FIG. 1.

도 3 은 도 2 에 도시된 웹브라우저를 삽입한 웹 검색 엔진을 악성 코드 수집에 적용하였을 때 발생 가능한 문제점을 설명하는 도면이다.FIG. 3 is a diagram illustrating a problem that may occur when a web search engine including the web browser shown in FIG. 2 is applied to malicious code collection.

도 4 는 본 발명에 따른 웹페이지 감시를 통한 악성코드 수집 장치의 전체 시스템 구성을 도시하는 도면이다.4 is a diagram showing the overall system configuration of the malicious code collection apparatus through the web page monitoring according to the present invention.

도 5 는 악성 코드 수집 장치의 구성을 도시하는 블록도이다.5 is a block diagram showing the configuration of a malicious code collection device.

도 6 은 본 발명의 바람직한 실시예에 따른 타이머 제어부와 웹브라우저에서 수행되는 동작을 개념적으로 설명한 도면이다.6 is a view conceptually illustrating an operation performed by a timer controller and a web browser according to an exemplary embodiment of the present invention.

도 7a 및 도 7b 는 본 발명의 바람직한 실시예에 따른 웹페이지 감시를 통한 악성코드 수집 방법을 설명하는 도면이다.7A and 7B are diagrams illustrating a method of collecting malicious codes through webpage monitoring according to a preferred embodiment of the present invention.

Claims (14)

(a) 악성 코드 수집 장치가 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB 와 각 사이트에 접속하여 수행할 조건 및 동작 명령을 저장한 조건 및 명령 DB를 구비하는 단계;(a) comprising a site DB storing address information of suspicious sites generating malicious code, and a condition and command DB storing a condition and an operation command to be performed by accessing each site; (b) 상기 악성 코드 수집 장치가 상기 사이트 DB 로부터 주소 정보를 판독하는 단계;(b) the malicious code collecting device reading address information from the site DB; (c) 악성 코드 수집 장치가 판독된 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하는 단계; 및(c) the malicious code collecting device accessing the suspicious site according to the read address information and receiving a web page; And (d) 악성 코드 수집 장치가 시스템 타이머를 설정하여, 상기 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여, 상기 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집하는 단계를 포함하는 것을 특징으로 하는 악성 코드 수집 방법.(d) The malicious code collecting apparatus sets a system timer, executes a malicious code collecting program every cycle of the system timer, reads one condition and operation command stored in the condition and operation DB, and the condition is satisfied. And collecting malicious code by executing an operation command in a case. 제 1 항에 있어서, 상기 (d) 단계는The method of claim 1, wherein step (d) (d1) 상기 시스템 타이머의 한 사이클마다 상기 악성 코드 수집 프로그램이 실행되면, 상기 악성 코드 수집 장치가 조건 및 동작 DB 에 저장된 조건을 판독하고, 수신된 웹페이지의 상태가 판독된 조건을 만족하는지 여부를 조사하는 단계; 및 (d1) When the malicious code collecting program is executed every cycle of the system timer, the malicious code collecting device reads the condition and the condition stored in the operation DB, and whether the state of the received web page satisfies the read condition. Investigating; And (d2) 웹페이지의 상태가 판독된 조건을 만족하면, 상기 악성 코드 수집 장치가 상기 조건과 연계되어 저장된 동작 명령을 상기 조건 및 동작 DB에서 판독하여 실행하고, 상기 시스템 타이머의 다음 사이클에 수행할 다음 조건 및 동작 명령을 설정하는 단계를 포함하는 것을 특징으로 하는 악성 코드 수집 방법.(d2) When the state of the webpage satisfies the read condition, the malicious code collecting apparatus reads and executes the stored operation command in association with the condition in the condition and the operation DB, and executes the next cycle of the system timer. Malicious code collection method comprising the step of setting the following conditions and action instructions. 제 2 항에 있어서, The method of claim 2, 상기 (d2) 단계에서 상기 동작 명령은 새로운 웹페이지로의 접속명령이고,In the step (d2), the operation command is a connection command to a new web page, 상기 (d2) 단계에서, 상기 악성 코드 수집 장치는 상기 동작 명령에 따라서 상기 웹페이지에 접속하는 것을 특징으로 하는 악성 코드 수집 방법.In the step (d2), the malicious code collection device is connected to the web page according to the operation command. 제 2 항에 있어서,The method of claim 2, (e) 상기 시스템 타이머의 다음 사이클에, 상기 (d2) 단계에서 설정된 조건 및 동작 명령에 대해서 상기 (d) 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 악성 코드 수집 방법.(e) performing the step (d) of the condition and operation command set in the step (d2) in the next cycle of the system timer. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, The method according to any one of claims 1 to 4, 상기 조건은 특정 문자열로 설정되고,The condition is set to a specific string, 상기 (d) 단계는 상기 웹페이지에 상기 특정 문자열이 포함되어 있는지 여부를 조사하여, 상기 특정 문자열이 상기 웹페이지에 포함된 경우에는 상기 조건이 만족된 것으로 판단하는 것을 특징으로 하는 악성 코드 수집 방법.In the step (d), it is determined whether the specific string is included in the web page, and if the specific string is included in the web page, the malicious code collection method is characterized in that the condition is satisfied. . 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, The method according to any one of claims 1 to 4, 상기 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고,The condition is set to a string representing an ID or password for logging in, 상기 (d) 단계는 상기 아이디 또는 비밀번호를 의미하는 문자열이 상기 웹페이지에 포함된 경우에 상기 조건이 만족된 것으로 판단하여, 상기 사이트에 로그인을 수행하는 것을 특징으로 하는 악성 코드 수집 방법.In the step (d), when the string indicating the ID or the password is included in the web page, the condition is satisfied, and the malicious code collection method is characterized in that the login to the site. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, The method according to any one of claims 1 to 4, 상기 (d) 단계는 상기 조건이 만족되면, 상기 사이트에 게시된 다운로드 탭을 클릭하여 상기 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행하는 것을 특징으로 하는 악성 코드 수집 방법.In the step (d), if the condition is satisfied, the malicious code collection method is configured to perform an operation command for downloading malicious code from the site by clicking a download tab posted to the site. 제 1 항 내지 제 4 항 중 어느 한 항의 악성 코드 수집 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.A recording medium in which the malicious code collection method of any one of claims 1 to 4 can be read by a computer, and recorded with executable program code. 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB;A site DB that stores address information of suspicious sites that cause malicious code; 상기 의심 사이트에 접속하여 수행할 동작 명령 및 상기 동작 명령을 수행하기 위한 조건을 저장한 조건 및 명령 DB;A condition and command DB for storing an operation command to be performed by accessing the suspicious site and a condition for performing the operation command; 입력된 사이트 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신 하고, 수신된 웹페이지의 내용을 포함하는 상태 정보를 출력하는 웹브라우저; 및A web browser accessing a suspicious site according to the input site address information, receiving a web page, and outputting status information including the content of the received web page; And 상기 사이트 DB 로부터 사이트의 주소 정보를 판독하여 상기 웹브라우저로 출력하고, 상기 웹브라우저로부터 상기 상태 정보를 수신하며, 시스템 타이머를 설정하고, 상기 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여 악성 코드를 수집하는 타이머 제어부를 포함하는 것을 특징으로 하는 악성 코드 수집 장치.Read the address information of the site from the site DB and output it to the web browser, receive the status information from the web browser, set a system timer, and run a malicious code collection program every cycle of the system timer. Malicious code collection device comprising a timer control unit for collecting the code. 제 9 항에 있어서, 상기 타이머 제어부는The method of claim 9, wherein the timer control unit 상기 시스템 타이머의 한 사이클마다 상기 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 상기 상태 정보와 조건을 비교하여 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집하는 것을 특징으로 하는 악성 코드 수집 장치.It reads one condition and operation command stored in the condition and operation DB every cycle of the system timer, compares the state information with the condition and executes the operation command to collect malicious code when the condition is satisfied. Malicious code collection device. 제 10 항에 있어서, The method of claim 10, 상기 동작 명령은 새로운 웹페이지로의 접속명령이고, 상기 악성 코드 수집 장치는 상기 동작 명령에 따라서 상기 웹페이지에 접속하는 것을 특징으로 하는 악성 코드 수집 장치.The operation command is an access command to a new web page, and the malicious code collection device connects to the web page according to the operation command. 제 9 항 또는 제 10 항에 있어서, The method according to claim 9 or 10, 상기 조건은 특정 문자열로 설정되고, The condition is set to a specific string, 상기 타이머 제어부는 상기 웹페이지에 상기 특정 문자열이 포함되어 있는지 여부를 조사하여, 상기 특정 문자열이 상기 웹페이지에 포함된 경우에는 상기 조건이 만족된 것으로 판단하는 것을 특징으로 하는 악성 코드 수집 장치.And the timer controller determines whether the specific string is included in the web page, and determines that the condition is satisfied when the specific string is included in the web page. 제 9 항 또는 제 10 항에 있어서, The method according to claim 9 or 10, 상기 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고,The condition is set to a string representing an ID or password for logging in, 상기 타이머 제어부는 상기 아이디 또는 비밀번호를 의미하는 문자열이 상기 웹페이지에 포함된 경우에 상기 조건이 만족된 것으로 판단하여, 상기 사이트에 로그인을 수행하는 동작 명령을 실행하는 것을 특징으로 하는 악성 코드 수집 장치.The timer controller determines that the condition is satisfied when the character string representing the ID or password is included in the web page, and executes an operation command for logging in to the site. . 제 9 항 또는 제 10 항에 있어서, The method according to claim 9 or 10, 상기 타이머 제어부는 상기 조건이 만족되면, 상기 사이트에 게시된 다운로드 탭을 클릭하여 상기 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행하는 것을 특징으로 하는 악성 코드 수집 장치.And the timer controller performs an operation command for downloading malicious code from the site by clicking a download tab posted to the site when the condition is satisfied.
KR1020070121706A 2007-11-27 2007-11-27 Method and apparatus for collecting malicious codes KR100915202B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070121706A KR100915202B1 (en) 2007-11-27 2007-11-27 Method and apparatus for collecting malicious codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070121706A KR100915202B1 (en) 2007-11-27 2007-11-27 Method and apparatus for collecting malicious codes

Publications (2)

Publication Number Publication Date
KR20090054822A true KR20090054822A (en) 2009-06-01
KR100915202B1 KR100915202B1 (en) 2009-09-02

Family

ID=40986699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070121706A KR100915202B1 (en) 2007-11-27 2007-11-27 Method and apparatus for collecting malicious codes

Country Status (1)

Country Link
KR (1) KR100915202B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101044274B1 (en) * 2009-11-03 2011-06-28 주식회사 안철수연구소 Exploit site filtering APPARATUS, METHOD, AND RECORDING MEDIUM HAVING COMPUTER PROGRAM RECORDED
KR101512462B1 (en) * 2013-12-24 2015-04-16 한국인터넷진흥원 Method for analyzing update of malicious code on analysis sytem of malicious code based on culture

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102156340B1 (en) 2014-11-21 2020-09-15 에스케이텔레콤 주식회사 Method and apparatus for blocking web page attack

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100688604B1 (en) * 2004-11-18 2007-03-02 고려대학교 산학협력단 Apparatus and method for intercepting malicious executable code in the network
KR100745639B1 (en) * 2005-08-11 2007-08-02 주식회사 웨어플러스 Method for protecting file system and registry and apparatus thereof
KR20070049514A (en) * 2005-11-08 2007-05-11 한국정보보호진흥원 Malignant code monitor system and monitoring method using thereof
KR100789722B1 (en) * 2006-09-26 2008-01-02 한국정보보호진흥원 The method and system for preventing malicious code spread using web technology

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101044274B1 (en) * 2009-11-03 2011-06-28 주식회사 안철수연구소 Exploit site filtering APPARATUS, METHOD, AND RECORDING MEDIUM HAVING COMPUTER PROGRAM RECORDED
KR101512462B1 (en) * 2013-12-24 2015-04-16 한국인터넷진흥원 Method for analyzing update of malicious code on analysis sytem of malicious code based on culture

Also Published As

Publication number Publication date
KR100915202B1 (en) 2009-09-02

Similar Documents

Publication Publication Date Title
RU2444056C1 (en) System and method of speeding up problem solving by accumulating statistical information
US8667583B2 (en) Collecting and analyzing malware data
CN1740945B (en) Method and system for identifying potential unwanted software
WO2019048858A1 (en) Realtime event detection
EP2610776B1 (en) Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9659175B2 (en) Methods and apparatus for identifying and removing malicious applications
US6981279B1 (en) Method and apparatus for replicating and analyzing worm programs
JP6644001B2 (en) Virus processing method, apparatus, system, device, and computer storage medium
US11750640B2 (en) Systems, methods, and computer-readable media for executing a web application scan service
US20130167236A1 (en) Method and system for automatically generating virus descriptions
US20140137190A1 (en) Methods and systems for passively detecting security levels in client devices
EP2566130A1 (en) Automatic analysis of security related incidents in computer networks
US20120005755A1 (en) Infection inspection system, infection inspection method, storage medium, and program
CN101156156A (en) Remediating effects of an undesired application
CN103023905B (en) A kind of equipment, method and system for detection of malicious link
CN101340434A (en) Malicious content detection and verification method and system for network station
US20110219454A1 (en) Methods of identifying activex control distribution site, detecting security vulnerability in activex control and immunizing the same
JPWO2012001763A1 (en) Computer system management method and client computer
US20220027470A1 (en) Context-based analysis of applications
CN103036896B (en) Method and system for testing malicious links
JP5752642B2 (en) Monitoring device and monitoring method
Bagheri et al. Automated dynamic enforcement of synthesized security policies in android
KR100915202B1 (en) Method and apparatus for collecting malicious codes
RU2481633C2 (en) System and method for automatic investigation of safety incidents
KR101234066B1 (en) Web / email for distributing malicious code through the automatic control system and how to manage them

Legal Events

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