WO2022172422A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
WO2022172422A1
WO2022172422A1 PCT/JP2021/005370 JP2021005370W WO2022172422A1 WO 2022172422 A1 WO2022172422 A1 WO 2022172422A1 JP 2021005370 W JP2021005370 W JP 2021005370W WO 2022172422 A1 WO2022172422 A1 WO 2022172422A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
static
unit
learning
hash value
Prior art date
Application number
PCT/JP2021/005370
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 EP21925673.2A priority Critical patent/EP4276670A1/en
Priority to CN202180093035.2A priority patent/CN116830106A/zh
Priority to PCT/JP2021/005370 priority patent/WO2022172422A1/ja
Priority to AU2021427822A priority patent/AU2021427822B2/en
Priority to JP2022581133A priority patent/JPWO2022172422A1/ja
Publication of WO2022172422A1 publication Critical patent/WO2022172422A1/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to an information processing device, an information processing method, and an information processing program.
  • File hash values are often used to determine software authenticity.
  • a hash value is a numerical sequence having compact bit length data generated from original data, and is generated from the original data by a hash function having unidirectionality.
  • a hash value generated by a hash function is a unique value generated from the original data, and if the hash values are the same, it is guaranteed to be the same data.
  • the hash value at the time when no tampering has occurred is stored as the correct value in the normal state. Then, the authenticity determination program is periodically executed for the files to be determined in the device, and software authenticity determination is performed using the stored correct values.
  • software authenticity determination by calculating a hash value from a file to be determined and comparing it with the correct value, unauthorized alteration of the file to be determined is detected.
  • a fixed hash value is not calculated for a file whose content information is periodically updated or a file whose writing occurs due to an event such as execution of a program. Therefore, in the authenticity determination method using comparison of hash values, inclusion of such files in the files to be determined causes erroneous detection. Therefore, in authenticity judgment using hash value comparison, it is assumed that the file to be judged is a file whose file contents do not change, that is, a static file.
  • static file selection methods include methods such as static analysis, dynamic analysis, and selection using snapshots.
  • Static analysis is a method of excluding changed files by referring to the meta information attached to the files.
  • Targeting specific software package files referring to the meta information given by the package developer for each file, excluding files with overwriting tags, that is, dynamic files where rewriting occurs, and remaining files is selected as a static file.
  • selectable files are files in which meta information is defined.
  • dynamic analysis is a method of monitoring system calls for a certain period of time and extracting files that have not changed as static files.
  • Targeting files for which meta information is not defined such as in static analysis, monitoring the behavior of files by system calls during a certain period of monitoring time, excluding files that changed during that time, and remaining files as static files. selected as a target file.
  • the monitoring time is sufficiently long, the accuracy is improved, but in the time span in actual operation, there is a possibility that files that do not change by chance during the monitoring time or files that change at a long cycle are included.
  • selection using snapshots is a method of monitoring file behavior in the same way as dynamic analysis, in which snapshots of files are taken twice at regular intervals and the difference is analyzed. This method selects files that have not changed as static files. As with the dynamic analysis, this method may also include files that did not occur during the monitoring period or files with a long cycle of change.
  • Patent Document 1 A technique has been proposed (Patent Document 1). A technique has also been proposed for comparing common definition information with files to be managed, determining whether or not there is a file that satisfies all the conditions of the common definition information, and extracting common definition information corresponding to the file to be managed. (Patent Document 2).
  • JP 2019-8377 A Japanese Patent Application Laid-Open No. 2020-71560
  • the object of judgment is limited to files with defined meta-information, and the scope of software authenticity judgment may become narrower and the accuracy may decrease.
  • selection methods using dynamic analysis and snapshots are methods based on the time axis, and there is a possibility that files that did not change during the monitored time may be included. Therefore, there is a possibility that a file that should not be subject to software authenticity determination may be targeted, and the accuracy of software authenticity determination may decrease.
  • the present invention has been made in view of the above, and aims to improve the accuracy of software authenticity determination and to operate the system stably.
  • the learning unit learns each feature of dynamic files and static files to generate a learning model.
  • the extraction unit acquires the predetermined file group at a reference point in time from an external device that uses the predetermined file group, and extracts the determination target file, which is the static file, from the predetermined file group based on the learning model. do.
  • the accuracy of software authenticity determination can be improved and the system can be operated stably.
  • FIG. 1 is a block diagram of an authenticity determination system according to an embodiment.
  • FIG. 2 is a diagram for explaining creation of teacher data.
  • FIG. 3 is a diagram illustrating an example of a result of classifying falsified files by the authenticity determination server according to the embodiment;
  • FIG. 4 is a flowchart of processing in the learning phase of the authenticity determination server according to the embodiment.
  • FIG. 5 is a flow chart of processing in the classification phase and normal state hash value storage phase of the authenticity determination server according to the embodiment.
  • FIG. 6 is a flowchart of processing in the authenticity determination phase of the authentication server according to the embodiment.
  • FIG. 7 is a diagram showing an example of a computer that executes a learning program.
  • FIG. 1 is a block diagram of an authenticity determination system according to an embodiment.
  • the authentication system 1 includes an authentication server 10 that is an information processing device, a monitored device 20 that is an external device to the authentication server 10, and a learning data providing device 30. .
  • the authenticity determination server 10, the monitored device 20, and the learning data providing device 30 are connected via a network.
  • the monitoring target device 20 is, for example, a control device arranged in an infrastructure system or a server device that provides infrastructure services.
  • the monitoring target device 20 is a server that may be exposed to the threat of unauthorized alteration of software, and as a monitoring target of software authenticity detection, it is required to quickly detect and deal with unauthorized alteration to avoid a situation that is difficult to recover from. Target.
  • the monitored device 20 has a hash value generator 21 and a file group 22 .
  • the file group 22 is a data group used for operation of the monitoring target device 20, and includes both static files and dynamic files. File data included in the file group 22 may be subject to unauthorized alteration. That is, the file data included in the file group 22 is subject to the software authenticity determination by the authenticity determination server 10 .
  • the hash value generation unit 21 receives from the authenticity determination server 10 a request to transmit the hash value of each file data included in the file group 22 of the monitored device 20 in operation.
  • the hash value generator 21 has a hash function that is common to the hash function that the authentication server 10 has.
  • the hash value generator 21 then calculates a hash value of each file data included in the file group 22 . After that, the hash value generator 21 outputs the calculated hash value of each file data included in the file group 22 to the authentication server 10 .
  • the learning data providing device 30 is a computer that provides file data used for learning by the authenticity determination server 10 .
  • the learning data providing device 30 provides the authentication server 10 with file data used for learning a software authentication learning model specified by the authentication server 10 .
  • the learning data providing device 30 stores various OS (Operating System) files.
  • the learning data providing device 30 has a plurality of virtual servers each holding a different OS system file.
  • the authenticity determination server 10 includes a verification unit 101, a verification result registration unit 102, an authentication determination instruction unit 103, a normal state hash value storage unit 104, a hash value generation unit 105, a file information acquisition unit 106, an extraction It has a unit 107 , a teacher data creation unit 108 and a learning unit 109 .
  • the teacher data creation unit 108 and the learning unit 109 perform processing for generating the determination target classification learning model 110 used when performing software authenticity determination on file data held by the monitoring target device 20 . That is, the teacher data creation unit 108 and the learning unit 109 perform processing in the learning phase of the determination target classification learning model 110 .
  • the teacher data creation unit 108 acquires file data used for learning from the learning data providing device 30 .
  • the teacher data creation unit 108 acquires file data of static files and file data of dynamic files specified by the administrator from the learning data providing device 30 .
  • any one of the following three types or a combination thereof is selected based on the OS domain type as the file data to be used for learning.
  • the first is a 64-bit version of centOS8 (registered trademark), which is an OS used in Linux (registered trademark) distributions.
  • the second is a 64-bit version of Ubuntu 20.04 (registered trademark), which is also an OS used in Linux distributions and revisions.
  • the third is the 64-bit version of Windows 10 (registered trademark). They are hereinafter simply referred to as "centOS”, "Ubuntu” and "Windows", respectively.
  • data that can identify whether it is a static file or a dynamic file is selected from the file data of each OS. Whether certain file data is a static file or a dynamic file is determined according to the following criteria in this embodiment.
  • the file data collected from centOS and Ubuntu and used for learning is determined whether it is a static file or a dynamic file with reference to the Linux file system hierarchy standard. More specifically, file data residing under specific directories that store immutable files such as static configuration files and read-only files are considered static files. For example, files under /etc/, /boot, /user/bin are considered static files. Also, file data existing under a specific directory that stores transitory or temporary files, such as file data spool files and log files, is considered a dynamic file. For example, /var The file data below is considered a dynamic file. As for Windows, file data updated one year or more ago is regarded as a static file, and file data updated less than one year ago is regarded as a dynamic file.
  • file data collected from Windows and used for learning file data whose update date and time is more than one year old is considered a static file, and file data whose update date and time is less than one year old is considered a dynamic file.
  • the teacher data creation unit 108 receives designation that the file data existing under a specific directory that stores immutable files is a static file. In addition, the training data creation unit 108 determines that file data existing under a specific directory that stores transient or temporary file data, among file data of centOS and Ubuntu, is a dynamic file. receive designation.
  • the teaching data creation unit 108 receives static file designation for files whose update date and time is more than one year old, and dynamic file designation for files whose update date and time are less than one year old. receive.
  • the teacher data creation unit 108 collects the binaries of the static files and the dynamic files in the file data group used for learning from the learning data providing device 30 according to the above designation.
  • FIG. 2 is a diagram for explaining the creation of teacher data.
  • the training data creation unit 108 adds a label of "1" to the collected files that can be regarded as dynamic files, and adds a label of "0" to the files that can be regarded as static files. and use it as the teacher label for each file.
  • the teacher data creation unit 108 creates teacher data 202 by creating a feature amount vector representing the number of appearances of 1-byte characters expressed in hexadecimal for each file.
  • the training data 202 in FIG. 2 represents a vector in which the appearance counts of hexadecimal numbers from 00 to ff for each file are arranged in order.
  • the number of occurrences of bytes is used as the feature amount for each file, and the file size and the like are not taken into consideration.
  • the feature amount calculation method is not limited to this, and the training data creation unit 108 may obtain the feature amount in consideration of other indices such as file size.
  • the teacher data creation unit 108 outputs to the learning unit 109 the teacher data, which is binary data to which a teacher label indicating whether the file is a static file or a dynamic file is added.
  • the learning unit 109 receives input of teacher data from the teacher data creation unit 108 . Then, the learning unit 109 performs learning using the acquired teacher data, performs tuning of hyperparameters that maximize classification accuracy, and generates a learned determination target classification learning model 110 . That is, the learning unit 109 learns each feature of dynamic files and static files to generate a learning model.
  • the determination target classification learning model 110 corresponds to an example of a learning model. More specifically, the learning unit 109 learns each feature of the dynamic file and the static file using the binary data of the static file and the dynamic file. Also, the learning unit 109 performs learning using teacher data for each OS domain type.
  • the learning unit 109 uses a classification algorithm called a support vector machine, performs parameter tuning and cross-validation by grid search, and selects a model with the highest classification accuracy as the classification learning model 110 to be judged. and After that, the learning unit 109 outputs the learned determination target classification learning model 110 to the extraction unit 107 .
  • a classification algorithm called a support vector machine
  • the file information acquisition unit 106 and the extraction unit 107 perform processing for classifying and extracting static files used as determination targets when performing software authenticity determination on file data held by the monitoring target device 20 . That is, the file information acquisition unit 106 and the extraction unit 107 perform processing in the classification phase of the classification learning model 110 to be judged.
  • the file information acquisition unit 106 acquires from the file information acquisition unit 106 the file group 22 possessed by the monitoring target device 20 at the reference point in time when the normal state is confirmed. Then, file information acquisition section 106 outputs acquired file group 22 to extraction section 107 .
  • the extraction unit 107 acquires the file group 22 from the file information acquisition unit 106. Then, the extraction unit 107 inputs the acquired file group 22 to the learned determination target classification learning model 110, and classifies it into a static file and a dynamic file. That is, the extracting unit 107 extracts a determination target file, which is a static file, from a predetermined file group based on the learning model.
  • the file group 22 corresponds to an example of a predetermined file
  • the determination target classification learning model 110 corresponds to an example of a learning model. More specifically, the extraction unit 107 receives an input of a predetermined file group, classifies the input predetermined file group into a static file or a dynamic file based on the learning model, and extracts the static file.
  • the extraction unit 107 extracts the static files included in the file group 22 and causes the authenticity determination server 10 to hold the extracted static files as the determination target file group 120 . At this time, the extraction unit 107 adds a determination target file list representing the extracted static files to the determination target file group 120 .
  • the hash value generation unit 105 and the normal state hash value storage unit 104 perform processing for securing the hash value of the determination target file in the normal state, which serves as the standard for software authenticity determination. That is, the hash value generation unit 105 and the normal state hash value storage unit 104 perform processing of the normal state hash value storage phase.
  • the hash value generation unit 105 acquires each determination target file in a normal state included in the determination target file group 120 . Next, the hash value generation unit 105 calculates a hash value of each acquired determination target file. That is, the hash value generation unit 105 obtains the first hash value of each determination target file extracted by the extraction unit 107 . After that, the hash value generation unit 105 stores the hash value of each determination target file in the normal state in the normal state hash value storage unit 104 .
  • the normal state hash value storage unit 104 acquires from the hash value generation unit 105 and stores the hash value calculated from the normal state determination target file at the reference time.
  • the hash value calculated from the normal state determination target file will be referred to as a “normal state hash value”.
  • the authenticity determination command unit 103, the verification unit 101, and the verification result registration unit 102 perform software authenticity determination processing for the file group 22 of the monitoring target device 20 during operation.
  • the authenticity determination instruction unit 103, the verification unit 101, and the verification result registration unit 102 perform processing in the authentication determination phase.
  • the authenticity determination command unit 103 acquires the identification information of each determination target file from the determination target file list added to the determination target file group 120 . Then, the authenticity determination command unit 103 transmits a hash value calculation request to the hash value generation unit 21 of the monitoring target device 20 together with the identification information of each determination target file. The authenticity determination command unit 103 repeats the process of starting the above software authenticity determination periodically, such as once a day.
  • the verification unit 101 receives the hash value of the file group 22 owned by the monitoring target device 20 in operation from the hash value generating unit 21 of the monitoring target device 20 .
  • the file group 22 owned by the monitoring target device 20 in operation is the file group 22 after the lapse of time from the reference point in time, and is the file group 22 that may have been tampered with.
  • the hash value of the file group 22 owned by the monitoring target device 20 in operation is referred to as a "falsification possibility existence hash value".
  • the verification unit 101 acquires the normal state hash value of each determination target file from the normal state hash value storage unit 104 . Then, the verification unit 101 compares the falsification possibility existence hash value and the normal state hash value of each determination target file, and determines whether or not the values match. Accordingly, the verification unit 101 determines whether or not the determination target file at that time and the determination target file at the reference time match. The verification unit 101 determines that the determination target file with the matching value has not been tampered with. On the other hand, the verification unit 101 determines that the file to be determined for which the values do not match has been tampered with. After that, the verification unit 101 outputs to the verification result registration unit 102 a verification result of tampering with the monitoring target device 20 , which indicates whether or not the file group 22 of the monitoring target device 20 has been tampered with.
  • the verification unit 101 acquires from the external device the second hash value of each of the determination target files after the elapse of time from the reference time held by the external device, and compares the first hash value and the second hash value. Then, it is verified whether or not a predetermined file group has been tampered with.
  • the monitored device 20 is an example of an external device
  • the normal state hash value is an example of a first hash value
  • the falsification possibility existence hash value is an example of a second hash value
  • the file group 22 is a predetermined file group. It corresponds to an example of
  • the verification result registration unit 102 receives from the verification unit 101 the verification result of falsification of the monitored device 20 .
  • the verification result registration unit 102 registers the verification result indicating that the monitored device 20 has been tampered with in a verification result registration location of the authenticity determination server 10 .
  • the administrator can confirm that the monitoring target device 20 has been illegally tampered with by confirming the registration location of the verification result in the authenticity determination server 10 .
  • FIG. 3 is a diagram showing an example of a result of classifying falsified files by the authenticity determination server according to the embodiment.
  • the taxonomy result of the falsified file by the authenticity determination server 10 according to the present embodiment will be described.
  • a case of using file data of centOS, a case of using file data of centOS and Ubuntu, and a case of using file data of centOS, Ubuntu and Windows as a teacher data set which is the original data for creating teacher data. and three cases will be described as examples.
  • the classification learning model 110 for determination is generated using file data of centOS.
  • the AUC rea Under Curve
  • the AUC value is 0.9 or more, and it can be said that the classification is performed with high accuracy.
  • the AUC value is 0.8 or more, and it can be said that the classification is also performed with high accuracy. That is, even in the verification of file data of Ubuntu that has not been learned, classification can be performed with high accuracy, and it can be seen that there is generalization performance for the same OS domain.
  • Windows file data is used as verification data, the AUC value is less than 0.5 and the classification accuracy is low.
  • the classification learning model 110 for determination is generated using file data of centOS and Ubuntu.
  • the AUC value is 0.9 or more, and it can be said that the classification is performed with high accuracy.
  • Ubuntu file data is used as the verification data
  • the AUC value is 0.9 or more, and it can be said that the classification is also performed with high accuracy. That is, it can be seen that classification can be performed with high accuracy by classifying the verification data of the same domain type with respect to the teacher data used for learning.
  • Windows file data is used as verification data, the AUC is 0.6 or more, which means that the classification accuracy is somewhat good.
  • centOS file data is used as verification data
  • Ubuntu file data when Ubuntu file data is used
  • Windows file data when Windows file data is used as verification data
  • the AUC value is 0.9 or more, which is high. It can be said that the classification is done with accuracy. That is, it can be seen that classification can be performed with high accuracy by classifying the verification data of the same domain type with respect to the teacher data used for learning.
  • FIG. 4 is a flowchart of processing in the learning phase of the authenticity determination server according to the embodiment. Next, with reference to FIG. 4, the flow of processing in the learning phase of the authenticity determination server 10 according to this embodiment will be described.
  • the teacher data creation unit 108 acquires file data used for learning from the learning data providing device 30 .
  • the teacher data creation unit 108 acquires the binary data of each static file and dynamic file in the file data group used for learning from the learning data providing device 30 according to instructions from the administrator (step S101). .
  • the training data creation unit 108 adds a label representing a dynamic file or a static file to each file, and creates a feature amount vector representing the number of occurrences of 1-byte characters expressed in hexadecimal for each file. to create teacher data (step S102).
  • the teacher data creation unit 108 outputs to the learning unit 109 the teacher data, which is binary data to which a teacher label indicating whether the file is a static file or a dynamic file is added.
  • the learning unit 109 uses the teacher data acquired from the teacher data creation unit 108 to perform learning for tuning the hyperparameters that maximize the classification accuracy, and generates the learned determination target classification learning model 110 (step S103). .
  • the learning unit 109 outputs the learned determination target classification learning model 110 to the extraction unit 107 .
  • the extraction unit 107 stores the determination target classification learning model 110 acquired from the learning unit 109 (step S104).
  • FIG. 5 is a flow chart of processing in the classification phase and normal state hash value storage phase of the authenticity determination server according to the embodiment. Next, the flow of processing in the classification phase and the normal state hash value storage phase of the authenticity determination server 10 according to the present embodiment will be described with reference to FIG.
  • the file information acquisition unit 106 acquires from the file information acquisition unit 106 the file group 22 possessed by the monitoring target device 20 at the reference point in time when the normal state is confirmed (step S201).
  • the extraction unit 107 acquires the file group 22 from the file information acquisition unit 106. Then, the extraction unit 107 inputs the obtained file group 22 to the learned determination target classification learning model 110, and classifies it into static files and dynamic files (step S202).
  • the extraction unit 107 extracts the static files included in the file group 22 and causes the authenticity determination server 10 to hold the extracted static files as the determination target file group 120 .
  • the hash value generation unit 105 acquires each determination target file in a normal state included in the determination target file group 120 .
  • the hash value generating unit 105 calculates a normal state hash value of each acquired determination target file (step S203).
  • the hash value generation unit 105 stores the hash value of each determination target file in the normal state in the normal state hash value storage unit 104 (step S204).
  • FIG. 6 is a flowchart of processing in the authenticity determination phase of the authentication server according to the embodiment. Next, with reference to FIG. 6, the flow of processing in the authenticity determination phase of the authenticity determination server 10 according to the present embodiment will be described.
  • the authenticity determination command unit 103 acquires the identification information of each determination target file from the determination target file list added to the determination target file group 120 . Then, the authenticity determination command unit 103 transmits a hash value calculation request together with the identification information of each determination target file to the hash value generation unit 21 of the monitoring target device 20 (step S301).
  • the hash value generation unit 21 of the monitoring target device 20 acquires each file data of the file group 22 and calculates each falsification possibility existence hash value.
  • the verification unit 101 receives the falsification possibility presence hash value of the file group 22 of the monitoring target device 20 in operation from the hash value generating unit 21 of the monitoring target device 20 (step S302).
  • the verification unit 101 acquires the normal state hash value of each determination target file from the normal state hash value storage unit 104 . Then, the verification unit 101 compares the falsification possibility existence hash value and the normal state hash value of each determination target file, and verifies whether or not each file data has been falsified (step S303).
  • the verification result registration unit 102 receives from the verification unit 101 the verification result of falsification of the monitored device 20 .
  • the verification result registration unit 102 registers the verification result that the monitored device 20 has been tampered with in the verification result registration location in the authenticity determination server 10 (step S304). ).
  • the authenticity determination server 10 uses a learning model generated by learning the characteristics of static files and dynamic files to extract static files from the file group 22 of the monitoring target device 20 . Extract the determination target file that is a file. Then, the authenticity determination server 10 according to the present embodiment uses the normal state hash value obtained from the determination target file at the reference point in time when it can be assumed that no falsification has been performed, and the determination target file possessed by the monitoring target device 20 in operation. is compared with the tampering possibility presence hash value obtained from , to detect tampering with the monitored device 20 .
  • static files can be easily and comprehensively extracted from the file group 22 of the monitoring target device 20 .
  • software authenticity determination using the extracted static files as files to be determined, a wide range of software authenticity determination can be secured, and files that are not subject to software authenticity determination can be excluded from the files to be determined. can. Therefore, it is possible to improve the accuracy of software authenticity determination and stably operate the system.
  • each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated.
  • the specific form of distribution and integration of each device is not limited to the illustrated one, and all or part of them can be functionally or physically distributed or Can be integrated and configured.
  • the monitoring target device 20 it is possible to configure the monitoring target device 20 to include the normal state hash value storage unit 104 and the verification unit 101 .
  • the verification unit 101 is arranged in the monitoring target device 20 transmits the verification result to the authentication server 10, and the authentication server 10 registers the obtained verification result.
  • all or any part of each processing function performed by each device is realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or hardware by wired logic can be realized as
  • CPU Central Processing Unit
  • the authentication server 10 can be implemented by installing an information processing program for executing the above information processing as package software or online software on a desired computer.
  • the information processing device can function as the authenticity determination server 10 by causing the information processing device to execute the above information processing program.
  • the information processing apparatus referred to here may include a desktop or notebook personal computer in addition to the server computer.
  • information processing devices include mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handy-phone Systems), and slate terminals such as PDA (Personal Digital Assistant).
  • the authentication server 10 can also be implemented as a management server device that uses a terminal device used by a user as a client and provides the client with services related to the above-described management processing.
  • the management server device is implemented as a server device that receives a configuration input request and provides a management service for inputting the configuration.
  • the management server device may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above management processing by outsourcing.
  • FIG. 7 is a diagram showing an example of a computer that executes a learning program.
  • the computer 1000 has a memory 1010 and a CPU 1020, for example.
  • Computer 1000 also has hard disk drive interface 1030 , disk drive interface 1040 , serial port interface 1050 , video adapter 1060 and network interface 1070 . These units are connected by a bus 1080 .
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012 .
  • the ROM 1011 stores a boot program such as BIOS (BASIC Input Output System).
  • BIOS BASIC Input Output System
  • Hard disk drive interface 1030 is connected to hard disk drive 1090 .
  • a disk drive interface 1040 is connected to the disk drive 1100 .
  • a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100 .
  • Serial port interface 1050 is connected to mouse 1110 and keyboard 1120, for example.
  • Video adapter 1060 is connected to display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS 1091, application programs 1092, program modules 1093, and program data 1094. That is, a learning program defining each process of the authentication server 10 having functions equivalent to those of the authentication server 10 is implemented as a program module 1093 in which computer-executable code is described.
  • Program modules 1093 are stored, for example, on hard disk drive 1090 .
  • the hard disk drive 1090 stores a program module 1093 for executing processing similar to the functional configuration of the authentication server 10 .
  • the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in the memory 1010 or the hard disk drive 1090, for example. Then, the CPU 1020 reads the program modules 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes the processes of the above-described embodiments.
  • the program modules 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program modules 1093 and program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Program modules 1093 and program data 1094 may then be read by CPU 1020 through network interface 1070 from other computers.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ソフトウェア真贋判定の精度を向上させシステムを安定稼働させる情報処理装置、情報処理方法及び情報処理プログラムを提供する。学習部(109)は、動的ファイル及び静的ファイルの各特徴を学習して判定対象分類学習モデル(110)を生成する。抽出部(107)は、所定のファイル群を使用する監視対象機器(20)から基準時点での所定のファイル群を取得し、判定対象分類学習モデル(110)を基に所定のファイル群から静的ファイルである判定対象ファイルを抽出する。

