WO2021106172A1 - ルール生成装置およびルール生成プログラム - Google Patents

ルール生成装置およびルール生成プログラム Download PDF

Info

Publication number
WO2021106172A1
WO2021106172A1 PCT/JP2019/046682 JP2019046682W WO2021106172A1 WO 2021106172 A1 WO2021106172 A1 WO 2021106172A1 JP 2019046682 W JP2019046682 W JP 2019046682W WO 2021106172 A1 WO2021106172 A1 WO 2021106172A1
Authority
WO
WIPO (PCT)
Prior art keywords
rule
malware
unit
candidates
traces
Prior art date
Application number
PCT/JP2019/046682
Other languages
English (en)
French (fr)
Inventor
祐馬 黒米
裕平 川古谷
誠 岩村
勇人 大月
三好 潤
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US17/774,478 priority Critical patent/US20220391505A1/en
Priority to JP2021561090A priority patent/JP7315023B2/ja
Priority to PCT/JP2019/046682 priority patent/WO2021106172A1/ja
Publication of WO2021106172A1 publication Critical patent/WO2021106172A1/ja

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the present invention relates to a rule generator and a rule generator.
  • EDR Endpoint Detection & Response
  • IOC Intelligent of Compromise
  • a method called a network signature which automatically generates a rule expressing the communication content at the time of malware execution.
  • malware is executed and analyzed, clustering is performed on the obtained communication content, similar parts are reduced to regular expressions for each cluster, and errors are made based on preset threshold values.
  • the conventional method has a problem that rules for detecting traces of malware cannot be automatically generated with high accuracy.
  • the generated rules contain only a single abstraction regular expression, so other than the traces of the malware that you originally wanted to match.
  • false positives may occur due to matching with traces generated by a normal program or user.
  • the rule generator of the present invention uses the analysis result of malware as a rule candidate for detecting traces of malware, and each rule candidate has a different degree of abstraction.
  • An optimization unit that calculates evaluation values for each of the enumeration unit that enumerates and the rule candidates enumerated by the enumeration unit using a predetermined evaluation function, and selects rules from the rule candidates based on the evaluation values. It is characterized by having and.
  • FIG. 1 is a diagram showing an example of the configuration of the rule generator according to the first embodiment.
  • FIG. 2 is a diagram illustrating an outline of processing by the enumeration unit.
  • FIG. 3 is a diagram illustrating a detailed processing example by the regular expression generation unit.
  • FIG. 4 is a diagram illustrating a detailed processing example by the rule-making unit.
  • FIG. 5 is a diagram illustrating an outline of processing by the optimization unit.
  • FIG. 6 is a diagram illustrating an outline of processing by the optimization unit.
  • FIG. 7 is a diagram illustrating an outline of processing by the output unit.
  • FIG. 8 is a flowchart showing an example of the flow of the rule generation process in the rule generation device according to the first embodiment.
  • FIG. 9 is a diagram showing a computer that executes a rule generation program.
  • FIG. 1 is a diagram showing an example of the configuration of the rule generator according to the first embodiment.
  • the rule generation device 10 is a device that automatically generates rules for detecting traces of malware from the analysis results of malware.
  • the rule generation device 10 has a communication unit 11, a storage unit 12, and a control unit 13. Each part will be described below.
  • the communication unit 11 is a communication interface for transmitting and receiving various information to and from other devices connected via a network or the like.
  • the communication unit 11 is realized by a NIC (Network Interface Card) or the like, and communicates between another device and the control unit 14 via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • NIC Network Interface Card
  • the storage unit 12 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk, and is a processing program or a processing program for operating the rule generation device 10. Data used during execution of is stored.
  • a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk, and is a processing program or a processing program for operating the rule generation device 10. Data used during execution of is stored.
  • the control unit 13 has an internal memory for storing a program that defines various processing procedures and required data, and executes various processing by these.
  • the control unit 13 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit 13 includes an enumeration unit 131, an optimization unit 132, and an output unit 133.
  • the enumeration unit 131 enumerates rule candidates having different abstraction levels as rule candidates for detecting traces of malware by using the analysis result of malware. For example, the enumeration unit 131 divides the traces of malware included in the analysis result of malware into each cluster based on the similarity between the traces of malware, and each cluster has one of three stages of low, medium, and high. Generate regular expressions for rule candidates with one or more levels of abstraction.
  • the enumeration unit 131 has a clustering unit 131a, a regular expression generation unit 131b, and a rule-making unit 131c.
  • FIG. 2 is a diagram illustrating an outline of processing by the enumeration unit.
  • the enumeration unit 131 acquires a malware sample analysis result group as a malware analysis result, as illustrated in FIG.
  • the malware sample analysis result group includes labels, hash values, traces, and additional information for each sample.
  • the trace may include any item such as a file writing destination, a registry writing destination, a process argument, a communication destination, etc., as long as it is an item permitted by the IOC specifications.
  • items that are not allowed in the specifications and other explanations may be described as additional information.
  • the enumeration unit 131 may acquire the malware sample analysis result group from an external analysis device, or may acquire it from the storage unit 12 if it is stored in the storage unit 12 in advance.
  • the clustering unit 131a clusters the trace list for each malware label and divides similar traces into clusters. For example, the clustering unit 131a may calculate the similarity of traces based on the similarity as a character string, and may divide the traces into a plurality of clusters based on the calculated similarity.
  • the regular expression generation unit 131b generates a regular expression for each given cluster at each level of abstraction of low, medium, and high.
  • the rule-making unit 131c collates each regular expression with the label of the malware detection analysis result group of the generation source and makes a rule.
  • the enumeration unit 131 enumerates the rules ruled by the rule making unit 131c as rule candidates.
  • FIG. 3 is a diagram illustrating a detailed processing example by the regular expression generation unit.
  • the regular expression generation unit 131b divides each trace into layers for each given cluster (see (1) in FIG. 3). For example, the regular expression generation unit 131b divides the hierarchy with " ⁇ " when the trace is a file path.
  • the regular expression generation unit 131b prepares a candidate set of regular expressions for each divided hierarchy, deletes duplicates if the character strings match exactly, and adds them to the candidate set. If the character strings do not exactly match, the regular expression generator 131b generates a regular expression with one or more abstractions of low, medium, and high, and adds it to the candidate set (FIG. 3). See (2)).
  • the regular expression generation unit 131b uses an OR operator to combine non-common subsequences starting from the common subsequence as a regular expression with a low degree of abstraction. Generate a representation and add it to the candidate set.
  • the regular expression generation unit 131b generates a regular expression indicating the character type and the character string length as a regular expression having an abstraction degree of "medium", and uses the candidate set as a candidate set. to add. Further, for example, if the character strings do not have the same length, the regular expression generation unit 131b generates a regular expression that matches an arbitrary character string as a regular expression with a high degree of abstraction, and adds it to the candidate set. You may try to do it.
  • the regular expression generation unit 131b combines each element for the candidate set of each layer (see (3) in FIG. 3). For example, the regular expression generation unit 131b combines the elements as they are if the element of the candidate set in the next layer is 1. If the regular expression generation unit 131b has a plurality of elements in the candidate set of the next hierarchy, the regular expression generation unit 131b adds itself to the candidate set of its own hierarchy again and then combines the next elements.
  • FIG. 4 is a diagram illustrating a detailed processing example by the rule-making unit.
  • the rule-making unit 131c receives the input of the regular expression generated by the regular expression generation unit 131b as the input from the regular expression generation unit 131b
  • the rule-making unit 131c refers to the malware sample analysis result group and inputs the input. Matches which type of trace of which label of the malware sample analysis result group matches the regular expression of.
  • the rule-making unit 131c makes a rule and outputs the input regular expression by using the collated label and the trace information.
  • the optimization unit 132 calculates evaluation values for the rule candidates enumerated by the enumeration unit 131 using a predetermined evaluation function, and based on the evaluation values, among the rule candidates. Select the rules.
  • the evaluation function may be any function, and for example, it is assumed that the evaluation value can be calculated based on at least one of the detection rate and the false detection rate.
  • the optimization unit 132 samples a subset from the set of rule candidates, refers to the analysis result for each subset, and refers to the detection rate, false positive rate, the number of items of each rule candidate, the size of the rule set, and the rule. Evaluation values are calculated based on one or more of the overlap rates of each other, and rules are selected based on the evaluation values.
  • the optimization unit 132 has a search unit 132a and a rule collation unit 132b.
  • the outline of the processing by the optimization unit 132 will be described with reference to FIGS. 5 and 6.
  • 5 and 6 are diagrams illustrating an outline of processing by the optimization unit. As shown in FIGS. 5 and 6, when the search unit 132a receives the set of rule candidates generated by the rule making unit 131c, the search unit 132a initializes the evaluation value list.
  • the search unit 132a samples the subset from the rule set, and inputs the subset to the rule collation unit 132b.
  • the rule collation unit 132b evaluates the input subset based on the detection rate and false detection rate for the malware sample analysis result group, the number of items of each rule, the size of the rule set, the duplication rate of each rule, and the like.
  • the value is calculated, and the evaluation value is input to the search unit 132a. That is, the search unit 132a calculates the evaluation value by an evaluation function in which the higher the detection rate and the lower the false positive rate, the larger the evaluation value. Further, the evaluation value is assumed to be larger as the number of items of each rule is smaller, the size of the rule set is smaller, and the duplication rate of each rule is lower.
  • the search unit 132a When the search unit 132a receives the evaluation value of the subset from the rule collation unit 132b, the search unit 132a adds the received evaluation value to the evaluation value list. After that, the search unit 132a repeats the process of sampling the subset from the rule set and inputting it to the rule collation unit 132b. The rule collating unit 132b calculates the evaluation value of the subset each time the subset is input. The search unit 132a may be repeated until a subset of all patterns is sampled from the set of rule candidates, or may be repeated until a predetermined condition is satisfied. After that, the search unit 132a outputs the rule included in the subset having the highest evaluation value in the evaluation value list to the output unit 133.
  • the output unit 133 adds the malware information included in the analysis result to the rules selected by the optimization unit 132 and outputs the information. For example, as illustrated in FIG. 7, the output unit 133 receives the rule input from the search unit 132a described above, and adds additional information and a hash value included in the malware sample analysis result group to the rule. .. Then, the output unit 133 outputs a file in a format (for example, xml, json, etc.) that can be accepted by the monitoring software using the IOC.
  • FIG. 7 is a diagram illustrating an outline of processing by the output unit.
  • FIG. 8 is a flowchart showing an example of the flow of the rule generation process in the rule generation device according to the first embodiment.
  • the enumeration unit 131 of the rule generation device 10 acquires a malware sample analysis result group as a malware analysis result (step S101). Then, the enumeration unit 131 clusters the trace list for each malware label and divides similar traces into clusters (step S102).
  • the enumeration unit 131 generates a regular expression with a different degree of abstraction for each cluster (step S103). Then, each regular expression is collated with the label of the malware detection analysis result group of the generation source to form a rule, and the regular expressions are listed as rule candidates (step S104).
  • the optimization unit 132 samples a subset from the rule set (step S105) and calculates an evaluation value for the subset (step S106). Then, the optimization unit 132 determines whether or not the predetermined repetition end condition is satisfied (step S107), and if it is determined that the condition is not satisfied (step S107 is denied), returns to step S105 and repeats the process. ..
  • step S107 when the optimization unit 132 satisfies the predetermined repetition end condition (step S107 affirmative), the optimization unit 132 selects the rule included in the subset having the highest evaluation value (step S108). Then, the output unit 133 adds additional information or the like to the selected rule and outputs it (step S109).
  • the rule generation device 10 enumerates and enumerates the rule candidates having different abstractions as the rule candidates for detecting the trace of the malware by using the analysis result of the malware. Evaluation values are calculated for each of the rule candidates using a predetermined evaluation function, and rules are selected from the rule candidates based on the evaluation values. Therefore, the rule generation device 10 can accurately and automatically generate rules for detecting traces of malware.
  • the IOC In the IOC, it is required to express the traces created by the behavior, not the terminal behavior itself. For this reason, the IOC needs to describe a regular expression that expresses the traces created by malware in a form with few false positives.
  • the IOC since the IOC is premised on the use case of reading and writing the IOC in the process of being used by security analysts for analysis, it is necessary to describe regular expressions and explanations in a format that is easy for humans to see. As described above, the IOC is required to have a group of rules with high accuracy and high interpretability.
  • rule candidates having different levels of abstraction are listed as rule candidates, and evaluation values are calculated for each of the listed rule candidates using a predetermined evaluation function. Since the rules are selected from the rule candidates based on the evaluation value, it is possible to generate an IOC group with high accuracy and high interpretability. In addition, the rule generator 10 can generate an IOC group that can be immediately used by the EDR service.
  • each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
  • FIG. 8 is a diagram showing a computer that executes a rule generation program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052.
  • the video adapter 1060 is connected to, for example, the display 1061.
  • the hard disk drive 1090 stores, for example, OS1091, application program 1092, program module 1093, and program data 1094. That is, the program that defines each process of the rule generator 10 is implemented as a program module 1093 in which a code that can be executed by a computer is described.
  • the program module 1093 is stored in, for example, the hard disk drive 1090.
  • a program module 1093 for executing a process similar to the functional configuration in the device is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 as needed, and executes the program.
  • the program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network or WAN. Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

