WO2020075333A1 - 情報処理装置及び情報処理プログラム - Google Patents

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

Info

Publication number
WO2020075333A1
WO2020075333A1 PCT/JP2019/019976 JP2019019976W WO2020075333A1 WO 2020075333 A1 WO2020075333 A1 WO 2020075333A1 JP 2019019976 W JP2019019976 W JP 2019019976W WO 2020075333 A1 WO2020075333 A1 WO 2020075333A1
Authority
WO
WIPO (PCT)
Prior art keywords
log
attacker
definition information
unit
information processing
Prior art date
Application number
PCT/JP2019/019976
Other languages
English (en)
French (fr)
Inventor
忠賢 千田
楊 鐘本
一史 青木
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US17/283,552 priority Critical patent/US11907365B2/en
Priority to JP2020549949A priority patent/JP6984761B2/ja
Publication of WO2020075333A1 publication Critical patent/WO2020075333A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Definitions

  • the present invention relates to an information processing device and an information processing program.
  • Non-Patent Documents 1 and 2 it is proposed to apply the method of associating logs based on the information indicating the clear dependency between logs (see Non-Patent Documents 1 and 2) to incident investigation.
  • a process ID and a parent process ID are set as information indicating a clear dependency relationship between logs, and logs are associated with each other.
  • Non-Patent Document 3 Besides, not only information that expresses a clear dependency relationship between logs but also a method of associating logs based on information that commonly appears between logs has been proposed (see Non-Patent Document 3). In this method, the same file name included in two logs is set as information commonly appearing between the logs, and the logs are associated with each other.
  • the trace of an attack can be defined by using a conditional expression in which terms that confirm matching such as file names and hash values are connected by logical sum or logical product.
  • IOC Indicator of Compromise
  • Non-Patent Documents 1 to 3 focus only on finding a series of actions of the attacker, and utilize the found series of actions of the attacker for the efficiency of the subsequent investigation. There wasn't.
  • Non-Patent Documents 4 and 5 have a problem that they do not have the expressive power to describe a series of actions of an attacker.
  • conditional expressions are formed using logical sums or logical products, and it is not possible to express the order or repetition of terms.
  • Item 1 File x was downloaded from the outside.
  • Item 2 File x is executed.
  • Item 3 External communication has occurred.
  • Item 4 Remote login communication has occurred.
  • Item 5 Remote login failed.
  • Non-Patent Documents 4 and 5 there is a suspicion of an attack because it is similar to a known attack pattern. Can be determined. However, according to the methods described in Non-Patent Documents 4 and 5, if the order is ignored and only the presence or absence of each item is considered, the action itself corresponding to each item can occur frequently even if it is not an attack. You cannot have suspicion of an attack.
  • the present invention has been made in view of the above, and an object thereof is to provide an information processing device and an information processing program that can formalize and reconstruct a series of actions of an attacker from a log.
  • the information processing apparatus uses an element extraction unit that extracts an element related to an attacker's action for each input log, and an attack using a formal grammar. Based on the definition information that defines the behavior of a person, a generation unit that generates a parser that detects a log string having a characteristic corresponding to the behavior defined in the definition information from the log, and an element using the parser From the log composed of the elements extracted by the extraction unit, a parsing unit that detects a log string having a characteristic corresponding to the action defined in the definition information, and a log string detected by the syntax analysis unit is reconstructed and reconstructed.
  • a reconstructing unit that adds a label indicating the action defined in the definition information to each log sequence after construction and outputs the log sequence with the label as a log corresponding to a series of actions of the attacker, And wherein the door.
  • a series of actions of an attacker can be formalized and reconstructed from a log.
  • FIG. 1 is a diagram schematically illustrating an example of the configuration of the information processing system according to the embodiment.
  • FIG. 2 is a block diagram showing the configuration of the information processing device.
  • FIG. 3 is a diagram illustrating an example of element extraction in the element extraction unit.
  • FIG. 4 is a diagram showing an example of a file in which an action is defined by a formal grammar.
  • FIG. 5 is a diagram showing an example in which the action syntax is defined by a general formal grammar.
  • FIG. 6 is a diagram showing an example in which the action syntax is defined by the formal grammar according to the embodiment.
  • FIG. 7 is a diagram illustrating a process performed by the syntax analysis unit.
  • FIG. 8A is a diagram for explaining the label adding process of the reconstruction unit.
  • FIG. 8A is a diagram for explaining the label adding process of the reconstruction unit.
  • FIG. 8B is a diagram for explaining the label addition process of the reconstruction unit.
  • FIG. 9 is a diagram showing a flow of processing in the information processing apparatus.
  • FIG. 10 is a flowchart showing a processing procedure of the information processing method according to the embodiment.
  • FIG. 11 is a diagram showing an example of a file in which an action is defined by a formal grammar.
  • FIG. 12 is a diagram showing an example of log data including a log string satisfying the definition.
  • FIG. 13 is a diagram illustrating an example of a log output by the information processing device.
  • FIG. 14 is a diagram illustrating an example of a computer that realizes an information processing device by executing a program.
  • FIG. 1 is a diagram schematically illustrating an example of the configuration of the information processing system according to the embodiment.
  • the information processing system illustrated in FIG. 1 has, for example, a configuration in which the log holding device 100 and the information processing device 10 are connected via a network N such as the Internet or a dedicated line.
  • the log holding device 100 holds a log that is an investigation target by an analyst.
  • the log holding device 100 provides the information processing device 10 with a log to be investigated via the network N.
  • the information processing device 10 may hold the log to be investigated in the device instead of the log holding device 100.
  • the information processing device 10 formalizes a series of actions of the attacker, rebuilds it, and outputs it as a log corresponding to the series of actions of the attacker.
  • the information processing device 10 uses the following procedure.
  • the information processing apparatus 10 uses a formal grammar as a procedure to define characteristic elements appearing in a log that records the behavior of an attacker and the relationship between the behaviors, and to satisfy the definition.
  • A is a non-terminal symbol
  • e is an expression representing the pattern that A accepts.
  • the formal grammar used in the present embodiment is modified so that the element obtained from the log is treated as a terminal symbol.
  • PEGwUC Parental expression grammar with Unordered choices
  • the information processing apparatus 10 can associate the logs even if they do not have a clear dependency relationship or common information. Further, the information processing apparatus 10 can define the action by which the log is recorded.
  • FIG. 2 is a block diagram showing the configuration of the information processing device 10 shown in FIG.
  • the information processing device 10 includes a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15.
  • the communication unit 11 is a communication interface that transmits and receives various information to and from other devices connected via a network or the like.
  • the communication unit 11 is realized by an NIC (Network Interface Card) or the like, and performs communication between the control unit 15 and another device via an electric communication line such as a LAN (Local Area Network) or the Internet.
  • the communication unit 11 inputs to the control unit 15 the log of the investigation target input via the network N or the like.
  • the communication unit 11 also receives an input of a file in which the behavior is defined by a formal grammar, and inputs the file to the control unit 15.
  • the communication unit 11 may transmit the log corresponding to the reconstructed series of actions of the attacker to another device via the network N or the like.
  • the input unit 12 is an input interface that receives various operations from the operator of the information processing device 10.
  • the input unit 12 includes a touch panel, a voice input device, and an input device such as a keyboard and a mouse.
  • the output unit 13 is realized by, for example, a display device such as a liquid crystal display, a printing device such as a printer, an information communication device, or the like.
  • the output unit 13 outputs a log indicating a series of actions of the reconstructed attacker to the operator (for example, an analyst).
  • the storage unit 14 is realized by a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk, and a processing program or a processing program for operating the information processing apparatus 10. Data and the like used during execution of are stored.
  • the control unit 15 has an internal memory for storing a program defining various processing procedures and required data, and executes various processing by these.
  • the control unit 15 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • the control unit 15 includes an element extraction unit 151, a generation unit 152, a syntax analysis unit 153, and a reconstruction unit 154.
  • the element extraction unit 151 extracts an element related to the action of the attacker for each input log.
  • the element extraction unit 151 receives a log to be investigated and extracts an element for each recorded log.
  • the element is a characteristic that appears in the log that records the series of actions of the attacker.
  • the element extraction unit 151 outputs a log including only the extracted elements to the syntax analysis unit 153.
  • the element extraction unit 151 receives a log to be investigated and extracts an element for each recorded log.
  • the elements to be extracted are obtained by, for example, recording time, process ID, parent process ID, user ID, command line, destination address, destination port, file name, DNS (Domain Name System) domain name, and name resolution.
  • the element is not limited to the above, as long as it is a characteristic one that appears in a log recording a series of actions of an attacker. Further, in the information processing device 10, it is possible to appropriately add or delete elements.
  • FIG. 3 is a diagram showing an example of element extraction in the element extraction unit 151.
  • the element extraction unit 151 extracts the recording time “2018-07-11T10: 28: 06.078110000Z” from the description content of the area W1 in the log of (1) of FIG. 3 (see (2) of FIG. 3). . Then, the element extracting unit 151 selects the destination address “192.168.56.101”, the source address “10.0.2.15”, and the destination port “8080” from the description content of the area W2 in the log of (1) of FIG. , The source port “49636” is extracted (see (2) in FIG. 3). The element extraction unit 151 outputs the log including the extracted elements to the syntax analysis unit 153.
  • the generation unit 152 generates a parser that detects a log string having a characteristic corresponding to the action defined in the definition information from the log, based on the definition information that defines the action of the attacker using the formal grammar.
  • the definition information is defined by using a formal grammar for characteristic elements that appear in a log that records actions, and is input in a file format. For the definition information, a formal grammar in which the element is treated as a terminal symbol is used. The definition information also defines non-terminal symbols. Further, the definition information includes information indicating the order of the action of the attacker.
  • the parser has a function of detecting, from the log, a log string having a characteristic corresponding to the action defined in the definition information.
  • the generation unit 152 outputs the generated syntax analyzer to the syntax analysis unit 153.
  • the generation unit 152 receives, as definition information, a file that defines the action of the attacker with a formal grammar.
  • FIG. 4 is a diagram showing an example of a file in which an action is defined by a formal grammar.
  • the file shown in FIG. 4 uses PEGwUC as a formal grammar.
  • a character is treated as a terminal symbol, but in the generation unit 152, an element obtained from a log is treated as a terminal symbol.
  • general formal grammars include regular grammars, context-free grammars, parsed expression grammars, and Boolean grammars.
  • FIG. 5 is a diagram showing an example in which the syntax of four arithmetic operations is defined by a general formal grammar.
  • FIG. 6 is a diagram showing an example in which the action syntax is defined by the formal grammar according to the embodiment.
  • the syntax of the four arithmetic operations is defined in PEGwUC
  • the characters enclosed by "'" and "'" are the terminal symbols in general PEGwUC.
  • the sequence of elements surrounded by “[” and “]” is the terminal symbol of PEGwUC.
  • the generation unit 152 uses the formal grammar in which the element is treated as the terminal symbol.
  • the generation unit 152 uses a file that defines such an attacker's behavior with a formal grammar to generate a parser for detecting a log string having a characteristic corresponding to the attacker's behavior from the log.
  • the syntactic analysis unit 153 performs syntactic analysis based on the log including only the elements extracted by the element extraction unit 151 and the syntactic analyzer generated by the generation unit 152.
  • the syntactic analysis unit 153 uses a syntactic analyzer to detect a log string having a feature corresponding to the action defined in the definition information from the log including the elements extracted by the element extraction unit 151.
  • the syntax analysis unit 153 performs processing that enables reconstruction of the detected log string.
  • the syntax analysis unit 153 outputs the analysis result to the reconstruction unit 154.
  • the syntactic analysis unit 153 uses a syntactic analyzer to perform syntactic analysis for detecting a log string having a characteristic corresponding to the action defined in the definition information from the log including the element extracted in the step of extracting the element. To do. At this time, the syntax analysis unit 153 performs processing that enables reconstruction of a series of actions of the attacker from the detected log string.
  • FIG. 7 is a diagram illustrating processing by the syntax analysis unit 153.
  • the log 1 of FIG. 7 includes the element extracted by the element extraction unit 151 shown in (2) of FIG.
  • the syntactic analysis unit 153 generates a parse tree and receives information on the received subsequence so that the log sequence detected by using the syntactic analyzer can be reconstructed in the subsequent process. Record.
  • the reconstructing unit 154 adds a label representing the action defined in the definition information to the log sequence detected by the syntax analyzing unit 153, and the log sequence with this label corresponds to a series of actions of the attacker. Output as a log.
  • the reconstructing unit 154 reconstructs the received log string from the result of syntax analysis.
  • the reconstructing unit 154 reconstructs the log string based on the analysis tree or the recorded information of the partial string. Then, the reconstructing unit 154 adds a label indicating the action of the attacker to the log sequence detected by the syntax analysis unit 153 among the reconstructed log sequences.
  • the label represents the type of action defined by the definition information. As types of actions, there are phases such as Delivery, Exploitation, Installation, Command and Control in the cyber kill chain.
  • FIG. 8A and 8B are diagrams for explaining the label addition process of the reconstruction unit 154.
  • FIG. 8-1 shows a formal grammar file P1 which is definition information.
  • FIG. 8-2 shows an example of labeling the log based on the type of action defined in the formal grammar file P1.
  • the log string including the partial string that matches the non-terminal symbol included in the definition information is assumed to be due to the action of the attacker corresponding to the non-terminal symbol.
  • the restructuring unit 154 has obtained, for example, a log subsequence W11 ′ having the logs 4 to 53 by the restructuring.
  • this subsequence W11 ′ based on the formal grammar file P1, in the logs 5 and 6 (see frame W12 ′ of FIG. 8-2) recorded by the action “Delivery” (see frame W12 of FIG. 8-1). Add the label “Delivery”.
  • the reconstruction unit 154 labels the log 53 (see frame W13 ′ in FIG. 8-2) recorded by the action “Objective” (see frame W13 in FIG. 8-1) with the label “Objective”. ] Is added.
  • the reconstruction unit 154 detects a portion including ambiguity by the symbol "
  • the reconstruction unit 154 arranges the log 53 with the label “Objective” next to the logs 5 and 6 with the label “Delivery” according to the order of actions defined in the formal grammar file P1.
  • the reconstructing unit 154 outputs the logs arranged according to the action order of the attacker in this way as a log that formalizes and expresses a series of actions of the attacker.
  • the reconstruction unit 154 reconstructs the log string detected by the syntax analysis unit 153 using the log composed of the elements input from the element extraction unit 151. Then, the reconstruction unit 154 adds a label to the reconstructed log string. The reconstruction unit 154 arranges the reconstructed and labeled log sequences in the order indicated by the definition information, and outputs this log as a log that formalizes and represents a series of actions of the attacker.
  • FIG. 9 is a diagram showing a flow of processing in the information processing device 10.
  • the element extraction unit 151 receives an input of a log to be investigated (see arrow Y1 in FIG. 9)
  • the element extraction unit 151 extracts the extracted element for each input log, and the log including only the extracted element is extracted. Is output to the syntax analysis unit 153 (see arrow Y3 in FIG. 9).
  • the generation unit 152 when the generation unit 152 receives a file (definition information) defining the action of the attacker (see arrow Y2 in FIG. 9), the generation unit 152 generates a syntactic analyzer and outputs the generated syntactic analyzer to the syntactic analysis unit 153. (See arrow Y4 in FIG. 9).
  • the syntactic analysis unit 153 uses the syntactic analyzer to perform syntactic analysis for detecting a log string having a characteristic corresponding to the defined action from the log of elements, and outputs the analysis result to the reconstruction unit 154 ( (See arrow Y5 in FIG. 9). At this time, the syntax analysis unit 153 also outputs the log including only the extracted elements to the reconstruction unit 154 (see arrow Y6 in FIG. 9).
  • the restructuring unit 154 adds a label to the log string after reconstructing the log string detected by the syntax analysis unit 153. Then, the reconstruction unit 154 outputs a log in which the log sequence with the label is arranged in the order indicated by the definition information, as a log corresponding to a series of actions of the attacker (arrow Y7 in FIG. 9).
  • the information processing apparatus 10 can formalize and reconstruct a series of actions of the attacker from the input log. Therefore, if the output from the information processing device 10 is used, it is not necessary for the analyst to investigate and analyze a large number of logs to clarify the series of actions of the attacker. Therefore, the information processing apparatus 10 can reduce the processing load on the analyst for the incident investigation, as compared with the related art.
  • FIG. 10 is a flowchart showing a processing procedure of the information processing method according to the embodiment.
  • the element extraction unit 151 extracts only the elements necessary for processing for each input log (step S1), and outputs the log including only the extracted elements to the syntax analysis unit 153. .
  • the generation unit 152 generates a syntactic analyzer according to the action definition described in the file that defines the action of the attacker (step S2), and outputs the generated syntactic analyzer to the syntactic analysis unit 153.
  • the syntactic analysis unit 153 uses a syntactic analyzer to determine whether or not a log consisting of only the extracted elements has a log sequence that matches the defined action (step S3). When the syntax analysis unit 153 determines that there is no log string that matches the defined action in the log including only the extracted elements (step S3: No), the information processing device 10 ends the process.
  • the reconstruction unit 154 determines that The log string that matches the definition is reconstructed and a label is added to the log string (step S4). Then, the reconstruction unit 154 outputs a log in which the log sequence with the label is arranged in the order indicated by the definition information, as a log corresponding to a series of actions of the attacker. Analysts perform incident investigations by analyzing logs that correspond to a series of actions by an attacker.
  • the information processing apparatus 10 can output a log corresponding to the series of actions of the attacker by formalizing and rebuilding the series of actions of the attacker based on the acquired log. it can.
  • the analyst can analyze the sequence of actions of the attacker from the output log without performing the process of investigating and analyzing a large number of logs to reveal the sequence of actions of the attacker. You will be able to detect. Therefore, the information processing apparatus 10 can reduce the processing load on the analyst for the incident investigation, as compared with the related art.
  • a series of actions of an attacker is defined as a formal grammar
  • the definitions can be shared and combined, and the series of actions of the attacker can be flexibly formed.
  • Example An example of the present embodiment will be shown.
  • the information processing device 10 After defining characteristic elements appearing in a log in which an action is recorded using a formal grammar, a log string satisfying the definition is detected from the log to be investigated, and the detected log string is displayed with the action. Add a label corresponding to. Then, the information processing device 10 arranges the log strings to which the labels have been added in the order indicated by the definition information, and outputs the logs as a log corresponding to a series of actions of the attacker.
  • FIG. 11 is a diagram showing an example of a file in which an action is defined by a formal grammar.
  • FIG. 12 is a diagram showing an example of log data including a log string that satisfies the definition.
  • the log R20 is described in XML
  • an Event tag ( ⁇ Event> ... ⁇ / Event>) corresponds to one log
  • a row of Event tags represents the entire log.
  • the reconstruction unit 154 adds a label indicating the action to the log sequence corresponding to the action defined in the file T1 of FIG.
  • the reconstructing unit 154 attaches the label “Delivery” to the log columns R21 of the fourth and fifth rows of the detected log columns W21, and the log columns R22 of the eighth and ninth rows. , And the label “Installation” is added (see FIG. 12).
  • FIG. 13 is a diagram showing an example of a log output by the information processing device 10.
  • the reconstruction unit 154 arranges the log R22 with the label "Installation” next to the log R21 with the label “Delivery” in the order of the actions indicated by the formal grammar file T1 (see FIG. 11).
  • the information processing apparatus 10 outputs the logs arranged according to the action order of the attacker in this way as a log that formalizes and represents a series of action of the attacker.
  • each component of each device shown in the drawings is functionally conceptual and does not necessarily have to be physically configured as shown. That is, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or part of the device may be functionally or physically distributed / arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured. Further, each processing function performed in each device may be implemented entirely or in part by a CPU and a program that is analyzed and executed by the CPU, or may be implemented as hardware by a wired logic.
  • FIG. 14 is a diagram illustrating an example of a computer in which the information processing device 10 is realized by executing a program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020.
  • the computer 1000 has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, an OS (Operating System) 1091, application programs 1092, program modules 1093, and program data 1094. That is, the program that defines each process of the information processing apparatus 10 is implemented as the program module 1093 in which the code executable by the computer is described.
  • the program module 1093 is stored in, for example, the hard disk drive 1090.
  • a program module 1093 for executing the same processing as the functional configuration of the information processing device 10 is stored in the hard disk drive 1090.
  • 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 the program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary and executes them.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Abstract

情報処理装置(10)は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部(151)と、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部(152)と、構文解析器を用いて、要素抽出部によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部(153)と、構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、定義情報において定義された行動を表すラベルを付加し、ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部(154)と、を有する。

Description

情報処理装置及び情報処理プログラム
 本発明は、情報処理装置及び情報処理プログラムに関する。
 インシデント調査では、分析者が被害の発生した環境からログを収集・分析することによって、攻撃ベクトルの有無や情報漏えいの有無などの攻撃者の一連の行動を明確にする調査が必要となる。この調査は、膨大な時間を要する作業であることが知られており、調査効率化のための様々な研究が行われている。
 ここで、ログ間の明確な依存関係を表す情報を基にログを関連付ける方法(非特許文献1,2参照)の、インシデント調査への適用が提案されている。この方法においては、ログ間の明確な依存関係を表す情報として、例えば、プロセスIDと親プロセスIDなどを設定し、ログの関連付けを行う。
 また、他にも、ログ間の明確な依存関係を表す情報に限らず、ログ間に共通して現れる情報を基にログを関連付ける方法が提案されている(非特許文献3参照)。この方法においては、ログ間に共通して現れる情報として、2つのログに含まれる同一のファイル名を設定し、ログの関連付けを行う。
 また、他にも、OpenIOC frameworkがある(非特許文献4,5参照)。この方法では、ファイル名やハッシュ値などの一致を確かめる項を論理和や論理積でつないだ条件式を用いて、攻撃の痕跡を定義することができる。そして、この方法では、定義したIndicator of Compromise(IOC)を用いて、調査環境に痕跡が残っているかどうかについても調べることもできる。
Samuel T. King and Peter M. Chen, "Backtracking Intrusions", ACM Transactions on Computer Systems, Vol. 23, No. 1, February 2005, Pages 51-76. Yushan Liu et al, "Towards a Timely Causality Analysis for Enterprise Security", NDSS, 2018. Kexin Pei et al, "HERCULE:Attack Story Reconstruction via Community Discovery on Correlated Log Graph", ACSAC, 2016. Free Security Software、[online]、[平成30年9月28日検索]、インターネット<URL:https://www.fireeye.com/services/freeware.html> IIJ-SECT、[online]、[平成30年9月28日検索]、インターネット<URL:https://sect.iij.ad.jp/d/2012/02/278431.html>
 しかしながら、非特許文献1~3に記載の方法では、攻撃者の一連の行動を見つけることのみに注力しており、見つけた攻撃者の一連の行動をその後の調査の効率化には活用していなかった。
 また、非特許文献4,5に記載の方法では、攻撃者の一連の行動を記述するだけの表現力がないという問題がある。非特許文献4,5に記載の方法では、論理和或いは論理積を使って条件式化するもので、項同士の順序性や繰り返しなどを表現することができない。
 例えば、以下の行動について考える。
項1:外部からファイルxをダウンロードした。
項2:ファイルxを実行した。
項3:外部通信が発生した。
項4:リモートログインの通信が発生した。
項5:リモートログインに失敗した。
 このとき、これらの項1から5までがその順で出現した場合は、非特許文献4,5に記載の方法によれば、既知の攻撃のパターンと類似しているため攻撃の疑いがあることを判定できる。しかしながら、非特許文献4,5に記載の方法によれば、順番を無視し各項の有無だけで考えた場合、各項に対応する行動自体は攻撃でなくとも、頻繁に発生しうることなので攻撃の疑いを持つことはできない。
 本発明は、上記に鑑みてなされたものであって、ログから攻撃者の一連の行動を形式化し、再構築することができる情報処理装置及び情報処理プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部と、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部と、構文解析器を用いて、要素抽出部によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部と、構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、定義情報において定義された行動を表すラベルを付加し、ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部と、を有することを特徴とする。
 本発明によれば、ログから攻撃者の一連の行動を形式化し、再構築することができる。
図1は、実施の形態における情報処理システムの構成の一例を模式的に示す図である。 図2は、情報処理装置の構成を示すブロック図である。 図3は、要素抽出部における要素抽出の例を示す図である。 図4は、行動を形式文法で定義したファイルの一例を示す図である。 図5は、一般的な形式文法で行動の構文を定義した例を示す図である。 図6は、実施の形態における形式文法で行動の構文を定義した例を示す図である。 図7は、構文解析部による処理を説明する図である。 図8-1は、再構築部のラベル付加の処理を説明する図である。 図8-2は、再構築部のラベル付加の処理を説明する図である。 図9は、情報処理装置における処理の流れを示す図である。 図10は、実施の形態に係る情報処理方法の処理手順を示すフローチャートである。 図11は、行動を形式文法で定義したファイルの一例を示す図である。 図12は、定義を満たすログ列を含むログデータの一例を示す図である。 図13は、情報処理装置が出力するログの一例を示す図である。 図14は、プログラムが実行されることにより情報処理装置が実現されるコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
 本発明の実施の形態について説明する。本発明の実施の形態では、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行う情報処理装置及び情報処理プログラムについて説明する。本実施の形態として、攻撃者の一連の行動を定義する多くのモデル(Cyber Kill ChainやAttack Life Cycleなど)が存在することから、攻撃自体は異なるものでも、行動が同じであれば形式化可能なパターンが存在するという観点に注目し、攻撃者の一連の行動の形式化と、形式化に従いログからの攻撃者の一連の行動の再構築を実現する技術を説明する。まず、実施の形態における情報システムの一例を説明する。
[情報システムの構成]
 図1は、実施の形態における情報処理システムの構成の一例を模式的に示す図である。図1に示す情報処理システムは、例えば、ログ保持装置100と、情報処理装置10とが、インターネットや専用線等のネットワークNを介して接続する構成を有する。
 ログ保持装置100は、分析者による調査対象のログを保持する。ログ保持装置100は、ネットワークNを介して、情報処理装置10に、調査対象のログを提供する。なお、調査対象のログは、ログ保持装置100ではなく、情報処理装置10が装置内に調査対象のログを保持していてもよい。
 情報処理装置10は、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行い、攻撃者の一連の行動に該当するログとして出力する。情報処理装置10は、以下の手順を用いる。
 具体的には、情報処理装置10は、手順として、形式文法を用いて、攻撃者の行動を記録したログに現れる特徴的な要素及び行動間の関係性を定義し、定義を満たすようなログを抽出する。形式文法とは、非終端記号とその記号が受理するパターンをあらわす表現からなる文法であり、A = e のような形で記述される。ここで、Aは非終端記号であり、eはAが受理するパターンを表す表現である。ここで、本実施の形態において用いる形式文法は、ログから得られた要素を終端記号として扱うように変更を加えたものである。また、以降の例では、形式文法として、PEGwUC(Parsing expression grammar with Unordered choices)を用いるが、これに限定するものではない。すなわち、その他の形式文法でも同様の変更を加えた上で置き換え可能である。
 情報処理装置10は、この手順により、ログが、明確な依存関係や共通の情報を持たない場合でも関連付けることができる。また、情報処理装置10は、ログがどのような行動により記録されたものであるのかを定義できるようになる。
[情報処理装置]
 次に、情報処理装置10の構成について説明する。図2は、図1に示す情報処理装置10の構成を示すブロック図である。図2に示すように、情報処理装置10は、通信部11、入力部12、出力部13、記憶部14及び制御部15を有する。
 通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15との間の通信を行う。例えば、通信部11は、ネットワークNなどを介して入力された調査対象のログを、制御部15に入力する。また、通信部11は、行動を形式文法で定義したファイルの入力を受け付け、制御部15に入力する。通信部11は、再構築された攻撃者の一連の行動に該当するログを、ネットワークN等を介して、他の装置に送信してもよい。
 入力部12は、情報処理装置10の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部12は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
 出力部13は、例えば、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。出力部13は、再構築された攻撃者の一連の行動を示すログを操作者(例えば、分析者)に対して出力する。
 記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、情報処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
 制御部15は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部15は、要素抽出部151、生成部152、構文解析部153、再構築部154を有する。
 要素抽出部151は、入力されたログ毎に、攻撃者の行動に関する要素を抽出する。要素抽出部151は、調査対象のログを受け付け、記録されているログ毎に要素を抽出する。要素は、攻撃者の一連の行動を記録したログに現れる特徴的なものである。要素抽出部151は、抽出した要素のみから成るログを構文解析部153に出力する。
 要素抽出部151は、調査対象のログを受け付け、記録されているログごとに要素を抽出する。抽出対象の要素は、例えば、記録時刻、プロセスID、親プロセスID、ユーザID、コマンドライン、送信先アドレス、送信先ポート、ファイル名、DNS(Domain Name System)ドメイン名、名前解決により得られたIPアドレス、プロセス名、GETリクエストの絶対パス、POSTリクエストの絶対パス等である。要素は、攻撃者の一連の行動を記録したログに現れる特徴的なものであればよく、上記のものに限定する必要ない。また、情報処理装置10では、要素の追加や削除を適宜行うことも可能である。
 図3は、要素抽出部151における要素抽出の例を示す図である。要素抽出部151は、図3の(1)のログのうち、領域W1の記載内容から、記録時刻「2018-07-11T10:28:06.078110000Z」を抽出する(図3の(2)参照)。そして、要素抽出部151は、図3の(1)のログのうち、領域W2の記載内容から、送信先アドレス「192.168.56.101」、送信元アドレス「10.0.2.15」、送信先ポート「8080」、送信元ポート「49636」を抽出する(図3の(2)参照)。要素抽出部151は、抽出した要素から成るログを構文解析部153に出力する。
 生成部152は、形式文法を用いて攻撃者の行動を定義した定義情報を基に、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する。定義情報とは、行動を記録したログに現れる特徴的な要素を、形式文法を用いて定義したものであり、ファイル形式で入力される。定義情報には、要素を終端記号として扱った形式文法が用いられる。定義情報は、非終端記号についても定義する。また、定義情報は、攻撃者の行動の順序を示す情報を含む。構文解析器は、定義情報において定義された行動に該当する特徴を有するログ列をログから検出する機能を有する。生成部152は、生成した構文解析器を、構文解析部153に出力する。
 生成部152は、攻撃者の行動を形式文法で定義したファイルを定義情報として受け取る。図4は、行動を形式文法で定義したファイルの一例を示す図である。図4に示すファイルは、形式文法として、PEGwUCを用いている。
 ここで、一般的な形式文法では、文字を終端記号として扱うが、生成部152では、ログから得られた要素を終端記号として扱う。例えば、一般的な形式文法として、正規文法、文脈自由文法、解析表現文法、Boolean Grammar等がある。
 そして、本実施の形態において、形式文法中において終端記号を記述する際には、[(要素名1)(演算子1)(要素値1),(要素名2)(演算子2)(要素値2)),・・・]とした表記を用いる。例えば、終端記号として、[fname=“dummy.txt”]、[opcode=“FileCreate”,dport>50,dport<=80]のように、記述される。本実施の形態では、終端記号を扱う際に論理式を用いている。なお、終端記号以外の記述方法は、一般的な形式文法と同様である。
 次に、記述例を具体的に示す。図5は、一般的な形式文法で四則演算の構文を定義した例を示す図である。図6は、実施の形態における形式文法で行動の構文を定義した例を示す図である。図5に示すように、例えば、PEGwUCで四則演算の構文を定義した場合には、「‘」及び「’」で囲まれる文字が一般的なPEGwUCにおける終端記号である。これに対し、図6に示すように、本実施の形態では、「[」及び「]」で囲まれる要素の列が、PEGwUCの終端記号である。このように、生成部152は、要素を終端記号として扱った形式文法を用いる。
 生成部152は、このような攻撃者の行動を形式文法で定義したファイルを用いて、攻撃者の行動に該当する特徴を有するログ列をログから検出するための構文解析器を生成する。
 構文解析部153は、要素抽出部151によって抽出された要素のみから成るログと、生成部152が生成した構文解析器とを基に、構文解析を行う。構文解析部153は、構文解析器を用いて、要素抽出部151によって抽出された要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する。また、構文解析部153は、検出したログ列を再構築可能とする処理を行う。構文解析部153は、解析結果を再構築部154に出力する。
 構文解析部153は、構文解析器を用いて、要素を抽出するステップにおいて抽出された前記要素から成るログから、定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析を行う。この際、構文解析部153は、検出したログ列から攻撃者の一連の行動を再構築可能とする処理を行う。
 図7は、構文解析部153による処理を説明する図である。例えば、図7のログ1は、図3の(2)に示す、要素抽出部151が抽出した要素を含む。ここで、図7に示すように、構文解析部153は、構文解析器を用いて検出したログ列を、後段の処理において再構築できるように、解析木の生成や、受理した部分列の情報の記録を実行する。
 再構築部154は、構文解析部153によって検出されたログ列に、定義情報において定義された行動を表すラベルを付加し、このラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する。
 再構築部154は、構文解析の結果から、受理されたログ列を再構築する。再構築部154は、解析木、或いは、記録された部分列の情報を基に、ログ列を再構築する。そして、再構築部154は、再構築したログ列のうち、構文解析部153が検出したログ列に、攻撃者の行動を表すラベルを付加する。ラベルは、定義情報で定義された行動の種別を表す。行動の種別として、サイバーキルチェーンにおけるDelivery, Exploitation, InstallationやCommand and Controlなどのフェーズがある。
 図8-1及び図8-2は、再構築部154のラベル付加の処理を説明する図である。図8―1は、定義情報である形式文法ファイルP1を示す。図8―2は、ログへの、形式文法ファイルP1に定義された行動の種別に基づくラベル付与の一例を示す。なお、再構築したログ列のうち、定義情報に含まれる非終端記号に合致した部分列が含まれるログ列は、その非終端記号に対応する攻撃者の行動によるものであるとする。
 図8―2に示すように、再構築部154は、再構築により、例えば、ログ4~53を有するログの部分列W11´が得られたとする。この部分列W11´のうち、形式文法ファイルP1に基づいて、行動「Delivery」(図8―1の枠W12参照)により記録されたログ5,6(図8―2の枠W12´参照)にラベル「Delivery」を付加する。そして、再構築部154は、部分列W11´のうち、行動「Objective」(図8―1の枠W13参照)により記録されたログ53(図8―2の枠W13´参照)にラベル「Objective」を付加する。
 なお、再構築部154は、ログ列を復元する際に、形式文法ファイルP1に示す選択を表す記号「|」により曖昧性を含む箇所を検出した場合は、選択「|」の先頭の要素から優先的に選択するものとする。これまで説明した処理によって、調査対象のログの列のうち、攻撃者の一連の行動に該当する箇所のうち、特徴的な箇所を検出することができる。
 そして、再構築部154は、形式文法ファイルP1で定義された行動の順序にしたがって、ラベル「Delivery」のログ5,6の次に、ラベル「Objective」のログ53を配置する。再構築部154は、このように、攻撃者の行動順にしたがって配置したログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
 このように、再構築部154は、要素抽出部151から入力された要素から成るログを用いて、構文解析部153によって検出されたログ列を再構築する。そして、再構築部154は、再構築後のログ列にラベルを付加する。再構築部154は、この再構築してラベルを付加したログ列を、定義情報が示す順序で配置し、このログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