Description

情報処理装置、情報処理方法及び情報処理プログラム
 本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
 近年、様々な革新的な技術の登場によって、社会は大きな変革を遂げようとしている。このような大きな変革により、便利で豊かな社会の実現が期待される一方で、これまで起こり得なかったようなサイバー攻撃による被害の拡大や社会的な損失のリスクの肥大化が懸念されている。
 例えば、急速なデジタル化により、これまで直接的にはインターネットにつながっていない工場やプラント等における制御システムや、生活や社会活動に不可欠なサービスを提供している重要インフラに対するサイバー攻撃などのセキュリティ脅威が増大している。
 重要インフラの領域では、数千台のサーバ機器、数万から数十万台の制御機器といったインフラ設備が珍しくなく、1カ所でもサイバー攻撃が成功すれば影響は広範囲に及ぶおそれがある。そこで、システムを構成する各機器の信頼性といった観点から、不正な機器の混入や改変を常時確認し、異常動作を阻止するシステムの安定稼働のためのソフトウェア真贋判定技術が重要である。
 ソフトウェア真贋判定にはファイルのハッシュ値が用いられることが多い。ハッシュ値は元データから生成されるコンパクトなビット長データを有する数列であり、一方向性を有するハッシュ関数により元データから生成される。ハッシュ関数により生成されたハッシュ値は、元データから生成されるユニークな値であり、ハッシュ値が同じであれば同じデータであることが保証される。
 例えば、ファイルのハッシュ値を用いたソフトウェア真贋判定では、改ざんが起こっていない時点でのハッシュ値を正常状態の正解値として保管する。そして、装置内の判定対象のファイルに対して、定期的に真贋判定プログラムが実行され、保管した正解値を用いたソフトウェア真贋判定が行われる。ソフトウェア真贋判定では、判定対象のファイルからハッシュ値を算出しその正解値と比較することで、判定対象のファイルに対する不正な改ざんが検知される。ただし、周期的にコンテンツ情報が更新されるファイルやプログラムの実行などのイベントにより書き込みが発生するようなファイルについては、一定のハッシュ値が算出されない。そのため、ハッシュ値の比較を用いた真贋判定方式では、判定対象のファイルの中にそれらのファイルが含まれることは、誤検知の原因となる。そこでハッシュ値の比較を用いた真贋判定においては、判定対象のファイルはファイルコンテンツが変化しないファイル、すなわち、静的ファイルであることが前提となる。
 以上のことから、ファイルハッシュ値を用いたソフトウェア真贋判定を行う場合、判定対象とする変化が発生しない静的ファイルを選定することが求められる。従来の静的ファイルの選定方法には、静的解析、動的解析、スナップショットを用いた選定といった方法が用いられてきた。
 静的解析は、ファイルに付与されたメタ情報を参考にして、変更されるファイルを除外する方法である。特定のソフトウェアパッケージファイルを対象として、ファイル毎にパッケージの開発者によって付与されたメタ情報を参照し、上書きが発生するタグを持つファイル、すなわち書き換えが発生する動的ファイルを除外し、残ったファイルが静的ファイルとして選定される。この選定方式では、選定可能なファイルはメタ情報が定義されたファイルである。
 また、動的解析は、システムコールを一定時間監視して、変化しなかったファイルを静的ファイルとして抽出する方法である。静的解析のようにメタ情報が定義されていないファイルを対象として、一定時間の監視時間を設けてシステムコールによるファイルの挙動を監視し、その間に変化したファイルを除外して残ったファイルが静的ファイルとして選定される。この方式では監視時間が充分に長ければ精度は良くなるが、実運用上の時間幅では監視時間の間に偶然変化しないファイルや変化の周期の長いファイルなどが含まれる可能性がある。
 また、スナップショットを用いた選定は、動的解析と同じようにファイルの挙動を監視する方法であり、ファイルのスナップショットを一定時間の間隔を空けて2回取得し、その差分を分析して変化のなかったファイルを静的ファイルとして選定する方式である。この方式も、動的解析と同様に監視時間内に偶然しなかったファイルや変化の周期の長いファイルなどが含まれる可能性がある。
 なお、改ざん監視の従来技術として、以下のような技術が存在する。例えば、照合に用いるファイルのリスト及びリストの要素の決定条件に基づき、静的ファイルのパスとデータとの組み合わせ、動的ファイルのパス及びファイルを格納するための条件を満たすディレクトリのパスを生成する技術が提案されている(特許文献1)。また、共通定義情報と管理するファイルとを比較し、共通定義情報の条件に全て合致するファイルが存在するか否かを判定して管理するファイルに対応する共通定義情報を抽出する技術が提案されている(特許文献2)。
