Application-Aware Network Firewalling via Socket Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network firewalling methods, such as port blocking and deep packet inspection, are unreliable and resource-intensive, failing to accurately differentiate between malicious and non-malicious traffic, especially with encrypted data and requiring frequent database updates.

Innovation Solution

A method intercepts network socket events at the transport layer and communicates with a security server to enforce network policies based on application identification, reducing the need for deep packet inspection by blocking or allowing traffic based on application-specific rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If port blocking is used for network firewalling, then the implementation is simple and easy to apply, but the firewalling reliability is poor and cannot accurately differentiate malicious traffic

Engineering Contradiction:
Improveease of implementationVSAvoidfirewalling reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces an intermediary component (the firewall system with application awareness) that sits between the network traffic and the blocked ports. This intermediary uses application identification mechanisms to recognize legitimate applications and allow their traffic while blocking malicious traffic on the same ports, thus maintaining ease of port-based blocking while improving reliability through application-level awareness.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If deep packet inspection is used to identify malicious traffic, then the accuracy of detecting malicious content is significantly improved, but the processing resources required increase and network latency increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidprocessing resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies partial deep packet inspection by examining only specific portions of packets or using selective inspection based on application identification. Instead of inspecting every packet in detail, the system first identifies the application and then applies inspection only when necessary, reducing overall processing resources while maintaining detection accuracy for malicious traffic.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary application identification before conducting deep packet inspection. By first determining which application generated the traffic, the system can make preliminary decisions about whether inspection is needed, thus reducing the total amount of deep packet inspection performed while maintaining security accuracy.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If deep packet inspection is used to detect malicious traffic, then the accuracy of identifying protocol and malicious content is improved, but a huge database of traffic signatures is required and frequent updates are needed

Engineering Contradiction:
Improvedetection accuracyVSAvoidsignature database complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the detection approach by separating application identification from protocol/malicious content detection. The system first identifies the application layer, then uses this information to guide subsequent inspection. This segmentation allows the use of smaller, more manageable signature databases for each layer rather than requiring one huge comprehensive database, reducing complexity while maintaining detection accuracy.

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If SSL proxy is used to decrypt encrypted packets for DPI, then the ability to inspect encrypted traffic is improved, but the network throughput decreases

Engineering Contradiction:
Improveencrypted traffic inspection capabilityVSAvoidnetwork throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial decryption or selective decryption only for traffic from untrusted applications or when suspicious patterns are detected. Instead of decrypting all encrypted traffic through an SSL proxy, the system inspects application identification data and only applies decryption/inspection when necessary, thus maintaining the ability to inspect encrypted malicious traffic while minimizing the impact on overall network throughput.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10454895B2Method and apparatus for application awareness in a network
Publication Date: 2019.10.22 VMWARE INC
  • US10454895B2 patent drawing
  • US10454895B2 patent drawing
  • US10454895B2 patent drawing

AI summary

A method for enforcing a network policy is described herein. In the method, a network socket event request from an application executing in a first context is intercepted by an agent prior to the request reaching a transport layer in the first context. A context refers to virtualization software, a physical computer, or a combination of virtualization software and physical computer. In response to the interception of the request, the agent requests a decision on whether to allow or deny the network socket event request to be communicated to a security server executing in a second context that is distinct from the first context. The request for a decision includes an identification of the application. The agent then receives from the security server either an allowance or a denial of the network socket event request, the allowance or denial being based at least in part on the identification of the application and a security policy. The agent blocks the network socket event from reaching the transport layer when the denial is received from the security server. In one embodiment, the method is implemented using a machine readable medium embodying software instructions executable by a computer.