Access Control Lists for Operating System Application Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern application control systems, particularly in Windows OS versions like 10, face challenges due to inaccessible information needed for access rule decisions, which hinders efficient access control when switching between user mode and kernel mode, leading to time-consuming operations.

Innovation Solution

The implementation of a computer-implemented method using access control lists (ACLs) to generate and apply ACLs based on access rules, determining categories of objects, and intercepting user requests to decide on access permissions, allowing or denying access efficiently without mode switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application control system switches between user mode and kernel mode to access necessary information for access control decisions, then the system can obtain required information (such as electronic digital signature) for making access decisions, but the operation time increases significantly due to the mode switching overhead

Engineering Contradiction:
Improveaccess control decision accuracyVSAvoidaccess control processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating access control lists (ACLs) in advance during system initialization or policy definition phases. These ACLs contain pre-processed access control decisions and mappings between object categories and security attributes. When an access request occurs, the kernel-mode component can directly apply these pre-computed ACLs without needing to switch to user mode to retrieve or process access rules, thereby eliminating mode switching overhead while maintaining accurate access control decisions.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the system uses complex access rules that consider multiple attributes (such as access token and object attributes) to make access decisions, then the access control becomes more flexible and accurate, but the system complexity increases and requires more extensive information processing

Engineering Contradiction:
Improveaccess control rule flexibilityVSAvoidapplication control system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the access control functionality into distinct components: (1) policy definition component that creates access rules in user mode, (2) ACL generation component that translates access rules into ACLs, and (3) ACL application component that enforces access decisions in kernel mode. This segmentation allows each component to operate independently with well-defined interfaces, reducing system complexity while maintaining flexible access control capabilities. The ACL structure itself segments access control information into object-category-based groups, making it easier to process and apply.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The access control list (ACL) serves as an intermediary data structure between the complex access rules and the simple access decision-making process. The ACL translates multi-attribute access rules into a standardized format that maps object categories to access permissions. This intermediary representation simplifies the kernel-mode access decision process while preserving the flexibility and complexity of the original access rules, allowing the system to handle complex policies without requiring complex real-time processing in the critical access path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10599861B2System and method for access control using ACLs
Publication Date: 2020.03.24 AO KASPERSKY LAB
  • US10599861B2 patent drawing
  • US10599861B2 patent drawing
  • US10599861B2 patent drawing

AI summary

Disclosed are systems and method for controlling access to objects of an operating system using Access Control Lists (ACLs). An exemplary method comprises: generating, by a processor, one or more ACLs for objects of the operating system based on at least one access rule specifying the access mode to the object of the operating system to one or more users based on the one or more categories to which the objects belongs; intercepting a request from a user to access an object of the operating system; determining, by the processor, one or more ACLs associated with the requested object; and applying, by the processor, the determined one or more ACLs to decide whether to allow or deny access of the user to the requested object, wherein if one of the applied ACLs denies access to the object, the access will be blocked, otherwise the access will be allowed.