特開2019-8377号公報 特開2020-71560号公報
 しかしながら、静的解析の手法では、メタ情報が定義されたファイルに判定対象が限定され、ソフトウェア真贋判定の対象範囲が狭くなり精度が低下するおそれがある。また、動的解析やスナップショットを用いた選定の手法は、時間軸を基準にした方法であり、監視した時間内に偶然変化しなかったファイルが含まれる可能性がある。そのため、本来であればソフトウェア真贋判定の対象とはならないファイルを対象とする可能性があり、ソフトウェア真贋判定の精度が低下するおそれがある。
 また、照合に用いるファイルのリスト及びリストの要素の決定条件に基づき静的ファイルのパスを決定する従来技術では、予め決められた照合情報に登録されるファイルを対象とするものであり、静的解析と同様の問題が発生する。また、共通定義情報と管理するファイルとを比較して所望の共通定義を抽出する従来技術も、予め決められえた共通定義情報を用いるため、静的解析と同様の問題が発生する。
 本発明は、上記に鑑みてなされたものであって、ソフトウェア真贋判定の精度を向上させシステムを安定稼働させることを目的とする。
 上述した課題を解決し、目的を達成するために、学習部は、動的ファイル及び静的ファイルの各特徴を学習して学習モデルを生成する。抽出部は、所定のファイル群を使用する外部機器から基準時点での前記所定のファイル群を取得し、前記学習モデルを基に前記所定のファイル群から前記静的ファイルである判定対象ファイルを抽出する。
 本発明によれば、ソフトウェア真贋判定の精度を向上させシステムを安定稼働させることができる。
