JP2021093101A - Method of detecting malicious code included in electronic document file by using homomorphic encryption - Google Patents

Method of detecting malicious code included in electronic document file by using homomorphic encryption Download PDF

Info

Publication number
JP2021093101A
JP2021093101A JP2019231613A JP2019231613A JP2021093101A JP 2021093101 A JP2021093101 A JP 2021093101A JP 2019231613 A JP2019231613 A JP 2019231613A JP 2019231613 A JP2019231613 A JP 2019231613A JP 2021093101 A JP2021093101 A JP 2021093101A
Authority
JP
Japan
Prior art keywords
malicious code
electronic document
code detection
document file
detection server
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2019231613A
Other languages
Japanese (ja)
Inventor
キホン キム
Ki-Hong Kim
キホン キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Saint Security Inc
Original Assignee
Saint Security Inc
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 Saint Security Inc filed Critical Saint Security Inc
Publication of JP2021093101A publication Critical patent/JP2021093101A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide a method for determining whether an electronic document file is infected with a malicious code or not before the electronic document file is opened by a third person.SOLUTION: A method of detecting a malicious code of an electronic document which is executed in an environment equipped with a malicious code detection server, an electronic document creation terminal, and an electronic document receiving terminal includes: a first step of receiving, by the malicious code detection server, a homomorphically encrypted electronic document file; a second step of executing, by the malicious code detection server, pattern matching on the homomorphically encrypted electronic document file received in the first step and on a homomorphic encryption file of malicious code patterns; and a third step of decrypting, by the malicious code detection server, a result value of the pattern matching in the second step.SELECTED DRAWING: Figure 2

Description

本発明は、電子文書ファイルの内部に悪性コードが含まれているか否かを判断する方法に係り、さらに詳しくは、電子文書の内容を第三者に公開せずに、悪性コードを探知することのできる方法に関する。 The present invention relates to a method of determining whether or not a malicious code is contained inside an electronic document file, and more specifically, detecting the malicious code without disclosing the contents of the electronic document to a third party. About how you can do it.

データ通信網を介して転送されて受信される数多くの電子ファイルに悪性コードを植え込み、ユーザ端末やサーバに被害を与える事例が益々増えつつある。悪性コードは、ユーザ端末やサーバを作動不能な状態に陥らせたり、ユーザ端末またはサーバから個人情報を奪取したりするなどの害を及ぼしている。 Increasingly, there are increasing cases where malicious codes are implanted in a large number of electronic files that are transferred and received via a data communication network, causing damage to user terminals and servers. Malicious code causes harm such as inoperable user terminal or server, or stealing personal information from user terminal or server.

近年、電子文書ファイルに悪性コードを植え込んで攻撃する事例が増えている。電子文書ファイルは、ユーザが日常において業務用として多く使うファイルであり、運用体制に比べて相対的に安全性が低いので、相対的に悪性コードを感染させやすいという問題があった。 In recent years, there have been an increasing number of cases of attacking by implanting malicious code in electronic document files. Electronic document files are files that users often use for business purposes in their daily lives, and are relatively less secure than the operation system, so there is a problem that they are relatively easy to infect malicious codes.

しかも、電子文書ファイルを多く用いる企業や公共機関を狙ったAPT(Advanced Persistent Threat)攻撃も多くなっている。 Moreover, APT (Advanced Persistence Threat) attacks targeting companies and public institutions that use a lot of electronic document files are also increasing.

電子文書ファイルが悪性コードに感染されているか否かを判断するためには、受信される電子文書ファイルを開いて確認する過程を経なければならない。通常、セキュリティ会社または電子文書管理ソリューション会社が電子文書ファイルを開き、当該電子文書ファイルが悪性コードに感染されたか否かを判断する。 In order to determine whether an electronic document file is infected with malicious code, it is necessary to go through the process of opening and checking the received electronic document file. Usually, a security company or an electronic document management solution company opens an electronic document file and determines whether the electronic document file is infected with malicious code.

ところが、電子文書ファイルは、通常の実行ファイルとは異なり、その内容に機密性を要することが多くある。従来のような悪性コード感染判断方法によれば、電子文書ファイルの所有者または文書内容を閲覧できる権限を有する者以外の第三主体が電子文書ファイルの内容を見てしまう危険性がある。特に、個人情報保護法の強化により、電子文書ファイル内に個人情報が含まれている場合があるが、上記法律によれば、個人情報を暗号化して管理しなければならず、セキュリティ会社などが悪性コード感染の判断のために、当該電子文書ファイルを開いたとき、個人情報が流出する恐れが大きくなる可能性がある。 However, unlike ordinary executable files, electronic document files often require confidentiality in their contents. According to the conventional malicious code infection determination method, there is a risk that a third party other than the owner of the electronic document file or a person who has the authority to view the document contents may see the contents of the electronic document file. In particular, due to the strengthening of the Personal Information Protection Law, personal information may be included in electronic document files, but according to the above law, personal information must be encrypted and managed, and security companies etc. When the electronic document file is opened for the determination of malicious code infection, there is a possibility that personal information may be leaked.

