PLC Hot Patching Through Real-Time Binary Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programmable logic controllers (PLCs) in cyber-physical systems are vulnerable to malicious cyber activities, which can lead to system instability and safety risks. Existing methods for patching PLCs often require taking the system offline, disrupting operations and violating high uptime requirements.

Innovation Solution

A system and method for real-time binary analysis of PLC code, enabling the generation, testing, and implementation of patches without interrupting the operation of the PLC. This involves creating a profile of the system's operation, detecting anomalies, generating patches, and verifying their safety before applying them in real-time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the PLC is taken offline to generate, test, and apply patches, then the patching process can be completed safely and thoroughly, but the system uptime is reduced and operations are disrupted

Engineering Contradiction:
Improvepatching safetyVSAvoidsystem uptime
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by generating candidate patches offline in advance, before they are needed for deployment. The patch generation process creates multiple candidate patches and stores them for later use, so that when a vulnerability is detected, pre-prepared patches can be applied without taking the PLC offline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of the PLC program and candidate patches that can be tested and validated without affecting the running system. Multiple candidate patches are generated and stored as copies, allowing thorough testing and selection of the best patch before deployment to the actual PLC.

Inventive Principle:
Principle #26Copying

2Reliability

If the PLC is taken offline to test and validate patches, then the safety and correctness of patches can be ensured, but the time required for patch deployment increases

Engineering Contradiction:
Improvepatch safetyVSAvoidpatch deployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary testing and validation of candidate patches against the profile data before deployment. By using the pre-generated profile of normal PLC behavior, the system can automatically test whether candidate patches maintain safety requirements without requiring offline validation, thus reducing deployment time while ensuring patch safety.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from comparing candidate patches against the established profile to automatically validate patch safety. The profile serves as a reference for normal behavior, and candidate patches are tested against this profile to ensure they don't introduce anomalies, providing automated safety verification without offline testing.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If patches are applied quickly to address cyber vulnerabilities, then system security is improved, but the risk of introducing new errors or instability increases

Engineering Contradiction:
Improvecyber vulnerabilityVSAvoidsystem stability
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The system creates and tests multiple candidate patches against the profile before selecting the best one for deployment. This copying and testing process allows thorough evaluation of each candidate's potential to introduce errors or instability, ensuring that only the most reliable patch is applied to the actual PLC.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The profile acts as an intermediary between the candidate patches and the actual PLC system. By comparing patches against the profile of normal behavior, the system can identify patches that might introduce instability or errors before they are deployed, serving as a safety filter that protects the PLC from problematic patches.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If comprehensive testing and analysis are performed on patches, then the quality and safety of patches are improved, but the complexity of the patching process increases

Engineering Contradiction:
Improvepatch qualityVSAvoidpatching process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs automated self-testing and self-validation of candidate patches against the profile without requiring external manual testing. The profile-based comparison automatically identifies patches that maintain safety requirements, eliminating the need for complex manual testing procedures and reducing overall process complexity while maintaining high patch quality.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12340211B2Systems and methods for real-time binary analysis with hot patching of programmable logic controllers
Publication Date: 2025.06.24 THE MITRE CORPORATION
  • US12340211B2 patent drawing
  • US12340211B2 patent drawing
  • US12340211B2 patent drawing

AI summary

Described herein are systems and methods for performing real-time binary analysis of code running in programmable logic controllers, and specifically to systems and methods for generating patches, testing patches, and implementing patches on programmable logic controllers while the controller is operating is provided. In one or more examples, a profile of the physical operation controlled by the PLC and the broader system can be generated. In one or more examples, once a profile has been generated, the system and methods described herein can capture data images that provide information regarding the operation of the system as well as the PLC. Based on the received data images, and the generated profile, the system can detect anomalies and/or safety constraint violations in the operation of the system that can be rectified or mitigated through patching (i.e., modification of the datasets or binary code used by the PLC).