図1は、実施形態に係る真贋判定システムのブロック図である。 図2は、教師データの作成を説明するための図である。 図3は、実施形態に係る真贋判定サーバによる改ざんファイルの分類結果の一例を示す図である。 図4は、実施形態に係る真贋判定サーバの学習フェーズにおける処理のフローチャートである。 図5は、実施形態に係る真贋判定サーバの分類フェーズ及び正常状態ハッシュ値保存フェーズにおける処理のフローチャートである。 図6は、実施形態に係る真贋判定サーバの真贋判定フェーズにおける処理のフローチャートである。 図7は、学習プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの一実施形態を図面に基づいて詳細に説明する。なお、以下の実施形態により本願の開示する情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。
[実施形態]
[真贋判定システム]
 図1は、実施形態に係る真贋判定システムのブロック図である。図1に示すように、本実施形態に係る真贋判定システム1は、情報処理装置である真贋判定サーバ10、真贋判定サーバ10に対する外部機器である監視対象機器20及び学習用データ提供装置30を有する。真贋判定サーバ10、監視対象機器20及び学習用データ提供装置30は、ネットワークを介して接続される。
 監視対象機器20は、例えば、インフラシステムに配置された制御機器やインフラサービスの提供を行うサーバ機器である。監視対象機器20は、ソフトウェアの不正な改ざんの脅威にさらされるおそれのあるサーバであり、ソフトウェア真贋検知の監視対象として不正な改ざんの迅速な検知及び対処により回復困難な事態を避けることが求められる対象である。監視対象機器20は、ハッシュ値生成部21及びファイル群22を有する。
 ファイル群22は、監視対象機器20の運用に用いられるデータ群であり、静的ファイル及び動的ファイルの両方を含む。ファイル群22に含まれるファイルデータは、不正な改ざんを受けるおそれがある。すなわち、ファイル群22に含まれるファイルデータが、真贋判定サーバ10によるソフトウェア真贋判定の判定対象となる。
 ハッシュ値生成部21は、運用中の監視対象機器20が有するファイル群22に含まれる各ファイルデータのハッシュ値の送信要求を真贋判定サーバ10から受ける。ここで、ハッシュ値生成部21は、真贋判定サーバ10が有するハッシュ関数と共通のハッシュ関数を有する。そして、ハッシュ値生成部21は、ファイル群22に含まれる各ファイルデータのハッシュ値を算出する。その後、ハッシュ値生成部21は、ファイル群22に含まれる各ファイルデータの算出したハッシュ値を真贋判定サーバ10へ出力する。
 学習用データ提供装置30は、真贋判定サーバ10による学習に用いるファイルデータを提供するコンピュータである。学習用データ提供装置30は、真贋判定サーバ10から指定されたソフトウェア真贋判定の学習モデルの学習に用いられるファイルデータを真贋判定サーバ10へ提供する。学習用データ提供装置30は、各種OS(Operating System)のファイルが格納される。例えば、学習用データ提供装置30は、それぞれで異なるOSのシステムファイルを保持する複数の仮想サーバを有する。