本発明は、電子文書ファイルの内容を第三者が開かなかった状態で、電子文書ファイルが悪性コードに感染されたか否かを判断することのできる方法を提供することを目的とする。 An object of the present invention is to provide a method capable of determining whether or not an electronic document file is infected with a malicious code without opening the contents of the electronic document file by a third party.

本発明は、悪性コード探知サーバと、電子文書作成端末と、電子文書受信端末と、を備える環境において行われる電子文書の悪性コード探知方法に関するものであって、前記方法は、悪性コード探知サーバが、同型暗号化(homomorphic encryption)された電子文書ファイルを受信する第一段階と、悪性コード探知サーバが、第一段階で受信した同型暗号化された電子文書ファイルと、悪性コードパターンの同型暗号化ファイルとに対して、パターンマッチング演算を行う第二段階と、悪性コード探知サーバが、第二段階のパターンマッチング演算の結果値を復号化する第三段階と、を含む。 The present invention relates to a method for detecting a malicious code of an electronic document performed in an environment including a malicious code detection server, an electronic document creation terminal, and an electronic document receiving terminal. The first stage of receiving a homomorphic encryption electronic document file, and the homomorphic encryption of the malicious code pattern received by the malicious code detection server in the first stage. It includes a second stage in which the pattern matching operation is performed on the file, and a third stage in which the malicious code detection server decodes the result value of the pattern matching operation in the second stage.

本発明に係る電子文書の悪性コード探知方法は、悪性コード探知サーバが、第三段階の復号化値を電子文書受信端末に転送する第四段階をさらに含んでもよい。 The method for detecting a malicious code of an electronic document according to the present invention may further include a fourth step in which the malicious code detection server transfers the decrypted value of the third step to the electronic document receiving terminal.

本発明の他の形態に係る電子文書悪性コード探知方法は、悪性コード探知サーバが、同型暗号化された電子文書ファイルを受信する第一段階と、悪性コード探知サーバが、同型暗号化された電子文書ファイルから暗号化されたOLE(Object Linking and Embedding)オブジェクト及び暗号化されたバイナリデータのうち少なくともいずれか一つを抽出しまたは選択する第二段階と、悪性コード探知サーバが、第二段階で抽出されまたは選択された暗号化されたOLEオブジェクト及びバイナリデータのうち少なくともいずれか一つと、悪性コードパターンの同型暗号化ファイルとに対して、パターンマッチング演算を行う第三段階と、悪性コード探知サーバが、第三段階のパターンマッチング演算の結果値を復号化する第四段階と、を含む。 In the electronic document malicious code detection method according to another embodiment of the present invention, the malicious code detection server receives the same type encrypted electronic document file in the first step, and the malicious code detection server uses the same type encrypted electronic data. The second step is to extract or select at least one of the encrypted OLE (Object Linking and Embedding) object and the encrypted binary data from the document file, and the malicious code detection server is in the second step. A third step of performing a pattern matching operation on at least one of the extracted or selected encrypted OLE objects and binary data and an encrypted file of the same type of the malicious code pattern, and a malicious code detection server. Includes a fourth step of decoding the result value of the pattern matching operation of the third step.

本発明に係る悪性コード探知方法は、コンピュータで読み取り可能な記録媒体に記録されたコンピュータプログラムにより実行されてもよい。 The malicious code detection method according to the present invention may be executed by a computer program recorded on a computer-readable recording medium.

本発明によれば、電子文書ファイルの内容を第三者に露出させずに、当該電子文書ファイルに悪性コードが含まれているか否かを容易に探知することができるので、電子文書の機密性が維持されながら、安全性も増大させるという作用効果が提供される。 According to the present invention, it is possible to easily detect whether or not the electronic document file contains a malicious code without exposing the contents of the electronic document file to a third party, and thus the confidentiality of the electronic document. Is provided, while maintaining the effect of increasing safety.

本発明が行われる環境の一例を示す図である。It is a figure which shows an example of the environment where this invention is performed. 本発明により悪性コードを探知する方法の流れ図である。It is a flow chart of the method of detecting a malignant code by this invention. 本発明の他の実施例により悪性コードを探知する方法の流れ図である。It is a flow chart of the method of detecting a malignant code by another Example of this invention. 電子文書ファイルの構造の一例を示す図である。It is a figure which shows an example of the structure of an electronic document file. 図3の実施例による悪性コード探知方法が用いられる電子文書ファイルの構造の一例を示す図である。It is a figure which shows an example of the structure of the electronic document file which uses the malicious code detection method by the Example of FIG.

