Kernel Hook Interception for Socket Control Information

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network devices require extensive and error-prone modifications to operating system networking code to intercept and manipulate control information passed between applications and the kernel, limiting extensibility and flexibility in supporting new functionalities.

Innovation Solution

Implementing loadable kernel modules that register callback functions with the kernel, allowing the kernel to invoke these functions based on specific events, such as the execution of hooks associated with network protocol stacks, enabling interception and manipulation of control information without modifying underlying operating system code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If extensive modifications are made to operating system networking code to intercept control information, then the ability to manipulate control information is improved, but the complexity and error-proneness of the system increases

Engineering Contradiction:
Improveability to intercept and manipulate control informationVSAvoidcomplexity of operating system networking code
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a hook mechanism as an intermediary layer between the kernel and the control information flow. This hook acts as a mediator that intercepts control information without requiring modifications to the core operating system networking code. The hook receives control information from the kernel, allows external modules to manipulate it, and then passes it along, thus resolving the contradiction by providing adaptability through an intermediary rather than through extensive code modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If iterative changes are made to operating system network code to support new functionalities, then new functionalities are added, but the risk of errors and system stability issues increases

Engineering Contradiction:
Improvesupport for new functionalitiesVSAvoidstability of operating system network code
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the functionality by separating the core kernel from the functionality-adding components. Instead of iteratively modifying the kernel code, new functionalities are implemented as separate loadable kernel modules that attach to the kernel through standardized hooks. This segmentation allows new features to be added without touching or risking the stability of the core operating system network code, thus resolving the contradiction between adaptability and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic architecture where the kernel can load and unload modules at runtime through hooks. This dynamic capability allows the system to adapt to new functionalities without requiring iterative recompilation or modification of the core kernel code. Modules can be dynamically attached to hooks, executed, and detached, providing adaptability while maintaining the stability of the core system.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the kernel code is modified to intercept control information, then interception capability is improved, but the ease of manufacture and deployment of new functionalities deteriorates

Engineering Contradiction:
Improveinterception capabilityVSAvoidease of deployment of new functionalities
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent creates a universal hook interface that can serve multiple functions and multiple modules simultaneously. The hook mechanism is designed as a universal attachment point that any loadable kernel module can utilize to intercept and manipulate control information. This universality means that new functionalities can be deployed by simply creating modules that attach to the existing hook infrastructure, without requiring custom modifications for each function, thus improving ease of manufacture and deployment while maintaining interception capability.

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

Data Source

PatentUS10740162B2Intercepting socket metadata
Publication Date: 2020.08.11 JUNIPER NETWORKS INC
  • US10740162B2 patent drawing
  • US10740162B2 patent drawing
  • US10740162B2 patent drawing

AI summary

A device may receive, by a kernel of the device and from a loadable kernel module of the device, information that instructs the kernel to invoke a callback function associated with the loadable kernel module based on an execution of a hook of the kernel. The device may receive, by the kernel of the device and from an application of the device, a socket application programming interface (API) call. The socket API call may include control information. The device may execute, by the kernel of the device, the hook based on receiving the socket API call. The device may invoke, by the kernel of the device, the callback function associated with the loadable kernel module based on executing the hook to permit a functionality associated with the callback function to be provided. The kernel may provide the control information, associated with the socket API call, to the callback function as an argument.