[処理の流れ]
 図9は、情報処理装置10における処理の流れを示す図である。図9に示すように、要素抽出部151は、調査対象のログの入力を受けると(図9の矢印Y1参照)、入力されたログ毎に抽出要素を抽出して、抽出要素のみから成るログを構文解析部153に出力する(図9の矢印Y3参照)。
 一方、生成部152は、攻撃者の行動を定義したファイル(定義情報)を受けると(図9の矢印Y2参照)、構文解析器を生成し、生成した構文解析器を構文解析部153に出力する(図9の矢印Y4参照)。
 構文解析部153は、構文解析器を用いて、要素から成るログから、定義された行動に該当する特徴を有するログ列を検出する構文解析を行い、解析結果を再構築部154に出力する(図9の矢印Y5参照)。この際、構文解析部153は、抽出要素のみから成るログも、再構築部154に出力する(図9の矢印Y6参照)。
 再構築部154は、構文解析部153によって検出されたログ列を再構築した後に、ログ列にラベルを付加する。そして、再構築部154は、ラベルを付加したログ列を、定義情報が示す順序で配置したログを、攻撃者の一連の行動に該当するログとして出力する(図9の矢印Y7)。
 このように、情報処理装置10は、入力されたログから、攻撃者の一連の行動を形式化し、再構築することができる。このため、情報処理装置10からの出力を利用すれば、分析者自らが、多数のログを調査・分析して攻撃者の一連の行動を明らかにするという処理を行う必要がない。したがって、情報処理装置10によれば、従来よりも、インシデント調査に対する分析者の処理負担を軽減することができる。