本明細書において行われる情報(データ)転送/受信過程は、必要に応じて、暗号化/復号化が適用されてもよく、本明細書及び特許請求の範囲において、情報(データ)転送過程を説明する表現は、別に言及されなくても、全て暗号化/復号化することも含むものと解釈されなければならない。本明細書において、「AからBへ転送(送達)」または「AがBから受信」のような表現は、中間に他の媒介体が含まれて転送(伝達)または受信されることを含み、AからBまで直接転送(伝達)または受信されることのみを表現するものではない。本発明の説明における各段階の順序は、先行段階が論理的及び時間的に必ず後行段階に先立って行われなければならない場合でなければ、各段階の順序は非制限的に理解されるべきである。すなわち、このような例外的な場合を除いては、後行段階として説明された過程が、先行段階として説明された過程よりも先だって行われても、発明の本質には影響せず、権利範囲も、段階の順序を問わず定義されなければならない。また、本明細書において、「AまたはB」は、AとBのうちいずれか一つを選択的に指すだけでなく、AとBの全てを含むことを意味するものと定義される。また、本明細書において、「含む」という用語は、含むものとして羅列された要素以外に他の構成要素をさらに含む意味を有する。 The information (data) transfer / reception process performed in the present specification may be encrypted / decrypted, if necessary, and within the scope of the present specification and claims, the information (data) transfer process may be applied. All expressions described should be construed as including encryption / decryption, unless otherwise stated. In the present specification, expressions such as "transfer (delivery) from A to B" or "A receives from B" include transfer (transmission) or reception with other mediators in between. , A to B does not represent only direct transfer (transmission) or reception. The order of each step in the description of the present invention should be understood in an unrestricted manner unless the preceding step must be logically and temporally performed prior to the following step. Is. That is, except in such exceptional cases, even if the process described as the subsequent stage is performed before the process described as the preceding stage, it does not affect the essence of the invention and the scope of rights. Must also be defined in any order of steps. Further, in the present specification, "A or B" is defined to mean not only selectively referring to any one of A and B but also including all of A and B. Further, in the present specification, the term "including" has a meaning of further including other components in addition to the elements listed as including.

本明細書において、「モジュール」または「ユニット」というのは、汎用的なハードウェアと、その機能を行うソフトウェアとの論理的結合を意味する。 As used herein, the term "module" or "unit" means a logical connection between general-purpose hardware and software that performs its functions.

本明細書では、本発明を説明するために必要な最小限の構成要素のみを説明し、本発明の本質と関係ない構成要素については言及していない。また、言及される構成要素のみを含む排他的な意味として解釈されてはならず、言及されていない他の構成要素も含んでもよい非排他的な意味として解釈されなければならい。 In the present specification, only the minimum components necessary for explaining the present invention are described, and no components unrelated to the essence of the present invention are mentioned. Also, it must not be construed as an exclusive meaning that includes only the components mentioned, and must be construed as a non-exclusive meaning that may include other components not mentioned.

本発明は、電子的な演算が可能なコンピュータ、サーバコンピュータ、スマートフォンのようなモバイルデバイスなどの電子的演算装置により行われ、後述する本発明の各段階の数学的演算及び算出は、当該演算または算出を行うために公知されているコーディング法及び/または本発明に適合するように考案されたコーディングにより、コンピュータプログラムの実行による演算で実現され得る。本発明を実行するコンピュータプログラムは、コンピュータにより読み取り可能な記録媒体に保存されてもよい。 The present invention is performed by an electronic calculation device such as a computer capable of electronic calculation, a server computer, or a mobile device such as a smartphone, and the mathematical calculation and calculation at each stage of the present invention described later are the calculation or the calculation. Coding methods known for performing calculations and / or coding devised to conform to the present invention can be realized by arithmetic operations by executing computer programs. The computer program that executes the present invention may be stored on a computer-readable recording medium.

また、本明細書において、「値」というのは、スカラー値のみならず、ベクトル及び行列、多項式などの数式で表現され得る全ての値を含む広義の概念として定義される。 Further, in the present specification, "value" is defined as a concept in a broad sense including not only scalar values but also all values that can be expressed by mathematical expressions such as vectors, matrices, and polynomials.

本明細書において、特定値に対して暗号化またはハッシュなどのような演算を行い、所定の値を得るということは、当該特定値のみならず、当該特定値の変形値(例えば、特定値に所定の値をさらに演算し、または所定の規則により当該特定値を変化させるなどの過程により算出された他の値)に対する暗号化またはハッシュなどの演算も含むものと定義される。 In the present specification, obtaining a predetermined value by performing an operation such as encryption or hashing on a specific value means not only the specific value but also a modified value of the specific value (for example, a specific value). It is defined to include operations such as encryption or hashing on (other values calculated by a process such as further calculating a predetermined value or changing the specific value according to a predetermined rule).

本明細書において説明する例示的な実施例は、本明細書に開示される装置の構造、機能、製作、及び用途と方法の原理についての全般的な理解を提供する。このような一つ以上の実施例が添付図面に示されている。当業者であれば、ここに具体的に記載され、添付図面に示されている装置及び方法が非制限的であり、例示的な実施例であって、本発明の権利範囲は、特許請求の範囲により定義されるということを理解すべきである。一つの例示的な実施例と関連して図示され説明される特徴は、他の実施例の特徴と結合されてもよい。これらの修正または変更は、本発明の権利範囲に含まれるように意図される。 The exemplary embodiments described herein provide a general understanding of the structure, function, fabrication, and principles of use and method of the devices disclosed herein. One or more such embodiments are shown in the accompanying drawings. Those skilled in the art will appreciate that the devices and methods specifically described herein and shown in the accompanying drawings are non-limiting and exemplary, and the scope of the invention is claimed. It should be understood that it is defined by the scope. The features illustrated and described in connection with one exemplary embodiment may be combined with the features of another embodiment. These modifications or modifications are intended to be included in the scope of rights of the present invention.

