WO2021111576A1 - 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム - Google Patents

通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム Download PDF

Info

Publication number
WO2021111576A1
WO2021111576A1 PCT/JP2019/047599 JP2019047599W WO2021111576A1 WO 2021111576 A1 WO2021111576 A1 WO 2021111576A1 JP 2019047599 W JP2019047599 W JP 2019047599W WO 2021111576 A1 WO2021111576 A1 WO 2021111576A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
data
grid point
communication
switching
Prior art date
Application number
PCT/JP2019/047599
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/781,550 priority Critical patent/US20220417256A1/en
Priority to PCT/JP2019/047599 priority patent/WO2021111576A1/ja
Priority to JP2021562276A priority patent/JP7318733B2/ja
Publication of WO2021111576A1 publication Critical patent/WO2021111576A1/ja

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks

Definitions

  • the present invention relates to a communication control system, a state switching support device, a state switching support method, and a program.
  • Patent Document 1 In a network in which a plurality of computers communicate with each other, a communication control device for protecting computers and the like from unauthorized access and attacks has been conventionally known (for example, Patent Document 1).
  • a communication control device for protecting computers and the like from unauthorized access and attacks
  • communication is blocked by applying an appropriate rule from a list of a plurality of rules according to the state of the protection target (that is, a computer or the like).
  • the rule defines the communication conditions judged to be an attack or the communication conditions judged to be normal, and how to deal with the communication.
  • the state of the defense target recognized by the communication control device must match the actual state of the protection target.
  • the communication control device after the state of the protection target is switched, it is necessary to execute a plurality of processes before the communication control device recognizes the state after the switching, and the communication control device actually protects the protection target.
  • One embodiment of the present invention has been made in view of the above points, and an object of the present invention is to reduce a time lag in switching states of a protected object.
  • the communication control system is a communication control system including a communication control device that controls communication to the protection target according to the state of the protection target, and the communication control system collected in advance.
  • a grid point generation means that uses data related to communication to generate grid point data in which a grid point group representing comprehensive communication with the protection target and a state corresponding to each grid point of the grid point group are associated with each other.
  • a state representing the distribution of the state in the vicinity of the points represented by the data related to the current communication in the grid point group included in the grid point data by using the grid point data and the data related to the current communication.
  • a state distribution generating means for generating a distribution for generating a distribution, a predicting means for predicting the time when the state transitions to another state from a change in the state distribution from the past to the present, and switching of the state to the predicted time. It is characterized by having a switching instruction means for transmitting an instruction to the communication control device.
  • FIG. 1 is a diagram showing an example of the overall configuration of the communication control system 1 according to the first embodiment.
  • the communication control system 1 is a system constructed in an arbitrary network environment, and includes a state switching support device 10, one or more relay devices 20, and one or more terminals 30. Is included.
  • the relay device 20 is a device or device that applies an appropriate rule from a plurality of rules according to the state of the protection target and performs communication control such as blocking communication data according to this rule. That is, the relay device 20 is a device or device having such a communication control function (for example, a router, a gateway, an IPS (Intrusion Prevention System), etc.).
  • the rule is information that defines the communication conditions that are determined to be an attack or the communication conditions that are determined to be normal, and how to deal with the communication.
  • the relay device 20 mirrors the communication data addressed to the terminal 30 (protection target) or the communication data from the terminal 30 (protection target) to another terminal 30 and transmits the communication data to the state switching support device 10.
  • the relay device 20 can also receive a rule switching instruction from the outside (for example, a terminal capable of communicating via a network).
  • the terminal 30 is a computer to be protected by the communication control function included in the relay device 20.
  • Examples of the terminal 30 include a PC (personal computer), a smartphone, a tablet terminal, and the like.
  • the protection target is not limited to the terminal 30, and any device or device (for example, general-purpose server, industrial device, in-vehicle device, IoT (IoT: Internet of Things) device, etc.) may be the protection target.
  • the states include, for example, “standby” indicating that the terminal 30 is in standby, “operating” indicating that the terminal 30 is in normal operation, and indicating that the terminal 30 is executing high-load processing. Examples include “during high driving”. It should be noted that what kind of state exists in the defense target and what kind of condition the state transitions according to the defense target may differ depending on the defense target, the purpose of the system including these protection targets, and the like. However, the state of the protection target can be classified by the state classifier described later.
  • the state switching support device 10 is a computer or computer system that predicts the time when the state of the protection target switches using the communication data received from the relay device 20 and transmits the state switching instruction to the relay device 20 at the predicted time. is there.
  • the actual state of the protection target is the "defense target state", the state of the protection target recognized by the relay device 20 (that is, the state of the protection target held by the relay device 20). Is also expressed as "recognition state”.
  • the state switching support device 10 predicts the time when the protection target state is switched by the following procedures (1) to (4), and transmits the state switching instruction to the relay device 20.
  • Data prepared in advance data including communication data and / or data representing its features, or data obtained by dimensionally compressing this data; hereinafter also referred to as "prepared data" and data.
  • prepared data data including communication data and / or data representing its features, or data obtained by dimensionally compressing this data; hereinafter also referred to as "prepared data”
  • the comprehensive data values latitude points
  • the protection target may send and receive and the state of the defense state at that time are determined.
  • a state switching instruction is transmitted to the relay device 20 at the predicted time (hereinafter, also referred to as "switching predicted time").
  • switching predicted time the predicted time
  • the recognition state is switched to the defense target state, and the recognition state and the defense target state match.
  • the above (1) is the processing of the "preparation phase” that needs to be executed in advance before the operation of the state switching support device 10, and the above (2) to (4) are the processes of the state switching support device 10. This is the "operation phase” process that is executed during operation.
  • the configuration of the communication control system 1 shown in FIG. 1 is an example, and may be another configuration.
  • the state switching support device 10 and the relay device 20 may be integrally configured.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the state switching support device 10 according to the first embodiment.
  • the state switching support device 10 can be realized by a general computer or a computer system, and communicates with the input device 101, the display device 102, and the external I / F 103. It has an I / F 104, a processor 105, and a memory device 106. Each of these hardware is connected so as to be able to communicate with each other via the bus 107.
  • the input device 101 is, for example, a keyboard, a mouse, a touch panel, or the like.
  • the display device 102 is, for example, a display or the like.
  • the state switching support device 10 does not have to have at least one of the input device 101 and the display device 102.
  • the external I / F 103 is an interface with an external device.
  • the external device includes a recording medium 103a and the like.
  • the state switching support device 10 can read or write the recording medium 103a via the external I / F 103.
  • the recording medium 103a includes, for example, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), a USB (Universal Serial Bus) memory card, and the like.
  • the communication I / F 104 is an interface for the state switching support device 10 to perform data communication with another device (for example, a relay device 20).
  • the processor 105 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
  • the memory device 106 is, for example, various storage devices such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory.
  • the state switching support device 10 can realize various processes described later.
  • the hardware configuration shown in FIG. 2 is an example, and the state switching support device 10 may have another hardware configuration.
  • the state switching support device 10 may have a plurality of processors 105, or may have a plurality of memory devices 106.
  • FIG. 3 is a diagram showing an example of the functional configuration of the state switching support device 10 according to the first embodiment.
  • the state switching support device 10 includes a grid point generation unit 201, a state classification unit 202, a state distribution generation unit 203, a state switching prediction unit 204, and a recognition state switching instruction. It has a part 205.
  • Each of these functional units is realized, for example, by a process of causing the processor 105 to execute one or more programs installed in the state switching support device 10.
  • the state switching support device 10 has the advance preparation data DB 301, the grid point list DB 302, and the state distribution DB 303.
  • Each of these DBs can be realized by using, for example, a memory device 106 or the like.
  • At least one of these DBs may be realized by using a storage device (for example, a database server or the like) connected to the state switching support device 10 via a network.
  • the grid point generation unit 201 In the preparation phase, the grid point generation unit 201 generates a grid point list using the preparation data stored in the preparation data DB 301.
  • the grid point list generated by the grid point generation unit 201 is stored in the grid point list DB 302.
  • the state classification unit 202 estimates a value indicating the state of the protection target (hereinafter, also referred to as “state value”) from the data indicating each grid point included in the grid point list. Further, the state classification unit 202 estimates the state value from the actual data described later in the operation phase. As will be described later, the data indicating each grid point, the preparation data, and the actual data have the same data items.
  • the state classification unit 202 is realized by, for example, an arbitrary state classifier trained in advance by a supervised learning method. Further, the classification method of the state classifier is not particularly limited. As the classification method of the state classifier, for example, logistic regression, support vector machine, decision tree, random forest and the like can be used.
  • the state distribution generation unit 203 includes a grid point list stored in the grid point list DB 302 in the operation phase, communication data received from the relay device 20, (or data representing a feature amount of the communication data, or both).
  • the state distribution is generated by using the data obtained or the data obtained by dimensionally compressing this data.
  • the state distribution generated by the state distribution generation unit 203 is stored in the state distribution DB 303.
  • either the communication data received from the relay device 20, the data representing the feature amount thereof, or the data including both of them, or the data obtained by dimensionally compressing this data is also referred to as "actual data".
  • the advance preparation data and the actual data have the same data items. That is, for example, when communication data is used as advance preparation data, communication data is also used as actual data. Similarly, for example, when the data representing the feature amount of the communication data is used as the advance preparation data, the data representing the feature amount of the communication data is used as the actual data. Similarly, for example, when data including both communication data and data representing the feature amount is used as the preparation data, the actual data includes both the communication data and the data representing the feature amount. Is used. Similarly, for example, when data in which both communication data and data representing a feature amount are included as preparatory data is dimensionally compressed, the communication data and the data representing the feature amount are used as actual data. Use data that is dimensionally compressed from data that includes both.
  • the state switching prediction unit 204 predicts the time when the defense target state is switched (hereinafter, also referred to as “switching prediction time”) using the state distribution stored in the state distribution DB 303.
  • the recognition state switching instruction unit 205 transmits a state switching instruction to the relay device 20 at the predicted switching time in the operation phase.
  • the preparation data DB 301 stores the preparation data.
  • the pre-prepared data is data including pre-prepared communication data and / or data representing the feature amount thereof, or data obtained by dimensionally compressing this data.
  • an arbitrary feature amount extractor for example, a low-pass filter or the like
  • the dimensional compressor for example, a dimensional compressor using the method of principal component analysis, a dimensional compressor created by using a self-encoder, or the like can be used.
  • an arbitrary number of dimensions can be adopted as the number of data items (that is, the number of dimensions) of the preparation data.
  • the time required to estimate the state value when generating the state distribution and its estimation accuracy Judging from the balance with, 2 or 3 dimensions are preferable. Therefore, in the following, as an example, the advance preparation data will be described as two-dimensional data obtained by dimensionally compressing data including both communication data and data representing the feature amount thereof. Therefore, it is assumed that the actual data is also two-dimensional data obtained by dimensionally compressing the data including both the communication data and the data representing the feature amount thereof.
  • the grid point list DB 302 stores the grid point list generated by the grid point generation unit 201.
  • the grid point list is a list in which the grid points created from the preparation data and the state values at the grid points are associated with each other.
  • the state distribution DB 303 stores the state distribution generated by the state distribution generation unit 203.
  • the state distribution is the distribution of the state values represented by the grid points in the vicinity of the points indicated by the actual data in the distribution of the state values represented by the grid point list.
  • FIG. 4 is a flowchart showing an example of the grid point list generation process according to the first embodiment.
  • the grid point generation unit 201 selects one data item of the preparation data (step S101). For example, when the data item 1 and the data item 2 are included in the preparatory data, the grid point generation unit 201 selects one data item from the data item 1 and the data item 2.
  • the grid point generation unit 201 calculates the upper limit value and the lower limit value of the value acquired in the above step S102 (step S103). For example, the grid point generation unit 201 sets the maximum value among x 1 , x 2 , ..., X 100 as the upper limit value x sup , x 1 , x 2 , ..., X 100 as the minimum value.
  • the lower limit value x inf is the maximum value among x 1 , x 2 , ..., X 100 as the upper limit value x sup , x 1 , x 2 , ..., X 100 as the minimum value.
  • the lower limit value x inf The lower limit value x inf .
  • the grid point generation unit 201 calculates the grid upper limit value and the grid lower limit value by using the preset allowable range value and the upper limit value and the lower limit value calculated in step S103 above (step). S104).
  • the allowable range value is r
  • the permissible range value may be set in common for each data item of the advance preparation data, or may be set for each data item. Further, the permissible range value for calculating the grid upper limit value and the permissible range value for calculating the grid lower limit value may be different.
  • the grid point generation unit 201 divides between the grid upper limit value and the grid lower limit value by using the preset interval value and the grid upper limit value and the grid lower limit value calculated in step S104 above. Generate a list of points to be used (step S105). For example, assuming that the interval value is ⁇ , the grid point generation unit 201 uses the point list ⁇ x ginf , x ginf + ⁇ , x ginf + 2 ⁇ , x ginf + 3 ⁇ , ..., X gsup- 2 ⁇ , x gsup ⁇ , x gsup ⁇ . To generate.
  • a list of points from the lower limit value of the grid to the upper limit value of the grid is generated for each interval value ⁇ .
  • the grid point generation unit 201 determines whether or not there is an unselected data item in the above step S101 among the data items of the preparation data (step S106). If there is an unselected data item, the grid point generation unit 201 returns to step S101 described above. As a result, a point list for each data item of the preparation data is obtained. For example, by executing the processing of step S102 ⁇ step S105 for the data item y t, the point on the data item y t list ⁇ b 1, b 2, ⁇ , b k ⁇ are obtained.
  • the grid point generation unit 201 If it is not determined in step S106 that there is an unselected data item, the grid point generation unit 201 generates a grid point list from the point list for each data item (step S107). That is, the grid point generation unit 201 generates a grid point list in which a set of points represented by all combinations of indexes of the point list is used as one grid point. For example, grid point generation unit 201, the point on the data item x t list ⁇ a 1, a 2, ⁇ , a k ⁇ with the data item y t about the points list ⁇ b 1, b 2, ⁇ , b All combinations of k ⁇ and indexes ⁇ (1,1), ...
  • a grid point list in which a set of points represented by (1, k), (2, 1), ..., (2, k), ..., (k, k) ⁇ is used as one grid point. Is generated.
  • the grid point list is ⁇ (a 1 , b 1 ), ..., (a 1 , b k ), (a 2 , b 1 ), ..., (a 2 , b k ), ... ⁇ , ( Ak , bk ) ⁇ .
  • This grid point list is a comprehensive data value (grid point) that the protection target may send and receive.
  • the state classification unit 202 inputs data indicating each grid point included in the grid point list generated in step S107, and estimates the state value at the grid point indicated by the data from these data ( Step S108). For example, the state classification unit 202 estimates the state value from the data indicating each of (a 1 , b 1 ), (a 2 , b 2 ), ..., (A k , b k). In the following, expressed by (a i, b i) the state value estimated from the data indicating the s i.
  • the grid point generation unit 201 associates each grid point included in the grid point list with the state value estimated from the grid point among the state values obtained in step S108 above (step S109). ..
  • grid point generation unit 201 the lattice points (a i, b i) and associates the state value s i.
  • a grid point list ⁇ (a 1 , b 1 , s 1 ), (a 2 , b 2 , s 2 ), ..., (A k , b k , sk ) ⁇ can be obtained.
  • the grid point generation unit 201 stores the grid point list obtained in step S108 above in the grid point list DB 302 (step S110).
  • the grid point list DB 302 is stored in the grid point list DB 302 in which the grid points in the I-dimensional space and the state values at the grid points are associated with each other, where I is the number of data items of the preparation data.
  • FIG. 5 is a flowchart showing an example of the state distribution generation process according to the first embodiment.
  • the state distribution generation unit 203 acquires the actual data in the time step T (step S201).
  • FIG. 6 is a flowchart showing an example of the proximity grid point extraction process according to the first embodiment.
  • the state distribution generation unit 203 searches for the nearest grid point of the actual data by using the grid point list stored in the grid point list DB 302 (step S301).
  • the closest grid point is the grid point that is the closest to the point indicated by the actual data among the grid points included in the grid point list. That is, for example, lattice points included in the lattice point list (a i, b i) of the point indicated by the actual data (x T, y T) distance to the closest grid point (a min, b min) That is.
  • the closest grid point is the longest distance from the point indicated by the actual data in the grid point group represented by each grid point included in the grid point list in the two-dimensional space. Is a grid point close to.
  • the state distribution generation unit 203 may search for the closest grid point by an arbitrary search algorithm (for example, linear search, spatial decomposition search, etc.) using the Euclidean distance as the distance, for example. Any distance other than the Euclidean distance may be used.
  • an arbitrary search algorithm for example, linear search, spatial decomposition search, etc.
  • the state distribution generation unit 203 sets a search range including the closest grid points searched in step S301 above for the grid point group represented by each grid point included in the grid point list. (Step S302). For example, as shown in the right figure of FIG. 7, a rectangular area in a predetermined range including the closest grid points is set as a search range. The length of each side of the rectangular area representing the search range (width and height in the case of a two-dimensional space) may be arbitrarily set.
  • the state distribution generation unit 203 extracts the proximity grid points from the search range set in step S302 above (step S303).
  • the state distribution generation unit 203 is close to the grid points that are the regions including the points indicated by the actual data and are included in an arbitrary region within the search range (this region is also referred to as an “extraction region”). It may be extracted as a grid point.
  • this region is also referred to as an “extraction region”.
  • Extraction example 1 As shown in the left figure of FIG. 8, an arbitrary quadrangular (rectangular) region is extracted as an extraction region, and the grid points included in this extraction region are extracted as proximity grid points.
  • Extraction example 2 As shown in the central figure of FIG. 8, a circular region having a predetermined radius centered on the point indicated by the actual data is extracted as an extraction region, and the grid points included in this extraction region are extracted as proximity grid points.
  • Extraction example 3 As shown in the right figure of FIG. 8, in consideration of the point indicated by the actual data in the time step T-1, the region in the direction in which this point exists is excluded from the circular region described in the above extraction example # 2.
  • the fan-shaped region is extracted as an extraction region, and the grid points included in this extraction region are extracted as proximity grid points.
  • the state classification unit 202 generates a state distribution in time step T from the state estimation data of the proximity grid point group (step S203).
  • the state classification unit 202 calculates the number of grid points associated with this state value for each state value, and generates a state distribution by associating the state value with the number of lattice points. For example, s j ⁇ ⁇ 0,1,2 ⁇ assuming that the defense target can take three states.
  • s is a state value.
  • the state distribution generation unit 203 weights the state distribution DT generated in step S203 above to generate the weighted state distribution DT (step S206).
  • the weighting described above is an example, and the state distribution generation unit 203 may perform weighting by another method.
  • the state classification unit 202 when there are a plurality of state classifiers, it is possible to realize the state classification unit 202 in each of the plurality of state classifiers. Specifically, if there is a logistic regression state classifier A, a support vector machine state classifier B, a decision tree state classifier C, and a random forest state classifier D, these state classifications It is possible to realize the state classification units 202A to D with the vessels A to D. In this case, in the grid point list generation process of FIG. 4, the grid point list A generated by using the state classification unit 202A, the grid point list B generated by using the state classification unit 202B, and the state classification unit 202C are used.
  • step S202 the generated grid point list C and the grid point list D generated by using the state classification unit 202D are stored in the grid point list DB 302. Accordingly, in step S202 ⁇ step S203 described above, also D T the state distribution at time step T, the state distribution D T A with the lattice point list A, the state distribution D T B using grid points list B, and state distribution D T C using grid points list C, state distribution with grid points list D D T D Togae be.
  • the weighted state distribution may be generated by associating the weighted sum of the number associated with the state value for each same state value with the state value.
  • the state distribution generating unit 203 stores the state distribution D T of the weighted state distribution DB 303 (step S207).
  • the weighted state distribution DT is also simply referred to as “state distribution DT ” or “state distribution DT in time step T ”.
  • the state distribution DT generated in the above step S203 is weighted, but the present invention is not limited to this, for example, the state generated in the above step S203 without weighting.
  • distribution D T may be stored in the state distribution DB303 a.
  • FIG. 9 is a flowchart showing an example of the state switching prediction process according to the first embodiment.
  • State switching predictor 204 acquires the state distribution D T at time step T from state distribution DB 303 (step S401). That is, the state switching prediction unit 204 acquires the current state distribution DT.
  • the state switching predictor 204 the time step T-1, T-2, ⁇ , state distribution D T-1 in T-n, D T-2 , ⁇ , state D T-n Each is acquired from the distribution DB 303 (step S402). That is, the state switching predictor 204, past state distribution D T-1, D T- 2, ⁇ , acquires the D T-n.
  • the state switching predictor 204 compares the current state distribution D T, a past state distribution D T-1, D T- 2, ⁇ , and each of D T-n (step S403) ..
  • the state switching prediction unit 204 has a current state distribution DT and a past state distribution DT-1 , DT-2 , ..., DTn. It is determined whether or not there is a difference between the above (step S404).
  • step S404 When it is determined in step S404 above that there is no difference (that is, when the state distributions from time step Tn to time T are all the same), the state switching prediction unit 204 has a value meaning "undecided". Is set to the predicted switching time (step S405).
  • the approximate line is not limited to the line represented by the linear function, and may be, for example, a line represented by a quadratic function, a sin function, a sigmoid function, or the like.
  • Approximate line f 1 that approximates M T n may be created.
  • Approximate lines f 2 that approximate each of LT n may be created.
  • An arbitrary method for obtaining an approximate line from a point cloud can be used to create an approximate line. Examples of such a method include the least squares method.
  • step S406 an approximate line is created for a state other than the current state. For example, when the state of the transition destination (switching destination) with respect to the current state is determined, the state of the transition destination is related. Only approximation lines may be created. In the following, as an example, the description will be continued assuming that the transition destination state with respect to the current state is fixed to one.
  • the state switching prediction unit 204 calculates the switching prediction time in the time step T from the approximate line created in step S406 above (step S407).
  • the predicted switching time in the time step T is stored in, for example, the memory device 106.
  • FIG. 10 is a flowchart showing an example of the timer setting process according to the first embodiment.
  • the recognition state switching instruction unit 205 acquires the current switching predicted time (that is, the switching predicted time in time step T) (step S501).
  • the recognition state switching instruction unit 205 determines whether or not the previous switching predicted time (that is, the switching predicted time in time step T-1) exists (step S502).
  • the recognition state switching instruction unit 205 compares the current switching predicted time with the previous switching predicted time (step S504).
  • the recognition state switching instruction unit 205 determines, as a result of the comparison in step S404 above, whether or not the difference between the current switching predicted time and the previous switching predicted time is within a preset error. (Step S505).
  • the recognition state switching instruction unit 205 corrects the timer at the predicted switching time this time (step S506).
  • the recognition state switching instruction unit 205 may set the above-mentioned ⁇ T in the timer, or may set the average of the current timer value and ⁇ T or the weighted average in the timer.
  • FIG. 11 is a flowchart showing an example of the state switching instruction process according to the first embodiment. This state switching instruction process is repeatedly executed, for example, at each time step.
  • the recognition state switching instruction unit 205 determines whether or not the timer is 0 (step S601).
  • step S601 When it is determined in step S601 above that the timer is not 0, the recognition state switching instruction unit 205 counts down the timer (that is, subtracts 1 from the timer value) (step S602).
  • step S601 when it is determined in step S601 that the timer is 0, the recognition state switching instruction unit 205 transmits a state switching instruction for switching the recognition state of the relay device 20 (step S603). As a result, the recognition state of the relay device 20 is switched.
  • the recognition state switching instruction unit 205 may transmit a state switching instruction specifying the state of the transition destination to the relay device 20.
  • the recognition state switching instruction unit 205 resets the timer and deletes the predicted switching time in each time step from the memory device 106 (step S604).
  • the state switching support device 10 uses the past communication data and the data representing the feature amount in the preparation phase, and the value of the comprehensive data to be protected and the state at that time. Generates a grid point list associated with. Then, the state switching support device 10 according to the present embodiment predicts the time when the state of the protection target is switched from the amount of change in the state distribution generated from this grid point list in the operation phase. As a result, in the operation phase, the time when the state of the protection target is switched can be obtained in a short time, so that the time difference until the relay device 20 recognizes the actual state of the protection target can be reduced.
  • FIG. 12 is a diagram showing an example of the functional configuration of the state switching support device 10 according to the second embodiment.
  • the state switching support device 10 has the same function unit as that of the first embodiment, but the functions of the state switching prediction unit 204 and the recognition state switching instruction unit 205 are different.
  • the state switching support device 10 according to the present embodiment further includes a switching control condition DB 304.
  • the switching control condition DB 304 may be realized by using, for example, a memory device 106 or the like, or by using a storage device (for example, a database server or the like) connected to the state switching support device 10 via a network. It may be realized.
  • the state switching prediction unit 204 does not create an approximate line that approximates the number of grid points each time step, but calculates the switching prediction time using the approximate line created in advance. Thereby, in the present embodiment, the switching prediction time can be calculated in a shorter time.
  • the recognition state switching instruction unit 205 corrects the switching prediction time using the switching control condition stored in the switching control condition DB 304, and then sets the number of time steps up to the corrected switching prediction time in the timer. As a result, a more accurate switching prediction time can be set in the timer.
  • the details of the switching control condition stored in the switching control condition DB 304 will be described later.
  • FIG. 13 is a flowchart showing an example of the state switching prediction process according to the second embodiment.
  • State switching predictor 204 acquires the state distribution D T at time step T from state distribution DB 303 (step S701).
  • the state switching prediction unit 204 determines whether or not the number of grid points in the state to be the transition destination from the current state exists (that is, is not 0) for the state distribution DT acquired in step S701. (Step S702).
  • step S703 When the number of grid points in the transition destination state does not exist in step S702 above (that is, when the number of grid points is zero), the state switching prediction unit 204 sets a value meaning "undecided" as the switching prediction time. (Step S703).
  • the state switching prediction unit 204 sets the number of grid points in the transition destination state in advance.
  • the function f representing such an approximate line is prepared in advance using the preparation data by the same method as that described in step S406 of FIG. As a result, unlike the first embodiment, it is not necessary to create an approximate line each time, so that the predicted switching time can be calculated in a shorter time.
  • FIG. 14 is a diagram showing an example of a switching control condition stored in the switching control condition DB 304.
  • each switching control condition includes, for example, "transition source”, “transition destination”, “timing”, and “shift”. Includes “number”, “margin of error” and "command”.
  • These switching control conditions are created by the user, for example, and stored in the switching control condition DB 304.
  • the state of the transition source and the state of the transition destination are set in the "transition source” and the “transition destination”, respectively.
  • timing a timing for transmitting a state switching instruction when switching the recognition state of the relay device 20 is set.
  • number of shifts how much the timing of transmitting the state switching instruction when switching the switching state of the relay device 20 is shifted from the predicted switching time is set.
  • the "margin of error” is set when there is a difference in the predicted switching time between the time step T and the time step T-1.
  • a command for switching the rule on the relay device 20 side is set.
  • the above-mentioned switching control condition is an example, and the switching control condition includes not only "transition source”, “transition destination”, “timing”, “number of shifts”, “margin of error”, and "command”. Various information may be included. Further, these switching control conditions can be appropriately added, deleted, or modified by the user.
  • FIG. 15 is a flowchart showing an example of the timer setting process according to the second embodiment.
  • the recognition state switching instruction unit 205 acquires the current switching predicted time (that is, the switching predicted time in time step T) (step S801).
  • the recognition state switching instruction unit 205 determines whether or not the previous switching predicted time (that is, the switching predicted time in time step T-1) exists (step S802).
  • the recognition state switching instruction unit 205 After correcting the predicted switching time in the time step T using the timing and the number of shifts included in the corresponding switching control condition, the time step up to the predicted switching time after the correction is set in the timer (step S803). That is, first, in the recognition state switching instruction unit 205, among the switching control conditions stored in the switching control condition DB 304, the current state and the transition destination state are set as the "transition source” and the "transition destination", respectively. Specify the switching control conditions that are being used.
  • the recognition state switching instruction unit 205 corrects the predicted switching time according to the information set in the "timing" and "number of shifts" of the specified switching control condition, and then starts from the time step T after the correction.
  • Set the timer to the number of time steps ⁇ T up to the predicted switching time.
  • the number of time steps modified by the corresponding switching control condition is set in the timer.
  • the recognition state switching instruction unit 205 compares the current switching predicted time with the previous switching predicted time (step S804).
  • the recognition state switching instruction unit 205 sets the difference between the current switching predicted time and the previous switching predicted time as the "margin of error" of the corresponding switching control condition. It is determined whether or not it is within the permissible error (step S805).
  • step S805 If it is not determined in step S805 above that it is within the error, the recognition state switching instruction unit 205 corrects the timer at the predicted switching time this time, as in step S506 in FIG. 10 (step S806).
  • the state switching support device 10 calculates the switching predicted time using the approximation line created in advance in the operation phase, and also calculates the switching predicted time according to the switching control condition created in advance by the user. To fix. As a result, it is possible to further reduce the time difference until the relay device 20 recognizes the actual state of the protection target, and to improve the prediction accuracy of the switching prediction time.
  • Communication control system 10 Status switching support device 20 Relay device 30 Terminal 101 Input device 102 Display device 103 External I / F 103a Recording medium 104 Communication I / F 105 Processor 106 Memory device 107 Bus 201 Lattice point generation unit 202 State classification unit 203 State distribution generation unit 204 State switching prediction unit 205 Recognition state switching instruction unit 301 Preparation data DB 302 Lattice point list DB 303 State distribution DB 304 Switching control condition DB

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一実施形態に係る通信制御システムは、防御対象の状態に応じて前記防御対象に対する通信を制御する通信制御装置が含まれる通信制御システムであって、予め収集された前記通信に関するデータを用いて、前記防御対象に対する網羅的な通信を表す格子点群と前記格子点群の各々の格子点に対応する状態とを対応付けた格子点データを生成する格子点生成手段と、前記格子点データと、現在の通信に関するデータとを用いて、前記格子点データに含まれる格子点群の中で、前記現在の通信に関するデータが表す点の近傍における前記状態の分布を表す状態分布を生成する状態分布生成手段と、過去から現在までの前記状態分布の変化から、前記状態が他の状態に遷移する時刻を予測する予測手段と、前記予測された時刻に、前記状態の切替指示を前記通信制御装置に送信する切替指示手段と、を有することを特徴とする。