[情報処理方法の処理手順]
 次に、情報処理装置10による情報処理方法の処理手順について説明する。図10は、実施の形態に係る情報処理方法の処理手順を示すフローチャートである。
 図10に示すように、要素抽出部151は、入力されたログ毎に、処理に必要な要素のみを抽出して(ステップS1)、抽出した要素のみから成るログを構文解析部153に出力する。
 一方、生成部152は、攻撃者の行動を定義したファイルに記載された行動の定義に従い構文解析器を生成し(ステップS2)、生成した構文解析器を構文解析部153に出力する。
 構文解析部153は、構文解析器を用いて、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在するか否かを判定する(ステップS3)。構文解析部153が、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在しないと判定した場合(ステップS3:No)、情報処理装置10は、処理を終了する。
 一方、構文解析部153が、抽出された要素のみから成るログに、定義された行動に一致するログ列が存在すると判定した場合(ステップS3:Yes)、再構築部154は、解析結果から、定義に一致したログ列を再構築し、ログ列にラベルを付加する(ステップS4)。そして、再構築部154は、ラベルを付加したログ列を、定義情報が示す順序で配置したログを、攻撃者の一連の行動に該当するログとして出力する。分析者は、攻撃者の一連の行動に該当するログを分析することによって、インシデント調査を実行する。
