WO2018021163A1 - シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム - Google Patents

シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム Download PDF

Info

Publication number
WO2018021163A1
WO2018021163A1 PCT/JP2017/026382 JP2017026382W WO2018021163A1 WO 2018021163 A1 WO2018021163 A1 WO 2018021163A1 JP 2017026382 W JP2017026382 W JP 2017026382W WO 2018021163 A1 WO2018021163 A1 WO 2018021163A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
file
information
string
files
Prior art date
Application number
PCT/JP2017/026382
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 JP2018529834A priority Critical patent/JP6977724B2/ja
Priority to CN201780046584.8A priority patent/CN109564613B/zh
Priority to US16/320,677 priority patent/US11126715B2/en
Priority to RU2019105303A priority patent/RU2716553C1/ru
Publication of WO2018021163A1 publication Critical patent/WO2018021163A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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/033Test or assess software

Definitions

  • the present invention relates to a signature creation device that creates signature information representing a criterion for determining whether a file contains software that adversely affects an information processing system.
  • Patent Document 1 discloses a signature creation device that creates signature information indicating a criterion for determining whether or not a history of processing executed by software matches a history of processing executed by malware.
  • the signature creation device tracks processes executed by malware and collects a trace log representing a history of processes executed by the malware.
  • the signature creation device classifies the malware that has executed the process included in the trace log into a malware family based on whether the processes included in the trace log are similar to each other.
  • One malware family represents a group composed of malware whose trace logs are similar to each other.
  • the signature creation device identifies a series of processes common to a certain malware family, and creates signature information based on the identified series of processes.
  • Patent Document 2 specifies, as signature information, a character string frequently appearing in a processing sequence when a sample representing an object to be determined whether or not it is malware is a processing sequence expressed in a text format.
  • a signature creation device is disclosed.
  • one of the objects of the present invention is to provide a signature creation apparatus and the like that can create signature information having high determination accuracy in a short time.
  • a signature creation device includes: A hash calculation means for calculating a hash value for at least some of the areas constituting the file for a plurality of files; A degree of similarity between the hash values calculated by the hash calculation means, and a classification means for classifying the plurality of files into groups based on the obtained degree; A specifying unit that specifies a common string that is common to at least some of the files representing a code string or a bit string included in the file in the group; Signature generating means for generating signature information representing a criterion for determining whether or not at least a part of the common strings among the identified common strings is included.
  • a signature creation method includes: A hash value related to at least a part of an area constituting the file is calculated for a plurality of files, a degree to which the calculated hash values are similar is determined, and based on the obtained degree, The files are classified into groups, a common string that is common to at least a part of files among strings representing code strings or bit strings included in the files in the group is identified, and the identified common string Signature information representing a criterion for determining whether or not at least a part of the common string is included is created.
  • the signature creation program includes: A hash calculation function for calculating hash values for at least some of the areas constituting the file for a plurality of files; A classification function for determining the degree of similarity of the hash values calculated by the hash calculation function, and classifying the plurality of files into groups based on the calculated degree; A code string included in the file in the group, or a specific function that identifies a common string common to at least some files among strings representing a bit string; A signature creation function for creating signature information representing a criterion for determining whether or not at least some of the identified common strings are included is implemented in a computer.
  • this object is also realized by a computer-readable recording medium that records the program.
  • signature information having high determination accuracy can be created in a short time.
  • FIG. 1 is a block diagram showing a configuration of a software determination system 106 including a signature creation apparatus 101 according to the first embodiment of the present invention.
  • the signature creation apparatus 101 includes a hash calculation unit 102, a file classification unit 103, a string identification unit 104, and a signature creation unit 105.
  • the software determination system 106 includes a signature creation device 101 and a software determination device 201.
  • the signature creation apparatus 101 inputs a plurality of data files (hereinafter, “data file” is expressed as “file”), and has a bad influence on the information processing system (malware, hereinafter referred to as “badware”).
  • Signature information (to be described later with reference to FIG. 3) is generated that represents a criterion for determining whether or not a file is included based on a plurality of input files.
  • the signature creation apparatus 101 inputs a plurality of files, the plurality of files may be received via a communication network.
  • each file input to the signature creating apparatus 101 includes badware.
  • the software determination apparatus 201 determines, for example, whether or not the file includes badware by determining the file according to the signature information generated by the signature generation apparatus 101.
  • the software determination device 201 may be able to determine whether or not the file includes badware according to signature information generated by a device different from the signature generation device 101.
  • the processing in the signature creation device will be described.
  • the processing is not necessarily software.
  • a processing sequence representing one or more processes may be used.
  • FIG. 2 is a flowchart showing a flow of processing in the signature creating apparatus 101 according to the first embodiment.
  • the hash calculation unit 102 calculates a hash value for each of the plurality of input files according to a predetermined hash calculation procedure described later (step S101).
  • the hash calculation unit 102 calculates a hash value for the file by executing a process for calculating a hash value for at least a part of data included in the file according to a predetermined hash calculation procedure.
  • the hash calculation unit 102 may calculate hash values for some areas (data, parts, and fields) included in the file, or for all areas (data) included in the file.
  • the hash value may be calculated.
  • the hash calculation unit 102 selects an area (data) for which a hash value is calculated from a file, for example, according to the type (format) of the file. Also good.
  • the predetermined hash calculation procedure is, for example, fuzzy hashing for calculating hash values that are similar to data that are similar to each other.
  • the predetermined hash calculation procedure is not limited to fuzzy hashing.
  • the hash calculation unit 102 calculates the hash value.
  • the hash value may be information such as a code string or a numerical string whose data size is smaller than the data to be calculated. It is not limited to a typical hash value.
  • the file classification unit 103 classifies the plurality of files into a plurality of groups based on the degree of similarity of the hash values calculated for each file (ie, the similarity between hash values) (step S102). .
  • the file classification unit 103 classifies a plurality of files into a plurality of groups according to a predetermined clustering procedure.
  • the predetermined clustering procedure may be, for example, a non-hierarchical clustering method such as the k-means method or a hierarchical clustering method such as the ward method. Since the non-hierarchical clustering method and the hierarchical clustering method are general methods, description thereof is omitted in the present embodiment.
  • the string specifying unit 104 includes a code string or a bit string included in a plurality of files included in one group (hereinafter, the code string or the bit string is collectively referred to as “string”). Among them, a string commonly included in at least some of the files is specified (step S103). For convenience of explanation, a commonly included string is represented as a “common string”. The string specifying unit 104 may execute the process shown in step S103 for each group.
  • the string specifying unit 104 specifies a string with a relatively high appearance frequency as a common string. May be. For example, when the frequency of occurrence of strings commonly included in files included in one group is higher than a predetermined threshold, the string specifying unit 104 sets a string with a relatively high frequency of appearance as a common string. May be specified. As described above, in the present embodiment, since each input file includes badware, it is possible that the string included in the badware is specified by specifying a string with a high appearance frequency. high.
  • the signature creation unit 105 includes signature information (see FIG. 3) that represents a criterion for determining whether or not at least a part of the common strings among the common strings identified by the string identification unit 104 is included. (To be described later) (step S104).
  • the signature information is information indicating a criterion for determining whether or not a certain file includes badware.
  • the signature creation unit 105 determines, for example, a logical expression created by combining conditions for determining whether or not a common string is included using a logical product (or logical sum) operator in the signature information. Create as information.
  • the method for calculating the signature information based on the common string may be a method for creating determination information representing the determination condition based on the common string included in common to a plurality of files included in the group. It is not limited to the example mentioned above.
  • FIG. 3 is a diagram conceptually illustrating an example of signature information.
  • the signature information includes string information representing the common string identified in step S103 in FIG. 2 and determination information representing a determination condition for determining whether or not badware is included in the file.
  • an identifier capable of uniquely identifying the common string is associated with information representing the content of the common string.
  • the string information represents a condition that the file includes a common string represented by the identifier.
  • the signature information illustrated in FIG. 3 includes string information in which an identifier “A” is associated with a string “RequireAdministrator”. This represents a condition that the string represented by the identifier “A” is “RequesterAdministrator” (that is, requests a privilege for the system), and the file contains the string “RequirerAdministrator”.
  • the signature information illustrated in FIG. 3 includes an identifier “C” and a string “ ⁇ 01 01 01 10 01 ⁇ ”. This represents a condition that the string represented by the identifier “C” is “ ⁇ 01 01 01 10 01 ⁇ ” and the file includes the string “ ⁇ 01 01 01 10 01 ⁇ ”.
  • “ ⁇ ” represents a bit string.
  • the signature information illustrated in FIG. 3 includes determination information “A_and_B_and_ (C_or_D)”. However, “and” represents a logical product operator, and “or” represents a logical sum operator. “()” Indicates that an operation described in parentheses is preferentially processed.
  • the determination information includes the condition represented by the identifier “A” when the condition represented by the identifier “C” is satisfied, or when the condition represented by the identifier “D” is satisfied. This represents a condition that is satisfied when the condition to be expressed is satisfied. That is, the signature information represents a criterion for determining that the file includes badware when the conditions shown in the conditions 1 to 3 are satisfied for the file.
  • Condition 1 contains the string “ ⁇ 01 01 01 10 01 ⁇ ” or contains the string “ZZZZZZZZZZZZ”
  • Condition 2 includes the string “LookupPrivageValueA” (that is, obtains an identifier corresponding to a privilege)
  • Condition 3 Includes the string “RequireAdministrator”.
  • signature information having high determination accuracy can be created in a short time. This is because it is not necessary to track software behavior for the purpose of creating signature information, and signature information is created based on strings that are common to multiple files that are at least partially similar in content. Because it is done. The reason for this will be described in more detail.
  • a file having a similar component may include a specific process executed according to the component. In this case, by identifying strings that are common to similar components, signature information that represents criteria for determining whether the file contains the particular process can be accurately created.
  • the signature generation device disclosed in Patent Document 2 represents a criterion for determining whether or not a file includes a specific process without distinguishing the similarity between the contents of the constituent elements included in the file. Create signature information. Therefore, the signature creation apparatus creates signature information representing a criterion for determining whether or not the file includes a specific process even if the contents of the constituent elements are not similar. In this case, since the signature information created by the signature creation device is highly likely to be created based on noise included in the file, it is not necessarily signature information with high determination accuracy. This noise represents strings that are not related to a specific process.
  • the signature creation apparatus 101 since the signature creation apparatus 101 according to the present embodiment identifies strings that are common to similar components, a specific process that is executed according to similar components is shared. Most likely the string represents.
  • the signature creation device disclosed in Patent Document 1 creates signature information for determining whether or not the software is a software that executes a specific behavior based on a trace log that represents the behavior of a process executed according to the software.
  • the signature creation apparatus 101 does not refer to the trace log when creating signature information.
  • an execution environment such as a sandbox and time for tracking the behavior of software in the execution environment are required.
  • the signature creation device disclosed in Patent Document 1 cannot create signature information with high accuracy in a short time.
  • the signature creation apparatus 101 creates signature information that represents a criterion as to whether or not a specific process is included based on a string included in the software. No time to track. Therefore, according to the signature creation apparatus 101 according to the present embodiment, the signature information can be created in a shorter time than the signature creation apparatus disclosed in Patent Document 2.
  • signature information having high determination accuracy can be created in a short time.
  • FIG. 4 is a block diagram showing a configuration of the signature creating apparatus 111 according to the second embodiment of the present invention.
  • the signature creation device 111 includes an area selection unit 112, a hash calculation unit 113, a file classification unit 103, a string identification unit 104, and a signature creation unit 105.
  • the signature creation device 111 is connected to the area information storage unit 210 so as to be communicable.
  • the area selection unit 112 selects an area whose hash value is to be calculated from the input file based on area information (described later with reference to FIG. 6) stored in the area information storage unit 210.
  • the hash calculation unit 113 calculates a hash value related to the area selected by the area selection unit 112.
  • FIG. 6 is a diagram conceptually illustrating an example of region information stored in the region information storage unit 210.
  • the area information stores, for each type of file, information indicating an area (hereinafter referred to as “target area”) in which a hash value is calculated in the file.
  • target area information indicating an area
  • information indicating the file type and information indicating the target area are associated with each other.
  • the file type “executable file” and the target area “import table” are associated with each other. This indicates that when the file type is “executable file”, a hash value is calculated for the area “import table” in the file.
  • the number of target areas in the file may be plural.
  • the area information may include information different from the information described above, and is not limited to the example described above.
  • FIG. 5 is a flowchart showing a flow of processing in the signature creating apparatus 111 according to the second embodiment.
  • the area selection unit 112 identifies the type of the file for each input file (step S111).
  • the file type represents, for example, the type of execution file, image file, moving image file, or the like.
  • the image file may be a file format such as a JPEG file, a GIF file, or a PNG file.
  • JPEG represents an abbreviation for Joint Photographic Experts Group.
  • GIF is an abbreviation for Graphics Interchange Format.
  • PNG represents an abbreviation for Portable Network Graphics.
  • the area selection unit 112 may specify the type of file based on, for example, an extension in a file name that can identify the file, or may be specified based on a code string included in the file. .
  • the process in which the area selection unit 112 specifies the file type is not limited to the above-described example.
  • the region selection unit 112 selects a region representing a target for calculating a hash value related to the specified type of file based on the region information (illustrated in FIG. 6) (step S112). For example, when the specified file type is an execution file, the area selection unit 112 specifies the target area “import table” associated with the file type “execution file” in the area information (illustrated in FIG. 6). To do.
  • the hash calculation unit 113 calculates a hash value related to data stored in the area selected by the area selection unit 112 in accordance with a predetermined hash calculation procedure (step S113). Therefore, the hash value calculated according to the process shown in step S113 represents a hash value calculated according to the same procedure as the hash value related to the file (calculated in step S101 in FIG. 2).
  • the hash calculation unit 113 and the region selection unit 112 execute the processes shown in steps S111 to S113 for the plurality of input files.
  • the signature creation device 111 can create signature information having high determination accuracy in a short time. This reason is the same as the reason described above in the first embodiment.
  • signature information with higher determination accuracy can be created. This is because the hash value is greatly different depending on the area where the hash value is calculated, so there is a high possibility that a group will be created for each type, and the group may be further subdivided based on badware. Because it is expensive.
  • the signature creation device 111 according to the present embodiment creates signature information regarding a group classified based on badware, the created signature information is a string that is common to certain badware. Is likely to be created. Therefore, since the signature information is likely to be created for each similar piece of badware, it is highly likely that the signature information represents a characteristic of the badware. As a result, the created signature information is highly likely to be signature information with high determination accuracy.
  • FIG. 7 is a block diagram showing the configuration of the signature creating apparatus 121 according to the third embodiment of the present invention.
  • the signature creation device 121 includes a hash calculation unit 102, a file classification unit 123, a string identification unit 124, and a signature creation unit 125.
  • the signature creation device 121 is connected to the erasure information storage unit 221 so as to be communicable.
  • the erasure information storage unit 221 stores erasure information representing a string that is not unique to badware among the signature information created by the signature creation unit 125 regarding badware.
  • FIG. 11 is a diagram conceptually illustrating an example of erasure information stored in erasure information storage unit 221.
  • the erasure information includes information indicating a string that is not unique to badware (hereinafter referred to as “erasure string information”).
  • the erasure information is commonly included in files that do not include badware. It may be information representing a string.
  • the erasure information illustrated in FIG. 11 includes the string “/ security”. This indicates that the string “/ security” is not a string specific to badware.
  • the erasure information may represent, for example, a string included in one file that does not include badware, and is not limited to the example described above.
  • FIG. 8 is a flowchart showing a flow of processing in the signature creating apparatus 121 according to the third embodiment.
  • the signature creation apparatus 121 performs processing similar to the processing described with reference to the flowchart illustrated in FIG. 2 in the first embodiment on the file including badware, thereby relating to the file. Signature information is created (steps S101 to S104).
  • the signature creation unit 125 deletes the condition regarding the erase string information in the erase information (illustrated in FIG. 11) from the created signature information. For example, in the signature information, the signature creating unit 125 deletes the erase string information from the signature information by deleting the condition related to the erase string information and the logical operation process between the condition and another condition ( Step S125).
  • the signature generation apparatus 121 performs the processing shown in FIG. Can be created.
  • the signature creation device 121 classifies the file including badware and the file not including badware into groups according to the processing shown in FIG. 9, and based on the classified groups. Processing may be performed.
  • FIG. 9 is a flowchart showing a flow of processing in the signature creating apparatus 121 according to the third embodiment.
  • the signature creation apparatus 121 inputs a file containing badware and a file not containing badware.
  • the signature creation apparatus 121 inputs a bad file set composed of one or more files including badware and a good file set composed of one or more files not including badware.
  • the hash calculation unit 102 calculates a hash value related to the file according to a predetermined hash calculation procedure (step S101).
  • the file classification unit 123 Based on the similarity between hash values calculated for each file included in the bad file set, the file classification unit 123 represents each file included in the bad file set (hereinafter referred to as “bad file”). Classify into multiple groups (hereinafter referred to as “bad groups”). Similarly, the file classification unit 123 assigns a good file to a plurality of groups (hereinafter referred to as “good files”) based on the similarity between hash values calculated for each file included in the good file set (hereinafter referred to as “good file”). , (Represented as “good group”) (step S132).
  • the string specifying unit 124 specifies a string that is commonly included in the good files in the good group (step S133), and stores the string information representing the specified string in the erasure information storage unit 221 (step S133). S134). Further, the string specifying unit 124 specifies a string that is commonly included in the bad files in the bad group (step S135).
  • the signature creating unit 125 creates signature information related to the string by executing the same processing as in step S104 (FIG. 2) based on the string specified for the file included in the bad group (step S136). .
  • the signature creation unit 125 deletes the condition related to the erase string information from the signature information by executing the same processing as in step S125 (FIG. 8) based on the erase information including the information representing the string specified in step S133. (Step S137).
  • the signature creation apparatus 121 may execute processing in the order of step S135, step S136, step S133, and step S134, and is not limited to the processing order shown in FIG.
  • the common string information is string information related to files included in the good group. Therefore, compared to the string information related to the good file set, the file for which the common string information is specified is identified. Few. Therefore, since a wider variety of signature information is specified, the signature creating apparatus 121 can create signature information with higher determination accuracy in addition to the effects described with reference to FIG.
  • the signature creation device 121 classifies the files into groups according to the process shown in FIG. 10, creates signature information about the badware included in the group, and creates a good group included in the group.
  • the created signature information may be updated on the basis of the common string information regarding.
  • FIG. 10 is a flowchart showing a flow of processing in the signature creating apparatus 121 according to the third embodiment.
  • the file classification unit 123 classifies the plurality of input files into groups based on the hash values calculated by the hash calculation unit 102 (step S142).
  • the string specifying unit 124 follows the processing procedure similar to the processing shown in step S133 and step S135 (FIG. 9), and the string related to the good file set included in the classified group, and is included in the group. A string related to the bad file set is identified (step S143 and step S144).
  • the signature creation unit 125 creates signature information related to the bad file set by executing the same processing as in step S104 (FIG. 2) (step S145).
  • the signature creation unit 125 executes the same processing as in step S125 (FIG. 8), thereby identifying the string included in the signature information and the common string information specified for the good file set included in the group.
  • the condition regarding is deleted (step S146).
  • the common string information that is a target to be deleted from a certain signature information is limited to the group that is a group that creates the certain signature information. Therefore, the common string that is a target to be deleted is searched.
  • the processing to be performed is less than the processing shown in FIG. Therefore, the signature creation apparatus 121 can create signature information in a shorter time in addition to the effects described with reference to FIG. 9 by creating signature information according to the processing shown in FIG. .
  • signature information having high determination accuracy can be created in a short time. This reason is the same as the reason described above in the first embodiment.
  • signature information can be created with higher determination accuracy or in a shorter time. This is because the above effect can be obtained based on the reason described with reference to FIGS. 8 to 10.
  • FIG. 12 is a block diagram showing the configuration of the signature creating apparatus 151 according to the fourth embodiment of the present invention.
  • the signature creation apparatus 151 includes a hash calculation unit 102, a file classification unit 103, a string identification unit 104, a signature creation unit 105, and a signature verification unit 156.
  • FIG. 13 is a flowchart showing the flow of processing in the signature creating apparatus 151 according to the fourth embodiment.
  • Each unit in the signature creation device 151 creates signature information by executing the processing shown in steps S101 to S104.
  • the signature verification unit 156 determines whether the file including badware satisfies the determination information in the signature information, and whether the file not including badware is signature information. It is determined whether or not the determination information is satisfied (step S155). As described with reference to FIG. 3, since the determination information represents a string that is commonly included in a bad file including badware, when the file satisfies the determination information, the file is Is determined to be included. On the other hand, when the file does not satisfy the determination information, it is determined that the file does not include badware.
  • the signature verification unit 156 calculates the determination accuracy related to the signature information based on the determination result for each file (step S156).
  • the signature verification unit 156 calculates a determination accuracy for a file including badware and a determination accuracy for a file not including badware, respectively.
  • the signature verification unit 156 determines whether or not the calculated determination accuracy satisfies a predetermined condition, and outputs only signature information that satisfies the predetermined condition (step S157). For example, the signature verification unit 156 may determine whether or not the determination accuracy for a file including badware satisfies a predetermined condition, and includes the file including badware and the badware. It may be determined whether or not the determination accuracy calculated for a file that is not satisfying a predetermined condition.
  • the predetermined determination condition regarding the file including badware is, for example, a condition that the determination accuracy is higher than the predetermined first accuracy.
  • the predetermined determination condition regarding a file that does not include badware is, for example, a condition that the determination accuracy is equal to or less than a predetermined second accuracy. In this case, the predetermined first accuracy and the predetermined second accuracy are not necessarily the same value, and may be different values.
  • the signature verification unit 156 may calculate the determination accuracy for each group that is a basis for creating the signature information, instead of calculating the determination accuracy for each signature information.
  • the signature verification unit 156 outputs signature information calculated based on a group in which the calculated determination accuracy satisfies a predetermined determination condition, and outputs signature information calculated based on a group that does not satisfy the predetermined determination condition do not do. In this case, when it is determined that the determination accuracy for a certain group does not satisfy a predetermined determination condition, the signature verification unit 156 calculates the determination accuracy for the certain group (for example, as shown in steps S155 to S157). Completed processing) may be terminated.
  • the signature verification unit 156 when there are 100 files and the predetermined determination condition is a condition that “the determination accuracy is higher than 70%”, the signature verification unit 156 has 30 files that are erroneously determined for the certain group. When it becomes above, you may complete
  • signature information having high determination accuracy can be created in a short time. This reason is the same as the reason described above in the first embodiment.
  • signature information having higher determination accuracy can be created. This is because the signature creation device 151 calculates the determination accuracy for the signature information using a file in which information regarding whether or not the badware is included is given in advance, and the determination accuracy that satisfies a predetermined determination condition is obtained. This is because only the signature information that it has is output. Therefore, since the signature creation device 151 does not output signature information having determination accuracy that does not satisfy the predetermined condition, the signature creation device 151 according to the fourth embodiment creates signature information having higher determination accuracy. can do.
  • FIG. 14 is a block diagram schematically showing a hardware configuration example of a calculation processing apparatus capable of realizing a signature creation apparatus or a software determination apparatus according to each embodiment of the present invention.
  • the computing device 20 includes a central processing unit (Central_Processing_Unit, hereinafter referred to as “CPU”) 21, a memory 22, a disk 23, a nonvolatile recording medium 24, and a communication interface (hereinafter referred to as “communication IF”) 27.
  • CPU central processing unit
  • the calculation processing device 20 may be connectable to the input device 25 and the output device 26.
  • the calculation processing device 20 can transmit / receive information to / from other calculation processing devices and communication devices via the communication IF 27.
  • the non-volatile recording medium 24 is a computer-readable, for example, compact disc (Compact_Disc) or digital versatile disc (Digital_Versatile_Disc).
  • the nonvolatile recording medium 24 may be a universal serial bus memory (USB memory), a solid state drive (Solid_State_Drive), or the like.
  • the non-volatile recording medium 24 retains such a program without being supplied with power, and can be carried.
  • the nonvolatile recording medium 24 is not limited to the above-described medium. Further, the program may be carried via the communication IF 27 and the communication network instead of the nonvolatile recording medium 24.
  • the CPU 21 copies a software program (computer program: hereinafter simply referred to as “program”) stored in the disk 23 to the memory 22 and executes arithmetic processing.
  • the CPU 21 reads data necessary for program execution from the memory 22. When output to the outside is necessary, the CPU 21 outputs an output result to the output device 26. When inputting a program from the outside, the CPU 21 reads the program from the input device 25.
  • the CPU 21 executes a signature creation program (FIGS. 2, 5, 8 to 8) in the memory 22 corresponding to the function (processing) represented by each unit shown in FIG. 1, FIG. 4, FIG. 7, or FIG. 10 or FIG. 13) or interprets and executes the software determination program.
  • the CPU 21 sequentially executes the processes described in the above embodiments of the present invention.
  • the present invention can also be realized by such a signature creation program or a software determination program. Furthermore, it can be understood that the present invention can also be realized by a non-volatile recording medium that can be read by a computer in which the signature creation program or the software determination program is recorded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