Description

通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム
 本発明は、通信制御システム、状態切替支援装置、状態切替支援方法及びプログラムに関する。
 複数のコンピュータが相互に通信するネットワークにおいて、不正なアクセスや攻撃からコンピュータ等を防御するための通信制御装置が従来から知られている(例えば、特許文献1)。このような通信制御装置では、防御対象(つまり、コンピュータ等)の状態に応じて、複数のルールのリストの中から適切なルールを適用して通信の遮断等を行っている。なお、ルールとは、攻撃と判断する通信の条件又は正常と判断する通信の条件とその通信に対してどのように対処するかとを定めたものである。
特許第6577442号公報
 ここで、通信制御装置が適切なルールを適用するためには、通信制御装置が認識している防御対象の状態が、防御対象の実際の状態と一致している必要がある。しかしながら、上記の従来技術では、防御対象の状態が切り替わった後、この切り替え後の状態を通信制御装置が認識するまでには複数の処理を実行する必要があり、通信制御装置が防御対象の実際の状態を認識するまでには時間的なズレ(タイムラグ)がある。言い換えれば、防御対象の実際の状態の切り替え時間と、通信制御装置が認識している状態の切り替え時間との間には時間的な差が存在する。
 このため、一時的に適切でないルールが適用されてしまう場合があり、例えば、攻撃と判断されるべき通信を正常と判断してしまったり、正常と判断されるべき通信を攻撃と判断してしまったりすることがある。
 本発明の一実施形態は、上記の点に鑑みてなされたもので、防御対象の状態切替の時間差を低減することを目的とする。
 上記目的を達成するため、一実施形態に係る通信制御システムは、防御対象の状態に応じて前記防御対象に対する通信を制御する通信制御装置が含まれる通信制御システムであって、予め収集された前記通信に関するデータを用いて、前記防御対象に対する網羅的な通信を表す格子点群と前記格子点群の各々の格子点に対応する状態とを対応付けた格子点データを生成する格子点生成手段と、前記格子点データと、現在の通信に関するデータとを用いて、前記格子点データに含まれる格子点群の中で、前記現在の通信に関するデータが表す点の近傍における前記状態の分布を表す状態分布を生成する状態分布生成手段と、過去から現在までの前記状態分布の変化から、前記状態が他の状態に遷移する時刻を予測する予測手段と、前記予測された時刻に、前記状態の切替指示を前記通信制御装置に送信する切替指示手段と、を有することを特徴とする。
 防御対象の状態切替の時間差を低減することができる。
