KR101375793B1 - 백신 프로그램의 오진검수 방법 및 시스템 - Google Patents

백신 프로그램의 오진검수 방법 및 시스템 Download PDF

Info

Publication number
KR101375793B1
KR101375793B1 KR1020100110704A KR20100110704A KR101375793B1 KR 101375793 B1 KR101375793 B1 KR 101375793B1 KR 1020100110704 A KR1020100110704 A KR 1020100110704A KR 20100110704 A KR20100110704 A KR 20100110704A KR 101375793 B1 KR101375793 B1 KR 101375793B1
Authority
KR
South Korea
Prior art keywords
file
specific
management
server
normal
Prior art date
Application number
KR1020100110704A
Other languages
English (en)
Other versions
KR20120049461A (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 KR1020100110704A priority Critical patent/KR101375793B1/ko
Publication of KR20120049461A publication Critical patent/KR20120049461A/ko
Application granted granted Critical
Publication of KR101375793B1 publication Critical patent/KR101375793B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 백신 프로그램의 오진검수 방법 및 시스템에 관한 것이다. 본 발명의 일 태양에 따르면, 관리 서버의 통신 모듈에 의해, 숙주 서버로부터 소정 파일에 대한 특정 정보를 수신하는 단계, 상기 관리 서버의 판단 모듈에 의해, 상기 특정 정보를 관리 DB와 대비하는 단계, 및 상기 특정 정보가 관리 DB에 존재하지 않는 경우, 상기 판단 모듈에 의해 상기 관리 DB를 업데이트하고 상기 관리 서버의 저장 모듈에 의해 상기 소정 파일을 정상 파일 DB에 저장하는 단계를 포함한다.

Description

백신 프로그램의 오진검수 방법 및 시스템 {METHOD AND SYSTEM FOR DETECTING WRONG DIAGNOSIS OF VACCINE PROGRAM}
본 발명은 백신 프로그램의 오진검수 방법 및 시스템에 관한 것으로, 보다 상세하게는 중복 검수를 생략하고 파일 수집시 분산 저장함으로써 검수 소요 시간을 단축하기 위한, 백신 프로그램의 오진검수 방법 및 시스템에 관한 것이다.
최근 들어, 컴퓨터 관련 정보 통신 기술이 발전함에 따라 컴퓨터 시스템의 특정 운영 체제(Operating System: OS) 또는 특정 프로그램 등의 보안상의 약점을 이용하여 컴퓨터 시스템에 몰래 침투해 컴퓨터 시스템 또는 소정 파일을 파괴하거나 특정 역할에 이용하도록 하는 컴퓨터 바이러스 또는 악성 코드 등의 프로그램이 새롭게 등장하고 널리 전파되고 있는 실정이다.
이러한 악성 코드 또는 컴퓨터 바이러스를 진단하고 치료하기 위한 프로그램(이하, '백신 프로그램'이라 한다)도 속속들이 개발되고 있으나, 일반적으로 컴퓨터 바이러스 또는 악성 코드가 발견된 이후에나 이를 치료할 수 있는 백신 프로그램이 개발될 수 있다.
보다 구체적으로, 백신 프로그램은 컴퓨터 시스템 내의 특정 파일이 컴퓨터 바이러스 또는 악성 코드에 의해 감염 또는 수정되었을 때의 관련 정보 및 특징 등이 저장된 데이터베이스(이하, '시그니처 DB'라 한다)를 구비하고 있으며, 컴퓨터 시스템의 바이러스 감염 여부 진단시 백신 프로그램은 컴퓨터 내의 파일 시스템 상의 기본 정보를 파악하여 파일의 변경 여부를 파악하고, 변경 되었다면 파일의 중요 내용을 시그니처 DB와 비교하는 방식으로, 실제 변동 내역을 토대로 바이러스 등에 의한 변경인지 여부를 검증하여 바이러스 감염 여부를 진단하고 치료하는 방식을 사용하고 있다.
따라서, 신종 바이러스들을 치료할 수 있는 백신 프로그램이 적절한 빠른 시일 내에 개발 또는 업데이트되어 바이러스로 인한 많은 피해를 입지 않도록 하는 것이 백신 프로그램의 성능을 좌우하는 중요한 요소 중 하나로 고려되고 있다.
한편, 신종 바이러스 등의 분석을 토대로 새로운 백신 프로그램 또는 그 업데이트 등을 배포하기에 앞서 백신 프로그램이 오작동하는지('시그니처 DB'에 포함되어 있어 바이러스 감염으로 진단해야 할 대상을 진단하지 못하거나, 또는 정상 파일에 해당되어 바이러스 감염이 아닐 경우에 바이러스라고 오진하는 경우 등) 여부를 검수하는 것이 필수적인 바, 이는 특히 정상적인 파일을 오진으로 인해 삭제하는 등의 경우에는 정상적인 컴퓨터 시스템의 정지 등 시스템에 큰 악영향을 미칠 수 있기 때문이다.
이러한 오진 검수 방식으로, 종래에는 각각의 운영 체제 및 사용자들이 많이 사용할 만한 애플리케이션 프로그램 등이 설치된 정상적인(바이러스에 감염되지 않은) 파일들을 갖는 개별적인 컴퓨터상에 새로운 또는 업데이트된 백신 프로그램을 실행시키는 방법이 있었으나, 이 경우 개별 컴퓨터 별로 중복되는 파일이 존재할 수 있으므로 중복 검수에 따른 검수 시간이 늘어나서 백신 프로그램의 빠른 배포에 큰 장애사항으로 작용하고 있으며, 개별적인 컴퓨터에 저장된 파일들이 바이러스에 감염된 경우 오진 검수가 이러한 파일을 대상으로 수행될 수 있어 오진 검수의 정확성에 큰 영향을 미칠 수 있다는 문제점이 존재한다.
따라서, 새로 개발된 또는 업데이트되는 백신 프로그램의 오진 검수를 최단시간으로 줄이면서도 다양한 파일들에 대해 생략 없이 오진 검수를 실행하면서도 오진 검수에 소요되는 시간을 최단시간으로 줄여서 제품의 릴리즈 타임(release time) 주기를 최소화할 수 있고, 또한 오진 검수에 사용되는 정상적인 파일들이 바이러스 등에 감염되지 않았다는 것을 보장하기 위한 방법의 개발이 필요한 실정이다.
본 발명의 목적은 위에서 언급한 종래 기술의 문제점을 해결하는 것이다.
또한, 본 발명의 다른 목적은 종래의 오진 검수 방식의 문제점 중의 하나인 개별 숙주 컴퓨터에서의 오진 검수에 따른 중복 검수를 생략하여 오진 검수에 소요되는 최단시간으로 줄이도록 하는 것이다.
또한, 본 발명의 또 다른 목적은 정상적인 파일의 수집시 리스트화하고 분산 저장하여 여러 파일에 대해 병행하여 오진 검수가 실시되도록 하여 오진 검수에 소요되는 시간을 최단시간으로 줄이도록 하는 것이다.
또한, 본 발명의 또 다른 목적은 오진 검수시 대비될 수 있는 파일들이 바이러스 등에 의해 감염되지 않는, 즉 정상적인 파일이 되도록 보장하여 오진 검수의 정확성을 유지할 수 있도록 하는 것이다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 오진 검수 시스템에서의 파일 수집 방법은 관리 서버의 통신 모듈에 의해, 숙주 서버로부터 소정 파일에 대한 특정 정보를 수신하는 단계, 상기 관리 서버의 판단 모듈에 의해, 상기 특정 정보를 관리 DB와 대비하는 단계, 및 상기 특정 정보가 관리 DB에 존재하지 않는 경우, 상기 판단 모듈에 의해 상기 관리 DB를 업데이트하고 상기 관리 서버의 저장 모듈에 의해 상기 소정 파일을 정상 파일 DB에 저장하는 단계를 포함한다.
본 발명의 다른 태양에 따르면, 오진 검수 시스템에서의 오진 검수 방법은 앞서 파일 수집 방법에 의해 수집된 정상 파일 DB를 오진 검수 서버에 설치된 하나 이상의 백신 프로그램으로 스캐닝하는 단계, 및 상기 스캐닝 결과 특정 파일에 대해 바이러스를 감지한 경우에는 상기 특정 파일에 대한 오진 리포트를 작성하는 단계를 포함한다.
본 발명의 또 다른 태양에 따르면, 오진 검수 시스템은 숙주 서버로부터 소정 파일에 대한 특정 정보를 수신하고, 상기 특정 정보를 판단 모듈에 전달하는 통신 모듈, 상기 전달된 특정 정보를 관리 DB와 대비하여 상기 특정 정보가 관리 DB에 존재하는지 여부를 판단하고, 존재하지 않는 경우 상기 관리 DB를 업데이트하고 저장 모듈에 통지하는 판단 모듈, 상기 판단 모듈에 의한 통지 수신시, 상기 소정 파일을 정상 파일 DB에 저장하는 저장 모듈, 그리고 설치된 하나 이상의 백신 프로그램으로 상기 정상 파일 DB를 스캐닝하는 오진 검수 서버를 포함한다.
상술한 바와 같이 본 발명에 따르면 종래의 오진 검수 방식의 문제점 중의 하나인 개별 숙주 컴퓨터에서의 오진 검수에 따른 중복 검수를 생략하여 오진 검수에 소요되는 최단시간으로 줄이도록 할 수 있다.
또한, 본 발명에 따르면 정상 파일의 수집시 리스트화하고 분산 저장하여 여러 파일에 대해 병행하여 오진 검수가 실시되도록 하여 오진 검수에 소요되는 시간을 최단시간으로 줄이도록 할 수 있다.
또한, 본 발명에 따르면 오진 검수시 대비될 수 있는 파일들이 바이러스 등에 의해 감염되지 않는, 즉 정상적인 파일이 되도록 보장하여 오진 검수의 정확성을 유지할 수 있도록 할 수 있다.
도 1은 발명의 일 실시예에 따라, 오진 검수 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 관리 서버(300)의 블럭도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 새로 업데이트된 파일의 수집 절차를 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 오진 검수 작업 절차를 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 관리 DB의 필드(field)들을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 정상 파일 DB의 디렉토리 구조를 도시한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
[본 발명의 바람직한 실시예]
본 발명의 명세서에서, 용어 "숙주 컴퓨터"는 각각의 운영 체제 및 사용자들이 많이 사용할 만한 애플리케이션 프로그램 등에 관한 정상적인(바이러스에 감염되지 않은) 파일들이 설치된 개별적인 컴퓨터를 포함하는 광의의 개념으로 해석되어야 한다. 일 예로서, 일 숙주 컴퓨터는 특정 운영 체제(예를 들어 마이크로소프트사의 윈도우 XP) 및 해당 운영 체제에 제공될 수 있는 다양한 패치들 및 기본적인 애플리케이션이 설치된 컴퓨터를 의미할 수 있으며 다른 숙주 컴퓨터는 일 운영체제에 있어 일반적인 사용자가 사용할만한 다양한 애플리케이션이 설치된 컴퓨터를 의미할 수도 있다. 숙주 컴퓨터 별로 운영체제 및/또는 애플리케이션이 중복되지 않도록 다르게 설치할 수 있으며, 이처럼 백신 프로그램의 진단에 있어 필요한 수많은 파일들을 분산하여 포함하고 있는 하나 이상의 숙주 컴퓨터들의 그룹을 이하에서 "숙주 서버"라 한다.
본 발명의 명세서에서, 용어 "정상 파일"은 컴퓨터 바이러스 또는 악성 코드등에 의해 감염되지 않은, 정상적인 기능을 수행하는 파일을 의미하며, 백신 프로그램의 스캐닝(scanning)에 의한 시그니처 DB와의 대비를 통해 백신 프로그램의 오작동 여부를 검수하는데 사용될 수 있다.
전체 시스템 구성
도 1은 발명의 일 실시예에 따라, 오진 검수 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 1에 도시되어 있는 바와 같이 본 발명의 일 실시예에 따른 전체 시스템은, 오진 검수에 필요한 정상 파일들이 설치되어 있는 각각의 숙주 컴퓨터들의 그룹인 숙주 서버(100)가 통신망(200)을 통하여 파일의 수집 및 저장 기능, 그리고 숙주 서버(100)의 레지스트리 검사를 수행하는 관리 서버(300)와 연결되어 있으며, 관리 서버(300)는 파일의 수집, 저장 내용을 기록하기 위한 관리 DB(350), 중복 파일 없이 필요한 모든 정상적인 파일이 저장된 정상 파일 DB(400), 그리고 오진 검수를 수행하기 위한 오진 검수 서버(500)와 직, 간접적으로 연결되어 있다.
여기서, 본 발명의 일 실시예에 따른 숙주 서버(100)는 숙주 컴퓨터들의 집합으로 구성되어 있으며, 숙주 컴퓨터는 새로 개발되거나 업데이트된 백신 프로그램의 오작동 여부를 판단하기 위해 저장공간 및 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖는 디지털 기기 내에 백신 프로그램에 의한 진단에 사용될 하나 이상의 정상 파일이 설치되고 포함되어 있는 것이면 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant: PDA), 웹 패드, 스마트 폰을 포함하는 이동 통신 단말기 등 그 물리적인 구분에 관계없이 본 발명에 따른 숙주 서버(100) 내에 포함된 숙주 컴퓨터로서 채택될 수 있다. 또한, 숙주 서버(100)는 관리 서버(300)와의 통신을 통해 새로 업데이트된 파일에 대한 특정 정보를 관리 서버(300)로 전송하는 기능을 포함할 수 있으며, 그 상세한 동작에 대해서는 후술하도록 한다.
다음으로, 본 발명의 일 실시예에 따른 통신망(200)은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 네트워크는 공지의 월드와이드웹(WWW; World Wide Web)이거나, 적외선(Infrared Data Assosiation; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
한편, 본 발명의 일 실시예에 따른 관리 서버(300)는 통신망(200)을 통한 숙주 서버(100)와의 통신을 통해 숙주 서버(100)에서 새로 업데이트된 파일에 대한 특정 정보를 수신하고 그 구체적인 내용을 관리 DB(350) 및 정상 파일 DB(400)에 저장하는 기능을 수행할 수 있으며, 그 외에도 숙주 서버(100)의 레지스트리를 검사하여 숙주 서버(100)에 저장된 파일들이 바이러스 등에 감염되지 않은 정상 파일인지 여부를 확인하는 기능 및 오진 검수 서버(500)를 통하여 정상 파일 DB(400)에 저장된 파일에 대한 백신 프로그램의 오진 검수를 수행하도록 하는 기능 또한 수행할 수 있다. 관리 서버(300)의 각 구성요소 및 그 상세한 동작에 대해서는 후술하도록 한다.
본 발명의 일 실시예에 따른 정상 파일 DB(400)는 숙주 서버(100)에 저장된 정상 파일이 중복되지 않게 소정 방식으로 분산 저장된 데이터베이스이며, 그 연결 방식에 따라 도 1에 표시된 바와 같이 관리 서버(300) 및 오진 검수 서버(500)에 직접적으로 연결된 DAS(Direct Attached Storage) 방식, 또는 통신망(200)을 통해 관리 서버(300) 및 오진 검수 서버(500)에 연결되는 NAS(Network Attached Storage) 방식이나 SAN(Storage Area Network) 방식 등 공지의 어떠한 방식에 의해서도 연결될 수 있음은 본 발명이 속하는 분야에서 통상의 기술자에 의해 자명할 것이다.
마지막으로, 본 발명의 일 실시예에 따른 오진 검수 서버(500)는 오진 검수를 위해 새로 개발된 또는 업데이트된 백신 프로그램이 설치된 하나 이상의 컴퓨터를 포함할 수 있으며, 관리 서버(300)로부터의 요청 또는 자체적인 결정에 따라 정상 파일 DB(400)의 미리 지정된 특정 디렉토리에 저장된 정상 파일들에 대한 오작동 발생 여부를 진단하기 위해, 하나 이상의 백신 프로그램이 기지정된 특정 디렉토리를 스캐닝(scanning)하는 방식으로 오진 검수를 수행할 수 있고, 오작동이 발생하는 경우 이를 리포팅하는 기능을 더 포함할 수 있다. 이처럼, 검수 서버(500)에서 동작하는 하나 이상의 백신 프로그램에 의해 정상 파일 DB(400) 중 지정된 하나 이상의 디렉토리에 저장된 정상 파일들에 대해 병렬적으로 스캐닝을 통한 오진 검수가 수행될 수 있으므로, 오진 검수에 소요되는 시간이 최소화될 수 있다.
도 1에는 관리 DB(350) 및 정상 파일 DB(400)가 물리적으로 분리되어 있도록 도시하였으나, 본 발명의 실시 형태에 따라 관리 DB(350) 및 정상 파일 DB(400)에 저장되는 전체 정보를 포함한 물리적으로 하나의 데이터베이스를 구축할 수도 있으며, 전체 정보를 임의로 나누어 하나 이상의 물리적으로 별개의 데이터베이스를 구축할 수도 있다.
또한, 도 1에는 관리 서버(300)와 오진 검수 서버(500)가 물리적으로 별개로 구성되어 있는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라 물리적으로 독립되도록 구성하는 대신, 관리 서버(300) 및 오진 검수 서버(500)에서 수행되는 모든 기능이 하나의 물리적인 서버에서 수행될 수 있도록 구현하거나, 그 반대로 관리 서버(300) 및 오진 검수 서버(500)에서 수행되는 모든 기능을 세분화하여 복수의 물리적인 서버를 통하여 분산되어 수행되고 구현될 수도 있다.
관리 서버의 구성
본 발명의 일 실시예에 따른 관리 서버(300)의 블럭도를 도시한 도 2를 참고하여 관리 서버(300)를 더욱 상세히 설명하면, 관리 서버(300)는 통신 모듈(310), 판단 모듈(320), 저장 모듈(330), 레지스트리 검사 모듈(340)을 포함하며, 경우에 따라서는 오진 검수 요청 모듈(360)을 더 포함할 수 있다.
본 발명의 일 실시예에 따른 통신 모듈(310)은 숙주 서버(100)와의 통신을 개시, 진행, 종료하고 숙주 서버(100)로부터 전송받는 특정 정보를 판단 모듈(320)로 전송하는 기능을 수행한다. 통신 모듈(310)에 의한 숙주 서버(100)와의 통신은 정해진 시간 간격, 예를 들어 하루 2번,으로 통신 모듈(310)의 요청 또는 숙주 서버(100)로부터 통신 개시 요청이나 실질적인 특정 정보의 수신을 통해 개시될 수 있으나 반드시 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 판단 모듈(320)은 통신 모듈(310)로부터 특정 정보를 전송받아, 숙주 서버 (100)상에 새로 업데이트된 파일이 존재하는지 여부를 판단한다. 판단 방식의 일 예로서, 숙주 서버(100)로부터 갖고 있는 모든 정상 파일에 대한 정상 파일의 해시(Hash)값 및 운영체제 버전 등의 정보를 전송 받아 관리 DB(350)에 기 저장된 해시값과의 비교를 통해 새로 업데이트된 파일이 존재하는지 판단할 수 있으며, 새로 업데이트된 파일의 존재 여부에 관계없이 관리 목적으로 관리 DB(350)의 해당 데이터를 업데이트할 수 있다. 만일 전송받은 정상 파일이 관리 DB(350)상에 그 정보가 저장되어 있지 않은 새로 업데이트된 파일이라고 판단하는 경우, 판단 모듈(320)은 통신 모듈(310)을 통한 요청을 통해 해당 정상 파일에 대해 수신한 구체적인 정보 또는 기 수신한 정보를 관리 DB(350)에 추가적으로 저장하고 저장 모듈(330)에 이 사실을 통지할 수 있다.
도 5는 본 발명의 일 실시예에 따른 관리 DB(350)의 필드(field)들을 도시한 도면이다. 도 4의 각 항목을 상술하면, 먼저 해시값은 각 정상 파일의 유일한(unique) 값을 나타내는 정보로서, 해시값의 비교만으로도 두 파일이 동일한 파일인지 또는 상이한 파일인지 여부를 판단할 수 있다. 본 발명에 따른 해시값을 도출하기 위한 해시 알고리즘으로서는 MD5, Sha-1, RIPEMD-128, Tiger 등 다양한 기술이 사용될 수 있으며 나열되지 않은 공지의 다른 해시 알고리즘 역시 본 발명의 해시값을 도출하기 위해 사용될 수 있음은 자명하다.
다음으로, 수집 운영체제 버전은 수집된 정상 파일이 어떠한 운영체제에 존재하는지 여부를 판단하기 위한 필드이며, 경로 및 파일명, 파일 사이즈, 생성일, 최종 수정일은 수집된 파일이 숙주 서버(100)상의 어떠한 경로에 존재하고 그 파일명은 어떠하며, 그 크기는 어떠하고 언제 파일이 생성되었으며 최종적으로 수정된 일자는 언제인지를 확인하기 위한 필드로, 새로 업데이트된 파일 여부를 판단하기 위한 보조적인 정보로서 사용될 수도 있다.
마지막으로, 수집 일자는 수집된 정상 파일이 언제 수집되었는지를 기록하기 위한 필드로서, 수집된 정상 파일을 관리 DB(350)와 대비할 때마다 업데이트하여, 수집 이력으로서 활용할 수 있다.
도 5에서 설명한 관리 DB(350)의 각 필드는 예시적인 것으로, 설명된 필드 중 일부가 생략되거나 또는 설명된 필드 이외에도 필요한 다른 정보가 저장되기 위한 별도의 필드가 관리 DB(350)에 존재할 수도 있다.
본 발명의 일 실시예에 따른 저장 모듈(330)은 판단 모듈(320)로부터 숙주 서버(100)에 새로 업데이트된 파일, 즉 종래에 없던 새로운 해시값을 갖는 정상 파일이 존재한다는 통지를 수신한 경우, 해당 정상 파일의 해시값에 대응하는 정상 파일 DB(400)의 특정 위치에 해상 정상 파일을 저장할 수 있다. 따라서, 정상 파일 DB(400)에는 해시값이 중복되는, 즉 종래의 정상 파일과 동일한, 정상 파일이 중복되어 저장될 수 없다는 것은 명백할 것이다.
도 6은 본 발명의 일 실시예에 따른 정상 파일 DB의 디렉토리 구조를 도시한 도면이다. 도 6에서 확인할 수 있는 바와 같이, 특정 정상 파일의 해시값은 소정의 길이를 갖는 문자열로 나타낼 수 있으며, 그 문자열의 일부가 동일한 경우를 묶어 특정 디렉토리를 구성하고 그 내부에 해당 해시값을 갖는 파일을 저장할 수 있다. 도 6에서 특정 정상 파일의 해시값이 a2로 시작하는 문자열인 경우, 해당 정상 파일은 디렉토리 a 밑에 존재하는 디렉토리 a2 내부에 저장될 수 있다. 이와 같은 디렉토리 구성 방식은 일 실시예에 불과하며, 정상 파일들을 분산 저장할 수 있는 다른 공지의 방법에 의하여 하나 이상의 디렉토리가 구성되고 정상 파일들이 구성된 디렉토리 내에 저장될 수 있음은 당업자에 있어 명백할 것이다.
본 발명의 일 실시예에 따른 레지스트리 검사 모듈(340)은 소정의 주기로, 또는 통신 모듈(310)과 숙주 서버(100)간의 통신 개시 전, 후 등 정해진 시기에 숙주 서버(100)의 레지스트리를 검사하는 기능을 수행한다. 숙주 서버(100)에 저장된 정상 파일들은 백신 프로그램의 오작동 여부를 판단하기 위해 사용되어야 하므로 바이러스 등에 의해 파일이 변경되지 않은, 즉 정상 파일의 상태를 그대로 유지하는 것이 중요하다. 따라서, 레지스트리 검사 모듈(340)에 의한 숙주 서버(100)의 레지스트리 검사에 의해, 숙주 서버(100)에 저장된 정상 파일들의 바이러스 감염 가능성 여부를 판단할 수 있으므로 정상 파일 DB(400)에는 바이러스 등에 의해 변경되지 않은, 즉 정상 파일만이 저장될 수 있도록 보증하는 역할을 수행하는 것이다. 따라서, 레지스트리 검사 모듈(340)은 숙주 서버(100)의 레지스트리 검사에 의해 숙주 서버(100)의 바이러스 감염 가능성이 존재한다고 판단하는 경우 통신 모듈(310)과 숙주 서버(100)간의 통신을 정지시키는 기능을 더 수행하여, 정상 파일 DB(400)에 정상 파일이 아닌 바이러스 등에 의해 감염되어 변경된 파일이 저장되고, 따라서 오진 검수에 오류가 발생할 가능성을 원천적으로 방지할 수 있다.
본 발명의 일 실시예에 따른 오진 검수 요청 모듈(360)은 오진 검수 서버(500)에 설치된 하나 이상의 백신 프로그램이 정상 파일 DB(400)를 대상으로 오작동하는지 여부를 판단하기 위한 오진 검수를 오진 검수 서버(500)에 요청할 수 있다. 오진 검수 서버(500)에 대한 오진 검수 요청은 특정 주기 간격, 예를 들어 하루 1번, 으로 이루어질 수도 있고, 또는 저장 모듈(330)을 통해 새로 업데이트된 정상 파일이 정상 파일 DB(400)에 저장될 때, 또는 오진 검수 서버(500)에 개발된 또는 업데이트된 백신 프로그램이 설치된 경우 등 특정 시점을 인식하여 그에 따른 요청이 이루어질 수도 있다. 오진 검수 서버(500)에 대한 오진 검수 요청시, 오진 검수 서버(500)에 설치된 하나 이상의 백신 프로그램은 정상 파일이 분산 저장된 정상 파일 DB(400) 중 기 지정된 특정 디렉토리에 대해 스캐닝을 실시한다. 일 예로서, 도 6의 디렉토리 구조에 있어 오진 검수 서버(500)의 일 백신 프로그램은 a로 시작하는 디렉토리 내에 저장된 정상 파일들을 그 대상으로 스캐닝하도록 지정될 수 있으며, 또는 그 하부 디렉토리인 a1로 시작하는 디렉토리 내에 저장된 정상 파일들을 그 대상으로 스캐닝하도록 지정될 수도 있으나, 이는 예시적인 것으로 하나 이상의 백신 프로그램이 하나의 정상 파일을 중복해서 스캐닝하지 않는 한 어떠한 공지의 방식에 의해서도 백신 프로그램이 스캐닝할 디렉토리를 설정할 수 있음은 당업자에게 있어 자명하다. 본 발명의 다른 실시예에 따르면, 오진 검수 요청 모듈(360)은 관리 서버(300)가 아닌 오진 검수 서버(500) 내에 위치하며 동일한 기능을 수행할 수도 있다.
파일 수집 절차
도 3은 본 발명의 일 실시예에 따른 새로 업데이트된 파일의 수집 절차를 도시한 흐름도이다. 도 3을 참조하여 설명하면, 통신 모듈(310)은 숙주 서버(100)로부터 각 파일에 대한 특정 정보를 수신할 수 있다(S310). 수신된 특정 정보는 적어도 해당 파일에 대한 해시값을 포함할 수 있으며 그 외에도 수집 운영체제 버전 등 도 5에 도시된 바와 같은 정보 중 일부 또는 전부도 함께 수신할 수 있다.
파일의 특정 정보를 수신 후, 레지스트리 검사 모듈(340)은 전송한 숙주 서버(100)의 레지스트리를 검사할 수 있다(S320). 검사 결과 숙주 서버(100)의 바이러스 감염이 의심되는 경우 진행을 정지하는 등의 방식으로 정상 파일 DB(400)의 감염을 막을 수 있으며, 레지스트리 검사 단계(S320)는 파일 정보 수신(S310) 이후가 아닌 다른 단계에 따라, 또는 파일 수집과 관련된 단계들과는 별개인 병렬적인 절차로 수행될 수도 있다.
판단 모듈(320)은 통신 모듈(310)로부터 전달받은 파일의 특정 정보를 관리 DB(350)와 대비하여 새로 업데이트된 파일이 있는지 여부를 판단한다(S330). 단계S330에서, 판단 모듈(320)은 전달받은 파일의 특정 정보가 이미 관리 DB(350)에 저장되어 있는 경우에도 수집 일자 필드를 업데이트하는 방식 등으로 관리 DB(350)를 수정할 수 있다. 관리 DB(350)와 대비한 결과(S340) 새로 업데이트된 파일이 존재하는 경우에는, 전달받은 파일의 특정 정보를 관리 DB(350)에 추가하고 저장 모듈(330)에 이를 통지할 수도 있다. 만일 판단 모듈(320)이 전달받은 파일의 특정 정보가 도 5에 도시된 바와 같은 관리 DB(350)의 일부 필드에 한정되고, 관리 DB(350)에 저장되지 않은 새로 업데이트된 파일에 해당하는 경우에는 통신 모듈(310)을 통해 숙주 서버(100)로부터 해당 파일의 나머지 정보에 대해서도 요청하여 수신한 뒤 관리 DB(350)에 추가하고 저장 모듈(330)에 이를 통지할 수도 있다. 만일 새로 업데이트된 파일이 존재하지 않는 경우에는 해당 프로세스를 종료할 수 있다.
저장 모듈(330)은 판단 모듈(320)로부터 숙주 서버(100)에 새로 업데이트된 파일, 즉 종래에 없던 새로운 해시값을 갖는 정상 파일이 존재한다는 통지를 수신한 경우, 해당 정상 파일의 해시값에 대응하는 정상 파일 DB(400)의 특정 위치에 해상 정상 파일을 저장할 수 있다(S350). 해당 정상 파일을 저장할 특정 위치, 즉 정상 파일 DB(400) 내의 특정 디렉토리가 존재하지 않는 경우에는 새로 디렉토리를 생성한 후 저장할 수도 있으며, 통신 모듈(310)은 새로 업데이트된 파일이 존재하는지 여부를 확인한 이후에 숙주 서버(100)로부터 해당 파일을 전송받아 저장 파일 DB(400)에 저장하도록 구현될 수 있으므로 통신망(200)의 부하를 줄일 수도 있다.
앞서 설명한 도 3의 파일 수집 절차는 하나의 개별적인 파일에 대한 절차에 대한 일 실시예로서, 관리 서버(300)는 숙주 서버(100)로부터 전달받는 정상 파일의 개수만큼 도 3의 파일 수집 절차를 반복해서 실시할 수 있음은 이해되어야 한다.
오진 검수 절차
도 4는 본 발명의 일 실시예에 따른 오진 검수 작업 절차를 도시한 흐름도이다. 도 4를 참조하여 설명하면, 오진 검수 요청 모듈(360)에 의한 오진 검수 요청 발생시(S410), 오진 검수 서버(500)에 위치한 각 백신 프로그램은 기 지정된 정상 파일 DB(400)의 특정 디렉토리를 스캐닝한다(S420). 여기서 검수 요청은 앞서 설명한 바와 같이 주기적으로, 또는 특정 이벤트 발생에 맞추어 이루어질 수 있으며 오진 검수 요청 모듈(360)은 관리 서버(300) 또는 오진 검수 서버(500) 어디에도 위치할 수 있다.
각 백신 프로그램의 스캐닝 도중에 바이러스 감지로 나타나는 경우(S430), 정상 파일 DB(400)에는 정상 파일만이 저장되어 있기 때문에 이는 백신 프로그램의 해당 정상 파일에 대한 오작동으로 판단하여 오진 검수 서버(500)는 해당 정상 파일에 대한 오진 리포트를 작성(S440)한다. 오진 리포트에는, 해당 정상 파일의 해시값을 기초로 하여 그 구체적인 정보(해당 운영 체제, 경로 및 파일명, 파일 사이즈, 생성일, 최종 수정일, 파일 수집일자 등)를 관리 DB(350)를 참조하여 포함할 수도 있다.
각 백신 프로그램의 스캐닝 도중에 바이러스 감지(오작동)가 발생하지 않는 경우, 백신 프로그램은 오작동하지 않는 것으로 판단하여 종료하게 된다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(megneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동되도록 구성될 수 있으며, 그 역도 마찬가지다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (18)

  1. 관리 서버의 통신 모듈에 의해, 숙주 서버로부터 소정 파일에 대한 특정 정보를 수신하는 단계,
    상기 관리 서버의 판단 모듈에 의해, 상기 특정 정보를 관리 DB와 대비하는 단계,
    상기 특정 정보가 관리 DB에 존재하지 않는 경우 상기 판단 모듈에 의해 상기 관리 DB를 업데이트하고, 상기 관리 서버의 저장 모듈에 의해 상기 소정 파일을 정상 파일 DB에 저장하는 단계, 및
    수집된 상기 정상 파일 DB를 오진 검수 서버가 백신 프로그램으로 스캐닝하는 단계
    를 포함하는, 오진 검수 시스템에서의 오진 검수 방법.
  2. 청구항 1에 있어서,
    상기 특정 정보는 상기 소정 파일에 대한 해시(Hash)값을 포함하는, 오진 검수 방법.
  3. 청구항 2에 있어서,
    상기 특정 정보는 상기 소정 파일에 대한 수집 운영체제 버전, 경로 및 파일명, 파일 사이즈, 생성일, 최종 수정일 및 수집 일자 중 하나 이상을 더 포함하는, 오진 검수 방법.
  4. 청구항 1에 있어서,
    상기 관리 서버의 레지스트리 검사 모듈에 의해, 상기 숙주 서버의 레지스트리를 검사하는 단계를 더 포함하는, 오진 검수 방법.
  5. 청구항 1에 있어서,
    상기 정상 파일 DB에 저장하는 단계는,
    상기 소정 파일이 저장될 특정 디렉토리가 존재하는 경우 상기 특정 디렉토리에 저장하는 단계, 및
    상기 소정 파일이 저장될 특정 디렉토리가 존재하지 않는 경우 상기 특정 디렉토리를 생성 후 상기 소정 파일을 저장하는 단계를 더 포함하는, 오진 검수 방법.
  6. 청구항 5에 있어서,
    상기 소정 파일이 저장될 상기 특정 디렉토리는 상기 소정 파일의 해시값에 기초하여 결정되는, 오진 검수 방법.
  7. 청구항 1에 있어서, 상기 방법은,
    상기 스캐닝 결과 특정 파일에 대해 바이러스를 감지한 경우에는 상기 특정 파일에 대한 오진 리포트를 작성하는 단계를 더 포함하는, 오진 검수 방법.
  8. 청구항 1에 있어서,
    상기 백신 프로그램은 상기 정상 파일 DB 중 미리 지정된 특정 디렉토리 내부를 스캐닝하는, 오진 검수 방법.
  9. 청구항 7에 있어서,
    상기 오진 리포트는, 상기 특정 파일에 대한 해시값을 포함하는, 오진 검수 방법.
  10. 청구항 2, 3, 6 및 9 중 어느 한 항에 있어서,
    상기 해시값은 해시 알고리즘 MD5을 이용하여 도출된, 오진 검수 방법.
  11. 청구항 1 내지 9 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
  12. 숙주 서버로부터 소정 파일에 대한 특정 정보를 수신하고, 상기 특정 정보를 판단 모듈에 전달하는 통신 모듈,
    상기 전달된 특정 정보를 관리 DB와 대비하여 상기 특정 정보가 관리 DB에 존재하는지 여부를 판단하고, 존재하지 않는 경우 상기 관리 DB를 업데이트하고, 저장 모듈에 통지하는 판단 모듈,
    상기 판단 모듈에 의한 통지 수신시, 상기 소정 파일을 정상 파일 DB에 저장하는 저장 모듈, 그리고
    설치된 백신 프로그램으로 상기 정상 파일 DB를 스캐닝하는 오진 검수 서버,
    를 포함하는, 오진 검수 시스템.
  13. 청구항 12에 있어서,
    상기 특정 정보는 상기 소정 파일에 대한 해시(Hash)값, 그리고 수집 운영체제 버전, 경로 및 파일명, 파일 사이즈, 생성일, 최종 수정일 및 수집 일자 중 하나 이상을 포함하는, 오진 검수 시스템.
  14. 청구항 12에 있어서,
    상기 숙주 서버의 레지스트리를 검사하는 레지스트리 검사 모듈을 더 포함하는, 오진 검수 시스템.
  15. 청구항 12에 있어서,
    상기 저장 모듈은,
    상기 소정 파일이 저장될 특정 디렉토리가 상기 정상 파일 DB에 존재하는 경우 상기 특정 디렉토리에 저장하고, 존재하지 않는 경우 상기 특정 디렉토리를 생성 후 상기 소정 파일을 저장하는, 오진 검수 시스템.
  16. 청구항 15에 있어서,
    상기 소정 파일이 저장될 상기 특정 디렉토리는 상기 소정 파일의 해시값에 기초하여 결정되는, 오진 검수 시스템.
  17. 청구항 12에 있어서,
    상기 백신 프로그램은 상기 정상 파일 DB 중 미리 지정된 특정 디렉토리 내부를 스캐닝하는, 오진 검수 시스템.
  18. 청구항 12에 있어서,
    상기 오진 검수 서버는 상기 스캐닝 결과 특정 파일에 대해 바이러스를 감지한 경우에는 상기 특정 파일에 대한 오진 리포트를 작성하는 기능을 더 포함하는, 오진 검수 시스템.
KR1020100110704A 2010-11-09 2010-11-09 백신 프로그램의 오진검수 방법 및 시스템 KR101375793B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100110704A KR101375793B1 (ko) 2010-11-09 2010-11-09 백신 프로그램의 오진검수 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100110704A KR101375793B1 (ko) 2010-11-09 2010-11-09 백신 프로그램의 오진검수 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20120049461A KR20120049461A (ko) 2012-05-17
KR101375793B1 true KR101375793B1 (ko) 2014-04-01

Family

ID=46267231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100110704A KR101375793B1 (ko) 2010-11-09 2010-11-09 백신 프로그램의 오진검수 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101375793B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942798B1 (ko) 2007-11-29 2010-02-18 한국전자통신연구원 악성코드 탐지장치 및 방법
KR101067650B1 (ko) 2009-11-09 2011-09-29 한국과학기술원 화이트리스트 구축 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942798B1 (ko) 2007-11-29 2010-02-18 한국전자통신연구원 악성코드 탐지장치 및 방법
KR101067650B1 (ko) 2009-11-09 2011-09-29 한국과학기술원 화이트리스트 구축 시스템

Also Published As

Publication number Publication date
KR20120049461A (ko) 2012-05-17

Similar Documents

Publication Publication Date Title
US8181247B1 (en) System and method for protecting a computer system from the activity of malicious objects
US9652632B2 (en) Method and system for repairing file at user terminal
US8375451B1 (en) Security for scanning objects
US8612398B2 (en) Clean store for operating system and software recovery
CN101809566B (zh) 高效的文件散列标识符计算
US8122507B1 (en) Efficient scanning of objects
US10417416B1 (en) Methods and systems for detecting computer security threats
CN103020522B (zh) 用于校正反病毒记录以最小化恶意软件误检的系统和方法
US7669059B2 (en) Method and apparatus for detection of hostile software
EP2169584A2 (en) Hardware-based anti-virus scan service
US8443445B1 (en) Risk-aware scanning of objects
US20050262567A1 (en) Systems and methods for computer security
CN107103238A (zh) 用于保护计算机系统免遭恶意对象活动侵害的系统和方法
US9071639B2 (en) Unauthorized application detection system and method
WO2008071620A1 (en) Heuristic malware detection
CN102483780A (zh) 防病毒扫描
US20110161364A1 (en) System and method for providing a normal file database
US9898603B2 (en) Offline extraction of configuration data
US8205261B1 (en) Incremental virus scan
CN103428212A (zh) 一种恶意代码检测及防御的方法
WO2023165257A1 (zh) 一种代码段动态度量方法、装置及电子设备
KR101375793B1 (ko) 백신 프로그램의 오진검수 방법 및 시스템
JP4050253B2 (ja) コンピュータウィルス情報収集装置、コンピュータウィルス情報収集方法、及びプログラム
EP2584484B1 (en) System and method for protecting a computer system from the activity of malicious objects
CN103593612B (zh) 一种处理恶意程序的方法及装置

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
FPAY Annual fee payment
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170124

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7