[真贋判定サーバ]
 真贋判定サーバ10について説明する。真贋判定サーバ10は、図1に示すように、検証部101、検証結果登録部102、真贋判定命令部103、正常状態ハッシュ値格納部104、ハッシュ値生成部105、ファイル情報取得部106、抽出部107、教師データ作成部108及び学習部109を有する。
 教師データ作成部108及び学習部109は、監視対象機器20が保持するファイルデータに対するソフトウェア真贋判定を行う際に用いる判定対象分類学習モデル110を生成するための処理を行なう。すなわち、教師データ作成部108及び学習部109は、判定対象分類学習モデル110の学習フェーズにおける処理を行う。
 教師データ作成部108は、学習に用いるファイルデータを学習用データ提供装置30から取得する。例えば、教師データ作成部108は、管理者により指定された静的ファイルのファイルデータ及び動的ファイルのファイルデータを学習用データ提供装置30から取得する。
 以下に、学習に用いるファイルデータの選択方法について説明する。例えば、本実施形態では、OSドメイン種別を基準として以下の三種類のいずれか一つもしくはその組み合わせを学習に用いるファイルデータの選択対象とする。1つ目は、64bit版のcentOS8(登録商標)であり、Linux(登録商標)ディストリビューションで用いられるOSである。2つ目は、64bit版のUbuntu20.04(登録商標)であり、これもLiuxディスとリビューションで用いられるOSである。3つ目は、64bit版のWindows10(登録商標)である。それぞれ、以下では、単に「centOS」、「Ubuntu」及び「Windows」と呼ぶ。
 さらに、上記各OSのファイルデータのうち静的ファイルであるか動的ファイルであるかが特定可能なデータが選択される。あるファイルデータが静的ファイルであるか動的ファイルであるかは、本実施形態では以下の基準で判別される。
 例えば、centOS及びUbuntuから収集する学習に用いるファイルデータは、Linuxのファイルシステム階層標準を参考にして、静的ファイルであるか動的ファイルであるかの判別が行われる。より詳しくは、静的設定ファイルやリードオンリーファイルのような不変ファイルを格納する特定のディレクトリの配下に存在するファイルデータは静的ファイルとみなされる。例えば、/etc/、/boot、/user/bin配下のファイルは、静的ファイルとみなされる。また、ファイルデータスプールファイルやログファイルのような一過性もしくは一時的なファイルを格納する特定のディレクトリの配下に存在するファイルデータは、動的ファイルとみなされる。例えば、/varは以下のファイルデータは動的ファイルとみなされる。また、Windowsに関しては、更新日時が一年以上前のファイルデータは静的ファイル、一年以内であるファイルデータは動的ファイルとみなされる。
 また、Windowsから収集する学習に用いるファイルデータは、更新日時が一年以上前のファイルデータが静的ファイルとみなされ、一年以内であるファイルデータが動的ファイルとみなされる。
 centOS及びUbuntuのファイルデータの場合、教師データ作成部108は、不変ファイルを格納する特定のディレクトリの配下に存在するファイルデータに対して静的ファイルであるとの指定を受ける。また、教師データ作成部108は、centOS及びUbuntuのファイルデータのうち、一過性もしくは一時的なファイルデータを格納する特定のディレクトリの配下に存在するファイルデータに対して動的ファイルであるとの指定を受ける。また、Windowsのファイルデータの場合、教師データ作成部108は、更新日時が一年以上前のファイルに対して静的ファイルの指定を受け、一年以内であるファイルに対して動的ファイルの指定を受ける。教師データ作成部108は、以上の指定にしたがって、学習に用いるファイルデータ群における静的ファイル及び動的ファイルのバイナリを学習用データ提供装置30から収集する。
 図2は、教師データの作成を説明するための図である。教師データ作成部108は、図2の収集データ201に示すように、収集した動的ファイルと見なせるファイルに「1」のラベルを付加し、静的ファイルと見なせるファイルに「0」のラベルを付加して、各ファイルの教師ラベルとする。さらに、教師データ作成部108は、ファイル毎に16進数で表される1バイトの文字の出現回数を表す特徴量ベクトルを作成して教師データ202を作成する。図2の教師データ202は、ファイル毎の、00~ffまでの16進数の出現回数が順に並べられたベクトルを表す。ここで、本実施形態では、ファイル毎の特徴量として、バイトの出現回数を用い、ファイルサイズなどは考慮していない。ただし、特徴量の算出方法はこれに限らず、教師データ作成部108は、ファイルサイズなど他の指標を考慮して特徴量を求めてもよい。
 その後、教師データ作成部108は、静的ファイルか動的ファイルかを表す教師ラベルが付加されたバイナリデータである教師データを学習部109へ出力する。
 学習部109は、教師データの入力を教師データ作成部108から受ける。そして、学習部109は、取得した教師データを用いて学習を行い、分類精度が最高となるハイパーパラメータのチューニングを行って、学習済みの判定対象分類学習モデル110を生成する。すなわち、学習部109は、動的ファイル及び静的ファイルの各特徴を学習して学習モデルを生成する。ここで、判定対象分類学習モデル110が学習モデルの一例にあたる。より詳しくは、学習部109は、静的ファイル及び動的ファイルのバイナリデータを用いて、動的ファイル及び静的ファイルの各特徴を学習する。また、学習部109は、OSドメイン種別毎の教師データを用いて学習を行う。
 具体的には、本実施形態に係る学習部109は、サポートベクトルマシンと呼ばれる分類アルゴリズムを用いて、グリッドサーチによるパラメータチューニングと交差検証を行い、分類精度が最も高いモデルを判定対象分類学習モデル110とする。その後、学習部109は、学習済みの判定対象分類学習モデル110を抽出部107へ出力する。
 ファイル情報取得部106及び抽出部107は、監視対象機器20が保持するファイルデータに対するソフトウェア真贋判定を行う際に判定対象として用いる静的ファイルを分類して抽出するための処理を行なう。すなわち、ファイル情報取得部106及び抽出部107は、判定対象分類学習モデル110の分類フェーズにおける処理を行う。
 ファイル情報取得部106は、正常状態と確認された基準時点での監視対象機器20が有するファイル群22をファイル情報取得部106から取得する。そして、ファイル情報取得部106は、取得したファイル群22を抽出部107へ出力する。
 抽出部107は、ファイル群22をファイル情報取得部106から取得する。そして、抽出部107は、取得したファイル群22を学習済みの判定対象分類学習モデル110に入力して、静的ファイル及び動的ファイルに分類する。すなわち、抽出部107は、学習モデルを基に所定のファイル群から静的ファイルである判定対象ファイルを抽出する。ここで、ファイル群22が、所定のファイルの一例にあたり、判定対象分類学習モデル110が、学習モデルの一例にあたる。より詳しくは、抽出部107は、所定のファイル群の入力を受けて、学習モデルを基に入力された所定のファイル群を静的ファイル又は動的ファイルに分類して静的ファイルを抽出する。
 その後、抽出部107は、ファイル群22に含まれる静的ファイルを抽出して、抽出した静的ファイルを判定対象ファイル群120として真贋判定サーバ10に保持させる。この際、抽出部107は、抽出した静的ファイルを表す判定対象ファイル一覧を判定対象ファイル群120に付加する。
 ハッシュ値生成部105及び正常状態ハッシュ値格納部104は、ソフトウェア真贋判定の基準となる正常状態の判定対象ファイルのハッシュ値を確保するための処理を行う。すなわち、ハッシュ値生成部105及び正常状態ハッシュ値格納部104は、正常状態ハッシュ値保存フェーズの処理を行う。
 ハッシュ値生成部105は、判定対象ファイル群120に含まれる正常状態の各判定対象ファイルを取得する。次に、ハッシュ値生成部105は、取得した各判定対象ファイルのハッシュ値を算出する。すなわち、ハッシュ値生成部105は、抽出部107により抽出された各判定対象ファイルのそれぞれの第1ハッシュ値を求める。その後、ハッシュ値生成部105は、正常状態の各判定対象ファイルのハッシュ値を正常状態ハッシュ値格納部104に格納する。
 正常状態ハッシュ値格納部104は、基準時点での正常状態の判定対象ファイルから算出されたハッシュ値をハッシュ値生成部105から取得して格納する。以下では、正常状態の判定対象ファイルから算出されたハッシュ値を「正常状態ハッシュ値」と呼ぶ。
 真贋判定命令部103、検証部101及び検証結果登録部102は、運用時の監視対象機器20が有するファイル群22のソフトウェア真贋判定の処理を行う。すなわち、真贋判定命令部103、検証部101及び検証結果登録部102は、真贋判定フェーズの処理を行う。
 真贋判定命令部103は、判定対象ファイル群120に付加された判定対象ファイル一覧から各判定対象ファイルの識別情報を取得する。そして、真贋判定命令部103は、各判定対象ファイルの識別情報とともにハッシュ値の算出要求を監視対象機器20のハッシュ値生成部21へ送信する。真贋判定命令部103は、以上のソフトウェア真贋判定を開始する処理を1日に1回など定期的に繰り返す。
 検証部101は、運用中の監視対象機器20が有するファイル群22のハッシュ値を監視対象機器20のハッシュ値生成部21から受信する。運用中の監視対象機器20が有するファイル群22とは、基準時点から時間が経過した後のファイル群22であり、改ざんが行われたおそれのあるファイル群22である。以下では、運用中の監視対象機器20が有するファイル群22のハッシュ値を、「改ざん可能性存在ハッシュ値」と呼ぶ。
 また、検証部101は、各判定対象ファイルの正常状態ハッシュ値を正常状態ハッシュ値格納部104から取得する。そして、検証部101は、判定対象ファイルそれぞれの改ざん可能性存在ハッシュ値と正常状態ハッシュ値とを比較して値が一致するか否かを判定する。これにより、検証部101は、その時点での判定対象ファイルと基準時点での判定対象ファイルとが一致するか否かを判定する。値が一致する判定対象ファイルについては、検証部101は、改ざんが行われていないと判定する。これに対して、値が不一致である判定対象ファイルについては、検証部101は、改ざんが行われたと判定する。その後、検証部101は、監視対象機器20が有するファイル群22に対して改ざんが行われたか否かを示す、監視対象機器20に対する改ざんの検証結果を検証結果登録部102へ出力する。
 以上のように、検証部101は、外部機器が有する基準時点から時間経過後の判定対象ファイルのそれぞれの第2ハッシュ値を外部機器から取得し、第1ハッシュ値と第2ハッシュ値とを比較して、所定のファイル群に改ざんが行われたか否かを検証する。ここで、監視対象機器20が外部機器の一例にあたり、正常状態ハッシュ値が第1ハッシュ値の一例にあたり、改ざん可能性存在ハッシュ値が第2ハッシュ値の一例にあたり、ファイル群22が所定のファイル群の一例にあたる。
 検証結果登録部102は、監視対象機器20に対する改ざんの検証結果の入力を検証部101から受ける。改ざんが行われたという検証結果を取得した場合、検証結果登録部102は、監視対象機器20が不正に改ざんされたという検証結果を真贋判定サーバ10が有する検証結果の登録場所に登録する。管理者は、真贋判定サーバ10における検証結果の登録場所を確認することで、監視対象機器20に不正な改ざんが行われたことを確認できる。
 図3は、実施形態に係る真贋判定サーバによる改ざんファイルの分類結果の一例を示す図である。次に、図3を参照して、本実施形態に係る真贋判定サーバ10による改ざんファイルの分類学結果を説明する。ここでは、教師データを作成する元データである教師データセットとしてcentOSのファイルデータを用いた場合と、centOS及びUbuntuのファイルデータを用いた場合と、centOS、Ubuntu及びWindowsのファイルデータを用いた場合との3通りの場合を例に説明する。
 第1にcentOSのファイルデータを用いて判定対象分類学習モデル110を生成した場合について説明する。検証データにcentOSのファイルデータを用いると、AUC(Area Under Curve)の値は、0.9以上であり高い精度で分類ができていると言える。また、検証データにUbuntuのファイルデータを用いると、AUCの値は、0.8以上でありこれも高い精度で分類ができていると言える。すなわち学習していないUbuntuのファイルデータの検証においても、高い精度で分類ができており、同じOSドメインに対しては汎化性能を有することが分かる。これに対して、検証データにWindowsのファイルデータを用いると、AUCの値は、0.5未満であり分類精度は低い。
 第2にcentOS及びUbuntuのファイルデータを用いて判定対象分類学習モデル110を生成した場合について説明する。検証データにcentOSのファイルデータを用いると、AUCの値は、0.9以上であり高い精度で分類ができていると言える。また、検証データにUbuntuのファイルデータを用いると、AUCの値は、0.9以上でありこれも高い精度で分類ができていると言える。すなわち、学習に用いた教師データに対して同じドメイン種別の検証データを分類させると、高い精度で分類ができることが分かる。これに対して、検証データにWindowsのファイルデータを用いると、AUCは、0.6以上であり分類精度は多少良いと言える。
 第3にcentOS、Ubuntu及びWindowsのファイルデータを用いて判定対象分類学習モデル110を生成した場合について説明する。検証データにcentOSのファイルデータを用いた場合、Ubuntuのファイルデータを用いた場合、及び、検証データにWindowsのファイルデータを用いた場合のいずれも、AUCの値は、0.9以上であり高い精度で分類ができていると言える。すなわち、学習に用いた教師データに対して同じドメイン種別の検証データを分類させると、高い精度で分類ができることが分かる。