ルール生成装置(10)は、マルウェアの解析結果を用いて、マルウェアの痕跡を検知するためのルールの候補として、それぞれ異なる抽象度のルール候補を列挙する。そして、ルール生成装置(10)は、列挙したルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別する。

Description

ルール生成装置およびルール生成プログラム
 本発明は、ルール生成装置およびルール生成プログラムに関する。
 近年、マルウェアの痕跡を検知するためのルールに基づきマルウェアが端末上に作成する痕跡を検知し、セキュリティアナリストによる分析結果のフィードバックを提供するサービスとして、EDR(Endpoint Detection & Response)が知られている。また、このようなマルウェアの痕跡を検知するためのルールとして、IOC(Indicator of Compromise)が知られている。IOCには、例えば、マルウェアによって作成されるファイルパス、レジストリキー、プロセス引数、通信先ホスト名、通信先IPアドレス等のマルウェアの痕跡が記載されている。
 また、従来、ネットワークシグネチャと呼ばれる、マルウェア実行時の通信内容を表現したルールの自動生成方法が知られている。例えば、ルールの自動生成方法として、マルウェアを実行して解析し、得られた通信内容に対してクラスタリングを施し、クラスタごとに類似箇所を正規表現に縮約し、あらかじめ設定した閾値に基づいて誤検知の少ない正規表現をルール群として選択する方法が存在する。
