WO2019176062A1 - 分析装置、分析方法、及び、記録媒体 - Google Patents

分析装置、分析方法、及び、記録媒体 Download PDF

Info

Publication number
WO2019176062A1
WO2019176062A1 PCT/JP2018/010288 JP2018010288W WO2019176062A1 WO 2019176062 A1 WO2019176062 A1 WO 2019176062A1 JP 2018010288 W JP2018010288 W JP 2018010288W WO 2019176062 A1 WO2019176062 A1 WO 2019176062A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
confirmation
analysis
model
information
Prior art date
Application number
PCT/JP2018/010288
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 PCT/JP2018/010288 priority Critical patent/WO2019176062A1/ja
Priority to JP2020506062A priority patent/JP7067612B2/ja
Priority to US16/964,414 priority patent/US20210049274A1/en
Publication of WO2019176062A1 publication Critical patent/WO2019176062A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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
    • 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
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Definitions

  • the present invention relates to an analysis apparatus, an analysis method, and a recording medium.
  • threat hunting is important because it finds threats that infiltrate and enter the network of enterprises, etc.
  • an analyst uses the analysis device to end the server device or terminal device. Based on the event information collected at the points, suspicious programs (programs that may be threats) running at the endpoints are detected.
  • the analyst searches for a suspicious program by repeating operations such as searching for a program, a file accessed by the program, a registry, and the like from event information and confirming various information related to the search result.
  • An analyst is required to efficiently perform such a search on a large amount of event information collected at an endpoint.
  • such a search is influenced by analysis knowledge and experience, and even a user with insufficient knowledge and experience is required to perform the search efficiently.
  • Patent Document 1 discloses a technique related to the efficiency of operations in search.
  • the machine learning device described in Patent Literature 1 learns the display of menu items based on the operation history of menu items, and determines the position and order of menu items based on the learning result.
  • An object of the present invention is to provide an analysis apparatus, an analysis method, and a recording medium for solving the above-described problems and efficiently performing a search in threat hunting.
  • the analysis apparatus is based on learning data including an operation performed on the displayed confirmation target and a display history of the confirmation target until the confirmation target is displayed.
  • the analysis method is based on learning data including an operation performed on a displayed confirmation target and a display history of the confirmation target until the confirmation target is displayed.
  • a model that outputs information related to an operation to be performed is generated, and a confirmation target and information regarding an operation to be performed on the confirmation target obtained by the model are displayed.
  • the computer-readable recording medium includes an operation performed on the confirmation target displayed on the computer and a display history of the confirmation target until the confirmation target is displayed. Based on the learning data, generate a model that outputs information on the operation to be performed on the confirmation target, and display the confirmation target and information on the operation to be performed on the confirmation target obtained by the model, A program for executing processing is stored.
  • the effect of the present invention is that search in threat hunting can be performed efficiently.
  • FIG. 1 is a block diagram illustrating a configuration of the analysis apparatus 100 according to the first embodiment.
  • the analysis apparatus 100 is connected to the terminal apparatus 200 via a network or the like.
  • the analysis apparatus 100 supports a search for a suspicious program (a program with a potential threat) using a terminal log by a user such as an analyst in threat hunting.
  • a suspicious program a program with a potential threat
  • a terminal log is a log (event log) indicating an event related to an analysis target such as a process operating on the terminal device 200, a file accessed by the process, and a registry.
  • the analysis apparatus 100 displays an element that is information indicating an analysis target.
  • the element is a target to be confirmed by the user in threat hunting.
  • the element is also referred to as “confirmation target”.
  • the element includes an identifier (ID (Identifier)) to be analyzed.
  • ID Identifier
  • the analysis apparatus 100 performs an operation on the displayed element in accordance with an instruction from the user, and displays the result to the user.
  • the operation includes extraction of detailed information of the analysis target indicated by the element from the terminal log and search for other analysis targets related to the analysis target indicated by the element.
  • the operation includes giving an analysis result (determination result as to whether or not it is a suspicious analysis target) to the analysis target indicated by the element.
  • the analysis apparatus 100 presents information related to operations to be performed on the elements to the user.
  • information related to an operation to be performed on an element is also referred to as “proposed information”.
  • “importance of operation” is output as the proposal information.
  • the terminal device 200 corresponds to an endpoint in threat hunting.
  • the terminal device 200 is a computer connected to a network, such as a personal computer, a mobile terminal, or a server device.
  • the terminal device 200 may be connected to a private network such as a corporate intranet.
  • the terminal device 200 may be accessible to a public network such as the Internet via a network device 210 such as a firewall.
  • the terminal device 200 may be connected to a public network such as the Internet.
  • the terminal device 200 monitors an event related to the analysis target, and transmits event information to the analysis device 100 as a terminal log. Note that the terminal device 200 may transmit the terminal log to the analysis device 100 via a log collection device (not shown) or the like instead of directly transmitting the terminal log to the analysis device 100.
  • the analysis apparatus 100 includes a terminal log collection unit 110, a reception unit 120, a display unit 130, an operation history collection unit 140, a feature extraction unit 150, a model generation unit 160, a proposal unit 170, and a control unit 180. Furthermore, the analysis apparatus 100 includes a terminal log storage unit 111, an operation history storage unit 141, and a model storage unit 161.
  • the terminal log collection unit 110 collects terminal logs from the terminal device 200.
  • the terminal log storage unit 111 stores the terminal log collected by the terminal log collection unit 110.
  • the accepting unit 120 accepts an operation execution instruction regarding an element from the user.
  • the display unit 130 executes an operation instructed by the user, and generates and displays a screen including the result.
  • the display unit 130 adds and displays the proposal information output from the proposal unit 170 to the elements on the screen.
  • the display unit 130 gives the importance of the operation as the proposal information.
  • the operation history collection unit 140 collects operation history for elements (hereinafter also referred to as operation history).
  • the operation history storage unit 141 stores the operation history collected by the operation history collection unit 140.
  • the feature extraction unit 150 generates a feature vector for each element included in the operation history based on the operation history and the terminal log.
  • the feature vector includes a feature amount related to the analysis target indicated by each element in the element display history until the element is displayed.
  • the model generation unit 160 generates learning data based on the operation history and the feature vector.
  • the model generation unit 160 generates a model that outputs proposal information for an element by performing machine learning on the generated learning data.
  • the model generation unit 160 generates a model for calculating the importance of the operation as the proposal information.
  • the model storage unit 161 stores the model generated by the model generation unit 160.
  • the proposal unit 170 uses the model to determine proposal information for the element and outputs it to the display unit 130.
  • the proposal unit 170 calculates the importance of the operation as the proposal information.
  • the control unit 180 performs protection control for the terminal device 200 and the network device 210.
  • the analysis apparatus 100 may be a computer that includes a CPU (Central Processing Unit) and a recording medium storing a program, and that operates by control based on the program.
  • a CPU Central Processing Unit
  • a recording medium storing a program, and that operates by control based on the program.
  • FIG. 2 is a block diagram illustrating a configuration of the analysis apparatus 100 mounted on a computer according to the first embodiment.
  • the analysis apparatus 100 includes a CPU 101, a storage device 102 (recording medium), an input / output device 103, and a communication device 104.
  • CPU 101 is a program command for implementing terminal log collection unit 110, reception unit 120, display unit 130, operation history collection unit 140, feature extraction unit 150, model generation unit 160, proposal unit 170, and control unit 180.
  • Execute (Instruction).
  • the storage device 102 is, for example, a hard disk or a memory, and stores data of the terminal log storage unit 111, the operation history storage unit 141, and the model storage unit 161.
  • the input / output device 103 is a keyboard, a display, or the like, for example, and outputs a screen generated by the display unit 130 to a user or the like.
  • the input / output device 103 receives an input of an operation related to an element from a user or the like.
  • the communication device 104 receives a terminal log from the terminal device 200.
  • the communication device 104 transmits an instruction for protection control by the control unit 180 to the terminal device 200 or the network device 210.
  • the components of the analysis apparatus 100 may be implemented by general-purpose or dedicated circuits (circuitry), processors, or combinations thereof. These circuits and processors may be constituted by a single chip or may be constituted by a plurality of chips connected via a bus. Moreover, a part or all of each component may be implemented by a combination of the above-described circuit and the like and a program. In addition, when a part or all of each component is implemented by a plurality of information processing devices and circuits, the plurality of information processing devices and circuits may be centrally arranged or distributedly arranged. Also good.
  • the information processing apparatus, the circuit, and the like may be implemented in a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.
  • the learning process is a process of generating a model that outputs proposal information based on the operation history generated during the search.
  • the learning process is performed, for example, at the time of search by a user who has a wealth of knowledge and experience.
  • a terminal log of a predetermined length collected from the terminal device 200 by the terminal log collection unit 110 is stored in the terminal log storage unit 111 in advance.
  • the terminal device 200 monitors events related to the analysis target (process, file, registry, etc.) on the terminal device 200. For example, when the OS (Operating System) operating on the terminal device 200 is Windows (registered trademark), the terminal device 200 monitors the activation and termination of a process, acquisition of a process handle, creation of a remote thread, and the like as events. Further, the terminal device 200 may monitor, as events, communication with other devices by a process, inter-process communication, access to a file or registry, an attack trace (Indicators of Attack), and the like.
  • the interprocess communication is communication performed between processes via, for example, a named pipe, a socket, a window message, a shared memory, and the like.
  • the attack trace is an attack by a threat such as communication with a specific external communication destination, activation of a specific process, access to a file of a specific process, information generation for automatically executing a specific process, etc. It is an event that has the possibility of Even when the OS is other than Windows, the terminal device 200 monitors similar events for execution units such as processes, tasks, and jobs.
  • FIG. 4 and FIG. 5 are diagrams showing examples of terminal logs in the first embodiment.
  • FIG. 3 is an example of a log related to process start / end.
  • the process start time and end time, the process ID and process name of the process, and the process ID (parent process ID) of the parent process that started the process are registered as the log.
  • FIG. 4 is an example of a log related to creation of a remote thread.
  • the creation time of the remote thread, the process ID of the creation source process of the remote thread (creation source process ID), and the process ID of the creation destination process (creation destination process ID) are registered as logs.
  • the acquisition time of the process handle, the process ID of the acquisition source process of the process handle, and the process ID of the acquisition destination process are registered.
  • FIG. 5 is an example of a log related to communication.
  • the start time and end time of communication by a process, the process ID of the process, and an IP (Internet Protocol) address indicating a communication destination are registered as a log.
  • terminal logs as shown in FIGS. 3 to 5 are stored in the terminal log storage unit 111 as terminal logs.
  • FIG. 6 is a flowchart showing the learning process in the first embodiment.
  • the following steps S101 to S105 are performed at the time of search by the user.
  • the accepting unit 120 accepts an instruction to execute an operation related to an element from the user (step S101).
  • the display unit 130 performs an operation according to the instruction (step S102).
  • the display unit 130 generates and displays a screen representing the operation result (step S103).
  • the operation history collection unit 140 collects operation histories of executed operations (step S104).
  • the operation history collection unit 140 stores the collected operation history in the operation history storage unit 141.
  • the operation history collection unit 140 overwrites the operation history with an operation performed later.
  • the analysis apparatus 100 repeats the processes of steps S101 to S104 until the search is completed (step S105).
  • the end of the search is instructed by the user, for example.
  • steps S101 to S105 will be described.
  • the operation “display” is to search the terminal log for the analysis target that matches the search condition and display a list of elements indicating them.
  • the search condition is specified by the relevance to the analysis target indicated by the character string or the displayed element.
  • Operation “Confirm” is to extract and display the detailed information of the analysis target indicated by the displayed element from the terminal log.
  • the operation “determination (benign)” indicates that the determination result “benign” is given to the analysis target indicated by the displayed element.
  • the determination result “benign” indicates that the analysis target is determined not to be suspicious.
  • the operation “determination (malignant)” indicates that the determination result “malignant” is given to the analysis target indicated by the displayed element.
  • the determination result “malignant” indicates that the analysis target is determined to be suspicious.
  • FIG. 7 is a diagram illustrating an example of an operation history generated by the learning process according to the first embodiment.
  • a list ID (list ID), an ID of an element in the list (element ID), and an operation performed on the element are related.
  • an analysis target ID (process ID, file ID, registry ID, etc.) indicated by the element is used as the element ID.
  • the ID (child list ID) of the list of elements obtained by the search and the relationship (relevance) with the child list are related.
  • the arrow shown together with the operation indicates that the operation on the left side is overwritten by the operation on the right side of the arrow.
  • FIG. 8, FIG. 9, and FIG. 10 are diagrams showing examples of screens generated by the learning process in the first embodiment.
  • the accepting unit 120 accepts an instruction to execute the operation “display” when the user inputs the first search condition “with communication”.
  • the display unit 130 extracts processes “P01”, “P02”, and “P03” that match the search condition “with communication” from the terminal log in FIG.
  • the display unit 130 displays the screen (a) of FIG. 8 including a list “L00” of elements “P01”, “P02”, and “P03” indicating these processes.
  • a search condition first input by the user in addition to “with communication”, for example, a process name of a communication destination (when searching for a process that has communicated with a certain process), a file name or registry name of an access destination ( Searching for a process accessing a file or registry) is used.
  • the operation history collection unit 140 registers the operation “display” as the operation history of the elements “P01”, “P02”, and “P03” of the list “L00”.
  • the accepting unit 120 accepts an instruction to execute the operation “confirmation” by the user clicking the “detail” label of the element “P01” in the list “L00” and selecting the tag “communication”.
  • the display unit 130 extracts detailed information related to the communication of the process “P01” from the terminal log of FIG.
  • the display unit 130 displays the screen (b) in FIG. 8 including detailed information related to the communication of the process “P01”.
  • a file or a registry is used as the type of detailed information to be extracted.
  • the operation history collection unit 140 overwrites the operation “confirmation” on the operation history of the element “P01” of the list “L00” as illustrated in FIG.
  • the accepting unit 120 accepts an instruction to execute the operation “display” by the user clicking the “relevant” label of the element “P01” in the list “L00” and selecting the relevance “child process”. .
  • the display unit 130 extracts the child processes “P04” and “P05” of the process “P01” from the terminal log in FIG.
  • the display unit 130 displays the screen (b) of FIG. 9 including the list “L01” of the elements “P04” and “P05” indicating these child processes following the screen (a) of FIG. 9.
  • relationship for example, the relationship between processes, the relationship between processes and files, and the relationship between processes and registries are used.
  • the relationship between processes includes, for example, parent-child relationship of processes (parent process, child process), process handle acquisition relationship (acquisition source process, acquisition source process), remote thread creation relationship (creation destination process, origin of creation) Process).
  • parent process child process
  • process handle acquisition relationship acquisition source process, acquisition source process
  • remote thread creation relationship creation destination process, origin of creation
  • an ancestor process and a grandchild process may be used instead of the parent process and the child process, respectively.
  • duplication of operation time (duplicate process), inter-process communication (destination process), and process with the same name (instance with the same process name) may be used.
  • access relationships (files accessed by processes, processes accessing files) are used.
  • the file accessed by the process and the process accessing the file are searched and displayed.
  • an access relationship (the registry accessed by the process, the process accessing the registry) is used.
  • the registry accessed by the process and the process accessing the registry are searched and displayed.
  • the operation history collection unit 140 registers the child list ID “L01” and the relationship “child process” in the operation history of the element “P01” of the list “L00”. Further, the operation history collection unit 140 registers the operation “display” as the operation history of the elements “P04” and “P05” of the list “L01”.
  • the reception unit 120 instructs the user to execute the operation “determination (malignant)” by clicking the “determination” label of the element “P05” in the list “L01” and selecting the determination result “malignant”. Accept.
  • the display unit 130 gives the determination result “malignant” to the process “P05”.
  • the display unit 130 displays the screen (b) in FIG. 10 in which the determination result “malignant” is assigned to the element “P05” indicating the process.
  • the operation history collection unit 140 overwrites the operation “determination (malignant)” on the operation history of the element “P05” of the list “L01” as illustrated in FIG.
  • FIG. 11 is a diagram illustrating the relationship between the lists generated by the learning process in the first embodiment.
  • control unit 180 performs protection control based on the determination result (step S106).
  • control unit 180 instructs the terminal device 200 to stop the process given the determination result “malignant” as the protection control.
  • the control unit 180 may instruct the network device 210 to which the terminal device 200 is connected to block communication with a specific communication destination with which the process with the determination result “malignant” is communicated.
  • the control unit 180 may present a protection control method that can be executed to a process given the determination result “malignant” to the user, and may execute the protection control according to a response from the user.
  • the feature extraction unit 150 generates a feature vector for each element included in the operation history based on the operation history and the terminal log (step S107).
  • FIG. 12 is a diagram showing the configuration of the feature vector in the first embodiment.
  • the feature vector includes elements displayed before the K-1 (K is an integer equal to or greater than 1) step of the element for which the feature vector is generated to elements for which the feature vector is to be generated. , Generated based on the display history of the element.
  • element feature amounts of K elements included in the display history are set in the display order.
  • the feature vector may always include the element feature amount of the starting element (obtained by the first search).
  • the shortest distance from the starting element to the generating element Element feature quantities of elements on the path may be set.
  • the element feature amount is a feature amount related to the analysis target indicated by the element. As shown in FIG. 12, the element feature amount further includes “analysis target feature amount” and “list feature amount”.
  • the analysis target feature amount is a feature amount representing the operation and characteristics of the analysis target (process, file, registry, etc.) itself indicated by the element.
  • the list feature amount is a feature amount that represents the characteristics of the list including elements.
  • the analysis target feature amount may include the number of times the process is executed, the number of child processes, the process name of the own process or the parent process.
  • the child process may be a child process existing outside a predetermined directory.
  • the analysis target feature amount may include the number of accesses for each extension of the file accessed by the process, the number of accesses for each directory, and the like. Further, the analysis target feature quantity may include the number of accesses for each key of the registry accessed by the process. Further, the analysis target feature amount may include the number of communication destinations with which the process has communicated, the number of times of communication for each communication destination, and the like. In addition, the analysis target feature amount may include a number for each type of attack trace.
  • the analysis target feature amount may include a feature amount extracted from the file name, the number of accesses for each type of access to the file, a data size at the time of accessing the file, and the like.
  • the analysis target feature amount similarly includes a feature amount related to the registry.
  • the list feature amount includes a feature amount related to the relevance (relevance selected to display the list) selected by the operation “confirmation” for the element in the list displayed one step before displaying the list. May be.
  • the list feature amount may include a depth from the starting point of the list.
  • the list feature amount may include the number of elements in the list. Further, the list feature amount may include the number of appearances and the appearance frequency for each process name in the list.
  • the list feature quantity of the starting element element may include a feature quantity relating to the character string of the search condition used for searching for the element.
  • N-gram number of occurrences of a combination of N characters calculated for the search character string may be used as the feature amount.
  • the feature vector When the element feature quantity of the starting element is included in the feature vector, and each element feature quantity includes d (d is an integer of 1 or more) feature quantities, the feature vector is d ⁇ (K + 1) -dimensional. It becomes a vector.
  • FIG. 13 is a diagram illustrating an example of feature vectors generated by the learning process in the first embodiment.
  • f (Lxx, Pyy) indicates the element feature amount calculated for the element Pyy of the list Lxx.
  • the starting element, the element displayed one step before the element for which the feature vector is generated, and the feature amount of the element to be generated are set in the feature vector.
  • the element feature quantity of that step is “all zero” (the analysis target feature quantity included in the element feature quantity and all the feature quantities in the list feature quantity A value of 0) may be used.
  • the feature extraction unit 150 generates a feature vector as shown in FIG. 13 for each element included in the operation history based on the terminal logs of FIGS. 3 to 5 and the operation history of FIG.
  • the model generation unit 160 generates learning data based on the operation history and the feature vector (step S108).
  • the model generation unit 160 associates an operation performed on the element with a feature vector generated for the element, thereby obtaining learning data. Generate.
  • FIG. 14 is a diagram illustrating an example of learning data in the first embodiment.
  • model generation unit 160 generates learning data as shown in FIG. 14 based on the operation history of FIG. 7 and the feature vector of FIG.
  • the model generation unit 160 performs machine learning on the learning data to generate a model (step S109).
  • the model generation unit 160 stores the generated model in the model storage unit 161.
  • the model generation unit 160 may generate a regression model that outputs a numerical value of importance from a feature vector.
  • a neural network, a random forest, support vector regression, or the like is used as a learning algorithm.
  • the model generation unit 160 may generate a classification model that outputs a class of importance from a feature vector as a model.
  • a neural network, a random forest, a support vector machine, or the like is used as a learning algorithm.
  • the model generation unit 160 generates a regression model that outputs a numerical value of importance from a feature vector using the learning data of FIG.
  • the proposal process is a process for determining proposal information for an element using the model generated by the learning process and presenting it to the user.
  • the proposal process is performed, for example, in order to improve the search efficiency when searching by a user with insufficient knowledge and experience.
  • the proposal process may be performed at the time of search by a user other than a user with insufficient knowledge and experience.
  • a terminal log of a predetermined length is stored in the terminal log storage unit 111 as the terminal log, as in the case of the terminal logs of FIGS.
  • FIG. 15 is a flowchart showing the proposal processing in the first embodiment.
  • the accepting unit 120 accepts an instruction to execute an operation related to an element from the user (step S201).
  • the display unit 130 performs an operation according to the instruction (step S202).
  • the feature extraction unit 150 When the operation instructed to be executed by the user is “display” (step S203 / Y), the feature extraction unit 150 generates a feature vector for each element obtained by the search based on the operation history and the terminal log ( Step S204).
  • the suggestion unit 170 determines proposal information for each element obtained by the search using the feature vector and the model (step S205).
  • the proposing unit 170 calculates the importance by applying the feature vector generated in step S204 to the model stored in the model storage unit 161.
  • the proposal unit 170 outputs the calculated importance to the display unit 130.
  • the display unit 130 gives and displays the proposal information output from the proposal unit 170 on the screen representing the operation result (step S206).
  • the display unit 130 gives importance to each element included in the list.
  • the operation history collection unit 140 collects operation histories of executed operations (step S207).
  • the analysis apparatus 100 repeats the processes of steps S201 to S207 until the search is completed (step S208).
  • FIG. 16 is a diagram illustrating an example of an operation history generated in the proposal process according to the first embodiment.
  • FIGS. 17 and 18 are diagrams illustrating examples of screens generated by the proposal process in the first embodiment.
  • FIG. 19 is a diagram illustrating an example of feature vectors generated by the proposal process in the first embodiment.
  • the accepting unit 120 accepts an instruction to execute the operation “display” when the user inputs the first search condition “with communication”.
  • the display unit 130 extracts processes “P11”, “P12”, and “P13” that match the search condition “with communication” from the terminal log, and includes elements “P11”, “P12”, and “P13” indicating these processes. "L10" is generated.
  • the feature extraction unit 150 generates a feature vector for each of the elements “P11”, “P12”, and “P13” of the list “L10” as shown in FIG. 19 based on the terminal log.
  • the proposing unit 170 applies the feature vector of FIG. 19 to the model generated by the learning process, thereby changing the importance of the elements “P11”, “P12”, and “P13” of the list “L10”, for example, It is calculated as “50”, “10”, “40”.
  • the display unit 130 displays the screen of FIG. 17 including the list “L10” to which the calculated importance is assigned.
  • the operation history collection unit 140 registers the operation “display” in the operation history of the elements “P11”, “P12”, and “P13” of the list “L10” as illustrated in FIG.
  • the reception unit 120 performs the operation “for the element“ P11 ”to which the large importance is given in the list“ L10 ”by clicking the“ related ”label and selecting the relationship“ child process ”by the user.
  • An instruction to execute “display” is received.
  • the display unit 130 extracts child processes “P14” and “P15” of the process “P11” from the terminal log, and generates a list “L11” of the elements “P14” and “P15” indicating these child processes.
  • the feature extraction unit 150 generates a feature vector for each of the elements “P14” and “P15” of the list “L11” based on the terminal log and the operation history of FIG. 16 as shown in FIG.
  • the proposing unit 170 applies the feature vector of FIG. 19 to the model generated by the learning process, thereby changing the importance of the elements “P14” and “P15” to, for example, “30” and “40”, respectively. To calculate.
  • the display unit 130 displays the screen of FIG. 18 including the list “L11” to which the calculated importance is assigned.
  • the operation history collection unit 140 registers the child list ID “L11” and the relationship “child process” in the operation history of the element “P11” of the list “L10” as illustrated in FIG. Further, the operation history collection unit 140 registers the operation “display” in the operation history of the elements “P14” and “P15” of the list “L11”.
  • the importance may be represented by the color of the area of the element in the list, the size of the character, the shape, or the like.
  • elements may be arranged in order of importance.
  • display on the list may be omitted.
  • the user can grasp the element to be preferentially operated based on the importance assigned to the element, and therefore can efficiently search for a suspicious process.
  • control unit 180 performs protection control based on the determination result (step S209).
  • control unit 180 instructs the terminal device 200 to stop the process “P15”.
  • the terminal device 200 stops the process “P15”.
  • FIG. 20 is a block diagram showing a characteristic configuration of the first embodiment.
  • the analysis apparatus 100 includes a model generation unit 160 and a display unit 130.
  • the model generation unit 160 performs an operation to be performed on an element based on learning data including an operation performed on the displayed element (confirmation target) and a display history of the element until the element is displayed.
  • a model that outputs information is generated.
  • the display unit 130 displays elements and information related to operations to be performed on the elements obtained from the model.
  • model generation unit 160 generates a model that outputs the proposal information for the element, and the display unit 130 displays the element and the proposal information for the element obtained from the model.
  • the model generation unit 160 generates a model that outputs the importance level of the operation as the proposal information, and the display unit 130 displays the importance level of the operation of each element obtained from the model.
  • the model generation unit 160 generates a model based on learning data in which an operation performed on an element is associated with a feature amount related to an analysis target indicated by each element included in the display history. Because. In general, in threat hunting, the operations performed on the displayed elements are the characteristics related to the analysis target indicated by each element in the display history of the element (the characteristics of the analysis target and the relationship between the analysis target of the preceding and following elements). It is thought that it depends on. By using such feature quantities related to the analysis target indicated by each element in the display history as learning data, a model is generated in consideration of information focused on by the analyst. Therefore, appropriate proposal information can be presented by the generated model.
  • the second embodiment is different from the first embodiment in that “contents of operation” is output as proposal information.
  • “contents of operation” is output as proposal information.
  • the case where the content of the operation is “detailed information type” to be confirmed in the operation “confirmation” (hereinafter also referred to as “recommended type”) will be described as an example.
  • the block diagram showing the configuration of the analyzer 100 in the second embodiment is the same as that in the first embodiment (FIG. 1).
  • the operation history collection unit 140 further registers the type of detailed information selected by the user in the operation “confirmation” in the operation history similar to that of the first embodiment.
  • the model generation unit 160 generates learning data by associating the type of detailed information selected in the operation “confirmation” with the feature vector.
  • the model generation unit 160 generates a model that outputs a recommended type for an element as proposal information.
  • the suggestion unit 170 determines a recommended type for the element using the model, and outputs it to the display unit 130.
  • the display unit 130 displays the element in the screen with the recommended type output from the suggestion unit 170 added.
  • step S104 the operation history collection unit 140 registers the type of detailed information selected by the user in the operation “confirmation” in the operation history.
  • FIG. 21 is a diagram illustrating an example of an operation history generated in the learning process according to the second embodiment.
  • the display unit 130 includes detailed information regarding the communication of the process “P01”. Assume that screen (b) is displayed.
  • the operation history collection unit 140 overwrites the operation “confirmation” on the operation history of the element “P01” of the list “L00” and sets the type “communication” of the selected detailed information. Register the confirmation type.
  • the operation is similarly executed according to the instruction from the user, and the operation history is collected.
  • the operation history is registered as shown in FIG.
  • step S108 described above the model generation unit 160 associates the type of the selected detailed information with the feature vector for each element for which the operation “confirmation” included in the operation history is performed. Generate learning data.
  • FIG. 22 is a diagram illustrating an example of learning data according to the second embodiment.
  • model generation unit 160 generates learning data as shown in FIG. 22 based on the operation history of FIG. 21 and the feature vector of FIG.
  • step S109 described above the model generation unit 160 generates a classification model that outputs, for example, a recommended type from a feature vector, using the learning data in FIG.
  • the suggestion unit 170 determines the recommended type by applying the feature vector generated in step S204 to the model.
  • step S206 described above the display unit 130 displays each element included in the list with a recommended type.
  • FIG. 23 and FIG. 24 are diagrams showing examples of screens generated by the proposal process in the second embodiment.
  • the accepting unit 120 accepts an instruction to execute the operation “display” when the user inputs the first search condition “with communication”.
  • the display unit 130 extracts processes “P11”, “P12”, and “P13” that match the search condition “with communication” from the terminal log, and generates a list “L10”.
  • the feature extraction unit 150 generates a feature vector for each of the elements “P11”, “P12”, and “P13” of the list “L10” as shown in FIG. 19 based on the terminal log.
  • the proposing unit 170 applies the feature vector of FIG. 19 to the model generated by the learning process, thereby setting the recommended types of the elements “P11”, “P12”, and “P13” to “communication”, “ Decide like “File” and “Registry”.
  • the display unit 130 displays the screen (a) in FIG. 23 including the list “L10” in which the determined recommended type is assigned to the “detail” label.
  • the display unit 130 gives priority to the detailed information of the recommended type as shown in the screen (b) of FIG. 23 when the “detail” label is clicked. Or may be displayed with the recommended type highlighted. Further, the display unit 130 may perform the same display instead of assigning the recommended type to the “detail” label.
  • the reception unit 120 gives an instruction to execute the operation “display” on the element “P11” of the list “L10” by clicking the “relevant” label and selecting the relevance “child process”. Accept.
  • the display unit 130 extracts child processes “P14” and “P15” of the process “P11” from the terminal log, and generates a list “L11”.
  • the feature extraction unit 150 generates a feature vector for each of the elements “P14” and “P15” of the list “L11” based on the terminal log and the operation history as shown in FIG.
  • the suggestion unit 170 applies the feature vector of FIG. 19 to the model generated by the learning process, so that the recommended types of the elements “P14” and “P15” are, for example, “communication” and “file”, respectively. To calculate.
  • the display unit 130 displays the screen of FIG. 24 including the list “L11” in which the determined recommended type is assigned to the “detail” label.
  • the user can grasp the type of detailed information to be confirmed based on the recommended type assigned to the element, the user can efficiently search for a suspicious process.
  • the case where one recommended type is assigned to each element on the screen has been described as an example.
  • the present invention is not limited to this, and a plurality of recommended types may be assigned to each element.
  • the model generation unit 160 generates a binary classification model that determines whether or not to recommend the type.
  • the proposal unit 170 determines one or more recommended types for each element using the model.
  • the display unit 130 displays each element in the screen with one or more recommended types.
  • FIG. 25 and FIG. 26 are diagrams illustrating examples of other screens generated by the proposal process in the second embodiment.
  • both the importance level of the operation obtained by the first embodiment and the content of the operation obtained by the second embodiment may be output.
  • the content of the operation is the type of detailed information (recommended type) to be confirmed in the operation “confirmation”.
  • the present invention is not limited to this, and the content of the operation may be other than the recommended type, such as relevance with another analysis target to be searched in the operation “display” (hereinafter also referred to as “recommended relevance”).
  • the model generation unit 160 generates learning data by associating the relationship selected in the operation “display” with the feature vector.
  • the model generation unit 160 generates a model that outputs recommended relevance to the element as proposal information.
  • the suggestion unit 170 determines a recommended relevance for the element using the model, and outputs it to the display unit 130. Then, as shown in FIG. 26, the display unit 130 displays the “relevant” label of the element on the screen with a recommended relevance.
  • the display unit 130 may emphasize and display the recommended relevance on the screen displayed when the “relevant” label is clicked.
  • the model generation unit 160 generates a model that outputs the operation content as proposal information, and the display unit 130 displays the operation content of each element obtained from the model.

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Debugging And Monitoring (AREA)

Abstract

脅威ハンティングにおける探索を効率的に行う。 分析装置100は、モデル生成部160、及び、表示部130を含む。モデル生成部160は、表示された要素に対して行われた操作と、当該要素が表示されるまでの要素の表示履歴と、を含む学習データに基づいて、要素に対して行うべき操作に関する情報を出力するモデルを生成する。表示部130は、要素と、モデルにより得られる当該要素に対して行うべき操作に関する情報と、を表示する。

Description

分析装置、分析方法、及び、記録媒体
 本発明は、分析装置、分析方法、及び、記録媒体に関する。
 情報セキュリティにおけるマルウェア等の脅威に対する対策として、複数の対策を多層で行う多層防御によるセキュリティ対策が浸透しつつある。しかしながら、新しい攻撃に対してセキュリティ機器が対応できていない場合、脅威に侵入されてしまうことがある。一旦、脅威による侵入を受けてしまうと、脅威の発見や脅威に対する対処までに時間がかかることが多い。そのため、企業等のネットワーク内に侵入し、潜伏している脅威を発見する、脅威ハンティングが重要になっている
 脅威ハンティングでは、分析者が、分析装置を用いて、サーバ装置や端末装置等のエンドポイントで収集されたイベント情報に基づき、エンドポイントで動作する不審なプログラム(脅威の可能性があるプログラム)を検出する。例えば、分析者は、イベント情報から、プログラムやプログラムがアクセスしたファイル、レジストリ等を検索し、検索結果に関する様々な情報を確認するといった操作を繰り返すことで、不審なプログラムを探索する。分析者は、エンドポイントで収集される膨大なイベント情報に対して、このような探索を効率的に行うことが求められる。また、このような探索には、分析の知識や経験が影響し、知識や経験が不十分なユーザであっても、探索を効率的に行うことが求められる。
 探索における操作の効率化に関連する技術が、例えば、特許文献1に開示されている。特許文献1に記載された機械学習器は、メニュー項目の操作履歴に基づいてメニュー項目の表示を学習し、学習結果に基づいてメニュー項目の位置や順番を決定する。
特開2017-138881号公報
 上述の特許文献1に記載された技術では、メニュー項目の位置や順番は決定されるが、優先的に操作すべきメニュー項目等、メニュー項目に対して行うべき操作に関する情報を提示するものではない。このため、特許文献1に記載された技術を脅威ハンティングに適用しても、膨大なイベント情報に対する探索を効率的に行うことはできない。
 本発明の目的は、上述の課題を解決し、脅威ハンティングにおける探索を効率的に行うための分析装置、分析方法、及び、記録媒体を提供することである。
 本発明の一態様における分析装置は、表示された確認対象に対して行われた操作と、当該確認対象が表示されるまでの確認対象の表示履歴と、を含む学習データに基づいて、確認対象に対して行うべき操作に関する情報を出力するモデルを生成するモデル生成手段と、確認対象と、前記モデルにより得られる当該確認対象に対して行うべき操作に関する情報と、を表示する、表示手段と、を備える。
 本発明の一態様における分析方法は、表示された確認対象に対して行われた操作と、当該確認対象が表示されるまでの確認対象の表示履歴と、を含む学習データに基づいて、確認対象に対して行うべき操作に関する情報を出力するモデルを生成し、確認対象と、前記モデルにより得られる当該確認対象に対して行うべき操作に関する情報と、を表示する。
 本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、コンピュータに、表示された確認対象に対して行われた操作と、当該確認対象が表示されるまでの確認対象の表示履歴と、を含む学習データに基づいて、確認対象に対して行うべき操作に関する情報を出力するモデルを生成し、確認対象と、前記モデルにより得られる当該確認対象に対して行うべき操作に関する情報と、を表示する、処理を実行させるプログラムを記憶する。
 本発明の効果は、脅威ハンティングにおける探索を効率的に行えることである。
第1の実施形態における、分析装置100の構成を示すブロック図である。 第1の実施形態における、コンピュータに実装された分析装置100の構成を示すブロック図である。 第1の実施形態における、端末ログの例を示す図である。 第1の実施形態における、端末ログの他の例を示す図である。 第1の実施形態における、端末ログの他の例を示す図である。 第1の実施形態における、学習処理を示すフローチャートである。 第1の実施形態における、学習処理で生成される操作履歴の例を示す図である。 第1の実施形態における、学習処理で生成される画面の例を示す図である。 第1の実施形態における、学習処理で生成される画面の他の例を示す図である。 第1の実施形態における、学習処理で生成される画面の他の例を示す図である。 第1の実施形態における、学習処理で生成されるリスト間の関係を表す図である。 第1の実施形態における、特徴ベクトルの構成を示す図である。 第1の実施形態における、学習処理で生成される特徴ベクトルの例を示す図である。 第1の実施形態における、学習データの例を示す図である。 第1の実施形態における、提案処理を示すフローチャートである。 第1の実施形態における、提案処理で生成される操作履歴の例を示す図である。 第1の実施形態における、提案処理で生成される画面の例を示す図である。 第1の実施形態における、提案処理で生成される画面の他の例を示す図である。 第1の実施形態における、提案処理で生成される特徴ベクトルの例を示す図である。 第1の実施形態の特徴的な構成を示すブロック図である。 第2の実施形態における、学習処理で生成される操作履歴の例を示す図である。 第2の実施形態における、学習データの例を示す図である。 第2の実施形態における、提案処理で生成される画面の例を示す図である。 第2の実施形態における、提案処理で生成される画面の他の例を示す図である。 第2の実施形態における、提案処理で生成される画面の他の例を示す図である。 第2の実施形態における、提案処理で生成される画面の他の例を示す図である。
 発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面、及び、明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
 <<第1の実施形態>>
 はじめに、第1の実施の形態の構成について説明する。
 図1は、第1の実施形態における、分析装置100の構成を示すブロック図である。
 図1を参照すると、第1の実施形態の分析装置100は、端末装置200と、ネットワーク等により接続される。
 分析装置100は、脅威ハンティングにおいて、分析者等のユーザによる、端末ログを用いた不審なプログラム(脅威の可能性があるプログラム)の探索を支援する。以下、プログラムの実行単位がプロセスである場合を例に説明するが、プログラムの実行単位は、タスクやジョブ等でもよい。端末ログは、端末装置200上で動作するプロセスや、プロセスがアクセスするファイル、レジストリ等の分析対象に関するイベントを示すログ(イベントログ)である。
 分析装置100は、分析対象を示す情報である要素を表示する。要素は、脅威ハンティングにおいて、ユーザが確認する対象である。以下、要素を、「確認対象」とも記載する。要素は、分析対象の識別子(ID(Identifier))を含む。
 分析装置100は、ユーザからの指示に従って、表示されている要素に対する操作を行い、その結果をユーザに表示する。ここで操作は、端末ログからの、要素が示す分析対象の詳細情報の抽出や、要素が示す分析対象に関連する他の分析対象の検索を含む。また、操作は、要素が示す分析対象に対する、分析結果(不審な分析対象であるかどうかの判定結果)の付与を含む。
 分析装置100は、要素に対して行うべき操作に関する情報を、ユーザに提示する。以下、要素に対して行うべき操作に関する情報を「提案情報」とも記載する。第1の実施形態では、提案情報として、「操作の重要度」を出力する。
 端末装置200は、脅威ハンティングにおけるエンドポイントに相当する。端末装置200は、例えば、パーソナルコンピュータや、モバイル端末、サーバ装置等、ネットワークに接続されたコンピュータである。端末装置200は、企業のイントラネット等、プライベートなネットワークに接続されていてもよい。この場合、端末装置200は、図1に示すように、ファイヤーウォール等のネットワーク装置210を介して、インターネット等の公共のネットワークにアクセス可能であってもよい。また、端末装置200は、インターネット等の公共のネットワークに接続されていてもよい。
 端末装置200は、分析対象に関するイベントを監視し、イベントの情報を端末ログとして分析装置100に送信する。なお、端末装置200は、端末ログを、直接、分析装置100に送信する代わりに、ログ収集装置(図示せず)等を介して、分析装置100に送信してもよい。
 分析装置100は、端末ログ収集部110、受付部120、表示部130、操作履歴収集部140、特徴抽出部150、モデル生成部160、提案部170、及び、制御部180を含む。さらに、分析装置100は、端末ログ記憶部111、操作履歴記憶部141、及び、モデル記憶部161を含む。
 端末ログ収集部110は、端末装置200から、端末ログを収集する。
 端末ログ記憶部111は、端末ログ収集部110により収集された端末ログを記憶する。
 受付部120は、ユーザから、要素に関する操作の実行指示を受け付ける。
 表示部130は、ユーザから指示された操作を実行し、その結果を含む画面を生成し、表示する。表示部130は、画面中の要素に、提案部170から出力された提案情報を付与して表示する。ここで、表示部130は、提案情報として、操作の重要度を付与する。
 操作履歴収集部140は、要素に対する操作の履歴(以下、操作履歴とも記載する)を収集する。
 操作履歴記憶部141は、操作履歴収集部140により収集された操作履歴を記憶する。
 特徴抽出部150は、操作履歴と端末ログとに基づき、操作履歴に含まれる要素の各々について、特徴ベクトルを生成する。特徴ベクトルは、要素が表示されるまでの要素の表示履歴における、各要素が示す分析対象に関する特徴量を含む。
 モデル生成部160は、操作履歴と特徴ベクトルとに基づき、学習データを生成する。モデル生成部160は、生成した学習データに対して、機械学習を行うことにより、要素に対する提案情報を出力するモデルを生成する。ここで、モデル生成部160は、提案情報として操作の重要度を算出するモデルを生成する。
 モデル記憶部161は、モデル生成部160によって生成されたモデルを記憶する。
 提案部170は、モデルを用いて、要素に対する提案情報を決定し、表示部130へ出力する。ここで、提案部170は、提案情報として、操作の重要度を算出する。
 制御部180は、端末装置200やネットワーク装置210に対するプロテクション制御を行う。
 なお、分析装置100は、CPU(Central Processing Unit)とプログラムを格納した記録媒体とを含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
 図2は、第1の実施形態における、コンピュータに実装された分析装置100の構成を示すブロック図である。
 図2を参照すると、分析装置100は、CPU101、記憶デバイス102(記録媒体)、入出力デバイス103、及び、通信デバイス104を含む。CPU101は、端末ログ収集部110、受付部120、表示部130、操作履歴収集部140、特徴抽出部150、モデル生成部160、提案部170、及び、制御部180を実装するためのプログラムの命令(Instruction)を実行する。記憶デバイス102は、例えば、ハードディスクやメモリ等であり、端末ログ記憶部111、操作履歴記憶部141、及び、モデル記憶部161のデータを記憶する。入出力デバイス103は、例えば、キーボード、ディスプレイ等であり、ユーザ等へ、表示部130により生成された画面を出力する。また、入出力デバイス103は、ユーザ等から、要素に関する操作の入力を受け付ける。通信デバイス104は、端末装置200から端末ログを受信する。また、通信デバイス104は、端末装置200やネットワーク装置210に、制御部180によるプロテクション制御のための指示を送信する。
 なお、分析装置100の各構成要素の一部または全部は、汎用または専用の回路(circuitry)やプロセッサ、これらの組み合わせで実装されてもよい。これらの回路やプロセッサは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、各構成要素の一部、または、全部は、上述した回路等とプログラムとの組み合わせで実装されてもよい。また、各構成要素の一部、または、全部が、複数の情報処理装置や回路等で実装される場合、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態で実装されてもよい。
 次に、第1の実施形態における分析装置100の動作を説明する。
 <学習処理>
 はじめに、分析装置100による学習処理について説明する。学習処理は、探索時に生成された操作履歴に基づき、提案情報を出力するモデルを生成する処理である。学習処理は、例えば、知識や経験が豊富なユーザによる探索時に行われる。
 ここでは、端末ログ収集部110により端末装置200から収集された、所定長の期間の端末ログが、予め、端末ログ記憶部111に記憶されていると仮定する。
 端末装置200は、端末装置200上の分析対象(プロセスや、ファイル、レジストリ等)に関するイベントを監視している。例えば、端末装置200上で動作するOS(Operating System)がWindows(登録商標)の場合、端末装置200はイベントとして、プロセスの起動や終了、プロセスハンドルの取得、リモートスレッドの作成等を監視する。さらに、端末装置200は、イベントとして、プロセスによる他の装置との通信や、プロセス間通信、ファイルやレジストリへのアクセス、攻撃痕跡(Indicators of Attack)等を監視してもよい。ここで、プロセス間通信は、例えば、名前付きパイプやソケット、ウィンドウメッセージ、共有メモリ等を介して、プロセス間で行われる通信である。また、攻撃痕跡は、例えば、外部の特定の通信先との通信や、特定のプロセスの起動、特定のプロセスのファイルへのアクセス、特定のプロセスを自動実行するための情報生成等、脅威による攻撃の可能性があるイベントである。OSがWindows以外の場合でも、端末装置200は、プロセスやタスク、ジョブ等の実行単位について、同様のイベントを監視する。
 図3、図4、及び、図5は、第1の実施形態における、端末ログの例を示す図である。
 図3は、プロセスの起動/終了に関するログの例である。図3の例では、ログとして、プロセスの起動時刻と終了時刻、当該プロセスのプロセスIDとプロセス名、及び、当該プロセスを起動した親プロセスのプロセスID(親プロセスID)が登録されている。
 図4は、リモートスレッドの作成に関するログの例である。図4の例では、ログとして、リモートスレッドの作成時刻、当該リモートスレッドの作成元プロセスのプロセスID(作成元プロセスID)と作成先プロセスのプロセスID(作成先プロセスID)が登録されている。なお、プロセスハンドルの取得についても、同様に、プロセスハンドルの取得時刻、当該プロセスハンドルの取得元プロセスのプロセスIDと取得先プロセスのプロセスIDが登録される。
 図5は、通信に関するログの例である。図5の例では、ログとして、プロセスによる通信の開始時刻と終了時刻、当該プロセスのプロセスID、及び、通信先を示すIP(Internet Protocol)アドレスが登録されている。
 例えば、端末ログとして、図3~図5のような端末ログが、端末ログ記憶部111に記憶されていると仮定する。
 なお、同じプロセス名の複数のプロセス(プロセスIDが異なるインスタンス)が起動できる場合は、インスタンス毎に、異なるプロセスとして識別される。
 図6は、第1の実施形態における、学習処理を示すフローチャートである。
 学習処理では、ユーザによる探索時に、以下のステップS101~S105の処理が行われる。
 受付部120は、ユーザから、要素に関する操作の実行指示を受け付ける(ステップS101)。
 表示部130は、指示に従って操作を実行する(ステップS102)。
 表示部130は、操作の結果を表す画面を生成し、表示する(ステップS103)。
 操作履歴収集部140は、実行された操作の操作履歴を収集する(ステップS104)。操作履歴収集部140は、収集した操作履歴を操作履歴記憶部141に保存する。なお、同じ要素に複数回の操作が実行された場合、操作履歴収集部140は、後に実行された操作で操作履歴を上書きする。
 分析装置100は、探索が終了するまで、ステップS101~S104の処理を繰り返す(ステップS105)。探索の終了は、例えば、ユーザにより指示される。
 以下、ステップS101~S105の具体例を説明する。
 ここでは、要素に関する操作として、「表示」、「確認」、「判定(良性)」、及び、「判定(悪性)」を定義する。
 操作「表示」は、端末ログから、検索条件に合致した分析対象を検索し、それらを示す要素のリストを表示することである。検索条件は、文字列か、表示されている要素が示す分析対象に対する関連性により指定される。
 操作「確認」は、端末ログから、表示されている要素が示す分析対象の詳細情報を抽出し、表示することである。
 操作「判定(良性)」は、表示されている要素が示す分析対象に、判定結果「良性」を付与することを示す。ここで、判定結果が「良性」とは、分析対象が不審ではないと判定されたことを示す。
 操作「判定(悪性)」は、表示されている要素が示す分析対象に、判定結果「悪性」を付与することを示す。ここで、判定結果が「悪性」とは、分析対象が不審であると判定されたことを示す。
 図7は、第1の実施形態における、学習処理で生成される操作履歴の例を示す図である。
 図7の例では、操作履歴として、リストのID(リストID)、当該リスト中の要素のID(要素ID)、及び、当該要素に対して実行された操作が関係付けられている。ここで、要素IDには、例えば、当該要素が示す分析対象のID(プロセスIDやファイルID、レジストリID等)が用いられる。さらに、操作「表示」における検索が行われた要素については、検索により得られた要素のリストのID(子リストID)、及び、子リストとの関連性(関連性)が関係付けられている。なお、操作とともに示されている矢印は、矢印の右側の操作により、左側の操作が上書きされたことを示す。
 図8、図9、及び、図10は、第1の実施形態における、学習処理で生成される画面の例を示す図である。
 例えば、受付部120は、ユーザによる最初の検索条件「通信あり」の入力により、操作「表示」の実行指示を受け付ける。表示部130は、図5の端末ログから、検索条件「通信あり」に合致するプロセス「P01」、「P02」、「P03」を抽出する。表示部130は、これらのプロセスを示す要素「P01」、「P02」、「P03」のリスト「L00」を含む、図8の画面(a)を表示する。
 ここで、ユーザにより最初に入力される検索条件として、「通信あり」以外に、例えば、通信先のプロセス名(あるプロセスと通信したプロセスを検索する場合)、アクセス先のファイル名やレジストリ名(あるファイルやレジストリにアクセスしたプロセスを検索する場合)等が用いられる。
 操作履歴収集部140は、図7のように、リスト「L00」の要素「P01」、「P02」、「P03」の操作履歴として、操作「表示」を登録する。
 また、例えば、受付部120は、ユーザによる、リスト「L00」における要素「P01」の「詳細」ラベルのクリック、及び、タグ「通信」の選択により、操作「確認」の実行指示を受け付ける。表示部130は、図5の端末ログから、プロセス「P01」の通信に関する詳細情報を抽出する。表示部130は、プロセス「P01」の通信に関する詳細情報を含む、図8の画面(b)を表示する。
 ここで、抽出する詳細情報の種別として、通信以外に、例えば、ファイルやレジストリが用いられる。
 操作履歴収集部140は、図7のように、リスト「L00」の要素「P01」の操作履歴に、操作「確認」を上書きする。
 また、例えば、受付部120は、ユーザによる、リスト「L00」における要素「P01」の「関連」ラベルのクリック、及び、関連性「子プロセス」の選択により、操作「表示」の実行指示を受け付ける。表示部130は、図3の端末ログから、プロセス「P01」の子プロセス「P04」、「P05」を抽出する。表示部130は、図9の画面(a)に続いて、これらの子プロセスを示す要素「P04」、「P05」のリスト「L01」を含む、図9の画面(b)を表示する。
 ここで、関連性としては、例えば、プロセス間の関連性や、プロセスとファイル間の関連性、プロセスとレジストリ間の関連性が用いられる。
 プロセス間の関連性としては、例えば、プロセスの親子関係(親プロセス、子プロセス)や、プロセスハンドルの取得関係(取得先プロセス、取得元プロセス)、リモートスレッドの作成関係(作成先プロセス、作成元プロセス)等が用いられる。ここで、親プロセス、子プロセスの代わりに、それぞれ、祖先プロセスや孫プロセスが用いられてもよい。また、プロセス間の関連性として、動作時間の重複(重複プロセス)や、プロセス間通信(相手先プロセス)、同名プロセス(同じプロセス名のインスタンス)が用いられてもよい。
 また、プロセスとファイル間の関連性としては、アクセス関係(プロセスがアクセスしたファイル、ファイルにアクセスしたプロセス)が用いられる。この場合、関連性の選択の結果、プロセスがアクセスしたファイルや、ファイルにアクセスしたプロセスが検索され、表示される。
 同様に、プロセスとレジストリ間の関連性としては、アクセス関係(プロセスがアクセスしたレジストリ、レジストリにアクセスしたプロセス)が用いられる。この場合、関連性の選択の結果、プロセスがアクセスしたレジストリや、レジストリにアクセスしたプロセスが検索され、表示される。
 操作履歴収集部140は、図7のように、リスト「L00」の要素「P01」の操作履歴に、子リストID「L01」、関連性「子プロセス」を登録する。また、操作履歴収集部140は、リスト「L01」の要素「P04」、「P05」の操作履歴として、操作「表示」を登録する。
 また、例えば、受付部120は、ユーザによる、リスト「L01」における要素「P05」の「判定」ラベルをクリック、及び、判定結果「悪性」の選択により、操作「判定(悪性)」の実行指示を受け付ける。表示部130は、プロセス「P05」に判定結果「悪性」を付与する。表示部130は、図10の画面(a)に続いて、当該プロセスを示す要素「P05」に判定結果「悪性」を付与した、図10の画面(b)を表示する。
 操作履歴収集部140は、図7のように、リスト「L01」の要素「P05」の操作履歴に、操作「判定(悪性)」を上書きする。
 図11は、第1の実施形態における、学習処理で生成されるリスト間の関係を表す図である。
 以降、探索が終了するまで、同様に、ユーザからの指示に従って操作が実行され、操作履歴が収集される。この結果、例えば、図11のようにリストが表示され、図7のように操作履歴が登録される。
 次に、制御部180は、判定結果に基づき、プロテクション制御を実行する(ステップS106)。
 ここで、制御部180は、プロテクション制御として、例えば、端末装置200に対して、判定結果「悪性」が付与されたプロセスの停止を指示する。また、制御部180は、端末装置200が接続されたネットワーク装置210に対して、判定結果「悪性」が付与されたプロセスが通信する特定の通信先との通信の遮断を指示してもよい。また、制御部180は、判定結果「悪性」が付与されたプロセスに対して実行可能なプロテクション制御の方法をユーザに提示し、ユーザからの応答に従ってプロテクション制御を実行してもよい。
 次に、特徴抽出部150は、操作履歴と端末ログとに基づき、操作履歴に含まれる要素の各々について、特徴ベクトルを生成する(ステップS107)。
 図12は、第1の実施形態における、特徴ベクトルの構成を示す図である。図12に示すように、特徴ベクトルは、当該特徴ベクトルの生成対象の要素のK-1(Kは1以上の整数)ステップ前に表示された要素から、当該特徴ベクトルの生成対象の要素までの、要素の表示履歴に基づき生成される。特徴ベクトルには、当該表示履歴に含まれるK個の要素の要素特徴量が、表示された順番に設定される。なお、特徴ベクトルには、起点の(最初の検索で得られた)要素の要素特徴量が、常に含まれていてもよい。また、起点の要素から特徴ベクトルの生成対象の要素に至るまでに、前の要素の表示に戻るような操作が行われた場合であっても、起点の要素から当該生成対象の要素までの最短パス上の要素の要素特徴量が設定されていてもよい。
 要素特徴量は、要素が示す分析対象に関する特徴量である。図12に示すように、要素特徴量は、さらに、「分析対象特徴量」と、「リスト特徴量」と、を含む。分析対象特徴量は、要素が示す分析対象(プロセスやファイル、レジストリ等)自体の動作や特性を表す特徴量である。リスト特徴量は、要素を含むリストの特性を表す特徴量である。
 分析対象がプロセスの場合、分析対象特徴量は、プロセスの実行回数や子プロセスの数、自プロセスや親プロセスのプロセス名を含んでいてもよい。ここで、子プロセスは、所定のディレクトリ以外に存在する子プロセスでもよい。また、分析対象特徴量は、プロセスがアクセスしたファイルの拡張子毎のアクセス回数や、ディレクトリ毎のアクセス回数等を含んでいてもよい。また、分析対象特徴量は、プロセスがアクセスしたレジストリのキー毎のアクセス回数を含んでいてもよい。また、分析対象特徴量は、プロセスが通信を行った通信先の数や、通信先毎の通信回数等を含んでいてもよい。また、分析対象特徴量は、攻撃痕跡の種別毎の数を含んでいてもよい。
 分析対象がファイルの場合、分析対象特徴量は、ファイル名から抽出される特徴量や、ファイルへのアクセス種別毎のアクセス回数、ファイルへのアクセス時におけるデータサイズ等を含んでいてもよい。
 要素がレジストリの場合も、分析対象特徴量は、同様に、レジストリに関する特徴量を含む。
 リスト特徴量は、リストを表示する1ステップ前に表示されたリスト内の要素に対する操作「確認」で選択された関連性(リストを表示するために選択された関連性)に関する特徴量を含んでいてもよい。また、リスト特徴量は、リストの起点からの深さを含んでいてもよい。また、リスト特徴量は、リスト中の要素数を含んでいてもよい。また、リスト特徴量は、リスト中のプロセス名毎の出現数や出現頻度を含んでいてもよい。
 また、起点の要素のリスト特徴量は、要素を検索するために用いた検索条件の文字列に関する特徴量を含んでいてもよい。この場合、特徴量として、検索文字列に対して算出されるN-gram(N文字の組み合わせの出現数)が用いられてもよい。
 特徴ベクトルに起点の要素の要素特徴量を含める場合であって、各要素特徴量がd(dは1以上の整数)個の特徴量を含む場合、特徴ベクトルは、d×(K+1)次元のベクトルとなる。
 図13は、第1の実施形態における、学習処理で生成される特徴ベクトルの例を示す図である。
 図13において、f(Lxx,Pyy)は、リストLxxの要素Pyyについて算出された要素特徴量を示す。図13の例では、特徴ベクトルに、起点の要素、当該特徴ベクトルの生成対象の要素の1ステップ前に表示された要素、及び、当該生成対象の要素の特徴量が設定されている。なお、あるステップで表示された要素が無い場合には、当該ステップの要素特徴量として「all zero」(要素特徴量に含まれる分析対象特徴量、及び、リスト特徴量内の全ての特徴量の値が0)が用いられてもよい。
 例えば、特徴抽出部150は、図3~図5の端末ログと図7の操作履歴に基づき、操作履歴に含まれる各要素について、図13のように特徴ベクトルを生成する。
 次に、モデル生成部160は、操作履歴と特徴ベクトルとに基づき、学習データを生成する(ステップS108)。ここで、モデル生成部160は、操作履歴に含まれる各要素について、当該要素に対して行われた操作と、当該要素に対して生成された特徴ベクトルと、を関係付けることにより、学習データを生成する。
 図14は、第1の実施形態における、学習データの例を示す図である。
 例えば、モデル生成部160は、図7の操作履歴と図13の特徴ベクトルとに基づき、図14のように学習データを生成する。
 次に、モデル生成部160は、学習データに対して機械学習を行い、モデルを生成する(ステップS109)。モデル生成部160は、生成したモデルをモデル記憶部161に保存する。
 ここで、モデル生成部160は、モデルとして、例えば、特徴ベクトルから重要度の数値を出力する回帰モデルを生成してもよい。この場合、操作は、その重要度に応じた数値(例えば、判定(悪性)=100、確認=50、表示=20、判定(良性)=0)に変換され、学習に用いられる。また、この場合、学習アルゴリズムとして、例えば、ニューラルネットワーク、ランダムフォレスト、サポートベクター回帰等が用いられる。
 また、モデル生成部160は、モデルとして、特徴ベクトルから重要度のクラスを出力する分類モデルを生成してもよい。この場合、操作は、その重要度に応じたクラス(例えば、判定(悪性)=A、確認=B、表示=C、判定(良性)=D)に変換され、学習に用いられる。また、この場合、学習アルゴリズムとして、例えば、ニューラルネットワーク、ランダムフォレスト、サポートベクターマシン等が用いられる。
 例えば、モデル生成部160は、図14の学習データを用いて、特徴ベクトルから重要度の数値を出力する回帰モデルを生成する。
 <提案処理>
 次に、分析装置100による提案処理について説明する。提案処理は、学習処理により生成されたモデルを用いて、要素に対する提案情報を決定し、ユーザに提示する処理である。提案処理は、例えば、知識や経験が不十分なユーザによる探索時に、探索を効率化するために行われる。また、提案処理は、知識や経験が不十分なユーザ以外のユーザによる探索時に行われてもよい。
 ここでは、端末ログとして、図3~図5の端末ログと同様に、所定長の期間の端末ログが、端末ログ記憶部111に記憶されていると仮定する。
 図15は、第1の実施形態における、提案処理を示すフローチャートである。
 提案処理では、ユーザによる探索時に、以下のステップS201~S208の処理が行われる。
 受付部120は、ユーザから、要素に関する操作の実行指示を受け付ける(ステップS201)。
 表示部130は、指示に従って操作を実行する(ステップS202)。
 特徴抽出部150は、ユーザから実行指示された操作が「表示」の場合(ステップS203/Y)、操作履歴と端末ログとに基づき、検索により得られた各要素について、特徴ベクトルを生成する(ステップS204)。
 提案部170は、特徴ベクトルとモデルを用いて、検索により得られた各要素について、提案情報を決定する(ステップS205)。ここで、提案部170は、モデル記憶部161に記憶されたモデルに、ステップS204で生成した特徴ベクトルを適用することにより、重要度を算出する。提案部170は、表示部130に、算出した重要度を出力する。
 表示部130は、操作の結果を表す画面に、提案部170から出力された提案情報を付与し、表示する(ステップS206)。ここで、表示部130は、リストに含まれる要素の各々に、重要度を付与する。
 操作履歴収集部140は、実行された操作の操作履歴を収集する(ステップS207)。
 分析装置100は、探索が終了するまで、ステップS201~S207の処理を繰り返す(ステップS208)。
 以下、探索における、ステップS201~S208の具体例を説明する。
 図16は、第1の実施形態における、提案処理で生成される操作履歴の例を示す図である。また、図17、及び、図18は、第1の実施形態における、提案処理で生成される画面の例を示す図である。また、図19は、第1の実施形態における、提案処理で生成される特徴ベクトルの例を示す図である。
 例えば、受付部120は、ユーザによる最初の検索条件「通信あり」の入力により、操作「表示」の実行指示を受け付ける。表示部130は、端末ログから、検索条件「通信あり」に合致するプロセス「P11」、「P12」、「P13」を抽出し、これらのプロセスを示す要素「P11」、「P12」、「P13」のリスト「L10」を生成する。
 特徴抽出部150は、リスト「L10」の要素「P11」、「P12」、「P13」の各々について、端末ログに基づき、図19のように特徴ベクトルを生成する。
 提案部170は、学習処理により生成されたモデルに、図19の特徴ベクトルを適用することにより、リスト「L10」の要素「P11」、「P12」、「P13」の重要度を、それぞれ、例えば「50」、「10」、「40」のように算出する。
 表示部130は、算出した重要度が付与されたリスト「L10」を含む、図17の画面を表示する。
 操作履歴収集部140は、図16のように、リスト「L10」の要素「P11」、「P12」、「P13」の操作履歴に、操作「表示」を登録する。
 また、例えば、受付部120は、リスト「L10」において大きな重要度が付与された要素「P11」について、ユーザによる「関連」ラベルのクリック、及び、関連性「子プロセス」の選択により、操作「表示」の実行指示を受け付ける。表示部130は、端末ログから、プロセス「P11」の子プロセス「P14」、「P15」を抽出し、これらの子プロセスを示す要素「P14」、「P15」のリスト「L11」を生成する。
 特徴抽出部150は、リスト「L11」の要素「P14」、「P15」の各々について、端末ログと図16の操作履歴とに基づき、図19のように特徴ベクトルを生成する。
 提案部170は、学習処理により生成されたモデルに、図19の特徴ベクトルを適用することにより、要素「P14」、「P15」の重要度を、それぞれ、例えば「30」、「40」のように算出する。
 表示部130は、算出した重要度が付与されたリスト「L11」を含む、図18の画面を表示する。
 操作履歴収集部140は、図16のように、リスト「L10」の要素「P11」の操作履歴に、子リストID「L11」、関連性「子プロセス」を登録する。また、操作履歴収集部140は、リスト「L11」の要素「P14」、「P15」の操作履歴に、操作「表示」を登録する。
 なお、重要度の違いが識別できれば、重要度は、リストにおける要素の領域の色や文字の大きさ、形状等により表されてもよい。また、リストにおいて、要素が重要度の大きい順番に配置されてもよい。また、重要度が所定の閾値以下の要素については、リストへの表示が省略されてもよい。
 以降、探索が終了するまで、同様に、ユーザからの指示に従って操作が実行される。
 ユーザは、要素に付与された重要度により、優先的に操作すべき要素を把握できるため、不審なプロセスの探索を効率的に実行できる。
 次に、制御部180は、判定結果に基づき、プロテクション制御を実行する(ステップS209)。
 例えば、プロセス「P15」に判定結果「悪性」が付与された場合、制御部180は、端末装置200にプロセス「P15」の停止を指示する。端末装置200はプロセス「P15」を停止する。
 以上により、第1の実施形態の動作が完了する。
 次に、第1の実施形態の特徴的な構成について説明する。
 図20は、第1の実施形態の特徴的な構成を示すブロック図である。
 図20を参照すると、分析装置100は、モデル生成部160、及び、表示部130を含む。モデル生成部160は、表示された要素(確認対象)に対して行われた操作と当該要素が表示されるまでの要素の表示履歴とを含む学習データに基づいて、要素に対して行うべき操作に関する情報(提案情報)を出力するモデルを生成する。表示部130は、要素と、モデルにより得られる当該要素に対して行うべき操作に関する情報と、を表示する。
 次に、第1の実施形態の効果について説明する。
 第1の実施形態によれば、脅威ハンティングにおける探索を効率的に行うことができる。その理由は、モデル生成部160が、要素に対する提案情報を出力するモデルを生成し、表示部130が、要素と、モデルにより得られる要素に対する提案情報と、を表示するためである。
 また、第1の実施形態によれば、脅威ハンティングにおいて、ユーザが、優先的に操作すべき要素を容易に把握できる。その理由は、モデル生成部160が、提案情報として操作の重要度を出力するモデルを生成し、表示部130が、モデルにより得られる各要素の操作の重要度を表示するためである。
 また、第1の実施形態によれば、脅威ハンティングにおいて、分析者が着目する情報を反映した適切な提案情報を提示できる。その理由は、モデル生成部160が、要素に対して行われた操作と、表示履歴に含まれる各要素が示す分析対象に関する特徴量と、を関係付けた学習データに基づいて、モデルを生成するためである。一般に、脅威ハンティングでは、表示された要素に対して行われる操作は、要素の表示履歴における、各要素が示す分析対象に関する特徴(分析対象の特性や、前後の要素の分析対象間の関連性)に依存すると考えられる。このような、表示履歴中の各要素が示す分析対象に関する特徴量を学習データとして用いることにより、分析者が着目する情報を考慮したモデルが生成される。したがって、生成されたモデルにより適切な提案情報を提示できる。
 <<第2の実施形態>>
 次に、第2の実施形態について説明する。
 第2の実施形態では、提案情報として、「操作の内容」を出力する点で、第1の実施形態と異なる。以下、操作の内容が、操作「確認」において確認すべき「詳細情報の種別」(以下、「推奨種別」とも記載する)である場合を例に説明する。
 はじめに、第2の実施の形態の構成について説明する。
 第2の実施形態における、分析装置100の構成を示すブロック図は、第1の実施形態(図1)と同様である。
 操作履歴収集部140は、第1の実施形態と同様の操作履歴に、さらに、操作「確認」において、ユーザにより選択された詳細情報の種別を登録する。
 モデル生成部160は、操作「確認」において選択された詳細情報の種別と、特徴ベクトルと、を関係付けることにより、学習データを生成する。モデル生成部160は、提案情報として要素に対する推奨種別を出力するモデルを生成する。
 提案部170は、モデルを用いて、要素に対する推奨種別を決定し、表示部130へ出力する。
 表示部130は、画面中の要素に、提案部170から出力された推奨種別を付与して表示する。
 次に、第2の実施形態における分析装置100の動作を説明する。
 <学習処理>
 はじめに、分析装置100の学習処理について説明する。
 第2の実施形態における、学習処理を示すフローチャートは、第1の実施形態(図6)と同様である。
 上述のステップS104において、操作履歴収集部140は、操作履歴に、さらに、操作「確認」においてユーザにより選択された詳細情報の種別を登録する。
 図21は、第2の実施形態における、学習処理で生成される操作履歴の例を示す図である。
 図21の例では、操作履歴として、第1の実施形態と同様のリストID、要素ID、操作、子リストID、及び、関連性に加えて、操作「確認」において選択された詳細情報の種別(確認種別)が関係付けられている。
 例えば、図8の画面(a)における要素「P01」の「詳細」ラベルのクリック、タグ「通信」の選択に従い、表示部130が、プロセス「P01」の通信に関する詳細情報を含む、図8の画面(b)を表示したと仮定する。この場合、操作履歴収集部140は、図21のように、リスト「L00」の要素「P01」の操作履歴に、操作「確認」を上書きするとともに、選択された詳細情報の種別「通信」を確認種別に登録する。
 以降、探索が終了するまで、同様に、ユーザからの指示に従って操作が実行され、操作履歴が収集される。この結果、例えば、図21のように操作履歴が登録される。
 また、上述のステップS108において、モデル生成部160は、操作履歴に含まれる操作「確認」が行われた要素の各々について、選択された詳細情報の種別と、特徴ベクトルと、を関係付けることにより、学習データを生成する。
 図22は、第2の実施形態における、学習データの例を示す図である。
 例えば、モデル生成部160は、図21の操作履歴と図13の特徴ベクトルとに基づき、図22のように学習データを生成する。
 また、上述のステップS109において、モデル生成部160は、図22の学習データを用いて、例えば、特徴ベクトルから推奨種別を出力する分類モデルを生成する。
 <提案処理>
 次に、分析装置100の提案処理について説明する。
 第2の実施形態における、学習処理を示すフローチャートは、第1の実施形態(図15)と同様である。
 上述のステップS205において、提案部170は、モデルに、ステップS204で生成した特徴ベクトルを適用することにより、推奨種別を決定する。
 上述のステップS206において、表示部130は、リストに含まれる要素の各々に、推奨種別を付与して表示する。
 図23、図24は、第2の実施形態における、提案処理で生成される画面の例を示す図である。
 例えば、受付部120は、ユーザによる最初の検索条件「通信あり」の入力により、操作「表示」の実行指示を受け付ける。表示部130は、端末ログから、検索条件「通信あり」に合致するプロセス「P11」、「P12」、「P13」を抽出し、リスト「L10」を生成する。
 特徴抽出部150は、リスト「L10」の要素「P11」、「P12」、「P13」の各々について、端末ログに基づき、図19のように特徴ベクトルを生成する。
 提案部170は、学習処理により生成されたモデルに、図19の特徴ベクトルを適用することにより、要素「P11」、「P12」、「P13」の推奨種別を、それぞれ、例えば「通信」、「ファイル」、「レジストリ」のように決定する。
 表示部130は、決定した推奨種別が「詳細」ラベルに付与されたリスト「L10」を含む、図23の画面(a)を表示する。
 なお、表示部130は、「詳細」ラベルへの推奨種別の付与に加えて、「詳細」ラベルがクリックされたときに、図23の画面(b)のように、推奨種別の詳細情報を優先的に表示する、或いは、推奨種別を強調して表示してもよい。また、表示部130は、「詳細」ラベルに推奨種別を付与する代わりに、同様の表示をしてもよい。
 また、例えば、受付部120は、リスト「L10」の要素「P11」について、ユーザによる、「関連」ラベルのクリック、及び、関連性「子プロセス」の選択により、操作「表示」の実行指示を受け付ける。表示部130は、端末ログから、プロセス「P11」の子プロセス「P14」、「P15」を抽出し、リスト「L11」を生成する。
 特徴抽出部150は、リスト「L11」の要素「P14」、「P15」の各々について、端末ログと操作履歴とに基づき、図19のように特徴ベクトルを生成する。
 提案部170は、学習処理により生成されたモデルに、図19の特徴ベクトルを適用することにより、要素「P14」、「P15」の推奨種別を、それぞれ、例えば「通信」、「ファイル」のように算出する。
 表示部130は、決定した推奨種別が「詳細」ラベルに付与されたリスト「L11」を含む、図24の画面を表示する。
 以降、探索が終了するまで、同様に、ユーザからの指示に従って操作が実行される。
 ユーザは、要素に付与された推奨種別により、確認すべき詳細情報の種別を把握できるため、不審なプロセスの探索を効率的に実行できる。
 なお、ここでは、画面中の各要素に1つの推奨種別が付与される場合を例に説明した。しかしながら、これに限らず、各要素に複数の推奨種別が付与されてもよい。この場合、モデル生成部160は、例えば、詳細情報の種別の各々について、当該種別を推奨するか否かを決定する2値の分類モデルを生成する。提案部170は、モデルを用いて、各要素に対する1以上の推奨種別を決定する。そして、表示部130は、画面中の各要素に、1以上の推奨種別を付与して表示する。
 以上により、第2の実施形態の動作が完了する。
 図25、及び、図26は、第2の実施形態における、提案処理で生成される他の画面の例を示す図である。
 第2の実施形態の具体例として、提案情報として操作の内容が出力される場合を例に説明した。しかしながら、これに限らず、図25に示すように、第1の実施形態により得られる操作の重要度と、第2の実施形態により得られる操作の内容と、の両方が出力されてもよい。
 また、第2の実施形態の具体例として、操作の内容が、操作「確認」において確認すべき詳細情報の種別(推奨種別)である場合を説明した。しかしながら、これに限らず、操作の内容は、操作「表示」において検索すべき他の分析対象との関連性(以下、「推奨関連性」とも記載する)等、推奨種別以外でもよい。
 この場合、モデル生成部160は、操作「表示」において選択された関連性と、特徴ベクトルと、を関係付けることにより、学習データを生成する。モデル生成部160は、提案情報として要素に対する推奨関連性を出力するモデルを生成する。提案部170は、モデルを用いて、要素に対する推奨関連性を決定し、表示部130へ出力する。そして、表示部130は、図26に示すように、画面中の要素の「関連」ラベルに推奨関連性を付与して表示する。また、表示部130は、「関連」ラベルがクリックされたときに表示される画面において、推奨関連性を強調して表示してもよい。
 次に、第2の実施形態の効果について説明する。
 第2の実施形態によれば、脅威ハンティングにおいて、ユーザが、要素に対して行うべき操作の内容(操作「確認」で選択すべき詳細情報の種別や、操作「表示」で選択すべき関連性)を容易に把握できる。その理由は、モデル生成部160が、提案情報として操作の内容を出力するモデルを生成し、表示部130が、モデルにより得られる各要素の操作の内容を表示するためである。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 100  分析装置
 101  CPU
 102  記憶デバイス
 103  入出力デバイス
 104  通信デバイス
 110  端末ログ収集部
 111  端末ログ記憶部
 120  受付部
 130  表示部
 140  操作履歴収集部
 141  操作履歴記憶部
 150  特徴抽出部
 160  モデル生成部
 161  モデル記憶部
 170  提案部
 180  制御部
 200  端末装置
 210  ネットワーク装置

Claims (10)

  1.  表示された確認対象に対して行われた操作と、当該確認対象が表示されるまでの確認対象の表示履歴と、を含む学習データに基づいて、確認対象に対して行うべき操作に関する情報を出力するモデルを生成するモデル生成手段と、
     確認対象と、前記モデルにより得られる当該確認対象に対して行うべき操作に関する情報と、を表示する、表示手段と、
     を備える分析装置。
  2.  前記操作に関する情報は、操作の重要度、及び、操作の内容の内の少なくとも一方を含む、
     請求項1に記載の分析装置。
  3.  前記確認対象は、分析対象を示す情報であり、
     前記操作は、分析対象に関するイベントログからの確認対象が示す分析対象の詳細情報の抽出、前記イベントログからの確認対象が示す分析対象に関連する他の分析対象の検索、及び、確認対象が示す分析対象に対する判定結果の入力、の内の少なくとも一つを含む、
     請求項2に記載の分析装置。
  4.  前記操作の内容は、前記詳細情報の抽出において抽出すべき情報の種別、及び、前記他の分析対象の検索において指定すべき関連性の内の少なくとも一方を含む、
     請求項3に記載の分析装置。
  5.  前記モデル生成手段は、前記表示された確認対象に対して行われた操作と、前記表示履歴に含まれる1以上の確認対象の各々が示す分析対象に関する特徴量と、を関係付けた学習データに基づいて、前記モデルを生成する、
     請求項3または4に記載の分析装置。
  6.  前記操作は、分析対象に関するイベントログからの確認対象が示す分析対象に関連する他の分析対象の検索を含み、
     前記1以上の確認対象の各々が示す分析対象に関する特徴量は、当該分析対象の特徴量と、当該確認対象の前に表示された確認対象に対して行われた検索において指定された関連性の特徴量と、を含む、
     請求項5に記載の分析装置。
  7.  前記分析対象は、コンピュータ上で動作するプロセスを含む、
     請求項3乃至6のいずれか一つに記載の分析装置。
  8.  前記分析対象は、さらに、プロセスがアクセスしたファイル、及び、プロセスがアクセスしたレジストリの内の少なくとも一方を含む、
     請求項7に記載の分析装置。
  9.  表示された確認対象に対して行われた操作と、当該確認対象が表示されるまでの確認対象の表示履歴と、を含む学習データに基づいて、確認対象に対して行うべき操作に関する情報を出力するモデルを生成し、
     確認対象と、前記モデルにより得られる当該確認対象に対して行うべき操作に関する情報と、を表示する、
     分析方法。
  10.  コンピュータに、
     表示された確認対象に対して行われた操作と、当該確認対象が表示されるまでの確認対象の表示履歴と、を含む学習データに基づいて、確認対象に対して行うべき操作に関する情報を出力するモデルを生成し、
     確認対象と、前記モデルにより得られる当該確認対象に対して行うべき操作に関する情報と、を表示する、
     処理を実行させるプログラムを記憶する、コンピュータが読み取り可能な記録媒体。
PCT/JP2018/010288 2018-03-15 2018-03-15 分析装置、分析方法、及び、記録媒体 WO2019176062A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/010288 WO2019176062A1 (ja) 2018-03-15 2018-03-15 分析装置、分析方法、及び、記録媒体
JP2020506062A JP7067612B2 (ja) 2018-03-15 2018-03-15 分析装置、分析方法、及び、プログラム
US16/964,414 US20210049274A1 (en) 2018-03-15 2018-03-15 Analysis device, analysis method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010288 WO2019176062A1 (ja) 2018-03-15 2018-03-15 分析装置、分析方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2019176062A1 true WO2019176062A1 (ja) 2019-09-19

Family

ID=67907572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/010288 WO2019176062A1 (ja) 2018-03-15 2018-03-15 分析装置、分析方法、及び、記録媒体

Country Status (3)

Country Link
US (1) US20210049274A1 (ja)
JP (1) JP7067612B2 (ja)
WO (1) WO2019176062A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7164333B2 (ja) * 2018-06-27 2022-11-01 株式会社日立製作所 個人情報分析システム
US11195023B2 (en) * 2018-06-30 2021-12-07 Microsoft Technology Licensing, Llc Feature generation pipeline for machine learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044087A (ja) * 2003-07-28 2005-02-17 Hitachi Ltd テキストマイニングシステム及びプログラム
JP2005157896A (ja) * 2003-11-27 2005-06-16 Mitsubishi Electric Corp データ分析支援システム
JP2017176365A (ja) * 2016-03-29 2017-10-05 株式会社日立製作所 超音波診断装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7448084B1 (en) * 2002-01-25 2008-11-04 The Trustees Of Columbia University In The City Of New York System and methods for detecting intrusions in a computer system by monitoring operating system registry accesses
JP2004348640A (ja) * 2003-05-26 2004-12-09 Hitachi Ltd ネットワーク管理システム及びネットワーク管理方法
WO2014012106A2 (en) * 2012-07-13 2014-01-16 Sourcefire, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software as well as clean software through intelligent rescanning
JP6590481B2 (ja) * 2012-12-07 2019-10-16 キヤノン電子株式会社 ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム
JP2015219617A (ja) * 2014-05-15 2015-12-07 日本光電工業株式会社 疾病分析装置、疾病分析方法、及びプログラム
US9773112B1 (en) * 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
WO2016177437A1 (en) * 2015-05-05 2016-11-10 Balabit S.A. Computer-implemented method for determining computer system security threats, security operations center system and computer program product
US10079842B1 (en) * 2016-03-30 2018-09-18 Amazon Technologies, Inc. Transparent volume based intrusion detection
US10721262B2 (en) * 2016-12-28 2020-07-21 Palantir Technologies Inc. Resource-centric network cyber attack warning system
US11783046B2 (en) * 2017-04-26 2023-10-10 Elasticsearch B.V. Anomaly and causation detection in computing environments
US10915631B2 (en) * 2017-12-28 2021-02-09 Intel Corporation Deep learning on execution trace data for exploit detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044087A (ja) * 2003-07-28 2005-02-17 Hitachi Ltd テキストマイニングシステム及びプログラム
JP2005157896A (ja) * 2003-11-27 2005-06-16 Mitsubishi Electric Corp データ分析支援システム
JP2017176365A (ja) * 2016-03-29 2017-10-05 株式会社日立製作所 超音波診断装置

