WO2018142620A1 - パケットフォーマット推定装置およびパケットフォーマット推定プログラム - Google Patents

パケットフォーマット推定装置およびパケットフォーマット推定プログラム Download PDF

Info

Publication number
WO2018142620A1
WO2018142620A1 PCT/JP2017/004248 JP2017004248W WO2018142620A1 WO 2018142620 A1 WO2018142620 A1 WO 2018142620A1 JP 2017004248 W JP2017004248 W JP 2017004248W WO 2018142620 A1 WO2018142620 A1 WO 2018142620A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
unit
packets
packet format
time
Prior art date
Application number
PCT/JP2017/004248
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 US16/473,581 priority Critical patent/US20190349390A1/en
Priority to PCT/JP2017/004248 priority patent/WO2018142620A1/ja
Priority to JP2018565230A priority patent/JP6501999B2/ja
Publication of WO2018142620A1 publication Critical patent/WO2018142620A1/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21041Detect length of packet of pulses to recognise address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Definitions

  • the present invention relates to a packet format estimation apparatus and a packet format estimation program.
  • a control system network constructed by connecting control systems is a network specialized in real-time communication, reliability, and responsiveness.
  • a physical value is fed back from a sensor attached to the control target device at a constant period, and an operation command is issued via the network. Therefore, packets of the same purpose flow in the control system network at regular intervals.
  • Non-Patent Document 1 describes a packet format estimation technique.
  • Packet format estimation is a technique for receiving a data set of a packet with an unknown data format as input, performing statistical analysis processing as a main process, and outputting the estimated packet format.
  • the “packet format” here is a grammar of packet data, and does not cover the meaning of data.
  • the protocol mainly defines data breaks and whether the data is characters, numbers or binary.
  • Non-Patent Document 1 performs frequency analysis on unknown packet data in units of bytes, and expresses a group of frequently used bytes in a state transition diagram with a transition probability. A technique for performing packet format estimation is described.
  • Patent Literature 1 after the process of calculating the feature amount of a flow obtained by performing random packet sampling on the fully captured traffic is repeated a plurality of times, all the obtained flows are identified for each flow.
  • a technique for generating a classifier by associating with a protocol is described.
  • Patent Document 2 describes a technique for determining the presence or absence of periodicity of fluctuations in traffic in a network.
  • the present invention aims to speed up packet format estimation.
  • a packet format estimation apparatus provides: A classifying unit that classifies a series of packets transmitted at a fixed period as a packet group having the same arrival period among a plurality of arrived packets; An estimation unit that estimates a packet format for each packet group having the same arrival period.
  • the packet format estimation can be speeded up by classifying the packets according to the communication period.
  • FIG. 1 is a block diagram showing a configuration of a packet format estimation device according to Embodiment 1.
  • FIG. 5 is a flowchart showing the operation of the packet format estimation apparatus according to the first embodiment.
  • the figure which shows the example of a process of step S101 shown in FIG. The figure which shows the example of a process of step S102 to step S104 shown in FIG.
  • FIG. 3 shows an example of a packet format according to the first embodiment.
  • FIG. 4 is a block diagram showing a configuration of a packet format estimation apparatus according to Embodiment 2.
  • 10 is a flowchart showing the operation of the packet format estimation apparatus according to the second embodiment.
  • the figure which shows the example of a process of step S203 shown in FIG. 10 is a flowchart showing the operation of the packet format estimation apparatus according to the third embodiment.
  • 10 is a flowchart showing the operation of the packet format estimation apparatus according to the fifth embodiment.
  • Embodiment 1 FIG. This embodiment will be described with reference to FIGS.
  • the packet format estimation apparatus 10 is a computer.
  • the packet format estimation apparatus 10 includes a processor 11 and other hardware such as a memory 12, an input interface 13, an auxiliary storage device 14, and a display interface 15.
  • the processor 11 is connected to other hardware via a signal line, and controls these other hardware.
  • the packet format estimation apparatus 10 includes a generation unit 22, a conversion unit 23, an extraction unit 24, an inverse conversion unit 25, a classification unit 26, and an estimation unit 27 as functional elements for performing packet format estimation. .
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 are realized by software.
  • the processor 11 is an IC that performs arithmetic processing such as packet format estimation.
  • IC is an abbreviation for Integrated Circuit.
  • the processor 11 is a CPU, for example.
  • CPU is an abbreviation for Central Processing Unit.
  • the memory 12 is a medium for holding calculation results and the like.
  • the memory 12 is, for example, a flash memory or a RAM.
  • RAM is an abbreviation for Random Access Memory.
  • the input interface 13 is an interface for connecting a device that receives input from the user.
  • Examples of the device that receives input from the user include a mouse, a keyboard, and a touch panel.
  • the auxiliary storage device 14 is a medium for storing data.
  • the auxiliary storage device 14 is, for example, a flash memory or an HDD. “HDD” is an abbreviation for Hard Disk Drive.
  • the display unit interface 15 is an interface for connecting a display unit that displays a result or the like on the screen.
  • An example of the display is an LCD.
  • LCD is an abbreviation for Liquid Crystal Display.
  • the packet format estimation device 10 may include a communication device as hardware.
  • the communication device includes a receiver that receives data and a transmitter that transmits data.
  • the communication device is, for example, a communication chip or a NIC.
  • NIC is an abbreviation for Network Interface Card.
  • the packet format estimation device 10 reads out from the auxiliary storage device 14 a packet data set 21 that holds a plurality of packets with unknown formats as packet data 41 and the arrival time of each packet as arrival time data 42.
  • the packet format estimation device 10 performs the packet format estimation using the packet data set 21 and then writes the estimated packet format 28 in the auxiliary storage device 14.
  • the packet format estimation apparatus 10 may receive an input of the packet data set 21 from the user via the input interface 13.
  • the packet format estimation device 10 may receive the packet data set 21 from an external device via a receiver.
  • the packet format estimation device 10 may display the estimated packet format 28 on the screen via the display interface 15.
  • the packet format estimation device 10 may transmit the estimated packet format 28 to an external device via a transmitter.
  • the auxiliary storage device 14 stores a packet format estimation program that is a program for realizing the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27.
  • the packet format estimation program is loaded into the memory 12 and executed by the processor 11.
  • the auxiliary storage device 14 also stores an OS. “OS” is an abbreviation for Operating System.
  • the processor 11 executes a packet format estimation program while executing the OS. Part or all of the packet format estimation program may be incorporated in the OS.
  • the packet format estimation apparatus 10 may include a plurality of processors that replace the processor 11.
  • the plurality of processors share execution of the packet format estimation program.
  • Each processor is an IC that performs arithmetic processing such as packet format estimation, like the processor 11.
  • Information, data, signal values, and variable values indicating the processing results of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 are stored in the memory 12, the auxiliary storage device 14, or Stored in a register or cache memory in the processor 11.
  • the packet format estimation program may be stored in a portable recording medium such as a magnetic disk and an optical disk.
  • step S101 the generation unit 22 extracts data having the same length from the same portion of each packet included in at least some of the plurality of packets.
  • all of the “plurality of packets” included in the packet data set 21 as the packet data 41 and having an unknown format correspond to “at least some of the packets”.
  • the generation unit 22 generates first time-series data 29 indicating the extracted data value as an amplitude corresponding to the arrival time of each packet.
  • the generation unit 22 reads the packet data set 21 from the auxiliary storage device 14 as an input.
  • the generation unit 22 generates the first time-series data 29 by equally extracting a part of the same portion such as 10 bytes from the head in each packet of the packet data set 21 and associating it with the arrival time data 42.
  • the generation unit 22 outputs the first time series data 29 to the conversion unit 23.
  • FIG. 3 shows an example of processing for generating the first time series data 29 from the packet data set 21.
  • the head part of each packet of the packet data set 21 is cut out.
  • the extracted binary value is associated with the amplitude of the first time series data 29 and the arrival time is associated with the time axis.
  • the part cut out from the packet is preferably a part that has a characteristic depending on the purpose of the packet. Therefore, it is desirable to cut out a so-called header portion, that is, a head portion of the packet.
  • the length of the cutout portion may be changed depending on the performance of the processor 11 that performs processing.
  • SIMD is an abbreviation for “Single Instruction Multiple Data”.
  • step S102 the conversion unit 23 performs frequency conversion of the first time-series data 29 generated by the generation unit 22 and outputs the first frequency spectrum 30.
  • the conversion unit 23 receives the first time series data 29 as an input. As illustrated in the example illustrated in FIG. 4, the conversion unit 23 performs the discrete fast Fourier transform on the first time series data 29 to generate the first frequency spectrum 30. The conversion unit 23 outputs the first frequency spectrum 30 to the extraction unit 24.
  • the conversion unit 23 may multiply the first time series data 29 by a window function such as a Hanning window or a Hamming window before performing the frequency conversion.
  • a window function such as a Hanning window or a Hamming window
  • step S103 the extraction unit 24 extracts the frequency component Fx corresponding to a certain period Cx from the first frequency spectrum 30 output from the conversion unit 23, and outputs the second frequency spectrum 31. That is, the extraction unit 24 performs processing for leaving the communication component Fx of a certain cycle Cx and setting the other components to zero.
  • the extraction unit 24 receives the first frequency spectrum 30 as an input. As illustrated in the example illustrated in FIG. 4, the extraction unit 24 generates only the spectrum component corresponding to the period to be extracted, removes the rest, and generates the second frequency spectrum 31. The extraction unit 24 outputs the second frequency spectrum 31 to the inverse conversion unit 25.
  • a plurality of cycles to be extracted are set in advance. If the average value when the portion corresponding to the set period is extracted exceeds the average value of the entire spectrum, the extraction unit 24 determines that there is a corresponding periodic signal and extracts it. The extraction unit 24 repeats this for the number of cycles to be extracted.
  • the extraction unit 24 outputs the second frequency spectrum 31 by the number of periods to be extracted.
  • the spectrum used for extraction is a power spectrum that is the square root of the square sum of the respective spectra of the real part and the imaginary part after frequency conversion. It is also possible to use the real part and the imaginary part for extraction. However, since there is a possibility that the spectrum appears only in one of the real part and the imaginary part due to the phase shift from the ideal periodic signal, it is necessary to consider the phase shift.
  • step S104 the inverse transform unit 25 performs frequency inverse transform of the second frequency spectrum 31 output from the extraction unit 24 and outputs the second time series data 32.
  • the inverse transform unit 25 receives the second frequency spectrum 31 as an input.
  • the inverse conversion unit 25 generates the second time-series data 32 by performing an operation corresponding to the inverse operation of the conversion unit 23 on the second frequency spectrum 31. That is, the inverse transform unit 25 generates the second time series data 32 by performing discrete fast Fourier inverse transform of the second frequency spectrum 31 as in the example illustrated in FIG. 4.
  • the inverse conversion unit 25 outputs the second time series data 32 to the classification unit 26.
  • any algorithm can be used as long as it corresponds to the frequency transform.
  • the discrete fast Fourier inverse transform another discrete Fourier inverse transform may be used.
  • the inverse transform unit 25 outputs the second time-series data 32 by the number of the input second frequency spectra 31.
  • the classification unit 26 refers to the second time series data 32 output from the inverse conversion unit 25, and identifies a series of packets transmitted in the cycle Cx.
  • the period Cx is a fixed period. That is, “a series of packets” are packets transmitted at equal time intervals.
  • the classification unit 26 classifies the identified series of packets as a packet group 33 having the same arrival period. That is, the classification unit 26 classifies a series of packets transmitted at a fixed period among the plurality of arrived packets as a packet group 33 having the same arrival period.
  • the classification unit 26 receives the second time series data 32 as an input.
  • the classification unit 26 searches the packet data set 21 for a packet corresponding to the byte value and time of the second time series data 32 and classifies the extracted packets into the same packet group 33 as in the example illustrated in FIG. . That is, the classification unit 26 classifies the packets of the packet data set 21 into different packet groups 33 depending on the cycle to be extracted.
  • the classification unit 26 outputs the packet group 33 for each period to the estimation unit 27.
  • the classification unit 26 if the byte value of the portion to be cut out of the packet and the arrival time of the packet are within a certain range preset by the user from the byte value and time of the second time series data 32, Both are considered coincident.
  • the classification unit 26 classifies the packets of the packet data set 21 into a plurality of packet groups 33 by performing the above processing for each input second time-series data 32.
  • step S106 the estimation unit 27 estimates the packet format 28 for each packet group 33 having the same arrival period.
  • the estimation unit 27 receives a packet group 33 for each period as an input.
  • the estimation unit 27 performs packet format estimation for each packet group 33 using the same algorithm as in Non-Patent Document 1 or other algorithms.
  • the estimation unit 27 writes the estimated packet format 28 in the auxiliary storage device 14 as an output.
  • An arbitrary data structure can be used as the data structure of the packet format 28, but a graph like the example shown in FIG. 6 is used in the present embodiment.
  • the packet format estimation can be speeded up by classifying the packets according to the communication period.
  • the communication cycle is unique to be set according to the control target device. That is, the communication cycle is greatly related to the intended communication content. For example, periodic communication for the purpose of controlling the number of rotations of the motor is performed at a period in accordance with the motor or the control target device on which the motor is mounted.
  • the fact that the communication cycle is greatly related to the communication content means that the communication cycle is associated with the packet content. Therefore, as in the present embodiment, classifying a packet by communication cycle leads to dividing the packet according to content.
  • packets transmitted by the same purpose communication can be classified into the same packet group 33, and as a result, a statistically significant difference can be easily obtained. That is, in this embodiment, packets having the same purpose and characteristics can be identified by classifying the packets according to the communication period, so that the packet format estimation can be performed only with a simple statistical analysis process. Therefore, the packet format estimation becomes faster.
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 are realized by software.
  • the generation unit 22, the conversion unit 23, the functions of the extraction unit 24, the inverse transformation unit 25, the classification unit 26, and the estimation unit 27 may be realized by hardware. That is, the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 may be realized by a dedicated electronic circuit.
  • the dedicated electronic circuit is, for example, a single circuit, a composite circuit, a programmed processor, a processor programmed in parallel, a logic IC, GA, FPGA, or ASIC.
  • GA is an abbreviation for Gate Array.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • ASIC is an abbreviation for Application Specific Integrated Circuit.
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 may be realized by a combination of software and hardware. That is, some of the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 may be realized by a dedicated electronic circuit, and the rest may be realized by software.
  • the processor 11, the memory 12, and the dedicated electronic circuit are collectively referred to as a “processing circuit”. That is, whether the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 are realized by software, hardware, or between software and hardware. Regardless of whether it is realized by a combination, the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, and the estimation unit 27 are realized by a processing circuit.
  • “Device” in the packet format estimation device 10 is read as “method”, and “part” in the generation unit 22, conversion unit 23, extraction unit 24, inverse conversion unit 25, classification unit 26, and estimation unit 27 is read as “process”. May be.
  • “device” of the packet format estimation device 10 is replaced with “program”, “program product”, or “computer-readable medium recording the program”, and the generation unit 22, the conversion unit 23, the extraction unit 24, and the inverse conversion unit.
  • 25, “part” of the classification unit 26 and the estimation unit 27 may be read as “procedure” or “processing”.
  • Embodiment 2 FIG. In this embodiment, differences from the first embodiment will be mainly described with reference to FIGS.
  • the packet format estimation apparatus 10 includes a generation unit 22, a conversion unit 23, an extraction unit 24, an inverse conversion unit 25, a classification unit 26, and an estimation unit 27 as functional elements for performing packet format estimation.
  • a change unit 34 is provided.
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, the estimation unit 27, and the change unit 34 are realized by software.
  • the auxiliary storage device 14 stores a packet format estimation program that is a program that realizes the functions of the generation unit 22, conversion unit 23, extraction unit 24, inverse conversion unit 25, classification unit 26, estimation unit 27, and change unit 34. ing.
  • the packet format estimation program is loaded into the memory 12 and executed by the processor 11.
  • Information, data, signal values, and variable values indicating the processing results of the generation unit 22, conversion unit 23, extraction unit 24, inverse conversion unit 25, classification unit 26, estimation unit 27, and change unit 34 are stored in the memory 12, auxiliary storage. It is stored in the device 14 or a register or cache memory in the processor 11.
  • the frequency analysis processing from step S102 to step S104 has a significant difference that the packet communication period can be extracted in the frequency domain.
  • a procedure for executing the process again from the generation of the first time series data 29 when there is no significant difference is added.
  • the “significant difference” is a difference that exceeds the threshold range preset by the user rather than the average value of the frequency spectrum.
  • step S201 and step S202 is the same as the processing of step S101 and step S102.
  • step S203 the changing unit 34 compares the frequency component Fx corresponding to the period Cx and the reference value Vs included in the first frequency spectrum 30 output from the converting unit 23.
  • the frequencies after step S204 are performed.
  • the process of step S208 is performed.
  • the changing unit 34 extracts a component larger than the reference value Vs from the first frequency spectrum 30 and is significant enough to extract a spectrum corresponding to constant period communication. Determine if there is a difference. If there is a significant difference, the processing from step S204 is performed. On the other hand, if there is no significant difference, the process of step S208 is performed.
  • step S208 the changing unit 34 changes the location from which data is extracted by the generating unit 22 of each packet included in at least some of the plurality of packets. And the process after step S201 is performed again.
  • all the packets of the “plurality of packets” included in the packet data set 21 as the packet data 41 and whose format is unknown are “at least some packets”. It corresponds to.
  • the changing unit 34 changes the part to be cut out from the packet in the process of step S201 to be performed again, and designates the cut-out part after the change to the generation unit 22.
  • the generation unit 22 cuts out the first 10 bytes in the process of the first step S201. If no significant difference is obtained in the process of step S202, in the process of the next step S201, the generation unit 22 extracts 10 bytes from the 11th byte from the top. Thereafter, the same processing is performed, and the processing of step S201 is performed with the cutout portion changed until a significant difference is obtained in the processing of step S202.
  • there are various methods for changing the cutout location such as a method of sliding to the back side of the data in the order of 10 bytes from the first 6 bytes and 10 bytes from the 11th byte. Can be used.
  • the changing unit 34 repeats the above process a predetermined number of times set by the user, and outputs an error indicating that the period cannot be extracted if no significant difference is obtained.
  • step S204 to step S207 is the same as the processing from step S103 to step S106.
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, the estimation unit 27, and the change unit 34 are realized by software.
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, the estimation unit 27, and the change unit 34 are realized by hardware. May be.
  • the functions of the generation unit 22, the conversion unit 23, the extraction unit 24, the inverse conversion unit 25, the classification unit 26, the estimation unit 27, and the change unit 34 may be realized by a combination of software and hardware.
  • Embodiment 3 The difference between the present embodiment and the second embodiment will be mainly described with reference to FIG.
  • Embodiment 2 when different periodic communications occur in the same period, they cannot be distinguished. On the other hand, in this Embodiment, such separate periodic communication can be distinguished.
  • the first frequency spectrum 30 after the frequency conversion is not an intended spectrum, and it is expected that it is difficult to extract the frequency component Fx corresponding to the period Cx.
  • step S301 the generation unit 22 selects one of a plurality of packets as a sample.
  • any one of “a plurality of packets” of unknown format included in the packet data set 21 as the packet data 41 is randomly selected as a sample.
  • the generation unit 22 uses a packet having a value within the setting range Rs from the sample value among “a plurality of packets” as “at least a part of the packets”. That is, the generation unit 22 extracts data having the same length from the same portion of each packet having a value within the setting range Rs from the sample value.
  • the generation unit 22 generates first time-series data 29 indicating the extracted data value as an amplitude corresponding to the arrival time of each packet.
  • the filtering process for narrowing down “plural packets” to packets having values within the setting range Rs from the sample value may be performed on the packet data set 21, or among the “plural packets” You may perform with respect to the time series data produced
  • the time series data generated for only the filtered packet is output as the first time series data 29 as it is.
  • the time series data generated for all the packets before filtering is converted to the first time series data 29 by filtering.
  • the set range Rs may be a fixed range preset by the user, such as ⁇ 5, or a variable range appropriately set by the generation unit 22. As a specific example of the latter, when considering the relationship of the number of packets corresponding to an increase in the value range, the second derivative is calculated, and a certain range from a value that becomes 0 is defined as an allowable range of extraction. Is possible.
  • an ideal periodic signal and a cross-correlation function are obtained with respect to the obtained time-series data when filtering is performed. By applying the above, it can be determined whether or not the filtering is successful.
  • the periodic signal is a signal called a periodic delta function or a comb function. If filtering is successful, only the zero part is correlated.
  • step S302 and step S303 is the same as the processing in step S202 and step S203. If there is a significant difference in step S303, the processing from step S304 is performed. On the other hand, if there is no significant difference, the process of step S308 is performed.
  • step S308 the changing unit 34 changes the sample selected by the generating unit 22. And the process after step S301 is performed again.
  • the randomly selected packets are not necessarily periodic communication packets. For this reason, as described above, a periodic communication packet is selected, and the processes in steps S301 and S302 are performed until a significant difference is obtained.
  • the number of times of sampling is set in advance by the user.
  • a method of selecting packets as samples in order of arrival time may be used. When this method is used, the user sets in advance how many packets can be selected from the head in the arrival order.
  • step S304 to step S307 is the same as the processing from step S204 to step S207.
  • step S ⁇ b> 301 the generation unit 22 may use, as “at least a part of packets”, a packet whose Hamming distance from the sample is within a setting range among “a plurality of packets”. That is, as a modification, the generation unit 22 may extract data having the same length from the same location of each packet whose hamming distance from the sample is within the setting range. The generation unit 22 generates first time-series data 29 indicating the extracted data value as an amplitude corresponding to the arrival time of each packet.
  • Embodiment 4 FIG. The difference between the present embodiment and the third embodiment will be mainly described.
  • a method for newly applying a value obtained by subtracting a Hamming distance from a randomly sampled packet from a maximum value that can be obtained by time-series data as a binary value of time-series data can be used.
  • This method can eliminate packets that are similar in value but different when viewed in a binary sequence.
  • the Hamming distance between an arbitrary binary string and a randomly generated binary string is half the bit length. Therefore, it becomes easy to extract data corresponding to a packet for periodic communication by discarding less than half of possible values from newly constructed time series data.
  • the truncation process may or may not be performed, but it is possible to determine which is more successfully extracted by calculating a correlation function with an ideal periodic delta function.
  • step S301 the generation unit 22 selects one of a plurality of packets as a sample.
  • any one of “a plurality of packets” of unknown format included in the packet data set 21 as the packet data 41 is randomly selected as a sample.
  • the generation unit 22 calculates a value obtained by subtracting the Hamming distance between each packet and the sample included in at least some of the “plurality of packets” from the value Vc common to each packet. In the present embodiment, all of the “plurality of packets” correspond to “at least some of the packets”. Although an arbitrary fixed value can be used as the common value Vc, the maximum value that can be taken by the time series data is used in the present embodiment.
  • the generation unit 22 generates first time series data 29 indicating the calculated value as an amplitude corresponding to the arrival time of each packet.
  • step S302 are the same as those in the third embodiment.
  • time-series data in which similar packets are emphasized when viewed with a specific packet and a binary string, and an improvement in the accuracy of packet classification in a cycle time can be expected.
  • a method for generating time series data a method of newly applying the Hamming distance itself with a randomly sampled packet as a binary value of time series data may be used. That is, in step S301, the generation unit 22 uses each packet and sample instead of the value obtained by subtracting the Hamming distance between each packet included in “at least some packets” and the sample from the value Vc common to each packet. The hamming distance may be calculated. The generation unit 22 generates first time series data 29 indicating the calculated Hamming distance as an amplitude corresponding to the arrival time of each packet.
  • Embodiment 5 The difference between the present embodiment and the fourth embodiment will be mainly described with reference to FIG.
  • the generation unit 22 selects one of a plurality of packets as a sample.
  • any one of “a plurality of packets” of unknown format included in the packet data set 21 as the packet data 41 is randomly selected as a sample.
  • the generation unit 22 calculates a value obtained by subtracting the Hamming distance between each packet and the sample included in at least some of the “plurality of packets” from the value Vc common to each packet. In the present embodiment, all of the “plurality of packets” correspond to “at least some of the packets”. Although an arbitrary fixed value can be used as the common value Vc, the maximum value that can be taken by the time series data is used in the present embodiment.
  • the generation unit 22 generates first time series data 29 indicating the calculated value as an amplitude corresponding to the arrival time of each packet.
  • step S402 and step S403 are the same as the processing of step S302 and step S303. If there is a significant difference in step S403, the processing from step S404 is performed. On the other hand, if there is no significant difference, the process of step S408 is performed.
  • step S408 the changing unit 34 changes the value calculated by the generating unit 22 to the Hamming distance between each packet included in “at least some packets” and the sample. That is, the changing unit 34 changes the method for generating time-series data. And the process after step S401 is performed again.
  • the process of selecting a sample is omitted. That is, the generation unit 22 calculates the Hamming distance between each packet included in “at least a part of the packets” and the sample selected in the first step S401. The generation unit 22 generates first time series data 29 indicating the calculated Hamming distance as an amplitude corresponding to the arrival time of each packet. Then, the process of step S402 is performed.
  • the changing unit 34 In the second step S403, if there is no significant difference, the changing unit 34 outputs an error indicating that the period cannot be extracted. If there is no significant difference even if the time series data generation method is changed in this way, the change unit 34 changes the sample selected by the generation unit 22 as in the third embodiment. May be. After the sample is changed, the processes after step S401 are performed again.
  • the method of applying the value obtained by subtracting the Hamming distance with a randomly sampled packet from the maximum value that can be taken by the time series data as a binary value of the time series data is that one of the packets transmitted at the cycle to be extracted is Effective when selected as a sample.
  • the method of applying the Hamming distance itself with a randomly sampled packet itself as a binary value of time-series data is effective when a packet other than a packet transmitted at a cycle to be extracted is selected as a sample. .
  • a significant difference is not obtained by using one of the above two methods as a method for generating time series data, a significant difference is obtained by using the other for the same sample. It becomes easy.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