Roberto Perdisci, Wenke Lee, and Nick Feamster. 2010. 「Behavioral Clustering of HTTP-based Malware and Signature Generation Using Malicious Network Traces」In Proceedings of the 7th USENIX Conference on Networked Systems Design and Implementation (NSDI’10). 26-26. "mandiant/OpenIOC_1.1"、[online]、GitHub 、[2019年11月20日検索]、インターネット<https://github.com/mandiant/OpenIOC_1.1
 従来の方法では、マルウェアの痕跡を検知するためのルールを精度よく自動的に生成することができないという課題があった。例えば、ネットワークシグネチャのルール自動生成方法をIOCの自動生成に適用した場合に、生成されたルールが、単一の抽象度の正規表現しか含まないがために、本来のマッチさせたいマルウェアによる痕跡以外の正常なプログラムやユーザによって生成された痕跡とマッチしてしまい、誤検知が発生する場合があるという課題があった。
 上述した課題を解決し、目的を達成するために、本発明のルール生成装置は、マルウェアの解析結果を用いて、マルウェアの痕跡を検知するためのルールの候補として、それぞれ異なる抽象度のルール候補を列挙する列挙部と、前記列挙部によって列挙されたルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別する最適化部とを有することを特徴とする。
 本発明によれば、マルウェアの痕跡を検知するためのルールを精度よく自動的に生成することができるという効果を奏する。