本明細書の添付図面に示されている装置の各構成要素は、図面に明示的に示された形態、大きさ、寸法のみならず、本発明が意図する機能を行うことのできる形態、大きさ、寸法であれば、いずれも適用可能である。 Each component of the apparatus shown in the accompanying drawings of the present specification is not only in the form, size and dimensions explicitly shown in the drawings, but also in the form and size capable of performing the functions intended by the present invention. Any of the dimensions can be applied.

本明細書において、「電子文書ファイル」とは、ユーザがファイルを実行したとき、視覚的または聴覚的に認知可能な情報を含んでいるファイルであって、このような情報をユーザに提供することを主な目的とする電子ファイルを意味する。電子文書ファイルの例としては、マイクロソフト社のワードプロセッサファイル(拡張子は、dоcまたはdоcx)、エクセルファイル(拡張子は、xlsまたはxlsx)、パワーポイントファイル(拡張子は、pptまたはpptx)などがある。 As used herein, the term "electronic document file" is a file that contains information that is visually or audibly recognizable when the user executes the file, and provides such information to the user. Means an electronic file whose main purpose is. Examples of electronic document files include Microsoft word processor files (extension: dоc or dоcx), Excel files (extension: xls or xlsx), PowerPoint files (extension: ppt or pptx), and the like.

図1には、本発明に係る電子文書の悪性コード探知方法が実行される環境の一例が示されている。 FIG. 1 shows an example of an environment in which the method for detecting a malicious code of an electronic document according to the present invention is executed.

図1に示すように、前記環境は、電子文書作成端末10と、悪性コード探知サーバ20と、電子文書受信端末30と、通信網40と、を備える。 As shown in FIG. 1, the environment includes an electronic document creation terminal 10, a malicious code detection server 20, an electronic document receiving terminal 30, and a communication network 40.

図1の例では、悪性コード探知サーバ20が、電子文書ファイルの悪性コードを探知する別個の構成要素として示されているが、悪性コードを探知する役割をするモジュールまたはユニットが電子文書受信端末30に提供されてもよい。本明細書において、便宜上、「端末」と表記してはいるが、「端末」は、ユーザの個人端末のみならず、「サーバコンピュータ」の概念を含むものと定義される。 In the example of FIG. 1, the malicious code detection server 20 is shown as a separate component that detects the malicious code in the electronic document file, but the module or unit that is responsible for detecting the malicious code is the electronic document receiving terminal 30. May be provided to. In the present specification, although the term "terminal" is used for convenience, the term "terminal" is defined to include not only the user's personal terminal but also the concept of "server computer".

通信網40は、有線または無線通信網であって、データ通信が可能なネットワークを意味し、その種類に制限されない。 The communication network 40 is a wired or wireless communication network, and means a network capable of data communication, and is not limited to the type thereof.

図4には、電子文書ファイル100の構造の一例が示されている。 FIG. 4 shows an example of the structure of the electronic document file 100.

電子文書ファイル100には、OLEオブジェクト120とバイナリデータ(BINデータ)140とが含まれる。これらを除いた残りの部分は、図面符号「110」に示した。OLEオブジェクト120は、電子文書ファイルに挿入されるイメージ、動画などの追加のコンテンツオブジェクトである。バイナリデータ140は、電子文書ファイル100の内部に、追加の機能、例えば、音、映像、イメージなどを実現するために、OLEオブジェクトとは別途に、追加の機能を駆動させるために必要なバイナリデータを保存するためのファイル内の空間である。悪性コードを電子文書ファイル100内に挿入しようとするハッカー、または悪性コードの製作者などは、このバイナリデータ140に所望の機能を行う悪性コードを挿入することができる。 The electronic document file 100 includes an OLE object 120 and binary data (BIN data) 140. The rest excluding these is shown by drawing reference numeral "110". The OLE object 120 is an additional content object such as an image, a moving image, etc. that is inserted into the electronic document file. The binary data 140 is the binary data required to drive additional functions inside the electronic document file 100, in addition to the OLE object, in order to realize additional functions such as sound, video, and image. The space in the file for saving. A hacker who wants to insert a malicious code into an electronic document file 100, a creator of a malicious code, or the like can insert a malicious code that performs a desired function into the binary data 140.

