KR101436496B1 - System for remote diagnosis of malware - Google Patents

System for remote diagnosis of malware Download PDF

Info

Publication number
KR101436496B1
KR101436496B1 KR1020130105078A KR20130105078A KR101436496B1 KR 101436496 B1 KR101436496 B1 KR 101436496B1 KR 1020130105078 A KR1020130105078 A KR 1020130105078A KR 20130105078 A KR20130105078 A KR 20130105078A KR 101436496 B1 KR101436496 B1 KR 101436496B1
Authority
KR
South Korea
Prior art keywords
input
file
specific file
output
malicious code
Prior art date
Application number
KR1020130105078A
Other languages
Korean (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 KR1020130105078A priority Critical patent/KR101436496B1/en
Application granted granted Critical
Publication of KR101436496B1 publication Critical patent/KR101436496B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a system for remote diagnosis of malware. The server comprises a scanner which generates an IO command for a particular file when a diagnosis request about the file from a client terminal is received and analyzes an IO outcome of the file carried out by the client terminal which received the IO command for the file, to diagnose the file; and a virtual input/output unit which transmits the IO command for the file generated by the scanner to the client terminal and transmits the IO outcome of the file received from the client terminal to the scanner.

Description

악성 코드 원격 진단 시스템{SYSTEM FOR REMOTE DIAGNOSIS OF MALWARE} SYSTEM FOR REMOTE DIAGNOSIS OF MALWARE [0002]

본 명세서는 클라이언트에 위치한 파일을 원격지의 서버가 검사할 수 있는 방법 및 가상화된 네트워크 파일 입출력(IO) 기술에 관한 것이다.The present disclosure relates to a method of allowing a remote server to examine a file located on a client and a virtualized network file input / output (IO) technique.

종래 클라우드 Anti-Malware 솔루션의 기술은 파일을 서버에 전송하는 방식이나 CRC와 같은 시그니처 값을 클라이언트에서 추출한 후 서버에서 악성여부를 판별하는 방식을 사용하고 있다. The technology of the conventional cloud anti-malware solution uses a method of transferring a file to a server or a method of determining whether the server is malicious after extracting a signature value such as a CRC from a client.

파일을 전송하여 검사하는 방식의 경우 진단을 위해 전체 파일이 필요하지 않은 경우에도 파일 전체를 전송하게 되므로 불필요한 파일 전송에 의한 진단 속도 저하 및 네트워크 트래픽 증가에 따른 불필요한 서버 유지보수 비용이 발생할 수 있다.In the case of the method of transmitting and checking the file, since the entire file is transmitted even if the whole file is not needed for diagnosis, unnecessary maintenance and maintenance costs due to unnecessary file transmission decrease and network traffic increase may occur.

반면 클라이언트에서 시그니처를 생성해 서버에 보내는 방식의 경우 클라이언트가 시그니처 생성을 처리하므로 그에 대한 부하가 발생하게 된다. 전체 파일을 대상으로 시그니처를 생성할 경우 파일 전체를 읽어야 하는 파일 IO 부하를 감당해야 하며, 파일에 따라 일부분의 데이터에 대해 시그니처를 생성할 경우 필요한 부분이 무엇인지에 대한 분석을 필요로 하게 되므로 사실상 클라이언트가 스캐너 동작의 상당부분을 담당해야 하는 문제가 발생한다.On the other hand, in the case of generating a signature from the client and sending it to the server, a load is generated because the client handles the signature generation. If you create signatures for the entire file, you have to deal with the file IO load that needs to read the entire file. Depending on the file, you will need to analyze what parts are needed to generate the signature for the partial data. A problem arises that the client must be responsible for a significant portion of the scanner's operation.

따라서 기존 클라우드 서비스 동작 방식의 단점을 개선해 파일 IO에 대한 동작만 클라이언트가 담당하면서도 네트워크 트래픽은 파일 전체가 아닌 필요한 데이터만 발생시키는 방법이 요청된다.Therefore, it is required to improve the disadvantages of the existing cloud service operation method, so that only the operation for the file IO is performed by the client, but the network traffic generates only the necessary data, not the whole file.

본 명세서는 클라이언트에 위치한 파일(예컨대, 악성 소프트웨어)을 원격지의 서버가 검사할 수 있는 방법 및 가상화된 네트워크 파일 입출력(IO) 기술을 제안하는 데에 그 목적이 있다. 보다 구체적으로는, 서버 및 클라이언트에 가상화된 파일 IO 레이어를 구현하여, 클라이언트에서는 서버에서 요청한 파일 IO를 수행하고 그 결과를 다시 서버에 전송함으로써, 데이터 트래픽을 최소화시키는 악성 코드 원격 진단 방법을 제안하고자 한다.The present disclosure is directed to a method of enabling a remote server to examine a file (e.g., malicious software) located on a client and a virtualized network file input / output (IO) technique. More specifically, we propose a malicious code remote diagnosis method that minimizes data traffic by implementing a file IO layer that is virtualized on the server and client, and the client performs file IO requested by the server and sends the result back to the server do.

본 명세서의 일 실시예에 따라 악성 코드 진단 서버가 제공된다. 상기 서버는 클라이언트 단말로부터 특정 파일의 진단을 요청받으면 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키고, 상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말에 의해 수행된 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 스캐너(scanner)와; 상기 스캐너에 의해 발생된 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하고, 상기 클라이언트 단말로부터 수신한 상기 특정 파일의 입출력 결과를 상기 스캐너로 전달하는 가상 입출력부;를 포함할 수 있다.According to an embodiment of the present disclosure, a malicious code diagnosis server is provided. The server generates an input / output (IO) command for the specific file when the client terminal requests the diagnosis of the specific file, and the input / output of the specific file performed by the client terminal that has received the file input / A scanner for analyzing the result and diagnosing the specific file; And a virtual input / output unit that transmits an input / output (IO) command to the specific file generated by the scanner to the client terminal and transmits an input / output result of the specific file received from the client terminal to the scanner have.

상기 파일 입출력 명령은 상기 특정 파일에 대한 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 명령 중 적어도 하나 이상을 포함할 수 있다.The file input / output command is used to read, write, seek, open, close, attribute change, rename, delete (delete) ) ≪ / RTI > commands.