高い判定精度を有するシグネチャ情報を短時間に作成することができるシグネチャ作成装置等が提供される。シグネチャ作成装置101は、ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出部102と、該ハッシュ算出手段によって算出された該ハッシュ値が類似している程度を求め、求めた該程度に基づき、該複数のファイルをグループに分類するファイル分類部103と、該グループにおける該ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定するストリング特定部104と、特定した該共通ストリングのうち、少なくとも一部の該共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成部105とを有する。

Description

シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム
 本発明は、情報処理システムに対して悪影響を与えるソフトウェアがファイルに含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成装置等に関する。
 特許文献1は、ソフトウェアによって実行された処理の履歴と、マルウェアによって実行された処理の履歴とが一致するか否かを判定する基準を表すシグネチャ情報を作成するシグネチャ作成装置を開示している。該シグネチャ作成装置は、マルウェアによって実行された処理を追跡し、該マルウェアによって実行された処理の履歴を表すトレースログを収集する。次に、該シグネチャ作成装置は、該トレースログに含まれている処理が相互に類似しているか否かに基づき、該トレースログに含まれている処理を実行したマルウェアをマルウェアファミリに分類する。1つのマルウェアファミリは、トレースログが相互に類似しているマルウェアによって構成されるグループを表す。該シグネチャ作成装置は、あるマルウェアファミリに共通している一連の処理を特定し、特定した一連の処理に基づきシグネチャ情報を作成する。
 特許文献2は、マルウェアであるか否かが判定される対象を表す検体がテキスト形式にて表された処理列である場合に、該処理列に頻出している文字列をシグネチャ情報として特定するシグネチャ作成装置を開示している。