[実施の形態の効果]
 このように、情報処理装置10は、取得したログを基に、攻撃者の一連の行動を、形式化し、再構築を行うことによって、攻撃者の一連の行動に該当するログを出力することができる。このログを使用することによって、分析者は、多数のログを調査・分析して攻撃者の一連の行動を明らかにする処理を行わずとも、攻撃者の一連の行動を、出力されたログから検出できるようになる。したがって、情報処理装置10によれば、従来よりも、インシデント調査に対する分析者の処理負担を軽減することができる。
 また、攻撃者の一連の行動は形式文法として定義されるため、本実施の形態では、一度定義すれば、定義の共有や組み合わせ等が可能であり、柔軟に、攻撃者の一連の行動は形式文法として定義できる。このため、分析者としての経験が浅い人であっても、本情報処理装置10を用いることによって、攻撃者の一連の行動の適切な検出及び調査が可能となる。したがって、本実施の形態によれば、分析者による分析結果を一定水準まで高めることができる。
[実施例]
 本実施の形態の実施例を示す。情報処理装置10では、行動を記録したログに現れる特徴的な要素を、形式文法を用いて定義した後に、定義を満たすログ列を、調査対象のログから検出し、検出したログ列に、行動と対応するラベルを付加する。そして、情報処理装置10は、ラベルを付加したログ列を、定義情報が示す順序で配置し、該ログを、攻撃者の一連の行動に該当するログとして出力する。
 まず、攻撃者の行動を形式文法で定義したファイルについて具体的に説明する。図11は、行動を形式文法で定義したファイルの一例を示す図である。また、図12は、定義を満たすログ列を含むログデータの一例を示す図である。この例では、ログR20は、XMLで記述されており、Eventタグ(<Event>…</Event>)が1つのログに対応し、Eventタグの列がログ全体を表す。情報処理装置10では、再構築部154が、図11のファイルT1に定義された行動に該当するログ列に、その行動を表すラベルを付加する。例えば、再構築部154は、検出されたログ列W21のうちの4,5行目のログ列R21に対して、ラベル「Delivery」を付し、8,9行目のログ列R22に対して、ラベル「Installation」を付加する(図12参照)。
 図13は、情報処理装置10が出力するログの一例を示す図である。再構築部154は、形式文法ファイルT1(図11参照)が示す行動の順序にしたがって、ラベル「Delivery」のログR21の次に、ラベル「Installation」のログR22を配置する。情報処理装置10は、このように、攻撃者の行動順にしたがって配置したログを、攻撃者の一連の行動を形式化して表現したログとして出力する。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図14は、プログラムが実行されることにより、情報処理装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報処理装置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によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 10 情報処理装置
 11 通信部
 12 入力部
 13 出力部
 14 記憶部
 15 制御部
 151 要素抽出部
 152 生成部
 153 構文解析部
 154 再構築部