상기 파일 입출력 명령은 상기 특정 파일의 소정 위치를 읽도록 하는 명령일 수 있다.The file input / output command may be an instruction to read a predetermined position of the specific file.

상기 가상 입출력부는, 상기 수행된 특정 파일의 입출력 결과를 저장하고, 상기 특정 파일의 입출력 결과가 재요청되는 경우, 상기 스캐너로 상기 저장된 특정 파일의 입출력 결과를 전달하는 캐시(cache); 및 상기 캐시에 저장되지 않은 파일에 대한 입출력 명령이 수신되는 경우, 상기 입출력 명령을 상기 클라이언트 단말로 전송하고, 상기 파일 입출력 명령에 대응되는 파일 입출력 결과를 상기 캐시로 전달하여 상기 캐시가 갱신되도록 하는 네트워크 입출력부를 포함할 수 있다.The virtual input / output unit stores a result of input / output of the specific file, and when the input / output result of the specific file is requested again, the virtual input / output unit transmits a result of input / output of the stored specific file to the scanner. And a file input / output result corresponding to the file input / output command is transmitted to the cache to update the cache when an input / output command for a file not stored in the cache is received, And a network input / output unit.

본 명세서의 다른 실시예에 따라 악성 코드 진단 시스템이 제공된다. 상기 시스템은 클라이언트 단말로부터 특정 파일의 진단을 요청받으면 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키고, 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하고, 상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말로부터 수신한 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 악성 코드 진단 서버; 및 상기 악성 코드 진단 서버로 특정 파일의 진단을 요청하고, 상기 특정 파일에 대한 입출력(IO) 명령을 상기 악성 코드 진단 서버로부터 수신하여 상기 특정 파일에 대한 입출력을 수행하고, 상기 특정 파일의 입출력 결과를 상기 악성 코드 진단 서버로 전송하는 클라이언트 단말을 포함할 수 있다.According to another embodiment of the present disclosure, a malicious code diagnosis system is provided. The system generates an input / output (I / O) command for the specific file upon receipt of a request for diagnosis of a specific file from the client terminal, transmits an input / output (IO) command for the specific file to the client terminal, A malicious code diagnosis server for analyzing input / output results of the specific file received from the client terminal that has received the file input / output command and diagnosing the specific file; And an input / output (I / O) command for the specific file is received from the malicious code diagnosis server to perform input / output of the specific file, and an input / output result To the malicious code diagnosis server.

본 명세서의 또 다른 실시예에 따라 악성 코드 진단 서버가 클라이언트 단말의 파일을 진단하는 방법이 제공된다. 상기 방법은 악성 코드 진단 서버가 클라이언트 단말로부터 특정 파일의 진단을 요청받으면 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키는 단계; 상기 발생된 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하는 단계; 상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말에 의해 수행된 상기 특정 파일의 입출력 결과를 수신하는 단계; 상기 수신한 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 단계;를 포함할 수 있다.According to another embodiment of the present invention, a malicious code diagnosis server diagnoses a file of a client terminal is provided. The method includes generating an input / output (I / O) command for the specific file when the malicious code diagnosis server is requested to diagnose a specific file from the client terminal; Outputting an I / O command to the client terminal; Receiving an input / output result of the specific file performed by the client terminal that has received the file input / output command for the specific file; And analyzing the input / output result of the received specific file to diagnose the specific file.

상기 파일 입출력 명령은 상기 특정 파일에 대한 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 명령 중 적어도 하나 이상을 포함할 수 있다.The file input / output command is used to read, write, seek, open, close, attribute change, rename, delete (delete) ) ≪ / RTI > commands.

상기 파일 입출력 명령은 상기 특정 파일의 소정 위치를 읽도록 하는 명령일 수 있다.The file input / output command may be an instruction to read a predetermined position of the specific file.

상기 방법은 수행된 상기 특정 파일의 입출력 결과를 저장하는 단계; 상기 특정 파일의 입출력 결과가 다시 요청되는 경우, 상기 저장된 결과를 재사용하는 단계를 더 포함할 수 있다.The method comprising: storing input / output results of the specified file; And if the input / output result of the specific file is requested again, reusing the stored result.

본 명세서의 실시예들은, 각 클라이언트 단말에서 파일(예컨대, 악성 소프트웨어로 의심되는 파일)을 검사할 때 요구되는 동작(예: 파일 IO)과 동일한 동작을 서버로 요청하여 수행함으로써, 검사에 필요한 최소한의 데이터만을 네트워크로 전달하여 데이터 트래픽을 줄일 수 있으며, 클라이언트는 파일 IO에 대한 비교적 적은 작업 부담만 담당하게 되는 효과가 있다.Embodiments of the present invention can be implemented by requesting and performing the same operation as the operation (e.g., file IO) required when inspecting a file (for example, a file suspected of being malicious software) at each client terminal, The data traffic can be reduced by transmitting only the data of the file I / O to the network, and the client has a relatively small work burden on the file IO.

