OS-Level Data Leakage Prevention via Dynamic Code Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data leakage prevention methods are cumbersome and impractical, as they require developing a plugin for each third-party application, making it difficult to restrict access to sensitive data across various devices and networks, especially in mobile and collaborative work environments where data is frequently shared and accessed by diverse applications.

Innovation Solution

A forced data leakage prevention system that intercepts operating system messages and modifies code instructions of third-party applications to restrict access to secure data, using a centralized policy server to define access controls and apply encryption or digital watermarks, thereby limiting data manipulation and sharing across all devices and applications without the need for specific plugins.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a plugin is developed for each third-party application to prevent data leakage, then data security is improved, but device complexity and implementation difficulty increase significantly

Engineering Contradiction:
Improvedata securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal data leakage prevention mechanism at the operating system level that applies to all third-party applications without requiring application-specific plugins. The OS monitors and controls data access requests from any application uniformly, making the system both secure and simple to deploy across diverse applications and devices.

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

2Reliability

If individual plugins are required for each application, then precise control over data access is achieved, but ease of operation and deployment deteriorate

Engineering Contradiction:
Improveaccess control precisionVSAvoiddeployment ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The operating system serves as an intermediary between third-party applications and secure data, centralizing the control logic. Instead of embedding control mechanisms within each application plugin, the OS mediates all data access requests uniformly, simplifying deployment while maintaining precise access control through centralized policy enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If data is frequently shared in mobile and collaborative environments, then productivity and adaptability improve, but data leakage risk increases

Engineering Contradiction:
Improvecollaborative work efficiencyVSAvoiddata leakage risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system establishes data protection mechanisms in advance at the operating system level, before data sharing occurs. By pre-configuring access control policies and monitoring capabilities in the OS, the system enables frequent data sharing for collaborative productivity while automatically preventing leakage risks through pre-established security barriers.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10628581B2System and method for forced data leakage prevention
Publication Date: 2020.04.21 DELL PROD LP
  • US10628581B2 patent drawing
  • US10628581B2 patent drawing
  • US10628581B2 patent drawing

AI summary

An information handling system operating a forced data leakage prevention system may comprise a processor executing code instructions of the forced data leakage prevention system to identify a third party application and an associated first dynamic link library address, identify a control policy associated with the third party application and the identified user, wherein the control policy includes a subset of code instructions associated with a secure data set, identify a call to execute code instructions stored at the first dynamic link library address, move the code instructions stored at the first dynamic link library into a second library prior to execution, inject the subset of code instructions into the code instructions stored in the second library according to the control policy, and move the code instructions stored in the second library including the injected subset of code instructions into the first dynamic link library for execution by the processor.