Vulnerability Detection for Industrial Control Protocol Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Industrial control systems, particularly those using communication protocols like DNP3, are vulnerable to cyber attacks, necessitating an efficient method to detect vulnerabilities in communication protocol software to prevent such attacks.

Innovation Solution

A system and method that involves selecting critical message fields, generating test cases through Cartesian product of value sets, analyzing code coverage data using K-means and Chi-square tests, and iteratively refining value sets to detect vulnerabilities in communication protocol software, ultimately preventing cyber attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional vulnerability detection methods are used on communication protocol software, then the detection process is simple, but the detection effectiveness and coverage are insufficient to prevent cyber attacks

Engineering Contradiction:
Improvedetection effectivenessVSAvoiddetection system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The detection system segments the communication protocol into multiple message fields and generates test cases for each field separately. The field selection module identifies specific message fields, the value set configuration module creates value sets for each field, and the test case generation module generates targeted test cases. This segmentation approach improves detection effectiveness by systematically covering different protocol aspects while managing complexity through modular processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial action by focusing test case generation on specific concentration message fields that have higher vulnerability risk, rather than uniformly testing all fields. The field selection module identifies critical fields, and the test case generation module prioritizes generating test cases for these fields first. This approach improves detection effectiveness for high-risk areas while reducing overall system complexity by not requiring exhaustive testing of every possible field simultaneously.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If comprehensive test cases are generated for all message fields, then code coverage is improved, but the number of test cases and processing time increase significantly

Engineering Contradiction:
Improvecode coverageVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system changes parameters dynamically during the testing process. The field selection module adjusts which message fields are tested based on vulnerability analysis, the value set configuration module modifies value sets based on field characteristics, and the test case generation module adjusts the number and scope of test cases generated. This parameter adaptation allows the system to achieve high code coverage on critical paths while reducing unnecessary testing elsewhere, thereby minimizing testing time.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms where the code coverage analysis module analyzes results from previous test executions and uses this information to guide subsequent test case generation. The field selection module uses feedback from code coverage data to identify under-tested fields, and the test case generation module prioritizes generating test cases for these fields. This feedback loop improves code coverage efficiency by focusing testing efforts on areas that need improvement rather than re-testing already covered areas.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If iterative refinement of value sets is performed to improve vulnerability detection, then detection accuracy is enhanced, but the processing complexity and time increase

Engineering Contradiction:
Improvedetection accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system employs dynamic value set refinement where value sets are not fixed but are iteratively adjusted based on test results. The value set configuration module initially creates value sets for message fields, then the code coverage analysis module evaluates test results, and subsequent value sets are refined based on this evaluation. This dynamic adaptation improves detection accuracy by progressively focusing on vulnerable areas while managing processing complexity through iterative rather than simultaneous refinement of all parameters.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary action by pre-configuring value sets for message fields before actual vulnerability testing begins. The value set configuration module prepares initial value sets based on protocol specifications and field characteristics, allowing the test case generation module to immediately generate test cases without delay. This preliminary preparation improves detection accuracy by ensuring comprehensive value coverage from the start while managing complexity by separating the value set configuration phase from the execution phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10185831B2Method and system for detecting vulnerabilities of communication protocol software
Publication Date: 2019.01.22 AJOU UNIV IND ACADEMIC COOP FOUND
  • US10185831B2 patent drawing
  • US10185831B2 patent drawing
  • US10185831B2 patent drawing

AI summary

According to an aspect of the inventive concept, there is provided a system for detecting vulnerabilities of communication protocol software, including: a field selection module selecting message fields of a communication protocol of an industrial control system; a value set configuration module configuring first value sets with respect to the respective message fields selected by the field selection module; a test case generation module generating first test cases by Cartesian product of the first value sets; a test module generating first code coverage data by testing the communication protocol software of the industrial control system based on the first test cases; and a code coverage analysis module analyzing the first code coverage data, wherein the field selection module selects concentration message fields which influence the first code coverage data among the message fields according to an analysis result of the code coverage analysis module.