도 1a 내지 1d는 은 본 명세서의 일 실시예에 따른 악성 코드 진단 시스템을 나타낸 개념도이다.
도 2는 본 명세서의 일 실시예에 따른 악성 코드 진단 서버의 블록도이다.
도 3은 본 명세서의 일 실시예에 따른 악성 코드 진단 방법을 도시한 흐름도이다.
1A to 1D are conceptual diagrams illustrating a malicious code diagnosis system according to an embodiment of the present invention.
2 is a block diagram of a malicious code diagnosis server according to an embodiment of the present invention.
3 is a flowchart illustrating a malicious code diagnosis method according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is noted that the technical terms used herein are used only to describe specific embodiments and are not intended to limit the invention. It is also to be understood that the technical terms used herein are to be interpreted in a sense generally understood by a person skilled in the art to which the present invention belongs, Should not be construed to mean, or be interpreted in an excessively reduced sense. Further, when a technical term used herein is an erroneous technical term that does not accurately express the spirit of the present invention, it should be understood that technical terms that can be understood by a person skilled in the art are replaced. In addition, the general terms used in the present invention should be interpreted according to a predefined or prior context, and should not be construed as being excessively reduced.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or similar elements throughout the several views, and redundant description thereof will be omitted. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. It is to be noted that the accompanying drawings are only for the purpose of facilitating understanding of the present invention, and should not be construed as limiting the scope of the present invention with reference to the accompanying drawings. The spirit of the present invention should be construed as extending to all modifications, equivalents, and alternatives in addition to the appended drawings.

도 1a는 은 본 명세서의 일 실시예에 따른 악성 코드 진단 시스템을 나타낸 개념도이다.1A is a conceptual diagram illustrating a malicious code diagnosis system according to an embodiment of the present invention.

상기 악성 코드 진단 시스템은 악성 코드 진단 서버(100) 및 클라이언트 단말(200)을 포함하여 구성될 수 있다.The malicious code diagnosis system may include a malicious code diagnosis server 100 and a client terminal 200.

여기서 악성 코드는 악성 소프트웨어 또는 맬웨어(malware) 등 컴퓨터에 악영향을 끼칠 수 있는 모든 소프트웨어의 총칭하는 의미이며, 컴퓨터 바이러스, 웜(worm), 웜 바이러스, 스파이웨어, 애드웨어, 허위 백신 등이 그 예이다.Here, malicious code is a generic term for all software that can harm your computer, such as malicious software or malware. Computer viruses, worms, worms, spyware, adware, to be.

상기 악성 코드 진단 서버(100)는 파일 진단(스캔)을 수행하는 스캐너(Scanner, 110)와 파일 입출력(IO)을 가상화하여 원격지 클라이언트(200)에 파일 IO를 요청하는 가상 입출력부(Virtual IO, 120)를 포함할 수 있다. 클라이언트(200)는 악성 코드 진단 서버(100)에서 요청한 파일 IO를 수행하고 그 결과를 돌려주는 가상 입출력부(Virtual IO, 220)를 포함할 수 있다.The malicious code diagnosis server 100 includes a scanner 110 for scanning a file and a virtual IO unit for requesting a file IO to a remote client 200 by virtualizing a file input / output (IO) 120). The client 200 may include a virtual I / O unit 220 that performs a file IO requested by the malicious code diagnosis server 100 and returns the result.

상기 스캐너(110)는 로컬에 저장된 파일을 진단할 때와 동일한 동작을 할 수 있다. 상기 스캐너(110)는 검사 대상 파일이 로컬에 위치해 있는지 혹은 원격지에 위치해 있는지에 대해 고려하지 않고, 검사할 파일에 대한 IO 명령을 발생시키며. 스캐너(110)가 발생시킨 파일 IO 명령은 가상 입출력부(120)에 의해 네트워크를 통해 클라이언트 단말(200)로 요청된다.The scanner 110 may perform the same operation as that for diagnosing a file stored locally. The scanner 110 generates an IO command for a file to be inspected without considering whether a file to be inspected is located locally or remotely. The file I / O command generated by the scanner 110 is requested to the client terminal 200 through the network by the virtual input / output unit 120.

도 1a을 참조하여 보면, 클라이언트 단말(200)이 자신의 저장 매체에 존재하는 파일에 대해 악성 코드 진단 서버(100)에 검사 요청을 한다. 이때, 클라이언트 단말(200)이 검사를 요청하는 파일은 악성 코드로 의심되는 파일 또는 감염이 의심되는 파일일 수 있다. 예를 들어, 소정 기간 이상 검사되지 않은 파일, 특정한 위치에 저장된 파일, 소정 기간 이내에 새로이 저장된 파일, 소정의 문자열로 이루어진 이름을 가진 파일 등이 위와 같은 의심 파일일 수 있다.Referring to FIG. 1A, a client terminal 200 sends an inspection request to a malicious code diagnostic server 100 for a file existing on its storage medium. At this time, the file requested by the client terminal 200 may be a file suspected of being malicious code or a file suspected of being infected. For example, a file not inspected for a predetermined period or longer, a file stored in a specific location, a file newly stored within a predetermined period, a file having a name of a predetermined character string, or the like may be a suspicious file.

검사 요청을 수신한 악성 코드 진단 서버(100)의 스캐너(110)는 해당 파일을 검사하기 위해 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 등과 같은 파일 입출력(IO) 명령을 발생시킨다. 일 예로 상기 파일 입출력(IO) 명령은 특정 파일의 소정 위치(헤더, xx부터 yy까지, …)를 읽도록 하는 명령일 수 있다. 그 특성이 알려진 악성 코드는 전체 파일의 특정 부분만을 읽어보아도 판별이 가능할 수 있기 때문이다.The scanner 110 of the malicious code diagnostic server 100 that has received the inspection request can read, write, seek, open, close, (IO) commands such as attribute change, rename, delete, and the like. For example, the file input / output (IO) command may be a command to read a predetermined position (header, xx to yy, ...) of a specific file. This is because malicious code whose characteristics are known can be discriminated even if only a specific portion of the entire file is read.

