WO2021106306A1 - ラベル付与装置およびラベル付与プログラム - Google Patents

ラベル付与装置およびラベル付与プログラム Download PDF

Info

Publication number
WO2021106306A1
WO2021106306A1 PCT/JP2020/033818 JP2020033818W WO2021106306A1 WO 2021106306 A1 WO2021106306 A1 WO 2021106306A1 JP 2020033818 W JP2020033818 W JP 2020033818W WO 2021106306 A1 WO2021106306 A1 WO 2021106306A1
Authority
WO
WIPO (PCT)
Prior art keywords
malware
label
labeled
group
labeling
Prior art date
Application number
PCT/JP2020/033818
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 JP2021561171A priority Critical patent/JP7318731B2/ja
Priority to US17/777,999 priority patent/US20230004645A1/en
Publication of WO2021106306A1 publication Critical patent/WO2021106306A1/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
    • G06F21/561Virus type analysis

Definitions

  • the present invention relates to a labeling device and a labeling program.
  • malware labels may be used when creating datasets used for malware classification.
  • a detection name by anti-virus software hereinafter referred to as anti-virus
  • one label is given to one malware.
  • AVCLASSS AVCLASSS in which one or more label candidates are listed using antiviruses of a plurality of companies, and labels that are normalized / integrated are generated and assigned.
  • the conventional method has a problem that it may not be possible to properly label malware.
  • the label candidates since it is premised that label candidates are generated, if the label candidates are not output, it becomes impossible to label the malware. If the label candidates include a random character string automatically generated by the antivirus as a label, a useful label may not be assigned.
  • the labeling device of the present invention includes a feature extraction unit that extracts the features of the malware to be labeled and each feature of the malware group whose label is known, and the above. Based on the degree of similarity between the characteristics of the malware to be labeled and the characteristics of each feature of the malware group extracted by the feature extraction unit, among the characteristics of the malware group, the characteristics of the malware to be labeled are the most similar. It is characterized by having a labeling unit that identifies the malware or malware group to be used and assigns a label attached to the malware or malware group to the malware to be labeled.
  • FIG. 1 is a diagram showing an example of a configuration of a labeling device according to the first embodiment.
  • FIG. 2 is a diagram illustrating an outline of processing by the list acquisition unit.
  • FIG. 3 is a diagram illustrating an outline of processing by the feature extraction unit and the labeling unit.
  • FIG. 4 is a flowchart showing an example of a flow of labeling processing in the labeling apparatus according to the first embodiment.
  • FIG. 5 is a diagram showing a computer that executes a labeling program.
  • FIG. 1 is a diagram showing an example of a configuration of a labeling device according to the first embodiment.
  • the label assigning device 10 is a device that automatically assigns a label to a sample having an unknown label based on a sample group having a known malware label.
  • the malware group (sample group) whose label is known is not limited to the case where each malware has a unique label, and a plurality of malwares having the same label may be included. ..
  • the labeling device 10 includes a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15. 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 15 via a telecommunication line such as a LAN (Local Area Network) or the Internet.
  • NIC Network Interface Card
  • the input unit 12 is realized by using an input device such as a keyboard or a mouse, and inputs various instruction information such as processing start to the control unit 15 in response to an input operation by the operator.
  • the output unit 13 is realized by a display device such as a liquid crystal display, a printing device such as a printer, or the like.
  • the storage unit 14 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 labeling 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)
  • flash memory Flash Memory
  • Storage unit 14 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 labeling device 10. Data used during execution of is stored.
  • the control unit 15 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 15 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit 15 has a list acquisition unit 15a, a feature extraction unit 15b, and a labeling unit 15c.
  • the list acquisition unit 15a acquires the label candidate list created for the malware, and if the acquired label candidate list is empty, identifies the malware in the label candidate list as the malware to be labeled.
  • FIG. 2 is a diagram illustrating an outline of processing by the list acquisition unit.
  • the list acquisition unit 15a acquires a label candidate list created for a plurality of malware samples.
  • the process of creating the label candidate list may be performed by an external device or the label assigning device 10 by an existing method.
  • the list acquisition unit 15a searches whether there is one or more label candidates in each label candidate list. That is, the list acquisition unit 15a searches whether each label candidate list is empty. Subsequently, when the label candidate list includes a label, the list acquisition unit 15a determines whether or not the label is a randomly generated character string, and determines that the label is a randomly generated character string. If so, the label of the character string is excluded. For example, the list acquisition unit 15a calculates an index "N-gram normality score" or "Meaningful characters ratio" for evaluating whether the character string is a random character string for each label candidate included in each label candidate list. , Labels whose calculated index value is below a certain threshold are excluded from the candidate list.
  • the list acquisition unit 15a excludes labels with a random character string from the label candidates included in the acquired label candidate list as useless label candidates.
  • the list acquisition unit 15a acquires, for example, a label candidate list including "MmNfrHgm40bj1", “Trojan.MmNfrHgm40bj1", and "Olympus" as label candidates.
  • a label candidate list including "MmNfrHgm40bj1", “Trojan.MmNfrHgm40bj1”, and "Olympus" as label candidates.
  • MmNfrHgm40bj1 and “Trojan.MmNfrHgm40bj1” are randomly generated character strings, and only "Olympus" is a useful label.
  • the list acquisition unit 15a determines whether or not the label is a randomly generated character string by using an index such as "N-gram normality score” or "Meaningful characters ratio”, and the list acquisition unit 15a determines whether or not the label is a randomly generated character string. If it is determined that, the label of the character string is excluded as an unuseful label candidate.
  • indicators such as "N-gram normality score” and “Meaningful characters ratio” identify whether or not a given character string is composed of a sequence of characters often found in English words, and this index is used. By using it, for example, it can be determined that "MmNfrHgm40bj1" is a random character string, and "Olympus" is not a random character string.
  • the list acquisition unit 15a identifies the malware sample X in the label candidate list as the malware sample to be labeled.
  • the feature extraction unit 15b extracts the features of the malware to be labeled and each feature of the malware group whose label is known. In addition, the feature extraction unit 15b converts the malware to be labeled and the feature extracted from the malware group whose label is known into a feature vector.
  • the feature extraction unit 15b describes "Byte histogram”, “printable strings”, “file size”, “PE headers”, “sections”, “imports”, etc. for the malware to be labeled and the malware group whose label is known. Extract features such as “exports”. Then, the feature extraction unit 15b converts the extracted features into a vector.
  • the labeling unit 15c is based on the similarity between the characteristics of the malware to be labeled, which are extracted by the feature extraction unit 15b, and the characteristics of the malware group whose label is known, and the labeling unit 15c is the feature of each feature of the malware group whose label is known. Among them, the malware or malware group most similar to the characteristics of the malware to be labeled is identified, and the label given to the malware or malware group is given to the malware to be labeled.
  • the labeling unit 15c calculates the similarity between the feature vector of the malware to be labeled, which is converted by the feature extraction unit 15b, and each feature vector of the malware group whose label is known, and the label is Among the feature vectors of the known malware groups, the malware or the malware group having the highest similarity is identified, and the label given to the malware or the malware group is given to the malware to be labeled.
  • the method for calculating the similarity any existing method may be used.
  • the labeling unit 15c creates a graph in which both the feature vector of the malware group whose label is known and the feature vector of the malware to be labeled are nodes, and the similarity between the nodes is the edge weight. Then, the labeling unit 15c may propagate the label along the weight from a nearby node to which the node of the malware to be labeled is connected (see, for example, Non-Patent Document 3 above). In other words, the labeling unit 15c assigns the label of the node having the most similar feature vector to the malware to be labeled.
  • FIG. 3 is a diagram illustrating an outline of processing by the feature extraction unit and the labeling unit.
  • the feature extraction unit 15b accepts the file of the malware sample X to be labeled and the file group of the malware samples 1 to n whose labels are known as inputs. Then, the feature extraction unit 15b outputs the feature vector of the sample X and the feature vector of the samples 1 to n to the labeling unit 15c.
  • the labeling unit 15c receives input of the feature vector of the sample X and the feature vector of the samples 1 to n from the feature extraction unit 15b. In addition, the label giving unit 15c also accepts the input of the labels of the samples 1 to n generated from the label candidate list by AVCLASS.
  • the process of generating the labels of the samples 1 to n from the label candidate list by AVCLASS may be performed by an external device or the labeling device 10 by an existing method.
  • the labeling unit 15c calculates the similarity between the feature vector of the sample X and each feature vector of the samples 1 to n, and selects the sample or the sample group having the highest similarity among the feature vectors of the samples 1 to n.
  • the label attached to the sample is specified and attached to the malware of the sample X.
  • the labeling device 10 when the detection name candidate list for a certain sample X is empty, the labeling device 10 has the characteristics of the file of the sample X and the files of the malware samples 1 to n that have already been labeled. The characteristics are compared, and the label given to the similar malware is also given to the malware of the sample X.
  • FIG. 4 is a flowchart showing an example of a flow of labeling processing in the labeling apparatus according to the first embodiment.
  • the list acquisition unit 15a of the label assigning device 10 acquires the label candidate list created for the malware (step S101), and whether there is one or more label candidates in each label candidate list. Search (step S102).
  • the list acquisition unit 15a excludes labels having a random character string from the label candidates included in the acquired label candidate list (step S103). Specifically, the list acquisition unit 15a calculates an index value for evaluating whether the character string is a random character string for each label candidate included in each label candidate list, and the index value falls below a certain threshold value. Exclude the label from the candidate list. Then, when the list acquisition unit 15a performs the search and finds that there is one or more label candidates in all the label candidate lists (step S104 affirmative), the list acquisition unit 15a ends the process as it is. That is, the label assigning device 10 can generate and assign a label from the label candidate list with the existing AVCLASS, for example.
  • the feature extraction unit 15b has a feature vector of the sample to be labeled and a feature vector of the known sample group. And are extracted (step S105).
  • the labeling unit 15c compares the feature vector of the sample to be labeled with the feature vector of the known sample group (step S106), and labels the known sample (or sample group) similar to the sample to be labeled. Is given to the sample to be labeled (step S107).
  • the labeling device 10 extracts the characteristics of the malware to be labeled and each characteristic of the malware group whose label is known. Then, the labeling device 10 is most similar to the characteristics of the malware to be labeled among the characteristics of the malware group, based on the degree of similarity between the extracted characteristics of the malware to be labeled and the characteristics of each malware group.
  • the malware or malware group to be used is specified, and the label attached to the malware or malware group is given to the malware to be labeled. Therefore, the label giving device 10 has an effect that a label can be appropriately given to malware even when there is no label candidate.
  • the labeling device 10 has an effect that the label can be given to the malware and the data set can be generated by utilizing the label of the existing malware group having similar characteristics to the malware as the label to be given to the malware. .. Further, since the label assigning device 10 assigns the label of the malware group to the malware, there is also an effect that the trouble of assigning the malware and the label at a ratio of 1: 1 becomes unnecessary.
  • the label assigning device 10 excludes labels having a random character string from the label candidates included in the label candidate list, it is possible to exclude useless label candidates, and as a result, the accuracy of label assignment can be improved. It is possible.
  • 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. 5 is a diagram showing a computer that executes a labeling 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 labeling device 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)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ラベル付与装置(10)は、ラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴とを抽出する。そして、ラベル付与装置(10)は、抽出したラベル付与対象のマルウェアの特徴と、マルウェア群の各特徴との類似度に基づいて、マルウェア群の各特徴のうち、ラベル付与対象のマルウェアの特徴と最も類似するマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、ラベル付与対象のマルウェアに付与する。