[学習フェーズの処理手順]
 図4は、実施形態に係る真贋判定サーバの学習フェーズにおける処理のフローチャートである。次に、図4を参照して、本実施形態に係る真贋判定サーバ10の学習フェーズにおける処理の流れを説明する。
 教師データ作成部108は、学習に用いるファイルデータを学習用データ提供装置30から取得する。例えば、教師データ作成部108は、管理者からの指示にしたがい、学習に用いるファイルデータ群における静的ファイル及び動的ファイルのそれぞれのバイナリデータを学習用データ提供装置30から取得する(ステップS101)。
 教師データ作成部108は、各ファイルに動的ファイル又は静的ファイルを表すラベルを付加し、さらに、ファイル毎に16進数で表される1バイトの文字の出現回数を表す特徴量ベクトルを作成して教師データを作成する(ステップS102)。
 教師データ作成部108は、静的ファイルか動的ファイルかを表す教師ラベルが付加されたバイナリデータである教師データを学習部109へ出力する。学習部109は、教師データ作成部108から取得した教師データを用いて、分類精度が最高となるハイパーパラメータをチューニングする学習を行い、学習済みの判定対象分類学習モデル110を生成する(ステップS103)。
 学習部109は、学習済みの判定対象分類学習モデル110を抽出部107へ出力する。抽出部107は、学習部109から取得した判定対象分類学習モデル110を格納する(ステップS104)。
[学習フェーズの処理手順]
 図5は、実施形態に係る真贋判定サーバの分類フェーズ及び正常状態ハッシュ値保存フェーズにおける処理のフローチャートである。次に、図5を参照して、本実施形態に係る真贋判定サーバ10の分類フェーズ及び正常状態ハッシュ値保存フェーズにおける処理の流れを説明する。
 ファイル情報取得部106は、正常状態と確認された基準時点での監視対象機器20が有するファイル群22をファイル情報取得部106から取得する(ステップS201)。
 抽出部107は、ファイル群22をファイル情報取得部106から取得する。そして、抽出部107は、取得したファイル群22を学習済みの判定対象分類学習モデル110に入力して、静的ファイル及び動的ファイルに分類する(ステップS202)。
 抽出部107は、ファイル群22に含まれる静的ファイルを抽出して、抽出した静的ファイルを判定対象ファイル群120として真贋判定サーバ10に保持させる。ハッシュ値生成部105は、判定対象ファイル群120に含まれる正常状態の各判定対象ファイルを取得する。次に、ハッシュ値生成部105は、取得した各判定対象ファイルの正常状態ハッシュ値を算出する(ステップS203)。
 ハッシュ値生成部105は、正常状態の各判定対象ファイルのハッシュ値を正常状態ハッシュ値格納部104に格納する(ステップS204)。
[学習フェーズの処理手順]
 図6は、実施形態に係る真贋判定サーバの真贋判定フェーズにおける処理のフローチャートである。次に、図6を参照して、本実施形態に係る真贋判定サーバ10の真贋判定フェーズにおける処理の流れを説明する。
 真贋判定命令部103は、判定対象ファイル群120に付加された判定対象ファイル一覧から各判定対象ファイルの識別情報を取得する。そして、真贋判定命令部103は、各判定対象ファイルの識別情報とともにハッシュ値の算出要求を監視対象機器20のハッシュ値生成部21へ送信する(ステップS301)。
 監視対象機器20のハッシュ値生成部21は、ファイル群22の各ファイルデータを取得してそれぞれの改ざん可能性存在ハッシュ値を算出する。検証部101は、運用中の監視対象機器20が有するファイル群22の改ざん可能性存在ハッシュ値を監視対象機器20のハッシュ値生成部21から受信する(ステップS302)。
 次に、検証部101は、各判定対象ファイルの正常状態ハッシュ値を正常状態ハッシュ値格納部104から取得する。そして、検証部101は、判定対象ファイルそれぞれの改ざん可能性存在ハッシュ値と正常状態ハッシュ値とを比較して、各ファイルデータに対する改ざんの有無の検証を行う(ステップS303)。
 検証結果登録部102は、監視対象機器20に対する改ざんの検証結果の入力を検証部101から受ける。改ざんが行われたという検証結果を取得した場合、検証結果登録部102は、監視対象機器20が不正に改ざんされたという検証結果を真贋判定サーバ10における検証結果の登録場所に登録する(ステップS304)。
