Systems and methods for controlling file execution for industrial control systems
AssigneeGeneral Electric Company
InventorsWilliam Robert Pettigrew, Justin Brandon Chong, Manas Ranjan Sahoo
Life of this patent
Estimating the term…
Abstract
A system includes a controller configured to control a process, and store at least one binary file, wherein the at least one binary files is generated from at least one source file, wherein the at least one source file comprises instructions configured to be executed by a processor in the controller. The controller may also be configured to retrieve a whitelist file comprising a first hash key value derived from the at least one binary file, and execute an executable file based on the whitelist file, wherein the executable file comprises the source file.
Claims19
A system comprising:
- a machinery disposed on an industrial plant;
- at least one sensor disposed on an industrial plant component of the machinery;
- a hardware controller communicatively coupled to the sensor, the hardware controller configured to :
- receive at least one sensor value from the at least one sensor;
- execute an executable file that utilizes the at least one sensor value as input to the executable file to derive a control action, wherein the executable file comprises an executable binary file stored in a memory of the hardware controller;
- control a process of the industrial plant by actuating a field device based on the control action, wherein actuating the field device controls an operation of a gas turbine system of the machinery;
- retrieve a whitelist file wherein the whitelist file comprises an encrypted file stored in the hardware controller and used by the hardware controller to enable execution of commands;
- decrypt the whitelist file to derive a first hash key value;
- derive a second hash key value from the executable file;
- determine whether the executable file is listed in the whitelist file by comparing the first hash key value to the second hash key value;
- and
- executing, during machinery operations, the executable file to control the gas turbine based on the determination that the executable file is listed on the whitelist file.
A method, comprising:
- operating, via a hardware controller, a machinery disposed on an industrial plant;
- receiving, via a sensor disposed on an industrial plant component of the machinery and communicatively coupled to the hardware controller, a sensor signal;
- executing, via the hardware controller, an executable file that utilizes the sensor signal as input to the executable file to derive a control action, wherein the executable file comprises an executable binary file;
- controlling, via the hardware controller, a process of the industrial plant by actuating a field device based on the control action;
- determining, via the hardware controller, an input binary by using the executable file, wherein the executable file is configured to be executed by the hardware controller, and wherein the input binary, when executed by the hardware controller, commands the hardware controller to control an operation of a turbine system of the machinery;
- decrypting, via the hardware controller, an encrypted whitelist to produce a decrypted whitelist;
- calculating, via the hardware controller, an input hash key value from the input binary;
- determining, via the hardware controller, whether the input hash key value is included in the decrypted whitelist, wherein the decrypted whitelist comprises a plurality of hash key values calculated from a plurality of authenticated binary files, wherein the encrypted whitelist comprises an encrypted file stored in the hardware controller and used by the hardware controller to enable execution of commands;
- and
- executing, via the hardware controller, the executable file to control the turbine system when the input hash key matches one of the plurality of hash key values in the decrypted whitelist.
A tangible, non-transitory, computer-readable medium comprising instructions configured to be executed by a processor of a hardware controller, the instructions configured to:
- operate a machinery disposed on an industrial plant;
- receive, via a sensor disposed on the industrial plant component, a sensor signal;
- execute an executable file that utilizes the sensor signal as input to the executable file to derive a control action;
- control a process of the industrial plant by actuating a field device based on the control action, wherein actuating the field device controls an operation of a gas turbine system of the machinery;
- decrypt an encrypted whitelist to provide a decrypted whitelist;
- determine an input hash key value for an input binary file, wherein the input binary file of the executable file, when executed by the hardware controller, commands the hardware controller to control an operation of the gas turbine system of the machinery;
- and
- block execution of the input binary file when the input hash key value is not found in the decrypted whitelist, execute the input binary file when the input hash key value is found in the decrypted whitelist;
- wherein the decrypted whitelist comprising a plurality of hash key values, and wherein the encrypted whitelist comprises an encrypted file stored in the hardware controller and used by the hardware controller to enable execution of commands.
Dependencies are inferred from the claim text.