Also Published As

Publication number Publication date
JP7067612B2 (ja) 2022-05-16
US20210049274A1 (en) 2021-02-18
JPWO2019176062A1 (ja) 2020-12-17

Similar Documents

Publication Publication Date Title
CN109067815B (zh) 攻击事件溯源分析方法、系统、用户设备及存储介质
JP5425699B2 (ja) 情報処理装置、テストケース生成方法、プログラムおよび記録媒体
JP5972401B2 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
US8701192B1 (en) Behavior based signatures
US20210294896A1 (en) Endpoint detection and response attack process tree auto-play
US9823942B2 (en) Virtual machine discovery and identification
US11176169B2 (en) Recommending visual and execution templates to enable automation of control and data exploration across systems
CN109074454A (zh) 基于赝象对恶意软件自动分组
JP6058246B2 (ja) 情報処理装置及び情報処理方法及びプログラム
WO2020244307A1 (zh) 一种漏洞检测方法及装置
JP7161719B2 (ja) システムにわたる制御及び探索を自動化するためのテンプレートの対話式及び非対話式実行及びレンダリング
JP2010117957A (ja) 構成管理サーバ、名称特定方法および名称特定プログラム
US10984111B2 (en) Data driven parser selection for parsing event logs to detect security threats in an enterprise system
US20230061007A1 (en) Identification and retrieval of supplemental information for runbook operations
US10678933B2 (en) Security systems GUI application framework
CN106250761B (zh) 一种识别web自动化工具的设备、装置及方法
US20240012828A1 (en) Systems and methods for context development
WO2019176062A1 (ja) 分析装置、分析方法、及び、記録媒体
CN111047434A (zh) 一种操作记录生成方法、装置、计算机设备和存储介质
US20170031740A1 (en) Naming of nodes in net framework
US20070192704A1 (en) Method, apparatus and computer program product for port configuration of resources in a virtual topology
CN114363002B (zh) 一种网络攻击关系图的生成方法及装置
US11886939B2 (en) System, device, method and datastack for managing applications that manage operation of assets
US20220092186A1 (en) Security information analysis device, system, method and program
Stelly et al. Language-based integration of digital forensics & incident response

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020506062

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

Country of ref document: EP

Kind code of ref document: A1