特表2013-529335号公報 特開2012-003463号公報
 しかし、特許文献1、または、特許文献2に開示されたいずれのシグネチャ作成装置を用いたとしても、判定精度が高いシグネチャ情報を短時間に作成することは難しい。この理由は、判定精度が高いシグネチャ情報を作成するのには長い時間を要するからである。具体的に、特許文献1に開示されたシグネチャ作成装置によれば、マルウェアによって実行される一連の処理を追跡するための計算機環境(たとえば、サンドボックス等)と、該一連の処理を追跡する時間とが必要である。したがって、特許文献1に開示されたシグネチャ作成装置は、シグネチャ情報を作成するのに長い時間を要する。また、マルウェアが複数種類存在している場合に、文字列が、必ずしも、該マルウェアに共通しているとは限らないので、特許文献2に開示されたシグネチャ作成装置は、必ずしも、該シグネチャ作成装置は、高い判定精度を有するシグネチャ情報を作成することができない。
 そこで、本発明の目的の1つは、高い判定精度を有するシグネチャ情報を短時間に作成することができるシグネチャ作成装置等を提供することである。
 本発明の1つの態様として、シグネチャ作成装置は、
 ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出手段と、
 前記ハッシュ算出手段によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類手段と、
 前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定手段と、
 特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成手段と
 を備える。
 また、本発明の他の態様として、シグネチャ作成方法は、
 ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出し、算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類し、前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定し、特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成する。
 また、本発明の他の態様として、シグネチャ作成プログラムは、
 ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出機能と、
 前記ハッシュ算出機能によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類機能と、
 前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定機能と、
 特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成機能と
 をコンピュータに実現させる。
 さらに、同目的は、係るプログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。
 本発明に係るシグネチャ作成装置等によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。