図1は、第1の実施形態に係るルール生成装置の構成の一例を示す図である。 図2は、列挙部による処理の概要を説明する図である。 図3は、正規表現生成部による詳しい処理例について説明する図である。 図4は、ルール化部による詳しい処理例について説明する図である。 図5は、最適化部による処理の概要を説明する図である。 図6は、最適化部による処理の概要を説明する図である。 図7は、出力部による処理の概要を説明する図である。 図8は、第1の実施形態に係るルール生成装置におけるルール生成処理の流れの一例を示すフローチャートである。 図9は、ルール生成プログラムを実行するコンピュータを示す図である。
 以下に、本願に係るルール生成装置およびルール生成プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係るルール生成装置およびルール生成プログラムが限定されるものではない。
[第1の実施形態]
 以下の実施の形態では、第1の実施形態に係るルール生成装置10の構成、ルール生成装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
[ルール生成装置の構成]
 まず、図1を用いて、ルール生成装置10の構成について説明する。図1は、第1の実施形態に係るルール生成装置の構成の一例を示す図である。ルール生成装置10は、マルウェアの解析結果からマルウェアの痕跡を検知するためのルールを自動生成する装置である。
 図1に示すように、ルール生成装置10は、通信部11、記憶部12及び制御部13を有する。以下では、各部について説明する。
 通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部14との間の通信を行う。
 記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、ルール生成装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
 制御部13は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部13は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部13は、列挙部131、最適化部132および出力部133を有する。
 列挙部131は、マルウェアの解析結果を用いて、マルウェアの痕跡を検知するためのルールの候補として、それぞれ異なる抽象度のルール候補を列挙する。例えば、列挙部131は、マルウェアの解析結果に含まれるマルウェアの痕跡を、マルウェアの痕跡同士の類似度を基に各クラスタに分割し、クラスタごとに低、中、高の3段階のうちいずれか一つまたは複数の抽象度でルール候補の正規表現を生成する。
 列挙部131は、クラスタリング部131a、正規表現生成部131bおよびルール化部131cを有する。ここで、図2を用いて、列挙部131による処理の概要を説明する。図2は、列挙部による処理の概要を説明する図である。まず、列挙部131は、図2に例示するように、マルウェアの解析結果として、マルウェア検体解析結果群を取得する。
 マルウェア検体解析結果群は、検体ごとにラベル・ハッシュ値・痕跡・付加情報を含む。また、痕跡にはファイル書き込み先・レジストリ書き込み先・プロセス引数・通信先等、IOCの仕様上許容される項目であれば任意のものを含んでもよい。また、マルウェア検体解析結果群は、仕様上許容されない項目およびその他の説明等は付加情報として記載されていてもよい。なお、列挙部131は、このマルウェア検体解析結果群を外部の解析装置から取得してもよいし、予め記憶部12に記憶されている場合には記憶部12から取得してもよい。
 クラスタリング部131aは、マルウェアのラベルごとに痕跡リストに対してクラスタリングを施し、類似した痕跡をクラスタに分割する。例えば、クラスタリング部131aは、痕跡の類似度は文字列としての類似度に基づいて算出し、算出した類似度を基に複数のクラスタに分割してもよい。
 続いて、正規表現生成部131bは、与えられたクラスタごとに低・中・高の各抽象度で正規表現を生成する。そして、ルール化部131cは、各正規表現を生成元のマルウェア検知解析結果群のラベルと照合し、ルール化する。列挙部131は、ルール化部131cによってルール化されたルールをルール候補として列挙する。
 ここで、図3を用いて、正規表現生成部131bによる詳しい処理例について説明する。図3は、正規表現生成部による詳しい処理例について説明する図である。図3に例示するように、正規表現生成部131bは、与えられたクラスタごとに、各痕跡を階層ごとに分割する(図3の(1)参照)。例えば、正規表現生成部131bは、痕跡がファイルパスの場合には、「¥」で階層を分割する。
 そして、正規表現生成部131bは、分割した階層ごとに、正規表現の候補集合を用意し、もし文字列が完全一致すれば重複を削除し、候補集合に追加する。また、文字列が完全一致しない場合には、正規表現生成部131bは、低・中・高のいずれか一つまたは複数の抽象度で正規表現を生成し、候補集合に追加する(図3の(2)参照)。
 例えば、正規表現生成部131bは、もし文字列が共通部分列から開始する場合には、抽象度「低」の正規表現として、共通部分列からはじまり共通しない部分列をOR演算子で結合した正規表現を生成し、候補集合に追加する。
 また、例えば、正規表現生成部131bは、もし文字列が同じ長さである場合には、抽象度「中」の正規表現として、文字種と文字列長を示す正規表現を生成し、候補集合に追加する。また、例えば、正規表現生成部131bは、もし文字列が同じ長さでない場合には、抽象度「高」の正規表現として、任意の文字列にマッチする正規表現を生成し、候補集合に追加するようにしてもよい。
 そして、正規表現生成部131bは、各階層の候補集合について、各要素を結合する(図3の(3)参照)。例えば、正規表現生成部131bは、もし次の階層の候補集合の要素が1である場合には、そのまま要素を結合する。また、正規表現生成部131bは、もし次の階層の候補集合の要素が複数である場合には、自身の階層の候補集合に自身を再度追加した後、次の要素を結合する。
 次に、図4を用いて、ルール化部131cによる詳しい処理例について説明する。図4は、ルール化部による詳しい処理例について説明する図である。図4に例示するように、ルール化部131cは、正規表現生成部131bからの入力として、正規表現生成部131bが生成した正規表現の入力を受け付けると、マルウェア検体解析結果群を参照し、入力の正規表現がマルウェア検体解析結果群のどのラベルのどの種類の痕跡にマッチするかを照合する。そして、ルール化部131cは、照合したラベルと痕跡の情報を用いて、入力された正規表現をルール化して出力する。
 図1の説明に戻って、最適化部132は、列挙部131によって列挙されたルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別する。なお、評価関数は、どのような関数であってもよいが、例えば、検知率および誤検知率のうち、少なくともいずれか一方に基づいて評価値が算出可能な関数であるものとする。例えば、最適化部132は、ルール候補の集合から部分集合をサンプリングし、各部分集合について、解析結果を参照し、検知率、誤検知率、各ルール候補の項目数、ルール集合のサイズ、ルール同士の重複率のいずれか一つまたは複数に基づいて、評価値をそれぞれ算出し、該評価値に基づいてルールを選別する。
 最適化部132は、探索部132aおよびルール照合部132bを有する。ここで、図5および図6を用いて、最適化部132による処理の概要を説明する。図5および図6は、最適化部による処理の概要を説明する図である。図5及び図6に示すように、探索部132aは、ルール化部131cによって生成されたルール候補の集合を受け取ると、評価値リストを初期化する。
 そして、探索部132aは、ルール集合から部分集合をサンプリングし、ルール照合部132bに部分集合を入力する。ルール照合部132bは、入力された部分集合について、マルウェア検体解析結果群に対する検知率および誤検知率、各ルールの項目数、ルール集合のサイズ、各ルールの重複率等を基に部分集合に対する評価値を算出し、評価値を探索部132aに入力する。つまり、探索部132aは、検知率が高いほど、誤検知率が低いほど、評価値が大きくなる評価関数で、評価値を算出する。また、評価値は、各ルールの項目数が少ないほど、ルール集合のサイズが小さいほど、各ルールの重複率が低いほど、値が大きくなるものとする。
 探索部132aは、ルール照合部132bから部分集合の評価値を受け付けると、受け付けた評価値を評価値リストに追加する。その後、探索部132aは、ルール集合から部分集合をサンプリングし、ルール照合部132bに入力する処理を繰り返す。ルール照合部132bは、部分集合が入力されるたびに、部分集合の評価値を算出する。なお、探索部132aは、ルール候補の集合から全パターンの部分集合をサンプリングするまで繰り返してもよいし、所定の条件を満たすまで繰り返してもよい。その後、探索部132aは、評価値リストにおいて最も評価値の高い部分集合に含まれるルールを出力部133に出力する。
 図1の説明に戻って、出力部133は、最適化部132によって選別されたルールに、解析結果に含まれるマルウェアの情報を付与して出力する。例えば、出力部133は、図7に例示するように、前述した探索部132aから入力されたルールを受け付け、該ルールに対して、マルウェア検体解析結果群に含まれる付加情報およびハッシュ値を付与する。その上で、出力部133は、IOCを用いる監視ソフトウェアが受理可能な形式(例えば、xml、json等)でファイルを出力する。図7は、出力部による処理の概要を説明する図である。
[ルール生成装置の処理手順]
 次に、図8を用いて、第1の実施形態に係るルール生成装置10による処理手順の例を説明する。図8は、第1の実施形態に係るルール生成装置におけるルール生成処理の流れの一例を示すフローチャートである。
 図8に例示するように、ルール生成装置10の列挙部131は、マルウェアの解析結果として、マルウェア検体解析結果群を取得する(ステップS101)。そして、列挙部131は、マルウェアのラベルごとに痕跡リストに対してクラスタリングを施し、類似した痕跡をクラスタに分割する(ステップS102)。
 続いて、列挙部131は、クラスタごとに異なる抽象度で正規表現を生成する(ステップS103)。そして、各正規表現を生成元のマルウェア検知解析結果群のラベルと照合してルール化し、ルール候補として列挙する(ステップS104)。
 最適化部132は、ルール集合から部分集合をサンプリングし(ステップS105)、部分集合に対する評価値を算出する(ステップS106)。そして、最適化部132は、所定の繰り返し終了条件を満たしたか否かを判定し(ステップS107)、満たしていないと判定した場合には(ステップS107否定)、ステップS105に戻って、処理を繰り返す。
 また、最適化部132は、所定の繰り返し終了条件を満たした場合には(ステップS107肯定)、評価値が最も高い部分集合に含まれるルールを選別する(ステップS108)。そして、出力部133は、選別されたルールに対して付加情報等を付与して出力する(ステップS109)。