Description

ラベル付与装置およびラベル付与プログラム
 本発明は、ラベル付与装置およびラベル付与プログラムに関する。
 従来、マルウェア分類に用いるデータセットを作成する際にマルウェアのラベルを用いることがある。このようなラベルとして、アンチウイルスソフトウェア(以下、アンチウイルスと記載)による検知名を用いることがある。この場合に、ラベルは1つのマルウェアに一つ付与される。
 マルウェアの中には、ある1つのアンチウイルスではラベルが付与できない検体が存在する。これに対し、複数社のアンチウイルスを用いて1つ以上のラベルの候補を列挙し、それらを正規化・統合したラベルを生成して付与するAVCLASSという手法がある。
Marcos Sebastian, Richard Rivera, Platon Kotzias, and Juan Caballero. 2016. 「AVclass: A Tool for Massive Malware Labeling」. In Proceedings of the 19th International Symposium on Research in Attacks, Intrusions, and Defenses (RAID’16). 230-253.. Hyrum S. Anderson and Phil Roth. 2018. 「EMBER: An Open Dataset for Training Static PE Malware Machine Learning Models」. CoRR, abs/1804.04637. Xiaojin Zhu and Zoubin Ghahramani. 2002. 「Learning from Labeled and Unlabeled Data with Label Propagation」. Technical Report CMU-CALD-02-107, Carnegie Mellon University.
 従来の方法では、マルウェアに対してラベルを適切に付与できない場合があるという課題があった。例えば、上述したAVCLASSの手法では、ラベル候補が発生することを前提としているため、ラベル候補が出力されない場合にはマルウェアに対してラベル付けができなくなってしまう。なお、ラベル候補の中にアンチウイルスが自動生成したランダムな文字列がラベルとして含まれている場合、有用なラベルが付与できない場合があった。
 上述した課題を解決し、目的を達成するために、本発明のラベル付与装置は、ラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴とを抽出する特徴抽出部と、前記特徴抽出部によって抽出されたラベル付与対象のマルウェアの特徴と、前記マルウェア群の各特徴との類似度に基づいて、前記マルウェア群の各特徴のうち、前記ラベル付与対象のマルウェアの特徴と最も類似するマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、前記ラベル付与対象のマルウェアに付与するラベル付与部とを有することを特徴とする。
 本発明によれば、ラベル候補がない場合であっても、マルウェアに対してラベルを適切に付与することができるという効果を奏する。