本発明の第1の実施形態に係るシグネチャ作成装置を含むソフトウェア判定システムが有する構成を示すブロック図である。 第1の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。 シグネチャ情報の一例を概念的に表す図である。 本発明の第2の実施形態に係るシグネチャ作成装置が有する構成を示すブロック図である。 第2の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。 領域情報記憶部に格納されている領域情報の一例を概念的に表す図である。 本発明の第3の実施形態に係るシグネチャ作成装置が有する構成を示すブロック図である。 第3の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。 第3の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。 第3の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。 消去情報記憶部に格納されている消去情報の一例を概念的に表す図である。 本発明の第4の実施形態に係るシグネチャ作成装置が有する構成を示すブロック図である。 第4の実施形態に係るシグネチャ作成装置における処理の流れを示すフローチャートである。 本発明の各実施形態に係るシグネチャ作成装置、または、ソフトウェア判定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。
 次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
 <第1の実施形態>
 図1を参照しながら、本発明の第1の実施形態に係るシグネチャ作成装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係るシグネチャ作成装置101を含むソフトウェア判定システム106が有する構成を示すブロック図である。
 第1の実施形態に係るシグネチャ作成装置101は、ハッシュ算出部102と、ファイル分類部103と、ストリング特定部104と、シグネチャ作成部105とを有する。ソフトウェア判定システム106は、シグネチャ作成装置101と、ソフトウェア判定装置201とを有する。
 シグネチャ作成装置101は、複数のデータファイル(以降、「データファイル」を「ファイル」と表す)を入力し、情報処理システムに対して悪影響を与えるソフトウェア(マルウェア、以降、「バッドウェア」と表す)を含んでいるか否かを、入力した複数のファイルに基づき判定する基準を表すシグネチャ情報(図3を参照しながら後述する)を作成する。シグネチャ作成装置101は、複数のファイルを入力するとしたが、通信ネットワークを介して、該複数のファイルを受信してもよい。
 説明の便宜上、第1の実施形態において、シグネチャ作成装置101に入力される各ファイルは、バッドウェアを含んでいるとする。
 ソフトウェア判定装置201は、たとえば、シグネチャ作成装置101が作成したシグネチャ情報に従いファイルを判定することによって、該ファイルがバッドウェアを含んでいるか否かを判定する。ソフトウェア判定装置201は、シグネチャ作成装置101と異なる装置が作成したシグネチャ情報に従い、該ファイルがバッドウェアを含んでいるか否かを判定可能であってもよい。
 尚、以降の説明においては、ソフトウェアが情報処理システムに対して悪影響を与えると仮定して、本発明の各実施形態に係るシグネチャ作成装置における処理について説明するが、必ずしも、ソフトウェアである必要はなく、1つ以上の処理を表す処理列であってもよい。
 次に、図2を参照しながら、本発明の第1の実施形態に係るシグネチャ作成装置101における処理について詳細に説明する。図2は、第1の実施形態に係るシグネチャ作成装置101における処理の流れを示すフローチャートである。
 シグネチャ作成装置101において、ハッシュ算出部102は、後述する所定のハッシュ算出手順に従い、入力した複数のファイルの各ファイルに関するハッシュ値を算出する(ステップS101)。ハッシュ算出部102は、所定のハッシュ算出手順に従い、ファイルに含まれている少なくとも一部のデータに対してハッシュ値を算出する処理を実行することによって、ファイルに関するハッシュ値を算出する。ハッシュ算出部102は、ファイルに含まれている一部の領域(データ、部分、フィールド)に対してハッシュ値を算出してもよいし、ファイルに含まれているすべての領域(データ)に対してハッシュ値を算出してもよい。第2の実施形態に示されているように、ハッシュ算出部102は、ファイルの中からハッシュ値を算出する対象である領域(データ)を、たとえば、該ファイルの種別(フォーマット)に従い選択してもよい。
 所定のハッシュ算出手順は、たとえば、相互に類似しているデータに対して類似しているハッシュ値を算出するファジーハッシング(Fuzzy Hashing)である。所定のハッシュ算出手順は、ファジーハッシングに限定されない。また、説明の便宜上、ハッシュ算出部102がハッシュ値を算出するとしたが、ハッシュ値は、算出対象であるデータよりもデータサイズが小さな符号列、または、数値列等の情報であればよく、一般的なハッシュ値に限定されない。
 次に、ファイル分類部103は、各ファイルに関して算出されたハッシュ値が類似している程度(すなわち、ハッシュ値間の類似性)に基づき、複数のファイルを複数のグループに分類する(ステップS102)。ファイル分類部103は、たとえば、所定のクラスタリング手順に従い、複数のファイルを複数のグループに分類する。複数のファイルを複数のグループに分類する場合には、複数のグループに共通して含まれているファイルが存在していてもよいし、複数のグループに共通して含まれているファイルが存在していなくてもよい。所定のクラスタリング手順は、たとえば、k-means法等の非階層型クラスタリング手法や、ward法等の階層型クラスタリング手法であってもよい。非階層型クラスタリング手法、及び、階層型クラスタリング手法については、一般的な方法であるので、本実施形態においては説明を省略する。
 次に、ストリング特定部104は、1つのグループに含まれている複数のファイルに含まれている符号列、または、ビット列(以降、符号列、または、ビット列を総称して「ストリング」と表す)のうち、少なくとも一部のファイルに共通して含まれているストリングを特定する(ステップS103)。説明の便宜上、共通して含まれているストリングを、「共通ストリング」と表す。ストリング特定部104は、各グループについてステップS103に示された処理を実行してもよい。
 たとえば、1つのグループに含まれているファイルに共通して含まれているストリングの出現頻度が相対的に大きい場合に、ストリング特定部104は、相対的に出現頻度が大きなストリングを共通ストリングとして特定してもよい。たとえば、1つのグループに含まれているファイルに共通して含まれているストリングの出現頻度が所定の閾値よりも大きい場合に、ストリング特定部104は、相対的に出現頻度が大きなストリングを共通ストリングとして特定してもよい。上述したように、本実施形態において、入力された各ファイルがバッドウェアを含んでいるので、出現頻度が大きなストリングを特定することによって、バッドウェアに含まれているストリングが特定される可能性は高い。
 次に、シグネチャ作成部105は、ストリング特定部104によって特定された共通ストリングのうち、少なくとも一部の共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報(図3を参照しながら後述する)を作成する(ステップS104)。言い換えると、シグネチャ情報は、あるファイルがバッドウェアを含んでいるか否かを判定する基準を表す情報である。シグネチャ作成部105は、たとえば、共通ストリングを含んでいるのかを判定するための条件を、論理積(または、論理和)演算子によって結合することによって作成された論理式を、該シグネチャ情報における判定情報として作成する。尚、共通ストリングに基づきシグネチャ情報を算出する方法は、グループに含まれている複数のファイルに共通して含まれている共通ストリングに基づき判定条件を表す判定情報を作成する方法であればよく、上述した例に限定されない。
 図3を参照しながら、シグネチャ情報について説明する。図3は、シグネチャ情報の一例を概念的に表す図である。
 シグネチャ情報は、図2におけるステップS103にて特定された共通ストリングを表すストリング情報と、バッドウェアがファイルに含まれているか否かを判定する判定条件を表す判定情報とを含む。
 ストリング情報においては、該共通ストリングを一意に識別可能な識別子と、該共通ストリングの内容を表す情報とが関連付けされている。該ストリング情報は、識別子が表す共通ストリングをファイルが含んでいるという条件を表す。図3に例示されたシグネチャ情報は、識別子「A」と、ストリング「RequireAdministrator」とが関連付けされたストリング情報を含む。これは、識別子「A」が表すストリングが「RequireAdministrator」(すなわち、システムに対する特権を要求する)であり、ファイルがストリング「RequireAdministrator」を含んでいるという条件を表す。また、図3に例示されたシグネチャ情報は、識別子「C」と、ストリング「{01 01 01 10 01}」を含む。これは、識別子「C」が表すストリングが「{01 01 01 10 01}」であり、ファイルがストリング「{01 01 01 10 01}」を含んでいるという条件を表す。尚、図3において、「{}」は、ビット列を表している。
 図3に例示されたシグネチャ情報は、判定情報「A_and_B_and_(C_or_D)」を含んでいる。ただし、「and」は、論理積演算子を表し、「or」は、論理和演算子を表す。「()」は、カッコ内に記載された演算を優先的に処理することを表す。該判定情報は、識別子「C」が表す条件が成立するか、または、識別子「D」が表す条件が成立する場合に、識別子「A」が表す条件が成立し、さらに、識別子「B」が表す条件が成立する場合に成り立つ条件を表す。すなわち、該シグネチャ情報は、ファイルに関して条件1乃至条件3に示す条件が成立している場合に、該ファイルが、バッドウェアを含んでいると判定される基準を表している。すなわち、
 ○条件1:ストリング「{01 01 01 10 01}」を含んでいる、または、ストリング「ZZZZZZZZZ」を含んでいる、
 ○条件2:ストリング「LookupPrivilegeValueA」(すなわち、特権に対応している識別子を取得する)を含んでいる、
 ○条件3:ストリング「RequireAdministrator」を含んでいる。
 次に、第1の実施形態に係るシグネチャ作成装置101に関する効果について説明する。
 シグネチャ作成装置101によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、シグネチャ情報を作成する目的のためにソフトウェアの挙動を追跡する必要がなく、さらに、少なくとも一部の内容が類似している複数のファイルに共通しているストリングに基づきシグネチャ情報が作成されるからである。この理由について、さらに詳細に説明する。
 類似している構成要素を有するファイルは、該構成要素に従って実行される特定の処理を含んでいる場合がある。この場合に、類似した構成要素に共通しているストリングを特定することによって、該ファイルが該特定の処理を含んでいるか否かを判定する基準を表すシグネチャ情報を正確に作成することができる。
 特許文献2に開示されたシグネチャ作成装置は、ファイルに含まれている構成要素の内容間の類似性を区別することなく、該ファイルが特定の処理を含んでいるか否かを判定する基準を表すシグネチャ情報を作成する。したがって、該シグネチャ作成装置は、たとえ、構成要素の内容が類似していない場合であっても、該ファイルが特定の処理を含んでいるか否かについての判定基準を表すシグネチャ情報を作成する。この場合に、該シグネチャ作成装置によって作成されるシグネチャ情報は、ファイルに含まれているノイズに基づき作成される可能性が高いので、判定精度が高いシグネチャ情報であるとは限らない。このノイズは、特定の処理には関係していないストリングを表す。
 これに対して、本実施形態に係るシグネチャ作成装置101は、類似している構成要素に共通しているストリングを特定するので、相互に類似している構成要素に従い実行される特定の処理を共通ストリングが表している可能性が高い。
 また、特許文献1に開示されたシグネチャ作成装置が、ソフトウェアに従い実行された処理の挙動を表すトレースログに基づき、特定の挙動が実行されるソフトウェアであるか否かを判定するシグネチャ情報を作成するのに対し、本実施形態に係るシグネチャ作成装置101は、シグネチャ情報を作成する際に該トレースログを参照しない。ソフトウェアに従い実行される処理の挙動を調査するためには、サンドボックス等の実行環境と、該実行環境にてソフトウェアの挙動を追跡する時間とが必要である。一般に、ソフトウェアの挙動を追跡する処理には長い時間を要するので、特許文献1に開示されたシグネチャ作成装置は、高い精度を有するシグネチャ情報を短時間に作成することができない。
 これに対して、本実施形態に係るシグネチャ作成装置101は、ソフトウェアに含まれているストリングに基づき、特定の処理を含んでいるか否かの基準を表すシグネチャ情報を作成するので、ソフトウェアの挙動を追跡する時間が必要ない。したがって、本実施形態に係るシグネチャ作成装置101によれば、特許文献2に開示されたシグネチャ作成装置に比べ、短時間に該シグネチャ情報を作成することができる。
 よって、本実施形態に係るシグネチャ作成装置101によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。
 <第2の実施形態>
 次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
 以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
 図4を参照しながら、本発明の第2の実施形態に係るシグネチャ作成装置111が有する構成について詳細に説明する。図4は、本発明の第2の実施形態に係るシグネチャ作成装置111が有する構成を示すブロック図である。
 第2の実施形態に係るシグネチャ作成装置111は、領域選択部112と、ハッシュ算出部113と、ファイル分類部103と、ストリング特定部104と、シグネチャ作成部105とを有する。シグネチャ作成装置111は、領域情報記憶部210に通信可能に接続されている。
 領域選択部112は、入力したファイルのうちハッシュ値を算出する対象である領域を、領域情報記憶部210に格納されている領域情報(図6を参照しながら後述する)に基づき選択する。ハッシュ算出部113は、領域選択部112が選択した領域に関するハッシュ値を算出する。
 図6を参照しながら、領域情報について説明する。図6は、領域情報記憶部210に格納されている領域情報の一例を概念的に表す図である。
 領域情報は、ファイルの種別ごとに、該ファイルにおいてハッシュ値が算出される領域(以降、「対象領域」と表す)を表す情報が格納されている。図6に例示された領域情報においては、ファイルの種別を表す情報と、対象領域を表す情報とが関連付けされている。図6に例示された領域情報においては、ファイルの種別「実行ファイル」と、対象領域「インポートテーブル」とが関連付けされている。これは、ファイルの種別が「実行ファイル」である場合に、該ファイル内の領域「インポートテーブル」に関してハッシュ値が算出されることを表す。図6に例示されているように、ファイルにおける対象領域の個数は、複数であってもよい。領域情報は、上述した情報と異なる情報を含んでいてもよく、上述した例に限定されない。
 次に、図5を参照しながら、本発明の第2の実施形態に係るシグネチャ作成装置111における処理について詳細に説明する。図5は、第2の実施形態に係るシグネチャ作成装置111における処理の流れを示すフローチャートである。
 領域選択部112は、入力した各ファイルに関して、該ファイルの種別を特定する(ステップS111)。ファイルの種別は、たとえば、実行ファイル、画像ファイル、動画ファイル等の種別を表す。ファイルの種別は、画像ファイルがたとえば、JPEGファイル、GIFファイル、PNGファイル等のファイルフォーマットであってもよい。JPEGは、Joint Photographic Experts Groupの略称を表す。GIFは、Graphics Interchange Formatの略称を表す。PNGは、Portable Network Graphicsの略称を表す。領域選択部112は、ファイルの種別を、たとえば、該ファイルを識別可能なファイル名における拡張子に基づき特定してもよいし、該ファイルに含まれている符号列等に基づき特定してもよい。領域選択部112が、ファイルの種別を特定する処理は、上述した例に限定されない。
 ステップS111の後、領域選択部112は、特定した種別のファイルに関するハッシュ値を算出する対象を表す領域を、領域情報(図6に例示)に基づき選ぶ(ステップS112)。たとえば、特定したファイルの種別が実行ファイルである場合に、領域選択部112は、領域情報(図6に例示)において、ファイルの種別「実行ファイル」に関連付けされた対象領域「インポートテーブル」を特定する。
 ハッシュ算出部113は、所定のハッシュ算出手順に従い、領域選択部112が選んだ領域に格納されているデータに関するハッシュ値を算出する(ステップS113)。したがって、ステップS113に示された処理に従い算出されるハッシュ値は、ファイルに関するハッシュ値(図2のステップS101にて算出される)と同様な手順に従い算出されるハッシュ値を表す。
 ハッシュ算出部113、及び、領域選択部112は、入力された複数のファイルに関して、それぞれ、ステップS111乃至ステップS113に示された処理を実行する。
 以降、シグネチャ作成装置111においては、ステップS102乃至ステップS104に示された処理が実行される。
 次に、第2の実施形態に係るシグネチャ作成装置111に関する効果について説明する。
 本実施形態に係るシグネチャ作成装置111によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、第1の実施形態にて上述した理由と同様である。
 さらに、第2の実施形態に係るシグネチャ作成装置111によれば、より判定精度が高いシグネチャ情報を作成することができる。この理由は、ハッシュ値が算出される領域に応じて該ハッシュ値は大きく異なっているので種別ごとにグループが作成される可能性が高く、該グループがバッドウェアに基づき、さらに細分される可能性が高いからである。言い換えると、本実施形態に係るシグネチャ作成装置111が、バッドウェア(Badware)に基づき分類されたグループに関してシグネチャ情報を作成するので、作成されるシグネチャ情報は、あるバッドウェアに共通しているストリングに基づき作成される可能性が高い。したがって、該シグネチャ情報は、類似しているバッドウェアごとに作成される可能性が高いので、該バッドウェアが有している特徴を表している可能性が高い。この結果、作成されるシグネチャ情報は、判定精度が高いシグネチャ情報である可能性が高い。
 <第3の実施形態>
 次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
 以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
 図7を参照しながら、本発明の第3の実施形態に係るシグネチャ作成装置121が有する構成について詳細に説明する。図7は、本発明の第3の実施形態に係るシグネチャ作成装置121が有する構成を示すブロック図である。
 第3の実施形態に係るシグネチャ作成装置121は、ハッシュ算出部102と、ファイル分類部123と、ストリング特定部124と、シグネチャ作成部125とを有する。シグネチャ作成装置121は、消去情報記憶部221に通信可能に接続されている。
 消去情報記憶部221には、図11に例示されているように、バッドウェアに関してシグネチャ作成部125が作成したシグネチャ情報のうち、バッドウェアに特有でないストリングを表す消去情報が格納されている。図11は、消去情報記憶部221に格納されている消去情報の一例を概念的に表す図である。
 消去情報は、上記のように、バッドウェアに特有でないストリングを表す情報(以降、「消去ストリング情報」と表す)を含んでおり、たとえば、バッドウェアを含んでいないファイルに共通して含まれているストリングを表す情報であってもよい。図11に例示された消去情報は、ストリング「/security」を含む。これは、ストリング「/security」がバッドウェアに特有なストリングでないことを表す。消去情報は、たとえば、バッドウェアを含んでいない1つのファイルに含まれているストリングを表していてもよく、上述した例に限定されない。
 次に、図8を参照しながら、本発明の第3の実施形態に係るシグネチャ作成装置121における処理について詳細に説明する。図8は、第3の実施形態に係るシグネチャ作成装置121における処理の流れを示すフローチャートである。
 シグネチャ作成装置121は、バッドウェアを含んでいるファイルに対して、第1の実施形態において図2に示すようなフローチャートを参照しながら説明した処理と同様な処理を実行することにより、該ファイルに関するシグネチャ情報を作成する(ステップS101乃至ステップS104)。
 シグネチャ作成部125は、作成したシグネチャ情報から、消去情報(図11に例示)における消去ストリング情報に関する条件を削除する。たとえば、シグネチャ作成部125は、シグネチャ情報において、消去ストリング情報に関する条件、及び、該条件と他の条件との間における論理演算処理を削除することによって、該シグネチャ情報から消去ストリング情報を削除する(ステップS125)。
 図11を参照しながら説明したように、消去情報がバッドウェアに特有でないストリングを表すので、シグネチャ作成装置121が図8に示された処理を実行することによって、より高い判定精度を有するシグネチャ情報を作成することができる。
 シグネチャ作成装置121は、図9に示されているような処理に従い、バッドウェアを含んでいるファイルと、バッドウェアを含んでいないファイルとに関して、それぞれ、グループに分類し、分類されたグループに基づき処理を行ってもよい。図9は、第3の実施形態に係るシグネチャ作成装置121における処理の流れを示すフローチャートである。図9に示されている処理において、シグネチャ作成装置121は、バッドウェアを含んでいるファイルと、バッドウェアを含んでいないファイルとを入力する。説明の便宜上、シグネチャ作成装置121は、バッドウェアを含んでいる1つ以上のファイルから成るバッドファイルセットと、バッドウェアを含んでいない1つ以上のファイルからなるグッドファイルセットとを入力するとする。
 ハッシュ算出部102は、所定のハッシュ算出手順に従い、ファイルに関するハッシュ値を算出する(ステップS101)。
 ファイル分類部123は、バッドファイルセットに含まれている各ファイルに関して算出されたハッシュ値間の類似性に基づき、バッドファイルセットに含まれている各ファイル(以降、「バッドファイル」と表す)を複数のグループ(以降、「バッドグループ」と表す)に分類する。同様に、ファイル分類部123は、グッドファイルセットに含まれている各ファイル(以降、「グッドファイル」と表す)に関して算出されたハッシュ値間の類似性に基づき、グッドファイルを複数のグループ(以降、「グッドグループ」と表す)に分類する(ステップS132)。
 次に、ストリング特定部124は、グッドグループ内のグッドファイルに共通して含まれているストリングを特定し(ステップS133)、特定したストリングを表すストリング情報を消去情報記憶部221に格納する(ステップS134)。さらに、ストリング特定部124は、バッドグループ内のバッドファイルに共通して含まれているストリングを特定する(ステップS135)。
 シグネチャ作成部125は、バッドグループに含まれているファイルに関して特定されたストリングに基づき、ステップS104(図2)と同様な処理を実行することによって、該ストリングに関するシグネチャ情報を作成する(ステップS136)。シグネチャ作成部125は、ステップS133にて特定されたストリングを表す情報を含む消去情報に基づき、ステップS125(図8)と同様な処理を実行することによって、シグネチャ情報から消去ストリング情報に関する条件を削除する(ステップS137)。
 尚、シグネチャ作成装置121は、ステップS135、ステップS136、ステップS133、及び、ステップS134の順に処理を実行してもよく、図9に示された処理順序に限定されない。
 図9に示された処理において、共通ストリング情報は、グッドグループに含まれているファイルに関するストリング情報であるので、グッドファイルセットに関するストリング情報に比べ、共通ストリング情報が特定される対象であるファイルが少ない。したがって、より多様なシグネチャ情報が特定されるので、シグネチャ作成装置121は、図8を参照しながら説明したような効果に加え、より一層、判定精度が高いシグネチャ情報を作成することができる。
 シグネチャ作成装置121は、図10に示されているような処理に従い、ファイルをグループに分類した後に、グループに含まれているバッドウェアに関するシグネチャ情報を作成し、該グループに含まれているグッドグループに関する共通ストリング情報に基づき、作成したシグネチャ情報を更新してもよい。図10は、第3の実施形態に係るシグネチャ作成装置121における処理の流れを示すフローチャートである。
 ファイル分類部123は、ハッシュ算出部102が算出するハッシュ値に基づき、入力した複数のファイルをグループに分類する(ステップS142)。
 ストリング特定部124は、ステップS133及びステップS135(図9)に示された処理と同様な処理手順に従い、分類されたグループに含まれているグッドファイルセットに関するストリング、及び、該グループに含まれているバッドファイルセットに関するストリングを特定する(ステップS143、及び、ステップS144)。
 シグネチャ作成部125は、ステップS104(図2)と同様な処理を実行することによって、バッドファイルセットに関するシグネチャ情報を作成する(ステップS145)。シグネチャ作成部125は、ステップS125(図8)と同様な処理を実行することによって、該シグネチャ情報に含まれているストリングを、該グループに含まれているグッドファイルセットに関して特定された共通ストリング情報に関する条件を削除する(ステップS146)。
 図10に示された処理において、あるシグネチャ情報から削除する対象である共通ストリング情報は、該あるシグネチャ情報を作成する基であるグループに限定されているので、削除する対象である共通ストリングを探索する処理が、図9等に示された処理に比べて少ない。したがって、シグネチャ作成装置121は、図10に示された処理に従いシグネチャ情報を作成することによって、図9を参照しながら説明したような効果に加え、さらに短時間にシグネチャ情報を作成することができる。
 次に、第3の実施形態に係るシグネチャ作成装置121に関する効果について説明する。
 第3の実施形態に係るシグネチャ作成装置121によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、第1の実施形態にて上述した理由と同様である。
 さらに、第3の実施形態に係るシグネチャ作成装置121によれば、より一層高い判定精度、または、より短時間に、シグネチャ情報を作成することができる。これは、図8乃至図10の各図を参照しながら説明したような理由に基づき、上記の効果を得ることができるからである。
 <第4の実施形態>
 次に、上述した第1の実施形態を基本とする本発明の第4の実施形態について説明する。
 以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
 図12を参照しながら、本発明の第4の実施形態に係るシグネチャ作成装置151が有する構成について詳細に説明する。図12は、本発明の第4の実施形態に係るシグネチャ作成装置151が有する構成を示すブロック図である。
 第4の実施形態に係るシグネチャ作成装置151は、ハッシュ算出部102と、ファイル分類部103と、ストリング特定部104と、シグネチャ作成部105と、シグネチャ検証部156とを有する。
 次に、図13を参照しながら、本発明の第4の実施形態に係るシグネチャ作成装置151における処理について詳細に説明する。図13は、第4の実施形態に係るシグネチャ作成装置151における処理の流れを示すフローチャートである。
 シグネチャ作成装置151における各部は、ステップS101乃至ステップS104に示された処理を実行することによって、シグネチャ情報を作成する。
 シグネチャ検証部156は、ステップS104にて作成されたシグネチャ情報に基づき、バッドウェアを含んでいるファイルがシグネチャ情報における判定情報を満たしているか否か、及び、バッドウェアを含んでいないファイルがシグネチャ情報における判定情報を満たしているか否かをそれぞれ判定する(ステップS155)。図3を参照しながら説明したように、判定情報がバッドウェアを含むバッドファイルに共通して含まれているストリングを表すので、ファイルが判定情報を満たしている場合に、該ファイルは、バッドウェアを含んでいると判定される。これに対して、ファイルが判定情報を満たしていない場合に、該ファイルは、バッドウェアを含んでいないと判定される。
 次に、シグネチャ検証部156は、シグネチャ情報に関する判定精度を、各ファイルに対する判定結果に基づき算出する(ステップS156)。シグネチャ検証部156は、バッドウェアを含んでいるファイルに対する判定精度、及び、バッドウェアを含んでいないファイルに対する判定精度を、それぞれ、算出する。
 シグネチャ検証部156は、算出した判定精度が所定の条件を満たしているのか否かを判定し、該所定の条件を満たしているシグネチャ情報のみを出力する(ステップS157)。シグネチャ検証部156は、たとえば、バッドウェアを含んでいるファイルに対する判定精度が所定の条件を満たしているか否かを判定してもよいし、バッドウェアを含んでいるファイル、及び、バッドウェアを含んでいないファイルに関して算出された判定精度が所定の条件を満たしているか否かを判定してもよい。バッドウェアを含んでいるファイルに関する所定の判定条件は、たとえば、判定精度が所定の第1精度よりも大きいという条件である。バッドウェアを含んでいないファイルに関する所定の判定条件は、たとえば、判定精度が所定の第2精度以下であるという条件である。この場合に、所定の第1精度、及び、所定の第2精度は、必ずしも、同じ値である必要はなく、異なる値であってもよい。
 シグネチャ検証部156は、シグネチャ情報ごとに判定精度を算出するのではなく、該シグネチャ情報を作成する基であるグループごとに判定精度を算出してもよい。シグネチャ検証部156は、算出した判定精度が所定の判定条件を満たしているグループに基づき算出されたシグネチャ情報を出力し、該所定の判定条件を満たしていないグループに基づき算出されたシグネチャ情報を出力しない。この場合に、シグネチャ検証部156は、あるグループに関する判定精度が所定の判定条件を満たさないことが判明したときに、該あるグループに関して判定精度を算出する処理(たとえば、ステップS155乃至ステップS157に示された処理)を終了してもよい。たとえば、ファイルが100個であり、所定の判定条件が「判定精度が70%よりも高い」という条件である場合に、シグネチャ検証部156は、該あるグループに関して誤判定されたファイル数が30個以上となった場合に、該グループに関して判定精度を算出する処理を終了してもよい。この場合に、シグネチャ検証部156は、該あるグループに関する判定精度が所定の条件を満たしていないと判定する。したがって、この場合に、シグネチャ検証部156は、該あるグループを出力しない。シグネチャ検証部156が、必ずしも、すべてのファイルに関して、シグネチャ情報における判定条件が成り立っているか否かを判定する必要がないので、短時間にシグネチャ情報に関する判定精度を算出することができる。
 次に、第4の実施形態に係るシグネチャ作成装置151に関する効果について説明する。
 第4の実施形態に係るシグネチャ作成装置151によれば、高い判定精度を有するシグネチャ情報を短時間に作成することができる。この理由は、第1の実施形態にて上述した理由と同様である。
 さらに、第4の実施形態に係るシグネチャ作成装置151によれば、さらに高い判定精度を有するシグネチャ情報を作成することができる。この理由は、バッドウェアを含んでいるか否かに関する情報があらかじめ与えられているファイルを用いて、シグネチャ作成装置151がシグネチャ情報に関する判定精度を算出し、所定の判定条件を満たしている判定精度を有するシグネチャ情報のみを出力するからである。したがって、所定の条件を満たしていない判定精度を有するシグネチャ情報をシグネチャ作成装置151が出力しないので、第4の実施形態に係るシグネチャ作成装置151によれば、さらに高い判定精度を有するシグネチャ情報を作成することができる。
 (ハードウェア構成例)
 上述した本発明の各実施形態に係るシグネチャ作成装置、または、ソフトウェア判定装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係るシグネチャ作成装置、または、係るソフトウェア判定装置は、物理的または機能的に、少なくとも2つの計算処理装置を用いて実現されてもよい。また、係るシグネチャ作成装置は、専用の装置として実現されてもよい。
 図14は、本発明の各実施形態に係るシグネチャ作成装置、または、ソフトウェア判定装置を実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)21、メモリ22、ディスク23、不揮発性記録媒体24、及び、通信インターフェース(以降、「通信IF」と表す)27を有する。計算処理装置20は、入力装置25、出力装置26に接続可能であってもよい。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
 不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27、及び、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
 すなわち、CPU21は、ディスク23に格納されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。外部への出力が必要な場合に、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合に、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図4、図7、または、図12に示す各部が表す機能(処理)に対応するところのメモリ22にあるシグネチャ作成プログラム(図2、図5、図8乃至図10、または、図13)、または、ソフトウェア判定プログラムを解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次実行する。
 すなわち、このような場合に、本発明は、係るシグネチャ作成プログラム、または、係るソフトウェア判定プログラムによっても成し得ると捉えることができる。さらに、係るシグネチャ作成プログラム、または、係るソフトウェア判定プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2016年7月27日に出願された日本出願特願2016-147473を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 101  シグネチャ作成装置
 102  ハッシュ算出部
 103  ファイル分類部
 104  ストリング特定部
 105  シグネチャ作成部
 106  ソフトウェア判定システム
 201  ソフトウェア判定装置
 111  シグネチャ作成装置
 112  領域選択部
 113  ハッシュ算出部
 210  領域情報記憶部
 121  シグネチャ作成装置
 123  ファイル分類部
 124  ストリング特定部
 125  シグネチャ作成部
 221  消去情報記憶部
 151  シグネチャ作成装置
 156  シグネチャ検証部
 20  計算処理装置
 21  CPU
 22  メモリ
 23  ディスク
 24  不揮発性記録媒体
 25  入力装置
 26  出力装置
 27  通信IF