상기 발생된 파일 입출력 명령들은 가상 입출력부(120)를 통해 클라이언트 단말(200)로 전송된다. 상기 파일 입출력 명령을 수신한 클라이언트 단말(200)은 상기 가상 입출력부(220)를 통해 해당 파일을 호출하고, 수신한 파일 입출력 명령에 대한 결과값을 악성 코드 진단 서버(100)로 전송한다. 결과값을 수신한 악성 코드 진단 서버(100)의 스캐너(110)는 이를 기초로 하여 클라이언트 단말(200)상의 해당 파일을 검사한다.The generated file input / output commands are transmitted to the client terminal 200 through the virtual input / output unit 120. The client terminal 200 receiving the file input / output command calls the corresponding file through the virtual input / output unit 220 and transmits the result of the received file input / output command to the malicious code diagnosis server 100. The scanner 110 of the malicious code diagnostic server 100 receiving the resultant value examines the corresponding file on the client terminal 200 based on the result.

도 1b는 도 1a에서 설명한 악성 코드 진단 시스템의 변형된 실시예를 나타낸 개념도이다.FIG. 1B is a conceptual diagram illustrating a modified embodiment of the malicious code diagnosis system illustrated in FIG. 1A.

도 1b는, 도 1a의 서버와 클라이언트가 서로 반대의 역할을 하는 실시예이다. 즉, 클라이언트(200’)는 스캐너(210’)를 포함하며, 클라이언트(200’)는 악성 코드 진단 서버(100’)로부터 특정 파일의 진단 요청을 수신하면, 해당 파일에 대한 입출력 명령을 생성하여 악성 코드 진단 서버(100’)로 전송하고, 악성 코드 진단 서버(100’)는 해당 파일의 입출력 결과를 클라이언트(200’)로 전송하고, 클라이언트(200’)는 스캐너(210’)를 이용하여 해당 파일을 진단한다. 이러한 변형예는 다수의 가상 머신을 진단하는 시스템에 적용될 수 있다.FIG. 1B is an embodiment in which the server and the client in FIG. 1A have opposite roles. That is, the client 200 'includes the scanner 210'. Upon receiving the diagnosis request of the specific file from the malicious code diagnostic server 100 ', the client 200' generates an input / output command for the file The malicious code diagnosis server 100 'transmits the input / output result of the file to the client 200', and the client 200 'uses the scanner 210' Diagnose the file. This variant can be applied to a system for diagnosing multiple virtual machines.

도 1c는 본 명세서의 다른 실시예에 따른 악성 코드 진단 시스템을 나타낸 개념도이다.1C is a conceptual diagram illustrating a malicious code diagnosis system according to another embodiment of the present invention.

도 1c와 같이 악성 코드 진단 서버(100)의 가상 입출력부(120)는 캐시(Cache, 121) 및 네트워크 입출력부(Network IO, 122)를 더 포함할 수 있다. 상기 캐시(121)는 특정 파일에 대해 수행된 파일 입출력 결과 및 관련 정보를 저장하고, 기 수행된 특정 파일에 대한 입출력 명령이 다시 발생했을 때 저장된 기존 결과를 스캐너(110)로 전달(리턴)할 수 있다. 네트워크 입출력부(122)는 캐시(121)에 저장되어있지 않은 파일에 대한 입출력 명령이 발생하면, 이를 네트워크를 통해 클라이언트 단말(200)로 전송하며, 해당 파일의 입출력 결과를 클라이언트 단말(200)로부터 수신하여 스캐너(110)에 전달할 수 있다. 이를 통하여 상기 네트워크 입출력부(122)는 캐시(121)의 저장 정보가 갱신되도록 할 수 있다. 즉, 캐시는 기 저장된 파일 입출력 결과 이외의 파일 입출력 결과를 전달받게 되면, 저장하고 있는 파일 입출력 정보를 갱신(update)할 수 있다.1C, the virtual input / output unit 120 of the malicious code diagnosis server 100 may further include a cache 121 and a network I / O unit 122. The cache 121 stores the file input / output result and related information performed on the specific file, and returns (returns) the existing result stored when the I / O command for the specific file is performed again to the scanner 110 . When an input / output command for a file that is not stored in the cache 121 occurs, the network input / output unit 122 transmits the input / output command to the client terminal 200 through the network and outputs the input / output result of the file to the client terminal 200 And transmit it to the scanner 110. Accordingly, the network input / output unit 122 can update the storage information of the cache 121. That is, when the cache receives the file input / output result other than the pre-stored file input / output result, it can update the stored file input / output information.

도 1c는 스캐너(110)에서 발생한 읽기(Read) 명령에 대해 캐시(121)와 네트워크 입출력부(122) 동작을 도시하고 있다. 스캐너(110)는 파일을 검사하면서 다수의 read 명령을 발생시키는데, 기존에 읽은 영역을 다시 읽을 수도 있고, 이 때문에 불필요하게 네트워크 트래픽이 발생할 수 있다. 이러한 문제 해결을 위해 캐시(121)는 기존에 읽은 데이터를 다시 읽으려 할 경우 IO를 발생시키지 않고, 자신이 가지고 있는 데이터를 read명령에 대한 리턴 값으로 제공한다. 이러한 방법으로 네트워크 입출력부(122)를 통해 발생하는 IO 요청을 최소화 할 수 있다.1C illustrates operations of the cache 121 and the network I / O unit 122 in response to a read command issued from the scanner 110. FIG. The scanner 110 generates a plurality of read commands while inspecting a file. The scanner 110 may re-read the previously read area, thereby unnecessarily generating network traffic. To solve this problem, the cache 121 does not generate the IO when re-reading the previously read data but provides the return value for the read command. In this way, the I / O requests generated through the network input / output unit 122 can be minimized.

도 1d는 본 명세서의 또 다른 실시예에 따른 악성 코드 진단 시스템을 나타낸 개념도이다.1D is a conceptual diagram illustrating a malicious code diagnosis system according to another embodiment of the present invention.