[第1の実施形態の効果]
 このように、第1の実施形態に係るルール生成装置10は、マルウェアの解析結果を用いて、マルウェアの痕跡を検知するためのルールの候補として、それぞれ異なる抽象度のルール候補を列挙し、列挙したルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別する。このため、ルール生成装置10は、マルウェアの痕跡を検知するためのルールを精度よく自動的に生成することが可能である。
 IOCにおいては、端末挙動それ自体ではなく、挙動によって生まれる痕跡の表現が求められる。このため、IOCでは、マルウェアが作成する痕跡を誤検知の少ない形で表す正規表現が記載されている必要がある。また、IOCは、セキュリティ分析官が分析に活用する過程でIOCを読み書きするユースケースを前提としているため、人が見てわかりやすい形式の正規表現および説明文が記載されている必要がある。このように、IOCは、高精度かつ高解釈性のルール群が求められる。
 第1の実施形態に係るルール生成装置10によれば、ルールの候補として、それぞれ異なる抽象度のルール候補を列挙し、列挙したルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別するので、高精度かつ高解釈性のIOC群を生成できるという効果を奏する。また、ルール生成装置10は、EDRサービスで即座に利用可能なIOC群を生成できる。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図8は、ルール生成プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、ルール生成装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施の形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク、WANを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 ルール生成装置
 11 通信部
 12 記憶部
 13 制御部
 131 列挙部
 131a クラスタリング部
 131b 正規表現生成部
 131c ルール化部
 132 最適化部
 132a 探索部
 132b ルール照合部
 133 出力部