本発明は、電子文書ファイルの構造の特別な構成に関するものではなく、電子文書ファイル内に存在し得るOLEオブジェクト120及び/またはバイナリデータ140が悪性コードに感染された場合、これを探知する方法に関するものであるので、電子文書ファイルの一般の構造については、説明を省略する。特に、本発明は、電子文書ファイルの構造にかかわらず、電子文書ファイルに挿入されるOLEオブジェクト120及び/またはバイナリデータ140に基づく悪性コード感染有無の判断方法に関するものであって、電子文書の具体的な構造にかかわらず、権利範囲が及ぼすものと理解されなければならない。 The present invention does not relate to a special configuration of the structure of an electronic document file, but to a method of detecting when an OLE object 120 and / or binary data 140 that may exist in an electronic document file is infected with malicious code. Therefore, the description of the general structure of the electronic document file will be omitted. In particular, the present invention relates to a method for determining the presence or absence of malicious code infection based on the OLE object 120 and / or the binary data 140 inserted in the electronic document file regardless of the structure of the electronic document file, and the specifics of the electronic document. Regardless of the structure, it must be understood that the scope of rights has an effect.

電子文書ファイル100は、所定の暗号キーを用いて同型暗号化される。同型暗号化は、暗号化されたデータの演算の結果値を復号化すると、プレーンテキストデータの演算の結果値が算出される暗号化方式であり、以下のような関係を満たす暗号化方法である。 The electronic document file 100 is type-encrypted using a predetermined encryption key. Homogeneous encryption is an encryption method that calculates the result value of plain text data operation when the result value of the operation of encrypted data is decrypted, and is an encryption method that satisfies the following relationship. ..