図1は、第1の実施形態に係るラベル付与装置の構成の一例を示す図である。 図2は、リスト取得部による処理の概要を説明する図である。 図3は、特徴抽出部およびラベル付与部による処理の概要を説明する図である。 図4は、第1の実施形態に係るラベル付与装置におけるラベル付与処理の流れの一例を示すフローチャートである。 図5は、ラベル付与プログラムを実行するコンピュータを示す図である。
 以下に、本願に係るラベル付与装置およびラベル付与プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係るラベル付与装置およびラベル付与プログラムが限定されるものではない。
[第1の実施形態]
 以下の実施の形態では、第1の実施形態に係るラベル付与装置10の構成、ラベル付与装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
[ラベル付与装置の構成]
 まず、図1を用いて、ラベル付与装置10の構成について説明する。図1は、第1の実施形態に係るラベル付与装置の構成の一例を示す図である。ラベル付与装置10は、マルウェアのラベルが既知の検体群を基準に、ラベルが未知の検体にラベルを自動付与する装置である。なお、ラベルが既知のマルウェア群(検体群)は、各マルウェアがそれぞれ一意のラベルをもつ場合に限定されるものではなく、同一のラベルをもつ複数のマルウェアが含まれていてもよいものとする。
 図1に示すように、ラベル付与装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。以下では、各部について説明する。
 通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15との間の通信を行う。
 入力部12は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部13は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
 記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、ラベル付与装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
 制御部15は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部15は、リスト取得部15a、特徴抽出部15bおよびラベル付与部15cを有する。
 リスト取得部15aは、マルウェアに対して作成されたラベル候補リストを取得し、取得したラベル候補リストが空である場合には、該ラベル候補リストのマルウェアをラベル付与対象のマルウェアとして特定する。
 ここで、図2を用いて、リスト取得部15aによる処理の概要について説明する。図2は、リスト取得部による処理の概要を説明する図である。図2に例示するように、リスト取得部15aは、複数のマルウェア検体について作成されたラベル候補リストを取得する。なお、ラベル候補リストを作成する処理は、既存の手法により、外部の装置が行ってもよいし、ラベル付与装置10が行ってもよい。
 そして、リスト取得部15aは、ラベル候補リストを取得すると、各ラベル候補リストにラベル候補が一つ以上あるか検索する。つまり、リスト取得部15aは、各ラベル候補リストが空であるか検索する。続いて、リスト取得部15aは、ラベル候補リストにラベルが含まれる場合には、該ラベルが、ランダムに生成された文字列か否かを判定し、ランダムに生成された文字列であると判定した場合には、該文字列のラベルを除外する。例えば、リスト取得部15aは、各ラベル候補リストに含まれる各ラベル候補について、文字列がランダムな文字列であるかを評価する指標「N-gram normality score」や「Meaningful characters ratio」を算出し、算出した指標値が一定の閾値を下回ったラベルを当該候補リストから除外する。
 つまり、リスト取得部15aは、取得したラベル候補リストに含まれるラベル候補のうち、ランダムな文字列のラベルを有用でないラベル候補として除外する。具体例を挙げて説明すると、リスト取得部15aは、例えば、「MmNfrHgm40bj1」、「Trojan.MmNfrHgm40bj1」、「Olympus」をラベル候補として含むラベル候補リストを取得する。ここで、「MmNfrHgm40bj1」および「Trojan.MmNfrHgm40bj1」がランダムに生成された文字列であり、「Olympus」のみが有用なラベルであるものとする。そこで、リスト取得部15aは、「N-gram normality score」や「Meaningful characters ratio」といった指標を用いて、ラベルがランダムに生成された文字列か否かを判定し、ランダムに生成された文字列であると判定した場合には、該文字列のラベルを有用でないラベル候補として除外する。なお、「N-gram normality score」や「Meaningful characters ratio」といった指標は、与えられた文字列が英単語によく見られる文字の並びから構成されているかどうかを識別するものであり、この指標を用いることで、例えば、「MmNfrHgm40bj1」はランダムな文字列である、「Olympus」の場合はランダムな文字列ではないと判定することが可能である。
 そして、リスト取得部15aは、ラベル候補が無い空のラベル候補リストがあった場合には、該ラベル候補リストのマルウェア検体Xをラベル付与対象のマルウェア検体として特定する。
 図1の説明に戻って、特徴抽出部15bは、ラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴とを抽出する。また、特徴抽出部15bは、ラベル付与対象のマルウェアおよびラベルが既知のマルウェア群から抽出された特徴を特徴ベクトルに変換する。
 例えば、特徴抽出部15bは、ラベル付与対象のマルウェアおよびラベルが既知のマルウェア群について、「Byte histogram」、「printable strings」、「file size」、「PE headers」、「sections」、「imports」、「exports」等の特徴を抽出する。そして、特徴抽出部15bは、抽出した特徴をベクトルに変換する。
 ラベル付与部15cは、特徴抽出部15bによって抽出されたラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴との類似度に基づいて、ラベルが既知のマルウェア群の各特徴のうち、ラベル付与対象のマルウェアの特徴と最も類似するマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、ラベル付与対象のマルウェアに付与する。
 具体的には、ラベル付与部15cは、特徴抽出部15bによって変換されたラベル付与対象のマルウェアの特徴ベクトルと、ラベルが既知のマルウェア群の各特徴ベクトルとの類似度をそれぞれ計算し、ラベルが既知のマルウェア群の各特徴ベクトルのうち、類似度が最も大きいマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、ラベル付与対象のマルウェアに付与する。なお、類似度を計算する手法は、既存のどの手法を用いてもよい。
 例えば、ラベル付与部15cは、ラベルが既知のマルウェア群の特徴ベクトルとラベル付与対象のマルウェアの特徴ベクトル両方をノード、ノード間の類似度をエッジの重みとするグラフを作成する。そして、ラベル付与部15cはラベル付与対象のマルウェアのノードが繋がっている近傍のノードから、重みに沿ってラベルを伝播させる(例えば、上記の非特許文献3参照)ようにしてもよい。言い換えれば、ラベル付与部15cは、特徴ベクトルが最も類似しているノードのラベルを、ラベル付与対象のマルウェアに付与する。
 ここで、図3を用いて、特徴抽出部15bおよびラベル付与部15cによる処理の概要を説明する。図3は、特徴抽出部およびラベル付与部による処理の概要を説明する図である。図3に例示するように、特徴抽出部15bは、ラベル付与対象のマルウェアの検体Xのファイルと、ラベルが既知であるマルウェアの検体1~nのファイル群とを入力として受け付ける。そして、特徴抽出部15bは、検体Xの特徴ベクトルと検体1~nの特徴ベクトルをラベル付与部15cに出力する。
 ラベル付与部15cは、特徴抽出部15bから検体Xの特徴ベクトルと検体1~nの特徴ベクトルの入力を受け付ける。また、ラベル付与部15cは、AVCLASSでラベル候補リストから生成された検体1~nのラベルの入力も受け付ける。なお、AVCLASSでラベル候補リストから検体1~nのラベルを生成する処理については、既存の手法により、外部の装置が行ってもよいし、ラベル付与装置10が行ってもよい。
 ラベル付与部15cは、検体Xの特徴ベクトルと、検体1~nの各特徴ベクトルとの類似度をそれぞれ計算し検体1~nの各特徴ベクトルのうち、類似度が最も大きい検体または検体群を特定し、該検体に付与されているラベルを、検体Xのマルウェアに付与する。
 このように、ラベル付与装置10は、ある検体Xに対する検知名候補リストが空だった場合、その検体Xのファイルの特徴と、すでにラベルを付与できたマルウェアの検体1~nのファイル群との特徴を比較し、類似したマルウェアに付与されたラベルを検体Xのマルウェアに対しても付与する。
