KR100915202B1 - 악성코드 수집 방법 및 장치 - Google Patents

악성코드 수집 방법 및 장치

Info

Publication number
KR100915202B1
KR100915202B1 KR1020070121706A KR20070121706A KR100915202B1 KR 100915202 B1 KR100915202 B1 KR 100915202B1 KR 1020070121706 A KR1020070121706 A KR 1020070121706A KR 20070121706 A KR20070121706 A KR 20070121706A KR 100915202 B1 KR100915202 B1 KR 100915202B1
Authority
KR
South Korea
Prior art keywords
condition
malicious code
site
web page
operation command
Prior art date
Application number
KR1020070121706A
Other languages
English (en)
Other versions
KR20090054822A (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 KR1020070121706A priority Critical patent/KR100915202B1/ko
Publication of KR20090054822A publication Critical patent/KR20090054822A/ko
Application granted granted Critical
Publication of KR100915202B1 publication Critical patent/KR100915202B1/ko

Links

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/00Information and communication technology [ICT] specially adapted for implementation of business processes of 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

본 발명은 악성 코드 수집 방법을 개시한다. 본 발명은 사전에 악성 코드를 발생시킬 우려가 있는 웹사이트 목록을 사전에 저장하고, 일정한 시간 간격으로 자동화된 프로그램에 의해서 해당 사이트들에 접속하여 악성 코드를 수집함으로써, 종래기술의 관리자가 일일이 각각의 사이트에 직접 접속함으로서 발생하는 인력 및 시간 소모로 인한 비용 낭비를 해결하는 효과가 있다. 또한, 본 발명은 웹브라우저를 제어하여 자동으로 웹사이트에 접속하여 악성 코드를 수집하므로, 관리자가 악성 코드 수집 작업을 시각적으로 모니터링이 가능하고, 이에 따라서 관리가 용이한 효과가 있다. 또한, 본 발명은 웹브라우저의 동작과는 서로 독립적으로, 시스템의 타이머 호출 기능을 이용하여 웹사이트의 현재 상태와 사전에 저장된 조건을 비교하여, 조건을 만족할 때 악성 코드 수집 동작을 실행함으로써, 자동제어를 위해 웹브라우저가 네비게이션(Navigaton)중에 사용자코드를 호출하는 하는 시점에서 가로채기코드를 호출하도록 하는 방법을 적용할 때 발생하는 스택오버플로우를 해결하는 효과가 있다.

Description

악성코드 수집 방법 및 장치{Method and apparatus for collecting malicious codes}
본 발명은 악성코드 수집 방법 및 장치에 관한 것으로서, 보다 구체적으로는 악성 코드를 유포시키는 웹 사이트를 감시하여 악성 코드를 수집하는 방법 및 장치에 관한 것이다.
악성 코드란 말웨어(malware, malicious software), 악성 프로그램(malicious Program)이라고도 칭해지고, 사용자가 주로 웹페이지를 검색할 때, P2P 서비스를 이용할 때, 셰어웨어를 사용할 때, 불법복제 프로그램을 사용할 때, 전자우편의 첨부파일 또는 메신저 파일을 열 때 등의 경우에 사용자의 컴퓨터에 침투하거나 설치를 유도하여, 영리적인 목적의 광고 노출, 네트워크 트래픽 발생, 시스템 성능 저하, 파일 삭제, 이메일 자동발송, 개인 정보 유출, 원격 제어 등의 작업을 수행한다.
악성코드는 바이러스, 웜바이러스(worm virus), 트로이목마(Trojan horse)로 분류된다. 악성코드의 대표격인 바이러스는 프로그램, 실행 가능한 어느 일부분 혹은 데이터에 자기 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의된다. 감염대상 프로그램 혹은 코드를 변형해 바이러스 코드 혹은 일부 코드를 복제해 감염시키고 다른 대상을 감염시킴으로써 확산된다.
웜은 다른 프로그램의 감염없이 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의된다. 웜은 네트워크 어웨어 바이러스(Network Aware virus)라고 불리기도 한다. 웜은 기억장소에 코드 형태로 존재하거나 혹은 실행파일로 존재하며 실행되면 파일이나 코드 자체를 다른 시스템으로 복사한다.
트로이목마는 컴퓨터의 프로그램 내에 사용자는 알 수 없도록 프로그래머가 고의로 포함시킨 자기 자신을 복사하지 않는 명령어들의 조합이라고 정의된다. 고의로 포함시켰다는 점에서 프로그램의 버그(bug)와 다르며, 자신을 복사하지 않는다는 점에서 바이러스나 웜과도 약간 다르다.
이러한 악성 코드들은 시스템의 성능을 저하시키거나, 사용자 컴퓨터에 저장된 중요 파일들을 임의로 삭제하는 등의 문제점을 야기시키므로, 이러한 악성 코드를 신속하게 발견하여 제거하는 것은 인터넷이 보편화된 최근의 사회에서는 매우 중요한 이슈로 부각되고 있다.
매일같이 신종 악성 코드가 생성되어 유포되는 상황에 효율적으로 대처하기 위해서는, 신속하게 신종 악성 코드의 발생 현황을 파악하여, 이를 제거할 수 있는 안티-악성코드 프로그램들을 생성하여 사용자들에게 제공하는 것이 필요하다.
이를 위해서, 종래 기술에 따른 안티-악성코드 프로그램 공급자측에서는 주기적으로 최신의 악성코드에 관한 정보를 서버에 올려놓고, 사용자 단말이 주기적으로 서버에 접속하여 안티-악성코드 프로그램을 다운로드 하거나 업그레이드 패치를 다운로드하여 최신의 상태를 유지하여 신종 악성코드를 진단/치료하게 구성되어있다.
안티-악성코드 프로그램 공급자는 항상 최신의 악성코드에 관한 정보(이하, "악성코드 DB"라 칭함)를 유지하기 위해 노력해야 하는데, 이를 위해서 공급자는 먼저 악성코드 샘플을 수집해야 한다.
악성코드 샘플을 수집하는 방법으로는, 첫 번째로 사용자의 신고에 의하는 방법, 두 번째로 관련 전문가들과의 악성 코드 정보를 교환하는 방법, 세 번째로 의심이 가는 악성코드 출현 사이트를 방문해서 직접 가져오는 방법이 있다.
세 번째 방법의 경우, 악성코드를 배포한 웹사이트들이 반복적으로 새로운 악성코드를 배포 하는 경향이 있으므로, 악성 코드를 배포한 이력이 있는 사이트(의심사이트)로 판단되면 주기적으로 방문하여 신종 악성코드의 발생 여부를 확인할 필요가 있다. 초창기의 종래 기술은 사람이 수작업으로 웹브라우저를 활용하여 의심 사이트를 방문하고 변동사항이 있는지 눈으로 직접 확인하는 방식을 취하였다. 그러나, 확인할 사이트의 수가 증가하게 되면서, 이러한 종래 방식은 수많은 인력과 시간을 소모하는 비효율적인 작업이 되었다.
따라서, 이러한 비효율적인 작업을 컴퓨터로 자동화하는 기술의 도입이 절실히 요구되지만, 현재까지 이러한 기술은 제안된 바 없었다.
이에, 본 출원인은 이러한 문제점을 해결하기 위해서 웹 검색 엔진 기술의 적용을 고려하였다. 웹 검색 엔진의 구성요소 중 사이트를 컴퓨터 프로그램이 자동으로 방문하여 각각의 링크들을 따라다니면서 정보들을 모으는 기능을 이용하는 것으로서, 기본구성은 도 1 에 도시된 바와 같이, 방문해야할 사이트주소를 주기적으로 판독하여 소켓통신을 이용하여 해당 사이트에 접속하여 조사 후, 악성코드가 발견되면 악성코드 DB에 저장하는 방식이다.
그러나, 이러한 기술을 적용할 경우에는, 인터넷상의 통신기술인 소켓통신 기술을 이용하여 구현되므로 대량의 데이터를 고속으로 수집하는데 월등하나, 시각적으로 운영자가 악성코드 수집 동작을 확인하는데에는 적합하지 않다.
그리고, 먼저 언급한 대로 확인할 사이트의 수가 1~2백만개 수준이 아닌 1~2만개 또는 그 이하의 사이트를 3~4일 간격으로 확인만 해도 바라는 목적을 달성할 수 있으므로 소켓통신으로 구현하는 것은 적절치 못한 선택이다.
이에, 본 출원인은 PC상의 웹 브라우저를 자동으로 제어하는 기술의 적용을 고려하였다. 이를 사용하면 소켓통신으로 인터넷을 접속하겠지만 일단 그 위에서 동작하는 웹 브라우저를 제어하므로 움직임이나 처리과정을 운영자가 시각적으로 확인이 가능하게 되어 유지보수가 쉬운 장점이 있다.
그 기본구성을 도 2에 도시하였다. 도 2를 참조하면, 그 구성은 도 1 에 도시된 것과 유사하지만, 외관상 사용자에게 웹브라우저로 시각적 확인이 가능하다는 것이 차이점이 있다.
내부흐름을 보면, 웹브라우저 내에서 사이트를 방문할 때는 기술적으로 앞서 설명한 소켓통신과 같다. 인터넷 익스플로러는 개발자가 다른 용도로 사용할 수 있게 구성되어 있는데 웹 브라우저를 개발자의 프로그램 소스에 삽입할 수 있게 인터페이스를 제공하고 있긴 하지만 스스로 동작하게 할 수 있는 용도로 설계된 기술이 아니기 때문에 잘못 설계할 경우 시스템에 장애가 생기고 장시간 운영이 불가능하다.
도 2 에 도시된 시스템을 자동제어하기 위해서는, 웹브라우저가 네비게이션(Navigaton)중에 사용자코드를 호출하는 하는 시점에 페이지가 바뀌는 동작을 임의로 조정하기 위한 가로채기 코드를 호출하도록 설정해 주어야한다. 가로채기 코드 호출 프로세스는 웹브라우저를 초기화하고 가로채기 코드를 삽입함으로써 설정된다.
그러나, 이러한 방식에 따르면, 도 3 에 도시된 바와 같이, 웹브라우저가 사용자 코드를 호출하는 시점에서 웹브라우저의 네비게이션 동작이 종료되지 않고 호출되고 있고, 또한 가로채기코드에서 다시 웹브라우저의 네비게이션을 호출하나 가로채기 동작이 종료되지 못한 채로 호출하게된다.
도 3 에서 보는 바와 같이, 이러한 방법으로 반복적으로 실행할 경우 시스템내의 스택이 오버플로우가 발생하여 시스템의 동작이 멈출 가능성이 높아지는 문제점이 발생한다.
본 발명이 해결하고자 하는 과제는, 관리자의 수작업이 필요없이, 자동으로 악성 코드를 유포하는 사이트를 감시하여 악성 코드를 수집할 수 있는 악성 코드 수집 방법 및 장치를 제공하는 것이다.
상술한 과제를 이루기 위한 본 발명의 악성 코드 수집 방법은, (a) 악성 코드 수집 장치가 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB 와 각 사이트에 접속하여 수행할 조건 및 동작 명령을 저장한 조건 및 명령 DB를 구비하는 단계; (b) 악성 코드 수집 장치가 사이트 DB 로부터 주소 정보를 판독하는 단계; (c) 악성 코드 수집 장치가 판독된 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하는 단계; 및 (d) 악성 코드 수집 장치가 시스템 타이머를 설정하여, 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여, 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집하는 단계를 포함한다.
또한, 상술한 (d) 단계는 (d1) 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램이 실행되면, 악성 코드 수집 장치가 조건 및 동작 DB 에 저장된 조건을 판독하고, 수신된 웹페이지의 상태가 판독된 조건을 만족하는지 여부를 조사하는 단계; 및 (d2) 웹페이지의 상태가 판독된 조건을 만족하면, 악성 코드 수집 장치가 조건과 연계되어 저장된 동작 명령을 조건 및 동작 DB에서 판독하여 실행하고, 시스템 타이머의 다음 사이클에 수행할 다음 조건 및 동작 명령을 설정하는 단계를 포함한다.
또한, 상술한 (d2) 단계에서 동작 명령은 새로운 웹페이지로의 접속명령이고, (d2) 단계에서, 악성 코드 수집 장치는 동작 명령에 따라서 웹페이지에 접속할 수 있다.
또한, 상술한 악성코드 수집 방법은, (e) 시스템 타이머의 다음 사이클에, (d2) 단계에서 설정된 조건 및 동작 명령에 대해서 (d) 단계를 수행하는 단계를 더 포함할 수 있다.
또한, 상술한 조건은 특정 문자열로 설정되고, 상술한 (d) 단계는 웹페이지에 특정 문자열이 포함되어 있는지 여부를 조사하여, 특정 문자열이 웹페이지에 포함된 경우에는 조건이 만족된 것으로 판단할 수 있다.
또한, 상술한 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고, (d) 단계는 아이디 또는 비밀번호를 의미하는 문자열이 웹페이지에 포함된 경우에 조건이 만족된 것으로 판단하여, 사이트에 로그인을 수행할 수 있다.
또한, 상술한 (d) 단계는 조건이 만족되면, 사이트에 게시된 다운로드 탭을 클릭하여 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행할 수 있다.
또한, 상술한 악성 코드 수집 방법은 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록될 수 있다.
한편, 상술한 기술적 과제를 이루기 위한 본 발명의 악성 코드 수집 장치는, 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB; 의심 사이트에 접속하여 수행할 동작 명령 및 동작 명령을 수행하기 위한 조건을 저장한 조건 및 명령 DB; 입력된 사이트 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하고, 수신된 웹페이지의 내용을 포함하는 상태 정보를 출력하는 웹브라우저; 및 사이트 DB 로부터 사이트의 주소 정보를 판독하여 웹브라우저로 출력하고, 웹브라우저로부터 상태 정보를 수신하며, 시스템 타이머를 설정하고, 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여 악성 코드를 수집하는 타이머 제어부를 포함한다.
또한, 상술한 타이머 제어부는 시스템 타이머의 한 사이클마다 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 상태 정보와 조건을 비교하여 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집할 수 있다.
또한, 상술한 동작 명령은 새로운 웹페이지로의 접속명령이고, 악성 코드 수집 장치는 동작 명령에 따라서 웹페이지에 접속할 수 있다.
또한, 상술한 조건은 특정 문자열로 설정되고, 타이머 제어부는 웹페이지에 특정 문자열이 포함되어 있는지 여부를 조사하여, 특정 문자열이 웹페이지에 포함된 경우에는 조건이 만족된 것으로 판단할 수 있다.
또한, 상술한 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고, 타이머 제어부는 아이디 또는 비밀번호를 의미하는 문자열이 웹페이지에 포함된 경우에 조건이 만족된 것으로 판단하여, 사이트에 로그인을 수행하는 동작 명령을 실행할 수 있다.
또한, 상술한 타이머 제어부는 조건이 만족되면, 사이트에 게시된 다운로드 탭을 클릭하여 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행할 수 있다.
상술한 바와 같이, 본 발명은 사전에 악성 코드를 발생시킬 우려가 있는 웹사이트 목록을 사전에 저장하고, 일정한 시간 간격으로 자동화된 프로그램에 의해서 해당 사이트들에 접속하여 악성 코드를 수집함으로써, 종래기술의 관리자가 일일이 각각의 사이트에 직접 접속함으로서 발생하는 인력 및 시간 소모로 인한 비용 낭비를 해결하는 효과가 있다.
또한, 본 발명은 웹브라우저를 제어하여 자동으로 웹사이트에 접속하여 악성 코드를 수집하므로, 관리자가 악성 코드 수집 작업을 시각적으로 모니터링이 가능하고, 이에 따라서 관리가 용이한 효과가 있다
또한, 본 발명은 웹브라우저의 동작과는 서로 독립적으로, 시스템의 타이머 호출 기능을 이용하여 웹사이트의 현재 상태와 사전에 저장된 조건을 비교하여, 조건을 만족할 때 악성 코드 수집 동작을 실행함으로써, 자동제어를 위해 웹브라우저가 네비게이션(Navigaton)중에 사용자코드를 호출하는 하는 시점에서 가로채기코드를 호출하도록 하는 방법을 적용할 때 발생하는 스택오버플로우를 해결하는 효과가 있다.
또한, 타이머 제어에 의한 악성 코드 수집 방법은 웹브라우저를 자동제어할 필요가 있는 분야에 다양하게 응용이 가능하다. 악성코드 사이트가 아니고 다른 특정사이트의 변경사항을 주기적으로 조사할 필요가 있을 때나 자동으로 특정사이트에 접근해서 데이터를 가져올때도 적용이 가능하고, 단순히 특정 검색어를 사용해서 검색엔진이 제공되는 사이트에서 검색한후 나온 결과를 분석하고 다시 해당사이트를 방문해서 데이터를 수집하는 작업에도 응용이 가능하다.
도 1 은 종래 기술에 따른 웹 검색 엔진의 구성을 개념적으로 표시한 블록도이다.
도 2 는 도 1 의 종래 기술에 웹브라우저를 삽입한 구성을 도시하는 블록도이다.
도 3 은 도 2 에 도시된 웹브라우저를 삽입한 웹 검색 엔진을 악성 코드 수집에 적용하였을 때 발생 가능한 문제점을 설명하는 도면이다.
도 4 는 본 발명에 따른 웹페이지 감시를 통한 악성코드 수집 장치의 전체 시스템 구성을 도시하는 도면이다.
도 5 는 악성 코드 수집 장치의 구성을 도시하는 블록도이다.
도 6 은 본 발명의 바람직한 실시예에 따른 타이머 제어부와 웹브라우저에서 수행되는 동작을 개념적으로 설명한 도면이다.
도 7a 및 도 7b 는 본 발명의 바람직한 실시예에 따른 웹페이지 감시를 통한 악성코드 수집 방법을 설명하는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다.
도 4 는 본 발명에 따른 웹페이지 감시를 통한 악성코드 수집 장치의 전체 시스템 구성을 도시하는 도면이다. 도 1을 참조하면, 본 발명의 악성 코드 수집 장치는 인터넷망을 통해서 복수의 의심 사이트 서버(400)와 복수의 사용자 단말(600)들과 연결된다.
악성 코드 수집 장치는 후술하는 바와 같이, 의심 사이트 서버(400)에 주기적으로 접속하여 해당 사이트 서버(400)로부터 악성 코드를 수집하여 내부에 저장하고, 안티-악성코드 프로그램을 생성하여 사용자 단말(600)들로 제공한다.
도 5 는 악성 코드 수집 장치의 구성을 도시하는 블록도이다. 도 5를 참조하면, 본 발명의 악성 코드 수집 장치는 타이머 제어부(540), 조건 및 동작 DB(520), 악성 코드 DB(510), 사이트 DB(530), 웹브라우저(550), 및 통신부(560)를 포함하여 구성된다.
먼저, 사이트 DB(530)는 악성 코드를 발생시킨 이력이 있거나, 악성 코드를 발생시킬 가능성이 있는 사이트 목록을 저장하고, 악성 코드 DB(510)는 의심 사이트들로부터 수집된 악성 코드를 저장한다.
조건 및 동작 DB(520)는 조건 항목, 조건 항목에 저장된 조건이 만족되었을 때 수행될 동작 명령, 및 동작 명령들이 수행된 이후에 다음으로 조사될 조건과 수행될 명령이 저장된 위치를 나타내는 다음 조건 항목이 배열 형태로 저장되어 있다.
타이머 제어부(540)는 일정한 시간 주기로 사이트 DB(530)에서 접속할 사이트 주소를 판독하고, 웹브라우저(550)를 제어하여 판독된 사이트에 접속한다. 그 후, 시스템 타이머를 작동시키고, 타이머 설정 시간 주기의 한 사이클마다, 웹브라우저(550)로부터 웹페이지의 상태 정보를 입력받아 조건 및 동작 DB(520)에 저장된 동작 수행 조건이 만족하는지 여부를 판단한 후, 조건이 만족되면 사전에 조건 및 동작 DB(520)에 저장된 동작을 수행하여 악성코드를 수집하고, 수집된 악성 코드를 악성 코드 DB(510)에 저장한다.
웹브라우저(550)는 타이머 제어부(540)로부터 입력되는 제어신호에 따라서 일정한 시간 주기로 의심 사이트에 접속하여 사이트에서 수신된 웹페이지의 현재 상태 정보를 타이머 제어부(540)로 출력하고, 타이머 제어부(540)로부터 입력되는 동작 수행 명령에 따라서 접속된 사이트에 로그인, 무료 다운로드 등의 동작 명령을 실행하여 악성 코드를 수집하여 타이머 제어부(540)로 출력한다. 웹브라우저(550)는 PC에 설치되어 있는 운영체제내에 인터넷상의 웹사이트를 볼 수 있게 해주는 프로그램으로 대표적으로 윈도우의 개발사인 마이크로소프트사에서 개발하였고 계층적으로 다시 해당사의 제품인 익스플로러가 이 웹브라우저의 기능을 이용하여 최종적으로 사용자에게 보여진다. 물론, 다른 응용소프웨어를 개발하고자 하는 회사나 프로그래머들도 활용이 가능하게 설계되어 있다.
통신부(560)는 소정의 통신 프로토콜에 따라서 인터넷망을 통해서 사용자 단말(600)들 및 의심 사이트 서버(400)들과 통신을 수행한다.
도 6 은 본 발명의 바람직한 실시예에 따른 타이머 제어부(540)와 웹브라우저(550)에서 수행되는 동작을 개념적으로 설명한 도면이다.
사이트 DB(530)로부터 판독된 의심 사이트에 접속되면, 타이머 제어부(540)는 조건 및 동작 DB(520)로부터 조건을 판독하고, 웹브라우저(550)로부터 현재 상태를 입력받는다. 현재 상태란 현재 접속하고 있거나, 화면에 표시되고 있는 웹페이지의 주소와 그 내용을 의미한다.
또한, 조건 및 동작 DB(520)는 도 6 에 도시된 바와 같이, 조건 항목과 조건을 만족할 때 수행될 동작 항목, 및 동작이 수행된 후 다음에 수행될 동작과 이에 대한 조건을 지정하는 다음 조건 항목들을 배열 형태로 저장한다.
타이머 제어부(540)는 웹브라우저(550)로부터 입력된 현재 상태가 판독된 조건을 만족하는지 여부를 조사하고, 만족하는 경우에는 해당 조건과 연계되어 저장된 동작 명령을 판독하여 웹브라우저(550)로 출력하며, 웹브라우저(550)는 타이머 제어부(540)로부터 입력된 명령을 수행한다.
도 7a 및 도 7b 는 본 발명의 바람직한 실시예에 따른 웹페이지 감시를 통한 악성코드 수집 방법을 설명하는 도면이다. 먼저, 도 7a 를 참조하여 설명하면, 타이머 제어부(540)는 먼저, 사이트 DB(530)로부터 접속할 사이트의 주소 정보를 판독하여 웹브라우저(550)로 출력하고(S710), 조건 및 동작 DB(520)에서 시작 조건을 판독하여 설정한다(S720). 이 때, 조건을 설정한다는 의미는 조건 및 동작 내용을 저장한 조건 및 동작 DB(520)의 배열 위치를 설정한다는 의미이다.
웹브라우저(550)는 타이머 제어부(540)로부터 사이트 주소 정보를 입력받고, 해당 사이트에 접속하여 웹페이지를 수신한다(S730).
그 후, 타이머 제어부(540)는 시스템 타이머를 설정하여 일정한 시간 간격으로 도 7b 에 도시된 과정을 수행하는 악성코드 수집 프로그램을 실행한다(S740).
도 7b를 참조하여, 제 S740 단계에서 수행되는 과정을 설명하면, 먼저, 타이머가 설정된 후, 프로그램이 실행되면, 타이머 제어부(540)는 설정 조건을 조건 및 동작 DB(520)에서 판독한다(S741). 설정 조건은 상술한 바와 같이 판독될 조건을 나타내는 것으로서, 현재 접속된 사이트에 대해서 최초로 수행되는 경우에는 상술한 제 S720 단계에서 설정된 조건이 판독되고, 현재 접속된 사이트에 대해서 최초로 수행되는 것이 아닌 경우에는 후술하는 제 S749 단계에서 설정된 조건이 판독된다.
조건이 판독되면, 타이머 제어부(540)는 웹브라우저(550)로부터 상태 정보를 입력받는다(S743). 여기서 상태 정보란, 상술한 바와 같이, 현재 접속하고 있거나 화면에 표시되고 있는 웹페이지의 주소와 그 내용 등을 말한다.
그 후, 타이머 제어부(540)는 판독된 조건과 웹브라우저(550)의 상태 정보를 비교하여 조건이 만족되었는지 여부를 조사하고, 조건이 만족되지 않은 경우에는 다음 조건을 설정하지 않고, 즉, 현재 웹페이지에 대한 악성 코드 정보 수집을 종료한다(S745).
한편, 판독된 조건과 웹브라우저(550)의 상태 정보와 비교한 결과, 조건이 만족된 경우에는 해당 조건에 대응되어 저장된 동작 명령을 판독하고, 동작 명령을 웹브라우저(550)로 출력하여 해당 동작을 수행하고(S747), 동작이 완료되면 조건 및 동작 DB(520) 의 현재 조건에 연계하여 저장된 다음 조건 항목을 판독하여 다음에 수행될 조건을 설정한다(S749).
제 S740 단계에서 설정된 타이머의 한 사이클 동안에, 조건 및 동작 DB(520)에 저장된 하나의 조건과 하나의 동작에 대해서 상술한 제 S741 단계 내지 제 S749 단계가 수행되고, 그 다음 타이머 사이클 동안에 제 S749 단계에서 설정된 조건과 이에 대응되는 동작이 수행되고, 조건 및 동작 DB(520)에 저장된 모든 조건 및 동작이 수행되면, 상술한 제 710 단계부터 다시 수행된다.
상술한 제 S741 단계 내지 제 S749 단계의 각 과정을 예시적으로 추가 설명하면 다음과 같다.
조건 및 동작 DB(520)는 사전에 조건1 항목에 특정 문자열(예컨대, 일반적인 쇼핑몰 사이트의 메인 페이지의 최하단에 표시되는 "회사소개","이메일무단수집거부"등의 문자열)을 저장하고 제 S741 단계에서 이 문자열이 타이머 제어부(540)으로 판독된다.
제 S743 단계에서, 타이머 제어부(540)는 웹브라우저(550)로부터 상태 정보로서 접속한 웹페이지에 포함된 문자열들을 입력받는다.
제 S745 단계에서, 타이머 제어부(540)는 상태 정보에 포함된 문자열들에 조건으로 판독된 문자열과 동일한 문자열이 포함되어 있는지 여부를 비교하여, 동일한 문자열이 포함되어 있는 경우에는 조건이 만족된 것으로 판단한다. 예컨대, 상태 정보에 "회사소개"이라는 문자열이 포함된 경우에, 웹페이지가 모두 수신되었다고 판단할 수 있다.
조건이 만족된 경우에, 제 S747 단계는 동작 명령을 조건 및 동작 DB(520)로부터 판독하여 웹브라우저(550)로 출력하여 해당 동작을 수행한다. 이 때, 수행되는 동작은, 화면상에 특정요소에 데이터를 기재할 수도 있고, 특정한 버튼 또는 링크를 클릭하여 웹브라우저(550)가 다른 페이지로 이동하게 할 수 있다. 혹은 새로운 페이지로 이동하도록 새로운 Navigation 명령을 출력할 수 있다.
동작이 수행되면, 제 749 단계는 다음번 타이머 사이클에서 수행될 조건 및 동작이 저장된 배열내의 위치를 지정하고 현재 타이머 사이클은 종료된다.
예시적으로 상술한 것 이외에도, 조건 및 동작은 다양하게 설정될 수 있다. 예컨대, 조건으로 웹 페이지내에 jpg 또는 bmp 형식의 그림 파일 경로명을 설정할 수 있다. 이는 웹페이지에서 "무료 다운로드" 등의 내용을 사용자에게 표시하는데 일반적으로 이용되는 것으로, 웹페이지에 "무료 다운로드"항목이 포함된 경우에는 조건이 만족되고, 이에 대응되는 동작 명령으로서 "무료 다운로드"탭을 클릭하여 현재 접속중인 사이트로부터 다운로드를 수행할 수 있다.
또한, 조건으로 "아이디" 및 "비밀번호"와 같은 로그인 박스내에 포한되는 문자열을 설정하고, 웹페이지에 이러한 문자열이 포함되어 해당 조건을 만족하는 경우에는 로그인을 수행하도록 동작 명령을 설정하여 수행할 수 있다.
또한, 접속한 사이트에 ACTIVE X 와 같은 임의적인 다운로드 코드가 숨겨져 있는지 여부를 조건으로 설정하고, 이러한 임의적인 다운로드 코드가 숨겨져 있는 경우에 조건이 만족된 것으로 판단하여, ACTIVE X를 설치하여 접속중인 사이트가 배포하는 임의로 배포하는 코드를 다운로드 하는 동작을 수행할 수 있다.
상술한 도 7a 및 도 7b 의 과정을 통해서 의심 사이트들로부터 악성 코드 수집 장치에 다운로드된 실행 프로그램들, ACTIVE X, 스크립트들 등("악성 코드"라 통칭함)의 악성 코드들은 일반적인 악성 코드 검출 방식에 따라서 선별되어 악성 코드 DB(510)에 저장된다. 악성 코드를 선별하는 과정은 공지된 기술이므로 구체적인 설명은 생략한다.
또한, 상술한 도 7a 및 도 7b 에 도시된 과정은 사이트 DB(530)에서 판독된 하나의 사이트에 대해서 수행되는 과정을 설명한 것으로서, 이러한 과정은 사이트 DB(530)에 저장된 모든 사이트에 대해서 순차적으로 수행된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록1장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (14)

  1. (a) 악성 코드 수집 장치가 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB 와 각 사이트에 접속하여 수행할 조건 및 동작 명령을 저장한 조건 및 명령 DB를 구비하는 단계;
    (b) 상기 악성 코드 수집 장치가 상기 사이트 DB 로부터 주소 정보를 판독하는 단계;
    (c) 악성 코드 수집 장치가 판독된 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하는 단계; 및
    (d) 악성 코드 수집 장치가 시스템 타이머를 설정하여, 상기 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여, 상기 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집하는 단계를 포함하는 것을 특징으로 하는 악성 코드 수집 방법.
  2. 제 1 항에 있어서, 상기 (d) 단계는
    (d1) 상기 시스템 타이머의 한 사이클마다 상기 악성 코드 수집 프로그램이 실행되면, 상기 악성 코드 수집 장치가 조건 및 동작 DB 에 저장된 조건을 판독하고, 수신된 웹페이지의 상태가 판독된 조건을 만족하는지 여부를 조사하는 단계; 및
    (d2) 웹페이지의 상태가 판독된 조건을 만족하면, 상기 악성 코드 수집 장치가 상기 조건과 연계되어 저장된 동작 명령을 상기 조건 및 동작 DB에서 판독하여 실행하고, 상기 시스템 타이머의 다음 사이클에 수행할 다음 조건 및 동작 명령을 설정하는 단계를 포함하는 것을 특징으로 하는 악성 코드 수집 방법.
  3. 제 2 항에 있어서,
    상기 (d2) 단계에서 상기 동작 명령은 새로운 웹페이지로의 접속명령이고,
    상기 (d2) 단계에서, 상기 악성 코드 수집 장치는 상기 동작 명령에 따라서 상기 웹페이지에 접속하는 것을 특징으로 하는 악성 코드 수집 방법.
  4. 제 2 항에 있어서,
    (e) 상기 시스템 타이머의 다음 사이클에, 상기 (d2) 단계에서 설정된 조건 및 동작 명령에 대해서 상기 (d) 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 악성 코드 수집 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 조건은 특정 문자열로 설정되고,
    상기 (d) 단계는 상기 웹페이지에 상기 특정 문자열이 포함되어 있는지 여부를 조사하여, 상기 특정 문자열이 상기 웹페이지에 포함된 경우에는 상기 조건이 만족된 것으로 판단하는 것을 특징으로 하는 악성 코드 수집 방법.
  6. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고,
    상기 (d) 단계는 상기 아이디 또는 비밀번호를 의미하는 문자열이 상기 웹페이지에 포함된 경우에 상기 조건이 만족된 것으로 판단하여, 상기 사이트에 로그인을 수행하는 것을 특징으로 하는 악성 코드 수집 방법.
  7. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 (d) 단계는 상기 조건이 만족되면, 상기 사이트에 게시된 다운로드 탭을 클릭하여 상기 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행하는 것을 특징으로 하는 악성 코드 수집 방법.
  8. 제 1 항 내지 제 4 항 중 어느 한 항의 악성 코드 수집 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.
  9. 악성 코드를 발생시키는 의심 사이트들의 주소 정보를 저장한 사이트 DB;
    상기 의심 사이트에 접속하여 수행할 동작 명령 및 상기 동작 명령을 수행하기 위한 조건을 저장한 조건 및 명령 DB;
    입력된 사이트 주소 정보에 따라서 의심 사이트에 접속하여 웹페이지를 수신하고, 수신된 웹페이지의 내용을 포함하는 상태 정보를 출력하는 웹브라우저; 및
    상기 사이트 DB 로부터 사이트의 주소 정보를 판독하여 상기 웹브라우저로 출력하고, 상기 웹브라우저로부터 상기 상태 정보를 수신하며, 시스템 타이머를 설정하고, 상기 시스템 타이머의 한 사이클마다 악성 코드 수집 프로그램을 실행하여 악성 코드를 수집하는 타이머 제어부를 포함하는 것을 특징으로 하는 악성 코드 수집 장치.
  10. 제 9 항에 있어서, 상기 타이머 제어부는
    상기 시스템 타이머의 한 사이클마다 상기 조건 및 동작 DB 에 저장된 하나의 조건 및 동작 명령을 판독하고, 상기 상태 정보와 조건을 비교하여 조건이 만족되는 경우에 동작 명령을 실행하여 악성 코드를 수집하는 것을 특징으로 하는 악성 코드 수집 장치.
  11. 제 10 항에 있어서,
    상기 동작 명령은 새로운 웹페이지로의 접속명령이고, 상기 악성 코드 수집 장치는 상기 동작 명령에 따라서 상기 웹페이지에 접속하는 것을 특징으로 하는 악성 코드 수집 장치.
  12. 제 9 항 또는 제 10 항에 있어서,
    상기 조건은 특정 문자열로 설정되고,
    상기 타이머 제어부는 상기 웹페이지에 상기 특정 문자열이 포함되어 있는지 여부를 조사하여, 상기 특정 문자열이 상기 웹페이지에 포함된 경우에는 상기 조건이 만족된 것으로 판단하는 것을 특징으로 하는 악성 코드 수집 장치.
  13. 제 9 항 또는 제 10 항에 있어서,
    상기 조건은 로그인에 필요한 아이디 또는 비밀번호를 의미하는 문자열로 설정되고,
    상기 타이머 제어부는 상기 아이디 또는 비밀번호를 의미하는 문자열이 상기 웹페이지에 포함된 경우에 상기 조건이 만족된 것으로 판단하여, 상기 사이트에 로그인을 수행하는 동작 명령을 실행하는 것을 특징으로 하는 악성 코드 수집 장치.
  14. 제 9 항 또는 제 10 항에 있어서,
    상기 타이머 제어부는 상기 조건이 만족되면, 상기 사이트에 게시된 다운로드 탭을 클릭하여 상기 사이트로부터 악성 코드를 다운로드 하는 동작 명령을 수행하는 것을 특징으로 하는 악성 코드 수집 장치.
KR1020070121706A 2007-11-27 2007-11-27 악성코드 수집 방법 및 장치 KR100915202B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070121706A KR100915202B1 (ko) 2007-11-27 2007-11-27 악성코드 수집 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070121706A KR100915202B1 (ko) 2007-11-27 2007-11-27 악성코드 수집 방법 및 장치

Publications (2)

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

Family

ID=40986699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070121706A KR100915202B1 (ko) 2007-11-27 2007-11-27 악성코드 수집 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100915202B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160061141A (ko) 2014-11-21 2016-05-31 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101044274B1 (ko) * 2009-11-03 2011-06-28 주식회사 안철수연구소 악성 사이트 검출 장치, 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR101512462B1 (ko) * 2013-12-24 2015-04-16 한국인터넷진흥원 배양기반 악성코드 분석시스템의 악성코드 업데이트 여부분석 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055147A (ko) * 2004-11-18 2006-05-23 한제헌 네트워크 악성실행코드 차단장치 및 방법
KR20070019190A (ko) * 2005-08-11 2007-02-15 주식회사 웨어플러스 파일 시스템 및 레지스트리를 보호하는 방법 및 그 장치
KR20070049514A (ko) * 2005-11-08 2007-05-11 한국정보보호진흥원 악성 코드 감시 시스템 및 이를 이용한 감시 방법
KR100789722B1 (ko) * 2006-09-26 2008-01-02 한국정보보호진흥원 웹 기술을 사용하여 전파되는 악성코드 차단시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055147A (ko) * 2004-11-18 2006-05-23 한제헌 네트워크 악성실행코드 차단장치 및 방법
KR20070019190A (ko) * 2005-08-11 2007-02-15 주식회사 웨어플러스 파일 시스템 및 레지스트리를 보호하는 방법 및 그 장치
KR20070049514A (ko) * 2005-11-08 2007-05-11 한국정보보호진흥원 악성 코드 감시 시스템 및 이를 이용한 감시 방법
KR100789722B1 (ko) * 2006-09-26 2008-01-02 한국정보보호진흥원 웹 기술을 사용하여 전파되는 악성코드 차단시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160061141A (ko) 2014-11-21 2016-05-31 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치

Also Published As

Publication number Publication date
KR20090054822A (ko) 2009-06-01

Similar Documents

Publication Publication Date Title
US8667583B2 (en) Collecting and analyzing malware data
US20210012005A1 (en) Tracking malicious software movement with an event graph
RU2444056C1 (ru) Система и способ ускорения решения проблем за счет накопления статистической информации
CN1740945B (zh) 用于识别出潜在的不需要的软件的方法和系统
US20190081963A1 (en) Realtime event detection
US9659175B2 (en) Methods and apparatus for identifying and removing malicious applications
JP6644001B2 (ja) ウイルス処理方法、装置、システム、機器及びコンピュータ記憶媒体
US6981279B1 (en) Method and apparatus for replicating and analyzing worm programs
JP4052604B2 (ja) クライアント・サーバシステムにおけるウイルス検出
JP5021886B2 (ja) 設定可能な構成要素からなる企業をアクティブに管理するためのシステムおよび方法
US20130167236A1 (en) Method and system for automatically generating virus descriptions
US20140137190A1 (en) Methods and systems for passively detecting security levels in client devices
US9215245B1 (en) Exploration system and method for analyzing behavior of binary executable programs
AU2017249322A1 (en) Forensic analysis of computing activity and malware detection using an event graph
US20120005755A1 (en) Infection inspection system, infection inspection method, storage medium, and program
EP2566130A1 (en) Automatic analysis of security related incidents in computer networks
CN101156156A (zh) 补救不希望有的应用程序的影响
KR20120114304A (ko) 동작 샌드박싱용 시스템 및 방법
CN101340434A (zh) 网站恶意内容检测与认证方法及系统
US20110219454A1 (en) Methods of identifying activex control distribution site, detecting security vulnerability in activex control and immunizing the same
CN103561076B (zh) 一种基于云的网页挂马实时防护方法及系统
KR100915202B1 (ko) 악성코드 수집 방법 및 장치
KR101234066B1 (ko) 웹/이메일을 통해 유포되는 악성코드 자동 관리 시스템 및 그 관리방법
CN109189652A (zh) 一种封闭网络终端行为数据的采集方法及系统
US11683329B2 (en) Detecting malicious activity on an endpoint based on real-time system events

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