KR101473658B1 - Apparatus and system for detecting malicious code using filter and method thereof - Google Patents

Apparatus and system for detecting malicious code using filter and method thereof Download PDF

Info

Publication number
KR101473658B1
KR101473658B1 KR1020130062184A KR20130062184A KR101473658B1 KR 101473658 B1 KR101473658 B1 KR 101473658B1 KR 1020130062184 A KR1020130062184 A KR 1020130062184A KR 20130062184 A KR20130062184 A KR 20130062184A KR 101473658 B1 KR101473658 B1 KR 101473658B1
Authority
KR
South Korea
Prior art keywords
diagnosis
application
filter
malicious code
diagnostic
Prior art date
Application number
KR1020130062184A
Other languages
Korean (ko)
Other versions
KR20140141801A (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 KR1020130062184A priority Critical patent/KR101473658B1/en
Publication of KR20140141801A publication Critical patent/KR20140141801A/en
Application granted granted Critical
Publication of KR101473658B1 publication Critical patent/KR101473658B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation

Landscapes

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

Abstract

본 발명에서는 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기 내의 모든 진단 대상 애플리케이션의 시그니처를 클라우드 서버로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 사전 진단 필터를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 자원 소모를 줄일 수 있다.In the present invention, in the diagnosis of the cloud-based malicious code, instead of sending the signatures of all the diagnostic applications in the portable terminal to the cloud server to request diagnosis of malicious code, You can speed up diagnostics and reduce network resource consumption by quickly diagnosing files and requesting diagnostics from the cloud server only for applications that are identified as malicious code through proactive diagnostic filters.

Description

필터를 이용한 클라우드 기반 악성코드 진단장치, 시스템 및 방법{APPARATUS AND SYSTEM FOR DETECTING MALICIOUS CODE USING FILTER AND METHOD THEREOF}FIELD OF THE INVENTION [0001] The present invention relates to a cloud-based malicious code diagnosis apparatus, system, and method using a filter,

본 발명은 모바일 환경의 클라우드 기반 악성코드 진단에 관한 것으로, 특히 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기 내의 모든 진단 대상 애플리케이션(application)의 시그니처(signature)를 클라우드 서버(cloud server)로 전송하여 악성코드(malicious code) 여부에 대한 진단을 의뢰하신 대신, 사전 진단 필터를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 자원 소모를 줄일 수 있도록 하는 필터를 이용한 클라우드 기반 악성코드 진단장치, 시스템 및 방법에 관한 것이다.
The present invention relates to a cloud-based malicious code diagnosis of a mobile environment, and more particularly, to a cloud-based malicious code diagnosis, in which the signatures of all diagnostic applications in a portable terminal are transmitted to a cloud server, Instead of asking for a diagnosis of malicious code, a pre-diagnosis filter is used to quickly diagnose normal files among the diagnostic applications, and a pre-diagnosis filter is used to detect malicious code And more particularly, to a cloud-based malicious code diagnosis apparatus, system, and method using a filter that improves the diagnostic speed and reduces network resource consumption by requesting diagnosis only to the cloud server.

근래에 들어, 유무선 인터넷뿐만 아니라 이동통신 기술의 발달로, 단순히 전화통화 기능 뿐만이 아닌 무선 인터넷 기능 등 다양한 기능을 갖춘 휴대폰, 스마트폰 등의 휴대용 단말기가 보급되고 있다. 특히 최근에 보급이 확산되고 있는 스마트폰(smartphone) 등의 휴대용 단말기는 멀티미디어 재생기능 등의 다양한 기능의 응용프로그램의 설치가 가능하여, 사용자들이 여러 용도로 스마트폰을 이용하고 있다. Recently, with the development of mobile communication technology as well as wired and wireless Internet, mobile terminals such as mobile phones and smart phones having various functions such as not only a phone call function but also a wireless Internet function are spreading. Particularly, portable terminals such as a smartphone, which is spreading in recent years, can install application programs of various functions such as a multimedia playback function and users are using smart phones for various purposes.

이러한 스마트폰 등의 휴대용 단말기는 예를들어 iOS, 안드로이드 등 저마다의 운영체제가 존재하며, 해당 운영체제에 의해 실행 가능한 애플리케이션의 개발이 활발히 이루어지고 있다.In such a portable terminal such as a smart phone, there are operating systems such as iOS and Android, and applications that can be executed by the operating system are actively developed.

한편, 위와 같이 스마트폰 등의 휴대용 단말기 사용자가 늘어남에 따라 휴대용 단말기를 타겟으로 하는 악성코드 또한 급격히 증가하고 있으며, 악성코드의 공격 수법도 다양해지고 있다. Meanwhile, as users of mobile terminals such as smart phones are increasing in number as described above, malicious codes targeting portable terminals are also rapidly increasing, and attack methods of malicious codes are also diversifying.

이에 따라, 위와 같은 휴대용 단말기를 타겟으로 하는 악성코드를 포함한 애플리케이션을 탐지하기 위해 여러 가지 악성코드 진단 방법들이 제안되고 있다.Accordingly, various malicious code diagnosis methods have been proposed in order to detect an application including a malicious code targeting the portable terminal.

위와 같은 휴대용 단말기에서의 악성코드 진단은 대부분은 휴대용 단말기에 모바일 애플리케이션 형태로 탑재되는 악성 코드 판별을 위한 시그니처 데이터를 가지는 진단 엔진을 통해 이루어지고 있으며, 시그니처 데이터를 업데이트 서버를 통해서 최신 버전으로 업데이트하는 구조를 가지고 있다.Most of the malicious code diagnosis in the portable terminal is performed through a diagnostic engine having signature data for identifying a malicious code mounted on a mobile terminal in the form of a mobile application, and the signature data is updated to the latest version through an update server Structure.

그러나, 최근 들어서는 모바일 악성코드의 기하급수적인 증가로 악성코드를 진단하기 위한 시그니처의 크기가 현저히 커짐에 따라, 휴대용 단말기의 제한적인 자원에 대처하고, 진단에 따른 성능 저하를 방지하기 위해 클라우드 기반의 악성코드 진단 방법이 제안되고 있다.However, since the signatures for diagnosing malicious codes have become significantly larger due to the exponential increase in mobile malicious codes in recent years, in order to cope with limited resources of portable terminals and to prevent performance degradation due to diagnosis, A malicious code diagnosis method has been proposed.

이와 같은 클라우드 기반의 악성코드 진단 시스템에서는 시그니처 데이터를 휴대용 단말기로 다운받지 않으며, 휴대용 단말기에서 악성코드 진단 대상의 시그니처를 추출하여 클라우드 서버로 전달하고, 대용량의 시그니처 정보를 저장하고 있는 클라우드 서버에서 휴대용 단말기로부터 요청된 각 시그니처에 대한 악성코드 여부를 진단하고 그 결과를 휴대용 단말기로 전송하는 구조를 가지고 있다.In such a cloud-based malicious code diagnosis system, the signature data is not downloaded to the portable terminal, the signature of the malicious code diagnosis target is extracted from the portable terminal, and the signature is transmitted to the cloud server. In the cloud server storing the large- And diagnoses the malicious code for each signature requested from the terminal and transmits the result to the portable terminal.

그러나, 위와 같은 종래 클라우드 기반의 악성코드 진단 시스템에서는 휴대용 단말기에서 모든 진단 대상 파일에 대해 시그니처를 추출하여 클라우드 서버로 전송하여 진단을 의뢰하게 됨으로써, 진단 시간이 지연되며, 네트워크 부하 등이 유발되는 문제점이 있었다.However, in the conventional cloud-based malicious code diagnosis system as described above, the signature is extracted from all the files to be diagnosed in the portable terminal and transmitted to the cloud server to request the diagnosis, thereby delaying the diagnosis time, .

또한, 이와 같은 네트워크 부하의 증가는 휴대용 단말기에서는 데이터 사용량 증가에 따른 과금 증가로 이어지는 문제점이 있으며, 최근 휴대용 단말기의 성능 및 저장용량의 증가로 인해 단일 단말기에 설치되는 진단 대상 또한 계속해서 증가하고 있어 데이터 사용량, 배터리 소모, 성능 저하, 검사 속도 저하 등 여러 가지 문제점이 유발되었다.
In addition, the increase in the network load causes a problem of an increase in billing due to an increase in data usage in a portable terminal, and the number of diagnostic objects installed in a single terminal is continuously increasing due to an increase in performance and storage capacity of a portable terminal Data usage, battery consumption, performance degradation, and inspection speed degradation.

(특허문헌)(Patent Literature)

대한민국 공개특허번호 10-2011-0045842호(공개일자 2011년 05월 04일)에는 클라우드 기반의 모바일 안티 멀웨어 서비스 방법에 관한 기술이 개시되어 있다.
Korean Patent Laid-Open No. 10-2011-0045842 (published on May 04, 2011) discloses a technique for a cloud-based mobile anti-malware service method.

따라서, 본 발명은 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기 내의 모든 진단 대상 애플리케이션의 시그니처를 클라우드 서버로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 사전 진단 필터를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 자원 소모를 줄일 수 있도록 하는 필터를 이용한 클라우드 기반 악성코드 진단장치, 시스템 및 방법을 제공하고자 한다.
Therefore, in the cloud-based malicious code diagnosis, instead of sending the signatures of all the diagnostic applications in the portable terminal to the cloud server and requesting diagnosis for malicious code, the diagnosis target application Quickly perform diagnostics on normal files and request diagnostics to the cloud server only for applications classified as malicious code through proactive diagnostic filters to improve diagnostics speed and reduce network resource consumption. The present invention provides a cloud-based malicious code diagnosis apparatus, system, and method using the same.

상술한 본 발명은 필터를 이용한 클라우드 기반 악성코드 진단 방법으로서, 사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하는 단계와, 상기 사전 진단 결과, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하는 단계와, 상기 클라우드 서버로부터 진단 결과를 수신하여 상기 악성코드로 의심되는 애플리케이션에 대한 진단 결과를 출력시키는 단계를 포함한다.The present invention described above is a cloud-based malicious code diagnosis method using a filter, in which a diagnosis target application in a portable terminal is subjected to proactive diagnosis to distinguish it from an application that is not a malicious code or an application suspected to be a malicious code Requesting the cloud server for a diagnosis of the application suspected of being malicious code as a result of the pre-diagnosis, receiving a diagnosis result from the cloud server, and outputting a diagnosis result of the malicious code suspicious application .

또한, 상기 사전 진단을 수행하는 단계는, 상기 진단 대상 애플리케이션으로부터 시그니처 정보를 추출하는 단계와, 상기 시그니처 정보를 상기 사전 진단 필터를 통해 검사하여 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 단계를 포함하는 것을 특징으로 한다.The step of performing the prognosis may further comprise the steps of extracting signature information from the diagnosis target application and examining the signature information through the prognosis filter to classify the application as a malicious code or an application suspected as a malicious code The method comprising the steps of:

또한, 상기 사전 진단 필터는, 상기 진단 대상 애플리케이션에 대한 사전진단 수행 시 정상 파일의 애플리케이션을 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터인 것을 특징으로 한다.The pre-diagnosis filter is a filter designed to prevent a false negative that misappropriates an application of a normal file as a malicious code when performing a pre-diagnosis for the diagnosis target application.

또한, 상기 사전 진단 필터는, 블룸(bloom) 필터인 것을 특징으로 한다.The prognostic filter may be a bloom filter.

또한, 본 발명은 필터를 이용한 클라우드 기반 악성코드 진단장치로서, 사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하고, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하는 진단부와, 상기 진단부로부터 악성 코드 의심으로 구분된 애플리케이션의 시그니처 정보를 상기 클라우드 서버로 전송하여 진단을 요청하고, 진단 결과를 수신하여 상기 진단부로 제공하는 클라우드 클라이언트부를 포함한다.According to another aspect of the present invention, there is provided a cloud-based malicious code diagnosis apparatus using a filter, wherein a diagnosis dictionary for distinguishing an application to be diagnosed in a portable terminal as an application other than a malicious code or an application suspected to be a malicious code A diagnostic unit for requesting a diagnosis of the application suspected of malicious code to the cloud server; and a signature requesting unit for sending diagnostic information to the cloud server by transmitting signature information of an application distinguished from the suspicious malicious code to the cloud server, And a cloud client unit for receiving and providing to the diagnosis unit.

또한, 상기 진단부는, 상기 진단 대상 애플리케이션으로부터 시그니처 정보를 추출하는 진단정보 추출부와, 상기 시그니처 정보를 상기 사전 진단 필터를 통해 검사하여 상기 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하는 사전 진단부와, 상기 사전 진단부를 통해 악성코드가 아닌 애플리케이션으로 구분된 애플리케이션에 대해서는 정상파일로 진단 결과를 출력하고, 상기 악성코드로 의심되는 애플리케이션에 대해서는 상기 클라우드 서버로 진단을 요청하여 진단 결과를 출력하는 검사부를 포함하는 것을 특징으로 한다.The diagnostic unit may further include: a diagnostic information extracting unit that extracts signature information from the application to be diagnosed; and a diagnostic information extracting unit that examines the signature information through the pre-diagnosis filter to determine whether the diagnostic application is an application that is not a malicious code or a malicious code And a diagnosis unit for outputting a diagnostic result to a normal file for an application classified as an application other than malicious code through the dictionary diagnosis unit, and for the application suspected to be malicious code, And an inspection unit for requesting diagnosis from the cloud server and outputting a diagnosis result.

또한, 상기 사전 진단부는, 상기 시그니처 정보에서 상기 사전 진단 필터의 생성시 사용된 해쉬함수의 개수에 대응되는 n개의 해쉬값을 추출하고, 추출된 해쉬값을 상기 사전 진단 필터를 통해 검사하여 상기 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션인지 또는 악성코드로 의심되는 애플리케이션인지를 구분하는 것을 특징으로 한다.The pre-diagnosis unit may extract n hash values corresponding to the number of hash functions used at the time of generation of the pre-diagnosis filter from the signature information, inspect the extracted hash value through the pre-diagnosis filter, And distinguishes whether the application is a non-malicious application or an application suspected to be malicious code for the target application.

또한, 상기 진단 장치는, 상기 사전 진단 필터에 대한 업데이트 사항이 발생하는 경우 상기 사전 진단 필터를 업데이트하는 필터 업데이트부를 더 포함하는 것을 특징으로 한다.The diagnostic apparatus may further include a filter update unit that updates the pre-diagnosis filter when an update to the pre-diagnosis filter occurs.

또한, 상기 사전 진단 필터는, 상기 진단 대상 애플리케이션에 대한 진단 수행 시 악성코드가 아닌 애플리케이션을 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터인 것을 특징으로 한다.The pre-diagnosis filter is a filter designed to prevent a false negative that misuses the application, which is not a malicious code, as a malicious code when performing a diagnosis on the diagnosis target application.

또한, 본 발명은 필터를 이용한 클라우드 기반 악성코드 진단 시스템으로서, 사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션인지 또는 악성코드로 의심되는 애플리케이션인지를 사전 진단하고, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하여 진단 결과를 출력하는 진단장치와, 상기 진단 장치로부터 진단 요청되는 상기 악성코드로 의심되는 애플리케이션의 시그니처 정보를 수신하여 해당 애플리케이션에 대한 진단을 수행하고, 진단 결과를 상기 진단 장치로 제공하는 상기 클라우드 서버를 포함한다.According to another aspect of the present invention, there is provided a system for diagnosing a cloud-based malicious code using a filter, the method comprising the steps of: pre-diagnosing whether or not the application to be diagnosed in the portable terminal is an application other than a malicious code or an application suspected to be a malicious code, A diagnostic device for requesting diagnosis from a cloud server for an application suspected to be malicious code and outputting a diagnosis result; and a diagnostic module for receiving the signature information of the application suspected of being malicious code requested for diagnosis from the diagnostic device, And provides the diagnosis result to the diagnostic apparatus.

또한, 상기 진단 시스템은, 상기 사전 진단 필터를 생성하여 상기 진단 장치에 제공하며, 상기 클라우드 서버로부터 새로이 진단된 악성코드에 대한 정보를 수신하여 상기 사전 진단 필터를 업데이트시키는 필터 생성장치를 더 포함하는 것을 특징으로 한다.The diagnostic system may further comprise a filter generation device for generating and providing the pre-diagnosis filter to the diagnostic device, and receiving the information on the newly diagnosed malicious code from the cloud server to update the pre-diagnosis filter .

또한, 상기 진단 장치는, 상기 진단 대상 애플리케이션으로부터 시그니처 정보를 추출하며, 상기 추출된 시그니처 정보에서 상기 사전 진단 필터의 생성시 사용된 해쉬함수의 개수에 대응되는 n개의 해쉬값을 추출하고, 추출된 해쉬값을 상기 사전 진단 필터를 통해 검사하여 상기 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 것을 특징으로 한다.The diagnostic apparatus may further include: extracting signature information from the diagnosis target application, extracting n hash values corresponding to the number of hash functions used in generating the pre-diagnosis filter from the extracted signature information, The hash value is checked through the prognosis filter to distinguish the application to be diagnosed as an application that is not a malicious code or an application that is suspected to be a malicious code.

또한, 본 발명은 휴대용 단말기에 탑재되는 진단장치와 클라우드 서버를 포함하는 클라우드 기반 악성코드 진단 시스템에서, 클라우드 기반 악성코드 진단 방법으로서, 상기 진단장치에서 사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션인지 또는 악성코드로 의심되는 애플리케이션인지를 사전 진단하는 단계와, 상기 진단장치에서 상기 사전 진단 결과, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하는 단계와, 상기 진단 요청한 상기 애플리케이션의 시그니처 정보를 상기 클라우드 서버에서 수신하여 상기 애플리케이션에 대한 악성코드 여부 진단을 수행하는 단계와, 상기 클라우드 서버에서 상기 애플리케이션에 대한 진단 결과를 상기 진단 장치로 제공하는 단계를 포함한다.
The present invention also provides a cloud-based malicious code diagnosis method in a cloud-based malicious code diagnosis system including a diagnostic device and a cloud server installed in a portable terminal, the method comprising the steps of: A step of pre-diagnosing whether the application is a malicious code or an application suspected to be a malicious code for the malicious code, and a step of requesting diagnosis to the cloud server for the application suspected to be malicious code as a result of the pre- Receiving a signature of the application requested for diagnosis from the cloud server and diagnosing whether or not the application is malicious code; and transmitting the diagnosis result to the diagnostic server It includes the step of providing a.

본 발명은 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기 내의 모든 진단 대상 애플리케이션의 시그니처를 클라우드 서버로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 사전 진단 필터를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 자원 소모를 줄일 수 있는 이점이 있다.
In the cloud-based malicious code diagnosis, instead of sending the signatures of all diagnostic applications in the portable terminal to the cloud server and requesting diagnosis of malicious code, Quickly perform diagnostics on files, and use diagnostics filters to request diagnostics from cloud servers only for applications that are identified as suspicious of malicious code. This has the benefit of speeding up diagnostics and reducing network resource consumption.

도 1은 본 발명의 실시예에 따른 필터를 이용한 클라우드 기반 악성코드 진단 시스템의 네트워크 구성도,
도 2는 본 발명의 실시예에 따른 필터를 구비한 휴대용 단말기의 진단장치의 상세 블록 구성도,
도 3은 본 발명의 실시예에 따른 클라우드 기반 악성코드 진단 시스템에서 필터를 이용한 악성코드 진단 동작 제어 흐름도.
1 is a network configuration diagram of a cloud-based malicious code diagnosis system using a filter according to an embodiment of the present invention;
FIG. 2 is a detailed block diagram of a diagnostic apparatus of a portable terminal having a filter according to an embodiment of the present invention;
3 is a flowchart of malicious code diagnosis operation control using a filter in a cloud-based malicious code diagnosis system according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the operation principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and these may be changed according to the intention of the user, the operator, or the like. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which may be executed by a processor of a computer or other programmable data processing apparatus, And means for performing the functions described in each step are created. These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible for the instructions stored in the block diagram to produce a manufacturing item containing instruction means for performing the functions described in each block or flowchart of the block diagram. Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.

도 1은 본 발명의 실시예에 따른 필터를 이용한 클라우드 기반 악성코드 진단 시스템의 네트워크 구성을 도시한 것이다.1 illustrates a network configuration of a cloud-based malicious code diagnosis system using a filter according to an embodiment of the present invention.

이하, 도 1을 참조하여, 필터를 이용한 클라우드 기반 악성코드 진단 시스템의 각 구성요소에서의 동작을 상세히 설명하기로 한다.Hereinafter, operation of each component of the cloud-based malicious code diagnosis system using a filter will be described in detail with reference to FIG.

먼저, 휴대용 단말기(100)는 다양한 애플리케이션(application)이 설치되어 있거나 다운로드(download)를 통해 새로운 애플리케이션의 설치가 가능한 사용자 단말장치를 말하는 것으로, 예를 들어, 스마트폰(smartphone), 테블릿(tablet) PC 등이 될 수 있다.First, the portable terminal 100 refers to a user terminal device in which various applications are installed or a new application can be installed through downloading. For example, a smartphone, a tablet, ) PC or the like.