Enc(m)+Enc(m)=Enc(m+m
Enc(m)*Enc(m)=Enc(m*m
Enc(*)は、括弧内の値を同型暗号化した値を意味する。
Enc (m 1 ) + Enc (m 2 ) = Enc (m 1 + m 2 )
Enc (m 1 ) * Enc (m 2 ) = Enc (m 1 * m 2 )
Enc (*) means the value in parentheses encrypted with the same type.

同型暗号文間の演算のみでも、プレーンテキストデータの演算結果値を算出することができるので、データ演算のためにプレーンテキストデータを得る復号化過程を経る必要がない。したがって、プレーンテキストデータを露出させずに、様々な演算を介してデータ加工や活用が可能となる。 Since the operation result value of the plain text data can be calculated only by the operation between the same type ciphertexts, it is not necessary to go through the decoding process of obtaining the plain text data for the data operation. Therefore, it is possible to process and utilize plain text data through various operations without exposing it.

電子文書ファイルの同型暗号化は、電子文書作成端末10で行われてもよく、プレーンテキスト電子文書ファイルを別途の同型暗号化モジュールに転送して行われてもよい。 The same type encryption of the electronic document file may be performed by the electronic document creation terminal 10, or may be performed by transferring the plain text electronic document file to another same type encryption module.

同型暗号化された電子文書ファイルは、通信網40を介して悪性コード探知サーバ20が受信する(段階200)。悪性コードを探知する役割をするモジュールまたはユニットが、電子文書受信端末30に提供される場合は、そのモジュールまたはユニットが、同型暗号化された電子文書ファイルを受信する。本明細書では、便宜上、悪性コード探知サーバ20が、悪性コード探知を行うものと説明するが、その過程は、電子文書受信端末30に提供されるモジュールやユニットにより行われてもよいことが理解されるべきである。 The same type encrypted electronic document file is received by the malicious code detection server 20 via the communication network 40 (step 200). When a module or unit that serves to detect malicious code is provided to the electronic document receiving terminal 30, the module or unit receives the same type encrypted electronic document file. In this specification, for convenience, the malicious code detection server 20 describes that the malicious code detection server 20 performs the malicious code detection, but it is understood that the process may be performed by the module or unit provided in the electronic document receiving terminal 30. It should be.

悪性コード探知サーバ20は、悪性コードのパターンデータを有しており、このような悪性コードのパターンデータを同型暗号化した暗号化データと、受信した同型暗号化された電子文書ファイルデータとに対して、パターンマッチング演算を行う(段階210)。同型暗号文間の前記パターンマッチングは、以下のように定義される。 The malicious code detection server 20 has the pattern data of the malicious code, and the encrypted data obtained by homomorphic encryption of the pattern data of the malicious code and the received electronic document file data having the same type encrypted. Then, the pattern matching operation is performed (step 210). The pattern matching between the same type ciphertexts is defined as follows.

Figure 2021093101
Figure 2021093101

「パターンマッチング演算」は、悪性コードパターンに対応するバイトストリームが電子文書ファイルに含まれているか否かを判断する演算であって、例えば、「AND演算」を活用して実現することができる。同型暗号文の特性上、前記演算を同型暗号文に適用しても、その比較演算結果値を暗号化した値が結果値として算出される。 The "pattern matching operation" is an operation for determining whether or not a byte stream corresponding to a malicious code pattern is included in an electronic document file, and can be realized by utilizing, for example, an "AND operation". Due to the characteristics of the homomorphic encryption text, even if the operation is applied to the homomorphic encryption text, the encrypted value of the comparison operation result value is calculated as the result value.

前記数式において、「真」は、電子文書ファイルに悪性コードが含まれていることを示す値であって、このような比較結果を示す値として定義される。これに対して、「偽」は、電子文書ファイルに悪性コードパターンに対応するバイトストリームが存在しないことを示す値であって、このような比較結果を示す値として定義される。 In the above formula, "true" is a value indicating that the electronic document file contains a malicious code, and is defined as a value indicating such a comparison result. On the other hand, "false" is a value indicating that the byte stream corresponding to the malicious code pattern does not exist in the electronic document file, and is defined as a value indicating such a comparison result.

パターンマッチング演算は、本発明のために特別に考案されてもよいが、公開されている同一性の有無を検証する関数を用いもよい。例えば、C言語が提供する「strcmp関数」を用いることができるが、この関数によると、2値が同一であれば、結果値として0を出力する。本発明によると、二つの同型暗号化されたデータ間の前記パターンマッチング演算の結果、一致する部分があれば、結果値として0を同型暗号化した値として出力する。 The pattern matching operation may be specially devised for the present invention, but may use a published function for verifying the presence or absence of identity. For example, the "strcmp function" provided by C language can be used, but according to this function, if the two values are the same, 0 is output as the result value. According to the present invention, if there is a matching portion as a result of the pattern matching operation between two homomorphic encrypted data, 0 is output as a homomorphic encrypted value as a result value.

段階210におけるパターンマッチング演算の結果値が算出されれば、その値は、実際結果値の暗号化値となるので、その値を復号化して実際結果値を得る(段階220)。 If the result value of the pattern matching operation in step 210 is calculated, the value becomes an encrypted value of the actual result value, and therefore the value is decrypted to obtain the actual result value (step 220).

復号化して算出された結果値が「真」に対応する値であれば、電子文書ファイルに悪性コードが含まれていると判断し、結果値が「偽」に対応する値であれば、電子文書ファイルに悪性コードが含まれていないと判断する。結果値は、電子文書受信端末30に転送される。 If the result value calculated by decoding is a value corresponding to "true", it is determined that the electronic document file contains a malicious code, and if the result value is a value corresponding to "false", the electronic document file is electronic. Judge that the document file does not contain malicious code. The result value is transferred to the electronic document receiving terminal 30.

電子文書ファイルが悪性コードを含むと判断されると、悪性コード探知サーバ20及び/または電子文書受信端末30は、所定のセキュリティープログラムにより治癒し、または当該電子文書ファイルを削除することにより、悪性コードの活動を前もって防止することができる。 When it is determined that the electronic document file contains a malicious code, the malicious code detection server 20 and / or the electronic document receiving terminal 30 is cured by a predetermined security program, or the malicious code is deleted by deleting the electronic document file. Activities can be prevented in advance.

図3には、本発明の他の実施例による悪性コード探知方法の流れ図が示されている。 FIG. 3 shows a flow chart of a malignant code detection method according to another embodiment of the present invention.

悪性コード探知サーバ20は、段階300において、同型暗号化された電子文書ファイルを受信する。本実施例では、図2に示した実施例とは異なり、図5に示すように、OLEオブジェクト120とバイナリデータ140が、電子文書ファイルの残りの部分110とそれぞれ別途に同型暗号化されてもよい。或いは、全体の電子文書ファイルを暗号化したファイルから、OLEオブジェクト120を暗号化した部分とバイナリデータ140を暗号化した部分とを抽出してもよい。 The malicious code detection server 20 receives the same type encrypted electronic document file in the stage 300. In this embodiment, unlike the embodiment shown in FIG. 2, as shown in FIG. 5, even if the OLE object 120 and the binary data 140 are separately encrypted with the remaining part 110 of the electronic document file. Good. Alternatively, the encrypted portion of the OLE object 120 and the encrypted portion of the binary data 140 may be extracted from the encrypted file of the entire electronic document file.

電子文書ファイルの通常の構造は、ファイルヘッダ、OLEヘッダ、またバイナリヘッダを含む。ファイルヘッダは、512バイトを占め、0〜64バイトの空間には、電子文書ファイルの固有な特徴を示すフラグが記録され、65〜256バイトの空間には、当該電子文書ファイルが生成した日付、生成子、作成したプログラムのバージョン情報などが記録され、257〜512バイトの空間には、ファイルの構成要素の個数、例えば、テキストの個数、OLEオブジェクトの個数、バイナリの個数などが記録されてもよい。 The usual structure of an electronic document file includes a file header, an OLE header, and a binary header. The file header occupies 512 bytes, a flag indicating the unique characteristics of the electronic document file is recorded in the space of 0 to 64 bytes, and the date when the electronic document file is generated is recorded in the space of 65 to 256 bytes. The generator, version information of the created program, etc. are recorded, and even if the number of file components, for example, the number of texts, the number of OLE objects, the number of binaries, etc. are recorded in the space of 257 to 512 bytes. Good.

OLEヘッダは、513バイト〜Nバイトに記録されるが、前の8バイトには、OLEオブジェクトのサイズが記録され、それ以降のバイト空間には、OLEオブジェクトそのものが記録される。 The OLE header is recorded in 513 bytes to N bytes, the size of the OLE object is recorded in the previous 8 bytes, and the OLE object itself is recorded in the byte space after that.

バイナリヘッダは、N+1バイト以降に記録され、前の8バイトにバイナリサイズが記録され、それ以降のバイト空間には、バイナリデータそのものが記録される。 The binary header is recorded after N + 1 bytes, the binary size is recorded in the previous 8 bytes, and the binary data itself is recorded in the byte space after that.

前記構造を有する電子文書ファイルが同型暗号化されたデータを受信すると、受信したファイルのバイト位置に合わせてOLEオブジェクト乃至バイナリデータの同型暗号化値を抽出することができる。 When the electronic document file having the above structure receives the same type encrypted data, the same type encrypted value of the OLE object or the binary data can be extracted according to the byte position of the received file.

各OLEオブジェクトとバイナリデータを他の構成部分から分けて個別に同型暗号化する場合は、それぞれのOLEオブジェクトとバイナリデータのヘッダに、そのような暗号化を示す情報を含めることにより、追って、それぞれの同型暗号化されたOLEオブジェクトとバイナリデータを容易に選択できるようにする。 If you want to separate each OLE object and binary data from other components and encrypt them individually, you can add information indicating such encryption in the header of each OLE object and binary data. Makes it easy to select the same type encrypted OLE object and binary data.

このようにそれぞれ電子文書ファイルの構成部分が個別に同型暗号化され、または全体的に同型暗号化された電子文書ファイルを受信した悪性コード探知サーバ20は、受信した同型暗号化された電子文書ファイル100に対して、以下のようにOLEオブジェクト120及びバイナリデータ140のうち少なくともいずれか一つを選択しまたは抽出してパターンマッチング演算を行う(段階320)。 In this way, the malicious code detection server 20 that has received the electronic document file in which the components of the electronic document file are individually homozygous or wholly encrypted in the same type receives the received homozygous electronic document file. A pattern matching operation is performed on 100 by selecting or extracting at least one of the OLE object 120 and the binary data 140 as follows (step 320).

Figure 2021093101
Figure 2021093101

電子文書ファイルが全体的に同型暗号化された場合は、同型暗号化された電子文書ファイルからOLEオブジェクト及び/またはバイナリデータの同型暗号化された部分を抽出する過程がさらに必要である。 If the electronic document file is entirely isographically encrypted, a further process is required to extract the isotypicized portion of the OLE object and / or binary data from the homologous encrypted electronic document file.

本実施例によれば、電子文書ファイルの全体に対してパターンマッチング演算を行うのではなく、悪性コードに感染され易いOLEオブジェクト120とバイナリデータの同型暗号化値に対してのみパターンマッチング演算を行うことにより、探知速度を顕著に速くすることができるという長所が提供される。 According to this embodiment, the pattern matching operation is not performed on the entire electronic document file, but the pattern matching operation is performed only on the same type encrypted value of the OLE object 120 and the binary data, which are easily infected with malicious code. This provides the advantage that the detection speed can be significantly increased.

本発明によれば、電子文書ファイルの内容を第三者に露出させずに、当該電子文書ファイルに悪性コードが含まれているか否かを容易に探知することができるので、電子文書の機密性が維持されながら、安全性も増大させるという作用効果が提供される。 According to the present invention, it is possible to easily detect whether or not the electronic document file contains a malicious code without exposing the contents of the electronic document file to a third party, and thus the confidentiality of the electronic document. Is provided, while maintaining the effect of increasing safety.

以上、添付図面を参考して、本発明について説明しているが、本発明の権利範囲は、後述する特許請求の範囲により定められ、上述した実施例及び/または図面に制限されるものと解釈されてはならない。また、特許請求の範囲に記載された発明における当業者にとって自明な改良、変更、及び修正も、本発明の権利範囲に含まれることが明らかに理解されなければならない。 The present invention has been described above with reference to the accompanying drawings, but it is interpreted that the scope of rights of the present invention is defined by the scope of claims described later and is limited to the above-mentioned examples and / or drawings. Must not be. It must also be clearly understood that improvements, modifications, and modifications of the invention described in the claims that are obvious to those skilled in the art are also included in the scope of rights of the present invention.

10 電子文書作成端末
20 悪性コード探知サーバ
30 電子文書受信端末
40 通信網
10 Electronic document creation terminal 20 Malicious code detection server 30 Electronic document reception terminal 40 Communication network

Claims (4)

悪性コード探知サーバと、電子文書作成端末と、電子文書受信端末と、を備える環境において行われる電子文書の悪性コード探知方法において、
悪性コード探知サーバが、同型暗号化(homomorphic encryption)された電子文書ファイルを受信する第一段階と、
悪性コード探知サーバが、第一段階で受信した同型暗号化された電子文書ファイルと、悪性コードパターンの同型暗号化ファイルとに対して、パターンマッチング演算を行う第二段階と、
悪性コード探知サーバが、第二段階のパターンマッチング演算の結果値を復号化する第三段階と、を含む電子文書の悪性コード探知方法。
In a malicious code detection method for electronic documents performed in an environment including a malicious code detection server, an electronic document creation terminal, and an electronic document receiving terminal,
The first step in which the malicious code detection server receives a homomorphic encrypted electronic document file,
The second stage, in which the malicious code detection server performs a pattern matching operation on the same type encrypted electronic document file received in the first stage and the same type encrypted file of the malicious code pattern,
A method for detecting a malicious code in an electronic document, including a third stage in which the malicious code detection server decodes the result value of the pattern matching operation in the second stage.
悪性コード探知サーバが、第三段階の復号化値を電子文書受信端末に転送する第四段階をさらに含む請求項1に記載の電子文書の悪性コード探知方法。 The method for detecting a malicious code of an electronic document according to claim 1, further comprising a fourth stage in which the malicious code detection server transfers the decrypted value of the third stage to the electronic document receiving terminal. 悪性コード探知サーバと、電子文書作成端末と、電子文書受信端末と、を備える環境において行われる電子文書の悪性コード探知方法において、
悪性コード探知サーバが、同型暗号化された電子文書ファイルを受信する第一段階と、
悪性コード探知サーバが、同型暗号化された電子文書ファイルから暗号化されたOLE(Object Linking and Embedding)オブジェクト及び暗号化されたバイナリデータのうち少なくともいずれか一つを抽出しまたは選択する第二段階と、
悪性コード探知サーバが、第二段階で抽出されまたは選択された暗号化されたOLEオブジェクト及びバイナリデータのうち少なくともいずれか一つと、悪性コードパターンの同型暗号化ファイルとに対して、パターンマッチング演算を行う第三段階と、
悪性コード探知サーバが、第三段階のパターンマッチング演算の結果値を復号化する第四段階と、を含む電子文書の悪性コード探知方法。
In a malicious code detection method for electronic documents performed in an environment including a malicious code detection server, an electronic document creation terminal, and an electronic document receiving terminal,
The first step in which the malicious code detection server receives the same type encrypted electronic document file,
The second step in which the malicious code detection server extracts or selects at least one of encrypted OLE (Object Linking and Embedding) objects and encrypted binary data from the same type encrypted electronic document file. When,
The malicious code detection server performs a pattern matching operation on at least one of the encrypted OLE objects and binary data extracted or selected in the second stage and the homomorphic encrypted file of the malicious code pattern. The third step to do and
A method for detecting a malicious code in an electronic document, including a fourth stage in which the malicious code detection server decodes the result value of the pattern matching operation in the third stage.
請求項1乃至3のうちいずれか一項に記載の悪性コード探知方法を実行させるためのプログラムが記録されたコンピュータで読み取り可能な記録媒体。 A computer-readable recording medium in which a program for executing the malicious code detection method according to any one of claims 1 to 3 is recorded.
JP2019231613A 2019-12-10 2019-12-23 Method of detecting malicious code included in electronic document file by using homomorphic encryption Pending JP2021093101A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0163271 2019-12-10
KR20190163271 2019-12-10

Publications (1)

Publication Number Publication Date
JP2021093101A true JP2021093101A (en) 2021-06-17

Family

ID=76313187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019231613A Pending JP2021093101A (en) 2019-12-10 2019-12-23 Method of detecting malicious code included in electronic document file by using homomorphic encryption

Country Status (1)

Country Link
JP (1) JP2021093101A (en)

Cited By (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

Cited By (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

Similar Documents

Publication Publication Date Title
US10284372B2 (en) Method and system for secure management of computer applications
Do et al. Exfiltrating data from android devices
US9602289B2 (en) Steganographic embedding of executable code
US9003531B2 (en) Comprehensive password management arrangment facilitating security
US10637879B2 (en) Systems and methods for detection and mitigation of malicious encryption
US9838198B2 (en) Splitting S-boxes in a white-box implementation to resist attacks
CN106919811B (en) File detection method and device
US20150312039A1 (en) Behavioral fingerprint in a white-box implementation
KR20140099126A (en) Method of securing software using a hash function, Computer readable storage medium of recording the method and a software processing apparatus
KR20130007543A (en) Steganographic messaging system using code invariants
US20150270955A1 (en) Key wrapping for common cryptographic architecture (cca) key token
US20140150101A1 (en) Method for recognizing malicious file
EP3226164B1 (en) Watermarking input and output of a white-box implementation
CN110071937B (en) Login method, system and storage medium based on block chain
EP2922235A1 (en) Security module for secure function execution on untrusted platform
US9641337B2 (en) Interface compatible approach for gluing white-box implementation to surrounding program
CN110245464B (en) Method and device for protecting file
US7779269B2 (en) Technique for preventing illegal invocation of software programs
JP2021093101A (en) Method of detecting malicious code included in electronic document file by using homomorphic encryption
WO2020044095A1 (en) File encryption method and apparatus, device, terminal, server, and computer-readable storage medium
CN104504310A (en) Method and device for software protection based on shell technology
ES2855749T3 (en) Encryption procedure, encryption procedure, devices and corresponding programs
KR101444828B1 (en) Method for storing encrypted image and searching the image
EP2940917A1 (en) Behavioral fingerprint in a white-box implementation
US10909245B1 (en) Secure quarantine of potentially malicious content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211005