第一の実施形態に係る通信制御システムの全体構成の一例を示す図である。 第一の実施形態に係る状態切替支援装置のハードウェア構成の一例を示す図である。 第一の実施形態に係る状態切替支援装置の機能構成の一例を示す図である。 第一の実施形態に係る格子点リスト生成処理の一例を示すフローチャートである。 第一の実施形態に係る状態分布生成処理の一例を示すフローチャートである。 第一の実施形態に係る近接格子点抽出処理の一例を示すフローチャートである。 近接格子点の探索範囲の一例を説明するための図である。 近接格子点群の一例を説明するための図である。 第一の実施形態に係る状態切替予測処理の一例を示すフローチャートである。 第一の実施形態に係るタイマー設定処理の一例を示すフローチャートである。 第一の実施形態に係る状態切替指示処理の一例を示すフローチャートである。 第二の実施形態に係る状態切替支援装置の機能構成の一例を示す図である。 第二の実施形態に係る状態切替予測処理の一例を示すフローチャートである。 切替制御条件DBに格納されている切替制御条件の一例を示す図である。 第二の実施形態に係るタイマー設定処理の一例を示すフローチャートである。
 以下、本発明の各実施形態について説明する。以降の各実施形態では、防御対象の状態が切り替わった際に、この切り替え後の状態を通信制御装置が認識するまでの時間差を低減することが可能な通信制御システム1について説明する。
 [第一の実施形態]
 以降では、第一の実施形態について説明する。
 <全体構成>
 まず、本実施形態に係る通信制御システム1の全体構成について、図1を参照しながら説明する。図1は、第一の実施形態に係る通信制御システム1の全体構成の一例を示す図である。
 図1に示すように、本実施形態に係る通信制御システム1は任意のネットワーク環境に構築されたシステムであり、状態切替支援装置10と、1以上の中継装置20と、1以上の端末30とが含まれる。
 中継装置20は、防御対象の状態に応じて複数のルールの中から適切なルールを適用して、このルールに従って通信データの遮断等の通信制御を行う装置又は機器である。すなわち、中継装置20は、このような通信制御機能を備える装置又は機器(例えば、ルータやゲートウェイ、IPS(Intrusion Prevention System)等)である。なお、ルールとは、上述したように、攻撃と判断する通信の条件又は正常と判断する通信の条件とその通信に対してどのように対処するかとを定めた情報である。
 また、中継装置20は、端末30(防御対象)宛の通信データ又は端末30(防御対象)から他の端末30への通信データをミラーリングして、状態切替支援装置10に送信する。なお、中継装置20は、外部(例えば、ネットワークを介して通信可能な端末等)からルールの切替指示を受け付けることも可能である。
 端末30は、中継装置20が備える通信制御機能で防御対象となるコンピュータである。なお、端末30としては、例えば、PC(パーソナルコンピュータ)やスマートフォン、タブレット端末等が挙げられる。ただし、防御対象は、端末30に限られず、任意の機器又は装置(例えば、汎用サーバ、産業用機器、車載器、IoT(IoT:Internet of Things)機器等)が防御対象であってもよい。
 ここで、防御対象には複数の状態が存在し、所定の条件に従ってその状態が遷移するものとする。状態としては、例えば、端末30がスタンバイ中であることを示す「スタンバイ」、端末30が通常運転中であることを示す「運転中」、端末30が高負荷処理を実行中であることを示す「高運転中」等が挙げられる。なお、防御対象にどのような状態が存在し、どのような条件に従ってその状態が遷移するかは、防御対象やこれらの防御対象が含まれるシステムの目的等によって異なり得る。ただし、防御対象の状態は、後述する状態分類器によって分類可能であるものとする。
 状態切替支援装置10は、中継装置20から受信した通信データを用いて、防御対象の状態が切り替わる時刻を予測し、その予測した時刻に状態切替指示を中継装置20に送信するコンピュータ又はコンピュータシステムである。なお、本実施形態では、防御対象の実際の状態を「防御対象状態」、中継装置20が認識している防御対象の状態(つまり、中継装置20で保持している、当該防御対象の状態)を「認識状態」とも表す。
 ここで、本実施形態に係る状態切替支援装置10は、以下の手順(1)~(4)により防御対象状態が切り替わる時刻を予測し、状態切替指示を中継装置20に送信する。
 (1)事前に準備したデータ(通信データ若しくはその特徴量を表すデータ又はその両方が含まれるデータ。又は、このデータを次元圧縮したデータ。以降、「事前準備データ」とも表す。)と、データから防御対象状態を推定するように予め学習させた状態分類器とを用いて、防御対象が送受信する可能性のある網羅的なデータの値(格子点)とそのときの防御状態の状態とを対応付けた格子点リストを生成する。
 (2)格子点リストを用いて、防御対象が受信等するデータの値に近接する格子点に対応付けられている状態の分布(以降、「状態分布」とも表す。)を生成する。
 (3)過去から現在までの状態分布の変化量から、防御対象状態が切り替わる時刻を予測する。
 (4)予測した時刻(以降、「切替予測時刻」とも表す。)に状態切替指示を中継装置20に送信する。これにより、認識状態が防御対象状態に切り替わり、認識状態と防御対象状態とが一致する。
 ここで、上記の(1)は状態切替支援装置10の運用前に事前に実行する必要がある「準備フェーズ」の処理であり、上記の(2)~(4)は状態切替支援装置10の運用時に実行される「運用フェーズ」の処理である。
 なお、図1に示す通信制御システム1の構成は一例であって、他の構成であってもよい。例えば、状態切替支援装置10と中継装置20は一体で構成されていてもよい。
 <ハードウェア構成>
 次に、本実施形態に係る状態切替支援装置10のハードウェア構成について、図2を参照しながら説明する。図2は、第一の実施形態に係る状態切替支援装置10のハードウェア構成の一例を示す図である。
 図2に示すように、第一の実施形態に係る状態切替支援装置10は一般的なコンピュータ又はコンピュータシステムで実現可能であり、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。これら各ハードウェアは、それぞれがバス107を介して通信可能に接続されている。
 入力装置101は、例えば、キーボードやマウス、タッチパネル等である。表示装置102は、例えば、ディスプレイ等である。なお、状態切替支援装置10は、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
 外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103a等がある。状態切替支援装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
 通信I/F104は、状態切替支援装置10が他の装置(例えば、中継装置20)等とデータ通信を行うためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。メモリ装置106は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
 本実施形態に係る状態切替支援装置10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図2に示すハードウェア構成は一例であって、状態切替支援装置10は、他のハードウェア構成を有していてもよい。例えば、状態切替支援装置10は、複数のプロセッサ105を有していてもよいし、複数のメモリ装置106を有していてもよい。
 <機能構成>
 次に、本実施形態に係る状態切替支援装置10の機能構成について、図3を参照しながら説明する。図3は、第一の実施形態に係る状態切替支援装置10の機能構成の一例を示す図である。
 図3に示すように、本実施形態に係る状態切替支援装置10は、格子点生成部201と、状態分類部202と、状態分布生成部203と、状態切替予測部204と、認識状態切替指示部205とを有する。これら各機能部は、例えば、状態切替支援装置10にインストールされた1以上のプログラムがプロセッサ105に実行させる処理により実現される。
 また、本実施形態に係る状態切替支援装置10は、事前準備データDB301と、格子点リストDB302と、状態分布DB303とを有する。これら各DBは、例えば、メモリ装置106等を用いて実現可能である。なお、これら各DBのうちの少なくとも1つのDBが、状態切替支援装置10とネットワークを介して接続される記憶装置(例えば、データベースサーバ等)を用いて実現されていてもよい。
 格子点生成部201は、準備フェーズにおいて、事前準備データDB301に格納されている事前準備データを用いて、格子点リストを生成する。格子点生成部201によって生成された格子点リストは格子点リストDB302に格納される。
 状態分類部202は、準備フェーズにおいて、格子点リストに含まれる各格子点を示すデータから、防御対象の状態を示す値(以降、「状態値」とも表す。)を推定する。また、状態分類部202は、運用フェーズにおいて、後述する実データから状態値を推定する。なお、後述するように、各格子点を示すデータと事前準備データと実データとはそれぞれ同一のデータ項目を有する。
 ここで、状態分類部202は、例えば、教師あり学習の手法によって予め学習させた任意の状態分類器により実現される。また、状態分類器の分類手法については特に限定されない。状態分類器の分類手法としては、例えば、ロジスティック回帰、サポートベクターマシン、決定木、ランダムフォレスト等を用いることが可能である。
 状態分布生成部203は、運用フェーズにおいて、格子点リストDB302に格納されている格子点リストと、中継装置20から受信した通信データ(又は、この通信データの特徴量を表すデータ又はその両方が含まれるデータ。又は、このデータを次元圧縮したデータ。)とを用いて、状態分布を生成する。状態分布生成部203によって生成された状態分布は状態分布DB303に格納される。なお、中継装置20から受信した通信データ若しくはその特徴量を表すデータ又はその両方が含まれるデータ、又は、このデータを次元圧縮したデータのいずれかを「実データ」とも表す。
 ここで、事前準備データと実データとは同一のデータ項目を有するものとする。すなわち、例えば、事前準備データとして通信データを用いた場合には、実データとしても通信データを用いる。同様に、例えば、事前準備データとして通信データの特徴量を表すデータを用いた場合には、実データとしても通信データの特徴量を表すデータを用いる。同様に、例えば、事前準備データとして通信データと特徴量を表すデータとの両方が含まれるデータを用いた場合には、実データとしても通信データと特徴量を表すデータとの両方が含まれるデータを用いる。同様に、例えば、事前準備データとして通信データと特徴量を表すデータとの両方が含まれるデータを次元圧縮したデータを用いた場合には、実データとしても通信データと特徴量を表すデータとの両方が含まれるデータを次元圧縮したデータを用いる。
 状態切替予測部204は、運用フェーズにおいて、状態分布DB303に格納されている状態分布を用いて、防御対象状態が切り替わる時刻(以降、「切替予測時刻」とも表す。)を予測する。
 認識状態切替指示部205は、運用フェーズにおいて、切替予測時刻に状態切替指示を中継装置20に送信する。
 事前準備データDB301は、事前準備データが格納されている。事前準備データとは、上述したように、事前に準備した通信データ若しくはその特徴量を表すデータ又はその両方が含まれるデータ、又はこのデータを次元圧縮したデータのことである。時刻を表す時刻ステップtにおける事前準備データは、データ項目数(次元数)をIとして、X=(x ,x ,x ,・・・,x )と表される。なお、通信データの特徴量を表すデータは、通信データを入力とする任意の特徴量抽出器(例えば、ローパスフィルタ等)を用いればよい。また、次元圧縮器としては、例えば、主成分分析の手法を用いた次元圧縮器、自己符号化器を用いて作成された次元圧縮器等を用いることができる。
 ここで、事前準備データのデータ項目数(つまり、次元数)としては任意の次元数を採用することができるが、例えば、状態分布を生成する際における状態値の推定に要する時間とその推定精度とのバランスから判断すると2又は3次元程度が好ましい。そこで、以降では、一例として、事前準備データは、通信データとその特徴量を表すデータとの両方が含まれるデータを次元圧縮した2次元データであるものとして説明する。したがって、実データも、通信データとその特徴量を表すデータとの両方が含まれるデータを次元圧縮した2次元データであるものとする。
 格子点リストDB302は、格子点生成部201によって生成された格子点リストが格納される。格子点リストは、事前準備データから作成された格子点と、この格子点における状態値とが対応付けられたリストである。
 状態分布DB303は、状態分布生成部203によって生成された状態分布が格納される。状態分布は、格子点リストが表す状態値の分布中で、実データが示す点の近傍にある格子点が表す状態値の分布のことである。
 <処理の詳細>
 次に、本実施形態に係る状態切替支援装置10の処理の詳細について説明する。
  ≪準備フェーズ≫
 まず、準備フェーズで実行される格子点リスト生成処理について、図4を参照しながら説明する。図4は、第一の実施形態に係る格子点リスト生成処理の一例を示すフローチャートである。
 格子点生成部201は、事前準備データのデータ項目を1つ選択する(ステップS101)。例えば、データ項目1とデータ項目2とが事前準備データに含まれている場合、格子点生成部201は、データ項目1及びデータ項目2のうち、1つのデータ項目を選択する。以降では、簡単のため、時刻ステップtにおける事前準備データをX=(x,y)と表し、本ステップでデータ項目xが選択されたものとする。
 次に、格子点生成部201は、各時刻ステップにおける事前準備データについて、上記のステップS101で選択したデータ項目の値を取得する(ステップS102)。例えば、時刻ステップt=1,・・・,100における事前準備データXが事前準備データDB301に格納されている場合、格子点生成部201は、x,x,・・・,x100を取得する。
 次に、格子点生成部201は、上記のステップS102で取得した値の上限値及び下限値を算出する(ステップS103)。例えば、格子点生成部201は、x,x,・・・,x100のうちの最大値を上限値xsup、x,x,・・・,x100のうちの最小値を下限値xinfとする。
 次に、格子点生成部201は、予め設定された許容範囲値と、上記のステップS103で算出された上限値及び下限値とを用いて、グリッド上限値とグリッド下限値とを算出する(ステップS104)。例えば、許容範囲値をrとして、格子点生成部201は、グリッド上限値をxgsup=xsup+r、グリッド下限値をxginf=xinf-rとする。なお、許容範囲値は事前準備データの各データ項目で共通に設定されてもよいし、データ項目毎に設定されてもよい。また、グリッド上限値を算出するための許容範囲値と、グリッド下限値を算出するための許容範囲値とが異なっていてもよい。
 次に、格子点生成部201は、予め設定された間隔値と、上記のステップS104で算出されたグリッド上限値及びグリッド下限値とを用いて、グリッド上限値とグリッド下限値との間を分割する点リストを生成する(ステップS105)。例えば、間隔値をΔとして、格子点生成部201は、点リスト{xginf,xginf+Δ,xginf+2Δ,xginf+3Δ,・・・,xgsup-2Δ,xgsup-Δ,xgsup}を生成する。これにより、間隔値Δ毎に、グリッド下限値からグリッド上限値までの点のリストが生成される。以降では、簡単のため、a=xginf,a=xginf+Δ,・・・,a=xgsupとして、データ項目xに関する点リストを{a,a,・・・,a}(ただし、kは2以上の整数)とする。
 次に、格子点生成部201は、事前準備データのデータ項目のうち、上記のステップS101で未選択のデータ項目があるか否かを判定する(ステップS106)。未選択のデータ項目がある場合、格子点生成部201は、上記のステップS101に戻る。これにより、事前準備データの各データ項目のそれぞれに関する点リストが得られる。例えば、上記のステップS102~ステップS105の処理をデータ項目yについて実行することで、データ項目yに関する点リスト{b,b,・・・,b}が得られる。
 上記のステップS106で未選択のデータ項目があると判定されなかった場合、格子点生成部201は、各データ項目に関する点リストから格子点リストを生成する(ステップS107)。すなわち、格子点生成部201は、点リストのインデックスの全ての組み合わせで表される点同士の組を1つの格子点とした格子点リストを生成する。例えば、格子点生成部201は、データ項目xに関する点リスト{a,a,・・・,a}とデータ項目yに関する点リスト{b,b,・・・,b}とインデックスの全ての組み合わせ{(1,1),・・・.(1,k),(2,1),・・・,(2,k),・・・,(k,k)}で表される点同士の組を1つの格子点とした格子点リストを生成される。この場合、格子点リストは{(a,b),・・・,(a,b),(a,b),・・・,(a,b),・・・,(a,b)}となる。
 これにより、データ項目数をIとして、I次元空間の格子点のリストが得られる。この格子点リストが、防御対象が送受信する可能性のある網羅的なデータの値(格子点)である。
 次に、状態分類部202は、上記のステップS107で生成された格子点リストに含まれる各格子点を示すデータを入力し、これらデータから、当該データが示す格子点における状態値を推定する(ステップS108)。例えば、状態分類部202は、(a,b),(a,b),・・・,(a,b)の各々を示すデータから状態値を推定する。以降では、(a,b)を示すデータから推定された状態値をsで表す。
 次に、格子点生成部201は、格子点リストに含まれる各格子点と、上記のステップS108で得られた状態値のうち、当該格子点から推定された状態値とを対応付ける(ステップS109)。例えば、格子点生成部201は、格子点(a,b)と、状態値sとを対応付ける。これにより、例えば、格子点リスト{(a,b,s),(a,b,s),・・・,(a,b,s)}が得られる。
 最後に、格子点生成部201は、上記のステップS108で得られた格子点リストを格子点リストDB302に格納する(ステップS110)。これにより、事前準備データのデータ項目数をIとして、I次元空間の格子点とこの格子点における状態値とが対応付けられた格子点リストが格子点リストDB302に格納される。
  ≪運用フェーズ≫
 次に、準備フェーズで実行される処理について説明する。以降の準備フェーズでは、現在の時刻を示す時刻ステップTにおいて、中継装置20から状態切替支援装置10に実データが送信されたものとする。
 まず、格子点リストを用いて、時刻ステップTにおける状態分布を生成する状態分布生成処理について、図5を参照しながら説明する。図5は、第一の実施形態に係る状態分布生成処理の一例を示すフローチャートである。
 状態分布生成部203は、時刻ステップTにおける実データを取得する(ステップS201)。なお、上述したように、実データは事前準備データと同一のデータ項目を有する。したがって、以降では、実データをX=(x,y)と表す。
 次に、状態分布生成部203は、近接格子点抽出処理を実行して、近接格子点群の状態推定データを生成する(ステップS202)。ここで、本ステップにおける近接格子点抽出処理について、図6を参照しながら説明する。図6は、第一の実施形態に係る近接格子点抽出処理の一例を示すフローチャートである。
 状態分布生成部203は、格子点リストDB302に格納されている格子点リストを用いて、実データの最近接格子点を探索する(ステップS301)。最近接格子点とは、格子点リストに含まれる格子点のうち、実データが示す点との距離が最も近い格子点のことである。すなわち、例えば、格子点リストに含まれる格子点(a,b)のうち、実データが示す点(x,y)との距離が最も近い格子点(amin,bmin)のことである。この場合、最近接格子点は、図7の左図に示すように、2次元空間において、格子点リストに含まれる各格子点が表す格子点群の中で、実データが示す点と最も距離が近い格子点のことである。
 ここで、状態分布生成部203は、例えば、距離としてユークリッド距離を用いて、任意の探索アルゴリズム(例えば、線形探索や空間分解探索等)により最近接格子点を探索すればよい。なお、ユークリッド距離以外の任意の距離が用いられてもよい。
 次に、状態分布生成部203は、格子点リストに含まれる各格子点が表す格子点群に対して、上記のステップS301で探索された最近接格子点を含む探索範囲を設定する。(ステップS302)。例えば、図7の右図に示すように、最近接格子点を含む、所定の範囲の矩形領域を探索範囲として設定する。なお、探索範囲を表す矩形領域の各辺の長さ(2次元空間の場合は幅及び高さ)は任意に設定すればよい。
 次に、状態分布生成部203は、上記のステップS302で設定された探索範囲の中から近接格子点を抽出する(ステップS303)。ここで、状態分布生成部203は、実データが示す点を含む領域であって、かつ、探索範囲内の任意の領域(この領域を「抽出領域」とも表す。)に含まれる格子点を近接格子点として抽出すればよい。以降、近接格子点の抽出例をいくつか示す。
 ・抽出例その1
 図8の左図に示すように、任意の四角形(矩形)領域を抽出領域として、この抽出領域に含まれる格子点を近接格子点として抽出する。
 ・抽出例その2
 図8の中央の図に示すように、実データが示す点を中心とした所定の半径の円形領域を抽出領域として、この抽出領域に含まれる格子点を近接格子点として抽出する。
 ・抽出例その3
 図8の右図に示すように、時刻ステップT-1における実データが示す点を考慮して、上記の抽出例その2で説明した円形領域のうち、この点が存在する方向の領域を除外した扇型領域を抽出領域として、この抽出領域に含まれる格子点を近接格子点として抽出する。ここで、例えば、時刻ステップTにおける実データが示す点と時刻ステップT-1における実データが示す点とを通る直線をL:y=mx+n、時刻ステップTにおける実データが示す点を中心として直線Lを+θの傾けた直線をPL:y=mx+nとした場合、加法定理によりtanθ=tan(θ-θ)=(tanθ-tanθ)/(1+tanθtanθ)=(m-m)/(1+m)が成り立つため、θが求まり、直線PLを求めることができる。直線Lを-θ方向に傾けた直線についても同様に求めることができるため、上記の扇型領域を特定することができる。なお、直線Lの傾きがゼロの場合には計算不可能であるため、もし直線Lの傾きがゼロである場合は、ゼロに近い値を直線Lの傾きとして利用する。
 次に、状態分布生成部203は、上記のステップS303で抽出された各近接格子点と、これらの近接格子点の各々に対応付けられている状態値とを含むデータを、近接格子点群の状態推定データとする(ステップS304)。すなわち、近接格子点群の状態推定データは、例えば、上記のステップS303で抽出された各格子点を{(a,b);j=1,・・・,m}とすれば、近接格子点群の状態推定データは、{(a,b,s);j=1,・・・,m}と表される。
 図5の説明に戻る。ステップS202に続いて、状態分類部202は、近接格子点群の状態推定データから、時刻ステップTにおける状態分布を生成する(ステップS203)。状態分類部202は、状態値毎に、この状態値と対応付けられている格子点の個数を算出し、当該状態値とその個数とを対応付けることで状態分布を生成する。例えば、防御対象が3つの状態を取り得るものとして、s∈{0,1,2}とする。この場合、状態分類部202は、近接格子点群の状態推定データに含まれる各格子点(a,b)の中で、s=0と対応付けられている格子点(a,b)の個数Nと、s=1と対応付けられている格子点(a,b)の個数Mと、s=2と対応付けられている格子点(a,b)の個数Lとをそれぞれ算出し、時刻ステップTにおける状態分布をD={(s=0,N),(s=1,M),(s=2,L)}とする。なお、sは状態値である。
 次に、状態分類部202は、上記のステップS201で取得された実データから状態値を推定する(ステップS204)。例えば、状態分類部202は、実データX=(x,y)から状態値sを推定する。
 次に、状態分布生成部203は、実データと、上記のステップS204で推定された状態値とを対応付けた実状態推定データを生成する(ステップS205)。例えば、状態分布生成部203は、実データX=(x,y)と状態値sとを対応付けた実状態推定データ(x,y,s)を生成する。
 次に、状態分布生成部203は、上記のステップS203で生成された状態分布Dに対して重み付けを行って、重み付け後の状態分布Dを生成する(ステップS206)。状態分布生成部203は、状態分布Dに含まれる個数のうち、上記のステップS205で生成された実状態推定データに含まれる状態値に対応する個数を除去する(ゼロにする)ことで、状態分布Dに対して重み付けを行う。例えば、実状態推定データに含まれる状態値がs=0である場合、状態分布生成部203は、N=0とすることで、重み付け後の状態分布D={(s=0,0),(s=1,M),(s=2,L)}を生成する。
 なお、上記で説明した重み付けは一例であって、状態分布生成部203は、他の方法で重み付けを行ってもよい。例えば、状態分類器が複数存在する場合、これら複数の状態分類器の各々で状態分類部202を実現することが可能である。具体的には、ロジスティック回帰の状態分類器Aと、サポートベクターマシンの状態分類器Bと、決定木の状態分類器Cと、ランダムフォレストの状態分類器Dとが存在する場合、これらの状態分類器A~Dで状態分類部202A~Dを実現することが可能である。この場合、図4の格子点リスト生成処理では、状態分類部202Aを用いて生成した格子点リストAと、状態分類部202Bを用いて生成した格子点リストBと、状態分類部202Cを用いて生成した格子点リストCと、状態分類部202Dを用いて生成した格子点リストDとが格子点リストDB302に格納される。したがって、上記のステップS202~ステップS203では、時刻ステップTにおける状態分布をDも、格子点リストAを用いた状態分布D と、格子点リストBを用いた状態分布D と、格子点リストCを用いた状態分布D と、格子点リストDを用いた状態分布D とがえられる。
 そこで、これらの状態分布について、同一の状態値毎に、その状態値に対応付けられている個数の重み付け和を、当該状態値に対応付けることで、重み付け後の状態分布を生成してもよい。具体的には、例えば、
 D ={(s=0,N ),(s=1,M ),(s=2,L )}
 D ={(s=0,N ),(s=1,M ),(s=2,L )}
 D ={(s=0,N ),(s=1,M ),(s=2,L )}
 D ={(s=0,N ),(s=1,M ),(s=2,L )}
