KR100954355B1 - 악성코드 진단 및 치료 장치 - Google Patents

악성코드 진단 및 치료 장치 Download PDF

Info

Publication number
KR100954355B1
KR100954355B1 KR1020080005744A KR20080005744A KR100954355B1 KR 100954355 B1 KR100954355 B1 KR 100954355B1 KR 1020080005744 A KR1020080005744 A KR 1020080005744A KR 20080005744 A KR20080005744 A KR 20080005744A KR 100954355 B1 KR100954355 B1 KR 100954355B1
Authority
KR
South Korea
Prior art keywords
data
malicious code
diagnosis
malware
treatment
Prior art date
Application number
KR1020080005744A
Other languages
English (en)
Other versions
KR20090079625A (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 KR1020080005744A priority Critical patent/KR100954355B1/ko
Publication of KR20090079625A publication Critical patent/KR20090079625A/ko
Application granted granted Critical
Publication of KR100954355B1 publication Critical patent/KR100954355B1/ko

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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 대용량의 악성코드 진단 및 치료를 위한 데이터를 효율적으로 가공, 생성하는 장치와, 그리고 데이터를 조회하는 장치를 사용하여 실제 진단 및 치료를 목적으로 하는 장치에 관한 것이다. 본 발명인 악성코드에 대한 진단 및 치료를 위한 데이터 파일을 생성하는 장치는, 악성코드 데이터들에 대하여 각 악성코드 데이터 종류와 포맷정보, 속성 등에 따라 각 종류의 악성코드 데이터들을 바로 사용 가능한 형태로 가공하여 저장한 하나 이상의 악성코드 데이터 파일을 포함하고, 상기 악성코드 데이터 파일은 특정 종류의 악성코드에 관련된 데이터에 대하여 특정 그룹의 악성코드 데이터로 분리하여 저장시킨 악성코드 데이터 파일인 것을 특징으로 한다. 상기의 여러 악성코드 데이터 파일 중 일부를 사용하는 또 다른 발명은 악성코드 진단 및 치료 대상에 대하여 악성 여부를 진단하거나 치료하기 위한 악성코드 진단 및 치료 장치로서, 악성코드 진단 및 치료를 위한 악성코드 데이터의 로딩을 데이터 초기화부로 요청하는 장치 구동부와, 상기 장치 구동부의 요청에 따라 악성코드 진단 및 치료를 위해 사용할 메모리 또는 악성코드 데이터의 범위를 결정하고 상기 악성코드 데이터 파일에 저장된 악성코드 데이터를 메모리에 로딩하는 데이터 초기화부와, 상기 악성코드 진단 및 치료 대상과 데이터 검색부로부터 제공된 악성코드 데이터를 비교하여 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 진단 및 치료 결정부와, 상기 메모리에 로딩된 악성코드 데이터 또는 악성코드 데이터 파일에 저장된 악성코드 데이터를 조회하여 진단 및 치료 결정부 로 제공하는 데이터 검색부를 포함하여 구성된다.
악성코드, 진단 및 치료, 선택적 악성코드 대응

Description

악성코드 진단 및 치료 장치 {Diagnosis And Cure Apparatus For Malicious Code}
본 발명은 악성코드(바이러스, 웜, 봇, 트로잔, 스파이웨어 등 시스템에 악의적 행위를 하는 모든 프로그램을 말한다. 이하 동일.)를 진단하거나 치료하는 장치 및 방법에 관한 발명이다. 좀더 자세하게는, 대용량의 악성코드 진단 및 치료를 위한 데이터를 효율적으로 가공하고 생성하는 장치와, 그리고 데이터를 조회하는 장치를 사용하여 실제 진단 및 치료를 목적으로 하는 장치에 관한 것이다.
악성코드 수가 기하급수적으로 늘어남에 따라 악성코드 진단 및 치료를 위한 데이터수도 급속히 증가함에 따라 효율적인 대용량 악성코드 진단 및 치료 데이터 관리가 필요하게 되었다.
악성코드 진단 및 치료 데이터 파일은 크게 진단을 위한 데이터와 치료 및 정보제공(이하 치료로 지칭)을 위한 데이터로 구분되고 이들이 같은 파일에 속하거나 다른 파일로 분리되기도 한다. 또 진단용 데이터는 진단 종류에 따라 별도 파일에 기술되기도 하고 같은 파일에 기록되기도 한다. 데이터를 진단 및 치료로만 파 일 분리한 경우는 이미 그 크기가 매우 커져서 분리를 필요로 하는 상태일 테고 진단 종류에 따라 별도 파일로 분리한 경우도 그 수가 너무 많아진 상태이다. 또한 특정 종류의 데이터는 그 수가 너무 많아져서 임의로 해당 데이터를 저장하는 파일을 여러 개로 수동 분리를 하고 있는 상태이다. 또한 단순히 날짜 별로 데이터를 분리하는 경우라도 최근 악성코드 수가 과거 대비 급속도로 증가하는 추세여서 분리 기준과 생성된 파일의 크기가 상이하고 또한 이 경우 역시 악성코드 대응 목적에 따라 파일의 효율적인 자동 분배가 어려워지는 문제가 있다.
치료를 위한 데이터의 경우 진단을 위한 데이터와 완전 분리될 경우 1개의 파일로 유지하기에는 그 크기가 너무 크고 종류에 따라 여러 개의 파일로 분리하기 에는 그 수가 너무 많다. 또한 여러 목적의 악성코드 대응 장치에서 어떤 종류의 악성코드에 대응하는지 알 수 없는 상황에서 적절한 치료용 데이터 파일 생성이 쉽지 않다.
또한 급속도로 증가된 악성코드 수로 인해 이미 많은 악성코드 대응 장치가 제대로 운영되지 못하는 시스템이 발생하고 있다. 악성코드 대응은 그 특성상 빠른 검색을 필요로 하므로 매우 많은 수의 악성코드 진단 및 치료 데이터를 메모리에 올리는 것이 실패하는 경우가 많아서 대응을 할 수 없게 되는 경우도 많다. 이러한 여러 종류의 악성코드 진단 및 치료 데이터 생성, 사용의 문제점을 해결하는 방법이 요구되는 상황이다.
악성코드 진단 및 치료 장치를 위한 대용량 악성코드 데이터 생성/처리 장치를 제공해서 다양한 종류의 진단 및 치료 데이터에 대해 생성 프로그램 수정 없이 포맷화된 데이터 파일로 생성해주고 이렇게 생성된 데이터 파일이 사용되는 환경과 목적에 맞게 해당 데이터 파일로부터 원하는 정보를 제공해주는 방법이 필요하다. 최근 이미 악성코드의 수와 종류는 수작업처리가 힘들만큼 증가하고 있어서 그만큼 악성코드 대응을 빈번하게 진행해야 되는 상황이다. 또한 고정된 파일 개수와 포맷으로 대응하기에는 너무나 다양한 환경에서 악성코드 침입에 대한 대응이 필요하므로 매우 많은 수의 빈번하게 발생하는 새로운 형태의 다양한 데이터 포맷을 갖는 악성코드 대응용 데이터(진단 및 치료 목적)를 손쉽게 생성하게 해 주는 장치가 필요하다.
본 발명에서 설명하는 악성코드 진단 및 치료 데이터 생성 장치는 간단하게 새로운 종류의 데이터를 추가할 수 있게 해주고 원하는 종류의 데이터들로 구성된 데이터 파일을 생성하게 해주고 원하는 크기로 데이터 파일을 자동으로 분리할 수 있게 해 준다. 또한 이렇게 여러 개의 악성코드 대응 데이터 파일이 생성될 경우 이 파일로부터 필요한 데이터를 조회하는 장치 역시 제공되는 데 이 장치는 필요로 하는 데이터만을 선택적으로 제공해 준다. 각각의 플랫폼에 따라 각각의 목적의 악성코드 진단 및 치료 제품(장치)에 따라 각각의 시스템 자원에 맞는 최적화된 형태의 데이터를 제공해 주어서 시스템 환경이 좋은 경우는 최대한의 자원활용을 통한 빠르고 매우 많은 수의 데이터 조회를 제공하고 시스템 환경이 열악한 경우는 최소한의 자원활용을 통한 실패 없는 데이터 조회를 제공하고 최소한의 악성코드 대응만을 원하는 경우는 선택적 데이터 조회를 제공하여 어떤 경우에라도 악성코드 대응을 위한 데이터 조회를 가능하게 해 주는 것을 그 목적으로 한다.
악성코드 진단 및 치료 데이터 생성장치는, 새로운 형태의 악성코드에 대응하기 위한 악성코드 진단 및 치료 데이터 종류에 대해 해당 정보를 기록해 두는 것만으로도 해당 종류의 데이터를 자동으로 분석해서 포맷된 데이터 파일로 생성할 수 있게 해준다. 또한 데이터 종류를 선택해서 특정 데이터 파일에 기록할 수 있도록 해 주고 데이터 파일의 크기가 지정한 임계치를 넘을 경우 자동으로 분리해 주는 기능을 제공한다. 또한 각 데이터 종류별도 여러 가지 속성을 부여해서 데이터 를 조회하는 장치가 활용할 수 있게 해준다. 또한 종속성이 있는 데이터들은 서로 같은 파일에 기록되게 해서 특정 파일만 있으면 관련된 모든 데이터를 구할 수 있도록 하고 선택적으로 데이터 파일에 대한 암복호화 기능을 부여한다. 동시에 다양한 데이터 그룹의 속성과 정보를 별도의 파일로도 제공해서 목적에 따라 이 파일을 사용할 수도 있게 해 준다. 이러한 여러 개의 데이터 파일이 생성될 때 파일명으로 혹은 별도 정보로 데이터 파일 간의 순서 정보를 제공해서 명시적인 순서가 필요로 하는 데이터 조회과정에서 사용할 수 있도록 한다.
대용량 악성코드 진단 및 치료 데이터 처리 장치는 여러 개의 데이터 파일에 대해 임의 순서대로 데이터 파일을 조회하면서 필요한 정보를 제공한다. 각 데이터 종류별로 포맷에 맞게 데이터를 가공해서 악성코드 진단 및 치료 장치에 제공하여 별도 변환과정 없이 데이터를 사용할 수 있게 해주고 조건에 맞는 데이터가 없어질 때까지 계속해서 데이터를 제공해 준다. 또한 조회 방식을 데이터 파일에서 직접 접근해서 제공하거나 메모리 상주된 형태로 제공하거나 빠른 처리를 위한 인덱스 정보를 이용하는 등의 운영되는 다양한 조건에 맞는 조회 방식을 제공한다. 또한 시스템 자원이 열악한 경우 특정 종류의 데이터만 제공하거나 최근에 생성된 데이터만 제공하는 방식을 선택하게 해주어 어떤 환경에서라도 악성코드 대응을 위한 진단 및 치료 데이터 조회 기능을 제공한다.
본 발명은 대용량의 악성코드 진단 및 치료를 위한 데이터를 효율적으로 가 공하고 생성하는 장치, 그리고 데이터 조회를 목적으로 사용하는 장치를 사용하여 실제 진단 및 치료를 목적으로 하는 장치의 두 부분으로 구성된다.
악성코드 분석과정을 통해 추출해낸 악성코드 진단 및 치료 데이터는 일차적으로 가독성이 있는 텍스트 형식의 파일로 기록된다. 악성코드 진단 및 치료 데이터 생성 장치는 이러한 여러 가지 진단, 치료 종류별로 순차적으로 기록된 가독성이 있는 데이터로부터 수동적 분류와 자동적 분류에 따라 포맷화된 악성코드 데이터 파일을 생성해 낸다. 수동적 분류는 특별한 목적에 따라 데이터를 임의 구분한 경우이고 자동적 분류는 데이터 종류나 전체 데이터 크기에 따라 여러 개의 데이터 파일을 자동으로 생성해 내는 기술을 뜻한다.
또한 수동적으로 데이터를 분리할 때 동일한 목적을 갖는 데이터의 종류 각각에 대해 해당 종류의 데이터에 상세 포맷을 명시해 두면 실제 텍스트 형식의 파일에 기록된 데이터를 해당 데이터 포맷에 따라 자동 인코딩해서 기록해 준다. 이것은 데이터 생성 장치의 변경 없이 텍스트 파일에 정보 기록만으로 새로운 데이터 종류를 추가하고 관련한 데이터 추가를 가능하게 해 준다.
이렇게 생성된 포맷화된 악성코드 진단 및 치료 데이터 파일을 악성코드 진단 및 치료 데이터 처리 장치에 의해 각각의 악성코드 진단 및 치료 장치에게 필요한 데이터를 전달하게 된다. 여러 개의 데이터 파일을 처리할 수 있고 각 데이터 파일에 포함된 여러 종류의 진단 및 치료 데이터를 처리할 수 있고 동일 종류의 데이터가 여러 파일에 나눠진 경우도 처리할 수 있고 특정 파일만 처리하거나 특정 종류의 데이터만 처리할 수 있어서 사용 환경과 사용 목적에 따라 필요한 데이터 파일에 있는 필요한 데이터만 제공해 주어서 다양한 환경의 다양한 목적의 진단 및 치료 장치에서 사용 가능하다.
본 발명인 악성코드에 대한 진단 및 치료를 위한 데이터 파일을 생성하는 장치는, 악성코드 데이터들에 대하여 각 악성코드 데이터 종류와 포맷정보, 속성 등에 따라 각 종류의 악성코드 데이터들을 바로 사용 가능한 형태로 가공하여 저장한 하나 이상의 악성코드 데이터 파일을 포함하고, 상기 악성코드 데이터 파일은 특정 종류의 악성코드에 관련된 데이터에 대하여 특정 그룹의 악성코드 데이터로 분리하여 저장시킨 악성코드 데이터 파일인 것을 특징으로 한다. 여기서 악성코드 데이터 종류는 데이터 구분자를 뜻하며, 바이러스, 웜, 봇, 트로이잔, 스파이웨어 등 시스템에 악의적 행위를 하는 모든 프로그램이 그 예가 될 수 있다. 상기 포맷정보는 여러 가지 최대 크기의 숫자, 문자, 스트링 등의 정보를 의미하며, 상기 속성은 메모리 상주 선호, 파일 상주 선호, 인덱스 선호 등을 의미한다.
상기 악성코드 데이터 파일 생성장치는, 상기 악성코드 데이터 파일에 대하여 각 파일의 데이터 종류, 포맷정보, 속성 등을 저장한 별도의 데이터 파일을 더 포함할 수 있다.
상기 악성코드 데이터 파일이 소정의 임계치를 넘는 크기를 가지는 경우, 상기 특정 그룹의 악성코드 데이터를 분리하여 여러 개의 악성코드 데이터 파일로 저장할 수 있으며, 특정한 목적을 위해 또는 특정한 조건이 있는 경우, 상기 특정 그룹의 악성코드 데이터를 분리하여 여러 개의 악성코드 데이터 파일로 저장할 수도 있다. 상기 특정의 조건의 일 예는 최신의(또는 최근에 등록된) 악성코드 또는 널 리 유포된 악성코드에 대한 것이 일 예가 될 수 있다.
상기 악성코드 데이터 파일에는 각 악성코드 데이터에 대한 인덱스 정보가 더 포함될 수도 있다.
상기의 여러 악성코드 데이터 파일 중 일부를 사용하는 또 다른 발명은 악성코드 진단 및 치료 대상에 대하여 악성 여부를 진단하거나 치료하기 위한 악성코드 진단 및 치료 장치로서, 상기 악성코드 데이터 파일 생성장치에 저장된 악성코드 데이터 파일 중 일부를 포함하며, 악성코드 진단 및 치료를 위한 악성코드 데이터의 로딩을 데이터 초기화부로 요청하는 장치 구동부와, 상기 장치 구동부의 요청에 따라 악성코드 진단 및 치료를 위해 사용할 메모리 또는 악성코드 데이터의 범위를 결정하고 상기 악성코드 데이터 파일에 저장된 악성코드 데이터를 메모리에 로딩하는 데이터 초기화부와, 상기 악성코드 진단 및 치료 대상과 데이터 검색부로부터 제공된 악성코드 데이터를 비교하여 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 진단 및 치료 결정부와, 상기 메모리에 로딩된 악성코드 데이터 또는 악성코드 데이터 파일에 저장된 악성코드 데이터를 조회하여 진단 및 치료 결정부로 제공하는 데이터 검색부를 포함하여 구성된다.
상기 데이터 초기화부에서 상기 메모리에 로딩되는 악성코드 데이터는, 특정한 종류 또는 특정 조건의 악성코드 데이터일 수 있으며, 또는 상기 데이터 검색부에서 제공하는 악성코드 데이터는, 특정한 종류 또는 특정 조건의 악성코드 데이터일 수 있다. 한편 상기 데이터 검색부는, 악성코드 데이터 파일의 인덱스를 사용하여 악성코드 데이터를 조회할 수도 있다.
본 발명인 악성코드 진단 및 치료 장치는 상기 진단 및 치료 결정부에서 악성코드로 판단된 대상에 대하여 치료를 수행하는 진단 및 치료 수행부를 더 포함할 수 있다.
본 발명인 악성코드 진단 및 치료 장치를 사용하여 악성코드 진단 및 치료 대상에 대하여 악성코드 여부를 진단하거나 치료하기 위한 방법은, 악성코드 데이터 파일 생성장치의 악성코드 데이터 파일 중 일부가 미리 포함된 장치에서 상기 악성코드 데이터를 메모리로 로딩할 것을 요청하는 단계와,악성코드 진단 및 치료를 위해 사용할 메모리 또는 상기 메모리에 로딩될 악성코드 데이터의 범위를 결정하고 상기 악성코드 데이터 파일에 저장된 악성코드 데이터를 메모리에 로딩하는 단계와, 상기 메모리에 로딩된 악성코드 데이터 또는 악성코드 데이터 파일의 악성코드 데이터를 조회하는 단계와, 상기 악성코드 진단 및 치료 대상과 상기 조회된 악성코드 데이터를 비교하여 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 단계를 포함하여 구성된다. 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 단계 후, 악성코드로 판단된 진단 및 치료 대상을 치료하는 단계를 더 포함할 수 있다.
본 명세서에서 제공하는 대용량 악성코드 진단 및 치료 데이터 관리 장치는 끊임없이 발견되는 다양한 종류의 악성코드 대용을 위한 데이터 그룹과 무수히 많은 데이터를 포맷화된 데이터 파일로 손쉽게 생성해주고 악성코드 진단 및 치료 데 이터 처리 장치는 어떤 환경의 어떤 목적의 악성코드 대응 장치라도 필요로 하는 데이터를 조회할 수 있도록 해주어 범람하는 악성코드 샘플에 대해서도 빠른 데이터 생성과 조회가 가능해져서 악성코드 대응을 쉽고 빠르게 할 수 있는 효과가 있다. 특히 선택적 데이터 파일 생성 및 자동 분리 기능을 제공하고 동일 종류의 데이터가 여러 파일에 분리되더라도 누락 없는 데이터 조회가 가능하므로 기존 생성된 데이터 파일의 변경 없이 새로운 종류의 데이터 파일 혹은 새로운 이름의 데이터 파일을 추가 생성, 제공해줄 수 있으므로 악성코드 대응 장치가 설치된 시스템으로 추가된 파일만 전송하면 손쉽게 새로운 악성코드 대응이 가능해 지는 효과가 있다.
또한 개별 데이터 파일이 독립성이 있고 순서가 명시적일 수 있고 특정 파일에 포함된 데이터 종류가 명확해서 시스템 환경에 따라 특정 종류의 데이터 조회만 가능하게 되어 폭발적으로 증가하는 악성코드 샘플 대응 시점에 최신의 악성코드만 대응하거나 특정 조건의 악성코드만 대응할 수 있어서 시스템 사양이 열악한 환경에서도 악성코드 대응이 가능한 환경을 제공한다. 또한 시스템 환경이 좋은 경우 모든 데이터와 인덱스 정보를 메모리에 상주시켜 빠른 데이터 조회 즉 빠른 악성코드 대응이 가능한 환경도 제공한다. 또한 순차적인 데이터파일 관리가 가능하여 새로운 데이터 파일을 추가로 조회대상에 포함시킨 경우 기존 데이터 파일의 메모리 상주 정보를 재활용할 수 있는 기능을 제공해서 데이터 파일 교체 시간을 단축하여 빠른 대응이 가능한 기반환경도 제공한다.
본 명세서에서 설명하는 대용량 악성코드 진단 및 치료 데이터 관리 장치는 크게 2가지의 장치로 구성된다. 악성코드 진단 및 치료 데이터 생성장치(S100)와 악성코드 진단 및 치료 장치 또는 악성코드 진단 및 치료 데이터 처리장치(S200)로 각각의 구성 및 동작은 다음과 같다.
도 1은 악성코드 진단 및 치료 데이터 생성장치의 구성을 나타낸 도면이다.
악성코드 진단 및 치료 데이터 생성장치(S100)는 데이터 종류 및 속성 기록 정보 문서, 악성 코드 샘플로부터 추출된 진단용 데이터, 악성 코드 치료용 정보 및 진단명 데이터, 악성코드 진단과 치료간의 상관정보, 기타 악성코드 대응을 위한 정보 데이터를 소스 데이터 정보로 입력 받아 데이터 그룹 속성을 별도 기록한 파일(D0001 등)들과 1개 이상의 포맷된 데이터 파일(D1000, D1001, D1002, D2000, D3000 등)을 생성해낸다. 이때 종류 및 속성 기록 정보 문서로부터 각 진단 및 치료 데이터가 기록될 포맷화된 데이터 파일(D1000, D2000, D3000)을 생성하고 파일크기제한이 있는 경우 일정 크기 이상이 되면 자동으로 데이터 파일 (D1001)을 분리해 준다 또한 크기와 상관없이 특정 목적에 분리가 필요한 데이터 파일 그룹(D1000~D1999)을 위해 세트 속성을 부여해서 명시적으로 분리된 세트에 포함된 데이터들 간에는 별도 데이터 파일(D1100)로 분리, 생성해 준다. 각 종류별 데이터들은 속성에 따라 개별 데이터 포맷(숫자, 문자열, 스트링 등의 조합)으로 각각의 데이터를 가공해서 기록해주어 데이터를 참조하는 장치가 파일로부터 읽기만 해도 데이터를 바로 사용할 수 있도록 해준다. 또한 목적에 따라 특정 파일들만 필요로 하는 경우를 대비하고 파일들간 종속성을 최소화하기 위해 각 파일에서 필요로 하는 모든 정보는 해당 파일에 포함시켜 준다. 이 경우 임의의 파일을 갖더라도 해당 파일에 포함된 데이터를 조회하는 데에 아무런 문제가 없게 된다. 예를 들어 특성 악성코드에 대응하기 위한 진단, 치료, 정보성 데이터는 특정 파일에 모두 포함시켜 1개의 악성코드에 대응하기 위해 2개 이상의 데이터 파일을 필요로 한 경우는 발생시키지 않는다.
도 2와 도 3은 악성코드 진단 및 치료 장치의 일 실시예의 구성을 나타낸 도면이다.
악성코드 데이터 생성장치에 의해서 생성된 여러 종류(D1000, D2000, D3000)의 여러 개의 데이터 파일들은 여러 종류의 시스템(S300, S400)에서 다양한 목적의 악성코드 진단 및 치료 장치(S301, S302, S401, S402, S403)에 따라 선택적으로 데이터 파일을 사용하게 되는데 이러한 기능을 제공하는 것이 악성코드 진단 및 치료 데이터 처리 장치이다.
도 4를 참조하여 특정 시스템에서 악성코드의 침입 탐지 및 훼손된 상태를 복구해주는 도 3의 악성코드 진단 및 치료 장치(S301)의 동작에 대해 설명한다.
개인용 PC와 같은 어떤 시스템에서 특정 대상 (파일, 메모리, 프로세스, 레지스트리, 디렉토리 등)에 대한 악성 여부를 진단하기 위해서는 먼저 악성코드 진단 및 치료 장치(S301)의 구동을 요청한다. 이러한 요청을 접수한 악성코드 진단 및 치료 장치(S301)은 악성코드 진단 및 치료에 사용될 데이터 로딩을 악성코드 진단 및 치료 데이터 처리장치(S200)에게 요청한다. 이 요청을 접수한 악성코드 진단 및 치료 데이터 처리장치(S200)은 시스템 메모리 사용 정도 (최대 ~ 최소의 여러 단계), 사용 데이터 범위(모두 ~ 최근의 여러 단계), 사용 가능한 데이터 파일 리스트를 전달받아 조건에 따른 데이터처리 초기화부(S210)에 의해 필요한 작업을 진행한다. 데이터 처리 초기화 시점에서 현재 시스템의 가용 메모리 정도와 초기화 요청 시 전달된 메모리 사용 상황에 따라 가용 메모리 판단부(S211)는 데이터의 메모리 사용 정보를 설정하게 된다. 또한 초기화 요청 시 특정 종류의 악성코드만 진단 및 치료 하겠다고 명시한 경우 해당 악성코드와 관련된 데이터들만 대상으로 지정하는 처리와 최근에 등록된 악성코드만 진단 및 치료하겠다고 명시한 경우 최근 등록된 데이터들만 대상으로 지정하는 처리를 검색대상 데이터 파일 판단부(S212)가 작업하게 된다. 가용 메모리 판단부(S211), 검색대상 데이터 파일 판단부(S212)가 처리한 내용과 데이터 파일에 명시된 데이터 속성 정보를 이용해서 데이터 메모리 로딩부(S213)는 데이터 파일에 기록된 데이터, 데이터 파일 접근을 위한 데이터, 검색을 위한 인덱스 데이터 등을 메모리에 로딩해 둔다. 본 발명의 데이터 처리 장치는 기본적으로는 악성코드 진단 및 치료 장치(S301)에 포함된 조회 대상인 모든 데이터 파일로부터 데이터를 조회해서 제공하지만 장치가 설치된 시스템의 환경이 열악해서 진단을 위한 가용 메모리가 부족한 경우 선택적으로 최신에 생성된 파일로부터만 데이터를 조회하거나 특정 종류의 데이터만 메모리 로딩해서 조회할 수 있는 기능을 제공해서 어떠한 환경에서라도 최소한의 악성코드 대응을 위한 데이터 조회는 가능하도록 해준다. 초기화 과정이 완료된 이후는 어떠한 진단 및 치료에 대해서도 처리가 가능하다.
초기화가 완료된 이후 특정 대상에 대한 진단 혹은 치료 요청이 발생한 경우 악성코드 진단 및 치료 장치(S301)는 진단(이후 치료도 동일) 대상에 대해 적용이 필요한 몇몇 종류의 악성코드 진단여부 결정부(S320, S321)를 순차적으로 적용해서 검토 대상의 악성코드 여부를 판단한다. 특정 종류의 악성코드 진단 및 치료 결정부(S320)은 요청된 대상에 대해 해당 악성코드 진단 및 치료 결정부(S320)가 진단 및 치료하는 방식에 필요한 정보를 대상으로부터 산출한 후 이 정보가 이미 악성코드로부터 산출한 정보와 동일한지 여부를 판단하여 악성인지 아닌지를 판단하는 장치이다. 이때 대부분의 처리시간은 수 십만 개 이상의 진단 정보를 가진 데이터 파일로부터 최소한의 데이터만 조회해서 최소한의 비교과정을 통해 동일 여부를 판단할 수 있는 것이다. 이 기능을 제공하는 것이 악성코드 진단 및 치료 데이터 처리장치(S200)이다. 즉, 사용 가능한 데이터 파일은 D1000, D1001, D1002로 3개이지만 조건에 따라 D1001와 D1002만 검색대상으로 지정할 수도 있고, D1002만 메모리 상주시킬 수도 있고, 특정 종류의 데이터 파일들만 검색 대상으로 할 수도 있다. 이 기능은 시스템이 자원이 부족하더라도 최소의 자원을 이용해서라도 악성코드 진단 및 치료 장치(S301)가 정상 동작해서 100%는 아니라도 기본적 시스템 방역이 가능하게 하여 악성코드로부터 시스템을 보호할 수 있게 해주는 기능이다.
악성코드 진단 및 치료 데이터 처리장치(S200)는 특정종류에 대한 데이터 요청이 발생하면 요청과 관련된 최소한의 메모리/파일 데이터만을 조회해서 최대한 빠른 시간 내에 요청 장치에게 필요한 데이터를 전달해 준다. 데이터 검색부(S220)는 특정 조건을 갖는 요청이 있을 시 먼저 검색대상 데이터 정보 취합부(S221)에서 필터링 기능을 통해 최소 수의 유사 데이터만 검색대상 조건으로 설정해둔다. 다음 대상 데이터 순차적 검색부(S222)와 대상 데이터 제공부(S223)를 통해 순차적으로 조건에 맞는 데이터를 요청한 장치로 전달해준다. 이러한 검색 과정에서 초기화 시점에 설정된 환경과 요청된 데이터의 속성에 따라 메모리 상주된 데이터로부터 조회하거나 파일로부터 직접 데이터를 조회하는 기능도 제공한다. 또한 빠른 검색을 위한 인덱스 정보를 이용하기도 하는데 인덱스 정보는 메모리에 상주시키거나 파일에 기록된 정보를 이용할 수도 있게 한다. 데이터 조회는 특정 종류의 특정 조건 (모든 조건도 포함해서)의 데이터 조회를 요청 받게 되면 해당 조건에 맞는 데이터가 더 이상 검색되지 않을 때까지 반복적으로 제공하다가 더 이상 해당 조건의 데이터가 없어지면 해당 정보를 알려주고 조회 기능을 종료한다. 이 기능을 이용해서 여러 목적의 여러 시스템의 악성코드 진단 및 치료 장치가 필요로 하는 데이터를 구할 수 있게 된다. 이처럼 데이터 조회 시점에 시스템 자원을 다양하게 할 수 있게 해주는 기능을 통해 서버 시스템처럼 많은 파일들이 존재하고 접근되며 시스템 자원이 풍부한 경우, 최대한의 시스템 자원을 활용해서 빠른 속도로 악성 여부를 판단할 수 있게 해주는 장점과 생산 장비처럼 시스템 사양이 열악하고 고정적인 숫자의 파일 접근이 있는 시스템의 경우 최소의 시스템 자원을 활용해서 중단 없는 악성코드 판단이 가능하게 해준다. 또한 모바일 시스템처럼 데스크탑 PC보다 시스템 자원은 상대적으로 나쁘지만 최신의 파일(기타)의 접근이 빈번한 경우 최근 유행하는 악성코드로부터 생성된 데이터만을 사용해서 적은 시스템자원으로 효율적인 악성코드 대응이 가능하게끔 해준다.
이러한 여러 개의 악성코드 진단 및 치료 결정부(S320)와 악성코드 진단 및 치료 데이터 처리장치(S200)와의 인터페이스는 더 이상 확인할 대상이 없거나 대상이 악성으로 판단될 때까지 반복된다.
시스템 종료 등의 이유로 악성코드 진단 및 치료 장치(S301)의 종료요청이 접수되면 데이터 처리 종료부(S240)는 메모리에 로딩된 정보를 해지하고 기타 정보를 정리한 후 동작이 중지된다.
도 5는 악성코드 진단 및 치료를 수행하는 방법을 나타내는 순서도이다.
악성코드 진단 및 치료 장치(S301)를 사용하여 악성코드 진단 및 치료 대상에 대하여 악성 여부를 진단하거나 치료하기 위한 방법은, 악성코드 데이터 파일 생성장치의 악성코드 데이터 파일 중 일부가 미리 포함된 장치에서 상기 악성코드 데이터를 메모리로 로딩할 것을 요청하는 단계(P100)와, 악성코드 진단 및 치료를 위해 사용할 메모리 또는 상기 메모리에 로딩될 악성코드 데이터의 범위를 결정하고 상기 악성코드 데이터 파일에 저장된 악성코드 데이터를 메모리에 로딩하는 단계(P200)와, 상기 메모리에 로딩된 악성코드 데이터 또는 악성코드 데이터 파일의 악성코드 데이터를 조회하는 단계(P300)와, 상기 악성코드 진단 및 치료 대상과 상기 조회된 악성코드 데이터를 비교하여 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 단계(P400)를 포함하여 구성된다. 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 단계(P400) 후, 악성코드로 판단된 진단 및 치료 대상을 치료하는 단계(P500)를 더 포함할 수 있다.
도 1은 악성코드 진단 및 치료 데이터 생성장치의 구성을 나타낸 도면이다.
도 2와 도 3은 악성코드 진단 및 치료 데이터 장치의 일 실시예의 구성을 나타낸 도면이다.
도 4는 특정 시스템에서 악성코드의 침입 탐지 및 훼손된 상태를 복구해주는 악성코드 진단 및 치료 장치의 동작에 대해 설명하는 도면이다.
도 5는 악성코드 진단 및 치료를 수행하는 방법을 나타내는 순서도이다.
<도면의 주요부분에 대한 부호의 설명>
S100: 악성코드 진단 및 치료 데이터 생성장치.
D0001: 악성코드 진단 및 치료 데이터의 종류와 속성을 갖는 파일.
D1000: 악성코드 진단 및 치료 데이터 파일, 이 파일에 포함된 여러 데이터 종류와 속성을 갖고 있다.
D1001: 크기제약으로 자동 분리된 D1000과 같은 종류들의 데이터를 갖고 있는 악성코드 진단 및 치료 데이터 파일.
D1100: 임의의 목적으로 D1000과 별도 세트 구성으로 임의로 분리된 D1000과 같은 종류들의 데이터를 갖고 있는 악성코드 진단 및 치료 데이터 파일.
D2000: D1000과 다른 조합의(같은 혹은 다른 종류의) 데이터를 갖고 있는 악성코드 진단 및 치료 데이터 파일.
D3000: D1000, D2000과 각각 다른 조합의 데이터를 갖고 있는 악성코드 진단 및 치료 데이터 파일.
S300: 악성코드 진단 및 치료 장치가 설치된 시스템, 두 개의 악성코드 진단치료 장치(S301, S302)를 갖고 있다.
S301: S300에 임의의 목적을 위해 설치된 악성코드 진단 및 치료 장치, D1000, D1001, D1002 인 세 개의 악성코드 진단 및 치료 데이터 파일을 갖고 있다.
S302: 시스템(S300)에 S301과는 다른 임의의 목적을 위해 설치된 악성코드 진단 및 치료 장치, 악성코드 대응과 관련한 데이터 그룹과 속성을 갖는 데이터 파일(D0001)과 두 개의 악성코드 진단 및 치료 데이터 파일(D2000, D3000)을 갖고 있다.
S200: 악성코드 진단 및 치료 데이터 처리 장치, 악성코드 진단 및 치료 장치(S301 또는 S302) 내부에 포함되어 악성코드 진단 및 치료 데이터 파일로부터 요청된 데이터를 조회해서 결과를 제공하는 장치.
S400: 악성코드 진단 및 치료 장치가 설치된 시스템, 악성코드 진단치료 장치(S401)를 갖고 있다.
S401: 임의의 목적을 위해 설치된 악성코드 진단치료 장치, S301과는 달리 세 개의 악성코드 진단 및 치료 데이터 파일(D1000, D1001, D1002)을 갖고 있다.

Claims (12)

  1. 악성코드에 대한 진단 및 치료를 위한 데이터 파일을 생성하는 장치에 있어서,
    악성코드 데이터들에 대하여 각 악성코드 데이터 종류와 포맷정보, 속성 등에 따라 각 종류의 악성코드 데이터들을 가공하여 저장한 하나 이상의 악성코드 데이터 파일을 포함하고,
    상기 악성코드 데이터 파일은 특정 종류의 악성코드에 관련된 데이터에 대하여 특정 그룹의 악성코드 데이터로 분리하여 상기 특정 그룹 별로 로딩 가능하도록 저장된 악성코드 데이터 파일인
    악성코드 데이터 파일 생성장치.
  2. 제1항에 있어서,
    상기 악성코드 데이터 파일에 대하여 각 파일의 데이터 종류, 포맷정보, 속성 등을 저장한 별도의 데이터 파일을 더 포함하는 것을 특징으로 하는,
    악성코드 데이터 파일 생성장치.
  3. 제1항에 있어서,
    상기 악성코드 데이터 파일이 소정의 임계치를 넘는 크기를 가지는 경우,
    상기 특정 그룹의 악성코드 데이터를 분리하여 여러 개의 악성코드 데이터 파일로 저장하는 것을 특징으로 하는 악성코드 데이터 파일 생성장치.
  4. 제1항에 있어서,
    특정한 목적을 위해 또는 특정한 조건이 있는 경우,
    상기 특정 그룹의 악성코드 데이터를 분리하여 여러 개의 악성코드 데이터 파일로 저장하는 것을 특징으로 하는 악성코드 데이터 파일 생성장치.
  5. 제1항에 있어서,
    상기 악성코드 데이터 파일은,
    각 악성코드 데이터에 대한 인덱스 정보가 더 포함되는 것을 특징으로 하는 악성코드 데이터 파일 생성장치.
  6. 악성코드 진단 및 치료 대상에 대하여 악성 여부를 진단하거나 치료하기 위한 장치에 있어서,
    제1항 내지 제5항 중 어느 한 항의 악성코드 데이터 파일 중 일부를 포함하며,
    악성코드 데이터의 로딩을 데이터 초기화부로 요청하는 장치 구동부와,
    상기 장치 구동부의 요청에 따라 악성코드 진단 및 치료를 위해 사용할 메모리 또는 악성코드 데이터의 범위를 결정하고 상기 악성코드 데이터 파일에 저장된 악성코드 데이터를 메모리에 로딩하는 데이터 초기화부와,
    상기 악성코드 진단 및 치료 대상과 데이터 검색부로부터 제공된 악성코드 데이터를 비교하여 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 진단 및 치료 결정부와,
    상기 메모리에 로딩된 악성코드 데이터 또는 악성코드 데이터 파일에 저장된 악성코드 데이터를 조회하여 진단 및 치료 결정부로 제공하는 데이터 검색부를 포함하여 구성되는 악성코드 진단 및 치료장치.,
  7. 제6항에 있어서,
    상기 데이터 초기화부에서 상기 메모리에 로딩되는 악성코드 데이터는,
    특정한 종류 또는 특정 조건의 악성코드 데이터인 것을 특징으로 하는 악성코드 진단 및 치료 장치.
  8. 제6항에 있어서,
    상기 데이터 검색부에서 제공하는 악성코드 데이터는,
    특정한 종류 또는 특정 조건의 악성코드 데이터인 것을 특징으로 하는 악성코드 진단 및 치료 장치.
  9. 제6항에 있어서,
    상기 데이터 검색부는,
    악성코드 데이터 파일의 인덱스를 사용하여 악성코드 데이터를 조회하는 것을 특징으로 하는 악성코드 진단 및 치료 장치.
  10. 제6항에 있어서,
    상기 진단 및 치료 결정부에서 악성코드로 판단된 대상에 대하여 치료를 수행하는 진단 및 치료 수행부를 더 포함하는 것을 특징으로 하는 악성코드 진단 및 치료 장치.
  11. 악성코드 진단 및 치료 대상에 대하여 악성코드 여부를 진단하거나 치료하기 위한 방법에 있어서,
    제1항 내지 제5항 중 어느 한 항의 악성코드 데이터 파일 중 일부가 미리 포함된 장치에서 상기 악성코드 데이터를 메모리로 로딩할 것을 요청하는 단계와,
    악성코드 진단 및 치료를 위해 사용할 메모리 또는 상기 메모리에 로딩될 악성코드 데이터의 범위를 결정하고 상기 악성코드 데이터 파일에 저장된 악성코드 데이터를 메모리에 로딩하는 단계와,
    상기 메모리에 로딩된 악성코드 데이터 또는 악성코드 데이터 파일의 악성코드 데이터를 조회하는 단계와,
    상기 악성코드 진단 및 치료 대상과 상기 조회된 악성코드 데이터를 비교하여 악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 단계를 포함하여 구성되는 악성코드 진단 및 치료 방법.
  12. 제11항에 있어서,
    악성코드 진단 및 치료 대상의 악성코드 여부를 판단하는 단계 후,
    악성코드로 판단된 진단 및 치료 대상을 치료하는 단계를 더 포함하는 것을 특징으로 하는 악성코드 진단 및 치료 방법.
KR1020080005744A 2008-01-18 2008-01-18 악성코드 진단 및 치료 장치 KR100954355B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080005744A KR100954355B1 (ko) 2008-01-18 2008-01-18 악성코드 진단 및 치료 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080005744A KR100954355B1 (ko) 2008-01-18 2008-01-18 악성코드 진단 및 치료 장치

Publications (2)

Publication Number Publication Date
KR20090079625A KR20090079625A (ko) 2009-07-22
KR100954355B1 true KR100954355B1 (ko) 2010-04-21

Family

ID=41290789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080005744A KR100954355B1 (ko) 2008-01-18 2008-01-18 악성코드 진단 및 치료 장치

Country Status (1)

Country Link
KR (1) KR100954355B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014168406A1 (ko) * 2013-04-09 2014-10-16 주식회사 안랩 메모리 보호기능 우회 공격 진단 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2444056C1 (ru) 2010-11-01 2012-02-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ ускорения решения проблем за счет накопления статистической информации
KR101230585B1 (ko) * 2010-12-07 2013-02-06 주식회사 안랩 악성코드 치료 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050096743A (ko) * 2004-03-31 2005-10-06 박기진 네트워크 상의 공격 탐지 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050096743A (ko) * 2004-03-31 2005-10-06 박기진 네트워크 상의 공격 탐지 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014168406A1 (ko) * 2013-04-09 2014-10-16 주식회사 안랩 메모리 보호기능 우회 공격 진단 장치 및 방법

Also Published As

Publication number Publication date
KR20090079625A (ko) 2009-07-22

Similar Documents

Publication Publication Date Title
EP2452287B1 (en) Anti-virus scanning
US20160012225A1 (en) System and method for the detection of malware
EP2472425A2 (en) System and method for detecting unknown malware
KR101260028B1 (ko) 악성코드 그룹 및 변종 자동 관리 시스템
CN101976209A (zh) 相冲突的应用程序的适应性配置
Scoccia et al. An investigation into Android run-time permissions from the end users' perspective
EP3346664B1 (en) Binary search of byte sequences using inverted indices
US8336100B1 (en) Systems and methods for using reputation data to detect packed malware
CN101443762A (zh) 用于搜索的后退机制
CN107103238A (zh) 用于保护计算机系统免遭恶意对象活动侵害的系统和方法
EP2417551B1 (en) Providing information to a security application
US9129109B2 (en) Method and apparatus for detecting a malware in files
KR102045772B1 (ko) 악성 코드를 탐지하기 위한 전자 시스템 및 방법
US8769700B2 (en) Method, apparatus and computer program for supporting determination on degree of confidentiality of document
US10742668B2 (en) Network attack pattern determination apparatus, determination method, and non-transitory computer readable storage medium thereof
KR101222178B1 (ko) 악성코드 dna 및 메타데이터 자동 관리 시스템
KR100954355B1 (ko) 악성코드 진단 및 치료 장치
US11836251B2 (en) Malware detection using a machine learning model
US20230315846A1 (en) System and method for detecting leaked documents on a computer network
CA3125101A1 (en) System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats
US8402545B1 (en) Systems and methods for identifying unique malware variants
RU2446460C1 (ru) Способ и система фильтрации веб-контента
EP4309034A1 (en) Software composition analysis on target source code
KR20130077184A (ko) 악성코드에 감염된 홈페이지 탐지 장치 및 방법
Varma et al. Efficient smart phone forensics based on relevance feedback

Legal Events

Date Code Title Description
A201 Request for 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: 20130415

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140415

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 10