도 1d에는 상기에서 설명한 가상 IO 기반의 클라우드 시스템을 도시한 예시이다. 도시한 구조에서 클라이언트 단말(200a 내지 200d)는 파일 IO만을 담당하므로, 플랫폼에 따른 포팅 문제가 없고 성능 제약도 적어 다양한 형태의 디바이스(예: PC, 스마트폰, 태블릿, 스마트TV 등)에서 동작할 수 있다. FIG. 1D illustrates an example of the virtual IO-based cloud system described above. In the illustrated structure, the client terminals 200a to 200d take charge of only the file IO, so there is no porting problem according to the platform, and there is no performance restriction, so that the client terminals 200a to 200d operate in various types of devices such as a PC, a smartphone, a tablet, .

한편 독립적으로 파일 진단을 수행할 수 있는 다수의 서버(100)를 연동해 서로의 정보를 공유하고 스캐너를 스케줄링하면, 클라이언트 단말이 진단을 요청할 경우 연결된 서버 중 부하가 적은 서버가 해당 단말의 파일을 가상 입출력부(Virtual IO)를 이용해 검사할 수 있다.
Meanwhile, when a plurality of servers 100 capable of independently performing file diagnosis are shared, and information of each other is shared and a scanner is scheduled, when a client terminal requests a diagnosis, And can be inspected using a virtual I / O unit (Virtual IO).

도 2는 본 명세서의 일 실시예에 따른 악성 코드 진단 서버의 블록도이다.2 is a block diagram of a malicious code diagnosis server according to an embodiment of the present invention.

본 명세서의 실시예에 따른 악성 코드 진단 서버(100)는 스캐너(110), 가상 입출력부(120)를 포함하여 구성될 수 있다.The malicious code diagnosis server 100 according to an embodiment of the present invention may include a scanner 110 and a virtual input / output unit 120.

상기 악성 코드 진단 서버(100)는 도 1a 내지 1d에서 설명한 원격 파일 진단을 수행할 수 있다. 여기서 악성 코드는 악성 소프트웨어 또는 맬웨어(malware) 등 컴퓨터에 악영향을 끼칠 수 있는 모든 소프트웨어의 총칭하는 의미이며, 컴퓨터 바이러스, 웜(worm), 웜 바이러스, 스파이웨어, 애드웨어, 허위 백신 등이 그 예이다. 한편, 클라이언트의 요청에 의해 상기 악성 코드 진단 서버(100)가 진단하는 파일은, 악성 코드로 의심되는 파일 또는 감염이 의심되는 파일일 수 있다.The malicious code diagnosis server 100 may perform the remote file diagnosis described in FIGS. 1A to 1D. Here, malicious code is a generic term for all software that can harm your computer, such as malicious software or malware. Computer viruses, worms, worms, spyware, adware, to be. Meanwhile, the file diagnosed by the malicious code diagnosis server 100 at the request of the client may be a file suspected of being malicious code or a file suspected of being infected.

악성 코드 진단 서버(100)가 클라이언트 단말로부터 특정 파일의 진단을 요청받으면, 상기 스캐너(110)는 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키고, 상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말에 의해 수행된 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단할 수 있다.When the malicious code diagnosis server 100 receives a request for diagnosis of a specific file from a client terminal, the scanner 110 generates an input / output (IO) command for the specific file and receives a file input / output command for the specific file And analyze the input / output result of the specific file performed by the client terminal to diagnose the specific file.

상기 가상 입출력부(120)는 상기 스캐너에 의해 발생된 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하고, 상기 클라이언트 단말로부터 수신한 상기 특정 파일의 입출력 결과를 상기 스캐너로 전달할 수 있다.The virtual input / output unit 120 transmits an input / output (IO) command to the specific file generated by the scanner to the client terminal, and transmits the input / output result of the specific file received from the client terminal to the scanner have.

이때 상기 파일 입출력 명령은 상기 특정 파일에 대한 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 명령 중 적어도 하나 이상을 포함할 수 있다. 또한 상기 파일 입출력 명령은 상기 특정 파일의 소정 위치를 읽도록 하는 명령일 수 있다.At this time, the file input / output command is a command to read, write, seek, open, close, attribute change, rename, delete (delete) delete < / RTI > commands. The file input / output command may be a command to read a predetermined position of the specific file.

상기 가상 입출력부(120)는 캐시(121) 및 네트워크 입출력부(122)를 더 포함할 수도 있다. 여기서 상기 캐시(cache, 121)는 기 수행된 특정 파일의 입출력 결과를 저장하고, 상기 특정 파일의 입출력 결과가 재요청되는 경우, 상기 스캐너로 상기 저장된 특정 파일의 입출력 결과를 전달할 수 있으며, 상기 네트워크 입출력부(122)는 상기 캐시에 저장되지 않은 파일 입출력이 요청되는 경우, 상기 파일 입출력 요청을 상기 클라이언트 단말로 전송할 수 있다. 이를 통하여 상기 네트워크 입출력부(122)는 캐시(121)의 저장 정보가 갱신되도록 할 수 있다.
The virtual input / output unit 120 may further include a cache 121 and a network input / output unit 122. The cache 121 may store the input / output result of the specific file that has been performed, and may transmit the input / output result of the stored specific file to the scanner when the input / output result of the specific file is requested again, The input / output unit 122 may transmit the file input / output request to the client terminal when a file input / output not stored in the cache is requested. Accordingly, the network input / output unit 122 can update the storage information of the cache 121.

도 3은 본 명세서의 일 실시예에 따른 악성 코드 진단 방법을 도시한 흐름도이다.3 is a flowchart illustrating a malicious code diagnosis method according to an embodiment of the present invention.

이하에서 상술하는 악성 코드 진단 방법은 도 1 및 도 2에서 설명한 악성 코드 진단 서버에 의해 수행될 수 있다.The malicious code diagnosis method described below can be performed by the malicious code diagnostic server described with reference to FIG. 1 and FIG.

