IP Library Patent Application 17581048
Patent Application
App. No. 17/581,048

SYSTEM AND METHOD FOR AUTOMATIC DECOMPILATION AND DETECTION OF ERRORS IN SOFTWARE

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/581,048
Abstract

A system is disclosed for automatic retrieval and analysis of PLC code including at least one code disassembler configured to receive, via one or more passive or active scanners connected to an automation network, compiled code configured for execution on one or more devices of the automation network, the at least one code disassembler automatically disassembling the compiled code into program code. The system including an analyzing component configured to receive the program code from the code disassembler and to automatically analyze the program code for errors. The system including an alerting component configured to receive one or more detected errors from the analyzing component and to communicate or store the one or more detected errors.

Claims (30)

1 . A system, comprising:

at least one code disassembler configured to receive, via one or more passive or active scanners connected to an automation network, compiled code configured for execution on one or more devices of the automation network, the at least one code disassembler automatically disassembling the compiled code into program code;

an analyzing component configured to receive the program code from the code disassembler and to automatically analyze the program code for errors; and

an alerting component configured to receive one or more detected errors from the analyzing component and to communicate or store the one or more detected errors.

2 . The system of claim 1 , wherein the one or more passive or active scanners, the at least one code disassembler, and the analyzing component form an automated processing pipeline for analysis of the compiled code transmitted or executed within the automation network.

3 . The system of claim 1 , wherein the alerting component communicates the errors to a user of the automation network via a display.

4 . The system of claim 1 , wherein the alerting component stores the errors in a log or database along with information related to the program code, a destination address of the one or more devices receiving the compiled code, and a time stamp or version number.

5 . The system of claim 1 , wherein at least one passive scanner of the one or more passive or active scanners detects packets on the automation network that include the compiled code and transmits the compiled code to a first code disassembler of the at least one code disassembler.

6 . The system of claim 5 , wherein, before transmission, the at least one passive scanner extracts the compiled code from the packets, the compiled code being programmable logic controller (PLC) code.

7 . The system of claim 1 , wherein at least one active scanner of the one or more passive or active scanners periodically retrieves the compiled code from the one or more devices of the automation network, and wherein the at least one active scanner automatically transmits the compiled code to a first code disassembler of the at least one code disassembler.

8 . The system of claim 1 , wherein at least one passive scanner of the one or more passive or active scanners automatically filters for the packets that include the compiled code and forwards the packets that include the compiled code to the first code disassembler.

9 . The system of claim 1 , wherein the errors include security vulnerabilities that violate one or more security rules, the one or more security rules including parameter bounding requirements, parameter use requirements, or reachable code requirements.

10 . The system of claim 1 , wherein the program code includes at least one configuration of the one or more devices, the analyzing component detecting elements of the configuration that violate one or more security rules.

11 . A method, comprising:

receiving automatically, via one or more passive or active scanners, compiled code configured for execution on one or more devices of an automation network;

disassembling automatically, via at least one code disassembler, the compiled code for the one or more devices of the automation network into program code;

analyzing automatically the program code for errors via an analyzing component that receives disassembled program code from the code disassembler; and

transmitting the errors in the program code of the one or more devices of the automation network to a storage component as an alert.

12 . The method of claim 11 , wherein the one or more passive or active scanners, the at least one code disassembler, and the analyzing component form an automated processing pipeline for analysis of the compiled code transmitted or executed within the automation network.

13 . The method of claim 11 , wherein the alert communicates the errors to a user of the automation network via a display.

14 . The method of claim 11 , further comprising:

storing the errors in a log or a database along with information related to the program code, a destination address of the one or more devices receiving the compiled code, and a time stamp or version number.

15 . The method of claim 11 , wherein the compiled code is extracted from packets detected on the automation network via at least one passive scanner of the one or more passive or active scanners, and

wherein the extracted compiled code is transmitted to a first code disassembler of the at least one code disassembler.

16 . The method of claim 11 , further comprising:

retrieving, periodically, the compiled code from the one or more devices of the automation network via at least one active scanner of the one or more passive or active scanners periodically,

wherein the at least one active scanner automatically transmits the compiled code to a first code disassembler of the at least one code disassembler.

17 . The method of claim 11 , wherein at least one passive scanner of the one or more passive or active scanners automatically filters for the packets that include the compiled code and forwards the packets that include the compiled code to the first code disassembler.

18 . The method of claim 11 , wherein the errors include security vulnerabilities that violate one or more security rules, the one or more security rules including parameter bounding requirements, parameter use requirements, or reachable code requirements.

19 . The method of claim 11 , wherein the program code includes at least one configuration of the one or more devices, the analyzing component detecting elements of the configuration that violate one or more security rules.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Apr 27, 2023
From: TENABLE, INC.; ACCURICS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 063485/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: SHMIDT, DAN; DAGAN, SEGEV; TRIVIZKI, IDO; ERUKHIMOVICH, DAVID; BERGMAN, MORIA
To: TENABLE, INC.
Reel/Frame 058742/0467 →