パケットフォーマット推定装置(10)は、分類部(26)および推定部(27)を備える。分類部(26)は、パケットデータセット(21)にパケットデータ(41)として含まれる、フォーマットが不明な複数のパケットのうち、固定周期で送信された一連のパケットを到着周期が同じパケット群(33)として分類する。推定部(27)は、到着周期が同じパケット群(33)ごとにパケットフォーマット(28)を推定する。

Description

パケットフォーマット推定装置およびパケットフォーマット推定プログラム
 本発明は、パケットフォーマット推定装置およびパケットフォーマット推定プログラムに関するものである。
 サイバー攻撃が多様化するなか、工場または発電所等の制御システムが攻撃対象として狙われている。制御システム同士をつなげて構築する制御システムネットワークは、通信のリアルタイム性と、信頼性および即応性とに特化したネットワークである。制御対象装置が制御される際には、制御対象装置に取り付けられたセンサから物理値が一定周期でフィードバックされて、操作の命令がネットワーク経由で行われる。そのため、制御システムネットワーク内には、一定期間ごとに同じ目的のパケットが流れる。
 非特許文献1には、パケットフォーマット推定の技術が記載されている。「パケットフォーマット推定」とは、データフォーマットが未知なパケットのデータセットを入力として受け、統計解析処理を主な処理として行い、推定したパケットフォーマットを出力する技術のことである。ここでいう「パケットフォーマット」とは、パケットデータの文法のことであり、データの意味づけまでは対象としない。パケットデータの文法としては、主に、データの切れ目と、データが文字、数字およびバイナリのいずれであるかがプロトコルによって規定される。
 非特許文献1には、具体的には、未知のパケットデータに対してバイト単位で頻度分析を行い、頻度の高い複数のバイトのかたまりを、遷移確率付きの状態遷移図で表現することによって、パケットフォーマット推定を行う技術が記載されている。
 特許文献1には、フルキャプチャしたトラフィックに対して、ランダムパケットサンプリングを行って得られたフローの特徴量を計算する処理を複数回繰り返した後、得られた全フローと、フローごとに識別されたプロトコルとを対応付けて分類器を生成する技術が記載されている。
 特許文献2には、ネットワークにおけるトラヒック量の変動の周期性の有無を判別する技術が記載されている。