상기 악성 코드 진단 서버는 클라이언트 단말로부터 특정 파일의 진단(스캔) 요청을 수신할 수 있다(S310). 이때 진단 요청되는 파일은 악성 코드로 의심되는 파일 또는 감염이 의심되는 파일일 수 있다.The malicious code diagnosis server may receive a diagnostic (scan) request for a specific file from the client terminal (S310). At this time, the file requested for diagnosis may be a file suspected of malicious code or a file suspected of being infected.

상기 요청을 수신한 상기 악성 코드 진단 서버는 해당 파일에 대한 입출력(IO) 명령을 발생시킬 수 있다(S320). 이때 상기 파일 입출력 명령은 상기 특정 파일에 대한 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 명령 중 적어도 하나 이상을 포함할 수 있다. 또한 상기 파일 입출력 명령은 상기 특정 파일의 소정 위치 또는 일 부분을 읽도록 하는 명령일 수 있다.Upon receipt of the request, the malicious code diagnosis server may generate an input / output (I / O) command for the file in operation S320. At this time, the file input / output command is a command to read, write, seek, open, close, attribute change, rename, delete (delete) delete < / RTI > commands. The file input / output command may be a command to read a predetermined position or a part of the specific file.

상기 악성 코드 진단 서버는 상기 특정 파일에 대한 입출력(IO) 명령을 클라이언트 단말로 송신할 수 있다(S330). 상기 명령을 수신한 클라이언트 단말은 상기 특정 파일에 대한 입출력을 수행하고, 상기 특정 파일의 입출력 결과를 상기 악성 코드 진단 서버로 전송한다. The malicious code diagnosis server may transmit an input / output (IO) command to the client terminal (S330). Upon receiving the command, the client terminal performs input / output of the specific file and transmits the input / output result of the specific file to the malicious code diagnosis server.

상기 특정 파일의 입출력 결과를 수신한(S340) 상기 악성 코드 진단 서버는 상기 특정 파일의 입출력 결과 분석 및 감염 진단을 수행할 수 있다(S350). 더 나아가 상기 악성 코드 진단 서버는 악성 코드에 감염된 파일을 치료할 수 있으며, 일 예로 정상 파일에서 감염된 파일의 해당 부분을 읽고, 악성 코드 시작위치로 파일 포인터를 이동시킨 후, 원본 파일을 감염된 파일에 덮어 쓰고, 파일 크기를 조정하는 과정을 수행할 수 있다Upon receiving the input / output result of the specific file (S340), the malicious code diagnostic server may perform input / output result analysis and infection diagnosis of the specific file (S350). Furthermore, the malicious code diagnosis server can treat a file infected with a malicious code. For example, the malicious code diagnosis server reads a corresponding portion of an infected file from a normal file, moves the file pointer to a malicious code start position, Write, and resize the file.

S350 단계 이후, 해당 파일의 다른 부분 또는 다른 파일에 대하여 추가적인 진단이 필요한 것으로 판단되면(S360), 상기 악성 코드 진단 서버는 S320 내지 S350 단계를 반복하여 수행할 수 있다.After the step S350, if it is determined that additional diagnosis is required for another part of the file or another file (S360), the malicious code diagnosis server can repeat steps S320 to S350.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다.Thus, those skilled in the art will appreciate that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the embodiments described above are to be considered in all respects only as illustrative and not restrictive.

예컨대, 본 발명에 따른 악성 코드 진단 서버(100)나 클라이언트 단말(200)은 메모리에 본 명세서의 실시예를 저장할 수 있는데, 일 구현예의 경우 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현예에서 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우 메모리는 비휘발성 메모리 유닛일 수 있다. 또한, 메모리는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장 장치를 포함할 수도 있다.For example, the malicious code diagnostic server 100 or the client terminal 200 according to the present invention may store embodiments of the present disclosure in a memory, in one embodiment the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in other embodiments the memory may be a non-volatile memory unit. The memory may also include, for example, a hard disk device, an optical disk device, or any other mass storage device.

악성 코드 진단 서버(100)나 클라이언트 단말은 또한 예컨대 이더넷 카드와 같은 하나 이상의 네트워크 인터페이스 장치, 예컨대 RS-232 포트와 같은 직렬 통신 장치 및/또는 예컨대 802.11 카드와 같은 무선 인터페이스 장치를 외부 입출력 장치로서 포함할 수 있다. 다른 구현예에서, 이러한 입출력 장치는 다른 입출력 장치로 출력 데이터를 전송하고 입력 데이터를 수신하도록 구성된 드라이버 장치, 예컨대 키보드, 프린터 및 디스플레이 장치 등을 포함할 수 있다.The malicious code diagnosis server 100 or the client terminal may also include one or more network interface devices such as an Ethernet card, a serial communication device such as an RS-232 port and / or a wireless interface device such as an 802.11 card as an external input / output device can do. In other implementations, such input / output devices may include driver devices configured to transmit output data to other input / output devices and receive input data, such as keyboards, printers, display devices, and the like.

악성 코드 진단 서버(100)는 실행 시 하나 이상의 처리 장치로 하여금 전술한 기능과 프로세스를 수행하도록 하는 명령에 의하여 실현될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다.The malicious code diagnosis server 100 can be realized by an instruction that causes one or more processing devices to execute the above-described functions and processes at the time of execution. Such instructions may include, for example, interpreted instructions such as script commands, such as JavaScript or ECMAScript commands, or other instructions stored in executable code or computer readable media.

본 발명에 따른 악성 코드 진단 서버(100)는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치로 구현될 수 있다.The malicious code diagnosis server 100 according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented as a single computer device.

본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.Implementations of the functional operations and the subject matter described herein may be implemented in digital electronic circuitry, or may be implemented in computer software, firmware, or hardware, including the structures disclosed herein, and structural equivalents thereof, It can be implemented. Implementations of the subject matter described herein may be implemented as one or more computer program products, i. E. One or more modules relating to computer program instructions encoded on a type of program storage medium for execution by, or control of, the operation of the processing system Can be implemented.

컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.