[ラベル付与装置の処理手順]
 次に、図4を用いて、第1の実施形態に係るラベル付与装置10による処理手順の例を説明する。図4は、第1の実施形態に係るラベル付与装置におけるラベル付与処理の流れの一例を示すフローチャートである。
 図4に例示するように、ラベル付与装置10のリスト取得部15aは、マルウェアに対して作成されたラベル候補リストを取得し(ステップS101)、各ラベル候補リストにラベル候補が一つ以上あるか検索する(ステップS102)。
 続いて、リスト取得部15aは、取得したラベル候補リストに含まれるラベル候補のうち、ランダムな文字列のラベルを除外する(ステップS103)。具体的には、リスト取得部15aは、各ラベル候補リストに含まれる各ラベル候補について、文字列がランダムな文字列であるかを評価する指標値を算出し、指標値が一定の閾値を下回ったラベルを当該候補リストから除外する。そして、リスト取得部15aは、検索を行った結果、全てのラベル候補リストにラベル候補が一つ以上ある場合には(ステップS104肯定)、そのまま処理を終了する。つまり、ラベル付与装置10は、例えば、既存のAVCLASSでラベル候補リストからラベルを生成して付与することができる。
 一方、リスト取得部15aが、ラベル候補リストにラベル候補がないと判定した場合には(ステップS104否定)、特徴抽出部15bは、ラベル付与対象の検体の特徴ベクトルと、既知検体群の特徴ベクトルとを抽出する(ステップS105)。
 そして、ラベル付与部15cは、ラベル付与対象の検体の特徴ベクトルと、既知検体群の特徴ベクトルとを比較し(ステップS106)、ラベル付与対象の検体と類似する既知検体(もしくは検体群)のラベルをラベル付与対象の検体に付与する(ステップS107)。