特開2012-205105号公報 特開2010-283668号公報
Wang et al., "Biprominer: Automatic Mining of Binary Protocol Features", IEEE PDCAT 2011, October 2011
 従来のパケットフォーマット推定の技術では、統計解析処理が繰り返し行われる。そのため、フォーマット推定に時間がかかる。
 本発明は、パケットフォーマット推定を高速化することを目的とする。
 本発明の一態様に係るパケットフォーマット推定装置は、
 到着した複数のパケットのうち、固定周期で送信された一連のパケットを到着周期が同じパケット群として分類する分類部と、
 前記到着周期が同じパケット群ごとにパケットフォーマットを推定する推定部とを備える。
 本発明では、パケットを通信周期によって分類することで、パケットフォーマット推定を高速化することができる。
実施の形態1に係るパケットフォーマット推定装置の構成を示すブロック図。 実施の形態1に係るパケットフォーマット推定装置の動作を示すフローチャート。 図2に示したステップS101の処理の例を示す図。 図2に示したステップS102からステップS104の処理の例を示す図。 図2に示したステップS105の処理の例を示す図。 実施の形態1に係るパケットフォーマットの例を示す図。 実施の形態2に係るパケットフォーマット推定装置の構成を示すブロック図。 実施の形態2に係るパケットフォーマット推定装置の動作を示すフローチャート。 図9に示したステップS203の処理の例を示す図。 実施の形態3に係るパケットフォーマット推定装置の動作を示すフローチャート。 実施の形態5に係るパケットフォーマット推定装置の動作を示すフローチャート。
 以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
 実施の形態1.
 本実施の形態について、図1から図6を用いて説明する。
 ***構成の説明***
 図1を参照して、本実施の形態に係るパケットフォーマット推定装置10の構成を説明する。
 パケットフォーマット推定装置10は、コンピュータである。パケットフォーマット推定装置10は、プロセッサ11を備えるとともに、メモリ12、入力インタフェース13、補助記憶装置14および表示器インタフェース15といった他のハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 パケットフォーマット推定装置10は、パケットフォーマット推定を行うための機能要素として、生成部22と、変換部23と、抽出部24と、逆変換部25と、分類部26と、推定部27とを備える。生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能は、ソフトウェアにより実現される。
 プロセッサ11は、パケットフォーマット推定等の演算処理を行うICである。「IC」は、Integrated Circuitの略語である。プロセッサ11は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
 メモリ12は、演算結果等を保持する媒体である。メモリ12は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
 入力インタフェース13は、ユーザからの入力を受け付ける装置を接続するインタフェースである。ユーザからの入力を受け付ける装置としては、例えば、マウス、キーボードまたはタッチパネルがある。
 補助記憶装置14は、データを記憶するための媒体である。補助記憶装置14は、例えば、フラッシュメモリまたはHDDである。「HDD」は、Hard Disk Driveの略語である。
 表示器インタフェース15は、画面に結果等を表示する表示器を接続するインタフェースである。表示器としては、例えば、LCDがある。「LCD」は、Liquid Crystal Displayの略語である。
 図示していないが、パケットフォーマット推定装置10は、ハードウェアとして、通信装置を備えていてもよい。
 通信装置は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。通信装置は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
 パケットフォーマット推定装置10は、フォーマットが不明な複数のパケットをパケットデータ41、各パケットの到着時刻を到着時刻データ42として保持するパケットデータセット21を補助記憶装置14から読み出す。パケットフォーマット推定装置10は、パケットデータセット21を用いてパケットフォーマット推定を行った後、推定したパケットフォーマット28を補助記憶装置14に書き込む。
 パケットフォーマット推定装置10は、入力インタフェース13を介して、パケットデータセット21の入力をユーザから受けてもよい。パケットフォーマット推定装置10は、レシーバを介して、パケットデータセット21を外部の装置から受信してもよい。
 パケットフォーマット推定装置10は、表示器インタフェース15を介して、推定したパケットフォーマット28を画面に表示してもよい。パケットフォーマット推定装置10は、トランスミッタを介して、推定したパケットフォーマット28を外部の装置に送信してもよい。
 補助記憶装置14には、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能を実現するプログラムであるパケットフォーマット推定プログラムが記憶されている。パケットフォーマット推定プログラムは、メモリ12にロードされ、プロセッサ11によって実行される。補助記憶装置14には、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ11は、OSを実行しながら、パケットフォーマット推定プログラムを実行する。なお、パケットフォーマット推定プログラムの一部または全部がOSに組み込まれていてもよい。
 パケットフォーマット推定装置10は、プロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、パケットフォーマット推定プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ11と同じように、パケットフォーマット推定等の演算処理を行うICである。
 生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の処理の結果を示す情報、データ、信号値および変数値は、メモリ12、補助記憶装置14、または、プロセッサ11内のレジスタまたはキャッシュメモリに記憶される。
 パケットフォーマット推定プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
 ***動作の説明***
 図2を参照して、本実施の形態に係るパケットフォーマット推定装置10の動作を説明する。パケットフォーマット推定装置10の動作は、本実施の形態に係るパケットフォーマット推定方法に相当する。
 ステップS101において、生成部22は、複数のパケットのうち少なくとも一部のパケットに含まれる各パケットの同じ箇所から、同じ長さを持つデータを抽出する。本実施の形態では、パケットデータセット21にパケットデータ41として含まれる、フォーマットが不明な「複数のパケット」のうちすべてのパケットが、「少なくとも一部のパケット」に相当する。生成部22は、抽出したデータの値を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。
 具体的には、生成部22は、パケットデータセット21を入力として補助記憶装置14から読み出す。生成部22は、パケットデータセット21の各パケットで、先頭から10バイトといったような同一箇所の一部分を等しく取り出し、到着時刻データ42と対応付けることで、第1時系列データ29を生成する。生成部22は、第1時系列データ29を変換部23に出力する。
 図3に、パケットデータセット21から第1時系列データ29を生成する処理の例を示す。図3の例では、パケットデータセット21の各パケットの先頭部分が切り出されている。切り出された部分のバイナリ値が第1時系列データ29の振幅、到着時刻が時間軸に対応付けられている。パケットから切り出される部分は、パケットの目的によって特徴の出る部分が望ましい。よって、いわゆるヘッダ部分、つまりパケットの先頭部分が切り出されることが望ましい。切り出す部分の長さは、処理を行うプロセッサ11の性能によって変えてもよい。あるいは、プロセッサ11のSIMD機能を用いる場合には、切り出す部分の長さをSIMDで扱えるデータ長に合わせることで高速な処理が期待できる。「SIMD」は、Single Instruction Multiple Dataの略語である。
 ステップS102において、変換部23は、生成部22により生成された第1時系列データ29の周波数変換を行って第1周波数スペクトル30を出力する。
 具体的には、変換部23は、第1時系列データ29を入力として受ける。変換部23は、図4に示す例のように、第1時系列データ29の離散高速フーリエ変換を行うことで、第1周波数スペクトル30を生成する。変換部23は、第1周波数スペクトル30を抽出部24に出力する。
 なお、周波数変換としては、任意のアルゴリズムを用いることができる。離散高速フーリエ変換の代わりに、他に離散フーリエ変換が用いられてもよい。変換部23は、周波数変換を行う前に、第1時系列データ29にハニング窓またはハミング窓等の窓関数を掛けてもよい。
 ステップS103において、抽出部24は、変換部23より出力された第1周波数スペクトル30から、ある周期Cxに相当する周波数成分Fxを抽出して第2周波数スペクトル31を出力する。すなわち、抽出部24は、ある周期Cxの通信の成分Fxを残し、それ以外の成分を0にする処理を行う。
 具体的には、抽出部24は、第1周波数スペクトル30を入力として受ける。抽出部24は、図4に示す例のように、抽出したい周期に相当するスペクトル成分のみを残して、それ以外を取り除き、第2周波数スペクトル31を生成する。抽出部24は、第2周波数スペクトル31を逆変換部25に出力する。
 抽出したい周期は、あらかじめ複数設定される。抽出部24は、設定された周期に該当する箇所を抽出したときの平均値が、スペクトル全体の平均値を上回っていたら、該当する周期信号があると判断し、それを取り出す。抽出部24は、これを抽出したい周期の数だけ繰り返す。
 抽出部24は、第2周波数スペクトル31を、抽出したい周期の数だけ出力する。抽出に使用するスペクトルは、本実施の形態では、周波数変換後の実部および虚部のそれぞれのスペクトルの二乗和の平方根であるパワースペクトルである。なお、実部および虚部をそれぞれ抽出に使用することも可能である。ただし、理想的な周期信号との位相ずれによって、実部および虚部の片方にしかスペクトルが出現しない可能性があるので、位相ずれを考慮する必要がある。
 ステップS104において、逆変換部25は、抽出部24より出力された第2周波数スペクトル31の周波数逆変換を行って第2時系列データ32を出力する。
 具体的には、逆変換部25は、第2周波数スペクトル31を入力として受ける。逆変換部25は、第2周波数スペクトル31に対して、変換部23の演算の逆演算に相当する演算を行うことで、第2時系列データ32を生成する。すなわち、逆変換部25は、図4に示す例のように、第2周波数スペクトル31の離散高速フーリエ逆変換を行うことで、第2時系列データ32を生成する。逆変換部25は、第2時系列データ32を分類部26に出力する。
 なお、周波数逆変換としては、周波数変換に対応するものであれば、任意のアルゴリズムを用いることができる。離散高速フーリエ逆変換の代わりに、他に離散フーリエ逆変換が用いられてもよい。
 逆変換部25は、入力された第2周波数スペクトル31の数だけ、第2時系列データ32を出力する。
 ステップS105において、分類部26は、逆変換部25より出力された第2時系列データ32を参照して、周期Cxで送信された一連のパケットを識別する。周期Cxは、固定周期である。すなわち、「一連のパケット」は、等しい時間間隔で送信されたパケットである。分類部26は、識別した一連のパケットを到着周期が同じパケット群33として分類する。すなわち、分類部26は、到着した複数のパケットのうち、固定周期で送信された一連のパケットを到着周期が同じパケット群33として分類する。
 具体的には、分類部26は、第2時系列データ32を入力として受ける。分類部26は、図5に示す例のように、第2時系列データ32のバイト値および時刻に対応するパケットを、パケットデータセット21から探索し、抽出したパケットを同じパケット群33に分類する。すなわち、分類部26は、パケットデータセット21のパケットを、抽出したい周期によって異なるパケット群33に分類する。分類部26は、周期ごとのパケット群33を推定部27に出力する。
 パケットの探索においては、値または時刻が、ステップS102からステップS104の周波数解析処理による誤差等で、厳密に一致しないことがある。そのため、分類部26は、パケットの切り出される部分のバイト値とパケットの到着時刻とが、第2時系列データ32のバイト値と時刻とから、ユーザがあらかじめ設定した一定の範囲内であれば、両者が一致したとみなす。
 分類部26は、入力された第2時系列データ32ごとに上記の処理を行うことで、パケットデータセット21のパケットを複数のパケット群33に分類する。
 ステップS106において、推定部27は、到着周期が同じパケット群33ごとにパケットフォーマット28を推定する。
 具体的には、推定部27は、周期ごとのパケット群33を入力として受ける。推定部27は、非特許文献1と同じアルゴリズムまたはその他のアルゴリズムを用いて、パケット群33ごとのパケットフォーマット推定を行う。その結果、同じパケット群33に分類されたパケットについては、1つの共通のパケットフォーマット28が推定される。推定部27は、推定したパケットフォーマット28を出力として補助記憶装置14に書き込む。パケットフォーマット28のデータ構造としては、任意のデータ構造を用いることができるが、本実施の形態では図6に示す例のようなグラフが用いられる。
 ***実施の形態の効果の説明***
 本実施の形態では、パケットを通信周期によって分類することで、パケットフォーマット推定を高速化することができる。
 前述した制御システムネットワークでは、周期通信が多く行われる。通信周期は、制御対象装置に合わせて設定される固有のものである。すなわち、通信周期は、目的とする通信内容と大きく関わりがある。例えば、モータの回転数を制御することを目的とした周期通信は、モータまたはそのモータが搭載された制御対象装置に合わせた周期で行われる。通信周期が通信内容と大きく関わりがあるということは、通信周期がパケット内容と対応付けられるということである。よって、本実施の形態のように、通信周期でパケットを分類するということは、パケットを内容ごとに分けることにつながる。本実施の形態では、パケットを通信周期で分類することで、同じ目的の通信で送信されるパケットを同じパケット群33に分類することができ、結果として統計的に有意な差を出しやすくなる。すなわち、本実施の形態では、通信周期によってパケットを分類することで、同じ目的および特徴を持ったパケットを識別できるため、単純な統計解析処理だけでパケットフォーマット推定を行うことができる。よって、パケットフォーマット推定が高速になる。
 ***他の構成***
 本実施の形態では、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能がソフトウェアにより実現されるが、変形例として、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能がハードウェアにより実現されてもよい。すなわち、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能が専用の電子回路により実現されてもよい。
 専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「GA」は、Gate Arrayの略語である。「FPGA」は、Field-Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
 別の変形例として、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
 プロセッサ11、メモリ12および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能がソフトウェアにより実現されるか、ハードウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の機能は、プロセッシングサーキットリにより実現される。
 パケットフォーマット推定装置10の「装置」を「方法」に読み替え、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の「部」を「工程」に読み替えてもよい。あるいは、パケットフォーマット推定装置10の「装置」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な媒体」に読み替え、生成部22、変換部23、抽出部24、逆変換部25、分類部26および推定部27の「部」を「手順」または「処理」に読み替えてもよい。
 実施の形態2.
 本実施の形態について、主に実施の形態1との差異を、図7から図9を用いて説明する。
 ***構成の説明***
 図7を参照して、本実施の形態に係るパケットフォーマット推定装置10の構成を説明する。
 パケットフォーマット推定装置10は、パケットフォーマット推定を行うための機能要素として、生成部22と、変換部23と、抽出部24と、逆変換部25と、分類部26と、推定部27とのほかに、変更部34を備える。生成部22、変換部23、抽出部24、逆変換部25、分類部26、推定部27および変更部34の機能は、ソフトウェアにより実現される。
 補助記憶装置14には、生成部22、変換部23、抽出部24、逆変換部25、分類部26、推定部27および変更部34の機能を実現するプログラムであるパケットフォーマット推定プログラムが記憶されている。パケットフォーマット推定プログラムは、メモリ12にロードされ、プロセッサ11によって実行される。
 生成部22、変換部23、抽出部24、逆変換部25、分類部26、推定部27および変更部34の処理の結果を示す情報、データ、信号値および変数値は、メモリ12、補助記憶装置14、または、プロセッサ11内のレジスタまたはキャッシュメモリに記憶される。
 ***動作の説明***
 図8を参照して、本実施の形態に係るパケットフォーマット推定装置10の動作を説明する。パケットフォーマット推定装置10の動作は、本実施の形態に係るパケットフォーマット推定方法に相当する。
 実施の形態1では、ステップS102からステップS104の周波数解析処理にて、パケットの通信周期が周波数領域で抽出できるほどの有意な差が出ていることを前提としている。本実施の形態では、周波数領域で有意な差が出ず、周波数領域での抽出が困難になった場合の処理が追加されている。具体的には、有意な差がない場合に、第1時系列データ29の生成から再度処理を実行する手順が追加されている。ここでの「有意な差」とは、周波数スペクトルの平均値よりもユーザがあらかじめ設定した閾値の範囲を超えるような差のことである。
 ステップS201およびステップS202の処理については、ステップS101およびステップS102の処理と同じである。
 ステップS203において、変更部34は、変換部23より出力された第1周波数スペクトル30に含まれる、周期Cxに相当する周波数成分Fxと基準値Vsとを比較する。周波数成分Fxが基準値Vsよりも大きいか、周波数成分Fxが基準値Vsと同じである場合、ステップS204以降の処理が行われる。一方、周波数成分Fxが基準値Vsよりも小さい場合、ステップS208の処理が行われる。
 具体的には、変更部34は、図9に示す例のように、第1周波数スペクトル30から、基準値Vsよりも大きい成分を抽出し、一定周期通信に相当するスペクトルが取り出せるほど、有意な差があるかどうかを判定する。有意な差があれば、ステップS204以降の処理が行われる。一方、有意な差がなければ、ステップS208の処理が行われる。
 ステップS208において、変更部34は、複数のパケットのうち少なくとも一部のパケットに含まれる各パケットの、生成部22によりデータが抽出される箇所を変更する。そして、ステップS201以降の処理が再び行われる。実施の形態1と同じように、本実施の形態では、パケットデータセット21にパケットデータ41として含まれる、フォーマットが不明な「複数のパケット」のうちすべてのパケットが、「少なくとも一部のパケット」に相当する。
 具体的には、変更部34は、再度行われるステップS201の処理においてパケットから一部分を切り出す箇所を変更し、変更後の切り出し箇所を生成部22に指定する。具体例として、最初のステップS201の処理では、生成部22が先頭10バイトを切り出していたとする。ステップS202の処理で有意な差が得られない場合は、次のステップS201の処理では、生成部22が先頭から11バイト目から10バイト分を取り出す。それ以降、同様の処理が行われて、ステップS202の処理で有意な差が得られるまで、切り出し箇所を変更してステップS201の処理が実施される。なお、切り出し箇所の変更方法としては、上記の方法以外に、先頭6バイト目から10バイト分、先頭11バイト目から10バイト分といった順番で、データの後ろ側にスライドしていく方法等、様々な方法を用いることができる。
 変更部34は、ユーザが設定した一定の回数、上記の処理を繰り返し、有意な差が得られない場合には、周期が抽出できない旨のエラーを出力する。
 ステップS204からステップS207の処理については、ステップS103からステップS106の処理と同じである。
 ***実施の形態の効果の説明***
 実施の形態1では、生成部22によりパケットから切り出された部分がデータ部またはCRC等のようなランダムなビット列であった場合は、たとえそのパケットに周期的な信号が含まれていたとしても、切り出された部分はホワイトノイズのような時系列データになってしまう。「CRC」は、Cyclic Redundancy Checkの略語である。一方、本実施の形態では、生成部22により周期通信のパケットから切り出された部分が一定の値を持つデータでなければ、同じパケットから別のデータを切り出すことで、周期通信を検出できるような時系列データが得られる。その結果、より精度の高いパケット分類が可能になる。
 ***他の構成***
 本実施の形態では、実施の形態1と同じように、生成部22、変換部23、抽出部24、逆変換部25、分類部26、推定部27および変更部34の機能がソフトウェアにより実現されるが、実施の形態1の変形例と同じように、生成部22、変換部23、抽出部24、逆変換部25、分類部26、推定部27および変更部34の機能がハードウェアにより実現されてもよい。あるいは、生成部22、変換部23、抽出部24、逆変換部25、分類部26、推定部27および変更部34の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
 実施の形態3.
 本実施の形態について、主に実施の形態2との差異を、図10を用いて説明する。
 ***構成の説明***
 本実施の形態に係るパケットフォーマット推定装置10の構成については、図7に示した実施の形態2のものと同じである。
 ***動作の説明***
 図10を参照して、本実施の形態に係るパケットフォーマット推定装置10の動作を説明する。パケットフォーマット推定装置10の動作は、本実施の形態に係るパケットフォーマット推定方法に相当する。
 実施の形態2では、同一の周期で別々の周期通信が発生していたときに、それらを区別することができない。一方、本実施の形態では、そのような別々の周期通信を区別することができる。
 同一の周期で別々の周期通信が発生しているとき、周波数変換後の第1周波数スペクトル30は意図したスペクトルにならず、周期Cxに相当する周波数成分Fxの抽出が困難となることが予想される。周期Cxに相当する周波数成分Fxの取り出しが困難と判断される場合は、時系列データから、値の近いデータを間引くことで対処できる。
 ステップS301において、生成部22は、複数のパケットのうちいずれかのパケットをサンプルとして選択する。本実施の形態では、パケットデータセット21にパケットデータ41として含まれる、フォーマットが不明な「複数のパケット」のうちいずれかのパケットがサンプルとしてランダムに選択される。生成部22は、「複数のパケット」のうち、サンプルの値から設定範囲Rs内の値を持つパケットを「少なくとも一部のパケット」として利用する。すなわち、生成部22は、サンプルの値から設定範囲Rs内の値を持つ各パケットの同じ箇所から、同じ長さを持つデータを抽出する。生成部22は、抽出したデータの値を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。
 なお、「複数のパケット」を、サンプルの値から設定範囲Rs内の値を持つパケットに絞るフィルタリングの処理は、パケットデータセット21に対して行われてもよいし、「複数のパケット」のうちすべてのパケットについて生成された時系列データに対して行われてもよい。前者の場合は、フィルタリング後のパケットのみについて生成された時系列データがそのまま第1時系列データ29として出力される。後者の場合は、フィルタリング前のすべてのパケットについて生成された時系列データがフィルタリングによって第1時系列データ29に変換される。
 設定範囲Rsは、±5といったような、ユーザによりあらかじめ設定された固定の範囲でもよいし、生成部22により適宜設定される可変の範囲でもよい。後者の具体例として、値の範囲を増加させたときに該当するパケット数の関係を考えたときに、その2次微分を計算し、0になる値からの一定範囲を、抽出の許容範囲とすることが可能である。フィルタリング前に生成された時系列データがフィルタリングによって第1時系列データ29に変換される場合は、フィルタリングを行った際に、得られた時系列データに対して理想的な周期信号と相互相関関数とを適用することで、フィルタリングがうまくいったかどうかを判定することができる。周期信号は、周期的デルタ関数あるいはコム関数と呼ばれる信号である。フィルタリングがうまくいっていれば、0の部分のみに相関が立つ。
 ステップS302およびステップS303の処理については、ステップS202およびステップS203の処理と同じである。ステップS303において、有意な差があれば、ステップS304以降の処理が行われる。一方、有意な差がなければ、ステップS308の処理が行われる。
 ステップS308において、変更部34は、生成部22により選択されるサンプルを変更する。そして、ステップS301以降の処理が再び行われる。
 本実施の形態では、パケットをランダムにサンプリングするため、ランダムに選択されるパケットが周期通信のパケットであるとは限らない。そのため、上記のように、周期通信のパケットが選択され、有意な差が出るまでステップS301およびステップS302の処理が行われる。サンプリングを行う回数はユーザがあらかじめ設定する。なお、ステップS301において、ランダムにサンプリングを行う代わりに、到着時刻の早い順にパケットをサンプルとして選択する方法を用いてもよい。この方法を用いる場合は、到着順の先頭から、いくつのパケットまでを選択してよいかをユーザがあらかじめ設定する。
 ステップS304からステップS307の処理については、ステップS204からステップS207の処理と同じである。
 ***実施の形態の効果の説明***
 本実施の形態によれば、同一の周期で別々の周期通信が発生していたときに、それらを区別することができる。その結果、より精度の高いパケット分類が可能になる。
 ***他の構成***
 ステップS301において、生成部22は、「複数のパケット」のうち、サンプルとのハミング距離が設定範囲内のパケットを「少なくとも一部のパケット」として利用してもよい。すなわち、変形例として、生成部22は、サンプルとのハミング距離が設定範囲内の各パケットの同じ箇所から、同じ長さを持つデータを抽出してもよい。生成部22は、抽出したデータの値を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。
 実施の形態4.
 本実施の形態について、主に実施の形態3との差異を説明する。
 実施の形態3では、値またはハミング距離が一定の範囲内であるパケットのみを抽出し、出力する時系列データには、抽出したパケットから切り出した値を使用するが、構成した時系列データが近似した値が連続するデータである場合には、この方法が適用できない。
 時系列データの生成方法として、ランダムにサンプリングしたパケットとのハミング距離を、時系列データでとり得る最大値から引いた値を、新たに時系列データのバイナリ値として適用する方法を用いることができる。この方法により、値が似ているが、バイナリ列で見たときには異なるパケットを排除することができる。一般的には、任意のバイナリ列と、ランダムに生成したバイナリ列とのハミング距離は、ビット長の半分である。よって、新たに構成した時系列データから、とり得る値の半分に満たないものを切り捨てることで、周期通信のパケットに相当するデータを抽出しやすくなる。切り捨ての処理は実施しても実施しなくてもよいが、理想的な周期的デルタ関数との相関関数を算出することで、どちらがより抽出に成功しているかを判別することができる。
 ステップS301において、生成部22は、複数のパケットのうちいずれかのパケットをサンプルとして選択する。本実施の形態では、パケットデータセット21にパケットデータ41として含まれる、フォーマットが不明な「複数のパケット」のうちいずれかのパケットがサンプルとしてランダムに選択される。生成部22は、「複数のパケット」のうち少なくとも一部のパケットに含まれる各パケットとサンプルとのハミング距離を各パケットに共通の値Vcから差し引いた値を計算する。本実施の形態では、「複数のパケット」のうちすべてのパケットが、「少なくとも一部のパケット」に相当する。共通の値Vcとしては、任意の固定値を用いることができるが、本実施の形態では、時系列データでとり得る最大値が用いられる。生成部22は、計算した値を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。
 ステップS302以降の処理については、実施の形態3のものと同じである。
 本実施の形態によれば、特定のパケットとバイナリ列で見たときに似たパケットを強調した時系列データを得ることができ、周期時間でのパケット分類の精度の向上が期待できる。
 ***他の構成***
 時系列データの生成方法として、ランダムにサンプリングしたパケットとのハミング距離そのものを、新たに時系列データのバイナリ値として適用する方法を用いてもよい。すなわち、ステップS301において、生成部22は、「少なくとも一部のパケット」に含まれる各パケットとサンプルとのハミング距離を各パケットに共通の値Vcから差し引いた値の代わりに、各パケットとサンプルとのハミング距離を計算してもよい。生成部22は、計算したハミング距離を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。
 実施の形態5.
 本実施の形態について、主に実施の形態4との差異を、図11を用いて説明する。
 ***構成の説明***
 本実施の形態に係るパケットフォーマット推定装置10の構成については、図7に示した実施の形態2のものと同じである。
 ***動作の説明***
 図11を参照して、本実施の形態に係るパケットフォーマット推定装置10の動作を説明する。パケットフォーマット推定装置10の動作は、本実施の形態に係るパケットフォーマット推定方法に相当する。
 1回目のステップS401において、生成部22は、複数のパケットのうちいずれかのパケットをサンプルとして選択する。本実施の形態では、パケットデータセット21にパケットデータ41として含まれる、フォーマットが不明な「複数のパケット」のうちいずれかのパケットがサンプルとしてランダムに選択される。生成部22は、「複数のパケット」のうち少なくとも一部のパケットに含まれる各パケットとサンプルとのハミング距離を各パケットに共通の値Vcから差し引いた値を計算する。本実施の形態では、「複数のパケット」のうちすべてのパケットが、「少なくとも一部のパケット」に相当する。共通の値Vcとしては、任意の固定値を用いることができるが、本実施の形態では、時系列データでとり得る最大値が用いられる。生成部22は、計算した値を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。
 ステップS402およびステップS403の処理については、ステップS302およびステップS303の処理と同じである。ステップS403において、有意な差があれば、ステップS404以降の処理が行われる。一方、有意な差がなければ、ステップS408の処理が行われる。
 ステップS408において、変更部34は、生成部22により計算される値を、「少なくとも一部のパケット」に含まれる各パケットとサンプルとのハミング距離に変更する。すなわち、変更部34は、時系列データの生成方法を変更する。そして、ステップS401以降の処理が再び行われる。
 2回目のステップS401では、サンプルを選択する処理が省略される。すなわち、生成部22は、「少なくとも一部のパケット」に含まれる各パケットと1回目のステップS401で選択したサンプルとのハミング距離を計算する。生成部22は、計算したハミング距離を、各パケットの到着時刻に対応する振幅として示す第1時系列データ29を生成する。そして、ステップS402の処理が行われる。
 2回目のステップS403では、有意な差がなければ、変更部34は、周期が抽出できない旨のエラーを出力する。なお、このように時系列データの生成方法を変更しても有意な差が出ない場合は、実施の形態3と同じように、変更部34が、生成部22により選択されるサンプルを変更してもよい。サンプルの変更後は、ステップS401以降の処理が再び行われる。
 ***実施の形態の効果の説明***
 ランダムにサンプリングしたパケットとのハミング距離を、時系列データでとり得る最大値から引いた値を、新たに時系列データのバイナリ値として適用する方法は、抽出したい周期で送信されたパケットの1つがサンプルとして選択された場合に有効である。一方、ランダムにサンプリングしたパケットとのハミング距離そのものを、新たに時系列データのバイナリ値として適用する方法は、抽出したい周期で送信されたパケット以外のパケットがサンプルとして選択された場合に有効である。本実施の形態では、時系列データの生成方法として、上記2つの方法のうち一方を用いても有意な差が得られない場合に、同じサンプルに対して他方を用いることで有意な差を得やすくなる。
 ***他の構成***
 上記2つの方法のうちどちらを先に用いるかは、適宜変更することができる。
 10 パケットフォーマット推定装置、11 プロセッサ、12 メモリ、13 入力インタフェース、14 補助記憶装置、15 表示器インタフェース、21 パケットデータセット、22 生成部、23 変換部、24 抽出部、25 逆変換部、26 分類部、27 推定部、28 パケットフォーマット、29 第1時系列データ、30 第1周波数スペクトル、31 第2周波数スペクトル、32 第2時系列データ、33 パケット群、34 変更部、41 パケットデータ、42 到着時刻データ。

Claims (10)

  1.  到着した複数のパケットのうち、固定周期で送信された一連のパケットを到着周期が同じパケット群として分類する分類部と、
     前記到着周期が同じパケット群ごとにパケットフォーマットを推定する推定部と
    を備えるパケットフォーマット推定装置。
  2.  前記複数のパケットのうち少なくとも一部のパケットに含まれる各パケットの同じ箇所から、同じ長さを持つデータを抽出し、抽出したデータの値を、各パケットの到着時刻に対応する振幅として示す第1時系列データを生成する生成部と、
     前記生成部により生成された第1時系列データの周波数変換を行って第1周波数スペクトルを出力する変換部と、
     前記変換部より出力された第1周波数スペクトルから前記固定周期に相当する周波数成分を抽出して第2周波数スペクトルを出力する抽出部と、
     前記抽出部より出力された第2周波数スペクトルの周波数逆変換を行って第2時系列データを出力する逆変換部と
    をさらに備え、
     前記分類部は、前記逆変換部より出力された第2時系列データを参照して前記一連のパケットを識別する請求項1に記載のパケットフォーマット推定装置。
  3.  前記変換部より出力された第1周波数スペクトルに含まれる、前記固定周期に相当する周波数成分が基準値よりも小さい場合、前記少なくとも一部のパケットに含まれる各パケットの、前記生成部によりデータが抽出される箇所を変更する変更部をさらに備える請求項2に記載のパケットフォーマット推定装置。
  4.  前記生成部は、前記複数のパケットのうちいずれかのパケットをサンプルとして選択し、前記複数のパケットのうち、前記サンプルの値から設定範囲内の値を持つパケットを前記少なくとも一部のパケットとして利用する請求項2または3に記載のパケットフォーマット推定装置。
  5.  前記生成部は、前記複数のパケットのうちいずれかのパケットをサンプルとして選択し、前記複数のパケットのうち、前記サンプルとのハミング距離が設定範囲内のパケットを前記少なくとも一部のパケットとして利用する請求項2または3に記載のパケットフォーマット推定装置。
  6.  前記複数のパケットのうちいずれかのパケットをサンプルとして選択し、前記複数のパケットのうち少なくとも一部のパケットに含まれる各パケットと前記サンプルとのハミング距離を計算し、計算したハミング距離を、各パケットの到着時刻に対応する振幅として示す第1時系列データを生成する生成部と、
     前記生成部により生成された第1時系列データの周波数変換を行って第1周波数スペクトルを出力する変換部と、
     前記変換部より出力された第1周波数スペクトルから前記固定周期に相当する周波数成分を抽出して第2周波数スペクトルを出力する抽出部と、
     前記抽出部より出力された第2周波数スペクトルの周波数逆変換を行って第2時系列データを出力する逆変換部と
    をさらに備え、
     前記分類部は、前記逆変換部より出力された第2時系列データを参照して前記一連のパケットを識別する請求項1に記載のパケットフォーマット推定装置。
  7.  前記変換部より出力された第1周波数スペクトルに含まれる、前記固定周期に相当する周波数成分が基準値よりも小さい場合、前記生成部により計算される値を、前記少なくとも一部のパケットに含まれる各パケットと前記サンプルとのハミング距離を各パケットに共通の値から差し引いた値に変更する変更部をさらに備える請求項6に記載のパケットフォーマット推定装置。
  8.  前記複数のパケットのうちいずれかのパケットをサンプルとして選択し、前記複数のパケットのうち少なくとも一部のパケットに含まれる各パケットと前記サンプルとのハミング距離を各パケットに共通の値から差し引いた値を計算し、計算した値を、各パケットの到着時刻に対応する振幅として示す第1時系列データを生成する生成部と、
     前記生成部により生成された第1時系列データの周波数変換を行って第1周波数スペクトルを出力する変換部と、
     前記変換部より出力された第1周波数スペクトルから前記固定周期に相当する周波数成分を抽出して第2周波数スペクトルを出力する抽出部と、
     前記抽出部より出力された第2周波数スペクトルの周波数逆変換を行って第2時系列データを出力する逆変換部と
    をさらに備え、
     前記分類部は、前記逆変換部より出力された第2時系列データを参照して前記一連のパケットを識別する請求項1に記載のパケットフォーマット推定装置。
  9.  前記変換部より出力された第1周波数スペクトルに含まれる、前記固定周期に相当する周波数成分が基準値よりも小さい場合、前記生成部により計算される値を、前記少なくとも一部のパケットに含まれる各パケットと前記サンプルとのハミング距離に変更する変更部をさらに備える請求項8に記載のパケットフォーマット推定装置。
  10.  コンピュータに、
     到着した複数のパケットのうち、固定周期で送信された一連のパケットを到着周期が同じパケット群として分類する処理と、
     前記到着周期が同じパケット群ごとにパケットフォーマットを推定する処理と
    を実行させるパケットフォーマット推定プログラム。
PCT/JP2017/004248 2017-02-06 2017-02-06 パケットフォーマット推定装置およびパケットフォーマット推定プログラム WO2018142620A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/473,581 US20190349390A1 (en) 2017-02-06 2017-02-06 Packet format inference apparatus and computer readable medium
PCT/JP2017/004248 WO2018142620A1 (ja) 2017-02-06 2017-02-06 パケットフォーマット推定装置およびパケットフォーマット推定プログラム
JP2018565230A JP6501999B2 (ja) 2017-02-06 2017-02-06 パケットフォーマット推定装置およびパケットフォーマット推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/004248 WO2018142620A1 (ja) 2017-02-06 2017-02-06 パケットフォーマット推定装置およびパケットフォーマット推定プログラム

Publications (1)

Publication Number Publication Date
WO2018142620A1 true WO2018142620A1 (ja) 2018-08-09

Family

ID=63039456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/004248 WO2018142620A1 (ja) 2017-02-06 2017-02-06 パケットフォーマット推定装置およびパケットフォーマット推定プログラム

Country Status (3)

Country Link
US (1) US20190349390A1 (ja)
JP (1) JP6501999B2 (ja)
WO (1) WO2018142620A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7413172B2 (ja) 2020-07-15 2024-01-15 株式会社東芝 通信解析装置およびプログラム
US11764817B2 (en) * 2021-10-04 2023-09-19 Booz Allen Hamilton Inc. Spectrum-analysis-isolation-synthesis machine learning-based receiver system and method for spectrum coexistence and sharing applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010093502A (ja) * 2008-10-07 2010-04-22 Nec Corp ネットワーク計測装置、ネットワーク計測方法、およびプログラム
WO2014125636A1 (ja) * 2013-02-18 2014-08-21 日本電信電話株式会社 通信装置またはパケット転送方法
JP2014154957A (ja) * 2013-02-06 2014-08-25 Nec Casio Mobile Communications Ltd 通信制御装置、通信制御方法、及び、そのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010093502A (ja) * 2008-10-07 2010-04-22 Nec Corp ネットワーク計測装置、ネットワーク計測方法、およびプログラム
JP2014154957A (ja) * 2013-02-06 2014-08-25 Nec Casio Mobile Communications Ltd 通信制御装置、通信制御方法、及び、そのプログラム
WO2014125636A1 (ja) * 2013-02-18 2014-08-21 日本電信電話株式会社 通信装置またはパケット転送方法

Also Published As

Publication number Publication date
JPWO2018142620A1 (ja) 2019-04-18
US20190349390A1 (en) 2019-11-14
JP6501999B2 (ja) 2019-04-17

Similar Documents

Publication Publication Date Title
US10679135B2 (en) Periodicity analysis on heterogeneous logs
JP6106340B2 (ja) ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
EP2215565B1 (en) Deterministic finite automata (dfa) graph compression
US20150106930A1 (en) Log analysis device and method
CN110808994B (zh) 暴力破解操作的检测方法、装置及服务器
WO2017087437A1 (en) Fast pattern discovery for log analytics
US20210250260A1 (en) Detection device and detection method
WO2018142620A1 (ja) パケットフォーマット推定装置およびパケットフォーマット推定プログラム
JP2020013561A (ja) 予め選択されたシグネチャを使用して任意長の時系列を特徴付けるためのシステムおよび方法
US9081635B2 (en) Provision to an application of a random number not generated by an operating system
EP4274160A1 (en) System and method for machine learning based malware detection
WO2016122708A1 (en) Determining a sampling rate for data traffic
Chen et al. An optimized reconfigurable power spectral density converter for real-time shrew DDoS attacks detection
US10310910B1 (en) Iterative autocorrelation calculation for big data using components
CN115410048B (zh) 图像分类模型的训练及图像分类方法、装置、设备及介质
JP6295850B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN115580489A (zh) 数据传输方法、装置、设备及存储介质
US11556649B2 (en) Methods and apparatus to facilitate malware detection using compressed data
US9236056B1 (en) Variable length local sensitivity hash index
KR20180041072A (ko) 오디오 프레임 프로세싱을 위한 디바이스 및 방법
CN112863548A (zh) 训练音频检测模型的方法、音频检测方法及其装置
CN113010571A (zh) 数据检测方法、装置、电子设备、存储介质和程序产品
CN106789895B (zh) 压缩文本检测方法和装置
CN115102728B (zh) 一种用于信息安全的扫描器识别方法、装置、设备及介质
US11048477B2 (en) Entropy server for random number generation

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018565230

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

Country of ref document: EP

Kind code of ref document: A1