Claims (8)

  1.  マルウェアの解析結果を用いて、マルウェアの痕跡を検知するためのルールの候補として、それぞれ異なる抽象度のルール候補を列挙する列挙部と、
     前記列挙部によって列挙されたルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別する最適化部と
     を有することを特徴とするルール生成装置。
  2.  前記列挙部は、前記マルウェアの解析結果に含まれるマルウェアの痕跡を、マルウェアの痕跡同士の類似度を基に複数のクラスタに分割し、クラスタごとに低、中、高の3段階のうちいずれか一つまたは複数の抽象度で前記ルール候補の正規表現を生成することを特徴とする請求項1に記載のルール生成装置。
  3.  前記最適化部は、前記ルール候補の集合から部分集合をサンプリングし、各部分集合について、前記解析結果を参照し、検知率、誤検知率、各ルール候補の項目数、ルール集合のサイズ、ルール同士の重複率のいずれか一つまたは複数に基づいて、評価値をそれぞれ算出し、該評価値に基づいてルールを選別することを特徴とする請求項1または2に記載のルール生成装置。
  4.  前記最適化部によって選別されたルールに、前記解析結果に含まれる前記マルウェアの情報を付与して出力する出力部をさらに有することを特徴とする請求項1~3のいずれか一つに記載のルール生成装置。
  5.  マルウェアの解析結果を用いて、マルウェアの痕跡を検知するためのルールの候補として、それぞれ異なる抽象度のルール候補を列挙する列挙ステップと、
     前記列挙ステップによって列挙されたルール候補について、所定の評価関数を用いて評価値をそれぞれ算出し、該評価値に基づいてルール候補のなかからルールを選別する最適化ステップと
     をコンピュータに実行させることを特徴とするルール生成プログラム。
  6.  前記列挙ステップは、前記マルウェアの解析結果に含まれるマルウェアの痕跡を、マルウェアの痕跡同士の類似度を基に複数のクラスタに分割し、クラスタごとに低、中、高の3段階のうちいずれか一つまたは複数の抽象度で前記ルール候補の正規表現を生成することを特徴とする請求項5に記載のルール生成プログラム。
  7.  前記最適化ステップは、前記ルール候補の集合から部分集合をサンプリングし、各部分集合について、前記解析結果を参照し、検知率、誤検知率、各ルール候補の項目数、ルール集合のサイズ、ルール同士の重複率のいずれか一つまたは複数に基づいて、評価値をそれぞれ算出し、該評価値に基づいてルールを選別することを特徴とする請求項5または6に記載のルール生成プログラム。
  8.  前記最適化ステップによって選別されたルールに、前記解析結果に含まれる前記マルウェアの情報を付与して出力する出力ステップをさらに有することを特徴とする請求項5~7のいずれか一つに記載のルール生成プログラム。
PCT/JP2019/046682 2019-11-28 2019-11-28 ルール生成装置およびルール生成プログラム WO2021106172A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/774,478 US20220391505A1 (en) 2019-11-28 2019-11-28 Rule generating device and rule generating program
JP2021561090A JP7315023B2 (ja) 2019-11-28 2019-11-28 ルール生成装置およびルール生成プログラム
PCT/JP2019/046682 WO2021106172A1 (ja) 2019-11-28 2019-11-28 ルール生成装置およびルール生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/046682 WO2021106172A1 (ja) 2019-11-28 2019-11-28 ルール生成装置およびルール生成プログラム

Publications (1)

Publication Number Publication Date
WO2021106172A1 true WO2021106172A1 (ja) 2021-06-03

Family

ID=76128674

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046682 WO2021106172A1 (ja) 2019-11-28 2019-11-28 ルール生成装置およびルール生成プログラム

Country Status (3)