[第1の実施形態の効果]
 このように、第1の実施形態に係るラベル付与装置10は、ラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴とを抽出する。そして、ラベル付与装置10は、抽出したラベル付与対象のマルウェアの特徴と、マルウェア群の各特徴との類似度に基づいて、マルウェア群の各特徴のうち、ラベル付与対象のマルウェアの特徴と最も類似するマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、ラベル付与対象のマルウェアに付与する。このため、ラベル付与装置10では、ラベル候補がない場合であっても、マルウェアに対してラベルを適切に付与することができるという効果を奏する。
 つまり、ラベル付与装置10では、マルウェアに付与するラベルとして、そのマルウェアと特徴が類似する既存のマルウェア群のラベルを活用することで、マルウェアにラベルが付与でき、データセットを生成できるという効果がある。さらに、ラベル付与装置10では、マルウェア群のラベルをマルウェアに付与するため、マルウェアとラベルを1:1で付与するという手間が不要になるという効果もある。
 また、ラベル付与装置10は、ラベル候補リストに含まれるラベル候補のうち、ランダムな文字列のラベルを除外するので、有用でないラベル候補を除外することができる結果、ラベル付与の精度を高めることが可能である。
[システム構成等]
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図5は、ラベル付与プログラムを実行するコンピュータを示す図である。コンピュータ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 出力部
 14 記憶部
 15 制御部
 15a リスト取得部
 15b 特徴抽出部
 15c ラベル付与部