이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, the present specification is not intended to limit the invention to the specific terminology presented. Thus, while the present invention has been described in detail with reference to the above examples, those skilled in the art will be able to make adaptations, modifications, and variations on these examples without departing from the scope of the present invention. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100 : 악성 코드 진단 서버
110 : 스캐너
120 : 가상 입출력부
121 : 캐시
122 : 네트워크 입출력부
100: malicious code diagnosis server
110: Scanner
120: virtual input / output unit
121: Cache
122: Network I /

Claims (11)

클라이언트 단말로부터 특정 파일의 진단을 요청받으면 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키고, 상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말에 의해 수행된 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 스캐너(scanner); 및
상기 스캐너에 의해 발생된 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하고, 상기 클라이언트 단말로부터 수신한 상기 특정 파일의 입출력 결과를 상기 스캐너로 전달하는 가상 입출력부;
를 포함하는 것을 특징으로 하는 악성 코드 진단 서버.
Output (I / O) command for the specific file upon receipt of a request for diagnosis of a specific file from the client terminal, and analyzes the input / output result of the specific file performed by the client terminal that has received the file input / output command for the specific file A scanner for diagnosing the specific file; And
A virtual input / output unit for transmitting an input / output (IO) command for the specific file generated by the scanner to the client terminal and for transmitting an input / output result of the specific file received from the client terminal to the scanner;
And a malicious code diagnosis server for detecting malicious code.
제1항에 있어서,
상기 파일 입출력 명령은
상기 특정 파일에 대한 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 명령 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 악성 코드 진단 서버.
The method according to claim 1,
The file input /
At least one of read, write, seek, open, close, attribute change, rename, and delete commands for the specific file The malicious code diagnosis server comprising:
제1항에 있어서,
상기 파일 입출력 명령은
상기 특정 파일의 소정 위치를 읽도록 하는 명령인 것을 특징으로 하는 악성 코드 진단 서버.
The method according to claim 1,
The file input /
Wherein the malicious code is a command to read a predetermined position of the specific file.
제1항에 있어서, 상기 가상 입출력부는
상기 수행된 특정 파일의 입출력 결과를 저장하고, 상기 특정 파일의 입출력 결과가 재요청되는 경우, 상기 스캐너로 상기 저장된 특정 파일의 입출력 결과를 전달하는 캐시(cache); 및
상기 캐시에 저장되지 않은 파일에 대한 입출력 명령이 수신되는 경우, 상기 입출력 명령을 상기 클라이언트 단말로 전송하고, 상기 파일 입출력 명령에 대응되는 파일 입출력 결과를 상기 캐시로 전달하여 상기 캐시가 갱신되도록 하는 네트워크 입출력부를 포함하는 것을 특징으로 하는 악성 코드 진단 서버.
2. The apparatus of claim 1, wherein the virtual input /
A cache for storing an input / output result of the specific file, and transmitting an input / output result of the stored specific file to the scanner when an input / output result of the specific file is requested again; And
Output request corresponding to the file input / output command to the cache when the input / output command for the file not stored in the cache is received, and transmits the input / output command to the client terminal, And an input / output unit.
클라이언트 단말로부터 특정 파일의 진단을 요청받으면 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키고, 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하고, 상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말로부터 수신한 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 악성 코드 진단 서버; 및
상기 악성 코드 진단 서버로 특정 파일의 진단을 요청하고, 상기 특정 파일에 대한 입출력(IO) 명령을 상기 악성 코드 진단 서버로부터 수신하여 상기 특정 파일에 대한 입출력을 수행하고, 상기 특정 파일의 입출력 결과를 상기 악성 코드 진단 서버로 전송하는 클라이언트 단말을 포함하는 것을 특징으로 하는 악성 코드 진단 시스템.
Output (I / O) command for the specific file, an I / O command for the specific file to the client terminal upon receipt of a request for diagnosis of a specific file from the client terminal, A malicious code diagnosis server for analyzing input / output results of the specific file received from the client terminal and diagnosing the specific file; And
Outputting a result of the input / output of the specific file by requesting diagnosis of the specific file by the malicious code diagnosis server, receiving an input / output (IO) command for the specific file from the malicious code diagnosis server, And transmitting the malicious code to the malicious code diagnosis server.
악성 코드 진단 서버가 클라이언트 단말의 파일을 진단하는 방법으로서,
악성 코드 진단 서버가 클라이언트 단말로부터 특정 파일의 진단을 요청받으면 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키는 단계;
상기 발생된 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하는 단계;
상기 특정 파일에 대한 파일 입출력 명령을 수신한 상기 클라이언트 단말에 의해 수행된 상기 특정 파일의 입출력 결과를 수신하는 단계;
상기 수신한 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 단계;
를 포함하는 것을 특징으로 하는 방법.
A malicious code diagnosis server diagnosing a file of a client terminal,
Generating an input / output (I / O) command for the specific file when the malicious code diagnosis server is requested to diagnose a specific file from the client terminal;
Outputting an I / O command to the client terminal;
Receiving an input / output result of the specific file performed by the client terminal that has received the file input / output command for the specific file;
Analyzing input / output results of the received specific file to diagnose the specific file;
≪ / RTI >
제6항에 있어서,
상기 파일 입출력 명령은
상기 특정 파일에 대한 읽기(read), 쓰기(write), 찾기(seek), 열기(open), 닫기(close), 속성(attribute) 변경, 이름 변경(rename), 삭제(delete) 명령 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 방법.
The method according to claim 6,
The file input /
At least one of read, write, seek, open, close, attribute change, rename, and delete commands for the specific file RTI ID = 0.0 > 1, < / RTI >
제6항에 있어서,
상기 파일 입출력 명령은
상기 특정 파일의 소정 위치를 읽도록 하는 명령인 것을 특징으로 하는 방법.
The method according to claim 6,
The file input /
And reading the predetermined position of the specific file.
제6항에 있어서,
수행된 상기 특정 파일의 입출력 결과를 저장하는 단계;
상기 특정 파일의 입출력 결과가 다시 요청되는 경우, 상기 저장된 결과를 재사용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
The method according to claim 6,
Storing an input / output result of the specific file;
Further comprising reusing the stored result when an input / output result of the specific file is requested again.
악성 코드 진단 시스템의 동작 방법으로서,
악성 코드 진단 서버가 클라이언트 단말로부터 특정 파일의 진단을 요청받고 상기 특정 파일에 대한 입출력(IO) 명령을 발생시키는 단계;
상기 악성 코드 진단 서버가 상기 특정 파일에 대한 입출력(IO) 명령을 상기 클라이언트 단말로 송신하는 단계;
상기 클라이언트 단말이 상기 특정 파일에 대한 입출력을 수행하고, 상기 특정 파일의 입출력 결과를 상기 악성 코드 진단 서버로 전송하는 단계;
상기 악성 코드 진단 서버가 상기 특정 파일의 입출력 결과를 분석하여 상기 특정 파일을 진단하는 단계를 포함하는 것을 특징으로 하는 방법.
A method of operating a malicious code diagnostic system,
A malicious code diagnosis server requesting diagnosis of a specific file from a client terminal and generating an input / output (IO) command for the specific file;
Transmitting an input / output (IO) command to the malicious code diagnosis server to the client terminal;
Outputting the input / output result of the specific file to the malicious code diagnosis server;
And diagnosing the specific file by analyzing input / output results of the specific file by the malicious code diagnostic server.
제6항 내지 제9항 중 어느 하나에 따른 방법의 각 단계를 수행하는 명령들을 포함하는 컴퓨터 판독 가능 기록매체.
10. A computer-readable medium having instructions for performing the steps of the method according to any one of claims 6 to 9.
KR1020130105078A 2013-09-02 2013-09-02 System for remote diagnosis of malware KR101436496B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130105078A KR101436496B1 (en) 2013-09-02 2013-09-02 System for remote diagnosis of malware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130105078A KR101436496B1 (en) 2013-09-02 2013-09-02 System for remote diagnosis of malware

