WO2023089781A1 - 制御装置及び制御方法 - Google Patents

制御装置及び制御方法 Download PDF

Info

Publication number
WO2023089781A1
WO2023089781A1 PCT/JP2021/042641 JP2021042641W WO2023089781A1 WO 2023089781 A1 WO2023089781 A1 WO 2023089781A1 JP 2021042641 W JP2021042641 W JP 2021042641W WO 2023089781 A1 WO2023089781 A1 WO 2023089781A1
Authority
WO
WIPO (PCT)
Prior art keywords
control device
period
electronic components
physical state
during
Prior art date
Application number
PCT/JP2021/042641
Other languages
English (en)
French (fr)
Inventor
数哉 五嶋
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to PCT/JP2021/042641 priority Critical patent/WO2023089781A1/ja
Publication of WO2023089781A1 publication Critical patent/WO2023089781A1/ja

Links

Images

Classifications

    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Definitions

  • the present invention relates to a control device and control method.
  • control device of the present disclosure is a control device that controls an industrial machine and is connectable to an external device, comprising: a measurement unit that measures the physical state of two or more electronic components at a measurement interval; a recording unit that records as a model waveform the physical state of each of the electronic components during the period during which the operation program is executed and/or in standby in association with the measurement period, and the period during which the arbitrary operation program is executed or the The physical state measured in association with the measurement period by the measurement section of each electronic component during standby, and the physical state among the model waveforms recorded in the recording section corresponding to the measurement period in which the physical state was measured.
  • the absolute value of the difference from the physical state is added for each of the electronic components during the execution period of the arbitrary operation program or for each fixed period of the standby period, and the resource is overloaded to prevent the control device and the network from operating.
  • a detection unit for determining whether or not a value obtained by adding two or more electronic components exceeds a predetermined determination threshold for each electronic component against unauthorized access that interferes with operation.
  • One aspect of the control method of the present disclosure is a control method for an industrial machine by a control device connectable to an external device, comprising: a measurement step of measuring the physical state of two or more electronic components at a measurement interval; a recording step of recording as a model waveform the physical state of each of the electronic components during which an arbitrary operation program is executed and/or on standby in association with the measurement period; The physical state measured in association with the measurement period of each of the electronic components during the execution period or during the standby, and the physical state corresponding to the measurement period in which the physical state was measured among the recorded model waveforms The absolute value of the difference from the state is added during the execution period of the arbitrary operation program or for each fixed period during the standby period, to prevent unauthorized access that imposes an excessive load on resources and interferes with the operation of the control device or network. and a detection step of determining whether or not a value obtained by adding two or more electronic components exceeds a predetermined determination threshold for each electronic component.
  • FIG. 5 is a diagram showing an example of current consumption of a CPU during execution of a machining program
  • FIG. 10 is a diagram showing an example of current consumption of a memory and a CPU when unauthorized access such as a DoS attack is received during execution of a processing program
  • 5 is a diagram showing an example of an addition value obtained by adding the absolute value of the difference between the current consumption measured in the memory and the CPU shown in FIG. 4 and the current consumption of the model waveform at regular intervals during the execution period of the machining program.
  • FIG. 4 is a flowchart for explaining detection processing of a numerical control device
  • FIG. 10 is a diagram showing an example of model waveforms during standby;
  • FIG. 1 is a diagram illustrating a functional configuration example of a control system according to one embodiment.
  • a machine tool is exemplified as an industrial machine
  • a numerical controller is exemplified as a controller.
  • the present invention is not limited to machine tools and numerical control devices, but is also applicable to industrial machines such as injection molding machines, industrial robots, and service robots, and robot control devices that control industrial robots and the like. It is possible.
  • a machining program for causing a numerical control device to operate a machine tool will be exemplified as an operation program, but the same applies to a robot program for causing a robot control device to operate an industrial robot or the like. As shown in FIG.
  • the control system 1 includes a numerical control device 10 and a network 20. As shown in FIG.
  • the numerical controller 10 is connected to a network 20 such as a LAN (Local Area Network) or the Internet.
  • the numerical controller 10 has an external I/F (Interface) 11, which will be described later, for communicating with the network 20 through such connection.
  • I/F Interface
  • the numerical control device 10 is a numerical control device known to those skilled in the art, for example, generates commands based on a machining program obtained in advance from a CAD/CAM device (not shown) and outputs the generated commands to a machine tool (not shown). do. Thereby, the numerical controller 10 controls the operation of the machine tool (not shown). If the machine tool (not shown) is a robot or the like, the numerical controller 10 may be a robot controller or the like. As shown in FIG. 1, the numerical controller 10 includes an external I/F 11, a memory 12, a CPU (Central Processing Unit) 13, an ASIC (Application Specific Integrated Circuit) 14, and power supplies 21-24.
  • CPU Central Processing Unit
  • ASIC Application Specific Integrated Circuit
  • the external I/F 11 is, for example, a known network interface, and performs asynchronous communication with the network 20, such as collecting data such as the operation status of machine tools (not shown) and alarms/warnings.
  • the memory 12 is a storage unit such as ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive).
  • the memory 12 stores an operating system and application programs executed by a CPU 13, which will be described later, processing programs, and the like.
  • the memory 12, as a recording unit can execute an arbitrary processing program in a normal state where there is no unauthorized access that interferes with the operation of the numerical controller 10 or the network 20 by placing an excessive load on resources such as DoS attacks.
  • the physical state (e.g., current consumption, etc.) of two or more electronic components such as the memory 12 and the CPU 13 (described later) measured by the measuring unit 130 described later during the period and/or during the standby period is measured by the measuring unit 130.
  • sampling period (hereinafter also referred to as “sampling period”) and recorded in advance as a model waveform.
  • sampling period time period
  • unauthorized access such as a DoS attack that imposes an excessive load on resources and interferes with the operation of the numerical controller 10 or the network 20
  • unauthorized access such as a DoS attack
  • the CPU 13 is a known processor that controls the numerical controller 10 as a whole.
  • the CPU 13 reads the system program and application program stored in the memory 12 through the bus and controls the entire numerical controller 10 according to the system program and application program. Thereby, as shown in FIG. 2, the CPU 13 is configured to realize the functions of the measurement section 130, the detection section 131, and the operation control section 132.
  • FIG. 2 the CPU 13 is configured to realize the functions of the measurement section 130, the detection section 131, and the operation control section 132.
  • the measuring unit 130 measures, for example, physical states of two or more electronic components arranged in the numerical controller 10 at sampling intervals.
  • the memory 12 and the CPU 13 are used as two or more electronic components, and the current consumption of the memory 12 and the CPU 13 are used as physical states of the electronic components.
  • at least one electronic component such as an external I/F 11 or a memory 12 that has little aging deterioration, for example, a difference in physical state due to aging deterioration within 10% or the like
  • a combination with at least one electronic component such as the CPU 13 or the ASIC 14 that deteriorates much over time, for example, the difference in physical state due to aging exceeds 10% or the like is preferable.
  • the numerical control device 10 avoids false detection of unauthorized access such as DoS attack even though the physical quantity in the normal state changes due to aged deterioration of the electronic parts or the like. be able to.
  • the physical state of an electronic component may be power consumption or junction temperature, which can be applied in the same manner as in the case of current consumption.
  • the measurement unit 130 measures the current consumption of the memory 12 as the physical state of the memory 12 at sampling intervals, for example, using an ammeter (not shown) arranged in the power supply 22 to be described later.
  • the measurement unit 130 also measures the current consumption of the CPU 13 as the physical state of the CPU 13 at sampling intervals using an ammeter (not shown) arranged in the power supply 23 to be described later.
  • the measurement unit 130 outputs the measured current consumption of the memory 12 and the CPU 13 to the detection unit 131 described later.
  • the detection unit 131 detects the physical state measured by the measurement unit 130 in association with the sampling period during the period when the machining program is executed for each electronic component or during standby, and the physical state among the model waveforms recorded in the memory 12.
  • the absolute value of the difference from the physical state corresponding to the measured sampling period is added every certain period of time during the execution of the machining program or during standby, and determination is made for each predetermined electronic component against unauthorized access such as DoS attacks It is determined whether or not the sum of two or more electronic components exceeds the threshold.
  • FIG. 3 is a diagram showing an example of current consumption of the CPU 13 during execution of the machining program. As shown in FIG.
  • the numerical controller 10 in the normal state, the numerical controller 10 repeatedly executes a machining program for machining the same component on a machine tool (not shown). repeats the same time variation. Then, when aging progresses, the current consumption (thick solid line) of the CPU 13 increases as a whole while exhibiting similar time fluctuations. It should be noted that the current consumption of the memory 12 also shows the same time fluctuation and aged deterioration as in the case of the CPU 13 . However, the process of the memory 12 is not finer than the CPU 13, the ASIC 14, etc., and the current consumption is small, so the progress of deterioration of the internal insulating film is slower than that of the CPU 13, etc. Therefore, the increase in current consumption of the memory 12 due to deterioration is smaller than the increase in current consumption of the CPU 13 .
  • FIG. 4 is a diagram showing an example of current consumption of the memory 12 and the CPU 13 when illegal access such as DoS attack is received during execution of the machining program.
  • the upper part of FIG. 4 shows the current consumption of the CPU 13 measured in association with the sampling period
  • the lower part of FIG. 4 shows the current consumption of the memory 12 measured in association with the sampling period.
  • the model waveforms of the current consumption of the memory 12 and the CPU 13 are indicated by dashed lines
  • the current consumption of the memory 12 and the CPU 13 in the normal state are indicated by one-dot chain lines
  • the memory 12 and the current consumption of the memory 12 and the CPU 13 in the case of being subjected to unauthorized access such as a DoS attack The current consumption of the CPU 13 is indicated by a solid line.
  • FIG. 4 indicates current consumption of the memory 12 and the CPU 13, and the horizontal axis indicates time. Furthermore, FIG. 4 shows a case where unauthorized access such as a DoS attack is received during the execution time (processing time) of the second processing program.
  • FIG. 5 is a diagram showing an example of an addition value obtained by adding the absolute value of the difference between the current consumption measured in the memory 12 and the CPU 13 shown in FIG. 4 and the current consumption of the model waveform at regular intervals during the execution period of the machining program. is.
  • the upper part of FIG. 5 shows the added value of the CPU 13 and the lower part of FIG. 5 shows the added value of the memory 12 .
  • the sum of the absolute values of the difference between the current consumption of the memory 12 and CPU 13 in the normal state and the current consumption of the model waveform is indicated by a dashed line, and the memory 12 and CPU 13 in the case of being subjected to unauthorized access such as a DoS attack.
  • the solid line indicates the addition value of the absolute value of the difference between the current consumption of the model waveform and the current consumption of the model waveform.
  • the detection unit 131 measures the current consumption of the memory 12 and the CPU 13 in association with the sampling period by the measurement unit 130 during the period in which the machining program is executed, and the current consumption recorded in the memory 12.
  • the absolute value of the difference between the model waveform and the consumption current corresponding to the sampling period in which the current consumption was measured is added every fixed period T of the execution time (machining time) of the machining program. That is, when the numerical controller 10 is subjected to unauthorized access such as a DoS attack, the current consumption of the memory 12 and the CPU 13 changes due to the increased processing load on the CPU 13 .
  • the detection unit 131 compares the current consumption of the model waveform (normal state) and the measured current consumption. The added value of the absolute value of the difference is calculated for each of the memory 12 and the CPU 13 . Note that the detection unit 131 resets the addition time and the addition value to "0" each time the fixed period T is reached. By doing so, the detection unit 131 can prevent erroneous determination due to addition of minute errors.
  • the detection unit 131 determines whether or not the added values of the memory 12 and the CPU 13 have exceeded predetermined determination threshold values ⁇ and ⁇ for each of the memory 12 and the CPU 13 against unauthorized access such as a DoS attack ( ⁇ ⁇ ).
  • the detection unit 131 determines that the numerical control device 10 is under unauthorized access such as a DoS attack when the sums of the memory 12 and the CPU 13 exceed the determination threshold values ⁇ and ⁇ .
  • the numerical control device 10 receives an excessive access during the execution time (processing time) and an excessive processing load is applied to the CPU 13, for example, the processing of the CPU 13 is slowed down due to lack of free space in the memory 12. As a result, the current consumption of the memory 12 and the CPU 13 is reduced.
  • the detection unit 131 can determine that the numerical control device 10 has been subjected to unauthorized access such as a DoS attack. Also, even if the numerical control device 10 receives excessive access for a period shorter than the execution time (processing time), the processing load of the CPU 13 increases, and the current consumption of the memory 12 and the CPU 13 primarily increases (or decrease), when the added values of the memory 12 and the CPU 13 exceed the determination threshold values ⁇ and ⁇ , the detection unit 131 can determine that the numerical controller 10 is being accessed illegally such as by a DoS attack.
  • the detection unit 131 determines that the numerical control device 10 has not been subjected to unauthorized access such as DoS attack.
  • the numerical control device 10 can prevent erroneous determination due to an increase in current consumption (physical quantity) due to aged deterioration of electronic components.
  • the numerical control device 10 can detect a memory 12 or the like with little aging deterioration even when the deviation from the current consumption of the model waveform becomes large due to aging deterioration and cannot be distinguished from an increase or decrease in physical quantity due to unauthorized access such as a DoS attack.
  • By also measuring the current consumption (physical quantity) of the electronic component it is possible to avoid erroneous detection of unauthorized access such as a DoS attack despite the normal state.
  • the values of the determination thresholds ⁇ and ⁇ of the electronic parts and the values of the certain period of time T are determined during a certain period of time during execution of the machining program so that the detection unit 131 detects deterioration of the electronic parts over time, normal asynchronous communication, etc. It is preferable that it is determined as appropriate so as not to determine that.
  • the motion control unit 132 generates a command based on a machining program and outputs the generated command to a machine tool (not shown). from the network 20. Then, the operation control unit 132 may stop the processing program and record in the memory 12 a log indicating that an unauthorized access such as a DoS attack has been detected. Further, the operation control unit 132 may display (notify) a message or the like indicating that the unauthorized access has been detected on a display unit such as a liquid crystal display included in the numerical control device 10 or the machine tool (not shown).
  • the ASIC 14 is an application-specific integrated circuit, and performs specific processing in the numerical controller 10, for example.
  • the power supplies 21 to 24 supply power to the external I/F 11, memory 12, CPU 13, and ASIC 14, respectively.
  • the power supplies 21 to 24 may include ammeters (not shown) for measuring current consumption, and may output the measured current consumption to the measuring section 130 .
  • FIG. 6 is a flowchart for explaining detection processing of the numerical control device 10. As shown in FIG. The flow shown here is repeatedly executed each time the machining program is executed.
  • step S1 the measurement unit 130 measures the current consumption of the memory 12 at sampling intervals using an ammeter (not shown) arranged in the power supply 22, and measures the consumption current of the CPU 13 using an ammeter (not shown) arranged in the power supply 23. Current is measured at the sampling period.
  • step S2 the detection unit 131 detects the current consumption of the memory 12 measured in association with the sampling period in step S1, and the model waveform of the current consumption of the memory 12 recorded in advance in the memory 12 in step S1. The absolute value of the difference from the current consumption corresponding to the sampling period in which the current consumption of is measured is added.
  • step S3 the detection unit 131 detects the current consumption of the CPU 13 measured in step S1, and the sampling period at which the current consumption of the CPU 13 is measured in step S1 from the model waveform of the current consumption of the CPU 13 recorded in the memory 12 in advance. Add the absolute value of the difference from the corresponding current consumption.
  • the process of step S3 may be executed before the process of step S2, or may be executed in parallel.
  • step S4 the detection unit 131 determines whether or not the added value of the memory 12 added in step S2 and the added value of the CPU 13 added in step S3 have exceeded the determination threshold values ⁇ and ⁇ .
  • the process proceeds to step S8.
  • the process proceeds to step S5.
  • step S5 the detection unit 131 determines that there is no unauthorized access such as DoS attack because the sum of the two memory 12 and CPU 13 does not exceed.
  • step S6 the detection unit 131 determines whether or not the added time is longer than or equal to the fixed period T, and if the added time is longer than or equal to the fixed period T, resets the added time and the sum of the memory 12 and the CPU 13 to "0". do.
  • step S7 the detection unit 131 determines whether or not execution of the machining program has ended.
  • the numerical controller 10 ends the detection process.
  • the process returns to step S1.
  • step S8 the detection unit 131 determines that unauthorized access such as a DoS attack has occurred because the sum of the two memory 12 and CPU 13 has exceeded.
  • step S9 the operation control unit 132 disconnects the numerical controller 10 from the network 20. Then, the operation control unit 132 stops the processing program and records in the memory 12 a log indicating that an unauthorized access such as a DoS attack has been detected. Further, the operation control unit 132 displays (notifies) a message or the like indicating that the unauthorized access has been detected on the display unit of the numerical control device 10 or the machine tool (not shown). Then, the numerical controller 10 ends the detection process.
  • the numerical control device 10 utilizes the fact that the current consumption of the memory 12 and the CPU 13 that actually operate changes to prevent a DoS attack or the like using an unknown vulnerability that has not been recognized. Unauthorized access that imposes an excessive load on resources and interferes with the operation of the numerical controller 10 and the network 20 can be easily detected.
  • the numerical control device 10 measures the physical state of electronic parts such as the memory 12 that deteriorate less over time and the electronic parts such as the CPU 13 that deteriorate more over time. It is possible to prevent an erroneous determination of unauthorized access such as a DoS attack even if a failure occurs.
  • the numerical control device 10 is not limited to the above-described embodiment, and includes modifications, improvements, etc. within a range that can achieve the purpose.
  • the measurement unit 130 measures the current consumption of the memory 12 and the CPU 13 at sampling intervals, but the present invention is not limited to this.
  • the measurement unit 130 may measure the power consumption of the memory 12 and the CPU 13 and the junction temperature of the memory 12 and the CPU 13 at sampling intervals.
  • the power supplies 22 and 23 that supply power to the memory 12 and CPU 13 are generally constant voltage power supplies and the voltage V is constant. shows a change similar to that of the consumption current I.
  • the detection unit 131 can detect unauthorized access such as a DoS attack by using the power consumption of the memory 12 and the CPU 13 measured by the measurement unit 130, as in the case of current consumption.
  • the detection unit 131 can detect unauthorized access such as a DoS attack using the junction temperatures of the memory 12 and the CPU 13 measured by the measurement unit 130, as in the case of current consumption.
  • the measurement unit 130 may measure the physical state (current consumption, power consumption, junction temperature, etc.) that differs for each electronic component at sampling intervals, such as measuring the current consumption of the memory 12 and the junction temperature of the CPU 13. good.
  • the detection unit 131 determines that the numerical control device 10 is under unauthorized access such as a DoS attack when the sums of the memory 12 and the CPU 13 exceed the determination threshold values ⁇ and ⁇ .
  • unauthorized access such as a DoS attack
  • the processing load and current consumption of the CPU 13 first increase, and then the current consumption of the memory 12 increases.
  • the detection unit 131 detects that the numerical control device 10 is subject to unauthorized access such as a DoS attack.
  • the measurement unit 130 measures the physical states of three or more electronic components such as the external I/F 11, the memory 12, the CPU 13, and the ASIC 14, the detection unit 131 measures the sum of the two or more electronic components exceeds the determination threshold, it may be determined that the numerical control device 10 has been subjected to unauthorized access such as a DoS attack.
  • the numerical controller 10 can prevent erroneous determination of unauthorized access such as DoS attack.
  • the detection unit 131 records the current consumption measured by the measurement unit 130 in association with the sampling period during the period in which the machining program is executed for each of the memory 12 and the CPU 13, and the current consumption recorded in the memory 12.
  • the absolute value of the difference from the current consumption corresponding to the sampling period in which the current consumption was measured was added every fixed period T of the execution period of the machining program, but the present invention is not limited to this.
  • the detection unit 131 measures the current consumption measured by the measurement unit 130 in association with the sampling period while each of the memory 12 and the CPU 13 is on standby, and the current consumption of the model waveform recorded in the memory 12 is measured.
  • the measurement unit 130 can measure the current consumption of the memory 12 and the CPU 13 in standby at sampling intervals, and record the model waveforms of the current consumption of the memory 12 and the CPU 13 in standby in the memory 12 .
  • the detection unit 131 detects current consumption measured in association with the sampling period by the measurement unit 130 of the memory 12 and the CPU 13 during standby, as in the case of the execution period of the machining program, and the standby time in FIG. Unauthorized access such as a DoS attack can be detected by using the model waveforms of the current consumption of the memory 12 and the CPU 13 inside.
  • the detection unit 131 detects unauthorized access such as a DoS attack based on the current consumption of the memory 12 and the CPU 13, but the present invention is not limited to this.
  • the detection unit 131 detects the current consumption, power consumption, or junction temperature of electronic components such as the external I/F 11 that deteriorate less over time, and the current consumption, power consumption, or junction temperature of electronic components such as the ASIC 14 that deteriorate more over time. and may be used to detect unauthorized access such as DoS attacks.
  • Each function included in the numerical control device 10 in one embodiment can be realized by hardware, software, or a combination thereof.
  • “implemented by software” means implemented by a computer reading and executing a program.
  • Non-transitory computer-readable media include various types of tangible storage media.
  • Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible discs, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), CD-ROMs (Read Only Memory), CD- R, CD-R/W, semiconductor memory (eg mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be supplied to the computer on various types of transitory computer readable medium. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired communication channels, such as wires and optical fibers, or wireless communication channels.
  • steps of writing a program recorded on a recording medium include not only processes that are executed chronologically in order, but also processes that are executed in parallel or individually, even if they are not necessarily processed chronologically. It also includes
  • control device and control method of the present disclosure can take various embodiments having the following configurations.
  • the numerical control device 10 of the present disclosure is a control device that controls an industrial machine and can be connected to an external device, and includes a measurement unit 130 that measures the physical state of two or more electronic components at a measurement cycle, and a normal A memory 12 for recording as a model waveform the period during which an arbitrary operation program was executed in the state and/or the physical state of each electronic component on standby in association with the measurement period, and an arbitrary operation program is executed for each electronic component.
  • the difference between the physical state measured by the measuring unit 130 in correspondence with the measurement period during the period or during standby and the physical state corresponding to the measurement period in which the physical state was measured among the model waveforms recorded in the memory 12 is added for each execution period of an arbitrary operation program or every certain period during standby, and is a predetermined value against unauthorized access that imposes an excessive load on resources and interferes with the operation of the numerical control device 10 and the network 20 and a detection unit 131 that determines whether or not a value obtained by adding two or more electronic components exceeds a determination threshold for each electronic component.
  • this numerical controller 10 it is possible to easily detect unauthorized access such as a DoS attack that overloads resources and interferes with the operation of the numerical controller 10 and the network 20.
  • At least one of the electronic components may be an electronic component that deteriorates less over time.
  • the numerical controller 10 can prevent erroneous detection of unauthorized access such as a DoS attack due to aged deterioration of electronic components.
  • At least one of the electronic components may include the CPU 13 .
  • the numerical control device 10 can accurately detect unauthorized access such as a DoS attack by including the CPU 13 responsible for main processing.
  • the physical state may be current consumption of electronic components.
  • the numerical controller 10 can accurately detect unauthorized access such as a DoS attack.
  • the physical state may be power consumption of electronic components.
  • the numerical controller 10 can achieve the same effect as (4).
  • the physical state may be the junction temperature of the electronic component. By doing so, the numerical controller 10 can achieve the same effect as (4).
  • a control method of the present disclosure is a control method of an industrial machine by a control device connectable to an external device, comprising a measurement step of measuring the physical state of two or more electronic components at a measurement cycle; A period during which an arbitrary operation program is executed and/or a recording step for recording the physical state of each standby electronic component in association with a measurement period as a model waveform, and a period during which an arbitrary operation program is executed for each electronic component.
  • the absolute value of the difference between the physical state measured in association with the measurement period during standby and the physical state corresponding to the measurement period in which the physical state was measured among the recorded model waveforms is obtained by an arbitrary operation program.
  • control system 10 numerical controller 11 external I/F 12 memory 13 CPU 130 measurement unit 131 detection unit 132 operation control unit 14 ASIC 20 Network 21-24 Power supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

DoS攻撃等のリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害する不正アクセスを容易に検知すること。 制御装置は、2つ以上の電子部品の物理状態を測定周期で測定する測定部と、正常状態において任意の動作プログラムの実行期間及び/又は待機中の電子部品それぞれの物理状態を測定周期に対応付けてモデル波形として記録する記録部と、任意の動作プログラムの実行期間又は待機中に電子部品それぞれの測定周期に対応付けて測定された物理状態と、モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、任意の動作プログラムの実行期間又は待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害する不正アクセスに対する電子部品毎の判定閾値を2つ以上の電子部品の加算値が超過したかを判定する検知部と、を備える。

Description

制御装置及び制御方法
 本発明は、制御装置及び制御方法に関する。
 近年、IoT(Internet of Things)の普及により、ネットワーク機器の適用範囲が拡大している。それに伴い、セキュリティの脆弱性による不正アクセスの事例も急増している。
 当該不正アクセスを防ぐために、発見されたセキュリティの脆弱性に対する最新パッチを適用することで、セキュリティを確保している。
 この点、受信したPDFネットワークコンテンツに悪意あるネットワークコンテンツを示す少なくとも1つの不審性が含まれているかを判断すべく、当該PDFネットワークコンテンツを検査し、少なくとも1つの不審性を含むと判断されたPDFネットワークコンテンツを、少なくとも1つの仮想マシンに提供し、少なくとも1つの不審性を含むと判断されたPDFネットワークコンテンツが悪意あるネットワークコンテンツを含むかを検証すべく、当該少なくとも1つの仮想マシンより受信した応答を分析する技術が知られている。例えば、特許文献1参照。
特表2014-504765号公報
 不正アクセスの手段は常に新しいものが出現するため、認知されていない脆弱性に対してセキュリティが確保できない状態が存在する。
 また、工場の制御装置等は長期にわたって使用されるものが多く、導入時に適用したセキュリティ対策が、時間の経過とともに不十分な状態になったまま使い続けられてしまうことがある。
 そのため、未知の脆弱性や、不十分なセキュリティ対策の脆弱性を利用し、例えばDoS攻撃のようにリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害されると、制御装置やシステムの安定稼働が妨げられてしまう場合がある。
 そこで、DoS攻撃等のリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害する不正アクセスを容易に検知することが望まれている。
 本開示の制御装置の一態様は、産業機械を制御し外部機器と接続可能な制御装置であって、2つ以上の電子部品の物理状態を測定周期で測定する測定部と、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品それぞれの物理状態を前記測定周期に対応付けてモデル波形として記録する記録部と、前記任意の動作プログラムが実行された期間又は前記待機中において前記電子部品それぞれの前記測定部により前記測定周期に対応付けて測定された前記物理状態と、前記記録部に記録された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記電子部品毎に前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた前記電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する検知部と、を備える。
 本開示の制御方法の一態様は、外部機器と接続可能な制御装置による産業機械の制御方法であって、2つ以上の電子部品の物理状態を測定周期で測定する測定ステップと、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品それぞれの物理状態を前記測定周期に対応付けてモデル波形として記録する記録ステップと、前記電子部品毎に前記任意の動作プログラムが実行された期間又は前記待機中において前記電子部品それぞれの前記測定周期に対応付けて測定された前記物理状態と、記録された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた前記電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する検知ステップと、を備える。
 一態様によれば、DoS攻撃等のリソースに過剰な負荷をかけて制御装置やネットワークの稼働を妨害する不正アクセスを容易に検知することができる。
一実施形態に係る制御システムの機能的構成例を示す図である。 CPUの機能的構成例を示す図である。 加工プログラムの実行期間におけるCPUの消費電流の一例を示す図である。 加工プログラムの実行期間においてDoS攻撃等の不正アクセスを受けている場合のメモリ及びCPUの消費電流の一例を示す図である。 メモリ及びCPUにおいて図4に示す測定された消費電流とモデル波形の消費電流との差分の絶対値を加工プログラムの実行期間の一定期間毎に加算した加算値の一例を示す図である。 数値制御装置の検知処理について説明するフローチャートである。 待機中のモデル波形の一例を示す図である。
<一実施形態>
 図1は、一実施形態に係る制御システムの機能的構成例を示す図である。ここでは、産業機械として工作機械を、また制御装置として数値制御装置を例示する。なお、本発明は、工作機械及び数値制御装置に限定されず、例えば射出成形機や産業用ロボット、サービス用ロボット等の産業機械、及び産業用ロボット等を制御するロボット制御装置に対しても適用可能である。
 また、本実施形態では、動作プログラムとして数値制御装置が工作機械を動作させる加工プログラムを例示して説明するが、ロボット制御装置が産業用ロボット等を動作させるロボットプログラム等の場合も同様である。
 図1に示すように、制御システム1は、数値制御装置10、及びネットワーク20を含む。
 数値制御装置10は、LAN(Local Area Network)やインターネット等のネットワーク20に接続される。この場合、数値制御装置10は、かかる接続によってネットワーク20との通信を行うための後述する外部I/F(Interface)11を備えている。
<数値制御装置10>
 数値制御装置10は、当業者にとって公知の数値制御装置であり、例えば、図示しないCAD/CAM装置等から予め取得した加工プログラムに基づいて指令を生成し、生成した指令を図示しない工作機械に出力する。これにより、数値制御装置10は、図示しない工作機械の動作を制御する。なお、図示しない工作機械がロボット等の場合、数値制御装置10は、ロボット制御装置等でもよい。
 図1に示すように、数値制御装置10は、外部I/F11、メモリ12、CPU(Central Processing Unit)13、ASIC(Application Specific Integrated Circuit)14、及び電源21~24を含む。
 外部I/F11は、例えば、公知のネットワークインタフェースであり、図示しない工作機械の動作状態やアラーム/警告等のデータ収集等の非同期通信をネットワーク20との間で行う。
 メモリ12は、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の記憶部である。メモリ12には、後述するCPU13が実行するオペレーティングシステム及びアプリケーションプログラムや、加工プログラム等が記憶される。
 また、メモリ12には、記録部として、DoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスを受けていない正常状態において任意の加工プログラムが実行された期間及び/又は待機中に、後述する測定部130により測定されたメモリ12や後述するCPU13等の2つ以上の電子部品の物理状態(例えば、消費電流等)を測定部130の測定周期(以下、「サンプリング周期」ともいう)に対応付けてモデル波形として予め記録される。なお、以下、特に断らない限り、「DoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセス」を、「DoS攻撃等の不正アクセス」と略称する。
 CPU13は、公知のプロセッサであり、数値制御装置10を全体的に制御するプロセッサである。CPU13は、メモリ12に格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従って数値制御装置10全体を制御する。これにより、図2に示すように、CPU13が、測定部130、検知部131、及び動作制御部132の機能を実現するように構成される。
 測定部130は、例えば、数値制御装置10内に配置された2つ以上の電子部品の物理状態をサンプリング周期で測定する。
 以下では、2つ以上の電子部品としてメモリ12とCPU13を、電子部品の物理状態としてメモリ12とCPU13の消費電流を例示して説明する。なお、後述するように、2つ以上の電子部品のうち経年劣化が少ない、例えば経年劣化による物理状態の差異が10%等以内の外部I/F11やメモリ12等の少なくとも1つ電子部品と、経年劣化が多い、例えば経年劣化による物理状態の差異が10%等超過のCPU13やASIC14等の少なくとも1つの電子部品と、の組み合わせが好ましい。
 そうすることで、数値制御装置10は、電子部品の経年劣化等で正常状態の物理量が変化した場合、正常状態であるにもかかわらず、DoS攻撃等の不正アクセスを誤検知することを回避することができる。
 また、電子部品の物理状態は、消費電力やジャンクション温度でもよく、消費電流の場合と同様に適用することができる。
 具体的には、測定部130は、例えば、後述する電源22に配置された図示しない電流計を用いてメモリ12の消費電流をメモリ12の物理状態としてサンプリング周期で測定する。また、測定部130は、後述する電源23に配置された図示しない電流計を用いてCPU13の消費電流をCPU13の物理状態としてサンプリング周期で測定する。測定部130は、測定したメモリ12及びCPU13の消費電流を後述する検知部131に出力する。
 検知部131は、電子部品毎に加工プログラムが実行された期間又は待機中において測定部130によりサンプリング周期に対応付けて測定された物理状態と、メモリ12に記録されたモデル波形のうち当該物理状態が測定されたサンプリング周期に対応する物理状態との差分の絶対値を加工プログラムの実行期間又は待機中の一定期間毎に加算し、DoS攻撃等の不正アクセスに対する予め定められた電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する。
 図3は、加工プログラムの実行期間におけるCPU13の消費電流の一例を示す図である。
 図3に示すように、正常状態の場合、数値制御装置10は、図示しない工作機械に対して同じ部品加工の加工プログラムを繰り返して実行するため、数値制御装置10のCPU13の消費電流(実線)は、同様の時間変動を繰り返す。
 そして、経年劣化が進んだ場合、CPU13の消費電流(太い実線)は、同様の時間変動を示しつつも全体的に増加する。
 なお、メモリ12の消費電流についても、CPU13の場合と同様の時間変動及び経年劣化を示す。ただし、メモリ12は、CPU13やASIC14等と比べてプロセスが微細でなく消費電流も小さいため、内部の絶縁膜の劣化の進行がCPU13等と比べて遅い。このため、劣化によるメモリ12の消費電流の増加は、CPU13の消費電流の増加に比べて小さい。
 図4は、加工プログラムの実行期間においてDoS攻撃等の不正アクセスを受けている場合のメモリ12及びCPU13の消費電流の一例を示す図である。図4の上段は、サンプリング周期に対応付けて測定されたCPU13の消費電流を示し、図4の下段は、サンプリング周期に対応付けて測定されたメモリ12の消費電流を示す。図4では、メモリ12及びCPU13の消費電流のモデル波形を破線で示し、正常状態のメモリ12及びCPU13の消費電流を一点鎖線で示し、DoS攻撃等の不正アクセスを受けている場合のメモリ12及びCPU13の消費電流を実線で示す。また、図4の縦軸はメモリ12及びCPU13の消費電流を示し、横軸は時刻を示す。さらに、図4では、2つ目の加工プログラムの実行時間(加工時間)に、DoS攻撃等の不正アクセスを受けている場合を示す。
 図5は、メモリ12及びCPU13において図4に示す測定された消費電流とモデル波形の消費電流との差分の絶対値を加工プログラムの実行期間の一定期間毎に加算した加算値の一例を示す図である。図5の上段は、CPU13の加算値を示し、図5の下段は、メモリ12の加算値を示す。図5では、正常状態のメモリ12及びCPU13の消費電流とモデル波形の消費電流との差分の絶対値の加算値を破線で示し、DoS攻撃等の不正アクセスを受けている場合のメモリ12及びCPU13の消費電流とモデル波形の消費電流との差分の絶対値の加算値を実線で示す。
 図5に示すように、検知部131は、メモリ12及びCPU13それぞれについて、加工プログラムが実行されている期間において測定部130によりサンプリング周期に対応付けて測定された消費電流と、メモリ12に記録されたモデル波形のうち当該消費電流が測定されたサンプリング周期に対応する消費電流と、の差分の絶対値を加工プログラムの実行時間(加工時間)の一定期間T毎に加算する。すなわち、数値制御装置10がDoS攻撃のような不正アクセスを受けている場合、CPU13の処理負荷が増大することでメモリ12及びCPU13の消費電流が変化する。そこで、検知部131は、メモリ12及びCPU13のハードウェアの負荷変動を利用してDoS攻撃等の不正アクセスを検知するために、モデル波形(正常状態)の消費電流と測定された消費電流との差分の絶対値の加算値をメモリ12及びCPU13毎に算出する。
 なお、検知部131は、一定期間Tとなる度に加算時間及び加算値を「0」にリセットする。
 そうすることで、検知部131は、微小な誤差の加算による誤判定を防ぐことができる。
 そして、検知部131は、DoS攻撃等の不正アクセスに対する予め定められたメモリ12及びCPU13毎の判定閾値α、βをメモリ12及びCPU13それぞれの加算値が超過したか否かを判定する(α≠β)。検知部131は、メモリ12及びCPU13それぞれの加算値が判定閾値α、βを超過した場合、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定する。
 また、数値制御装置10が実行時間(加工時間)に過剰アクセス等を受けることで、CPU13に過剰な処理負荷がかかった場合、例えば、メモリ12の空き容量不足に起因してCPU13の処理が遅くなり、メモリ12及びCPU13の消費電流が減少する。この場合でもメモリ12及びCPU13の加算値が判定閾値α、βを超過すると、検知部131は、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定することができる。
 また、数値制御装置10が実行時間(加工時間)より短い期間の過剰アクセス等を受けたとしても、CPU13の処理の負荷が増大し、メモリ12及びCPU13の消費電流が1次的に増大(又は減少)するため、メモリ12及びCPU13の加算値が判定閾値α、βを超過すると、検知部131は、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定することができる。
 一方、例えば、検知部131は、メモリ12及び/又はCPU13の加算値が判定閾値α、β以下の場合、数値制御装置10がDoS攻撃等の不正アクセスを受けていないと判定する。
 これにより、数値制御装置10は、電子部品の経年劣化に伴う消費電流(物理量)の増加による誤判定を防ぐことができる。換言すれば、数値制御装置10は、経年劣化によりモデル波形の消費電流とのずれが大きくなり、DoS攻撃等の不正アクセスによる物理量増減と区別がつかない場合でも、経年劣化の少ないメモリ12等の電子部品の消費電流(物理量)を併せて測定することで、正常状態であるにもかかわらず、DoS攻撃等の不正アクセスと誤検知することを回避することができる。
 なお、電子部品の判定閾値α、β及び一定期間Tの値は、加工プログラムの実行中の一定期間において、検知部131が電子部品の経年劣化や正常な非同期通信等をDoS攻撃等の不正アクセスと判定しないように、適宜決められることが好ましい。
 動作制御部132は、例えば、加工プログラムに基づいて指令を生成し、生成した指令を図示しない工作機械に出力するとともに、検知部131がDoS攻撃等の不正アクセスと判定した場合、数値制御装置10をネットワーク20から遮断する。そして、動作制御部132は、加工プログラムを停止し、DoS攻撃等の不正アクセスを検知したというログをメモリ12に記録するようにしてもよい。また、動作制御部132は、数値制御装置10又は工作機械(図示しない)に含まれる液晶ディスプレイ等の表示部に当該不正アクセスを検知したというメッセージ等を表示(通知)するようにしてもよい。
 ASIC14は、特定用途向け集積回路であり、例えば、数値制御装置10における特定の処理を行う。
 電源21~24は、外部I/F11、メモリ12、CPU13、及びASIC14それぞれに電力を供給する。なお、電源21~24は、消費電流を測定する図示しない電流計を含んでもよく、測定された消費電流を測定部130に出力してもよい。
<数値制御装置10の検知処理>
 次に、図6を参照しながら、数値制御装置10の検知処理の流れを説明する。
 図6は、数値制御装置10の検知処理について説明するフローチャートである。ここで示すフローは、加工プログラムが実行される度に繰り返し実行される。
 ステップS1において、測定部130は、電源22に配置された図示しない電流計を用いてメモリ12の消費電流をサンプリング周期で測定し、電源23に配置された図示しない電流計を用いてCPU13の消費電流をサンプリング周期で測定する。
 ステップS2において、検知部131は、ステップS1においてサンプリング周期で対応付けて測定されたメモリ12の消費電流と、予めメモリ12に記録されたメモリ12の消費電流のモデル波形のうちステップS1でメモリ12の消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を加算する。
 ステップS3において、検知部131は、ステップS1において測定されたCPU13の消費電流と、予めメモリ12に記録されたCPU13の消費電流のモデル波形のうちステップS1でCPU13の消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を加算する。
 なお、ステップS2とステップS3との処理は、ステップS3の処理がステップS2の処理より先に実行されてもよく、並列に実行されてもよい。
 ステップS4において、検知部131は、ステップS2で加算したメモリ12の加算値及びステップS3で加算したCPU13の加算値それぞれが判定閾値α、βを超過したか否かを判定する。メモリ12の加算値及びCPU13の加算値それぞれが判定閾値α、βを超過した場合、処理はステップS8に進む。一方、メモリ12の加算値及び/又はCPU13の加算値が判定閾値α、β以下の場合、処理はステップS5に進む。
 ステップS5において、検知部131は、2つのメモリ12及びCPU13の加算値が超過しないため、DoS攻撃等の不正アクセスなしと判定する。
 ステップS6において、検知部131は、加算時間が一定期間T以上か否かを判定し、加算時間が一定期間T以上の場合、加算時間及びメモリ12とCPU13との加算値を「0」にリセットする。
 ステップS7において、検知部131は、加工プログラムの実行が終了したか否かを判定する。加工プログラムの実行が終了した場合、数値制御装置10は検知処理を終了する。一方、加工プログラムの実行が終了していない場合、処理はステップS1に戻る。
 ステップS8において、検知部131は、2つのメモリ12及びCPU13の加算値が超過したため、DoS攻撃等の不正アクセスありと判定する。
 ステップS9において、動作制御部132は、数値制御装置10をネットワーク20から遮断する。そして、動作制御部132は、加工プログラムを停止し、DoS攻撃等の不正アクセスを検知したというログをメモリ12に記録する。また、動作制御部132は、数値制御装置10又は工作機械(図示しない)の表示部に当該不正アクセスを検知したというメッセージ等を表示(通知)する。そして、数値制御装置10は検知処理を終了する。
 以上により、一実施形態に係る数値制御装置10は、実際に動作するメモリ12及びCPU13の消費電流が変化することを利用することにより、認知されていない未知の脆弱性を利用したDoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスを容易に検知することができる。
 また、数値制御装置10は、経年劣化が少ないメモリ12等の電子部品と、経年劣化が多いCPU13等の電子部品と、の物理状態を測定することにより、経年劣化による電子部品の物理状態の変化が生じても、DoS攻撃等の不正アクセスの誤判定を防ぐことができる。
 以上、一実施形態について説明したが、数値制御装置10は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
 一実施形態では、測定部130は、メモリ12及びCPU13の消費電流をサンプリング周期で測定したが、これに限定されない。例えば、測定部130は、メモリ12及びCPU13の消費電力やメモリ12及びCPU13のジャンクション温度をサンプリング周期で測定してもよい。
 例えば、消費電力の場合、メモリ12及びCPU13に電力を供給する電源22、23は一般的に定電圧電源であり電圧Vは一定であることから、消費電力Pは、P=V×Iの関係から消費電流Iと同様の変化を示す。これにより、検知部131は、消費電流の場合と同様に、測定部130により測定されたメモリ12及びCPU13の消費電力を用いて、DoS攻撃等の不正アクセスを検知することができる。
 また、ジャンクション温度の場合、メモリ12やCPU13を含む電子部品で消費された電力によって電子部品が発熱するため、ジャンクション温度Tjは、Tj=P×RJA+Taの関係から消費電力P(すなわち消費電流I)と同様の変化を示す。なお、RJAは電子部品の熱抵抗を示し、Taは周囲温度を示す。これにより、検知部131は、消費電流の場合と同様に、測定部130により測定されたメモリ12及びCPU13のジャンクション温度を用いて、DoS攻撃等の不正アクセスを検知することができる。
 あるいは、測定部130は、メモリ12の消費電流を測定しCPU13のジャンクション温度を測定する等、電子部品毎に異なる物理状態(消費電流、消費電力、ジャンクション温度等)をサンプリング周期で測定してもよい。
<変形例2>
 また例えば、上述の実施形態では、検知部131は、メモリ12及びCPU13それぞれの加算値が判定閾値α、βを超過した場合、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定したが、これに限定されない。
 例えば、数値制御装置10が過剰アクセス等を受けている場合、先にCPU13の処理負荷及び消費電流が増大し、続いてメモリ12の消費電流が増大する。そこで、検知部131は、CPU13の加算値が判定閾値βを超過し、予め設定された一定時間(例えば、1秒等)内にメモリ12の加算値が判定閾値αを超過したら、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定するようにしてもよい。
 あるいは、測定部130は、外部I/F11、メモリ12、CPU13、ASIC14等の3つ以上の電子部品の物理状態を測定している場合、検知部131は、2つ以上の電子部品の加算値が判定閾値を超過した場合、数値制御装置10がDoS攻撃等の不正アクセスを受けていると判定するようにしてもよい。なお、この場合、加算値が判定閾値を超過した2つ以上の電子部品の少なくとも1つは、経年劣化が少ない外部I/F11やメモリ12等である必要がある。
 そうすることで、数値制御装置10は、DoS攻撃等の不正アクセスの誤判定を防ぐことができる。
<変形例3>
 また例えば、上述の実施形態では、検知部131は、メモリ12及びCPU13毎に加工プログラムが実行されている期間において測定部130によりサンプリング周期に対応付けて測定された消費電流と、メモリ12に記録されたモデル波形のうち当該消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を加工プログラムの実行期間の一定期間T毎に加算したが、これに限定されない。例えば、検知部131は、メモリ12及びCPU13毎に待機中において測定部130によりサンプリング周期に対応付けて測定された消費電流と、メモリ12に記録されたモデル波形のうち当該消費電流が測定されたサンプリング周期に対応する消費電流との差分の絶対値を待機中の一定期間T毎に加算して、メモリ12及びCPU13の加算値が判定閾値α、βを超過したか否かを判定することにより、DoS攻撃等の不正アクセスを検知してもよい。
 すなわち、例えば、加工対象のワークの交換や、加工プログラムの変更等の待機中(未加工)であっても、数値制御装置10(CPU13)はオペレーティング等のベースとなるプログラムを実行していることから、測定部130は、待機中のメモリ12及びCPU13の消費電流をサンプリング周期で測定でき、待機中のメモリ12及びCPU13の消費電流のモデル波形をメモリ12に記録することができる。
 図7は、待機中のモデル波形の一例を示す図である。
 これにより、検知部131は、加工プログラムの実行期間の場合と同様に、待機中においても、メモリ12及びCPU13の測定部130によりサンプリング周期に対応付けて測定された消費電流と、図7の待機中のメモリ12及びCPU13の消費電流のモデル波形とを用いて、DoS攻撃等の不正アクセスを検知することができる。
<変形例4>
 また例えば、上述の実施形態では、検知部131は、メモリ12及びCPU13の消費電流に基づいてDoS攻撃等の不正アクセスを検知したが、これに限定されない。例えば、検知部131は、経年劣化が少ない外部I/F11等の電子部品の消費電流、消費電力、又はジャンクション温度と、経年劣化が多いASIC14等の電子部品の消費電流、消費電力、又はジャンクション温度と、に基づいてDoS攻撃等の不正アクセスを検知してもよい。
 なお、一実施形態における数値制御装置10に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示の制御装置及び制御方法は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の数値制御装置10は、産業機械を制御し外部機器と接続可能な制御装置であって、2つ以上の電子部品の物理状態を測定周期で測定する測定部130と、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の電子部品それぞれの物理状態を測定周期に対応付けてモデル波形として記録するメモリ12と、電子部品毎に任意の動作プログラムが実行された期間又は待機中において測定部130により測定周期に対応付けて測定された物理状態と、メモリ12に記録されたモデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、任意の動作プログラムの実行期間又は待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスに対する予め定められた電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する検知部131と、を備える。
 この数値制御装置10によれば、DoS攻撃等のリソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスを容易に検知することができる。
 (2) (1)に記載の数値制御装置10において、電子部品の少なくとも1つは、経年劣化が少ない電子部品であってもよい。
 そうすることで、数値制御装置10は、電子部品の経年劣化による、DoS攻撃等の不正アクセスの誤検知を防ぐことができる。
 (3) (1)に記載の数値制御装置10において、電子部品の少なくとも1つは、CPU13を含んでもよい。
 そうすることで、数値制御装置10は、主要な処理を担うCPU13を含めることにより、DoS攻撃等の不正アクセスを精度良く検知することができる。
 (4) (1)に記載の数値制御装置10において、物理状態は、電子部品の消費電流であってもよい。
 そうすることで、数値制御装置10は、精度良くDoS攻撃等の不正アクセスを検知することができる。
 (5) (1)に記載の数値制御装置10において、物理状態は、電子部品の消費電力であってもよい。
 そうすることで、数値制御装置10は、(4)と同様の効果を奏することができる。
 (6) (1)に記載の数値制御装置10において、物理状態は、電子部品のジャンクション温度であってもよい。
 そうすることで、数値制御装置10は、(4)と同様の効果を奏することができる。
 (7)本開示の制御方法は、外部機器と接続可能な制御装置による産業機械の制御方法であって、2つ以上の電子部品の物理状態を測定周期で測定する測定ステップと、正常状態において任意の動作プログラムが実行された期間及び/又は待機中の電子部品それぞれの物理状態を測定周期に対応付けてモデル波形として記録する記録ステップと、電子部品毎に任意の動作プログラムが実行された期間又は待機中において測定周期に対応付けて測定された物理状態と、記録されたモデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、任意の動作プログラムの実行期間又は待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて数値制御装置10やネットワーク20の稼働を妨害する不正アクセスに対する予め定められた電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する検知ステップと、を備える。
 この制御方法によれば、(1)と同様の効果を奏することができる。
 1 制御システム
 10 数値制御装置
 11 外部I/F
 12 メモリ
 13 CPU
 130 測定部
 131 検知部
 132 動作制御部
 14 ASIC
 20 ネットワーク
 21~24 電源

Claims (7)

  1.  産業機械を制御し外部機器と接続可能な制御装置であって、
     2つ以上の電子部品の物理状態を測定周期で測定する測定部と、
     正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品それぞれの物理状態を前記測定周期に対応付けてモデル波形として記録する記録部と、
     前記電子部品毎に前記任意の動作プログラムが実行された期間又は前記待機中において前記測定部により前記測定周期に対応付けて測定された前記物理状態と、前記記録部に記録された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた前記電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する検知部と、
     を備える制御装置。
  2.  前記電子部品の少なくとも1つは、経年劣化が少ない電子部品である、請求項1に記載の制御装置。
  3.  前記電子部品の少なくとも1つは、プロセッサを含む、請求項1に記載の制御装置。
  4.  前記物理状態は、前記電子部品の消費電流である、請求項1に記載の制御装置。
  5.  前記物理状態は、前記電子部品の消費電力である、請求項1に記載の制御装置。
  6.  前記物理状態は、前記電子部品のジャンクション温度である、請求項1に記載の制御装置。
  7.  外部機器と接続可能な制御装置による産業機械の制御方法であって、
     2つ以上の電子部品の物理状態を測定周期で測定する測定ステップと、
     正常状態において任意の動作プログラムが実行された期間及び/又は待機中の前記電子部品それぞれの物理状態を前記測定周期に対応付けてモデル波形として記録する記録ステップと、
     前記電子部品毎に前記任意の動作プログラムが実行された期間又は前記待機中において前記測定周期に対応付けて測定された前記物理状態と、記録された前記モデル波形のうち当該物理状態が測定された測定周期に対応する物理状態との差分の絶対値を、前記任意の動作プログラムの実行期間又は前記待機中の一定期間毎に加算し、リソースに過剰な負荷をかけて前記制御装置やネットワークの稼働を妨害する不正アクセスに対する予め定められた前記電子部品毎の判定閾値を2つ以上の電子部品の加算した値が超過したか否かを判定する検知ステップと、
     を備える制御方法。
PCT/JP2021/042641 2021-11-19 2021-11-19 制御装置及び制御方法 WO2023089781A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/042641 WO2023089781A1 (ja) 2021-11-19 2021-11-19 制御装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/042641 WO2023089781A1 (ja) 2021-11-19 2021-11-19 制御装置及び制御方法

Publications (1)

Publication Number Publication Date
WO2023089781A1 true WO2023089781A1 (ja) 2023-05-25

Family

ID=86396473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/042641 WO2023089781A1 (ja) 2021-11-19 2021-11-19 制御装置及び制御方法

Country Status (1)

Country Link
WO (1) WO2023089781A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276111A1 (en) * 2004-09-03 2008-11-06 Jacoby Grant A Detecting Software Attacks By Monitoring Electric Power Consumption Patterns
WO2015001594A1 (ja) * 2013-07-01 2015-01-08 株式会社日立製作所 制御システム、制御方法及びコントローラ
WO2016143072A1 (ja) * 2015-03-10 2016-09-15 三菱電機株式会社 プログラマブルロジックコントローラ
CN112050782A (zh) * 2020-08-31 2020-12-08 浙江大学 一种基于功率的工业机械臂异常运动在线检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276111A1 (en) * 2004-09-03 2008-11-06 Jacoby Grant A Detecting Software Attacks By Monitoring Electric Power Consumption Patterns
WO2015001594A1 (ja) * 2013-07-01 2015-01-08 株式会社日立製作所 制御システム、制御方法及びコントローラ
WO2016143072A1 (ja) * 2015-03-10 2016-09-15 三菱電機株式会社 プログラマブルロジックコントローラ
CN112050782A (zh) * 2020-08-31 2020-12-08 浙江大学 一种基于功率的工业机械臂异常运动在线检测方法

Similar Documents

Publication Publication Date Title
KR102579088B1 (ko) 멀티코어 프로세서에 대한 전류 제어
US20200186553A1 (en) System monitor
US8087823B2 (en) Method for monitoring thermal control
US9335183B2 (en) Method for reliably operating a sensor
US7502705B2 (en) Sensor subset selection for reduced bandwidth and computation requirements
JP2006279466A (ja) 監視システム、監視プログラム及び監視方法
JP4572251B2 (ja) 計算機システム、計算機システムの障害の予兆検知方法及びプログラム
US10303574B1 (en) Self-generated thermal stress evaluation
CN108983922A (zh) 工作频率调节方法、装置及服务器
US9399997B2 (en) Method for detecting heat-dissipating air flow and electronic device using the same
US11144421B2 (en) Apparatus with temperature mitigation mechanism and methods for operating the same
WO2023179684A1 (zh) 一种中央处理器状态监测方法、装置、设备、存储介质
US9733685B2 (en) Temperature-aware microprocessor voltage management
JP2017219947A (ja) 異常検出装置、異常検出方法及び異常検出プログラム
WO2023089781A1 (ja) 制御装置及び制御方法
US11977754B2 (en) External indicators for adaptive in-field recalibration
US20140379162A1 (en) Server system and monitoring method
WO2023089780A1 (ja) 制御装置及び制御方法
WO2023089783A1 (ja) 制御装置及び制御方法
CN111274098A (zh) 一种基于IoT的存储设备报警方法及装置
WO2023089782A1 (ja) 制御装置及び制御方法
US20240348614A1 (en) Control device and control method
CN115357421A (zh) 服务器液冷系统漏液处理方法、装置及计算机设备
KR101420230B1 (ko) 네트워크에 연결된 단말기의 해킹 감시 방법, 해킹 감시용 프로그램이 기록된 기록 매체, 및 해킹 감시용 프로그램이 설치된 단말기
US20190089548A1 (en) Packet transfer device and packet transfer system

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE