KR102143915B1 - Server and method for detecting malware in data files - Google Patents

Server and method for detecting malware in data files Download PDF

Info

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
Application number
KR1020180149860A
Other languages
Korean (ko)
Other versions
KR20190062316A (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 고려대학교 산학협력단
Publication of KR20190062316A publication Critical patent/KR20190062316A/en
Application granted granted Critical
Publication of KR102143915B1 publication Critical patent/KR102143915B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic 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

데이터 파일의 악성코드 검출 서버 및 방법{SERVER AND METHOD FOR DETECTING MALWARE IN DATA FILES}Server and method for detecting malicious codes in data files {SERVER AND METHOD FOR DETECTING MALWARE IN DATA FILES}

본 발명은 데이터 파일의 악성코드를 검출하는 서버 및 방법에 관한 것으로서, 구체적으로 데이터 파일을 동형암호 기법으로 암호화한 상태에서 악성코드를 검출하는 서버 및 방법에 관한 것이다.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 code detection server 100 of a data file according to an embodiment of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 데이터 파일의 악성코드 검출 서버(100)의 구성을 보여주는 개략도이다.1 is a schematic diagram showing the configuration of a malicious code detection server 100 of a data file according to an embodiment of the present invention.

도 1을 참조하면, 악성코드 검출 서버(100)는 통신 모듈(110), 메모리(120), 프로세서(130), 데이터베이스(DB: 140)를 포함할 수 있다.Referring to FIG. 1, the malicious code detection server 100 may include a communication module 110, a memory 120, a processor 130, and a database (DB: 140).

통신 모듈(110)은 통신망과 연동하여 클라이언트 장치에 통신 인터페이스를 제공하는데, 클라이언트 장치로부터 전송되는 데이터 요청을 수신하고, 이에 대한 응답으로 클라이언트 장치에 데이터를 송신하는 역할을 수행할 수 있다. 여기서, 통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The communication module 110 provides a communication interface to a client device by interworking with a communication network, and may serve to receive a data request transmitted from the client device and transmit data to the client device in response thereto. Here, the communication module 110 may be a device including hardware and software necessary to transmit and receive signals such as control signals or data signals through wired or wireless connection with other network devices.

메모리(120)는 데이터 파일의 악성코드를 검출하는 프로그램이 기록된다. 또한, 메모리(120)는 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(120)는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In the memory 120, a program for detecting malicious codes in data files is recorded. Also, the memory 120 performs a function of temporarily or permanently storing data processed by the processor 130. Here, the memory 120 may include a volatile storage medium or a non-volatile storage medium, but the scope of the present invention is not limited thereto.

프로세서(130)는 데이터 파일의 악성코드를 검출하는 방법을 제공하는 전체 과정을 제어한다. 프로세서(130)가 수행하는 각 단계에 대해서는 도 2를 참조하여 후술하기로 한다.The processor 130 controls the entire process of providing a method of detecting malicious codes in data files. Each step performed by the processor 130 will be described later with reference to FIG. 2.

여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서 (microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.Here, the processor 130 may include all types of devices capable of processing data, such as a processor. Here, the'processor' may refer to a data processing device embedded in hardware, which has a circuit physically structured to perform a function represented by a code or instruction included in a program. As an example of a data processing device built into the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated (ASIC) circuit), a field programmable gate array (FPGA), and the like, but the scope of the present invention is not limited thereto.

이하에서는, 상술한 악성코드 검출 서버(100)의 구성을 통하여 수행되는 악성코드 검출 방법에 대하여 설명하기로 한다.Hereinafter, a method of detecting a malicious code performed through the configuration of the malicious code detecting server 100 will be described.

도 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 code detection server 100, first, a user can encrypt a data file using a homogeneous encryption technique using a first encryption key in a client device. Yes (S200). Here, the first encryption key may be a password arbitrarily set by the user to prevent others from opening and viewing the file.

그 다음으로, 악성코드 검출 서버(100)는 클라이언트 장치로부터 사용자가 미리 지정한 제1암호화 키를 기초로 하여 동형암호 기법으로 암호화된 데이터 파일을 수신할 수 있다(S210).Next, the malicious code detection server 100 may receive a data file encrypted by the homomorphic encryption technique based on the first encryption key previously designated by the user from the client device (S210).

여기서, 동형암호 기법이란, 서버가 사용자의 다양한 정보를 식별할 수 없게 암호화한 상태에서 데이터를 분석할 수 있는 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 code detection server 100 may compare the encrypted data file with the signature file of the malicious code that is previously stored in the database 140 and encrypted by the homogeneous encryption technique (S220). Here, both the data file and the signature file of the malicious code are encrypted using the homogeneous encryption technique, so that they can be compared with each other in the encrypted state. The static analysis of the malicious code may be performed based on the signature database 140 of the malicious code built in advance. In the present invention, the signature of the malicious code stored in the database 140 may be encrypted using a homogeneous encryption technique, and compared with the encrypted data file uploaded on the server. At this time, if there is a cipher text in the encrypted data file that matches the signature file of the encrypted malicious code, it will be detected as a malicious code.

예를 들어 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 -t 0” that shuts down the system is set as the malicious code signature, and the file containing this command can be detected as malicious code.

도 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 code detection server 100 is 1 in the case of Fig. 4A, In the case of (b) of FIG. 4, 0 may appear.

그 다음에, 동형암호 기법으로 암호화된 비교 결과를 클라이언트 장치로 송신할 수 있다. 여기서, 비교 결과는 데이터 파일의 악성 코드 감염 여부를 나타내는 것일 수 있다(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항에 있어서,
상기 암호화된 비교 결과는 상기 클라이언트 장치 상에서 제1암호화 키를 기초로 하여 복호화되는, 데이터 파일의 악성코드 검출 방법.
The method of claim 1,
The encrypted comparison result is decrypted on the client device based on a first encryption key.
삭제delete 삭제delete 데이터 파일의 악성코드를 검출하기 위한 서버에 있어서,
데이터 파일의 악성코드를 검출하는 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 프로그램의 수행에 따라,
클라이언트 장치로부터 사용자가 미리 지정한 제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.
제5항에 있어서,
상기 암호화된 비교 결과는, 상기 클라이언트 장치 상에서 제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.
삭제delete 삭제delete
KR1020180149860A 2017-11-28 2018-11-28 Server and method for detecting malware in data files KR102143915B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Hoi Ting Poon et al, "Scanning for Viruses on Encrypted Cloud Storage"(2016.)*

Cited By (1)

* Cited by examiner, † Cited by third party
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