Publications (1)

Publication Number Publication Date
KR101436496B1 true KR101436496B1 (en) 2014-10-14

Family

ID=51995879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130105078A KR101436496B1 (en) 2013-09-02 2013-09-02 System for remote diagnosis of malware

Country Status (1)

Country Link
KR (1) KR101436496B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180130631A (en) * 2017-05-29 2018-12-10 서일대학교산학협력단 Vulnerability checking system based on cloud service
KR20230039988A (en) * 2021-09-15 2023-03-22 네이버클라우드 주식회사 Method, computer system, and computer program to provide data analysis environment with controlled tempering

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101043299B1 (en) 2009-07-21 2011-06-22 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code
KR20110084295A (en) * 2008-11-11 2011-07-21 인터내셔널 비지네스 머신즈 코포레이션 Data providing device, system, server device, program, and method
KR20110119918A (en) * 2010-04-28 2011-11-03 한국전자통신연구원 Apparatus, system and method for detecting malicious code injected with fraud into normal process
KR20120072120A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 Method and apparatus for diagnosis of malicious file, method and apparatus for monitoring malicious file

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110084295A (en) * 2008-11-11 2011-07-21 인터내셔널 비지네스 머신즈 코포레이션 Data providing device, system, server device, program, and method
KR101043299B1 (en) 2009-07-21 2011-06-22 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code
KR20110119918A (en) * 2010-04-28 2011-11-03 한국전자통신연구원 Apparatus, system and method for detecting malicious code injected with fraud into normal process
KR20120072120A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 Method and apparatus for diagnosis of malicious file, method and apparatus for monitoring malicious file

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180130631A (en) * 2017-05-29 2018-12-10 서일대학교산학협력단 Vulnerability checking system based on cloud service
KR101994664B1 (en) * 2017-05-29 2019-07-02 서일대학교산학협력단 Vulnerability checking system based on cloud service
KR20230039988A (en) * 2021-09-15 2023-03-22 네이버클라우드 주식회사 Method, computer system, and computer program to provide data analysis environment with controlled tempering
KR102633150B1 (en) * 2021-09-15 2024-02-02 네이버클라우드 주식회사 Method, computer system, and computer program to provide data analysis environment with controlled tempering

Similar Documents

Publication Publication Date Title
US11062029B2 (en) File sanitization technologies
US8931102B2 (en) Testing web applications for file upload vulnerabilities
US9507933B2 (en) Program execution apparatus and program analysis apparatus
US11005877B2 (en) Persistent cross-site scripting vulnerability detection
KR101228902B1 (en) Cloud Computing-Based System for Supporting Analysis of Malicious Code
KR101436496B1 (en) System for remote diagnosis of malware
KR101825956B1 (en) Computing device and system for file distribution using the same
US10893090B2 (en) Monitoring a process on an IoT device
KR102472523B1 (en) Method and apparatus for determining document action based on reversing engine
US10902125B2 (en) Infected file detection and quarantine system
JP6018344B2 (en) Dynamic reading code analysis apparatus, dynamic reading code analysis method, and dynamic reading code analysis program
US11599637B1 (en) Systems and methods for blocking malicious script execution
JPWO2015178002A1 (en) Information processing apparatus, information processing system, and communication history analysis method
KR102494837B1 (en) Methods and apparatus for for detecting and decoding obfuscated javascript
KR102560431B1 (en) Methods and apparatus for examining malicious behavior of child process
KR102549124B1 (en) Methods and apparatus for for detecting and decoding obfuscated vbscript
KR102488942B1 (en) Methods and apparatus for processing a compressed file with password-based encryption attached to the e-mail
KR102494827B1 (en) Methods and apparatus for detecting malicious macros in non-executable files using ocr
EP3997837A1 (en) Method and system for security management on a mobile storage device

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180827

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 6