US 12,340,211 B2
Systems and methods for real-time binary analysis with hot patching of programmable logic controllers
Roshan K. Thomas, Centreville, VA (US); and Gananand G. Kini, Ashburn, VA (US)
Assigned to The MITRE Corporation, McLean, VA (US)
Filed by The MITRE Corporation, McLean, VA (US)
Filed on Mar. 3, 2023, as Appl. No. 18/117,170.
Prior Publication US 2024/0296033 A1, Sep. 5, 2024
Int. Cl. G06F 8/656 (2018.01); G05B 19/418 (2006.01); G05B 23/02 (2006.01); G06F 8/61 (2018.01)
CPC G06F 8/656 (2018.02) [G05B 19/418 (2013.01); G05B 23/0235 (2013.01); G06F 8/61 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method for deploying a patch for a programmable logic controller (PLC) deployed within a system, the method comprising:
generating a profile of the PLC, wherein the generated profile comprises one or more patterns observed in one or more data variables associated with operation of the PLC, wherein generating the profile of the PLC comprises:
receiving one or more selections indicating the one or more data variables associated with operation of the PLC to observe,
operating the system that the PLC is deployed on,
observing the one or more data variables associated with operation of the PLC,
determining the one or more patterns within the one or more data variables,
determining that the observation of the one or more data variables is sufficient to generate the profile, and
generating the profile based on the one or more patterns within the one or more data variables;
receiving one or more data images of the PLC, wherein the data images of the PLC comprise recorded values of the one or more data variables associated with operation of the PLC and collected during operation of the PLC;
detecting one or more anomalies in the received one or more data images based on, at least in part, a comparison between the received one or more data images and the generated profile;
determining a patching strategy based on the detected anomalies;
generating a patch based on the determined patching strategy; and
installing the patch on the PLC while the PLC is operating the system.