이러한 휴대용 단말기(100)에는 위와 같이 휴대용 단말기(100)에 설치되어 있거나, 새로이 설치되는 애플리케이션에 대해 해당 애플리케이션이 악성코드(malicious code)인지 여부를 진단하기 위한 진단장치(104)가 탑재될 수 있다. The portable terminal 100 may be provided with a diagnostic device 104 installed in the portable terminal 100 or for newly installed applications to diagnose whether the application is a malicious code or not .

이때, 휴대용 단말기(100)에 탑재되는 진단장치(104)는 진단 대상 애플리케이션(102)에 대한 악성코드 여부 진단을 위한 사전 진단 필터(filter)(106)를 탑재. 하며, 사전 진단 필터(106)를 이용하여 휴대용 단말기(100) 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하여 정상 파일에 대해서는 빠른 진단을 수행한다. 또한, 사전 진단 수행 결과 악성 코드로 의심되는 것으로 구분된 애플리케이션에 대해서는 클라우드 서버(110)를 이용하여 클라우드 기반으로 진단을 수행한다.At this time, the diagnostic apparatus 104 mounted on the portable terminal 100 is equipped with a pre-diagnosis filter 106 for diagnosing whether or not the malicious code is to be applied to the diagnosis target application 102. [ And performs a preliminary diagnosis for distinguishing the application to be diagnosed in the portable terminal 100 as an application other than a malicious code or an application suspected to be a malicious code by using the preliminary diagnosis filter 106 to perform a quick diagnosis for a normal file do. In addition, the cloud server 110 performs diagnosis based on the cloud for applications classified as suspicious malicious codes as a result of the pre-diagnosis.

즉, 진단장치(104)는 사전 진단 수행 결과 악성 코드로 의심되는 것으로 구분된 애플리케이션에 대해서는 클라우드 서버(110)로 진단을 요청하고, 클라우드 서버(110)로부터 진단 결과를 수신하여 해당 애플리케이션에 대한 진단결과로 출력한다. That is, the diagnostic apparatus 104 requests diagnosis from the cloud server 110 for an application classified as a suspicious malicious code as a result of performing the pre-diagnosis, receives diagnosis results from the cloud server 110, Output as a result.

위와 같은 사전 진단 필터(106)는 악성코드의 해쉬(hash)값 정보를 압축시킨 형태로 생성된 것으로, 정상파일에 대해 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터를 말한다. 또한, 이러한 사전 진단 필터(106)는 악성코드의 리스트인 블랙리스트(blacklist)를 기반으로 작성된 확률 기반 자료 구로로서, 화이트리스트와는 달리 진단 대상 파일에 대해 확률 기반으로 악성코드일 가능성이 있는 파일을 필터링하도록 설계된 필터를 말한다.The above-described prognostic filter 106 is generated by compressing the hash value information of the malicious code, and is a filter designed to prevent a false negative from being misdiagnosed as malicious code for the normal file. The pre-diagnosis filter 106 is a probability-based data structure based on a blacklist, which is a list of malicious codes. Unlike the whitelist, the pre-diagnosis filter 106 is a file that is likely to be malicious code Quot; filter "

이때, 이러한 사전 진단 필터(106)는 배포 서버(130) 등으로부터 다운로드(download)되어 휴대용 단말기(100)내 진단장치(104)에 탑재될 수 있으며, false positive가 적게 발생하면서 트래픽(traffic) 발생은 최소화되도록 하는 포맷(format)으로 구성될 수 있다. 이때, 위 false positive라 함은 악성코드가 포함된 애플리케이션에 대해 사전 진단 필터(106)가 악성파일로 진단하지 못하는 경우를 나타낸다. 또한, 사전 진단 필터(106)에서 사용되는 해쉬함수(hash function)는 필터 생성장치(120)와 진단장치(104)가 임의의 해쉬 함수를 미리 공유하는 방식으로 구현될 수 있으며, 사전 진단 필터(106)의 배포시 해쉬 함수를 함께 배포하는 방법으로 구현도 가능하다.At this time, the pre-diagnosis filter 106 may be downloaded from the distribution server 130 or the like and loaded in the diagnostic device 104 in the portable terminal 100. When the false positive is low, May be configured in a format that minimizes. Here, the above false positive indicates a case where the prognosis filter 106 can not diagnose the malicious file for an application containing the malicious code. The hash function used in the prognosis filter 106 may also be implemented in such a way that the filter generation device 120 and the diagnostic device 104 pre-share any hash function, 106) can be implemented by distributing a hash function together.