Claims (7)

  1.  ラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴とを抽出する特徴抽出部と、
     前記特徴抽出部によって抽出されたラベル付与対象のマルウェアの特徴と、前記マルウェア群の各特徴との類似度に基づいて、前記マルウェア群の各特徴のうち、前記ラベル付与対象のマルウェアの特徴と最も類似するマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、前記ラベル付与対象のマルウェアに付与するラベル付与部と
     を有することを特徴とするラベル付与装置。
  2.  前記特徴抽出部は、前記ラベル付与対象のマルウェアおよび前記マルウェア群から抽出された特徴を特徴ベクトルにそれぞれ変換し、
     前記ラベル付与部は、前記特徴抽出部によって変換された前記ラベル付与対象のマルウェアの特徴ベクトルと、前記マルウェア群の各特徴ベクトルとの類似度をそれぞれ計算し、前記マルウェア群の各特徴ベクトルのうち、前記類似度が最も大きいマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、前記ラベル付与対象のマルウェアに付与することを特徴とする請求項1に記載のラベル付与装置。
  3.  マルウェアに対して作成されたラベル候補リストを取得し、取得したラベル候補リストが空である場合には、該ラベル候補リストのマルウェアをラベル付与対象のマルウェアとして特定するリスト取得部をさらに有し、
     前記特徴抽出部は、前記リスト取得部によって特定されたラベル付与対象のマルウェアの特徴と、前記マルウェア群の各特徴とを抽出することを特徴とする請求項1に記載のラベル付与装置。
  4.  前記リスト取得部は、前記ラベル候補リストを取得し、取得したラベル候補リストにラベルが含まれる場合には、該ラベルが、ランダムに生成された文字列か否かを判定し、ランダムに生成された文字列であると判定した場合には、該文字列のラベルを除外し、取得したラベル候補リストが空である場合には、該ラベル候補リストのマルウェアをラベル付与対象のマルウェアとして特定することを特徴とする請求項3に記載のラベル付与装置。
  5.  ラベル付与対象のマルウェアの特徴と、ラベルが既知のマルウェア群の各特徴とを抽出する特徴抽出ステップと、
     前記特徴抽出ステップによって抽出されたラベル付与対象のマルウェアの特徴と、前記マルウェア群の各特徴との類似度に基づいて、前記マルウェア群の各特徴のうち、前記ラベル付与対象のマルウェアの特徴と最も類似するマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、前記ラベル付与対象のマルウェアに付与するラベル付与ステップと
     をコンピュータに実行させることを特徴とするラベル付与プログラム。
  6.  前記特徴抽出ステップは、前記ラベル付与対象のマルウェアおよび前記マルウェア群から抽出された特徴を特徴ベクトルにそれぞれ変換し、
     前記ラベル付与ステップは、前記特徴抽出ステップによって変換された前記ラベル付与対象のマルウェアの特徴ベクトルと、前記マルウェア群の各特徴ベクトルとの類似度をそれぞれ計算し、前記マルウェア群の各特徴ベクトルのうち、前記類似度が最も大きいマルウェアまたはマルウェア群を特定し、該マルウェアまたはマルウェア群に付与されているラベルを、前記ラベル付与対象のマルウェアに付与することを特徴とする請求項5に記載のラベル付与プログラム。
  7.  マルウェアに対して作成されたラベル候補リストを取得し、取得したラベル候補リストが空である場合には、該ラベル候補リストのマルウェアをラベル付与対象のマルウェアとして特定するリスト取得ステップをさらにコンピュータに実行させ、
     前記特徴抽出ステップは、前記リスト取得ステップによって特定されたラベル付与対象のマルウェアの特徴と、前記マルウェア群の各特徴とを抽出することを特徴とする請求項5に記載のラベル付与プログラム。