とした場合、各状態分類器の精度に応じて予め設定したパラメータa,b,c,d(ただし、a+b+c+d=1)を用いて、
 N=aN +bN +cN +dN
 M=aM +bM +cM +dM
 L=aL +bL +cL +dL
を算出し、重み付け後の状態分布D={(s=0,N),(s=1,M),(s=2,L)}としてもよい。また、更に、この重み付け後の状態分布Dに関して、上記のステップS205で生成された実状態推定データに含まれる状態値に対応する個数を除去(ゼロにする)してもよい。
 そして、状態分布生成部203は、重み付け後の状態分布Dを状態分布DB303に格納する(ステップS207)。以降では、この重み付け後の状態分布Dを単に「状態分布D」又は「時刻ステップTにおける状態分布D」とも表す。
 なお、本実施形態では、上記のステップS203で生成された状態分布Dに対して重み付けを行ったが、これに限られず、例えば、重み付けを行わずに、上記のステップS203で生成された状態分布Dを状態分布DB303に格納してもよい。
 続いて、過去から現在までの状態分布の変化量を用いて切替予測時刻を算出する状態切替予測処理について、図9を参照しながら説明する。図9は、第一の実施形態に係る状態切替予測処理の一例を示すフローチャートである。
 状態切替予測部204は、時刻ステップTにおける状態分布Dを状態分布DB303から取得する(ステップS401)。すなわち、状態切替予測部204は、現在の状態分布Dを取得する。
 次に、状態切替予測部204は、時刻ステップT-1,T-2,・・・,T-nにおける状態分布DT-1,DT-2,・・・,DT-nを状態分布DB303からそれぞれ取得する(ステップS402)。すなわち、状態切替予測部204は、過去の状態分布DT-1,DT-2,・・・,DT-nを取得する。
 次に、状態切替予測部204は、現在の状態分布Dと、過去の状態分布DT-1,DT-2,・・・,DT-nの各々とを比較する(ステップS403)。
 次に、状態切替予測部204は、上記のステップS403での比較の結果、現在の状態分布Dと、過去の状態分布DT-1,DT-2,・・・,DT-nとで差がないか否かを判定する(ステップS404)。
 上記のステップS404で差がないと判定された場合(つまり、時刻ステップT-n~時刻Tまでの状態分布が全て同じである場合)、状態切替予測部204は、「未定」を意味する値を切替予測時刻に設定する(ステップS405)。
 一方で、上記のステップS404で差があると判定された場合、(つまり、時刻ステップT-n~時刻Tまでの状態分布の少なくとも1つが異なる場合)、状態切替予測部204は、現在の状態以外の各状態について、過去の状態分布DT-1,DT-2,・・・,DT-nの変化量から、当該状態の格子点数(つまり、当該状態を表す状態値に対応付けられている、格子点の個数)を近似する近似線を作成する(ステップS406)。すなわち、状態切替予測部204は、格子点数をzとして、格子点数zを近似する時刻ステップtの関数z=f(t)で表される近似線を作成する。なお、近似線は、一次関数で表される線に限られず、例えば、二次関数やsin関数、sigmoid関数等で表される線であってもよい。
 例えば、現在の状態の状態値がs=0である場合、状態切替予測部204は、状態値s=1の格子点数の近似線z=f(t)と、状態値s=2の格子点数の近似線z=f(t)とを作成する。この場合、状態切替予測部204は、状態値s=1の格子点数の近似線として、時刻ステップT-1,T-2,・・・,T-nで格子点数MT-2,・・・,MT-nをそれぞれ近似する近似線fを作成すればよい。同様に、状態値s=2の格子点数の近似線として、時刻ステップT-1,T-2,・・・,T-nで格子点数LT-1,LT-2,・・・,LT-nをそれぞれ近似する近似線fを作成すればよい。なお、近似線の作成には、点群から近似線を得るための任意の手法を用いることができる。このような手法としては、例えば、最小二乗法等が挙げられる。
 なお、上記のステップS406では、現在の状態以外の状態に関して近似線を作成したが、例えば、現在の状態に対する遷移先(切替先)の状態が決まっている場合には、この遷移先の状態に関する近似線のみを作成してもよい。以降では、一例として、現在の状態に対する遷移先の状態は1つに決まっているものとして説明を続ける。
 次に、状態切替予測部204は、上記のステップS406で作成された近似線から、時刻ステップTにおける切替予測時刻を算出する(ステップS407)。状態切替予測部204は、格子点数が所定の閾値を超える時刻ステップを、時刻ステップTにおける切替予測時刻とすればよい。すなわち、状態切替予測部204は、例えば、予め設定した閾値をThとして、f(t)≧Thを満たす最小のtを、現在の状態から状態値s=1の状態に切り替わる切替予測時刻として算出すればよい。時刻ステップTにおける切替予測時刻は、例えば、メモリ装置106に格納される。
 なお、Thは任意の値を設定することが可能であるが、例えば、Th=(N+M+L)/2等とすることが考えられる。
 続いて、上記で算出した切替予測時刻を用いて、タイマー(つまり、切替予測時刻になったことを検知するためのタイマー)を設定するタイマー設定処理について、図10を参照しながら説明する。図10は、第一の実施形態に係るタイマー設定処理の一例を示すフローチャートである。
 認識状態切替指示部205は、今回の切替予測時刻(つまり、時刻ステップTにおける切替予測時刻)を取得する(ステップS501)。
 次に、認識状態切替指示部205は、前回の切替予測時刻(つまり、時刻ステップT-1における切替予測時刻)が存在するか否かを判定する(ステップS502)。
 上記のステップS502で前回の切替予測時刻が存在すると判定されなかった場合(つまり、メモリ装置106内に時刻ステップT-1における切替予測時刻が記憶されていない場合)、認識状態切替指示部205は、現在の時刻ステップTから、時刻ステップTにおける切替予測時刻までの時刻ステップ数を、タイマーに設定する(ステップS503)。すなわち、時刻ステップTにおける切替予測時刻をT´とした場合、認識状態切替指示部205は、ΔT=T´-Tをタイマーに設定する。
 一方で、上記のステップS502で前回の切替予測時刻が存在すると判定された場合、認識状態切替指示部205は、今回の切替予測時刻と前回の切替予測時刻とを比較する(ステップS504)。
 次に、認識状態切替指示部205は、上記のステップS404での比較の結果、今回の切替予測時刻と前回の切替予測時刻との差が、予め設定された誤差以内であるか否かを判定する(ステップS505)。
 上記のステップS505で誤差以内であると判定されなかった場合、認識状態切替指示部205は、今回の切替予測時刻でタイマーを補正する(ステップS506)。例えば、認識状態切替指示部205は、上述したΔTをタイマーに設定してもよいし、現在のタイマーの値とΔTとの平均又は重み付き平均をタイマーに設定してもよい。
 続いて、上記で設定されたタイマーを用いて、切替予測時刻になった場合に中継装置20に状態切替指示を送信する状態切替指示処理について、図11を参照しながら説明する。図11は、第一の実施形態に係る状態切替指示処理の一例を示すフローチャートである。この状態切替指示処理は、例えば、時刻ステップ毎に繰り返し実行される。
 認識状態切替指示部205は、タイマーが0であるか否かを判定する(ステップS601)。
 上記のステップS601でタイマーが0でないと判定された場合、認識状態切替指示部205は、タイマーをカウントダウン(つまり、タイマーの値を1減算)する(ステップS602)。
 一方で、上記のステップS601でタイマーが0であると判定された場合、認識状態切替指示部205は、中継装置20の認識状態を切り替えるための状態切替指示を送信する(ステップS603)。これにより、中継装置20の認識状態が切り替わる。
 なお、上述したように、本実施形態では現在の状態に対する遷移先(切替先)の状態は1つに決まっているものとするが、例えば、現在の状態に対して遷移先の状態が複数存在する場合は、認識状態切替指示部205は、遷移先の状態を指定した状態切替指示を中継装置20に送信すればよい。
 そして、認識状態切替指示部205は、タイマーをリセットし、各時刻ステップにおける切替予測時刻をメモリ装置106から削除する(ステップS604)。
 以上のように、本実施形態に係る状態切替支援装置10は、準備フェーズで、過去の通信データやその特徴量を表すデータを用いて、防御対象の網羅的なデータの値とそのときの状態とを対応付けた格子点リストを生成する。そして、本実施形態に係る状態切替支援装置10は、運用フェーズで、この格子点リストから生成される状態分布の変化量から、防御対象の状態が切り替わる時刻を予測する。これにより、運用フェーズでは防御対象の状態が切り替わる時刻を短時間で得ることが可能になるため、防御対象の実際の状態を中継装置20が認識するまでの時間差を低減させることができる。
 [第二の実施形態]
 以降では、第二の実施形態について説明する。第二の実施形態では、防御対象の実際の状態を中継装置20が認識するまでの時間差をより低減させると共に、切替予測時刻の予測精度を向上させる場合について説明する。なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様の構成要素についてはその説明を省略する。
 <機能構成>
 まず、本実施形態に係る状態切替支援装置10の機能構成について、図12を参照しながら説明する。図12は、第二の実施形態に係る状態切替支援装置10の機能構成の一例を示す図である。
 図12に示すように、本実施形態に係る状態切替支援装置10は第一の実施形態と同様の機能部を有するが、状態切替予測部204と認識状態切替指示部205の機能が異なる、また、本実施形態に係る状態切替支援装置10は、切替制御条件DB304を更に有する。なお、切替制御条件DB304は、例えば、メモリ装置106等を用いて実現されていてもよいし、状態切替支援装置10とネットワークを介して接続される記憶装置(例えば、データベースサーバ等)を用いて実現されていてもよい。
 状態切替予測部204は、第一の実施形態と異なり、格子点数を近似する近似線を時刻ステップ毎に都度作成するのではなく、予め作成された近似線を用いて切替予測時刻を算出する。これにより、本実施形態では、より短時間で切替予測時刻の算出が可能になる。
 認識状態切替指示部205は、切替制御条件DB304に格納されている切替制御条件を用いて切替予測時刻を修正した上で、この修正後の切替予測時刻までの時刻ステップ数をタイマーに設定する。これにより、より精度の高い切替予測時刻をタイマーに設定することができる。なお、切替制御条件DB304に格納されている切替制御条件の詳細については後述する。
 <処理の詳細>
 次に、本実施形態に係る状態切替支援装置10の処理の詳細について説明する。なお、本実施形態では、状態切替予測処理とタイマー設定処理とが第一の実施形態と異なり、その他の処理は第一の実施形態と同様である。このため、以降では、状態切替処理とタイマー設定処理のみについて説明する。
 まず、本実施形態に係る状態切替予測処理について、図13を参照しながら説明する。図13は、第二の実施形態に係る状態切替予測処理の一例を示すフローチャートである。
 状態切替予測部204は、時刻ステップTにおける状態分布Dを状態分布DB303から取得する(ステップS701)。
 次に、状態切替予測部204は、上記のステップS701で取得された状態分布Dについて、現在の状態から遷移先となる状態の格子点数が存在する(つまり、0でない)か否かを判定する(ステップS702)。
 上記のステップS702で遷移先となる状態の格子点数が存在しない場合(つまり、当該格子点数がゼロである場合)、状態切替予測部204は、「未定」を意味する値を切替予測時刻に設定する(ステップS703)。
 一方で、上記のステップS702で遷移先となる状態の格子点数が存在する場合(つまり、当該格子点数がゼロでない場合)、状態切替予測部204は、遷移先となる状態の格子点数と、予め作成された近似線とを用いて、切替予測時刻を算出する(ステップS704)。すなわち、遷移先となる状態に対応する近似線がz=f(t)で表される場合、状態切替予測部204は、遷移先となる状態の格子点数をzに代入して、tを算出することで、切替予測時刻を算出する。ここで、このような近似線を表す関数fは、準備フェーズにおいて、図9のステップS406で説明した方法と同様の方法により、事前準備データを用いて予め作成しておく。これにより、第一の実施形態と異なり、近似線を都度作成する必要がないため、より短時間で切替予測時刻の算出が可能になる。
 ここで、本実施形態に係るタイマー設定処理について説明する前に、切替制御条件DB304に格納されている切替制御条件について、図14を参照しながら説明する。図14は、切替制御条件DB304に格納されている切替制御条件の一例を示す図である。
 図14に示すように、切替制御条件DB304には1以上の切替制御条件が格納されており、各切替制御条件には、例えば、「遷移元」と「遷移先」と「タイミング」と「シフト数」と「許容誤差」と「コマンド」とが含まれる。なお、これらの切替制御条件は、例えば、ユーザによって作成され、切替制御条件DB304に格納される。
 「遷移元」及び「遷移先」には、それぞれ遷移元の状態及び遷移先の状態が設定される。「タイミング」には、中継装置20の認識状態を切り替える際に状態切替指示を送信するタイミングが設定される。「シフト数」には、中継装置20の切替状態を切り替える際に状態切替指示を送信するタイミングを、切替予測時刻からどの程度シフトするかが設定される。
 例えば、「タイミング」に「切替前」、「シフト数」に「50」が設定されている場合、切替予測時刻よりも50時刻ステップ前に状態切替指示を送信することを表している。同様に、例えば、「タイミング」に「切替後」、「シフト数」に「100」が設定されている場合、切替予測時刻よりも100時刻ステップ後に状態切替指示を送信することを表している。一方で、例えば、「タイミング」に「時刻通り」が設定されている場合、切替予測時刻に状態切替指示を送信することを表している。
 「許容誤差」には、時刻ステップTと時刻ステップT-1との間で切替予測時刻に差がある場合にその許容誤差が設定される。「コマンド」には、中継装置20側でルールを切り替えるためのコマンドが設定される。
 なお、上述した切替制御条件は一例であって、切替制御条件には、「遷移元」、「遷移先」、「タイミング」、「シフト数」、「許容誤差」及び「コマンド」以外にも、様々な情報が含まれていてもよい。また、これらの切替制御条件は、ユーザが適宜追加したり、削除したり、修正したりすることが可能である。
 続いて、本実施形態に係るタイマー設定処理について、図15を参照しながら説明する。図15は、第二の実施形態に係るタイマー設定処理の一例を示すフローチャートである。
 認識状態切替指示部205は、今回の切替予測時刻(つまり、時刻ステップTにおける切替予測時刻)を取得する(ステップS801)。
 次に、認識状態切替指示部205は、前回の切替予測時刻(つまり、時刻ステップT-1における切替予測時刻)が存在するか否かを判定する(ステップS802)。
 上記のステップS802で前回の切替予測時刻が存在すると判定されなかった場合(つまり、メモリ装置106内に時刻ステップT-1における切替予測時刻が記憶されていない場合)、認識状態切替指示部205は、該当の切替制御条件に含まれるタイミング及びシフト数を用いて時刻ステップTにおける切替予測時刻を修正した上で、この修正後の切替予測時刻までの時刻ステップをタイマーに設定する(ステップS803)。すなわち、まず、認識状態切替指示部205は、切替制御条件DB304に格納されている切替制御条件のうち、現在の状態と遷移先の状態とがそれぞれ「遷移元」及び「遷移先」に設定されている切替制御条件を特定する。次に、認識状態切替指示部205は、特定した切替制御条件の「タイミング」及び「シフト数」に設定されている情報により切替予測時刻を修正した上で、時刻ステップTから、当該修正後の切替予測時刻までの時刻ステップ数ΔTをタイマーに設定する。これにより、該当の切替制御条件によって修正された時刻ステップ数がタイマーに設定される。
 一方で、上記のステップS802で前回の切替予測時刻が存在すると判定された場合、認識状態切替指示部205は、今回の切替予測時刻と前回の切替予測時刻とを比較する(ステップS804)。
 次に、認識状態切替指示部205は、上記のステップS804での比較の結果、今回の切替予測時刻と前回の切替予測時刻との差が、該当の切替制御条件の「許容誤差」に設定されている許容誤差以内であるか否かを判定する(ステップS805)。
 上記のステップS805で誤差以内であると判定されなかった場合、認識状態切替指示部205は、図10のステップS506と同様に、今回の切替予測時刻でタイマーを補正する(ステップS806)。
 以上のように、本実施形態に係る状態切替支援装置10は、運用フェーズで予め作成された近似線を用いて切替予測時刻を算出すると共に、ユーザによって予め作成された切替制御条件により切替予測時刻を修正する。これにより、防御対象の実際の状態を中継装置20が認識するまでの時間差をより低減させると共に、切替予測時刻の予測精度を向上させることが可能となる。
 本発明は、具体的に開示された上記の各実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
 1    通信制御システム
 10   状態切替支援装置
 20   中継装置
 30   端末
 101  入力装置
 102  表示装置
 103  外部I/F
 103a 記録媒体
 104  通信I/F
 105  プロセッサ
 106  メモリ装置
 107  バス
 201  格子点生成部
 202  状態分類部
 203  状態分布生成部
 204  状態切替予測部
 205  認識状態切替指示部
 301  事前準備データDB
 302  格子点リストDB
 303  状態分布DB
 304  切替制御条件DB

Claims (8)

  1.  防御対象の状態に応じて前記防御対象に対する通信を制御する通信制御装置が含まれる通信制御システムであって、
     予め収集された前記通信に関するデータを用いて、前記防御対象に対する網羅的な通信を表す格子点群と前記格子点群の各々の格子点に対応する状態とを対応付けた格子点データを生成する格子点生成手段と、
     前記格子点データと、現在の通信に関するデータとを用いて、前記格子点データに含まれる格子点群の中で、前記現在の通信に関するデータが表す点の近傍における前記状態の分布を表す状態分布を生成する状態分布生成手段と、
     過去から現在までの前記状態分布の変化から、前記状態が他の状態に遷移する時刻を予測する予測手段と、
     前記予測された時刻に、前記状態の切替指示を前記通信制御装置に送信する切替指示手段と、
     を有することを特徴とする通信制御システム。
  2.  前記通信に関するデータは、前記防御対象が送受信する通信データ若しくは前記通信データの特徴量を表す特徴量データ、又は前記通信データ及び前記特徴量データを含むデータ、又は前記通信データ及び前記特徴量データを含むデータを次元圧縮したデータであることを特徴とする請求項1に記載の通信制御システム。
  3.  前記状態分布生成手段は、
     前記格子点群のうち、前記現在の通信に関するデータが表す点の近傍に含まれる格子点の個数を前記状態毎に算出し、算出した前記状態毎の個数を前記状態分布として生成し、
     前記予測手段は、
     過去から現在までの前記状態分布に含まれる前記状態毎の個数の変化から、前記状態が他の状態に遷移する時刻を予測する、ことを特徴とする請求項1又は2に記載の通信制御システム。
  4.  データから前記状態を推定する状態推定手段を有し、
     前記格子点生成手段は、
     前記格子点群と、前記格子点群の各々の前記格子点を表すデータから前記状態推定手段によって推定された状態とを対応付けた格子点データを生成する、ことを特徴とする請求項1乃至3の何れか一項に記載の通信制御システム。
  5.  前記状態分布生成手段は、
     更に、前記現在の通信に関するデータと、前記現在の通信に関するデータから前記状態推定手段によって推定された状態とを用いて、前記状態分布に対して重み付けを行う、ことを特徴とする請求項4に記載の通信制御システム。
  6.  防御対象の状態に応じて前記防御対象に対する通信を制御する通信制御装置と接続される状態切替支援装置であって、
     予め収集された前記通信に関するデータを用いて、前記防御対象に対する網羅的な通信を表す格子点群と前記格子点群の各々の格子点に対応する状態とを対応付けた格子点データを生成する格子点生成手段と、
     前記格子点データと、現在の通信に関するデータとを用いて、前記格子点データに含まれる格子点群の中で、前記現在の通信に関するデータが表す点の近傍における前記状態の分布を表す状態分布を生成する状態分布生成手段と、
     過去から現在までの前記状態分布の変化から、前記状態が他の状態に遷移する時刻を予測する予測手段と、
     前記予測された時刻に、前記状態の切替指示を前記通信制御装置に送信する切替指示手段と、
     を有することを特徴とする状態切替支援装置。
  7.  防御対象の状態に応じて前記防御対象に対する通信を制御する通信制御装置と接続される状態切替支援装置が、
     予め収集された前記通信に関するデータを用いて、前記防御対象に対する網羅的な通信を表す格子点群と前記格子点群の各々の格子点に対応する状態とを対応付けた格子点データを生成する格子点生成手順と、
     前記格子点データと、現在の通信に関するデータとを用いて、前記格子点データに含まれる格子点群の中で、前記現在の通信に関するデータが表す点の近傍における前記状態の分布を表す状態分布を生成する状態分布生成手順と、
     過去から現在までの前記状態分布の変化から、前記状態が他の状態に遷移する時刻を予測する予測手順と、
     前記予測された時刻に、前記状態の切替指示を前記通信制御装置に送信する切替指示手順と、
     を実行することを特徴とする状態切替支援方法。
  8.  コンピュータを、請求項1乃至5の何れか一項に記載の通信制御システムにおける各手段として機能させるためのプログラム。
PCT/JP2019/047599 2019-12-05 2019-12-05 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム WO2021111576A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/781,550 US20220417256A1 (en) 2019-12-05 2019-12-05 Communication control system, status switchover support apparatus, status switchover support method and program
PCT/JP2019/047599 WO2021111576A1 (ja) 2019-12-05 2019-12-05 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム
JP2021562276A JP7318733B2 (ja) 2019-12-05 2019-12-05 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/047599 WO2021111576A1 (ja) 2019-12-05 2019-12-05 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2021111576A1 true WO2021111576A1 (ja) 2021-06-10

Family

ID=76221560

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/047599 WO2021111576A1 (ja) 2019-12-05 2019-12-05 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム

Country Status (3)

Country Link
US (1) US20220417256A1 (ja)
JP (1) JP7318733B2 (ja)
WO (1) WO2021111576A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006524461A (ja) * 2003-04-23 2006-10-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メディアフレームの出力品質を設定する方法およびシステム
JP2007173959A (ja) * 2005-12-19 2007-07-05 Mitsubishi Electric Corp 暗号化通信装置
JP2008009630A (ja) * 2006-06-28 2008-01-17 Nippon Telegr & Teleph Corp <Ntt> 通信システムおよび通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006524461A (ja) * 2003-04-23 2006-10-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メディアフレームの出力品質を設定する方法およびシステム
JP2007173959A (ja) * 2005-12-19 2007-07-05 Mitsubishi Electric Corp 暗号化通信装置
JP2008009630A (ja) * 2006-06-28 2008-01-17 Nippon Telegr & Teleph Corp <Ntt> 通信システムおよび通信方法

Also Published As

Publication number Publication date
JPWO2021111576A1 (ja) 2021-06-10
JP7318733B2 (ja) 2023-08-01
US20220417256A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US10824122B2 (en) Method and device for improving the robustness with respect to “adversarial examples”
US7778715B2 (en) Methods and systems for a prediction model
Wang et al. Gating techniques for maneuvering target tracking in clutter
US20180357518A1 (en) Image Recognition Device and Image Recognition Method
JP7215077B2 (ja) 予測プログラム、予測方法及び予測装置
Song et al. A probabilistic nearest neighbor filter algorithm for tracking in a clutter environment
KR102038703B1 (ko) 동적 전이 앙상블 모형을 통한 실시간 다변량 시계열 예측방법 및 그 시스템
JP2019518932A (ja) 物体の動作を予測する方法
CN113411342A (zh) 基于大数据的信息安全风险识别方法及人工智能安全系统
Krishnamurthy et al. Optimal threshold policies for multivariate POMDPs in radar resource management
Benoudnine et al. Real time Hough transform based track initiators in clutter
WO2017105866A1 (en) Control system using input-aware stacker
JP2009109293A (ja) 目標追尾装置及び目標観測システム及び目標追尾方法及びプログラム
CN114817933A (zh) 评估业务预测模型鲁棒性的方法、装置及计算设备
WO2021111576A1 (ja) 通信制御システム、状態切替支援装置、状態切替支援方法及びプログラム
KR102354094B1 (ko) 머신러닝 기반 보안관제 장치 및 방법
JP2001296354A (ja) 資源管理装置
CN109416748B (zh) 基于svm的样本数据更新方法、分类系统和存储装置
WO2018008391A1 (ja) 線形パラメータ変動モデル推定システム、方法およびプログラム
JP7075362B2 (ja) 判定装置、判定方法及び判定プログラム
CN113610904A (zh) 3d局部点云对抗样本生成方法、系统、计算机及介质
CN111292350B (zh) 目标朝向的优化算法、系统、电子设备及存储介质
Han et al. Maintaining Track Continuity for Extended Targets Using Gaussian‐Mixture Probability Hypothesis Density Filter
JP2005147741A (ja) 目標相関統合装置
CN116996310B (zh) 基于主动式防御的服务器网络安全保护方法和装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021562276

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

Country of ref document: EP

Kind code of ref document: A1