즉, 본 발명의 실시예로 구현되는 진단장치(104)에서는 모든 진단 대상 애플리케이션(102)의 시그니처(signature)를 클라우드 서버(cloud server)(110)로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 위와 같은 사전 진단 필터(106)를 통해 1차적으로 진단 대상 애플리케이션(102) 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터(106)를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버(110)로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 부담을 경감시키게 된다.That is, in the diagnostic apparatus 104 implemented in the embodiment of the present invention, the signatures of all the diagnostic applications 102 are transmitted to the cloud server 110 to request diagnosis of malicious code Instead, it is possible to quickly diagnose the normal file among the diagnostic applications 102 primarily through the above-described prognosis filter 106, and to use the prognosis filter 106 for applications classified as suspicious malicious code The diagnosis speed is improved and the burden on the network is reduced by requesting the diagnosis to the cloud server 110 only.

클라우드 서버(110)는 악성코드에 대한 대용량의 시그니처 정보를 저장하고 있는 시그니처 DB(112) 등을 구비하여 진단 요청되는 애플리케이션에 대한 악성코드 여부를 진단하는 서버로서, 인터넷 등의 통신망을 통해 클라우드 클라이언트(cloud client)로 동작하는 휴대용 단말기(100)와 연결될 수 있으며, 휴대용 단말기(100)로부터 악성코드 진단이 요청되는 애플리케이션에 대해 휴대용 단말기(100)를 대신하여 진단을 수행하고 진단 결과를 통신망을 통해 해당 휴대용 단말기(100)로 제공한다.The cloud server 110 is a server for diagnosing malicious code for an application requested to be diagnosed by having a signature DB 112 that stores a large amount of signature information on malicious code and is provided with a cloud client the mobile terminal 100 may be connected to the mobile terminal 100 as a cloud client and may perform diagnosis on behalf of the portable terminal 100 for an application for which malicious code diagnosis is requested from the portable terminal 100, To the portable terminal (100).