Claims (10)

  1.  ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出手段と、
     前記ハッシュ算出手段によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類手段と、
     前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定手段と、
     特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成手段と
     を備えるシグネチャ作成装置。
  2.  前記ファイルの種別を特定し、ある種別のファイルに関して前記ハッシュ値が算出される前記領域を表す領域情報に基づき、特定した前記種別に関する前記領域を選択する領域選択手段
     をさらに備え、
     前記ハッシュ算出手段は、前記領域選択手段によって選択された前記領域に関する前記ハッシュ値を算出する
     請求項1に記載のシグネチャ作成装置。
  3.  前記シグネチャ作成手段は、前記シグネチャ情報から消去する対象であるストリングを表す消去ストリング情報を含んでいる消去情報に基づき、作成した前記シグネチャ情報のうち、前記消去ストリング情報に関する条件を前記シグネチャ情報から削除する
     請求項1または請求項2に記載のシグネチャ作成装置。
  4.  前記ファイルは、情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルであり、
     前記分類手段は、前記バッドファイルを分類したグループを表すバッドグループと、前記グッドファイルを分類したグループを表すグッドグループとを作成し、
     前記特定手段は、前記バッドグループに含まれているファイルに共通して含まれている前記ストリングと、前記グッドグループに含まれているファイルに共通して含まれている前記ストリングとを特定し、前記グッドグループに関して特定した前記ストリングを前記消去情報に格納し、
     前記シグネチャ作成手段は、前記バッドファイルが分類された前記グループに関する前記シグネチャ情報を作成し、さらに、前記消去情報に含まれている前記ストリングに関する条件を前記シグネチャ情報から削除する
     請求項3に記載のシグネチャ作成装置。
  5.  前記ファイルは、情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルであり、
     前記特定手段は、前記グループに含まれている前記ファイルを、前記バッドファイルと、前記グッドファイルとに関して、それぞれ、前記共通ストリングを特定し、
     前記シグネチャ作成手段は、前記グループに対して、前記バッドファイルについて特定された前記共通ストリングに関する前記シグネチャ情報を作成し、作成した前記シグネチャ情報から、前記グッドファイルについて特定された前記共通ストリングに関する条件を削除する
     請求項1または請求項2に記載のシグネチャ作成装置。
  6.  情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルに対して、作成された前記シグネチャ情報が表す基準を満たしているか否かを判定し、判定した結果に基づき前記シグネチャ情報に関する判定精度を算出し、算出した前記判定精度が所定の条件を満たしている前記シグネチャ情報のみを出力するシグネチャ検証手段
     をさらに備える請求項1または請求項2に記載のシグネチャ作成装置。
  7.  情報処理システムに対して悪影響を与えるバッドウェアを含むバッドファイル、または、前記バッドウェアを含まないファイルを表すグッドファイルに対して、作成された前記シグネチャ情報が表す基準を満たしているか否かを判定する判定処理を実行し、判定した結果に基づき、前記シグネチャ情報に含まれている前記共通ストリングが特定された前記グループごとに、前記グループに基づき作成された前記シグネチャ情報の判定精度を算出し、算出した前記判定精度が所定の条件を満たしている前記グループに基づき作成された前記シグネチャ情報のみを出力するシグネチャ検証手段
     をさらに備え、
     前記シグネチャ検証手段は、あるグループに関する前記判定精度が前記所定の条件を満たすことができないと判定した場合には、前記あるグループに関する前記判定処理を実行しない
     請求項1または請求項2に記載のシグネチャ作成装置。
  8.  請求項1乃至請求項7のいずれかに記載のシグネチャ作成装置と、
     あるファイルに含まれているストリングが、前記シグネチャ作成装置が作成した前記シグネチャ情報に含まれている判定情報を満たしているか否かに応じて、悪影響を与える処理を前記あるファイルが含んでいるか否かを判定するソフトウェア判定装置と
     を備えるソフトウェア判定システム。
  9.  情報処理装置によって、ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出し、算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類し、前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定し、特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成方法。
  10.  ファイルを構成している少なくとも一部の領域に関するハッシュ値を、複数のファイルに対して算出するハッシュ算出機能と、
     前記ハッシュ算出機能によって算出された前記ハッシュ値が類似している程度を求め、求めた前記程度に基づき、前記複数のファイルをグループに分類する分類機能と、
     前記グループにおける前記ファイルに含まれている符号列、または、ビット列を表すストリングのうち、少なくとも一部のファイルに共通している共通ストリングを特定する特定機能と、
     特定した前記共通ストリングのうち、少なくとも一部の前記共通ストリングが含まれているか否かが判定される基準を表すシグネチャ情報を作成するシグネチャ作成機能と
     をコンピュータに実現させるシグネチャ作成プログラムが記録された記録媒体。
