KR100996839B1 - 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법 - Google Patents

컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법 Download PDF

Info

Publication number
KR100996839B1
KR100996839B1 KR1020100034328A KR20100034328A KR100996839B1 KR 100996839 B1 KR100996839 B1 KR 100996839B1 KR 1020100034328 A KR1020100034328 A KR 1020100034328A KR 20100034328 A KR20100034328 A KR 20100034328A KR 100996839 B1 KR100996839 B1 KR 100996839B1
Authority
KR
South Korea
Prior art keywords
verification
vaccine
database
program
storage unit
Prior art date
Application number
KR1020100034328A
Other languages
English (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 KR1020100034328A priority Critical patent/KR100996839B1/ko
Application granted granted Critical
Publication of KR100996839B1 publication Critical patent/KR100996839B1/ko
Priority to US13/004,498 priority patent/US20110258165A1/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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Landscapes

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

Abstract

본 발명은 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법에 관한 것으로서, 보다 상세하게는 컴퓨터 바이러스나 웜, 악성코드를 치료하기 위해 백신 엔진에 탑재되는 백신 데이터베이스에 정상 프로그램에 관한 정보를 저장함으로써 정상 프로그램이 바이러스나 악성코드로 인식되지 않도록 자동으로 데이터베이스를 검증 및 수정할 수 있도록 하는 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법에 관한 것이다.
본 발명에 따르면 최신 백신 데이터베이스의 파일셋을 신속하게 수집하여 가공할 수 있고, 벤더측에서 제공해 주는 백신 데이터베이스 파일의 문제를 미리 파악하여 오류 상황에 대한 알림 기능과 백신 데이터베이스 업데이트 과정의 에러 리포팅 프로세스를 자동화할 수 있는 효과가 있다.

Description

컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법{AUTOMATIC VERIFICATION SYSTEM FOR COMPUTER VIRUS VACCINE DATABASE AND METHOD THEREOF}
본 발명은 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법에 관한 것으로서, 보다 상세하게는 컴퓨터 바이러스나 악성코드를 치료하기 위해 백신 엔진에 탑재되는 백신 데이터베이스에 정상 프로그램에 관한 정보를 저장함으로써 정상 프로그램이 바이러스나 악성코드로 인식되지 않도록 자동으로 데이터베이스를 검증 및 수정할 수 있도록 하는 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법에 관한 것이다.
컴퓨터 바이러스나 웜, 악성코드(이하, '바이러스'라고 함)를 진단하고 치료하기 위한 백신 프로그램은 바이러스에 대한 정보를 저장하는 백신 데이터베이스와, 백신 데이터베이스를 참조하여 특정한 패턴의 동작을 하는 악성코드를 분류해내고 치료하는 백신 엔진으로 구성된다.
백신 프로그램은 새로 만들어지는 바이러스에 대응하기 위하여 백신 사용자들에게 최신 바이러스 탐지와 치료를 위한 백신 데이터베이스를 지속적으로 업데이트 해주는 작업이 필요하다.
백신 데이터베이스는 바이러스 파일을 구성하는 데이터나, 프로그램의 행동 패턴 분석 데이터, 또는 감염된 PC에서 생성하는 특정 데이터 분석값을 가지고 있는데, 백신 프로그램은 이러한 데이터를 통해 사용자의 PC를 분석해 바이러스를 삭제한다.
하지만, 백신 데이터베이스를 만드는 과정 중 데이터를 구성하는 작업에서 악성코드와 정상적인 파일을 혼동하거나, 데이터를 분류하는 정책에 오류가 있을 경우, 또는 수정할 수 없는 외부 백신 데이터베이스가 잘못된 데이터를 포함하고 있는 상태로 백신 사용자들에게 배포가 되었을 경우, 오진으로 인한 보안사고로 이어질 수 있는 문제가 있으며, 실제로 백신의 오진으로 인한 다양한 보안사고가 발생하고 있다.
백신 프로그램이 바이러스를 탐지하는 방법은 등록된 패턴을 이용하는 방법과 휴리스틱(heuristic)으로 탐지하는 방법으로 나뉘고, 패턴을 등록하는 방법은 사람이 하나하나 분석하고 등록하는 수작업 방식과, 자동화된 패턴 분석 프로그램을 이용하는 자동화 방법으로 나눌 수 있다.
수작업 방식으로 백신 데이터베이스를 등록하는 경우, 악성코드의 파악을 정확하게 할 수 있다는 장점이 있지만, 작업하는 악성코드 분석가의 실수나 분석가의 판단 착오로 잘못된 데이터가 백신 데이터베이스에 등록될 수 있다. 또한 사람이 일일이 악성 코드를 분석해 백신 데이터베이스에 패턴을 등록하는 과정은 한계가 있기 때문에, 대부분의 백신 업체에서는 자동화된 패턴 등록 프로그램을 이용하여 악성 코드 분석가의 분석 업무를 자동화시키고 있는데, 이때 패턴 등록 프로그램의 정책을 잘못 결정하거나, 자동화된 악성코드 저장부에 악성코드가 아닌 정상적인 파일이 포함되는 경우에는 정상적인 애플리케이션을 악성코드로 오진할 수 있다.
그리고 휴리스틱 탐지시에도 자동화된 정책에 따라 애플리케이션의 동작 패턴을 보고 악성코드인지의 여부를 판단하는데, 휴리스틱 탐지 정책이 잘못되거나, 정상 애플리케이션의 동작이 악성 코드의 동작과 유사한 경우에는 정상적인 애플리케이션을 악성코드로 오진할 수 있다.
따라서 이러한 다양한 오진 가능성에 대비하기 위해 백신 데이터베이스를 업데이트하기 전에 데이터베이스의 오진 테스트가 필요한데, 다양하면서 기하급수적으로 늘어나는 검사 대상 애플리케이션과 지속적으로 버전 업데이트가 되는 백신 엔진과 백신 애플리케이션을 고려한 사전 예방 조치를 하는 일은 쉽지 않다. 특히, 사전 탐지가 된다고 하더라도, 수정한 백신 데이터베이스를 다시 검증하는 일은 시간이 오래 걸리게 되어, 실시간 대응이 중요한 백신 데이터베이스 업데이트에 지장을 준다. 특히 이러한 문제는 최신 백신 트렌드인 하나의 백신에서 다수의 엔진을 운영하는 유형에서는 더욱 해결하기 힘든 문제다.
기존의 업체들이 행하는 화이트리스트의 경우는 특정 파일셋(file set)을 유지한 채 백신 데이터베이스를 이용한 탐지를 해보고, 오류가 있을 경우 단순히 제외처리만 하는 방식이다. 그리고 탐지부터 수정까지의 모든 과정이 자동화된 방식이 아니라 오류를 확인하면서 다음 작업을 수행하는 수동 작업 방식이다.
전술한 문제점을 해결하기 위한 본 발명은 백신 데이터베이스의 오류를 신속하고 정확하게 수정하기 위해서 자동으로 백신 데이터베이스를 수집하고 검증하여 사용자에게 배포할 수 있도록 하는 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 백신 데이터베이스의 업데이트가 지연되는 것을 방지하고, 백신 프로그램의 배포 주기보다 백신 데이터베이스의 검증 주기를 더 짧게 함으로써 항상 검증된 최신 백신 데이터베이스가 배포될 수 있도록 하는 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법을 제공하는 것을 목적으로 한다.
전술한 문제점을 해결하기 위해 안출된 본 발명은 컴퓨터 바이러스나 웜, 악성코드(이하, '바이러스'라고 함)에 대한 정보를 저장하는 백신 데이터베이스의 오류를 사전에 검증하는 검증시스템으로서, 검증 대상이 되는 백신 데이터베이스를 수집하여 저장하는 제1데이터베이스 저장부와; 검증 대상이 되는 백신 엔진을 수집하여 저장하는 제1엔진 저장부와; 바이러스로 오인되지 않도록 등록할 프로그램을 수집하여 저장하는 파일셋 저장부와; 상기 제1엔진 저장부에 저장된 백신 엔진에 상기 제1데이터베이스에 저장된 백신 데이터베이스를 탑재하여 상기 파일셋 저장부에 저장된 프로그램을 검사하고, 검사 결과 상기 프로그램이 바이러스로 인식되는 지를 확인하는 검증부와; 상기 검증부의 검사 결과, 바이러스로 인식되는 프로그램이 존재하는 경우, 상기 백신 엔진에 탑재된 백신 데이터베이스를 수정하여 상기 프로그램이 바이러스로 인식되지 않도록 하는 제외처리부;를 포함한다.
상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 데이터베이스를 저장하는 제2데이터베이스 저장부와; 상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 엔진을 저장하는 제2엔진 저장부;를 추가로 포함한다.
상기 파일셋 저장부에 저장되는 프로그램은 파일 다운로드 사이트에서 다운로드 빈도가 높은 프로그램과, 사용자수 또는 접속자수가 많은 게임 프로그램과, 상기 검증시스템과 연결된 업체에서 사용되고 있는 업무용 애플리케이션과, 상기 검증시스템에 오류 여부에 대한 확인을 의뢰한 애플리케이션 중 어느 하나인 것을 특징으로 한다.
상기 검증부에 의해 검증이 완료되어 상기 제2데이터베이스 저장부와 상기 제2엔진 저장부에 각각 저장된 백신 데이터베이스와 백신 엔진을 정해진 시간과 주기마다 인터넷을 통해 사용자에게 배포하는 분배처리부;를 추가로 포함한다.
상기 검증부는 검증 프로세스에 소요되는 시간에 맞게 상기 백신 데이터베이스의 검증 프로세스에 사용되는 검증 머신의 수를 늘리거나 줄여서 검증에 소요되는 시간을 일정하게 유지하도록 하는 것을 특징으로 한다.
다른 실시예에 따른 본 발명은 컴퓨터 바이러스나 웜, 악성코드(이하, '바이러스'라고 함)에 대한 정보를 저장하는 백신 데이터베이스의 오류를 사전에 검증하는 검증방법으로서, 검증 대상이 되는 백신 데이터베이스와 백신 엔진을 수집하여 제1데이터베이스 저장부와 제1엔진 저장부에 각각 저장하는 제1단계와; 바이러스로 오인되지 않도록 등록할 프로그램을 수집하여 파일셋 저장부에 저장하는 제2단계와; 검증부가 상기 제1엔진 저장부에 저장된 백신 엔진에 상기 제1데이터베이스 저장부에 저장된 백신 데이터베이스를 탑재하여 상기 파일셋 저장부에 저장된 프로그램을 검사하고, 검사 결과 상기 프로그램이 바이러스로 인식되는 지를 확인하는 제3단계와; 상기 검증부의 검사 결과, 바이러스로 인식되는 프로그램이 존재하는 경우, 제외처리부가 상기 백신 엔진에 탑재된 백신 데이터베이스를 수정하여 상기 프로그램이 바이러스로 인식되지 않도록 하는 제4단계;를 포함한다.
상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 데이터베이스를 제2데이터베이스 저장부에 저장하는 제5단계와; 상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 엔진을 제2엔진 저장부에 저장하는 제6단계;를 추가로 포함한다.
상기 파일셋 저장부에 저장되는 프로그램은 파일 다운로드 사이트에서 다운로드 빈도가 높은 프로그램과, 사용자수 또는 접속자수가 많은 게임 프로그램과, 상기 검증시스템과 연결된 업체에서 사용되고 있는 업무용 애플리케이션과, 상기 검증시스템에 오류 여부에 대한 확인을 의뢰한 애플리케이션 중 어느 하나인 것을 특징으로 한다.
분배처리부가 상기 검증부에 의해 검증이 완료되어 상기 제2데이터베이스 저장부와 상기 제2엔진 저장부에 각각 저장된 백신 데이터베이스와 백신 엔진을 정해진 시간과 주기마다 인터넷을 통해 사용자에게 배포하는 제7단계;를 추가로 포함한다.
상기 검증부는 정해진 주기마다 상기 프로그램에 대한 오인 여부를 검증하며, 상기 검증부의 검증 주기는 상기 분배처리부의 배포 주기보다 상대적으로 짧은 것을 특징으로 한다.
본 발명에 따르면 최신 백신 데이터베이스의 파일셋을 신속하게 수집하여 가공할 수 있고, 벤더측에서 제공해 주는 백신 데이터베이스 파일의 문제를 미리 파악하여 오류 상황에 대한 알림 기능과 백신 데이터베이스 업데이트 과정의 에러 리포팅 프로세스를 자동화할 수 있는 효과가 있다.
또한 본 발명에 따르면 사용자가 사용하는 PC환경에서 운용할 수 있는 다양하고 많은 프로그램과 운영체제, 애플리케이션들에 대해 배포하려는 백신 데이터베이스로 미리 검증해 봄으로써, 사용자의 컴퓨팅 환경에서 발생할 수 있는 다양한 보안 사고를 미연에 방지할 수 있는 효과가 있다.
백신 데이터베이스를 만드는 단계뿐만 아니라, 검사 대상 파일셋을 대상으로 하는 검증 이전 단계와 이후 단계, 그리고 배포 후 단계에 이르기까지 가장 빠르고 신속하게 대응할 수 있는 제외처리 과정을 제공함으로써 백신 데이터베이스의 오탐 검증 사전 점검, 사후 점검, 그리고 배포 후 긴급대응을 신속하게 하며, 긴급상황 알림과 작업자에 대한 정보전달, 실시간 배포작업과 관리의 전과정을 자동화할 수 있는 효과가 있다.
또한 본 발명에 따르면 검증 프로세스에 사용되는 검증 머신의 수를 지능적으로 설정하여 검증 프로세스에 소요되는 시간을 최적화할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 자동 검증시스템의 구성을 나타낸 블럭도.
도 2는 자동 검증방법의 순서를 개략적으로 나타낸 블럭도.
도 3은 데이터베이스 및 엔진 수집 프로세스를 나타낸 순서도.
도 4는 파일셋 수집 프로세스를 나타낸 순서도.
도 5는 백신 엔진과 백신 데이터베이스에 대한 검증 프로세스를 나타낸 순서도.
도 6은 오류가 발생한 엔진이나 데이터베이스에 대한 제외처리 프로세스를 나타낸 순서도.
이하에서 도면을 참조하여 본 발명의 실시예에 따른 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법(이하, 각각 '검증시스템' 및 '검증방법'이라 함)에 대하여 설명한다.
도 1은 본 발명의 실시예에 따른 자동 검증시스템의 구성을 나타낸 블럭도이며, 도 2는 자동 검증방법의 순서를 개략적으로 나타낸 블럭도이다.
본 발명의 검증시스템(100)은 백신 데이터베이스의 사전 배포 전 검증, 검증할 대상 데이터 선정 및 샘플 수집, 검증하는 머신의 동적인 구성 및 유연한 정책 적용, 배포된 백신 데이터베이스에 대한 긴급 대응 처리 등을 통합적으로 수행한다.
구체적으로는 최신 백신 데이터베이스 수집 프로세스, 검사 대상 파일셋 수집 프로세스, 검증 프로세스, 제외처리 프로세스, 분배 프로세스를 단계적으로 실행한다. 각각의 각 프로세스는 다른 프로세스에 영향을 주지 않고 별개로 운영되면서 각 프로세스에서 처리완료된 데이터 셋(set)이 보관되는 저장부만 공유하고, 다음 프로세스가 이전 프로세스의 결과 데이터 셋을 넘겨받음으로써 전체적인 검증 과정이 운영된다.
각 프로세스는 성공과 실패 여부에 따라 작업성공 보고와 실패 보고 및 긴급 상황 알림을 진행한다. 만일 각 프로세스 중 작업이 실패하게 되면 각 프로세스에서 해당 문제를 담당하는 근무자에게 이메일과 SMS 등의 다양한 통지 방식을 사용하여 실패에 대한 알림을 주며, 함께 전달되는 실패 보고서를 통해 프로세스 과정 중 실패한 부분에 대한 빠른 복구를 할 수 있도록 유도한다.
백신 데이터베이스를 검증하고 배포하는 서비스 시간과 업데이트하는 대상에 따라 분배 프로세스 정책이 결정된다. 검증 프로세스는 분배 프로세스에 비하여 보다 짧은 주기마다 실행되도록 함으로써 검증 프로세스가 분배 프로세스보다 많은 횟수로 운영되도록 하는데, 이것은 검증 프로세스 도중 문제가 발생하더라도, 예정된 분배 시간 이전에 새로운 검증 작업이 이루어지도록 하여 정상적인 분배 프로세스가 진행될 수 있도록 하기 위한 것이다. 이에 따라 검증 실패로 인한 피해를 최소화할 수 있다.
검증부(102)는 백신 프로그램을 만드는 보안업체가 자체적으로 생성한 내부 백신 데이터베이스(204)나, 외부 보안업체로부터 수집한 외부 백신 데이터베이스(202)를 이용하여 정상적인 프로그램이 바이러스로 오인되는 지를 주기적으로 확인하는 역할을 한다.
검증부(102)는 검증 대상이 되는 백신 데이터베이스를 백신 엔진에 탑재하여 정상적인 프로그램에 대하여 바이러스 검사를 실행함으로써 백신 데이터베이스에 오류가 없는지를 판단할 수 있다.
이를 위해 검증시스템(100)에는 아직 검증되지 않은 백신 데이터베이스와 백신 엔진을 각각 저장하는 제1데이터베이스 저장부(104)와 제1엔진 저장부(106)가 구비된다.
제1데이터베이스 저장부(104)에는 외부 백신 데이터베이스(202)와 내부 백신 데이터베이스(204)에서 추출된 백신 데이터베이스가 저장되며, 제1엔진 저장부(106)에는 백신 엔진 데이터베이스(206)와 프로그램 데이터베이스(208)에서 추출된 백신 엔진과 프로그램이 저장된다.
백신 엔진은 컴퓨터에서 실행되고 있는 프로그램을 모니터링하면서 일반적인 바이러스의 특징을 보이는 프로그램을 감지하고, 감지된 프로그램의 행동 패턴을 분석하여 백신 데이터베이스에 저장된 데이터와 비교함으로써 바이러스의 침투 여부를 판단하는 기능을 수행한다. 백신 엔진은 백신 데이터베이스에 저장된 바이러스 데이터를 호출하여 현재 실행중인 프로그램의 특성과 비교함으로써 바이러스를 정확하게 파악할 수 있다.
파일셋 저장부(108)는 검사 대상 프로그램을 선정하여 저장하는 부분으로서, 백신 프로그램에 의해서 바이러스로 오인되지 않도록 설정할 프로그램(화이트리스트)을 수집하여 저장한다.
파일셋 저장부(108)에 저장된 화이트리스트 프로그램에 대한 상세한 내용은 후술한다.
검사 대상 파일셋을 수집할 때, 단순히 애플리케이션의 파일셋을 수집하는 것에 그치지 않고, 애플리케이션의 업데이트나 버전이 변경되는 내역을 추적하여 메타정보가 포함된 애플리케이션 히스토리화 작업을 함으로써 탐지 오류 발생시 빠르고 정확한 재현 및 대응이 가능하다.
외부 시스템으로부터 많은 애플리케이션을 수집하고, 업데이트와 버전 변경내역을 파악하여 검사 대상 파일셋으로 구성하면 검사 대상 파일셋을 유지하는 공간과 검증 시간의 문제가 발생하게 된다. 파일셋 저장부(108)에 검사 대상 파일셋을 수집하여 저장할 때, 기존 검사 대상 파일셋 전체에 대한 통계자료와 메타정보를 생성하여 공간과 시간적인 문제로 발생할 수 있는 문제를 해결함과 동시에 프로세스를 효율적이게 만든다.
외부 시스템으로부터 새로운 프로그램을 수집한 경우, 파일셋 저장부(108)에 저장된 프로그램과 비교하여 이미 저장되어 있는 것인지, 그렇지 않은지를 비교함으로써 중복 검증을 방지할 수 있다. 이를 위해 파일셋 저장부(108)에 저장되는 프로그램의 메타정보와 MD5 해쉬값 등을 생성하여 프로그램 리스트와 함께 저장한다. 그리고 새로운 프로그램 파일셋을 수집했을 때, 메타정보와 MD5 해쉬값을 생성한 후, 저장되어 있는 파일셋의 메타정보나 해쉬값과 비교함으로써 저장여부를 파악할 수 있다.
프로그램 파일의 메타정보나 MD5 해쉬값을 생성하고 저장하여 파일의 중복 저장을 방지하는 기술은 이미 공지된 기술이므로, 상세한 설명은 생략한다.
검증부(102)에 의해 오류가 없는 것으로 판정된 백신 데이터베이스는 제2데이터베이스 저장부(110)에 저장되며, 검증을 통과한 백신 엔진과 프로그램은 제2엔진 저장부(112)에 저장된다.
검증부(102)의 검사 결과, 특정 백신 데이터베이스가 탑재된 백신 엔진이 파일셋 저장부(108)에 저장된 프로그램을 바이러스로 인식하는 경우, 해당 백신 데이터베이스에 오류가 있는 것이므로, 제외처리부(114)가 백신 데이터베이스를 수정하여 해당하는 프로그램이 바이러스로 오인되지 않도록 조정한다.
제외처리부(114)는 오류가 발생했을 때, 검증시스템(100)의 관리자에게 오류 보고를 한 후, 자동으로 해당 백신 데이터베이스를 수정하도록 설정된다.
분배처리부(116) 검증부(102)에 의해 검증이 완료되어 제2데이터베이스 저장부(110)와 제2엔진 저장부(112)에 각각 저장된 백신 데이터베이스와 백신 엔진을 정해진 시간과 주기마다 인터넷을 통해 사용자에게 배포한다.
검증부(102)가 수행하는 검증 프로세스 주기와 분배처리부(116)가 백신 데이터베이스를 배포하는 주기는 동일할 수도 있지만, 검증 프로세스에서 오류가 발생했을 때 이를 수정해서 배포할 수 있는 시간적 여유를 갖기 위해서 검증 주기를 배포 주기보다 더 짧게 하는 것이 바람직하다. 예를 들어 검증 주기가 배포 주기보다 1/3 이하인 경우, 한 번의 배포가 이루어지기 전에 최소한 세 번의 검증이 수행될 수 있어서 오류 탐지와 수정에 시간적인 여유를 가질 수 있게 된다.
이하에서는 각각의 프로세스별로 상세한 동작에 대해서 설명한다.
도 3은 데이터베이스 및 엔진 수집 프로세스를 나타낸 순서도이다.
수집 프로세스는 최신 백신 관련 파일을 유지하고 서비스할 수 있는 형태로 가공하는 작업을 하는 단계로서, 최신 백신 데이터베이스와 엔진 파일셋을 유지하는 과정이다.
백신 데이터베이스는 사내에서 생성된 내부 백신 데이터베이스(204)도 있지만, 외부 업체에서 생산되는 외부 백신 데이터베이스(202)도 있기 때문에, 검증 프로세스에서 최신 백신 데이터베이스가 필요할 때 정확하게 배달되기 위해서는 항상 보유하고 있는 백신 데이터베이스가 최신 인지에 대한 정보를 갱신하며, 수집된 최신 백신 데이터베이스를 제1데이터베이스 저장부(104)에 저장한다.(S102)
백신 개발팀에서 생성한 백신 엔진 데이터베이스(206)와 프로그램 데이터베이스(208)도 정상적인 동작을 하는지 검증하기 위해 제1엔진 저장부(106)에 저장한다.
제1데이터베이스 저장부(104)와 제1엔진 저장부(106)에 저장된 백신 데이터베이스와 백신 엔진이 검증 프로세스에서 통과할 수 있도록 준비하며, 검증 프로세스를 거칠 수 있도록 가공하는 작업을 거친다.
수집된 백신 데이터베이스 또는 백신 엔진에 기능적인 오류가 있는 경우에는 오류를 보정한 후 저장되도록 한다.(S104, S106)
그리고 바이러스나 악성코드의 탐지나 치료에 있어서 급격한 변화가 발생하는 경우에는 즉시 관리자에게 보고한 후, 분배정책을 변경할 지를 판단하게 된다.(S108, S110, S112)
백신 데이터베이스나 백신 엔진을 저장할 때에는 메타정보를 수집하고, MD5 해쉬값을 생성하여 함께 저장함으로써 검색을 용이하게 한다.(S114)
백신 데이터베이스 등의 수집이 완료되고 검증준비가 마쳐지면 검증 프로세스로 넘어가게 된다.(S116, 118)
도 4는 파일셋 수집 프로세스를 나타낸 순서도이다.
사용자가 흔히 사용하는 프로그램이나, 백신이 운영되는 운영체제의 모든 파일 등을 수집하여 화이트리스트 프로그램으로 저장함으로써 정상적인 프로그램과 바이러스를 정확하게 구분할 수 있도록 한다.
먼저 파일셋 저장부(108)에 저장될 운영체제나 프로그램을 검색한다.(S202)
파일셋 저장부(108)에 저장될 화이트리스트 프로그램은 OS에서 필수적으로 사용되는 프로그램으로서, 파일 다운로드 사이트에서 다운로드되는 프로그램이나 게임 프로그램이 포함된다. 다운로드 빈도나 사용자수, 접속자수 등을 결정하는 기준은 검증시스템(100)에서 자체적으로 설정할 수 있는데, 검증시스템(100)과 연계된 애플리케이션 다운로드 또는 판매 사이트에서 집계되는 순위를 분석하여 필요한 프로그램을 선택할 수 있다.
또한 파일 다운로드 웹사이트에서 발표하는 다운로드 또는 판매순위를 참조하여 선정할 수도 있을 것이다. 그러나 본 발명의 파일셋 저장부(108)에 저장되는 프로그램이 이와 같은 인기도 상위 프로그램만 해당하는 것은 아니며, 관리자의 선택에 따라 특정 프로그램을 선택하여 저장할 수도 있다.
또한 검증시스템(100)과 연결된 업체의 시스템에서 사용되고 있는 업무용 애플리케이션이나 운영체제, 검증시스템(100)에 오류 여부에 대한 확인을 의뢰한 애플리케이션도 저장대상이 될 수 있다. 각종 애플리케이션을 개발한 업체가 자신의 애플리케이션이 바이러스로 오인되지 않도록 하기 위하여 검증시스템(100)에 검증을 의뢰할 수 있는데, 검증시스템(100)의 검증을 백신 데이터베이스에 업데이트가 됨으로써 오탐지가 일어나지 않게 된다.
이러한 검증 정보는 검사 대상 파일셋의 메타정보에 포함되어 백신 데이터베이스 업데이트 과정 중의 실수나 백신 엔진 수정으로 인한 탐지 오류를 막는데 이용된다.
새로운 프로그램이 발견되면 이를 프로그램 풀에 추가하고, 프로그램에 대한 최신 업데이트가 있는지를 파악한 후, 이를 설치한다.(S204, 206, 208, 210)
파일셋 저장부(108)에 저장된 프로그램 중에서 새로 추가되거나 내용이 변경된 파일셋이 있는 경우, 변경된 파일의 메타정보, MD5 해쉬값, 구분정보 등을 추출한다.(S212, 214)
추출된 메타정보 등을 이용하여 파일이름이나 데이터를 변경하고, 이를 관리데이타에 기록한다.(S216)
파일셋의 변경이 완료되면 파일셋 저장부(108)에 변경된 파일을 저장한다.(S218)
파일셋 저장부(108)에 정상 프로그램에 대한 리스트인 화이트리스트가 있다면 여기에 해당 프로그램을 추가한다.(S220, 222)
화이트리스트에 추가된 프로그램은 백신 데이터베이스 생성에 반영되어 향후에는 바이러스나 악성코드로 오인되지 않게 된다.
도 5는 백신 엔진과 백신 데이터베이스에 대한 검증 프로세스를 나타낸 순서도이다.
백신의 사용자 증가와 네트워크 속도 향상에 따른 다양한 애플리케이션의 사용, 개인용 컴퓨터의 사양 향상에 따른 애플리케이션의 대형화, 애플리케이션과 윈도우의 버전업에 따른 검증 대상 파일셋 리스트의 개수 증가와 같은 여러 요인에 의해 검증 프로세스의 부하는 점차 늘어난다.
또한 백신에서 사용하는 엔진의 개수가 늘어감에 따라 검증 프로세스의 부하도 비례하여 늘어나게 되는데, 검증 프로세스의 부하는 곧 검증 시간의 지체로 이어질 수 있어 결과적으로 검증 프로세스는 사용자들에게 빠르게 백신 데이터베이스를 전달하는데 문제가 된다.
본 발명의 검증시스템(100)에서는 검증 프로세스 단계에서 검증 머신들을 동적으로 늘릴 수 있도록 구성하고, 검증 시간에 사용할 검증 머신들의 선택을 전체 시스템의 부하 예측으로 검증 머신의 개수와 범위를 다르게 하여, 분배 프로세스의 스케줄을 맞추도록 동적으로 설정된다. 검증 프로세스에 동원되는 검증 머신의 수를 지능적으로 판단해서 정해진 스케줄에 따라 검증이 이루어질 수 있도록 검증 머신의 수를 늘리거나 줄이는 방법으로 일정한 검증 시간을 유지할 수 있도록 한다.
또한 전체 과정이 효율적인 자동화 방식으로 24시간 쉬지 않고 운영되도록 하여 백신 데이터베이스 업데이트가 늦어지는 문제를 최소화시킬 수 있다.
검증 프로세스에는 파일단위, 폴더단위, 용량단위, 날짜단위, 종류단위, 복합 단위 등을 동적 혹은 정적으로 정책을 지정하여 가장 효율적인 방법으로 검사 대상 파일셋 검증을 실시할 수 있다.
검증부(102)는 제1데이터베이스 저장부(104)와 제1엔진 저장부(106)를 연결하여 검증이 필요하지 않은 데이터베이스를 1차로 제외처리하고, 검증 대상이 되는 백신 엔진과 백신 데이터베이스를 로딩한다.(S302, 304, 306)
검증부(102)는 관리자에 의해 또는 시스템에 의해 미리 설정된 검증정책에 따라 검사대상 파일셋을 선정한다.(S308, 310) 검증정책은 주기별, 프로그램 종류별, 사용분야별로 구분하여 설정할 수 있으며, 긴급한 필요성이 있는 경우에는 새로운 정책이 적용될 수도 있다.
검증부(102)는 파일셋 저장부(108)에 저장된 프로그램 중에서 검증정책에 따라 선정된 프로그램 파일셋을 추출하여 백신 데이터베이스의 오류 여부를 검증한다.(S312) 검증 과정은 검증 대상이 되는 백신 엔진에 검증 대상이 되는 백신 데이터베이스를 탑재하여 화이트리스트에 포함된 프로그램 파일셋을 실행시키면서 해당 프로그램이 바이러스로 인식되는지를 확인하는 과정이다.
검증과정에서 오류가 발생하는 경우, 관리자에게 이를 보고하고, 해당 백신 데이터베이스를 배포하지 않고 제외하는 것으로 처리한다.(S314, 316)
오류가 발생하지 않는 경우, 해당 백신 엔진과 백신 데이터베이스는 정상적으로 동작을 하는 것으로 취급할 수 있으므로, 최종 배포를 위한 준비를 마치고 제2데이터베이스 저장부(110)와 제2엔진 저장부(112)에 각각 저장한다.(S318)
도 6은 오류가 발생한 엔진이나 데이터베이스에 대한 제외처리 프로세스를 나타낸 순서도이다.
제외처리부(114)는 검증 이전 단계 또는 배포 이전 단계에서 오류가 발생한 백신 데이터베이스의 배포를 중지시킴으로써 보안 사고가 발생하는 것을 예방한다. 제외처리 프로세스는 긴급 배포 정책을 설정하여 자동화된 분배 프로세스를 제어할 수 있다.
제외처리부(114)는 오류가 발생하여 제외처리 대상이 되는 데이터베이스에 대한 정보를 담은 제외처리 리포트를 수집한다.(S402) 제외처리부(114)는 리포트에 따라 적절한 제외처리를 실행하고, 긴급 배포가 필요한 경우에는 긴급배포 정책에 따라 최신 백신 데이터베이스를 배포하도록 한다.(S405, 408)
이상 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하였지만, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술 분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 :검증시스템 102 : 검증부
104 : 제1데이터베이스 저장부 106 : 제1엔진 저장부
108 : 파일셋 저장부 110 : 제2데이터베이스 저장부
112 : 제2엔진 저장부 114 : 제외처리부
116 : 분배처리부

Claims (10)

  1. 삭제
  2. 컴퓨터 바이러스나 웜, 악성코드(이하, '바이러스'라고 함)에 대한 정보를 저장하는 백신 데이터베이스의 오류를 검증하는 검증시스템으로서,
    검증 대상이 되는 백신 데이터베이스를 수집하여 저장하는 제1데이터베이스 저장부와;
    검증 대상이 되는 백신 엔진을 수집하여 저장하는 제1엔진 저장부와;
    바이러스로 오인되지 않도록 등록할 프로그램을 수집하여 저장하는 파일셋 저장부와;
    상기 제1엔진 저장부에 저장된 백신 엔진에 상기 제1데이터베이스에 저장된 백신 데이터베이스를 탑재하여 상기 파일셋 저장부에 저장된 프로그램을 검사하고, 검사 결과 상기 프로그램이 바이러스로 인식되는 지를 확인하는 검증부와;
    상기 검증부의 검사 결과, 바이러스로 인식되는 프로그램이 존재하는 경우, 상기 백신 엔진에 탑재된 백신 데이터베이스를 수정하여 상기 프로그램이 바이러스로 인식되지 않도록 하는 제외처리부와;
    상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 데이터베이스를 저장하는 제2데이터베이스 저장부와;
    상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 엔진을 저장하는 제2엔진 저장부;를 포함하는, 컴퓨터 백신 데이터베이스 자동 검증시스템.
  3. 제2항에 있어서,
    상기 파일셋 저장부에 저장되는 프로그램은
    파일 다운로드 사이트에서 다운로드되는 프로그램과, 게임 프로그램과, 상기 검증시스템과 연결된 업체에서 사용되고 있는 업무용 애플리케이션과, 상기 검증시스템에 오류 여부에 대한 확인을 의뢰한 애플리케이션 중 어느 하나인 것을 특징으로 하는, 컴퓨터 백신 데이터베이스 자동 검증시스템.
  4. 제2항에 있어서,
    상기 검증부에 의해 검증이 완료되어 상기 제2데이터베이스 저장부와 상기 제2엔진 저장부에 각각 저장된 백신 데이터베이스와 백신 엔진을 정해진 시간과 주기마다 인터넷을 통해 사용자에게 배포하는 분배처리부;를 추가로 포함하는, 컴퓨터 백신 데이터베이스 자동 검증시스템.
  5. 제4항에 있어서,
    상기 검증부는
    검증 프로세스에 소요되는 시간에 맞게 상기 백신 데이터베이스의 검증 프로세스에 사용되는 검증 머신의 수를 늘리거나 줄여서 검증에 소요되는 시간을 일정하게 유지하도록 하는 것을 특징으로 하는, 컴퓨터 백신 데이터베이스 자동 검증시스템.
  6. 삭제
  7. 컴퓨터 바이러스나 웜, 악성코드(이하, '바이러스'라고 함)에 대한 정보를 저장하는 백신 데이터베이스의 오류를 검증하는 검증방법으로서,
    검증 대상이 되는 백신 데이터베이스와 백신 엔진을 수집하여 제1데이터베이스 저장부와 제1엔진 저장부에 각각 저장하는 제1단계와;
    바이러스로 오인되지 않도록 등록할 프로그램을 수집하여 파일셋 저장부에 저장하는 제2단계와;
    검증부가 상기 제1엔진 저장부에 저장된 백신 엔진에 상기 제1데이터베이스 저장부에 저장된 백신 데이터베이스를 탑재하여 상기 파일셋 저장부에 저장된 프로그램을 검사하고, 검사 결과 상기 프로그램이 바이러스로 인식되는 지를 확인하는 제3단계와;
    상기 검증부의 검사 결과, 바이러스로 인식되는 프로그램이 존재하는 경우, 제외처리부가 상기 백신 엔진에 탑재된 백신 데이터베이스를 수정하여 상기 프로그램이 바이러스로 인식되지 않도록 하는 제4단계와;
    상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 데이터베이스를 제2데이터베이스 저장부에 저장하는 제5단계와;
    상기 검증부의 검사 결과, 상기 프로그램이 바이러스로 인식되지 않는 경우, 검증된 상기 백신 엔진을 제2엔진 저장부에 저장하는 제6단계;를 포함하는, 컴퓨터 백신 데이터베이스 자동 검증방법.
  8. 제7항에 있어서,
    상기 파일셋 저장부에 저장되는 프로그램은
    파일 다운로드 사이트에서 다운로드되는 프로그램과, 게임 프로그램과, 상기 검증시스템과 연결된 업체에서 사용되고 있는 업무용 애플리케이션과, 상기 검증시스템에 오류 여부에 대한 확인을 의뢰한 애플리케이션 중 어느 하나인 것을 특징으로 하는, 컴퓨터 백신 데이터베이스 자동 검증방법.
  9. 제7항에 있어서,
    분배처리부가 상기 검증부에 의해 검증이 완료되어 상기 제2데이터베이스 저장부와 상기 제2엔진 저장부에 각각 저장된 백신 데이터베이스와 백신 엔진을 정해진 시간과 주기마다 인터넷을 통해 사용자에게 배포하는 제7단계;를 추가로 포함하는, 컴퓨터 백신 데이터베이스 자동 검증방법.
  10. 제9항에 있어서,
    상기 검증부는 정해진 주기마다 상기 프로그램에 대한 오인 여부를 검증하며, 상기 검증부의 검증 주기는 상기 분배처리부의 배포 주기보다 상대적으로 짧은 것을 특징으로 하는, 컴퓨터 백신 데이터베이스 자동 검증방법.
KR1020100034328A 2010-04-14 2010-04-14 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법 KR100996839B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100034328A KR100996839B1 (ko) 2010-04-14 2010-04-14 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법
US13/004,498 US20110258165A1 (en) 2010-04-14 2011-01-11 Automatic verification system for computer virus vaccine database and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100034328A KR100996839B1 (ko) 2010-04-14 2010-04-14 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법

Publications (1)

Publication Number Publication Date
KR100996839B1 true KR100996839B1 (ko) 2010-11-26

Family

ID=43410151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100034328A KR100996839B1 (ko) 2010-04-14 2010-04-14 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법

Country Status (2)

Country Link
US (1) US20110258165A1 (ko)
KR (1) KR100996839B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853492B2 (en) 2018-07-22 2020-12-01 Minerva Labs Ltd. Systems and methods for protecting a computing device against malicious code
US11200317B2 (en) 2018-07-22 2021-12-14 Minerva Labs Ltd. Systems and methods for protecting a computing device against malicious code

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799823A (zh) * 2012-07-13 2012-11-28 北京江民新科技术有限公司 一种病毒检测方法和***
CN104303189B (zh) * 2012-07-25 2018-07-20 安提特软件有限责任公司 用于确定应用程序漏洞的***及方法
CN104217165B (zh) * 2014-09-16 2016-07-06 百度在线网络技术(北京)有限公司 文件的处理方法及装置
US9998482B2 (en) * 2015-09-18 2018-06-12 International Business Machines Corporation Automated network interface attack response

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231637B1 (en) * 2001-07-26 2007-06-12 Mcafee, Inc. Security and software testing of pre-release anti-virus updates on client and transmitting the results to the server
US7290282B1 (en) * 2002-04-08 2007-10-30 Symantec Corporation Reducing false positive computer virus detections
GB2405227A (en) * 2003-08-16 2005-02-23 Ibm Authenticating publication date of a document
US7676845B2 (en) * 2005-03-24 2010-03-09 Microsoft Corporation System and method of selectively scanning a file on a computing device for malware
US8713686B2 (en) * 2006-01-25 2014-04-29 Ca, Inc. System and method for reducing antivirus false positives
US8028338B1 (en) * 2008-09-30 2011-09-27 Symantec Corporation Modeling goodware characteristics to reduce false positive malware signatures

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853492B2 (en) 2018-07-22 2020-12-01 Minerva Labs Ltd. Systems and methods for protecting a computing device against malicious code
US11200317B2 (en) 2018-07-22 2021-12-14 Minerva Labs Ltd. Systems and methods for protecting a computing device against malicious code

Also Published As

Publication number Publication date
US20110258165A1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
AU2007329468B8 (en) Program modification and loading times in computing devices
Plate et al. Impact assessment for vulnerabilities in open-source software libraries
US20200285756A1 (en) Security risk identification in a secure software lifecycle
US9871815B2 (en) Method and system for automated computer vulnerability tracking
KR100996839B1 (ko) 컴퓨터 백신 데이터베이스 자동 검증시스템 및 검증방법
US11727117B2 (en) Vulnerability analyzer for application dependencies in development pipelines
US8621278B2 (en) System and method for automated solution of functionality problems in computer systems
Glanz et al. CodeMatch: obfuscation won't conceal your repackaged app
US7593936B2 (en) Systems and methods for automated computer support
Zerouali et al. A formal framework for measuring technical lag in component repositories—and its application to npm
JP4886512B2 (ja) 自動化されたコンピュータサポートのためのシステム及び方法
Wen et al. Exploring and exploiting the correlations between bug-inducing and bug-fixing commits
Dashevskyi et al. A screening test for disclosed vulnerabilities in foss components
US11853422B2 (en) Detecting malicious components using commit histories
Bao et al. V-SZZ: automatic identification of version ranges affected by CVE vulnerabilities
Gkortzis et al. A double-edged sword? Software reuse and potential security vulnerabilities
CN106203105A (zh) 文件管理方法和装置
KR20190111685A (ko) 단일 윈도우 서버 취약점 점검 시스템 및 이를 이용한 보안 약점 중요도 정량평가 방법
CN105556481A (zh) 防毒保护***及方法
KR100986998B1 (ko) 서버의 개인정보 진단 방법 및 장치
CN114327588A (zh) 一种代码提交日志的处理方法及装置
CN1860476A (zh) 用于自动化计算机支持的***和方法
CN114969719B (zh) 通过关键模块判定来防止错误拦截***运行的方法及***
CN117499104A (zh) 供应链安全管控方法、装置和安全管控***
CN115495058A (zh) 一种推荐第三方库的方法、装置及相关设备

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131115

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 9