또한, 클라우드 서버(110)는 휴대용 단말기(100)로부터 진단 요청된 애플리케이션 중 악성코드로 진단되거나, 시그니처 DB(112)에 새로이 추가되는 악성코드가 발생하는 경우 이에 대한 정보를 사전 진단 필터(106)를 생성하는 필터 생성장치(120)로 제공할 수 있다. 이러한 클라우드 서버(110)는 악성코드에 대한 진단 엔진을 제공하는 다수의 안티 바이러스(anti-virus) 엔진 제작 회사 등에 의해 운용되는 서버일 수 있다. When the malicious code is diagnosed as malicious code among applications requested to be diagnosed from the portable terminal 100 or malicious code newly added to the signature DB 112 is generated, the cloud server 110 transmits information about the malicious code to the diagnosis filter 106. [ To the filter generating apparatus 120 that generates the filter. The cloud server 110 may be a server operated by a plurality of anti-virus engine manufacturers or the like that provide a diagnostic engine for malicious code.

필터 생성장치(120)는 휴대용 단말기(100)에 탑재되는 사전 진단 필터(106)를 생성하는 장치로, 생성한 사전 진단 필터(106)를 직접 또는 배포서버(130) 등을 통해 해당 휴대용 단말기(100)로 다운로드하여 줄 수 있다. 또한, 필터 생성장치(120)는 클라우드 서버(110)와 통신망을 통해 연결되어 상호 연동되며, 클라우드 서버(110)로부터 새로이 진단되거나 추가된 악성코드에 대한 정보를 수신하는 경우 사전 진단 필터(106)를 업데이트(update)시키고, 이와 같이 업데이트된 필터에 대해서는 해당 휴대용 단말기(100)로 제공하여 휴대용 단말기(100)에 설치된 사전 진단 필터(106)가 업데이트될 수 있도록 한다.The filter generation apparatus 120 generates a prognosis filter 106 to be installed in the portable terminal 100 and transmits the generated prognosis filter 106 directly to the corresponding portable terminal 100 via the distribution server 130, 100). The filter generating device 120 is connected to the cloud server 110 via a communication network and interworked with the cloud server 110. When receiving information on malicious code newly diagnosed or added from the cloud server 110, And updates the pre-diagnosis filter 106 installed in the portable terminal 100 by providing the updated filter to the corresponding portable terminal 100. [

또한, 필터 생성장치(120)는 위와 같은 사전 진단 필터(106)가 false positive와 트래픽 발생이 최소화되도록 하는 포맷으로 구성되도록 해쉬 개수와 비트맵 사이즈(bitmap size) 등을 계산하여 설계할 수 있다. 이와 같은 사전 진단 필터(106)의 생성방법에 따라서 false positive rate이 결정되며, false positive rate에 따라서 본 발명에서 달성하고자 하는 사전 진단 필터(106)의 성능 개선 정도가 결정될 수 있다. In addition, the filter generation device 120 can be designed by calculating a hash number, a bitmap size, and the like so that the pre-diagnosis filter 106 is configured in a format that minimizes false positives and traffic generation. The false positive rate is determined according to the generation method of the prognostic filter 106 and the degree of improvement of the prognostic filter 106 to be achieved in the present invention can be determined according to the false positive rate.

이때, 위와 같은 사전 진단 필터(106)는 예를 들어 블룸(bloom) 필터가 될 수 있으며, 이하에서는 블룸필터의 예를 들어 false positive rate이 정해지는 경우 비트맵 사이즈와 해쉬 함수의 개수를 계산하는 과정에 대해 간단히 설명하기로 한다.In this case, the pre-diagnosis filter 106 may be, for example, a bloom filter. Hereinafter, when a false positive rate is determined for a bloom filter, for example, the bitmap size and the number of hash functions are calculated The process will be briefly described below.

먼저, 예를 들어 비트맵 사이즈가 m, 엔트리(entry)의 개수는 n, 해쉬 함수의 개수는 k라고 가정하는 경우 해쉬 함수를 통해서 비트맵내의 어떤 비트값이 "1"로 셋팅될 확률은

Figure 112013048456498-pat00001
과 같으며, 어떤 비트값이 "1"로 셋팅되지 않았을 확률은
Figure 112013048456498-pat00002
과 같다.First, for example, assuming that the bitmap size is m, the number of entries is n, and the number of hash functions is k, the probability that any bit value in the bitmap is set to "1" through the hash function is
Figure 112013048456498-pat00001
, And the probability that a certain bit value is not set to "1 "
Figure 112013048456498-pat00002
Respectively.

이때, k개의 해쉬 함수를 사용했을 때의 확률은

Figure 112013048456498-pat00003
와 같으며, n개의 엔트리에 대해서의 확률은
Figure 112013048456498-pat00004
과 같고, 이와 같은 경우 어떤 비트값이 "1"로 셋팅되었을 확률은
Figure 112013048456498-pat00005
과 같다.In this case, the probability of using k hash functions is
Figure 112013048456498-pat00003
, And the probability for n entries is
Figure 112013048456498-pat00004
, And in such a case the probability that a certain bit value is set to "1 "
Figure 112013048456498-pat00005
Respectively.

즉, 임의의 멤버가 아닌 엔트리에 대하여 k개의 해쉬 함수를 테스트하여 모두 "1"로 셋팅되었을 false positive rate은 아래의 [수학식 1]과 계산될 수 있다.That is, if k hash functions are tested for an entry that is not an arbitrary member, a false positive rate that is set to "1 " can be calculated by Equation (1) below.

Figure 112013048456498-pat00006
Figure 112013048456498-pat00006

따라서, 위와 같은 [수학식1]을 이용해서 역으로 원하는 false positive rate에 따른 m 값과 k 값을 유추할 수 있다. 이때 k값이 높으면 휴대용 단말기(100)의 cpu(central processing unit) 타임을 소모하는 대신에 m 값 즉, 필터(106)의 사이즈를 줄일 수 있고, m값을 높이면 k값 즉 cpu 타임 소모를 줄일 수 있는 trade-off 관계임을 주의하여야 한다. 이와 같이, 결정된 false positive rate에 따라서 필터(106)를 통과하여 네트워크 자원을 소모하는 부하의 양을 조절할 수 있다. Therefore, the m value and the k value according to the desired false positive rate can be inferred using Equation (1) above. In this case, if the k value is high, the m value, that is, the size of the filter 106 may be reduced instead of consuming the central processing unit (CPU) time of the portable terminal 100. If the value of m is increased, It should be noted that this is a trade-off relationship. In this manner, the amount of load consuming network resources can be controlled through the filter 106 according to the determined false positive rate.

도 2는 본 발명의 실시예에 따른 휴대용 단말기(100)의 진단장치(104)의 상세 블록 구성을 도시한 것으로, 필터 업데이트부(210), 진단부(220), 클라우드 클라이언트부(230) 등을 포함할 수 있다.2 is a detailed block diagram of the diagnostic device 104 of the portable terminal 100 according to an embodiment of the present invention. The filter updating unit 210, the diagnosis unit 220, the cloud client unit 230, and the like . ≪ / RTI >

이하, 도 2를 참조하여 본 발명의 진단장치(104) 각부에서의 동작을 상세히 살펴보기로 한다.Hereinafter, the operation of each part of the diagnostic apparatus 104 of the present invention will be described in detail with reference to FIG.

먼저, 필터 업데이트부(210)는 진단 대상 애플리케이션(102)에 대한 악성코드 여부 사전 진단을 위해 진단 장치(104)에 탑재되는 사전 진단 필터(filter)(106)를 업데이트한다. 이때, 사전 진단 필터(106)를 업데이트함에 있어서, 필터 업데이트부(210)는 필터 생성장치(120)로부터 사전 진단 필터(106)에 대한 업데이트 정보를 수신하는 경우 필터 생성장치(120)로부터 업데이트된 필터를 다운로드 받아 사전 진단부(220)내 이전 설치된 사전 진단 필터(106)를 업데이트시킬 수 있다. 또는, 사전 진단 필터(106)에 대한 업데이트 사항이 발생하는 경우, 클라우드 서버(110)를 통해 업데이트된 새로운 사전 진단 필터를 수신하거나, 또는 업데이트된 일부 필터 데이터를 수신하여 사전 진단 필터(106)를 업데이트시킬 수도 있다.First, the filter update unit 210 updates a pre-diagnosis filter (filter) 106 mounted on the diagnostic apparatus 104 for pre-diagnosis of malicious code for the diagnostic application 102. At this time, in updating the prognosis filter 106, the filter update unit 210 may update the prognosis filter 106 from the filter generation apparatus 120 when receiving the update information for the prognosis filter 106 from the filter generation apparatus 120 The filter may be downloaded to update the pre-diagnosis filter 106 installed in the pre-diagnosis unit 220. Alternatively, if an update to the prognostic filter 106 occurs, it may receive a new pre-diagnostic filter updated via the cloud server 110, or may receive some updated filter data, It can also be updated.

진단부(220)는 사전 진단 필터(106)를 이용하여 휴대용 단말기(100)내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하고, 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버(110)로 진단을 요청한다.The diagnosis unit 220 performs a prognosis for distinguishing the application to be diagnosed in the portable terminal 100 as a non-malicious application or an application suspected to be a malicious code by using the prognosis filter 106, For the suspicious application, the cloud server 110 requests diagnosis.

이때, 진단부(220)는 사전 진단 필터(106)를 통해 악성코드가 아닌 애플리케이션으로 구분된 애플리케이션에 대해서는 정상 파일로 진단 결과를 출력한다. 또한, 사전 진단 필터(106)를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서는 해당 애플리케이션의 시그니처 정보를 클라우드 클라이언트부(cloud client)(230)를 통해 클라우드 서버(110)로 전송하여 악성코드 여부에 대한 진단을 요청한 후, 클라우드 서버(110)로부터 진단 결과를 수신하여 악성코드로 의심되는 애플리케이션에 대한 진단 결과를 출력시키게 된다.At this time, the diagnosis unit 220 outputs a diagnosis result to a normal file for an application classified as an application other than a malicious code through the prognosis filter 106. [ In addition, for an application classified as suspicious malicious code through the pre-diagnosis filter 106, signature information of the application is transmitted to the cloud server 110 via the cloud client 230, And then receives a diagnosis result from the cloud server 110 and outputs a diagnosis result for the suspected malicious code application.

즉, 진단부(220)에서는 모든 진단 대상 애플리케이션의 시그니처를 클라우드 서버(110)로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 위와 같은 사전 진단 필터(106)를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일의 애플리케이션에 대해서 빠르게 진단을 수행하고, 사전 진단 필터(106)를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버(110)로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 부담을 경감시키게 된다. 이때, 위와 같은 사전 진단 필터(106)는 악성코드의 해쉬값 정보를 압축시킨 형태로 생성된 것으로, 정상파일에 대해 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터이며, 예를 들어 블룸 필터 등이 될 수 있다. That is, the diagnostic unit 220 transmits the signatures of all the diagnostic applications to the cloud server 110, instead of requesting diagnosis of malicious code, It is possible to quickly diagnose an application in a normal file and to increase the diagnostic speed by requesting diagnosis to the cloud server 110 only for applications classified as malicious code through the prognosis filter 106, . At this time, the above-described prognostic filter 106 is generated in a compressed version of the hash value information of the malicious code, and is designed so as not to cause a false negative to be misjudged as a malicious code for a normal file. For example, And the like.

한편, 위와 같은 진단부(220)는 진단정보 추출부(222)와 사전 진단부(223)와 검사부(224) 등으로 이루어질 수 있다.The diagnosis unit 220 may include a diagnosis information extraction unit 222, a diagnosis unit 223, an inspection unit 224, and the like.

진단정보 추출부(222)는 진단 대상 애플리케이션(102)으로부터 시그니처 정보를 추출한다. 이때, 애플리케이션(102)으로부터 추출되는 위와 같은 시그니처 정보는 예를 들어 휴대용 단말기(100)의 OS(operating system)가 안드로이드(android) 인 경우에는 애플리케이션의 설치파일인 APK 파일내 애플리케이션의 동작 권한 등의 내용을 포함하고 있는 androidmanifest.xml 파일, 또는 코드를 포함하고 있는 classes.dex 파일, 또는 resource.arsc 파일 등이 될 수 있으며, 휴대용 단말기(100)의 OS가 iOS 인 경우에는 iOS의 앱파일인 IPA 파일내 Code Binery File 등이 될 수 있다. The diagnostic information extracting unit 222 extracts signature information from the diagnostic application 102. [ In this case, the signature information extracted from the application 102 may include, for example, the operating rights of the application in the APK file, which is the installation file of the application, when the OS (operating system) of the portable terminal 100 is android Android.manifest.xml file containing the contents, classes.dex file containing the code, resource.arsc file, or the like, and when the OS of the portable terminal 100 is iOS, the iOS application file IPA File Binary File in the file.

사전 진단부(223)는 진단정보 추출부(222)로부터 추출된 진단 대상 애플리케이션(102)의 시그니처 정보에 대해 사전 진단 필터(106)를 통해 사전 진단을 수행하여 각각의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하고, 사전 진단 결과를 검사부(224)로 제공한다. 이때, 사전 진단부(223)는 사전 진단 필터(106)를 이용하여 위와 같은 애플리케이션(102)에 대해 사전 진단을 수행함에 있어서, 예를 들어 시그니처 정보에서 사전 진단 필터(106)의 생성시 사용된 해쉬함수의 개수에 대응되는 n개의 해쉬값을 추출하고, 추출된 해쉬값을 사전 진단 필터(106)를 통해 검사하여 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하게 된다.The pre-diagnosis unit 223 performs pre-diagnosis on the signature information of the diagnosis target application 102 extracted from the diagnosis information extracting unit 222 through the pre-diagnosis filter 106 and generates a malicious code , And provides the results of the pre-diagnosis to the examination unit (224). At this time, the pre-diagnosis unit 223 uses the pre-diagnosis filter 106 to perform the pre-diagnosis for the application 102 as described above. For example, in the signature information, N hash values corresponding to the number of hash functions are extracted, and the extracted hash value is examined through the prognosis filter 106 to classify the application as a malicious code or an application suspected to be malicious code.

검사부(224)는 사전 진단부(223)를 통해 악성코드가 아닌 애플리케이션으로 구분된 애플리케이션에 대해서는 정상파일로 진단 결과를 출력하고, 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서는 클라우드 클라이언트부(230)를 통해 클라우드 서버(110)로 진단을 요청하고 진단 결과를 수신 받아 진단 결과를 출력한다. The inspection unit 224 outputs a diagnosis result to a normal file for an application classified as an application other than a malicious code through the prognosis unit 223 and outputs the diagnosis result to the cloud client unit 230 for an application classified as a malicious code. To the cloud server 110, receives the diagnosis result, and outputs the diagnosis result.

클라우드 클라이언트부(230)는 검사부(224)로부터 악성 코드 여부 진단이 의뢰되는 해당 애플리케이션의 시그니처 정보를 클라우드 서버(110)로 전송하여 진단을 요청하고, 진단 결과를 수신하여 검사부(224)로 제공한다.The cloud client unit 230 transmits signature information of the application for which malicious code is requested to be inspected from the inspection unit 224 to the cloud server 110 to request diagnosis, and receives the diagnosis result and provides the diagnosis result to the inspection unit 224 .

도 3은 본 발명의 실시예에 따른 필터를 이용한 클라우드 기반 악성코드 진단 방법의 동작 제어 흐름을 도시한 것이다. 이하, 도 1, 도 2 및 도 3을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.FIG. 3 is a flowchart illustrating an operation control process of a cloud-based malicious code diagnosis method using a filter according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 3. FIG.

먼저, 휴대용 단말기(100)내 탑재된 진단장치(104)의 진단정보 추출부(222)에서는 휴대용 단말기(100) 내의 모든 진단 대상 애플리케이션(102)에 대해 각각의 애플리케이션으로부터 시그니처 정보를 추출한다(S300). First, the diagnostic information extracting unit 222 of the diagnostic apparatus 104 installed in the portable terminal 100 extracts signature information from each application for all the diagnostic applications 102 in the portable terminal 100 (S300 ).

이어, 사전 진단부(223)는 위와 같이 진단 대상 애플리케이션(102)으로부터 추출한 시그니처 정보에서 사전 진단 필터(106)의 생성시 사용된 해쉬함수의 개수에 대응되는 n개의 해쉬값을 추출한다(S302).Next, the pre-diagnosis unit 223 extracts n hash values corresponding to the number of hash functions used in generating the pre-diagnosis filter 106 from the signature information extracted from the diagnosis target application 102 as described above (S302) .

그런 후, 사전 진단부(223)는 추출된 해쉬값을 사전 진단 필터(106)를 통해 검사하여 휴대용 단말기(100) 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행한다(S304).Then, the pre-diagnosis unit 223 examines the extracted hash value through the prognosis filter 106 and divides it into an application that is not a malicious code or an application suspected to be a malicious code for the diagnostic application in the portable terminal 100 (S304).

이때, 위와 같은 사전 진단 필터(106)는 악성코드의 해쉬값 정보를 압축시킨 형태로 생성된 것으로, 정상파일에 대해 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터이며, 예를 들어 블룸필터 등이 될 수 있다. 또한, 이러한 사전 진단 필터(106)는 배포 서버(130) 등으로부터 다운로드되어 휴대용 단말기(100)내 사전 진단부(223)에 탑재될 수 있으며, false positive가 적게 발생하면서 트래픽 발생은 최소화되도록 하는 포맷으로 설계될 수 있다. At this time, the above-described prognostic filter 106 is generated in a compressed version of the hash value information of the malicious code, and is designed so as not to cause a false negative to be misjudged as a malicious code for a normal file. For example, And the like. The pre-diagnosis filter 106 may be downloaded from the distribution server 130 or the like and loaded in the pre-diagnosis unit 223 in the portable terminal 100. In this case, . ≪ / RTI >

또한, 이러한 사전 진단 필터(106)는 업데이트 사항이 발생하는 경우 새로운 사전 진단 필터로 교체되거나 업데이트 데이터가 반영되도록 업데이트가 수행되어 최신의 필터로 유지되도록 구현될 수 있다.In addition, such a pre-diagnosis filter 106 can be implemented such that, when an update occurs, it is replaced with a new pre-diagnosis filter, or an update is performed so that the update data is reflected so as to be kept as the latest filter.

위와 같은 사전 진단 필터(106)의 업데이트에 있어서는 필터 업데이트부(210)가 필터 생성장치(120)로부터 필터(106)에 대한 업데이트 정보를 수신하는 경우 필터 생성장치(120)로부터 업데이트된 필터를 다운로드 받아 사전 진단부(220)내 이전 설치된 사전 진단 필터(106)를 업데이트시킬 수 있으며, 또는 클라우드 서버(110)를 통해 업데이트된 새로운 사전 진단 필터를 수신하거나, 업데이트된 일부 필터 데이터를 수신하여 사전 진단 필터(106)를 업데이트시킬 수도 있다.In updating the above-described prognostic filter 106, when the filter update unit 210 receives the update information for the filter 106 from the filter generation apparatus 120, the updated filter is downloaded from the filter generation apparatus 120 Receive the updated pre-diagnosis filter through the cloud server 110, or receive some updated filter data to perform the pre-diagnosis The filter 106 may be updated.

이어, 다시 위 도 3의 동작 제어 흐름의 설명을 계속하면, 위와 같은 사전 진단 필터(106)를 이용한 사전 진단 결과, 진단 대상 애플리케이션(102)이 악성코드가 아닌 애플리케이션으로 구분되는 경우(S306), 검사부(224)는 진단 수행된 해당 애플리케이션이 정상 파일임을 표시시킨다(S308).Continuing with the description of the operation control flow of Fig. 3 again, if the diagnosis target application 102 is identified as an application other than a malicious code (S306) as a result of the pre-diagnosis using the above-described pre-diagnosis filter 106, The checking unit 224 displays that the diagnosed application is a normal file (S308).

그러나, 진단 대상 애플리케이션(102)이 사전 진단 필터(106)를 이용한 사전 진단 결과, 악성코드로 의심되는 애플리케이션으로 구분되는 경우(S306), 검사부(224)는 해당 애플리케이션을 클라우드 클라이언트부(230)를 통해 클라우드 서버(110)로 전송하여 클라우드 서버(110)에서의 악성코드 진단을 요청한다(S310).However, if the diagnosis target application 102 is classified as an application suspected of being a malicious code as a result of pre-diagnosis using the pre-diagnosis filter 106 (S306), the examination unit 224 sends the application to the cloud client unit 230 To the cloud server 110 to request diagnosis of the malicious code in the cloud server 110 (S310).

이에 따라, 클라우드 클라이언트부(230)는 해당 애플리케이션의 시그니처 정보를 클라우드 서버(110)로 전송하여 악성코드 여부에 대한 진단을 요청한 후, 클라우드 서버(110)로부터 진단 결과를 수신하여 악성코드 여부에 대한 진단 결과를 검사부(224)로 제공한다.Accordingly, the cloud client unit 230 transmits the signature information of the application to the cloud server 110 to request diagnosis of the malicious code, and then receives the diagnosis result from the cloud server 110, And provides the diagnosis result to the checking unit 224. [

이에 따라, 검사부(224)는 클라우드 클라이언트부(230)로부터 제공되는 악성코드로 의심된 해당 애플리케이션의 진단 결과를 수신하고(S312), 진단 결과를 기반으로 악성코드가 아닌 경우(S314) 해당 애플리케이션을 정상파일로 진단하고(S308), 악성코드인 경우(S314) 해당 애플리케이션을 악성파일로 진단한다(S316). Accordingly, the checking unit 224 receives the diagnosis result of the corresponding application suspected of malicious code provided from the cloud client unit 230 (S312), and if the malicious code is not malicious code based on the diagnosis result (S314) The normal file is diagnosed (S308), and if it is the malicious code (S314), the application is diagnosed as a malicious file (S316).

즉, 본 발명의 진단장치(104)에서는 모든 진단 대상 애플리케이션의 시그니처를 클라우드 서버(110)로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 위와 같은 사전 진단 필터(106)를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터(106)를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버(110)로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 부담을 경감시키게 된다.That is, in the diagnostic device 104 of the present invention, instead of sending the signatures of all the diagnostic applications to the cloud server 110 and requesting diagnosis of malicious code, It is possible to quickly diagnose the normal file among the diagnostic applications and to improve the diagnostic speed by requesting the diagnosis to the cloud server 110 only for applications classified as malicious code through the prognosis filter 106, Thereby reducing the burden.

이때, 위와 같은 사전 진단 필터를 이용하여 악성코드에 대한 사전 진단을 수행하는 경우 휴대용 단말기에서 기대되는 진단속도 향상과 네트워크 부담 감소에 대해 실험적인 수치를 예를 들어 설명하면 하기와 같다.Hereinafter, an experimental value for improving the diagnosis speed and reducing the network burden expected in the portable terminal when performing the prognosis of the malicious code using the above-mentioned pre-diagnosis filter will be described as an example.

일반적으로, 스마트폰 등의 휴대용 단말기(100) 내의 애플리케이션 파일을 포함한 전체 파일에 대한 악성코드 여부 정밀 검사를 수행한다고 가정하는 경우, 검사할 파일은 적게는 200여개에서 많게는 5000여개 정도에 해당한다고 볼 수 있다. Generally, when it is assumed that a malicious code is closely inspected for all files including an application file in the portable terminal 100 such as a smart phone, the number of files to be examined is as few as 200 to as many as about 5000 .

이때, 대략 진단 대상 파일의 수가 3000여개 라하고, 통신망상 클라우드 서버(110)를 이용한 검사 시 1개의 파일당 20바이트(byte)의 시그니처 정보를 클라우드 서버(110)로 전송한다고 가정하면, 휴대용 단말기(100)로부터 클라우드 서버(110)로 대략 60000바이트(58.6Kbyte) 정도의 데이터가 전송되어야 하고, 또한, 매 파일의 진단 시마다 클라우드 서버(110)에게 시그니처를 전달한 후 그 진단결과를 얻어오기 위해 대기하여야 함에 따라 모바일 네트워크(mobile network)의 특성상 특정상황에서 속도저하 및 연결 불안정 문제가 발생할 수 있다.Assuming that the number of files to be diagnosed is roughly 3000 and the signatures of 20 bytes per file are transmitted to the cloud server 110 upon examination using the cloud server 110 on the communication network, Data of about 60000 bytes (58.6 Kbytes) should be transmitted from the server 100 to the cloud server 110. In addition, after the signature is transmitted to the cloud server 110 at the time of diagnosis of each file, It is possible to cause a speed reduction and a connection instability problem in a specific situation due to the characteristics of a mobile network.

한편, 일반적인 휴대용 단말기(100)에는 악성파일이 존재할 확률이 극히 낮다. 즉, 전체 검사 대상 파일 중 거의 대부분은 정상파일이며, 대부분의 휴대용 단말기(100)는 하나의 악성파일도 없을 확률이 더 높다.On the other hand, the probability that a malicious file exists in a general portable terminal 100 is extremely low. That is, almost all of the files to be inspected are normal files, and most of the portable terminals 100 are more likely not to have one malicious file.

따라서, 본 발명에서와 같이 모든 진단 대상 파일에 대해 클라우드 서버(110)로 전송하여 진단을 요청하기 전에 휴대용 단말기(100)에 탑재되는 사전 진단 필터(106)를 이용하여 정상 파일에 대해서는 빠르게 사전 진단을 수행하고, 악성코드가 의심되는 false positive가 발생된 애플리케이션 파일에 대해서만 클라우드 서버(110)로 진단을 요청하도록 한다면 휴대용 단말기(100)에서의 진단 속도를 향상시키며, 네트워크 부담 또한 경감시킬 수 있을 것으로 기대된다.Therefore, as in the present invention, all the diagnosis object files are transmitted to the cloud server 110 and used for diagnosis beforehand by using the pre-diagnosis filter 106 mounted on the portable terminal 100, If the cloud server 110 requests the diagnosis of only the application file in which the false positive suspicious malicious code is generated, the diagnostic speed in the portable terminal 100 can be improved and the network load can be reduced It is expected.

즉, 예를 들어 사전 진단 필터(106)에서의 false positive 확률이 1%라고 하면, 전체 3000여개 파일 중 대략 30여개 파일만이 실제로 클라우드 서버(110)로 전송되어 진단이 의뢰될 것으로 기대가 되며, 이를 위해서는 단지 600바이트의 네트워크 자원이 필요하게 되므로, 진단을 위한 네트워크 자원의 소모를 크게 방지시킬 수 있다.For example, if the probability of false positives in the prognostic filter 106 is 1%, it is expected that only about thirty of all 3000 files will be actually sent to the cloud server 110 for diagnosis , Only 600 bytes of network resources are required for this purpose, so that consumption of network resources for diagnosis can be greatly prevented.

또한, 클라우드 서버(110)로 의뢰해서 결과를 수신하는 과정에서 모바일 네트워크의 특성상 발생이 가능한 대기시간이나 네트워크 불안정 상황에 대한 영향 또한 1%로 줄어들게 된다. 또한, 네트워크 사용량이 줄어드는 것에 더해서 클라우드 서버(110)를 사용함으로 해서 발생할 수 있는 속도적인 문제에서도 사전 진단을 수행하는 사전 진단 필터(106)의 false positive 확률인 1%로 비용이 줄어 들게 될 것이 기대 된다.Also, in the process of receiving the result by requesting to the cloud server 110, the influence on the standby time or network unstable situation that can occur due to the nature of the mobile network is also reduced to 1%. It is also expected that the cost will be reduced to 1%, which is the false positive probability of the prognosis filter 106 that performs the prognosis, even in the case of the speed problem that may be caused by using the cloud server 110 in addition to the decrease in network usage do.

상기한 바와 같이, 클라우드 기반 악성코드 진단에 있어서, 휴대용 단말기 내의 모든 진단 대상 애플리케이션의 시그니처를 클라우드 서버로 전송하여 악성코드 여부에 대한 진단을 의뢰하신 대신, 사전 진단 필터를 통해 1차적으로 진단 대상 애플리케이션 중 정상 파일에 대해서 빠르게 진단을 수행하고, 사전 진단 필터를 통해 악성코드로 의심되는 것으로 구분된 애플리케이션에 대해서만 클라우드 서버로 진단을 요청함으로써 진단속도를 향상시키고, 네트워크 자원 소모를 줄일 수 있다.As described above, in the cloud-based malicious code diagnosis, instead of sending the signatures of all the diagnostic applications in the portable terminal to the cloud server to request diagnosis of malicious code, the diagnosis target application It can speed up the diagnosis and reduce network resource consumption by performing a quick diagnosis for normal normal files and requesting diagnosis to the cloud server only for applications classified as malicious code through the pre-diagnosis filter.

한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.

100 : 휴대용 단말기 102 : 애플리케이션
104 : 진단 장치 106 : 사전 진단 필터
110 : 클라우드 서버 112 : 시그니처 DB
120 : 필터 생성장치 130 : 배포 서버
210 : 필터 업데이트부 220 : 진단부
222 : 진단정보 추출부 223 : 사전 진단부
224 : 검사부 230 : 클라우드 클라이언트부
100: portable terminal 102: application
104: Diagnostic device 106: Prognostics filter
110: Cloud server 112: Signature DB
120: Filter generation device 130: Distribution server
210: filter update unit 220:
222: diagnosis information extracting unit 223:
224: Inspection section 230: Cloud client section

Claims (13)

사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하는 단계와,
상기 사전 진단 결과, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하는 단계와,
상기 클라우드 서버로부터 진단 결과를 수신하여 상기 악성코드로 의심되는 애플리케이션에 대한 진단 결과를 출력시키는 단계를 포함하되,
상기 사전 진단을 수행하는 단계는,
상기 진단 대상 애플리케이션으로부터 시그니처 정보를 추출하는 단계와,
상기 시그니처 정보를 상기 사전 진단 필터를 통해 검사하여 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 단계
를 포함하는 필터를 이용한 클라우드 기반 악성코드 진단 방법.
Performing a prognosis for distinguishing an application to be diagnosed in the portable terminal as a non-malicious application or an application suspected to be a malicious code using a pre-diagnosis filter;
Requesting a cloud server for a diagnosis of an application suspecting the malicious code as a result of the pre-diagnosis;
Receiving a diagnosis result from the cloud server and outputting a diagnosis result of the suspected malicious code application,
The step of performing the pre-
Extracting signature information from the diagnostic application;
Checking the signature information through the prognosis filter and classifying it into an application that is not a malicious code or an application that is suspected to be a malicious code
A method for diagnosing a cloud-based malicious code using a filter including a filter.
삭제delete 제 1 항에 있어서,
상기 사전 진단 필터는,
상기 진단 대상 애플리케이션에 대한 사전진단 수행 시 정상 파일의 애플리케이션을 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터인 것을 특징으로 하는 필터를 이용한 클라우드 기반 악성코드 진단 방법.
The method according to claim 1,
The prognostic filter may comprise:
Wherein the filter is designed so that a false negative that misuses an application of a normal file as a malicious code is not generated when a diagnosis of the diagnosis target application is performed.
제 3 항에 있어서,
상기 사전 진단 필터는,
블룸(bloom) 필터인 것을 특징으로 하는 필터를 이용한 클라우드 기반 악성코드 진단 방법.
The method of claim 3,
The prognostic filter may comprise:
Wherein the filter is a bloom filter.
사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하고, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하는 진단부와,
상기 진단부로부터 악성 코드 의심으로 구분된 애플리케이션의 시그니처 정보를 상기 클라우드 서버로 전송하여 진단을 요청하고, 진단 결과를 수신하여 상기 진단부로 제공하는 클라우드 클라이언트부를 포함하되,
상기 진단부는, 상기 진단 대상 애플리케이션으로부터 시그니처 정보를 추출하는 진단정보 추출부와,
상기 시그니처 정보를 상기 사전 진단 필터를 통해 검사하여 상기 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 사전 진단을 수행하는 사전 진단부와,
상기 사전 진단부를 통해 악성코드가 아닌 애플리케이션으로 구분된 애플리케이션에 대해서는 정상파일로 진단 결과를 출력하고, 상기 악성코드로 의심되는 애플리케이션에 대해서는 상기 클라우드 서버로 진단을 요청하여 진단 결과를 출력하는 검사부
를 포함하는 필터를 이용한 클라우드 기반 악성코드 진단 장치.
A prognosis for distinguishing an application to be diagnosed in the portable terminal as an application other than a malicious code or an application suspected to be a malicious code is performed using a prognosis filter and a diagnosis is made to a cloud server for an application suspected to be the malicious code A diagnostic unit,
And a cloud client unit transmitting signature information of an application distinguished from the diagnosis unit suspected of malicious code to the cloud server to request a diagnosis, and receiving diagnosis results and providing the diagnosis information to the diagnosis unit,
Wherein the diagnosis unit comprises: a diagnostic information extracting unit for extracting signature information from the diagnostic application;
A pre-diagnosis unit for performing a pre-diagnosis for inspecting the signature information through the pre-diagnosis filter to distinguish the application to be diagnosed as an application other than a malicious code or an application suspected to be a malicious code;
A diagnosis unit for outputting a diagnosis result to a normal file for an application classified as an application other than a malicious code through the dictionary diagnosis unit and a diagnosis unit for requesting diagnosis to the cloud server for an application suspecting the malicious code,
A cloud-based malicious code diagnostic device using a filter comprising:
삭제delete 제 5 항에 있어서,
상기 사전 진단부는,
상기 시그니처 정보에서 상기 사전 진단 필터의 생성시 사용된 해쉬함수의 개수에 대응되는 n개의 해쉬값을 추출하고, 상기 추출된 해쉬값을 상기 사전 진단 필터를 통해 검사하여 상기 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션인지 또는 악성코드로 의심되는 애플리케이션인지를 구분하는 것을 특징으로 하는 필터를 이용한 클라우드 기반 악성코드 진단 장치.
6. The method of claim 5,
The pre-
Extracting n hash values corresponding to the number of hash functions used at the time of generation of the pre-diagnosis filter from the signature information, inspecting the extracted hash value through the pre-diagnosis filter, Wherein the malicious code is classified into an application that is not a malicious code or an application that is suspected to be malicious code.
제 5 항에 있어서,
상기 진단 장치는,
상기 사전 진단 필터에 대한 업데이트 사항이 발생하는 경우 상기 사전 진단 필터를 업데이트하는 필터 업데이트부를 더 포함하는 것을 특징으로 하는 필터를 이용한 클라우드 기반 악성코드 진단 장치.
6. The method of claim 5,
The diagnostic apparatus may further comprise:
Further comprising a filter update unit for updating the pre-diagnosis filter when an update to the pre-diagnosis filter occurs.
제 5 항에 있어서,
상기 사전 진단 필터는,
상기 진단 대상 애플리케이션에 대한 진단 수행 시 악성코드가 아닌 애플리케이션을 악성코드로 오진하는 false negative가 발생하지 않도록 설계된 필터인 것을 특징으로 하는 필터를 이용한 클라우드 기반 악성코드 진단 장치.
6. The method of claim 5,
The prognostic filter may comprise:
Wherein the filter is designed so that when the diagnosis is performed on the diagnosis target application, a false negative that misuses the application other than the malicious code as a malicious code is not generated.
삭제delete 사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션인지 또는 악성코드로 의심되는 애플리케이션인지를 사전 진단하고, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하여 진단 결과를 출력하는 진단장치와,
상기 진단 장치로부터 진단 요청되는 상기 악성코드로 의심되는 애플리케이션의 시그니처 정보를 수신하여 해당 애플리케이션에 대한 진단을 수행하고, 진단 결과를 상기 진단 장치로 제공하는 상기 클라우드 서버와,
상기 사전 진단 필터를 생성하여 상기 진단 장치에 제공하며, 상기 클라우드 서버로부터 새로이 진단된 악성코드에 대한 정보를 수신하여 상기 사전 진단 필터를 업데이트시키는 필터 생성장치
를 포함하는 필터를 이용한 클라우드 기반 악성코드 진단 시스템.
A prognosis filter is used to proactively diagnose whether the application to be diagnosed in the portable terminal is an application that is not a malicious code or an application suspected to be a malicious code and requests a diagnostic to the cloud server for an application suspected of the malicious code, A diagnostic device for outputting a result,
A cloud server for receiving signature information of an application suspecting malicious code that is requested to be diagnosed from the diagnostic device, performing diagnosis for the application, and providing diagnosis results to the diagnostic device;
A filter generating device for generating the prognostic filter and providing the prognostic filter to the diagnostic device, receiving information on a newly diagnosed malicious code from the cloud server and updating the prognostic filter,
A cloud - based malware diagnosis system using a filter including a filter.
사전 진단 필터를 이용하여 휴대용 단말기 내의 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션인지 또는 악성코드로 의심되는 애플리케이션인지를 사전 진단하고, 상기 악성 코드로 의심되는 애플리케이션에 대해서는 클라우드 서버로 진단을 요청하여 진단 결과를 출력하는 진단장치와,
상기 진단 장치로부터 진단 요청되는 상기 악성코드로 의심되는 애플리케이션의 시그니처 정보를 수신하여 해당 애플리케이션에 대한 진단을 수행하고, 진단 결과를 상기 진단 장치로 제공하는 상기 클라우드 서버를 포함하되,
상기 진단 장치는, 상기 진단 대상 애플리케이션으로부터 시그니처 정보를 추출하며, 상기 추출된 시그니처 정보에서 상기 사전 진단 필터의 생성시 사용된 함수의 개수에 대응되는 n개의 해쉬값을 추출하고, 추출된 해쉬값을 상기 사전 진단 필터를 통해 검사하여 상기 진단 대상 애플리케이션에 대해 악성코드가 아닌 애플리케이션 또는 악성코드로 의심되는 애플리케이션으로 구분하는 것을 특징으로 하는 필터를 이용한 클라우드 기반 악성코드 진단 시스템.
A prognosis filter is used to proactively diagnose whether the application to be diagnosed in the portable terminal is an application that is not a malicious code or an application suspected to be a malicious code and requests a diagnostic to the cloud server for an application suspected of the malicious code, A diagnostic device for outputting a result,
And a cloud server for receiving signature information of an application suspecting malicious code that is requested to be diagnosed by the diagnostic device, performing diagnosis for the application, and providing diagnosis results to the diagnostic device,
The diagnostic apparatus extracts signature information from the diagnostic application, extracts n hash values corresponding to the number of functions used in generating the pre-diagnosis filter from the extracted signature information, and extracts the extracted hash value Wherein the diagnosis target application is inspected through the pre-diagnosis filter and classified into a non-malicious application or an application suspected to be a malicious code.
삭제delete
KR1020130062184A 2013-05-31 2013-05-31 Apparatus and system for detecting malicious code using filter and method thereof KR101473658B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130062184A KR101473658B1 (en) 2013-05-31 2013-05-31 Apparatus and system for detecting malicious code using filter and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130062184A KR101473658B1 (en) 2013-05-31 2013-05-31 Apparatus and system for detecting malicious code using filter and method thereof

Publications (2)

Publication Number Publication Date
KR20140141801A KR20140141801A (en) 2014-12-11
KR101473658B1 true KR101473658B1 (en) 2014-12-18

Family

ID=52459562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130062184A KR101473658B1 (en) 2013-05-31 2013-05-31 Apparatus and system for detecting malicious code using filter and method thereof

Country Status (1)

Country Link
KR (1) KR101473658B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190020998A (en) 2017-08-22 2019-03-05 주식회사 하우리 Apparatus, method and system for detecting malicious code
WO2020189822A1 (en) * 2019-03-20 2020-09-24 주식회사 하우리 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102216061B1 (en) * 2015-11-25 2021-02-16 에스케이텔레콤 주식회사 Apparatus and method for controlling security of communication between virtual machines
KR101896824B1 (en) * 2017-01-17 2018-09-10 한국항공대학교산학협력단 Apparatus and method for pre-detecting virus using isp

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228902B1 (en) * 2010-12-31 2013-02-06 주식회사 안랩 Cloud Computing-Based System for Supporting Analysis of Malicious Code
KR101230585B1 (en) * 2010-12-07 2013-02-06 주식회사 안랩 Malicious code treatment apparatus and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101230585B1 (en) * 2010-12-07 2013-02-06 주식회사 안랩 Malicious code treatment apparatus and method
KR101228902B1 (en) * 2010-12-31 2013-02-06 주식회사 안랩 Cloud Computing-Based System for Supporting Analysis of Malicious Code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190020998A (en) 2017-08-22 2019-03-05 주식회사 하우리 Apparatus, method and system for detecting malicious code
KR102042045B1 (en) * 2017-08-22 2019-11-08 주식회사 하우리 Apparatus, method and system for detecting malicious code
WO2020189822A1 (en) * 2019-03-20 2020-09-24 주식회사 하우리 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Also Published As

Publication number Publication date
KR20140141801A (en) 2014-12-11

Similar Documents

Publication Publication Date Title
US10872151B1 (en) System and method for triggering analysis of an object for malware in response to modification of that object
EP3506139B1 (en) Malware detection in event loops
EP4287053A2 (en) Analysis of malware
US10133863B2 (en) Zero-day discovery system
US9832211B2 (en) Computing device to detect malware
CN109997139B (en) Detecting malware using hash-based fingerprints
US20160070911A1 (en) Rapid malware inspection of mobile applications
US11829467B2 (en) Dynamic rules engine in a cloud-based sandbox
US8661543B2 (en) Mobile terminal having security diagnosis functionality and method of making diagnosis on security of mobile terminal
KR20150044490A (en) A detecting device for android malignant application and a detecting method therefor
KR20110084693A (en) Method of examining malicious codes and dangerous files in android terminal platform
CN111448552B (en) Observation and classification of device events
KR101473658B1 (en) Apparatus and system for detecting malicious code using filter and method thereof
US20180341769A1 (en) Threat detection method and threat detection device
CN105095759A (en) File detection method and device
CN116303290B (en) Office document detection method, device, equipment and medium
KR20150083627A (en) Method for detecting malignant code of android by activity string analysis
CN116305129B (en) Document detection method, device, equipment and medium based on VSTO
KR20140122964A (en) Apparatus and system for detecting malware based on cloud and method thereof
KR102042045B1 (en) Apparatus, method and system for detecting malicious code
KR101256468B1 (en) Apparatus and method for detecting malicious file
CN105791250A (en) Application detection method and device
US20230259612A1 (en) Exploit detection in a cloud-based sandbox
KR20150102866A (en) Apparatus and system for detecting malware based on cloud and method thereof
US20220182260A1 (en) Detecting anomalies on a controller area network bus

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171211

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181211

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191211

Year of fee payment: 6