Claims (4)

  1.  入力されたログ毎に、攻撃者の行動に関する要素を抽出する要素抽出部と、
     形式文法を用いて前記攻撃者の行動を定義した定義情報を基に、前記定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成する生成部と、
     前記構文解析器を用いて、前記要素抽出部によって抽出された前記要素から成るログから、前記定義情報において定義された行動に該当する特徴を有するログ列を検出する構文解析部と、
     前記構文解析部によって検出されたログ列を再構築し、再構築後の各ログ列に、前記定義情報において定義された行動を表すラベルを付加し、前記ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力する再構築部と、
     を有することを特徴とする情報処理装置。
  2.  前記定義情報は、要素を終端記号として扱った形式文法が用いられることを特徴とする請求項1に記載の情報処理装置。
  3.  前記定義情報は、前記攻撃者の行動の順序を示す情報を含み、
     前記再構築部は、前記ラベルを付加したログ列を、定義情報が示す順序で配置し、該ログを、攻撃者の一連の行動に該当するログとして出力することを特徴とする請求項1に記載の情報処理装置。
  4.  入力されたログ毎に、攻撃者の行動に関する要素を抽出するステップと、
     形式文法を用いて前記攻撃者の行動を定義した定義情報を基に、前記定義情報において定義された行動に該当する特徴を有するログ列をログから検出する構文解析器を生成するステップと、
     前記構文解析器を用いて、前記要素するステップにおいて抽出された前記要素から成るログから、前記定義情報において定義された行動に該当する特徴を有するログ列を検出するステップと、
     前記検出するステップにおいて検出されたログ列を再構築し、再構築後の各ログ列に、前記定義情報において定義された行動を表すラベルを付加し、前記ラベルを付加したログ列を、攻撃者の一連の行動に該当するログとして出力するステップと、
     をコンピュータに実行させるための情報処理プログラム。
PCT/JP2019/019976 2018-10-10 2019-05-20 情報処理装置及び情報処理プログラム WO2020075333A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/283,552 US11907365B2 (en) 2018-10-10 2019-05-20 Information processing device and information processing program
JP2020549949A JP6984761B2 (ja) 2018-10-10 2019-05-20 情報処理装置及び情報処理プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018192048 2018-10-10
JP2018-192048 2018-10-10

Publications (1)

Publication Number Publication Date
WO2020075333A1 true WO2020075333A1 (ja) 2020-04-16

Family

ID=70164211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019976 WO2020075333A1 (ja) 2018-10-10 2019-05-20 情報処理装置及び情報処理プログラム

Country Status (3)

Country Link
US (1) US11907365B2 (ja)
JP (1) JP6984761B2 (ja)
WO (1) WO2020075333A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023162047A1 (ja) * 2022-02-22 2023-08-31 日本電信電話株式会社 生成装置、生成方法および生成プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4078421A4 (en) * 2020-05-05 2023-12-27 Blate, Alex TERMINAL AND PROTOCOL FOR TRUSTED DIGITAL MANUFACTURING
CN114330190B (zh) * 2022-03-04 2022-05-20 北京大学 基于多电场模型的时钟驱动fpga芯片全局布局方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010680A1 (en) * 2006-03-24 2008-01-10 Shenyang Neusoft Co., Ltd. Event detection method
WO2014045827A1 (ja) * 2012-09-19 2014-03-27 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2859415C (en) * 2012-02-21 2016-01-12 Logos Technologies, Llc System for detecting, analyzing, and controlling infiltration of computer and network systems
US10230745B2 (en) * 2016-01-29 2019-03-12 Acalvio Technologies, Inc. Using high-interaction networks for targeted threat intelligence

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010680A1 (en) * 2006-03-24 2008-01-10 Shenyang Neusoft Co., Ltd. Event detection method
WO2014045827A1 (ja) * 2012-09-19 2014-03-27 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMAGUCHI, SATOSHI ET AL.: "Exploiting the application-layer context for precise NIDS. IPSJ SIG Technical Report", NIDS, vol. 2005, no. 79, 3 August 2005 (2005-08-03), pages 9 - 16, XP055702247 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023162047A1 (ja) * 2022-02-22 2023-08-31 日本電信電話株式会社 生成装置、生成方法および生成プログラム

Also Published As

Publication number Publication date
US20210390178A1 (en) 2021-12-16
US11907365B2 (en) 2024-02-20
JP6984761B2 (ja) 2021-12-22
JPWO2020075333A1 (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
WO2020075333A1 (ja) 情報処理装置及び情報処理プログラム
JP2013525892A (ja) ラージ・スケール正規表現のマッチングのための二重dfa分解
US9275246B2 (en) System and method for static detection and categorization of information-flow downgraders
Kasim An ensemble classification-based approach to detect attack level of SQL injections
TW201310954A (zh) 跨站腳本攻擊產生方法
Hoffman et al. Grammar‐based test generation with YouGen
CN112115326B (zh) 一种以太坊智能合约的多标签分类和漏洞检测方法
Liguori et al. Can we generate shellcodes via natural language? An empirical study
CN102141959A (zh) 一种受上下文无关文法约束的测试用例生成方法
Viide et al. Experiences with Model Inference Assisted Fuzzing.
Naeem et al. Digital forensics for malware classification: An approach for binary code to pixel vector transition
Iqbal et al. STIXGEN-a novel framework for automatic generation of structured cyber threat information
CN113971284B (zh) 基于JavaScript的恶意网页检测方法、设备及计算机可读存储介质
Escalada et al. An efficient platform for the automatic extraction of patterns in native code
Tripp et al. Hybrid analysis for javascript security assessment
US20210256426A1 (en) System and method for prioritizing and ranking static analysis results using machine learning
US11574053B1 (en) System and method for detecting malicious scripts
Jayathilake et al. Automatic detection of multi-line templates in software log files
Kong et al. Semantic aware attribution analysis of remote exploits
WO2017187999A1 (ja) プログラム分析システム、プログラム分析方法、及び、記録媒体
Alshaya et al. VrT: A CWE-Based Vulnerability Report Tagger: Machine Learning Driven Cybersecurity Tool for Vulnerability Classification
Maurel et al. Comparing the Detection of XSS Vulnerabilities in Node. js and a Multi-tier JavaScript-based Language via Deep Learning
WO2023162047A1 (ja) 生成装置、生成方法および生成プログラム
Plohmann Classification, Characterization, and Contextualization of Windows Malware using Static Behavior and Similarity Analysis
Antoniol et al. Reuse or rewrite: Combining textual, static, and dynamic analyses to assess the cost of keeping a system up-to-date

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020549949

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

Country of ref document: EP

Kind code of ref document: A1