PCT/JP2020/033818 2019-11-28 2020-09-07 ラベル付与装置およびラベル付与プログラム WO2021106306A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021561171A JP7318731B2 (ja) 2019-11-28 2020-09-07 ラベル付与装置およびラベル付与プログラム
US17/777,999 US20230004645A1 (en) 2019-11-28 2020-09-07 Labeling device and labeling program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPPCT/JP2019/046683 2019-11-28
PCT/JP2019/046683 WO2021106173A1 (ja) 2019-11-28 2019-11-28 ラベル付与装置およびラベル付与プログラム

Publications (1)

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

Family

ID=76128849

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2019/046683 WO2021106173A1 (ja) 2019-11-28 2019-11-28 ラベル付与装置およびラベル付与プログラム
PCT/JP2020/033818 WO2021106306A1 (ja) 2019-11-28 2020-09-07 ラベル付与装置およびラベル付与プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/046683 WO2021106173A1 (ja) 2019-11-28 2019-11-28 ラベル付与装置およびラベル付与プログラム

Country Status (3)

Country Link
US (1) US20230004645A1 (ja)
JP (1) JP7318731B2 (ja)
WO (2) WO2021106173A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161548B1 (en) * 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104640105B (zh) * 2013-11-12 2019-08-23 上海圣南赛溪信息科技有限公司 手机病毒分析和威胁关联的方法和系统
US10972495B2 (en) * 2016-08-02 2021-04-06 Invincea, Inc. Methods and apparatus for detecting and identifying malware by mapping feature data into a semantic space
CN108256325A (zh) * 2016-12-29 2018-07-06 中移(苏州)软件技术有限公司 一种恶意代码变种的检测的方法和装置
CN108280350B (zh) * 2018-02-05 2021-09-28 南京航空航天大学 一种面向Android的移动网络终端恶意软件多特征检测方法
CN109359274B (zh) * 2018-09-14 2023-05-02 蚂蚁金服(杭州)网络技术有限公司 一种对批量生成的字符串进行识别的方法、装置及设备
US11714905B2 (en) * 2019-05-10 2023-08-01 Sophos Limited Attribute relevance tagging in malware recognition
US11689561B2 (en) * 2019-11-11 2023-06-27 Microsoft Technology Licensing, Llc Detecting unknown malicious content in computer systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161548B1 (en) * 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HORIAI, KEICHI; IMAIZUMI, TAKAFUMI; TANAKA, HIDEHIKO: "Automatic malware variant classification by hamming distance", IPSJ SIG TECHNICAL REPORT, vol. 2008, no. 45, 15 May 2008 (2008-05-15), pages 61 - 66, XP009529124 *

