KR20100116393A - 네트워크 기반 악성 코드 진단 방법 및 진단 서버 - Google Patents

네트워크 기반 악성 코드 진단 방법 및 진단 서버 Download PDF

Info

Publication number
KR20100116393A
KR20100116393A KR1020090035073A KR20090035073A KR20100116393A KR 20100116393 A KR20100116393 A KR 20100116393A KR 1020090035073 A KR1020090035073 A KR 1020090035073A KR 20090035073 A KR20090035073 A KR 20090035073A KR 20100116393 A KR20100116393 A KR 20100116393A
Authority
KR
South Korea
Prior art keywords
file
information
client terminal
diagnosis
network
Prior art date
Application number
KR1020090035073A
Other languages
English (en)
Other versions
KR101045870B1 (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 KR1020090035073A priority Critical patent/KR101045870B1/ko
Priority to PCT/KR2010/002475 priority patent/WO2010123261A2/ko
Publication of KR20100116393A publication Critical patent/KR20100116393A/ko
Application granted granted Critical
Publication of KR101045870B1 publication Critical patent/KR101045870B1/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
    • 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
    • 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/562Static detection
    • G06F21/564Static detection by virus signature recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

시그너처(signature) 등의 엔진 데이터는 서버 측에 저장하고 엔진 코드 및 일부 필터링 정보만을 클라이언트 측에 저장하고 시그너처가 실제로 필요한 경우에만 서버 측에 쿼리(query)하여 얻음으로써 네트워크 효율성을 높인 악성 코드 진단 기술이 개시된다. 본 발명의 일 측면은, 악성 코드 진단 엔진을 구비한 하나 이상의 클라이언트 단말로부터 감염 여부 판단에 필수적인 부분을 포함하는 파일의 일부를 가공한 제 1 정보를 수신하고, 상기 제 1 정보를 쿼리하여 매칭되는 시그너처를 탐색하며, 상기 시그너처를 포함하는 제 2 정보를 상기 클라이언트 단말에 전송하는 네트워크 기반 악성 코드 진단 방법을 제공한다. 본 발명에 의하면, 엔진의 초기 배포량 및 업데이트를 감소시켜 배포 시간 및 비용을 줄이고, 진단 효율성을 제고하면서도 시그너처 전부를 사용자 시스템에 저장하는 경우와 동일한 방어 능력을 유지할 수 있는 효과가 있다.
네트워크, 악성 코드, 바이러스, 진단, 검사, CRC, 시그너처, 필터링, 보안

Description

네트워크 기반 악성 코드 진단 방법 및 진단 서버{Malicious Code Detection Method Based on Network and Detection Server thereof}
본 발명은 네트워크 기반 악성 코드 진단 방법 및 진단 서버에 관한 것이다. 구체적으로 본 발명은, 시그너처(signature) 등의 엔진 데이터는 서버 측에 저장하고 엔진 코드 및 일부 필터링 정보만을 클라이언트 측에 저장하고 시그너처가 실제로 필요한 경우에만 서버 측에 쿼리(query)하여 얻음으로써 네트워크 효율성을 높인 악성 코드 진단 기술에 관한 것이다.
오늘날 컴퓨터 사용자들은 바이러스(virus), 웜(worm), 트로이목마(Trojan)를 비롯한 다양한 종류의 악성 코드(malicious code) 및 스파이웨어(spyware) 등의 위협에 직면해 있다. 이에 많은 사용자들이 자신의 시스템을 이러한 위협으로부터 보호하기 위하여 악성 코드 등의 감염 여부를 진단하고 치료하는 프로그램을 사용하고 있다.
이러한 진단 및 치료 프로그램에 해당하는 엔진(engine)은, 실제 파일의 진단에 관한 연산을 행하는 엔진 코드(engine code)와, 진단에 사용되는 시그너처(signature) 등의 엔진 데이터(engine data)로 크게 나누어 볼 수 있다. 널리 쓰이는 엔진의 예를 보면, 엔진 코드 부분은 크기가 2~3MB 정도로 작고 상대적으로 수정되는 빈도가 적고, 엔진 데이터 부분은 크기가 약 80MB에 이를 정도로 크고 1일 1회 이상 수시로 업데이트가 이루어질 때가 있을 만큼 변경이 많다.
종래에는 이러한 엔진 코드 및 엔진 데이터 전부가 사용자 시스템에 설치되어야 했다. 네트워크를 사용하여 전송할 경우 엔진 배포 서버는 엔진 코드 및 엔진 데이터 전부를 처음부터 클라이언트 시스템에 모두 전송해야 했다. 그 때문에 엔진 개발 내지 배포 업체는 대용량의 데이터 송수신을 소화할 수 있는 네트워크 및 서버를 확보해야 했으며, 사용자는 엔진을 저장하기 위하여 하드 디스크 등에 많은 공간을 확보해야 하고 오랜 전송 시간을 기다려야만 했다. 한편, 미디어를 통하여 배포할 경우에도 엔진 코드 및 엔진 데이터 자체만으로도 수십 메가 바이트(Mega Byte) 이상의 저장 공간이 필요하여 비용 상승의 문제가 있었다. 어떤 방법을 통하여 배포하든지 엔진 배포 업체와 사용자는 엔진 전체에 해당하는 크기의 데이터를 주고 받아야 했으며, 이는 설치본의 제작 시기 이후에도 엔진 데이터를 수시로 업데이트 해야 한다는 점에서 양측 모두에 부담이 되어 왔다.
본 발명은 이러한 문제점을 해결하기 위한 것으로, 엔진의 전체 크기 및 초기 배포량을 줄이더라도 신종 악성 코드에 대한 효과적 진단을 가능하게 하는 것을 목적으로 한다.
또한, 적은 시그너처 증가 또는 적은 업데이트만으로도 기하급수적으로 증가 하는 악성 코드에 대한 동일한 대응 능력을 유지하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명의 제 1 측면은, 악성 코드 진단 엔진을 구비한 하나 이상의 클라이언트 단말로부터 진단 대상인 파일의 일부를 가공한 제 1 정보를 쿼리로 수신하고, 상기 제 1 정보와 매칭되는 시그너처를 탐색하며, 상기 제 1 정보와 매칭되는 시그너처가 탐색된 경우 상기 탐색된 시그너처를 포함하는 제 2 정보를 생성하여 상기 클라이언트 단말에 전송하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 시그너처 데이터의 일부로서 악성 코드 필터링에 사용되는 부분을 포함하는 필터링 정보를 상기 클라이언트 단말에 미리 전송하고, 상기 제 1 정보의 수신은 상기 필터링 정보에 기반한 상기 필터링의 결과에 따라 선택적으로 이루어지는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 클라이언트 단말로부터 상기 필터링 정보의 버전에 관한 정보를 전송 받고, 상기 버전에 관한 정보에 기반하여 상기 필터링 정보의 최신 버전 여부를 확인하고, 상기 확인 결과 상기 필터링 정보가 최신 버전이 아닌 경우 상기 필터링 정보의 업데이트에 필요한 정보를 전송하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 동일한 파일에 대하여 상기 쿼리가 기 설정된 일정 횟수 이상 반복되는 경우 상기 클라이언트 단말에 상기 파일을 요청하여 샘플로 수집하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 샘플 수집은, 복수의 상기 클라이언트 단말로부터 상기 파일의 서로 다른 부분을 분산 전송 받아, 상기 분산 전송 받은 부분을 조합하여 상기 파일을 재구성함으로써 이루어지는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 클라이언트 단말로부터 상기 진단 엔진의 일련번호 또는 버전 정보 중 어느 하나 이상을 전송 받고, 상기 일련 번호 또는 버전 정보에 기반하여 상기 진단 엔진의 불법 복제본 여부 또는 최신 버전 여부 중 어느 하나 이상을 확인하고, 상기 확인 결과 상기 진단 엔진이 불법 복제본인 경우 상기 클라이언트 단말의 접속을 거부하며, 상기 확인 결과 상기 진단 엔진이 최신 버전이 아닌 경우 상기 진단 엔진의 업데이트에 필요한 정보를 전송하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 제 1 정보는 CRC를 포함하는 함수 또는 해쉬 함수를 이용하여 얻어지는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 제 2 정보는 상기 클라이언트 단말에 저장되어 별도로 관리 또는 추후 악성 코드 진단에 사용되는 네트워크 기반 악성 코드 진단 방법을 제공한다.
상기 목적을 달성하기 위하여 본 발명의 제 2 측면은, 하나 이상의 클라이언트 단말로부터 파일의 일부로서 바이러스 진단에 사용되는 부분을 포함하는 기본 검증 데이터를 전송 받고, 상기 기본 검증 데이터에 기반하여 상기 파일의 바이러스 감염 여부를 진단하며, 상기 진단 결과를 상기 클라이언트 단말에 전송하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 진단 과정에서 상기 파일에 관한 추가 데이터가 필요한 경우, 상기 클라이언트 단말에 상기 추가 데이터를 요청하고, 상기 클라이언트 단말로부터 상기 추가 데이터를 전송 받으며, 상기 추가 데이터를 참조하여 상기 파일의 바이러스 감염 여부를 재진단하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 추가 데이터 요청은 상기 파일 중 필요한 부분의 위치 및 크기에 관한 정보를 전송함으로써 이루어지는 네트워크 기반 악성 코드 진단 방법을 제공한다.
또한, 상기 기본 검증 데이터는, 상기 파일의 일부의 CRC 정보, 상기 파일의 헤더, 상기 파일의 작성 날짜, 상기 파일의 EP 영역, 상기 파일의 뒷 부분, 상기 파일의 이름, 상기 파일의 크기, 상기 파일의 코드 시작 부분 중 어느 하나 이상을 포함하는 네트워크 기반 악성 코드 진단 방법을 제공한다.
상기 목적을 달성하기 위하여 본 발명의 제 3 측면은, 악성 코드 진단 엔진을 구비한 하나 이상의 클라이언트 단말로부터 진단 대상인 파일의 일부를 가공한 제 1 정보를 쿼리로 수신하는 수신부와, 상기 제 1 정보와 매칭되는 시그너처를 탐색하고 상기 제 1 정보와 매칭되는 시그너처가 탐색된 경우 상기 탐색된 시그너처를 포함하는 제 2 정보를 생성하는 시그너처 매칭부, 및 상기 제 2 정보를 상기 클라이언트 단말에 전송하는 송신부를 포함하는 네트워크 기반 악성 코드 진단 서버를 제공한다.
또한, 시그너처 데이터의 일부로서 악성 코드 필터링에 사용되는 부분을 포함하는 필터링 정보를 상기 클라이언트 단말에 미리 전송하고, 상기 제 1 정보의 수신은 상기 필터링 정보에 기반한 상기 필터링의 결과에 따라 선택적으로 이루어지는 네트워크 기반 악성 코드 진단 서버를 제공한다.
또한, 상기 시그너처 매칭부는 동일한 파일에 대하여 상기 쿼리가 기 설정된 일정 횟수 이상 반복되는 경우 상기 클라이언트 단말에 상기 파일을 요청하고, 상기 요청된 파일을 상기 수신부로부터 전달 받아 샘플로 저장하는 샘플 저장부를 포함하는 네트워크 기반 악성 코드 진단 서버를 제공한다.
또한, 상기 수신부는 복수의 상기 클라이언트 단말로부터 상기 파일의 서로 다른 부분을 분산 전송 받으며, 상기 분산 전송 받은 부분을 조합하여 상기 파일을 재구성하는 분산 파일 조합부를 포함하는 네트워크 기반 악성 코드 진단 서버를 제공한다.
또한, 상기 제 1 정보는 CRC를 포함하는 함수 또는 해쉬 함수를 이용하여 얻어지는 네트워크 기반 악성 코드 진단 서버를 제공한다.
상기 목적을 달성하기 위하여 본 발명의 제 3 측면은, 하나 이상의 클라이언트 단말로부터 파일의 일부로서 바이러스 진단에 사용되는 부분을 포함하는 기본 검증 데이터를 수신하는 수신부와, 상기 기본 검증 데이터에 기반하여 상기 파일의 바이러스 감염 여부를 진단하는 진단부, 및 상기 진단 결과를 상기 클라이언트 단말에 전송하는 송신부를 포함하는 네트워크 기반 악성 코드 진단 서버를 제공한다.
또한, 상기 진단 과정에서 상기 파일에 관한 추가 데이터가 필요한 경우, 상기 송신부는 상기 파일 중 필요한 부분의 위치 및 크기에 관한 정보를 전송함으로써 상기 클라이언트 단말에 상기 추가 데이터를 요청하고, 상기 수신부는 상기 클라이언트 단말로부터 상기 추가 데이터를 전송 받으며, 상기 진단부는 상기 추가 데이터를 참조하여 상기 파일의 바이러스 감염 여부를 재진단하는 네트워크 기반 악성 코드 진단 서버를 제공한다.
또한, 상기 기본 검증 데이터는, 상기 파일의 일부의 CRC 정보, 상기 파일의 헤더, 상기 파일의 작성 날짜, 상기 파일의 EP 영역, 상기 파일의 뒷 부분, 상기 파일의 이름, 상기 파일의 크기, 상기 파일의 코드 시작 부분 중 어느 하나 이상을 포함하는 네트워크 기반 악성 코드 진단 서버를 제공한다.
본 발명에 의하면, 시그너처 데이터의 대부분을 서버 측에 저장하고 필요한 경우에만 쿼리 처리함으로써 엔진의 초기 배포량 및 업데이트를 감소시켜 배포 시간 및 비용을 줄이는 효과가 있다.
또한, 엔진 자체의 크기 및 메모리 상주 크기를 줄여 진단 효율성을 제고하면서도 시그너처 전부를 사용자 시스템에 저장하는 경우와 동일한 방어 능력을 유지할 수 있는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그 러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 네트워크 기반 악성 코드 진단 시스템의 개략적인 구성을 나타낸 블록도(block diagram)이다.
클라이언트 단말(110, 130)은 통신망을 통하여 진단 서버(150)와 연결된다. 클라이언트 단말(110, 130)은 컴퓨터 등의 사용자 시스템으로서 클라이언트(client) 역할을 수행한다. 클라이언트 단말(110, 130)은 웜, 트로이목마 등 비 바이러스 악성 코드(malware) 또는 바이러스 등에 관한 진단 코드를 포함할 수 있다. 진단 서버(150)는 악성 코드에 대한 진단 또는 엔진 배포를 하며 사용자 시스템과의 관계에서 서버(server) 역할을 수행한다.
본 실시예에서, 진단 코드를 포함하는 클라이언트 단말 A(110)는 진단 서버(150)에 파일의 일부의 체크 섬 값으로서 CRC 정보를 전송하여 서버 측에 시그너처를 쿼리(query)할 수 있다(S640). 진단 서버(150)는 전송 받은 CRC 정보에 기반하여 매칭되는 시그너처를 탐색하여 PE-CRC 형태로 클라이언트 단말 A(110)에 전송할 수 있다(S660). 클라이언트 단말 A(110)에 진단에 필요한 최소한의 정보인 필터링 정보가 설치되어 있는 경우, 클라이언트 단말 A(110) 측에서 이에 기반한 필터링을 거친 후 시그너처가 실제로 필요한 경우에만 쿼리를 수행하도록 구현할 수도 있다. 클라이언트 단말 A(110)가 바이러스 진단 코드도 포함하는 경우 바이러스 진단 역시 클라이언트 단말 A(110) 내에서 이루어질 수 있다.
다른 실시예에서, 바이러스 진단 코드를 포함하지 않는 클라이언트 단말 B(130)는 진단 서버(150)에 파일의 일부를 포함하는 데이터로서 바이러스 진단에 필요한 기본 검증 데이터를 전송할 수 있다(S740). 진단 서버(150)는 전송 받은 기본 검증 데이터에 기반하여 해당 파일의 바이러스 감염 여부를 진단하고, 그 진단 결과를 클라이언트 단말 B(130)에 전송할 수 있다. 이 때 기본 검증 데이터는 파일에서 중요 정보 부분 및 바이러스 진단 시 반드시 필요한 부분에 해당하는 부분으로, 진단 서버(150)가 이것을 따로 요청하기 전에 클라이언트 단말 B(130)가 미리 읽어서 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 단말의 구성을 나타낸 블록도이다. 클라이언트 단말(200)는 진단부(210), 파일 저장부(220), 필터링 정보 저장부(230), 송수신부(240) 등을 포함할 수 있다.
진단부(210)는 사용자 시스템에 비 바이러스 또는 바이러스 등의 악성 코드가 존재하는지 여부를 진단한다. 클라이언트 단말(200)이 컴퓨터 시스템인 경우 진단부(210)는 메모리 등에 비 바이러스 진단 코드(211) 또는 바이러스 진단 코드(212)를 불러와 실행시킴으로써 구현될 수 있다. 진단부(210)는 실시예에 따라 시그너처 쿼리를 위한 CRC 등의 체크 섬(check sum) 값 또는 바이러스 진단에 필요한 파일의 일부를 포함하는 기본 검증 데이터에 관한 정보를 처리할 수 있다. 진단부(210)가 제공하는 구성 및 처리 정보에 따라 클라이언트 단말(110, 130)이 진단 서버(150)와 주고 받는 데이터가 달라질 수 있다. 각 실시예에서의 데이터 처리 과정은 뒤에서 자세히 설명된다.
파일 저장부(220)는 파일 등 데이터를 저장하며, 필터링 정보 저장부(230)는 실시예에 따라 필터링에 필요한 최소한의 정보를 포함하는 필터링 정보를 저장 한다. 파일 저장부(220) 및 필터링 정보 저장부(230)는 하드 디스크, 이동식 저장 매체 등 읽기 및 쓰기가 가능한 저장 장치로 구현될 수 있다.
필터링 정보 저장부(230)는 시그너처 데이터의 일부로서 악성 코드 필터링에 필수적인 부분을 포함하는 필터링 정보를 클라이언트 단말(110, 130)에 미리 전송 받아 저장한다. 이 경우 시그너처 쿼리는 필터링 결과에 기반한 필터링 결과에 따라 선택적으로 이루어질 수 있다. 이 경우 필터링 정보 저장부(230)라는 저장 공간이 추가로 소요되는 대신에 네트워크 효율성을 확보할 수 있게 된다.
송수신부(240)는 진단 서버(150) 등과 각종 데이터를 주고 받는 역할을 한다. 송수신부(240)는 인터넷 등 하나 이상의 방법을 통한 유선 또는 무선 통신 기능을 제공할 수 있으며, 이를 위하여 인코더(encoder) 및 디코더(decoder) 등을 포함하는 구성으로 설계될 수 있다.
한편, 실시예에 따라 클라이언트 단말(200)이 진단 서버(150)로부터 수신한 시그너처 데이터 등을 저장 또는 관리하는 클라이언트 시그너처 데이터 저장부(미도시)를 포함할 수도 있다. 이는 전송 받은 시그너처를 저장해 둠으로써 향후 동일한 시그너처의 필요성이 발생하더라도 재전송 없이 저장해 둔 시그너처를 사용할 수 있게 한다. 일종의 시그너처 캐싱(signature caching) 기법을 통한 커스터마이즈드 시그너처(customized signature)의 관리라고 할 수 있을 것이다. 저장 내지 관리의 대상은 시그너처 외에도 진단 서버(150)로부터 수신한 진단 문자열 등 다른 데이터가 될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 진단 서버의 구성을 나타낸 블록도이 다. 진단 서버(300)는 수신부(310), 송신부(315), 시그너처 매칭부(320), 시그너처 데이터 저장부(325), 진단부(330), 진단 엔진 저장부(335), 샘플 저장부(340), 분산 파일 조합부(345) 등을 포함할 수 있다. 실시예에 따라 진단 서버(300)는 이들 각 구성요소의 서로 다른 조합을 통하여 다양한 기능을 수행하도록 구현될 수 있다.
먼저 시그너처 데이터가 진단 서버(150)에 있는 제 1 실시예의 경우를 본다. 이 때 수신부(310)는 악성 코드 진단 엔진을 구비한 하나 이상의 클라이언트 단말(110)로부터 감염 여부 판단에 필수적인 부분을 포함하는 파일의 일부를 가공한 제 1 정보를 수신할 수 있다. 제 1 정보 생성 과정에서는 CRC를 비롯한 체크 섬(check sum) 값을 포함하는 함수가 사용될 수 있다. 시그너처 매칭부(320)는 이 제 1 정보를 시그너처 데이터 저장부(325) 등에 쿼리하여 매칭되는 시그너처를 탐색할 수 있다. 시그너처 데이터 저장부(325)에는 다양한 악성 코드에 대한 필터링 정보, 시그너처, 이름 정보 등 진단에 필요한 완전한 시그너처 데이터가 저장될 수 있다. 송신부(315)는 시그너처를 포함하는 제 2 정보를 클라이언트 단말(110)에 PE-CRC 등의 형태로 전송할 수 있다. 감염이 의심되는 파일에 대한 샘플(sample) 수집 기능이 추가되는 경우, 수집된 샘플을 저장하기 위한 샘플 저장부(340)가 더 포함될 수 있다. 또한, 이러한 샘플 수집 과정에서 복수의 클라이언트 단말로부터 동일한 파일의 서로 다른 부분을 분산 전송 받는 경우, 서로 다른 클라이언트 단말로부터 분산 전송 받은 부분을 조합하여 동일한 파일을 재구성하는 처리를 수행하는 분산 파일 조합부(345)가 더 포함될 수 있다.
다음으로 클라이언트 단말이 바이러스 진단 코드(212)를 포함하지 않는 제 2 실시예의 경우를 본다. 이 경우 수신부(310)는 하나 이상의 클라이언트 단말(130)로부터 파일의 일부를 포함하는 데이터로서 바이러스 진단에 필요한 기본 검증 데이터를 수신할 수 있다. 또한, 기본 검증 데이터에 기반하여 전송 받은 파일의 바이러스 감염 여부를 진단하기 위하여 진단부(330)가 포함될 수 있다. 진단 결과 추가 데이터가 필요한 경우 클라이언트 단말에 대한 추가 데이터의 요청은 진단부(330) 또는 송신부(315) 등에 의하여 처리될 수 있다. 이 때 진단부(330)가 진단을 수행하는 데 필요한 엔진 코드는 진단 엔진 저장부(335)에 저장될 수 있다. 한편, 진단 송신부(315)는 감염 여부 진단 결과를 클라이언트 단말(130)에 전송할 수 있다.
진단 서버(300)가 엔진 배포 기능을 포함하는 경우, 엔진 코드를 저장하는 진단 엔진 저장부(335) 및 엔진 데이터를 저장하는 시그너처 데이터 저장부(325)가 포함될 수 있다.
도 4는 시그너처 데이터의 구성을 도시한 것이다. 시그너처 데이터(300)는 필터링 정보(410), 시그너처(420), 이름 정보(430) 등으로 구성될 수 있다.
필터링 정보(410)는 악성 코드 여부의 필터링에 필요한 최소한의 정보로, 통상 악성 코드 1개 당 4 바이트(byte) 정도의 크기를 가진다. 진단 가능한 악성 코드의 개수를 약 100만 개라고 가정하면, 전체 필터링 정보(410)의 크기는 약 4MB가 된다. 시그너처(420)는 악성 코드 진단에 필요한 구체적인 정보로, 악성 코드의 개수가 약 100만 개인 경우, 약 20MB 정도의 크기를 가진다. 한편, 이름 정 보(430)는 악성 코드의 이름을 나타내는 정보로, 악성 코드의 개수가 약 100만 개인 경우, 약 20MB 정도의 크기를 가진다.
따라서 종래 기술과 같이 모든 시그너처 데이터(300)를 사용자 시스템인 클라이언트 단말(110, 130)에 저장할 경우, 악성 코드 100만 개에 대하여 약 44MB의 저장 공간이 필요하다. 그러나, 본 발명의 일 실시예에 따라 시그너처(420) 및 이름 정보(430)를 진단 서버(150) 측에 저장하면서 필터링 정보(410)는 클라이언트 단말(110, 130)에 저장해 두는 경우, 전체 시그너처 데이터 44MB의 1/10 미만 해당하는 4MB의 필터링 정보(410)만 사용자 시스템에 저장하면 충분하다. 따라서 본 발명의 일 실시예에 의하면, 엔진 데이터 측면에서 1/10 미만의 배포량을 가지면서 악성 코드 진단 시스템을 운영할 수 있게 된다. 이는 최초 설치 및 업데이트 시 네트워크 전송 효율성을 크게 개선시킨다.
도 5는 기본 검증 데이터의 구성을 도시한 것이다. 기본 검증 데이터(500)는 파일의 일부의 CRC 정보(510), 파일의 헤더(520), 파일의 작성 날짜(525), 파일의 EP 영역(530), 파일의 뒷 부분(540), 파일의 이름(550), 파일의 크기(560), 파일의 코드 시작 부분(570) 중 어느 하나 이상을 포함할 수 있다.
파일의 일부의 CRC 정보(510)는 필터링에 필수적인 정보를 포함하는 파일의 일부를 가공한 것이다. 이는 일종의 대표 값 내지 태그(tag)와 유사한 개념으로 구현될 수 있으며, 실시예에 따라 CRC가 아닌 다른 체크 섬 등 다양한 함수를 통하여 가공될 수 있다. 통상 파일의 헤더(510)는 약 4KB, 파일 작성 날짜(525)는 약 4B, 파일의 EP 영역(530)은 약 4KB, 파일의 뒷 부분(540)은 약 4KB 정도의 크기를 가질 수 있다. 이들은 일반적으로 악성 코드 진단에 필요한 파일의 중요 부분에 해당하기 때문에 기본 검증 데이터(500)에 포함될 수 있다. 실시예에 따라 파일의 이름(550), 파일의 크기(560), 파일의 코드 시작 부분(570) 등 바이러스 진단에 필요한 파일의 다른 부분에 관한 정보도 기본 검증 데이터(500)에 포함될 수 있다. 기본 검증 데이터(500)는 최소 회수로 바이러스 진단을 완료할 수 있을 정도의 분량을 가진 다양한 구조로 설계될 수 있다.
도 6은 시그너처 쿼리 과정의 래더도(ladder diagram)를 도시한 것이다. 이는 시그너처 데이터가 진단 서버(150)에 있는 제 1 실시예의 경우에 해당한다. 클라이언트 단말 A(110)가 바이러스 및 PE(Portable Executable) 등 실행 파일이 아닌 파일의 샘플에 대한 진단 기능을 포함한 엔진을 구비하고 있는 경우이다.
먼저, 클라이언트 단말 A(110)는 진단 서버(150)에 제품 일련 번호, 엔진 버전, 필터링 정보 버전, 시그너처 버전, 무효화된 시그너처 버전 등에 관한 정보 중 어느 하나 이상에 관한 정보를 전송할 수 있다(S610). 이러한 정보는 그 데이터 자체가 전송될 수도 있고, 그 체크 섬 값만을 전송할 수도 있다. 진단 서버(150)는 이 정보에 기반하여 불법 사용자 여부에 관한 라이선스(license) 검증 또는 클라이언트 단말 A(110)에 설치된 진단 엔진의 최신 버전 여부를 확인할 수 있다(S620). 제품 일련 번호 확인 결과 클라이언트 단말 A(110)에 설치된 진단 엔진이 불법 복제본인 경우, 진단 서버(150)는 클라이언트 단말 A(110)의 접속을 거부할 수 있다. 한편, 진단 엔진이 불법 복제본이 아닌 경우, 진단 서버(150)는 진단 엔진 또는 필터링 정보의 최신 버전 여부에 따라 진단 엔진 또는 필터링 정보의 업데이트에 필요한 정보를 클라이언트 단말 A(110) 측에 전송할 수 있다(S630). 체크 섬 값만을 전송 받아 비교하는 경우, 전송 받은 체크 섬 값과 진단 서버(150) 측의 대응되는 정보의 체크 섬 값이 일치하지 않는 경우에 업데이트의 필요성이 있는 것으로 판단하게 된다. 이러한 단계들은 선택적으로 실시될 수 있으며, 실시예에 따라 필터링 정보를 사용하지 않는 경우, 위의 각 단계에서 필터링 정보에 관한 데이터는 전송되지 않을 수 있다.
클라이언트 단말 A(110)는 파일의 악성 코드 감염 여부 판단에 필수적인 부분을 포함하는 파일의 일부를 가공하여 제 1 정보를 생성할 수 있다. 제 1 정보 생성 과정에서 CRC를 비롯한 체크 섬(check sum) 값을 포함하는 함수를 사용할 수 있다. 그리고 이 제 1 정보를 진단 서버(150)에 전송하여 매칭되는 시그너처를 쿼리할 수 있다(S640). 다량의 파일을 진단해야 하는 경우 시그너처에 대한 쿼리 데이터(query data)를 그룹화하여 한 번에 보내는 방식으로 작은 패킷(packet)이 진단 서버(150)에 다량 전달되지 않도록 구현할 수 있다.
필터링 정보가 사용된 경우, 필터링 정보에 기반한 필터링의 결과에 따라 제 1 정보의 전송이 선택적으로 이루어질 수 있다. 악성 코드에 감염된 파일은 소수에 불과한 경우가 많으므로, 필터링 정보에 의하여 파일을 필터링하더라도 매칭되는 경우가 많지 않다. 따라서 시그너처 전부 또는 일부를 진단 서버(150) 측에 저장해 두고 필요할 경우에만 쿼리하여 전송 받는다고 하더라도, 모든 시그너처를 사용자 시스템에 저장해 두고 진단을 실행하는 종래의 기술과 비교할 때 일반적으로 큰 성능 차이가 발생하지 않는다. 진단 서버(150)는 수신한 CRC 등 제 1 정보 를 내부에 쿼리하여 매칭되는 시그너처 데이터를 탐색한다(S650). 이러한 네트워크 쿼리 및 탐색 과정에서 특정 파일의 진단에 관한 대기 시간이 발생하는 경우, 대기 시간을 이용하여 클라이언트 단말 A(110)가 다른 파일에 대한 검사를 진행하도록 구현하여 지연 시간을 단축할 수도 잇다. 한편, 진단 서버(150)는 탐색 결과를 PE-CRC 등의 형태로 클라이언트 단말 A(110)에 전송할 수 있다(S660). 클라이언트 단말 A(110)는 수신한 시그너처 등에 기반하여 시그너처 매칭 등 정밀한 진단을 수행할 수 있다.
한편, 제 1 정보가 동일한 쿼리가 기 설정된 일정 횟수 이상 반복되는 경우 진단 서버(150)는 클라이언트 단말 A(110)에 파일을 샘플로 보내줄 것을 요청할 수 있다(S670). 이러한 경우 신종 악성 코드 또는 새로운 의심스러운 프로그램이 발생한 것으로 판단할 수 있기 때문이다. 클라이언트 단말 A(110)는 이에 응답하여 파일을 샘플로 전송할 수 있다(S675). 문서 파일 등 개인이 작성할 수 있는 파일의 경우에는 사용자의 중요 정보일 가능성이 있기 때문에 사용자의 협조 하에 샘플 수집을 진행하도록 할 수 있다. 초기 설치 시 현존 정보에 대한 잠금(lock) 기능을 통하여 특정 파일은 전송되지 않도록 구성할 수도 있다. 여기서 기업 및 개인 사용자에 대하여 다른 접근을 적용할 수 있다. 개인 고객의 경우 개인 동의 하에 시스템 및 네트워크 성능에 따라 클라이언트 당 예컨대 100KB 정도의 파일을 서로 다른 위치로부터 전송 받는 등의 방법으로 개인 정보를 보호할 수 있다. 기업의 경우 기업 동의 하에 기업 내에 설치된 중앙 관리 서버로 기업 네트워크 내의 파일을 전송하고, 이러한 중앙 관리 서버로부터 간접적으로 전송받는 방법을 사용하여 기업 정보를 보호할 수 있다. 한편, 특정 기업에만 존재하는 파일을 샘플로 수집해야 하는 경우에는 별도의 의사소통 경로를 통하여 프로그램의 추가 설치 여부를 판단하도록 할 수 있다.
실시예에 따라 진단 서버(150)는 샘플 전송 과정에서 복수의 클라이언트 단말로부터 동일한 파일의 서로 다른 부분을 분산 전송 받아, 분산 전송 받은 부분을 조합하여 파일을 재구성할 수 있다. 동일한 네트워크 쿼리(network query)를 유발하는 파일이 동일한 경우 이러한 분산 수집이 특히 효과적일 수 있다. 이는 마치 P2P(Peer-to-Peer) 서버의 사용자가 파일을 분산 전송 받아 조합하는 것과 유사한 원리이다. 분산 전송 기법을 사용할 경우 샘플 수집 시간을 단축할 수 있는 효과가 있다.
도 7은 기본 검증 데이터에 의한 서버 측 진단 및 추가 데이터에 의한 재진단 과정의 래더도를 도시한 것이다. 이는 클라이언트 단말 B(130)가 바이러스 진단 코드(212)를 포함하지 않는 제 2 실시예의 경우이다.
먼저 제 1 실시예의 경우와 마찬가지로, 제품 일련 번호, 엔진 버전, 필터링 정보 버전 등을 전송하여(S610), 불법 사용자 여부 및 엔진 및 필터링 정보의 최신 버전 확인하고(S620), 확인 결과와 함께 필요한 경우 엔진 또는 필터링 정보의 업데이트를 위한 정보를 전송할 수 있다(S630).
클라이언트 단말 B(130)는 파일의 일부를 포함하는 데이터로서 바이러스 진단에 필요한 기본 검증 데이터를 생성하여 전송할 수 있다(S740). 이 때 기본 검증 데이터는 진단 서버(150)가 클라이언트 단말 B(130)에 대하여 기본 검증 데이터 를 요청하기 전에 미리 전송될 수 있다. 이러한 구성을 통하여 NFS(Network File System) 식의 파일 I/O(Input/Output) 요구를 그대로 하는 것에 비하여 네트워크 통신량 및 전송 횟수를 절대적으로 줄일 수 있다.
그리고 이 기본 검증 데이터를 진단 서버(150)에 전송하여 진단 서버(150)의 네트워크 진단 기능을 이용하여 진단을 의뢰할 수 있다(S750). 진단이 문제 없이 완료된 경우, 진단 서버(150)는 진단 결과를 클라이언트 단말 B(130)에 전송할 수 있다(S775).
그러나 진단 과정에서 진단을 받은 파일에 관한 추가 데이터가 필요한 경우가 있을 수 있다. 이러한 경우 진단 서버(150)는 클라이언트 단말 B(130)에 추가 데이터를 요청할 수 있다(S760). 추가 데이터는 통상적으로 16KB 정도의 데이터 또는 코드 영역 내 CALL 주소 등 정형화된 정보에 대한 요구인 경우가 많으며, 클라이언트 단말 B(130) 내의 프로그램이 이러한 기능을 포함하도록 구현할 수 있다. 클라이언트 단말 B(130)는 요청 받은 추가 데이터에 해당하는 파일 블록(block)을 탐색하여 필요한 추가 데이터인 파일 블록 데이터를 진단 서버(150)에 전송할 수 있다(S765). 진단 서버(150)는 이 추가 데이터를 최초의 기본 검증 데이터와 함께 참조하여 재진단을 수행할 수 있다(S770). 재진단 결과가 나오면 결과를 클라이언트 단말 B(130)에 전송하며(S775), 재진단 후에도 추가 데이터가 필요하다면 추가 데이터를 요청하는 위 과정(S760, S765, S770)을 반복할 수 있다.
본 실시형태의 모듈, 기능 블록들 또는 수단들은 전자 회로, 집적 회로, ASIC (Application Specific Integrated Circuit) 등 공지된 다양한 소자들로 구현 될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다.
이상과 같이 본 발명의 이해를 위하여 그 실시예를 기술하였으나, 당업자라면 알 수 있듯이, 본 발명은 본 명세서에서 기술된 특정 실시예에 한정되는 것이 아니라, 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 변경 및 대체될 수 있다. 예를 들어, 문자 대신 기타 LCD 등 디스플레이에 의해 표시될 수 있는 그림, 영상 등에도 본 발명의 기술이 적용될 수 있다. 따라서, 본 발명의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 특허청구범위에 의하여 모두 포괄하고자 한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 기반 악성 코드 진단 시스템의 개략적인 구성을 나타낸 블록도(block diagram)이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 단말의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 진단 서버의 구성을 나타낸 블록도이다.
도 4는 시그너처 데이터의 구성을 도시한 것이다.
도 5는 기본 검증 데이터의 구성을 도시한 것이다.
도 6은 시그너처 쿼리 과정의 래더도(ladder diagram)를 도시한 것이다.
도 7은 기본 검증 데이터에 의한 서버 측 진단 및 추가 데이터에 의한 재진단 과정의 래더도를 도시한 것이다.

Claims (20)

  1. 악성 코드 진단 엔진을 구비한 하나 이상의 클라이언트 단말로부터 진단 대상인 파일의 일부를 가공한 제 1 정보를 쿼리로 수신하고,
    상기 제 1 정보와 매칭되는 시그너처를 탐색하며,
    상기 제 1 정보와 매칭되는 시그너처가 탐색된 경우 상기 탐색된 시그너처를 포함하는 제 2 정보를 생성하여 상기 클라이언트 단말에 전송하는
    네트워크 기반 악성 코드 진단 방법.
  2. 제 1항에 있어서,
    시그너처 데이터의 일부로서 악성 코드 필터링에 사용되는 부분을 포함하는 필터링 정보를 상기 클라이언트 단말에 미리 전송하고,
    상기 제 1 정보의 수신은 상기 필터링 정보에 기반한 상기 필터링의 결과에 따라 선택적으로 이루어지는
    네트워크 기반 악성 코드 진단 방법.
  3. 제 2항에 있어서,
    상기 클라이언트 단말로부터 상기 필터링 정보의 버전에 관한 정보를 전송 받고,
    상기 버전에 관한 정보에 기반하여 상기 필터링 정보의 최신 버전 여부를 확인하고,
    상기 확인 결과 상기 필터링 정보가 최신 버전이 아닌 경우 상기 필터링 정보의 업데이트에 필요한 정보를 전송하는
    네트워크 기반 악성 코드 진단 방법.
  4. 제 1항에 있어서,
    동일한 파일에 대하여 상기 쿼리가 기 설정된 일정 횟수 이상 반복되는 경우 상기 클라이언트 단말에 상기 파일을 요청하여 샘플로 수집하는
    네트워크 기반 악성 코드 진단 방법.
  5. 제 4항에 있어서,
    상기 샘플 수집은, 복수의 상기 클라이언트 단말로부터 상기 파일의 서로 다른 부분을 분산 전송 받아, 상기 분산 전송 받은 부분을 조합하여 상기 파일을 재구성함으로써 이루어지는
    네트워크 기반 악성 코드 진단 방법.
  6. 제 1항에 있어서,
    상기 클라이언트 단말로부터 상기 진단 엔진의 일련번호 또는 버전 정보 중 어느 하나 이상을 전송 받고,
    상기 일련 번호 또는 버전 정보에 기반하여 상기 진단 엔진의 불법 복제본 여부 또는 최신 버전 여부 중 어느 하나 이상을 확인하고,
    상기 확인 결과 상기 진단 엔진이 불법 복제본인 경우 상기 클라이언트 단말의 접속을 거부하며,
    상기 확인 결과 상기 진단 엔진이 최신 버전이 아닌 경우 상기 진단 엔진의 업데이트에 필요한 정보를 전송하는
    네트워크 기반 악성 코드 진단 방법.
  7. 제 1항에 있어서,
    상기 제 1 정보는 CRC를 포함하는 함수 또는 해쉬 함수를 이용하여 얻어지는
    네트워크 기반 악성 코드 진단 방법.
  8. 제 1항에 있어서,
    상기 제 2 정보는 상기 클라이언트 단말에 저장되어 별도로 관리 또는 추후 악성 코드 진단에 사용되는
    네트워크 기반 악성 코드 진단 방법.
  9. 하나 이상의 클라이언트 단말로부터 파일의 일부로서 바이러스 진단에 사용되는 부분을 포함하는 기본 검증 데이터를 전송 받고,
    상기 기본 검증 데이터에 기반하여 상기 파일의 바이러스 감염 여부를 진단하며,
    상기 진단 결과를 상기 클라이언트 단말에 전송하는
    네트워크 기반 악성 코드 진단 방법.
  10. 제 9항에 있어서,
    상기 진단 과정에서 상기 파일에 관한 추가 데이터가 필요한 경우,
    상기 클라이언트 단말에 상기 추가 데이터를 요청하고,
    상기 클라이언트 단말로부터 상기 추가 데이터를 전송 받으며,
    상기 추가 데이터를 참조하여 상기 파일의 바이러스 감염 여부를 재진단하는
    네트워크 기반 악성 코드 진단 방법.
  11. 제 10항에 있어서,
    상기 추가 데이터 요청은 상기 파일 중 필요한 부분의 위치 및 크기에 관한 정보를 전송함으로써 이루어지는
    네트워크 기반 악성 코드 진단 방법.
  12. 제 9항에 있어서,
    상기 기본 검증 데이터는, 상기 파일의 일부의 CRC 정보, 상기 파일의 헤더, 상기 파일의 작성 날짜, 상기 파일의 EP 영역, 상기 파일의 뒷 부분, 상기 파일의 이름, 상기 파일의 크기, 상기 파일의 코드 시작 부분 중 어느 하나 이상을 포함하는
    네트워크 기반 악성 코드 진단 방법.
  13. 악성 코드 진단 엔진을 구비한 하나 이상의 클라이언트 단말로부터 진단 대상인 파일의 일부를 가공한 제 1 정보를 쿼리로 수신하는 수신부와,
    상기 제 1 정보와 매칭되는 시그너처를 탐색하고 상기 제 1 정보와 매칭되는 시그너처가 탐색된 경우 상기 탐색된 시그너처를 포함하는 제 2 정보를 생성하는 시그너처 매칭부, 및
    상기 제 2 정보를 상기 클라이언트 단말에 전송하는 송신부
    를 포함하는 네트워크 기반 악성 코드 진단 서버.
  14. 제 13항에 있어서,
    시그너처 데이터의 일부로서 악성 코드 필터링에 사용되는 부분을 포함하는 필터링 정보를 상기 클라이언트 단말에 미리 전송하고,
    상기 제 1 정보의 수신은 상기 필터링 정보에 기반한 상기 필터링의 결과에 따라 선택적으로 이루어지는
    네트워크 기반 악성 코드 진단 서버.
  15. 제 13항에 있어서,
    상기 시그너처 매칭부는 동일한 파일에 대하여 상기 쿼리가 기 설정된 일정 횟수 이상 반복되는 경우 상기 클라이언트 단말에 상기 파일을 요청하고,
    상기 요청된 파일을 상기 수신부로부터 전달 받아 샘플로 저장하는 샘플 저장부를 포함하는
    네트워크 기반 악성 코드 진단 서버.
  16. 제 15항에 있어서,
    상기 수신부는 복수의 상기 클라이언트 단말로부터 상기 파일의 서로 다른 부분을 분산 전송 받으며,
    상기 분산 전송 받은 부분을 조합하여 상기 파일을 재구성하는 분산 파일 조합부를 포함하는
    네트워크 기반 악성 코드 진단 서버.
  17. 제 13항에 있어서,
    상기 제 1 정보는 CRC를 포함하는 함수 또는 해쉬 함수를 이용하여 얻어지는
    네트워크 기반 악성 코드 진단 서버.
  18. 하나 이상의 클라이언트 단말로부터 파일의 일부로서 바이러스 진단에 사용되는 부분을 포함하는 기본 검증 데이터를 수신하는 수신부와,
    상기 기본 검증 데이터에 기반하여 상기 파일의 바이러스 감염 여부를 진단하는 진단부, 및
    상기 진단 결과를 상기 클라이언트 단말에 전송하는 송신부
    를 포함하는 네트워크 기반 악성 코드 진단 서버.
  19. 제 18항에 있어서,
    상기 진단 과정에서 상기 파일에 관한 추가 데이터가 필요한 경우,
    상기 송신부는 상기 파일 중 필요한 부분의 위치 및 크기에 관한 정보를 전송함으로써 상기 클라이언트 단말에 상기 추가 데이터를 요청하고,
    상기 수신부는 상기 클라이언트 단말로부터 상기 추가 데이터를 전송 받으며,
    상기 진단부는 상기 추가 데이터를 참조하여 상기 파일의 바이러스 감염 여부를 재진단하는
    네트워크 기반 악성 코드 진단 서버.
  20. 제 18항에 있어서,
    상기 기본 검증 데이터는, 상기 파일의 일부의 CRC 정보, 상기 파일의 헤더, 상기 파일의 작성 날짜, 상기 파일의 EP 영역, 상기 파일의 뒷 부분, 상기 파일의 이름, 상기 파일의 크기, 상기 파일의 코드 시작 부분 중 어느 하나 이상을 포함하는
    네트워크 기반 악성 코드 진단 서버.
KR1020090035073A 2009-04-22 2009-04-22 네트워크 기반 악성 코드 진단 방법 및 진단 서버 KR101045870B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090035073A KR101045870B1 (ko) 2009-04-22 2009-04-22 네트워크 기반 악성 코드 진단 방법 및 진단 서버
PCT/KR2010/002475 WO2010123261A2 (ko) 2009-04-22 2010-04-20 네트워크 기반 악성 코드 진단 방법 및 진단 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090035073A KR101045870B1 (ko) 2009-04-22 2009-04-22 네트워크 기반 악성 코드 진단 방법 및 진단 서버

Publications (2)

Publication Number Publication Date
KR20100116393A true KR20100116393A (ko) 2010-11-01
KR101045870B1 KR101045870B1 (ko) 2011-07-01

Family

ID=43011598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035073A KR101045870B1 (ko) 2009-04-22 2009-04-22 네트워크 기반 악성 코드 진단 방법 및 진단 서버

Country Status (2)

Country Link
KR (1) KR101045870B1 (ko)
WO (1) WO2010123261A2 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218419B1 (ko) * 2010-11-09 2013-01-21 한양대학교 산학협력단 클라우드 보안 아키텍처를 사용한 스마트폰 바이러스 검출 방법 및 장치
CN103544035A (zh) * 2013-10-21 2014-01-29 北京奇虎科技有限公司 用于移动终端的应用清理方法及装置
WO2014168408A1 (ko) * 2013-04-11 2014-10-16 주식회사 안랩 클라우드 기반 악성코드 진단 장치, 시스템 및 방법
CN105488401A (zh) * 2014-12-15 2016-04-13 国家计算机网络与信息安全管理中心 基于概率差异的噪音信息清除方法及系统
KR20180055626A (ko) * 2016-11-16 2018-05-25 숭실대학교산학협력단 루팅 탐지 장치 및 방법, 이를 수행하기 위한 기록 매체
KR101965213B1 (ko) * 2018-07-31 2019-04-03 주식회사 업루트 화이트리스트 전사 관리를 통한 프로그램 실행 제어 시스템 및 방법
KR101968633B1 (ko) * 2018-08-27 2019-04-12 조선대학교산학협력단 실시간 최신 악성코드 및 침해 진단 서비스 제공 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088379B (zh) * 2011-01-24 2013-03-13 国家计算机网络与信息安全管理中心 基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置
CN103235913B (zh) * 2013-04-03 2016-12-28 北京奇虎科技有限公司 一种用于识别、拦截捆绑软件的系统、设备及方法
CN105335184B (zh) * 2014-08-07 2020-06-12 北京奇虎科技有限公司 应用安装的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
GB2366693B (en) * 2000-08-31 2002-08-14 F Secure Oyj Software virus protection
US6944772B2 (en) * 2001-12-26 2005-09-13 D'mitri Dozortsev System and method of enforcing executable code identity verification over the network
JP2007011628A (ja) * 2005-06-29 2007-01-18 Matsushita Electric Ind Co Ltd シグネチャ配布装置およびシグネチャ配布システム
KR101377014B1 (ko) * 2007-09-04 2014-03-26 삼성전자주식회사 면역 데이터베이스 기반의 악성코드 진단 방법 및 시스템
KR100954353B1 (ko) * 2008-03-10 2010-04-21 주식회사 안철수연구소 악성 코드명 제공 시스템 및 그 방법, 그리고 이에적용되는 서버

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218419B1 (ko) * 2010-11-09 2013-01-21 한양대학교 산학협력단 클라우드 보안 아키텍처를 사용한 스마트폰 바이러스 검출 방법 및 장치
WO2014168408A1 (ko) * 2013-04-11 2014-10-16 주식회사 안랩 클라우드 기반 악성코드 진단 장치, 시스템 및 방법
CN103544035A (zh) * 2013-10-21 2014-01-29 北京奇虎科技有限公司 用于移动终端的应用清理方法及装置
CN105488401A (zh) * 2014-12-15 2016-04-13 国家计算机网络与信息安全管理中心 基于概率差异的噪音信息清除方法及系统
KR20180055626A (ko) * 2016-11-16 2018-05-25 숭실대학교산학협력단 루팅 탐지 장치 및 방법, 이를 수행하기 위한 기록 매체
KR101965213B1 (ko) * 2018-07-31 2019-04-03 주식회사 업루트 화이트리스트 전사 관리를 통한 프로그램 실행 제어 시스템 및 방법
KR101968633B1 (ko) * 2018-08-27 2019-04-12 조선대학교산학협력단 실시간 최신 악성코드 및 침해 진단 서비스 제공 방법

Also Published As

Publication number Publication date
WO2010123261A2 (ko) 2010-10-28
KR101045870B1 (ko) 2011-07-01
WO2010123261A3 (ko) 2011-01-27

Similar Documents

Publication Publication Date Title
KR101045870B1 (ko) 네트워크 기반 악성 코드 진단 방법 및 진단 서버
US7676845B2 (en) System and method of selectively scanning a file on a computing device for malware
US7870394B2 (en) Method and system to scan firmware for malware
US8819835B2 (en) Silent-mode signature testing in anti-malware processing
US20190207966A1 (en) Platform and Method for Enhanced Cyber-Attack Detection and Response Employing a Global Data Store
JP6188704B2 (ja) ファジーホワイトリスト化アンチマルウェアシステムおよび方法
US9154517B2 (en) System and method for preventing spread of malware in peer-to-peer network
JP5483033B2 (ja) ネットワーク照会を利用した最適定義配信による集中型スキャナデータベース
WO2019133453A1 (en) Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US20100332593A1 (en) Systems and methods for operating an anti-malware network on a cloud computing platform
CN1808326A (zh) 使用部分映像散列确认可执行文件完整性的系统和方法
US20180234234A1 (en) System for describing and tracking the creation and evolution of digital files
US10860717B1 (en) Distributed system for file analysis and malware detection
US10091213B2 (en) Systems and methods to provide secure storage
WO2017211839A1 (en) Virus detection technologies benchmarking
US7225461B2 (en) Method for updating security information, client, server and management computer therefor
US7971257B2 (en) Obtaining network origins of potential software threats
Jang et al. Function‐Oriented Mobile Malware Analysis as First Aid
US8132258B1 (en) Remote security servers for protecting customer computers against computer security threats
CN112424778A (zh) 信息处理装置、信息处理方法、及信息处理程序
US8572731B1 (en) Systems and methods for blocking a domain based on the internet protocol address serving the domain
US10990676B1 (en) File collection method for subsequent malware detection
TW201543257A (zh) 結合雲端分析之防毒及防駭方法及系統
US11436331B2 (en) Similarity hash for android executables
WO2011074824A2 (ko) 시그니처 데이터베이스 업데이트 시스템 및 방법과 클라이언트 단말기의 데이터베이스 업데이트 장치

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: 20140627

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 9