Country Link
US (1) US20220391505A1 (ja)
JP (1) JP7315023B2 (ja)
WO (1) WO2021106172A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023089674A1 (ja) * 2021-11-16 2023-05-25 日本電信電話株式会社 生成装置、生成方法および生成プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258497A (ja) * 2004-03-09 2005-09-22 Hitachi Ltd ルール組合せ作成方法、装置及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9323931B2 (en) * 2013-10-04 2016-04-26 Bitdefender IPR Management Ltd. Complex scoring for malware detection
TWI515600B (zh) * 2013-10-25 2016-01-01 緯創資通股份有限公司 惡意程式防護方法與系統及其過濾表格更新方法
US9563771B2 (en) * 2014-01-22 2017-02-07 Object Security LTD Automated and adaptive model-driven security system and method for operating the same
WO2015114804A1 (ja) 2014-01-31 2015-08-06 株式会社日立製作所 不正アクセスの検知方法および検知システム
EP3099024B1 (en) * 2014-03-19 2019-01-02 Nippon Telegraph and Telephone Corporation Analysis rule adjustment device, analysis rule adjustment system, analysis rule adjustment method, and analysis rule adjustment program
US9832219B2 (en) * 2014-09-05 2017-11-28 International Business Machines Corporation System for tracking data security threats and method for same
US10303873B2 (en) * 2015-03-18 2019-05-28 Nippon Telegraph And Telephone Corporation Device for detecting malware infected terminal, system for detecting malware infected terminal, method for detecting malware infected terminal, and program for detecting malware infected terminal
RU2634211C1 (ru) * 2016-07-06 2017-10-24 Общество с ограниченной ответственностью "Траст" Способ и система анализа протоколов взаимодействия вредоносных программ с центрами управления и выявления компьютерных атак

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258497A (ja) * 2004-03-09 2005-09-22 Hitachi Ltd ルール組合せ作成方法、装置及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HATADA MITSUHIRO , MORI TATSUYA: "Evaluation of clustering analysis based on malware traffic model", IEICE TECHNICAL REPORT, vol. 116, no. 131, 7 July 2019 (2019-07-07), pages 59 - 64, XP055597007 *
KOIDE, SHUN KOIDE; KUROMAI, YUMA: "Attack collection /Analysis and IOC Auto-generation technology for total active defense service", BIJINESU KOMYUNIKESHON - BUSINESS COMMUNICATION, vol. 56, no. 4, 1 April 2019 (2019-04-01), pages 62 - 64, XP009529131, ISSN: 0385-695X *
ROBERTO PERDICI , WENKE LEE , NICK FEAMSTER: "Behavioral Clustering of HTTP-Based Malware and Signature Generation Using Malicious Network Traces", USENIX, 25 February 2010 (2010-02-25), pages 1 - 14, XP061032394 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023089674A1 (ja) * 2021-11-16 2023-05-25 日本電信電話株式会社 生成装置、生成方法および生成プログラム

Also Published As

Publication number Publication date
JP7315023B2 (ja) 2023-07-26
JPWO2021106172A1 (ja) 2021-06-03
US20220391505A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
Liao et al. Soliaudit: Smart contract vulnerability assessment based on machine learning and fuzz testing
US10545746B2 (en) Biosequence-based approach to analyzing binaries
CN106997367B (zh) 程序文件的分类方法、分类装置和分类系统
US20120311709A1 (en) Automatic management system for group and mutant information of malicious codes
EP3051767A1 (en) Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation
WO2022180702A1 (ja) 解析機能付与装置、解析機能付与プログラム及び解析機能付与方法
CN109145592A (zh) 检测异常事件的系统和方法
CN111414402A (zh) 一种日志威胁分析规则生成方法及装置
WO2023177442A1 (en) Data traffic characterization prioritization
US11070575B2 (en) Verifying accuracy of ML pipelines using third party co-ordination
WO2021106172A1 (ja) ルール生成装置およびルール生成プログラム
JP6954466B2 (ja) 生成方法、生成装置および生成プログラム
JP2017004097A (ja) 情報分析システム、情報分析方法
US20080222149A1 (en) Collation Regression Testing
CN111338958A (zh) 一种测试用例的参数生成方法、装置及终端设备
KR20210035987A (ko) 자카드 모델 기반의 문서 검색 장치 및 방법
JP6777612B2 (ja) コンピュータシステムにおけるデータ損失を防止するためのシステム及び方法
WO2023067668A1 (ja) 解析機能付与方法、解析機能付与装置及び解析機能付与プログラム
US20220237289A1 (en) Automated malware classification with human-readable explanations
KR102289408B1 (ko) 해시 코드 기반의 검색 장치 및 검색 방법
KR101564999B1 (ko) 스크립트진단장치 및 스크립트 진단 방법
CN111488287A (zh) 注入漏洞测试用例的生成方法、装置、介质及电子设备
KR20210024748A (ko) Gan을 이용한 문서형 악성코드 탐지 장치 및 방법
CN115809466B (zh) 基于stride模型的安全需求生成方法、装置、电子设备及介质
JPWO2020070918A1 (ja) 変換装置及び変換プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19954099

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021561090

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19954099

Country of ref document: EP

Kind code of ref document: A1