KR102143915B1 - Server and method for detecting malware in data files - Google Patents
Server and method for detecting malware in data files Download PDFInfo
- Publication number
- KR102143915B1 KR102143915B1 KR1020180149860A KR20180149860A KR102143915B1 KR 102143915 B1 KR102143915 B1 KR 102143915B1 KR 1020180149860 A KR1020180149860 A KR 1020180149860A KR 20180149860 A KR20180149860 A KR 20180149860A KR 102143915 B1 KR102143915 B1 KR 102143915B1
- Authority
- KR
- South Korea
- Prior art keywords
- encrypted
- data file
- malicious code
- file
- client device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
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)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
본 발명의 일 실시예에 따른, 악성 코드 검출 서버에 의하여 데이터 파일의 악성코드를 검출하는 방법에 있어서, 클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신하는 단계; 상기 암호화된 데이터 파일을, 데이터베이스에 미리 저장되어 있고 동형암호 기법으로 암호화된 악성코드의 시그니처 파일과 비교하는 단계; 및 상기 비교하는 단계에 의하여 산출되는 동형암호 기법으로 암호화된 비교 결과를 상기 클라이언트 장치로 송신하는 단계를 포함하며, 상기 비교 결과는, 상기 데이터 파일의 악성 코드 감염 여부를 나타내는 것인 데이터 파일의 악성코드 검출 방법을 제공하고자 한다.In a method for detecting a malicious code in a data file by a malicious code detection server according to an embodiment of the present invention, a data file encrypted by a homomorphic encryption technique based on a first encryption key previously designated by a user from a client device Receiving; Comparing the encrypted data file with a signature file of a malicious code previously stored in a database and encrypted using a homogeneous encryption technique; And transmitting, to the client device, a comparison result encrypted with the homogeneous encryption method calculated by the comparing step, wherein the comparison result indicates whether the data file is infected with a malicious code. We want to provide a code detection method.
Description
본 발명은 데이터 파일의 악성코드를 검출하는 서버 및 방법에 관한 것으로서, 구체적으로 데이터 파일을 동형암호 기법으로 암호화한 상태에서 악성코드를 검출하는 서버 및 방법에 관한 것이다.The present invention relates to a server and method for detecting a malicious code in a data file, and more specifically, to a server and method for detecting a malicious code in a state where a data file is encrypted using a homogeneous encryption technique.
현재, 웹(Web) 상에 파일을 업로드하여 악성코드를 검출하는 서비스가 상용화되어 있다. 예를 들어, 구글은 VirusTotal이라는 사용자가 업로드한 파일을 분석하여 악성코드의 존재유무를 검사해주는 웹백신을 서비스하고 있다. 하지만 VirusTotal에 업로드한 파일은 서버 상에서 타인에 의해 열람될 가능성이 있으며, 이로 인해 기업 기밀이 유출되는 경우가 발생하고 있는 실정이다.Currently, a service that detects malicious codes by uploading files on the web is commercially available. For example, Google provides a web vaccine that analyzes files uploaded by users called VirusTotal and checks the existence of malicious codes. However, files uploaded to VirusTotal may be viewed by others on the server, and corporate confidentiality may be leaked due to this situation.
이를 방지하기 위하여, 웹 상에 업로드한 파일의 프라이버시를 보존하기 위해서는 파일의 암호화가 필요하지만, 일반적인 암호시스템으로는 암호화된 파일을 복호화 하지 않은 상태에서는 악성코드를 검출할 수 없다. 결국, 악성코드를 검출하기 위해서는 서버 상에서 악성코드를 복호화해야 하므로, 파일의 내용 공개 가능성이 배제되지 않는다는 문제가 있다.To prevent this, encryption of the file is required to preserve the privacy of the file uploaded on the web, but a general encryption system cannot detect malicious code without decrypting the encrypted file. After all, in order to detect the malicious code, the malicious code must be decrypted on the server, so there is a problem that the possibility of disclosure of the contents of the file is not excluded.
상술한 문제를 해결하기 위하여, 본 발명에 따른 데이터 파일의 악성코드 검출 서버 및 방법은 동형암호 기법으로 암호화된 데이터 파일을 암호화된 악성코드의 시그니처 파일과 비교하여 데이터 파일이 암호화된 상태에서 악성코드를 검출할 수 있는 악성코드 검출 서버 및 방법을 제공하고자 한다.In order to solve the above-described problem, the server and method for detecting malicious code of a data file according to the present invention compare a data file encrypted with a homogeneous encryption technique with a signature file of the encrypted malicious code, and the malicious code in the state where the data file is encrypted. To provide a malicious code detection server and method capable of detecting
본 발명의 일 실시예에 따른, 악성 코드 검출 서버에 의하여 데이터 파일의 악성코드를 검출하는 방법에 있어서, 클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신하는 단계; 암호화된 데이터 파일을, 데이터베이스에 미리 저장되어 있고 동형암호 기법으로 암호화된 악성코드의 시그니처 파일과 비교하는 단계; 및 비교하는 단계에 의하여 산출되는 동형암호 기법으로 암호화된 비교 결과를 클라이언트 장치로 송신하는 단계를 포함하며, 비교 결과는, 데이터 파일의 악성 코드 감염 여부를 나타내는 것인 데이터 파일의 악성코드 검출 방법을 제공하고자 한다.In a method for detecting a malicious code in a data file by a malicious code detection server according to an embodiment of the present invention, a data file encrypted by a homomorphic encryption technique based on a first encryption key previously designated by a user from a client device Receiving; Comparing the encrypted data file with a signature file of malicious code previously stored in the database and encrypted using a homogeneous encryption technique; And transmitting the comparison result encrypted with the homogeneous encryption technique calculated by the comparing step to the client device, wherein the comparison result indicates whether the data file is infected with a malicious code. I want to provide.
본 실시예에 있어서, 암호화된 비교 결과는 클라이언트 장치 상에서 제1암호화 키를 기초로 하여 복호화되는, 데이터 파일의 악성코드 검출 방법을 제공할 수 있다.In this embodiment, a method for detecting a malicious code in a data file may be provided in which the encrypted comparison result is decrypted on the client device based on the first encryption key.
본 실시예에 있어서, 비교하는 단계는, 암호화된 데이터 파일과 암호화된 악성코드의 시그니처 파일을 비트단위로 비교 연산하는 것인, 데이터 파일의 악성코드 검출 방법을 제공할 수 있다.In the present embodiment, the comparing step may provide a method of detecting a malicious code of a data file by comparing and calculating an encrypted data file and a signature file of the encrypted malicious code in bit units.
본 실시예에 있어서, 비교하는 단계는, 암호화된 데이터 파일의 비트열과 암호화된 악성코드의 시그니처 파일의 비트열을 배타적 논리합 연산하는 단계; 및 배타적 논리합 연산 결과를 논리합 연산하는 단계를 포함하는, 데이터 파일의 악성코드 검출 방법을 제공할 수 있다.In the present embodiment, the comparing step includes performing an exclusive OR operation on a bit string of an encrypted data file and a bit string of a signature file of the encrypted malicious code; And it is possible to provide a method for detecting a malicious code in a data file, including the step of performing an OR operation on the result of the exclusive OR operation.
본 발명의 다른 실시예에 따른, 악성코드를 검출하기 위한 서버에 있어서, 데이터 파일의 악성코드를 검출하는 프로그램이 저장된 메모리; 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고, 프로세서는 프로그램의 수행에 따라, 클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신하고, 암호화된 데이터 파일을 데이터베이스에 미리 저장되어 있고 동형암호 기법으로 암호화된 악성코드의 시그니처 파일과 비교하고, 비교에 의하여 산출되는 동형암호 기법으로 암호화된 비교 결과를 클라이언트 장치로 송신하며, 비교 결과는, 데이터 파일의 악성 코드 감염 여부를 나타내는 것인 데이터 파일의 악성코드 검출 서버를 제공하고자 한다.According to another embodiment of the present invention, there is provided a server for detecting malicious codes, comprising: a memory storing a program for detecting malicious codes of data files; And a processor executing a program stored in the memory, wherein the processor receives a data file encrypted by the homomorphic encryption method based on the first encryption key previously designated by the user from the client device according to the execution of the program, and the encrypted The data file is previously stored in the database and compared with the signature file of the malicious code encrypted with the homogeneous encryption method, and the comparison result encrypted with the homogeneous encryption method calculated by the comparison is transmitted to the client device, and the comparison result is a data file We intend to provide a server for detecting malicious codes of data files, which indicates whether or not a malicious code is infected.
본 실시예에 있어서, 암호화된 비교 결과는, 클라이언트 장치 상에서 제1암호화 키를 기초로 하여 복호화되는, 데이터 파일의 악성코드 검출 서버를 제공할 수 있다.In this embodiment, the encrypted comparison result can be provided with a server for detecting a malicious code of a data file, which is decrypted on the client device based on the first encryption key.
본 실시예에 있어서, 비교는, 암호화된 데이터 파일과 암호화된 악성코드의 시그니처 파일을 비트단위로 비교 연산하는 것인, 데이터 파일의 악성코드 검출 서버를 제공할 수 있다.In the present embodiment, the comparison may provide a server for detecting a malicious code of a data file by comparing and calculating an encrypted data file and a signature file of the encrypted malicious code in bit units.
본 실시예에 있어서, 비교는, 암호화된 데이터 파일의 비트열과 암호화된 악성코드의 시그니처 파일의 비트열을 배타적 논리합 연산하고, 배타적 논리합 연산 결과를 논리합 연산하는, 데이터 파일의 악성코드 검출 서버를 제공할 수 있다.In the present embodiment, the comparison provides a malicious code detection server for a data file, which performs an exclusive OR operation on the bit string of the encrypted data file and the bit string of the encrypted malware signature file, and the exclusive OR operation result. can do.
본 발명의 일 실시예에 따른 데이터 파일의 악성코드를 검출하는 서버는 동형암호 기법으로 암호화된 데이터 파일과 암호화된 악성코드의 시그니처 파일을 비교하여 암호화된 비교 결과값을 산출하며, 사용자가 이를 클라이언트 장치 상에서 복호화하여 데이터 파일이 악성코드에 감염되어 있는지 여부를 알 수 있으므로, 서버 상에서 암호화된 데이터 파일이 복호화될 필요가 없어서 파일의 내용이 타인에게 유출되는 것을 방지할 수 있다.The server for detecting the malicious code of the data file according to an embodiment of the present invention compares the data file encrypted by the homogeneous encryption technique with the signature file of the encrypted malicious code to calculate an encrypted comparison result value, and the user Since it is possible to know whether the data file is infected with a malicious code by decrypting on the device, the data file encrypted on the server does not need to be decrypted, so that the contents of the file can be prevented from being leaked to others.
도 1은 본 발명의 일 실시예에 따른 데이터 파일의 악성코드 검출 서버의 구성을 보여주는 개략도이다.
도 2는 본 발명의 다른 실시예에 따른 데이터 파일의 악성코드 검출 방법을 보여주는 흐름도이다.
도 3은 암호화된 데이터 파일과 암호화된 악성코드 시그니처 파일을 비교하는 것을 보여주는 개략도이다.
도 4는 암호화된 데이터 파일과 암호화된 악성코드 시그니처 파일을 비트단위로 비교하는 것을 보여주는 개략도이다.1 is a schematic diagram showing the configuration of a server for detecting a malicious code of a data file according to an embodiment of the present invention.
2 is a flowchart showing a method of detecting a malicious code in a data file according to another embodiment of the present invention.
3 is a schematic diagram showing a comparison of an encrypted data file and an encrypted malicious code signature file.
4 is a schematic diagram showing comparison of an encrypted data file and an encrypted malicious code signature file in bit units.
아래에서는 첨부한 도면을 참조하여, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" to another part, this includes "directly connected" and "electrically connected" with another element interposed therebetween. In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
이하에서 언급되는 "클라이언트 장치"는 네트워크를 통해 서버나 타 클라이언트 장치에 접속할 수 있는 컴퓨터나 휴대용 클라이언트 장치로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 클라이언트 장치는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 클라이언트 장치, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, “네트워크”는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다. The "client device" mentioned below may be implemented as a computer or portable client device that can access a server or other client device through a network. Here, the computer includes, for example, a notebook equipped with a web browser, a desktop, and a laptop, and the portable client device is, for example, a wireless communication device that guarantees portability and mobility. As, communication-based client devices such as International Mobile Telecommunication (IMT), Code Division Multiple Access (CDMA), W-Code Division Multiple Access (W-CDMA), and Long Term Evolution (LTE), all such as smartphones, tablet PCs, etc. It may include a type of handheld-based wireless communication device. In addition, “network” refers to a wired network such as a local area network (LAN), a wide area network (WAN), or a value added network (VAN), or a mobile radio communication network or satellite. It can be implemented with any type of wireless network such as a communication network.
이하에서는, 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 데이터 파일의 악성코드 검출 서버(100)에 대하여 설명하기로 한다.Hereinafter, a description will be given of the malicious
도 1은 본 발명의 일 실시예에 따른 데이터 파일의 악성코드 검출 서버(100)의 구성을 보여주는 개략도이다.1 is a schematic diagram showing the configuration of a malicious
도 1을 참조하면, 악성코드 검출 서버(100)는 통신 모듈(110), 메모리(120), 프로세서(130), 데이터베이스(DB: 140)를 포함할 수 있다.Referring to FIG. 1, the malicious
통신 모듈(110)은 통신망과 연동하여 클라이언트 장치에 통신 인터페이스를 제공하는데, 클라이언트 장치로부터 전송되는 데이터 요청을 수신하고, 이에 대한 응답으로 클라이언트 장치에 데이터를 송신하는 역할을 수행할 수 있다. 여기서, 통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The
메모리(120)는 데이터 파일의 악성코드를 검출하는 프로그램이 기록된다. 또한, 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(120)는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In the
프로세서(130)는 데이터 파일의 악성코드를 검출하는 방법을 제공하는 전체 과정을 제어한다. 프로세서(130)가 수행하는 각 단계에 대해서는 도 2를 참조하여 후술하기로 한다.The
여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서 (microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.Here, the
이하에서는, 상술한 악성코드 검출 서버(100)의 구성을 통하여 수행되는 악성코드 검출 방법에 대하여 설명하기로 한다.Hereinafter, a method of detecting a malicious code performed through the configuration of the malicious
도 2는 본 발명의 다른 실시예에 따른 데이터 파일의 악성코드 검출 방법을 보여주는 흐름도이다.2 is a flowchart showing a method of detecting a malicious code in a data file according to another embodiment of the present invention.
도 2를 참조하면, 악성코드 검출 서버(100)에 의하여 데이터 파일의 악성코드를 검출하는 방법에 있어서, 먼저 사용자는 클라이언트 장치에서 제1암호화 키를 사용하여 동형암호 기법으로 데이터 파일을 암호화할 수 있다(S200). 여기서, 제1암호화키는 사용자가 타인이 파일을 열어볼 수 없게 하기 위하여 임의로 설정하는 암호(Password)일 수 있다. Referring to FIG. 2, in the method of detecting a malicious code in a data file by the malicious
그 다음으로, 악성코드 검출 서버(100)는 클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신할 수 있다(S210).Next, the malicious
여기서, 동형암호 기법이란, 서버가 사용자의 다양한 정보를 식별할 수 없게 암호화한 상태에서 데이터를 분석할 수 있는 4세대 암호체계 기술을 의미할 수 있다. 동형암호는 별도의 복호화 과정 없이 암호문 자체만으로 연산이 가능한 암호체계 기술이다. 즉, 암호문 간의 연산 결과를 복호화하면, 평문 간의 연산 결과와 동일한 결과가 나올 수 있다. Here, the homomorphic encryption technique may mean a fourth generation encryption system technology capable of analyzing data in a state in which the server encrypts various information of the user so that it cannot be identified. Homomorphic encryption is a cryptographic system technology that can be operated with only the cipher text itself without a separate decryption process. That is, when the operation result between ciphertexts is decrypted, the same result as the operation result between plaintexts can be obtained.
다만, 동형암호는 정수 간의 연산만을 지원하기 때문에 동형암호를 이용해 데이터를 암호화하기 위해서는 데이터의 유형을 설정해야 한다. 본 발명에서는 사용자가 업로드한 파일을 암호화하는 것이 목적이며, 이를 위해서 데이터 파일을 이진파일 형태로 변형하는 것이 효과적일 수 있다. 이를 통하여, 이진 파일 형태의 데이터 파일을 구성하는 각각의 0과 1비트를 암호화할 수 있다.However, since homomorphic encryption supports only integer-to-integer operations, in order to encrypt data using homomorphic encryption, the data type must be set. An object of the present invention is to encrypt a file uploaded by a user, and for this purpose, it may be effective to transform the data file into a binary file format. Through this, each 0 and 1 bit constituting a data file in the form of a binary file can be encrypted.
그 다음으로 악성 코드 검출 서버(100)는 암호화된 데이터 파일을 데이터베이스(140)에 미리 저장되어 있고 동형암호 기법으로 암호화된 악성코드의 시그니처 파일과 비교할 수 있다(S220). 여기서, 데이터 파일과 악성코드의 시그니처 파일 모두 동형암호 기법으로 암호화되어 있어서, 암호화된 상태에서 서로 비교가 가능한 것이다. 악성코드의 정적분석은 사전에 구축된 악성코드의 시그니처 데이터베이스(140)를 기반으로 수행될 수 있다. 본 발명에서는 데이터베이스(140)에 저장된 악성코드의 시그니처를 동형암호 기법으로 암호화하여, 서버 상에 업로드된 암호화된 데이터 파일과 비교할 수 있다. 이 때, 암호화된 데이터 파일에 암호화된 악성코드의 시그니처 파일과 일치하는 암호문이 있다면 이는 악성코드로 탐지될 것이다.Next, the malicious
예를 들어 2013년 3월 20일에 국내 전산망을 마비시켰던 DarkSeoul 악성코드는 MBR 영역을 파괴하여 부팅이 불가능하게 하는 기능이 포함되어 있었다. 이 경우 시스템을 종료하는 명령어 “shutdown -r -t 0” 등을 악성코드 시그니처로 설정하고, 이 명령어를 포함한 파일을 악성코드로 탐지할 수 있다.For example, the DarkSeoul malware that paralyzed the domestic computer network on March 20, 2013 contained a function that destroyed the MBR area and made it impossible to boot. In this case, the command “shutdown -r -
도 3은 암호화된 데이터 파일과 암호화된 악성코드 시그니처 파일을 비교하는 것을 보여주는 개략도이다. 도 4는 암호화된 데이터 파일과 암호화된 악성코드 시그니처 파일을 비트단위로 비교하는 것을 보여주는 개략도이다.3 is a schematic diagram showing a comparison of an encrypted data file and an encrypted malicious code signature file. 4 is a schematic diagram showing comparison of an encrypted data file and an encrypted malicious code signature file in bit units.
도 3을 참조하면, 상술한 비교 과정은 암호화된 데이터 파일과 암호화된 악성코드의 시그니처 파일을 비트단위로 비교 연산하는 것일 수 있다. 즉, 암호화된 데이터 파일(secret.html)을 이루는 비트열 각각과 복수 개의 암호화된 악성코드의 시그니처 파일 각각의 비트열을 서로 비교 연산하는 것일 수 있다. 암호화된 악성코드의 시그니처 파일의 비트열(String A)이 암호화된 데이터 파일을 구성하는 복수 개의 비트열에 포함되어 있으면, 암호화된 데이터 파일이 악성코드에 감염된 것으로 판단할 수 있는 것이다.Referring to FIG. 3, the above-described comparison process may be a bit-wise comparison operation between an encrypted data file and a signature file of an encrypted malicious code. That is, each bit string constituting the encrypted data file (secret.html) and the bit string of each of the signature files of a plurality of encrypted malicious codes may be compared with each other. If the bit string (String A) of the encrypted malware signature file is included in a plurality of bit strings constituting the encrypted data file, it can be determined that the encrypted data file is infected with the malicious code.
도 4를 참조하면, 구체적으로, 비교 과정은 암호화된 데이터 파일의 비트열과 암호화된 악성코드의 시그니처 파일의 비트열을 배타적 논리합 연산할 수 있다(S221). 도 4의 Num1은 암호화된 데이터 파일의 비트열일 수 있다. Num2는 암호화된 악성코드의 시그니처 파일의 비트열일 수 있다. 여기에서, Num1의 각 열을 구성하는 비트들과 Num2의 각 열을 구성하는 비트들을 각각 비교하여 일치하는 경우 0을 출력하고 불일치하는 경우 1을 출력할 수 있다.Referring to FIG. 4, in detail, in the comparison process, an exclusive OR operation may be performed on a bit string of an encrypted data file and a bit string of a signature file of an encrypted malicious code (S221). Num1 of FIG. 4 may be a bit string of an encrypted data file. Num2 may be a bit string of a signature file of an encrypted malicious code. Here, bits constituting each column of Num1 and bits constituting each column of Num2 may be compared, and 0 may be output if they match, and 1 may be output if they do not match.
그 다음으로, 베타적 논리합 연산 결과 구성하는 각 비트들을 논리합 연산할 수 있다(S222). 구체적으로, 베타적 논리합 연산 결과를 구성하는 비트들을 비교하여 모두 같은 경우 0을 출력하고 다른 경우 1을 출력할 수 있다.Next, the bits constituting the result of the beta OR operation may be ORed (S222). Specifically, the bits constituting the result of the beta OR operation may be compared, and 0 may be output if all are the same and 1 may be output if different.
다시 말하면, 악성 코드 검출 서버(100)는 상술한 암호화된 데이터 파일과 암호화된 악성코드의 시그니처 파일을 서로 비교하여 산출하는 암호화된 비교 결과 값은 도4의 (a)의 경우에 1이 나오고, 도 4의 (b)의 경우에 0이 나올 수 있다.In other words, the encrypted comparison result value calculated by comparing the above-described encrypted data file and the encrypted malicious code signature file with the malicious
그 다음에, 동형암호 기법으로 암호화된 비교 결과를 클라이언트 장치로 송신할 수 있다. 여기서, 비교 결과는 데이터 파일의 악성 코드 감염 여부를 나타내는 것일 수 있다(S230).Then, the comparison result encrypted by the homomorphic encryption technique can be transmitted to the client device. Here, the comparison result may indicate whether the data file is infected with a malicious code (S230).
암호화된 비교 결과는 클라이언트 장치 상에서 제1암호화 키를 기초로 하여 복호화될 수 있다(S240). 이로써, 사용자는 데이터 파일이 약성코드에 감염되었는지 여부를 파악할 수 있다.The encrypted comparison result may be decrypted on the client device based on the first encryption key (S240). In this way, the user can determine whether the data file is infected with the weakening code.
본 발명의 일 실시예에 따른 데이터 파일의 악성코드를 검출하는 서버는 동형암호 기법으로 암호화된 데이터 파일과 암호화된 악성코드의 시그니처 파일을 비교하여 암호화된 비교 결과값을 산출하며, 사용자가 이를 클라이언트 장치 상에서 복호화하여 데이터 파일이 악성코드에 감염되어 있는지 여부를 알 수 있으므로, 서버 상에서 암호화된 데이터 파일이 복호화될 필요가 없어서 파일의 내용이 타인에게 유출되는 것을 방지할 수 있다.The server for detecting the malicious code of the data file according to an embodiment of the present invention compares the data file encrypted by the homogeneous encryption technique with the signature file of the encrypted malicious code to calculate an encrypted comparison result value, and the user Since it is possible to know whether the data file is infected with a malicious code by decrypting on the device, the data file encrypted on the server does not need to be decrypted, so that the contents of the file can be prevented from being leaked to others.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예는 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.
100: 데이터 파일의 악성코드 검출 서버
110: 통신 모듈
120: 메모리
130: 프로세서
140: 데이터베이스100: Data file malware detection server
110: communication module
120: memory
130: processor
140: database
Claims (8)
클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신하는 단계;
상기 암호화된 데이터 파일을, 데이터베이스에 미리 저장되어 있고 동형암호 기법으로 암호화된 악성코드의 명령어를 기초로 설정된 시그니처 파일과 비교하는 단계; 및
상기 비교하는 단계에 의하여 산출되는 동형암호 기법으로 암호화된 비교 결과를 상기 클라이언트 장치로 송신하는 단계를 포함하며,
상기 비교 결과는, 상기 데이터 파일의 악성 코드 감염 여부를 나타내는 것이고,
상기 비교하는 단계는,
상기 암호화된 데이터 파일의 비트열과 상기 암호화된 악성코드의 시그니처 파일의 비트열을 배타적 논리합 연산하는 단계; 및
상기 배타적 논리합 연산 결과를 논리합 연산하는 단계를 포함하는 데이터 파일의 악성코드 검출 방법.In a method of detecting a malicious code of a data file by a data file malicious code detection server,
Receiving a data file encrypted by a homomorphic encryption technique based on a first encryption key previously designated by a user from a client device;
Comparing the encrypted data file with a signature file previously stored in a database and set based on a command of a malicious code encrypted using a homogeneous encryption technique; And
And transmitting the comparison result encrypted with the homomorphic encryption technique calculated by the comparing step to the client device,
The comparison result indicates whether the data file is infected with a malicious code,
The comparing step,
Performing an exclusive OR operation on the bit string of the encrypted data file and the bit string of the encrypted malicious code signature file; And
A method of detecting a malicious code in a data file comprising the step of performing an OR operation on the result of the exclusive OR operation.
상기 암호화된 비교 결과는 상기 클라이언트 장치 상에서 제1암호화 키를 기초로 하여 복호화되는, 데이터 파일의 악성코드 검출 방법.The method of claim 1,
The encrypted comparison result is decrypted on the client device based on a first encryption key.
데이터 파일의 악성코드를 검출하는 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 프로그램의 수행에 따라,
클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신하고, 상기 암호화된 데이터 파일을 데이터베이스에 미리 저장되어 있고 동형암호 기법으로 암호화된 악성코드의 명령어를 기초로 설정된 시그니처 파일과 비교하고, 상기 비교에 의하여 산출되는 동형암호 기법으로 암호화된 비교 결과를 상기 클라이언트 장치로 송신하며,
상기 비교 결과는, 상기 데이터 파일의 악성 코드 감염 여부를 나타내는 것이고, 상기 비교는, 상기 암호화된 데이터 파일의 비트열과 상기 암호화된 악성코드의 시그니처 파일의 비트열을 배타적 논리합 연산하고, 상기 배타적 논리합 연산 결과를 논리합 연산하는 것인 데이터 파일의 악성코드 검출 서버.In the server for detecting malicious codes in data files,
A memory in which a program for detecting malicious codes in data files is stored; And
And a processor that executes a program stored in the memory,
According to the execution of the program, the processor,
Receives a data file encrypted by the homogeneous encryption technique based on the first encryption key previously designated by the user from the client device, and executes the command of the malicious code that is previously stored in the database and encrypted by the homozygous encryption technique. Compared with the signature file set as a basis, and transmits a comparison result encrypted with the homomorphic encryption method calculated by the comparison to the client device,
The comparison result indicates whether the data file is infected with a malicious code, and the comparison is an exclusive OR operation on the bit string of the encrypted data file and the bit string of the encrypted malicious code signature file, and the exclusive OR operation Malware detection server for data files that logically sums the results.
상기 암호화된 비교 결과는, 상기 클라이언트 장치 상에서 제1암호화 키를 기초로 하여 복호화되는, 데이터 파일의 악성코드 검출 서버.The method of claim 5,
The encrypted comparison result is decrypted based on the first encryption key on the client device, the malicious code detection server of the data file.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170160203 | 2017-11-28 | ||
KR1020170160203 | 2017-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190062316A KR20190062316A (en) | 2019-06-05 |
KR102143915B1 true KR102143915B1 (en) | 2020-08-12 |
Family
ID=66845624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180149860A KR102143915B1 (en) | 2017-11-28 | 2018-11-28 | Server and method for detecting malware in data files |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102143915B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220303113A1 (en) * | 2019-12-26 | 2022-09-22 | Kewei ZHENG | Intermediate code encryption method based on fully homomorphic encryption technology and ciphertext virtual machine system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036517A (en) * | 2021-11-02 | 2022-02-11 | 安天科技集团股份有限公司 | Virus identification method and device, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004102310A (en) | 2003-11-17 | 2004-04-02 | Toshiba Corp | Device and method for ciphering |
KR100611679B1 (en) | 2004-07-30 | 2006-08-10 | 주식회사 뉴테크웨이브 | A system for early prevention of computer virus and a method therefor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100992589B1 (en) * | 2008-09-08 | 2010-11-08 | 단국대학교 산학협력단 | Data enciphering method capable of reusing encryption pad and device thereof |
KR101337874B1 (en) * | 2010-12-31 | 2014-01-28 | 주식회사 안랩 | System and method for detecting malwares in a file based on genetic map of the file |
-
2018
- 2018-11-28 KR KR1020180149860A patent/KR102143915B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004102310A (en) | 2003-11-17 | 2004-04-02 | Toshiba Corp | Device and method for ciphering |
KR100611679B1 (en) | 2004-07-30 | 2006-08-10 | 주식회사 뉴테크웨이브 | A system for early prevention of computer virus and a method therefor |
Non-Patent Citations (1)
Title |
---|
Hoi Ting Poon et al, "Scanning for Viruses on Encrypted Cloud Storage"(2016.)* |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220303113A1 (en) * | 2019-12-26 | 2022-09-22 | Kewei ZHENG | Intermediate code encryption method based on fully homomorphic encryption technology and ciphertext virtual machine system |
Also Published As
Publication number | Publication date |
---|---|
KR20190062316A (en) | 2019-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102157560B1 (en) | System and method for verifying the integrity of electronic devices | |
US9992023B2 (en) | System for transparent authentication across installed applications | |
JP6545136B2 (en) | System and method for encrypted transmission of web pages | |
US9448949B2 (en) | Mobile data vault | |
CN113196702A (en) | System and method for distributed data storage and transfer using blockchains | |
US20180091487A1 (en) | Electronic device, server and communication system for securely transmitting information | |
EP3229165A1 (en) | Controlling access to application data | |
US9882720B1 (en) | Data loss prevention with key usage limit enforcement | |
US8181028B1 (en) | Method for secure system shutdown | |
KR20150107796A (en) | Trusted data processing in the public cloud | |
JP2011507414A (en) | System and method for protecting data safety | |
US20130290731A1 (en) | Systems and methods for storing and verifying security information | |
US9692596B2 (en) | Bluesalt security | |
TW201427366A (en) | Method and appliance of decrypting files for data leakage protection in an enterprise network | |
KR102311336B1 (en) | Position-fixed iot device for protecting secure storage access information and method for protecting secure storage access information for position-fixed iot device | |
KR102143915B1 (en) | Server and method for detecting malware in data files | |
CN112733180A (en) | Data query method and device and electronic equipment | |
CN110674525A (en) | Electronic equipment and file processing method thereof | |
KR20230124027A (en) | Privacy Enhanced Computing with Quarantine Encryption | |
TWI655550B (en) | Data forwarding system | |
JP4684714B2 (en) | File management system and program | |
US20130290732A1 (en) | Systems and methods for storing and verifying security information | |
CN114826729B (en) | Data processing method, page updating method and related hardware | |
US20140056428A1 (en) | Methods and systems for securely accessing translation resource manager | |
KR102244764B1 (en) | Storage device and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |