Robot Task Program Data-Flow Analysis for Security Vulnerabilities

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Industrial robot task programs written in proprietary languages are difficult to secure due to unique semantics and limited features, making them vulnerable to unsecure data flows that can lead to physical safety issues and security risks, as existing security evaluation techniques are not effective for domain-specific languages.

Innovation Solution

A task program analyzer is developed to inspect automation task programs by parsing them into control flow graphs, identifying unsecure data flows through domain-agnostic intermediate representations, and detecting vulnerabilities by analyzing data flow between sensitive sources and sinks, thereby preventing execution and raising alerts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing security evaluation techniques are used on industrial robot programs, then general-purpose programming security can be assessed, but domain-specific language features and proprietary semantics cannot be effectively evaluated

Engineering Contradiction:
Improvesecurity evaluation effectivenessVSAvoidlanguage compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediate representation (IR) as a mediator that translates proprietary industrial robot programming languages into a common, domain-agnostic format. This IR serves as a universal interface that allows security analysis tools to evaluate different vendor-specific languages (ABB, KUKA, Fanuc, etc.) without requiring separate analysis engines for each language, thereby resolving the contradiction between security evaluation effectiveness and language compatibility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal security analysis framework that can handle multiple proprietary programming languages through a single unified approach. By converting all vendor-specific languages into a common intermediate representation, the system achieves multi-functionality where one analysis engine can securely evaluate diverse industrial robot programs regardless of their original language syntax or semantics

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If proprietary programming languages with unique semantics are used, then vendor-specific functionality is achieved, but security analysis becomes difficult

Engineering Contradiction:
Improvevendor-specific functionalityVSAvoidsecurity vulnerability detection
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The intermediate representation acts as a mediator that preserves the semantic meaning of vendor-specific constructs while translating them into a standardized format that security analysts can understand and evaluate. This allows the system to maintain vendor-specific functionality through accurate semantic representation while simultaneously making the code amenable to systematic security analysis

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the representation parameters of proprietary languages by converting syntax-specific features into semantic-equivalent constructs in the intermediate representation. This parameter transformation maintains the functional behavior of vendor-specific languages while presenting the data in a form that is optimized for security vulnerability detection and analysis

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data flow from untrusted sources to critical sinks is allowed, then program functionality is maintained, but security vulnerabilities and physical safety risks increase

Engineering Contradiction:
Improveprogram functionalityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent performs security analysis through data flow tracking before the robot program is executed. By identifying potential unsecure data flows from untrusted sources to critical sinks in advance, the system can prevent vulnerable programs from being deployed, thereby eliminating security vulnerabilities before they can cause physical safety incidents while still allowing functional programs to run

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the security analysis results are used to determine whether a program should be allowed to execute. The data flow analysis provides feedback about potential security risks, and this feedback is used to block problematic programs or alert developers to fix vulnerabilities, creating a closed-loop security assurance process

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11440190B1Detecting unsecure data flow in automation task programs
Publication Date: 2022.09.13 TREND MICRO INC
  • US11440190B1 patent drawing
  • US11440190B1 patent drawing
  • US11440190B1 patent drawing

AI summary

An automation task program is inspected for unsecure data flow. The task program is parsed to generate a parse tree, which is visited to generate control flow graphs of functions of the task program. The control flow graphs have nodes, which have domain-agnostic intermediate representations. The control flow graphs are connected to form an intermediate control flow graph. The task program is deemed to have an unsecure data flow when data is detected to flow from a data source to a data sink, with the data source and the data sink forming a source-sink pair that is indicative of an unsecure data flow.