PCT/JP2017/026382 2016-07-27 2017-07-21 シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム WO2018021163A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018529834A JP6977724B2 (ja) 2016-07-27 2017-07-21 シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラム、及び、ソフトウェア判定システム
CN201780046584.8A CN109564613B (zh) 2016-07-27 2017-07-21 签名创建设备、签名创建方法、记录签名创建程序的记录介质、以及软件确定系统
US16/320,677 US11126715B2 (en) 2016-07-27 2017-07-21 Signature generation device, signature generation method, recording medium storing signature generation program, and software determination system
RU2019105303A RU2716553C1 (ru) 2016-07-27 2017-07-21 Устройство создания сигнатуры, способ создания сигнатуры, носитель записи, в котором записана программа создания сигнатуры, и система определения программного обеспечения

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016147473 2016-07-27
JP2016-147473 2016-07-27

Publications (1)

Publication Number Publication Date
WO2018021163A1 true WO2018021163A1 (ja) 2018-02-01

Family

ID=61016249

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/026382 WO2018021163A1 (ja) 2016-07-27 2017-07-21 シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム

Country Status (5)

Country Link
US (1) US11126715B2 (ja)
JP (1) JP6977724B2 (ja)
CN (1) CN109564613B (ja)
RU (1) RU2716553C1 (ja)
WO (1) WO2018021163A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642619A (zh) * 2021-07-29 2021-11-12 华侨大学 文字识别模型的训练方法、装置、设备及可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388918B (zh) * 2018-11-02 2020-07-28 深圳市小牛普惠投资管理有限公司 一种资源包加密方法、装置、计算机设备及存储介质
US11288368B1 (en) * 2019-06-26 2022-03-29 Support Intelligence, Inc. Signature generation
CN116910792A (zh) * 2023-09-12 2023-10-20 武汉汉王数据技术有限公司 一种人工智能生成内容处理方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127336A1 (en) * 2006-09-19 2008-05-29 Microsoft Corporation Automated malware signature generation
JP2012003463A (ja) * 2010-06-16 2012-01-05 Kddi Corp シグネチャの生成を支援する支援装置、方法及びプログラム
WO2016080232A1 (ja) * 2014-11-18 2016-05-26 日本電信電話株式会社 悪性通信パターン抽出装置、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043008B2 (en) * 2004-10-29 2018-08-07 Microsoft Technology Licensing, Llc Efficient white listing of user-modifiable files
US20090013405A1 (en) * 2007-07-06 2009-01-08 Messagelabs Limited Heuristic detection of malicious code
US8464345B2 (en) 2010-04-28 2013-06-11 Symantec Corporation Behavioral signature generation using clustering
US9111094B2 (en) * 2011-01-21 2015-08-18 F-Secure Corporation Malware detection
WO2014098387A1 (ko) * 2012-12-17 2014-06-26 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
CN103281325B (zh) * 2013-06-04 2018-03-02 北京奇虎科技有限公司 基于云安全的文件处理方法及装置
CN103473506B (zh) * 2013-08-30 2016-12-28 北京奇虎科技有限公司 用于识别恶意apk文件的方法和装置
CN104657665B (zh) * 2015-03-12 2017-12-08 四川神琥科技有限公司 一种文件处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127336A1 (en) * 2006-09-19 2008-05-29 Microsoft Corporation Automated malware signature generation
JP2012003463A (ja) * 2010-06-16 2012-01-05 Kddi Corp シグネチャの生成を支援する支援装置、方法及びプログラム
WO2016080232A1 (ja) * 2014-11-18 2016-05-26 日本電信電話株式会社 悪性通信パターン抽出装置、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642619A (zh) * 2021-07-29 2021-11-12 华侨大学 文字识别模型的训练方法、装置、设备及可读存储介质
CN113642619B (zh) * 2021-07-29 2023-12-26 华侨大学 文字识别模型的训练方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
RU2716553C1 (ru) 2020-03-12
CN109564613A (zh) 2019-04-02
JP6977724B2 (ja) 2021-12-08
JPWO2018021163A1 (ja) 2019-05-09
CN109564613B (zh) 2023-05-30
US20190163906A1 (en) 2019-05-30
US11126715B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
WO2018021163A1 (ja) シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム
TWI611349B (zh) 檢測系統及其方法
JP6068568B1 (ja) 改変k最近傍グラフ生成装置及び改変k最近傍グラフ生成装置の動作方法
RU2454714C1 (ru) Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов
JP5679074B2 (ja) ソフトウェアのインストール順序を決定する方法、プログラム、及び装置
US9389852B2 (en) Technique for plagiarism detection in program source code files based on design pattern
US10817542B2 (en) User clustering based on metadata analysis
US20050144167A1 (en) Parallel merge/sort processing device, method, and program
JP6331756B2 (ja) テストケース生成プログラム、テストケース生成方法、及びテストケース生成装置
JP6281491B2 (ja) テキストマイニング装置、テキストマイニング方法及びプログラム
US11399071B2 (en) Program operation system and program operation method
KR102367859B1 (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
US11645539B2 (en) Machine learning-based techniques for representing computing processes as vectors
JP5718166B2 (ja) 設計検証方法及びプログラム
JP4921453B2 (ja) ビット列データソート装置、方法及びプログラム
JP6651915B2 (ja) 情報処理装置及び情報処理プログラム
KR100585176B1 (ko) 입출력 서브시스템에서 입출력 명령의 부하 판단 방법 및장치
JP7156376B2 (ja) 観測事象判定装置、観測事象判定方法、及びプログラム
JPWO2020065778A1 (ja) 情報処理装置、制御方法、及びプログラム
US20230419189A1 (en) Programmatic selector for choosing a well-suited stacked machine learning ensemble pipeline and hyperparameter values
JP7391766B2 (ja) テストスクリプト生成システム、テストスクリプト生成方法、電子制御装置
JP7491390B2 (ja) 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム
JP7075011B2 (ja) 情報処理装置、パッチ適用確認システム、パッチ適用確認方法、およびパッチ適用確認プログラム
WO2021047576A1 (zh) 日志记录处理方法、装置、设备及机器可读存储介质
JP7259436B2 (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: 17834171

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018529834

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

Country of ref document: EP

Kind code of ref document: A1