Network Gateway Generator for Mathematical Security Guarantees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for constructing network gateways, despite using software and systems engineering best practices and penetration testing, fail to provide mathematical guarantees of security and cannot ensure the absence of vulnerabilities, especially in complex systems where complete coverage is not achievable.

Innovation Solution

A high-assurance network gateway generator that translates input artifacts into executable code, generating OS, deserialization, and filtering code, along with proof artifacts, to ensure that untrusted subsystems cannot interfere with trusted ones and prevent exploitable failures, using a combination of OS code, glue code, and communications code generators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If penetration testing and engineering best practices are used to construct network gateways, then the number of potential vulnerabilities is decreased, but mathematical guarantees of security cannot be provided

Engineering Contradiction:
Improvesecurity guaranteeVSAvoidtesting coverage
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces manual penetration testing and engineering best practices with an automated formal verification system. The system uses theorem provers and model checkers to automatically verify security properties of network gateway code, replacing the mechanical manual testing process with an automated mathematical verification approach that provides complete coverage and mathematical guarantees.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements a feedback mechanism where the formal verification system continuously checks generated code against specified security properties. The system provides feedback about potential vulnerabilities and verification results, allowing the code generation process to be guided by verification outcomes to ensure mathematical guarantees of security.

Inventive Principle:
Principle #23Feedback

2Reliability

If complete testing coverage is attempted for all possible system states, then vulnerability detection is improved, but computational resources are exhausted

Engineering Contradiction:
Improvevulnerability detectionVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by specifying security properties and verification goals before code generation. The formal verification system is configured with pre-defined security invariants and verification conditions that guide the automated checking process, allowing comprehensive verification without exhaustively testing all possible system states, thus reducing computational resource requirements while maintaining complete coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the approach from exhaustive state-space testing to parameter-based verification. Instead of testing all possible system states, the system verifies security properties by checking critical parameters and invariants through formal logic, transforming the verification problem from computational exhaustion to mathematical proof, thereby reducing computational resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If manual code generation is used for network gateways, then flexibility in implementation is maintained, but the risk of human error and vulnerabilities increases

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidcode security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent uses copying by generating network gateway code automatically from verified templates and specifications. The code generation process copies proven secure code patterns and structures, eliminating human error while maintaining flexibility through configurable parameters and customizable verification properties. The generated code inherits the security guarantees of the verification system.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements self-service through an automated code generation system that verifies its own output. The system generates code from specifications and automatically verifies the generated code against security properties, making the process self-validating. This eliminates human error while maintaining flexibility through programmable configuration options.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10691282B2High-assurance network gateway generators
Publication Date: 2020.06.23 HRL LAB
  • US10691282B2 patent drawing
  • US10691282B2 patent drawing
  • US10691282B2 patent drawing

AI summary

Described is a high-assurance network gateway generator that generates and encodes network gateway code on a computer readable medium. In operation, the network gateway generator receives input artifacts, which are translated into corresponding formats as translated data. The translated data is distributed to an OS code generator, a glue code generator, and a communications code generator. The OS code generator then generates OS code based on the translated data. The communications code generator proceeds to generate deserialization and filtering code based on the translated data. Further, a glue code generator generates glue code based on the OS code and translated data. An executable network gateway code is then generated by combining the glue code, deserialization code, and filtering code. Finally, the executable network gateway code is then encoded on a computer readable medium.