[実施形態に係る真贋判定サーバの処理による効果]
 以上に説明したように、本実施形態に係る真贋判定サーバ10は、静的ファイル及び動的ファイルの特徴を学習して生成した学習モデルを用いて監視対象機器20が有するファイル群22から静的ファイルである判定対象ファイルを抽出する。そして、本実施形態に係る真贋判定サーバ10は、改ざんが行われていないとみなせる基準時点での判定対象ファイルから求められた正常状態ハッシュ値と、運用中の監視対象機器20が有する判定対象ファイルから求められる改ざん可能性存在ハッシュ値とを比較して監視対象機器20に対する改ざんを検出する。
 これにより、監視対象機器20が有するファイル群22から容易且つ網羅的に静的ファイルを抽出することができる。そして、抽出した静的ファイルを判定対象ファイルとしてソフトウェア真贋判定を行うことで、ソフトウェア真贋判定の対象範囲を広く確保でき、また、ソフトウェア真贋判定の対象とはならないファイルは判定対象ファイルから除くことができる。したがって、ソフトウェア真贋判定の精度を向上させシステムを安定稼働させることが可能となる。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。特に、正常状態ハッシュ値格納部104や検証部101を監視対象機器20が備えるように構成することも可能である。検証部101が監視対象機器20に配置される場合,監視対象機器20が検証結果を真贋判定サーバ10に送信し、真贋判定サーバ10は、取得した検証結果を登録する。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 一実施形態として、真贋判定サーバ10は、パッケージソフトウェアやオンラインソフトウェアとして上記の情報処理を実行する情報処理プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の情報処理プログラムを情報処理装置に実行させることにより、情報処理装置を真贋判定サーバ10として機能させることができる。ここで言う情報処理装置には、サーバコンピュータ以外にも、デスクトップ型又はノート型のパーソナルコンピュータが含まれても良い。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handy-phone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、真贋判定サーバ10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の管理処理に関するサービスを提供する管理サーバ装置として実装することもできる。例えば、管理サーバ装置は、コンフィグ投入要求を入力とし、コンフィグ投入を行う管理サービスを提供するサーバ装置として実装される。この場合、管理サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の管理処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図7は、学習プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(BASIC Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、真贋判定サーバ10と同等の機能を持つ真贋判定サーバ10の各処理を規定する学習プログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、真贋判定サーバ10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 1 真贋判定システム
 10 真贋判定サーバ
 20 監視対象機器
 21 ハッシュ値生成部
 22 ファイル群
 30 学習用データ提供装置
 101 検証部
 102 検証結果登録部
 103 真贋判定命令部
 104 正常状態ハッシュ値格納部
 105 ハッシュ値生成部
 106 ファイル情報取得部
 107 抽出部
 108 教師データ作成部
 109 学習部
 110 判定対象分類学習モデル
 120 判定対象ファイル群

Claims (7)

  1.  動的ファイル及び静的ファイルの各特徴を学習して学習モデルを生成する学習部と、
     所定のファイル群を使用する外部機器から基準時点での前記所定のファイル群を取得し、前記学習モデルを基に前記所定のファイル群から前記静的ファイルである判定対象ファイルを抽出する抽出部と
     を備えたことを特徴とする情報処理装置。
  2.  前記学習部は、前記静的ファイル及び前記動的ファイルのバイナリデータを用いて、前記動的ファイル及び前記静的ファイルの各前記特徴を学習することを特徴とする請求項1に記載の情報処理装置。
  3.  前記学習部は、Operating System(OS)ドメイン種別毎の教師データを用いて前記学習を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  4.  前記抽出部は、前記所定のファイル群の入力を受けて、前記学習モデルを基に入力された前記所定のファイル群を前記静的ファイル又は前記動的ファイルに分類して前記静的ファイルを抽出することを特徴とする請求項1~3のいずれか一つに記載の情報処理装置。
  5.  前記抽出部により抽出された各前記判定対象ファイルのそれぞれの第1ハッシュ値を求めるハッシュ値生成部と、
     前記外部機器が有する前記基準時点から時間経過後の前記判定対象ファイルのそれぞれの第2ハッシュ値を前記外部機器から取得し、前記第1ハッシュ値と前記第2ハッシュ値とを比較して、前記所定のファイル群に改ざんが行われたか否かを検証する検証部と
     をさらに備えたことを特徴とする請求項1~4のいずれか一つに記載の情報処理装置。
  6.  動的ファイル及び静的ファイルの各特徴を学習して学習モデルを生成し、
     所定のファイル群を使用する外部機器から基準時点での前記所定のファイル群を取得し、
     前記学習モデルを基に前記所定のファイル群から前記静的ファイルである判定対象ファイルを抽出する
     ことを特徴とする情報処理方法。
  7.  動的ファイル及び静的ファイルの各特徴を学習して学習モデルを生成し、
     所定のファイル群を使用する外部機器から基準時点での前記所定のファイル群を取得し、
     前記学習モデルを基に前記所定のファイル群から前記静的ファイルである判定対象ファイルを抽出する
     処理をコンピュータ実行させることを特徴とする情報処理プログラム。
PCT/JP2021/005370 2021-02-12 2021-02-12 情報処理装置、情報処理方法及び情報処理プログラム WO2022172422A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP21925673.2A EP4276670A1 (en) 2021-02-12 2021-02-12 Information processing device, information processing method, and information processing program
CN202180093035.2A CN116830106A (zh) 2021-02-12 2021-02-12 信息处理装置、信息处理方法和信息处理程序
PCT/JP2021/005370 WO2022172422A1 (ja) 2021-02-12 2021-02-12 情報処理装置、情報処理方法及び情報処理プログラム
AU2021427822A AU2021427822B2 (en) 2021-02-12 2021-02-12 Information processing device, information processing method, and information processing program
JP2022581133A JPWO2022172422A1 (ja) 2021-02-12 2021-02-12

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/005370 WO2022172422A1 (ja) 2021-02-12 2021-02-12 情報処理装置、情報処理方法及び情報処理プログラム

Publications (1)

Publication Number Publication Date
WO2022172422A1 true WO2022172422A1 (ja) 2022-08-18

Family

ID=82838490

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/005370 WO2022172422A1 (ja) 2021-02-12 2021-02-12 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (5)

Country Link
EP (1) EP4276670A1 (ja)
JP (1) JPWO2022172422A1 (ja)
CN (1) CN116830106A (ja)
AU (1) AU2021427822B2 (ja)
WO (1) WO2022172422A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180203978A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Machine-learning models for predicting decompensation risk
JP2019008377A (ja) 2017-06-20 2019-01-17 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法
US20190034632A1 (en) * 2017-07-25 2019-01-31 Trend Micro Incorporated Method and system for static behavior-predictive malware detection
JP2020071560A (ja) 2018-10-30 2020-05-07 日本電信電話株式会社 管理システム、取得装置及び管理方法
JP2020523707A (ja) * 2017-06-16 2020-08-06 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ユーザプロファイル生成方法および端末

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180203978A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Machine-learning models for predicting decompensation risk
JP2020523707A (ja) * 2017-06-16 2020-08-06 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ユーザプロファイル生成方法および端末
JP2019008377A (ja) 2017-06-20 2019-01-17 日本電信電話株式会社 照合情報生成装置、管理システム及び照合情報生成方法
US20190034632A1 (en) * 2017-07-25 2019-01-31 Trend Micro Incorporated Method and system for static behavior-predictive malware detection
JP2020071560A (ja) 2018-10-30 2020-05-07 日本電信電話株式会社 管理システム、取得装置及び管理方法

Also Published As

Publication number Publication date
EP4276670A1 (en) 2023-11-15
JPWO2022172422A1 (ja) 2022-08-18
AU2021427822B2 (en) 2024-05-09
CN116830106A (zh) 2023-09-29
AU2021427822A1 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
Zhan et al. Atvhunter: Reliable version detection of third-party libraries for vulnerability identification in android applications
CN102521081B (zh) 修复遭破坏的软件
US8627469B1 (en) Systems and methods for using acquisitional contexts to prevent false-positive malware classifications
JP2021518705A (ja) ブロックチェーン台帳のためのランタイム自己修正
Sejfia et al. Practical automated detection of malicious npm packages
US20120311709A1 (en) Automatic management system for group and mutant information of malicious codes
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
Huang et al. Android malware development on public malware scanning platforms: A large-scale data-driven study
Fu et al. Data correlation‐based analysis methods for automatic memory forensic
CN112988607B (zh) 一种应用程序的组件检测方法、装置和存储介质
WO2022225686A1 (en) Automated contextual understanding of unstructured security documents
Rowe Identifying forensically uninteresting files using a large corpus
CN113590181A (zh) 配置文件的校验方法、装置、设备及存储介质
CN112579330B (zh) 操作系统异常数据的处理方法、装置及设备
US11151250B1 (en) Evaluation of files for cybersecurity threats using global and local file information
CN110008108B (zh) 回归范围确定方法、装置、设备及计算机可读存储介质
CN104657504A (zh) 一种文件快速识别方法
WO2022172422A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20240037243A1 (en) Artificial intelligence based security requirements identification and testing
EP4386597A1 (en) Cyber threat information processing device, cyber threat information processing method, and storage medium storing cyber threat information processing program
EP3799367B1 (en) Generation device, generation method, and generation program
Imtiaz et al. Predicting vulnerability for requirements
JP5679347B2 (ja) 障害検知装置、障害検知方法、及びプログラム
CN114175034A (zh) 验证信息生成系统、验证信息生成方法以及验证信息生成程序
KR20120031963A (ko) 악성 코드 차단 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022581133

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021427822

Country of ref document: AU

Date of ref document: 20210212

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202180093035.2

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2021925673

Country of ref document: EP

Effective date: 20230807

NENP Non-entry into the national phase

Ref country code: DE