Also Published As

Publication number Publication date
JP7318731B2 (ja) 2023-08-01
WO2021106173A1 (ja) 2021-06-03
US20230004645A1 (en) 2023-01-05
JPWO2021106306A1 (ja) 2021-06-03

Similar Documents

Publication Publication Date Title
JP5569935B2 (ja) ソフトウェア検出方法及び装置及びプログラム
JP6708781B2 (ja) 選択装置、選択方法及び選択プログラム
Carlin et al. The effects of traditional anti-virus labels on malware detection using dynamic runtime opcodes
US11295013B2 (en) Dimensionality reduction based on functionality
US10417285B2 (en) Corpus generation based upon document attributes
CN111222137A (zh) 一种程序分类模型训练方法、程序分类方法及装置
Elkhawas et al. Malware detection using opcode trigram sequence with SVM
US20190318191A1 (en) Noise mitigation in vector space representations of item collections
KR20230084584A (ko) 코드 유사성 검색
US8769404B2 (en) Rule-based locale definition generation for a new or customized locale support
KR20200073822A (ko) 악성코드 분류 방법 및 그 장치
WO2021106306A1 (ja) ラベル付与装置およびラベル付与プログラム
US20080222149A1 (en) Collation Regression Testing
US11563717B2 (en) Generation method, generation device, and recording medium
CN113688240B (zh) 威胁要素提取方法、装置、设备及存储介质
CN115455416A (zh) 一种恶意代码检测方法、装置、电子设备及存储介质
JP7315023B2 (ja) ルール生成装置およびルール生成プログラム
KR20230062204A (ko) 악성 코드 탐지 방법 및 그 장치
US11829719B2 (en) Data processing device, data processing method, and data processing program
JP6740184B2 (ja) 付与装置、付与方法および付与プログラム
US11334607B2 (en) Identifying key words within a plurality of documents
EP3588349A1 (en) System and method for detecting malicious files using two-stage file classification
WO2023238304A1 (ja) 判定装置、判定方法および判定プログラム
JP7355211B2 (ja) シグネチャ生成装置、シグネチャ生成方法およびシグネチャ生成プログラム
WO2022107229A1 (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: 20891992

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021561171

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: 20891992

Country of ref document: EP

Kind code of ref document: A1