COMMON WEAKNESS ENUMERATIONDraft

CWE-653

Improper Isolation or Compartmentalization

The product does not properly compartmentalize or isolate functionality, processes, or resources that require different privilege levels, rights, or permissions.

Abstraction

Class

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The product does not properly compartmentalize or isolate functionality, processes, or resources that require different privilege levels, rights, or permissions.

Extended description

When a weakness occurs in functionality that is accessible by lower-privileged users, then without strong boundaries, an attack might extend the scope of the damage to higher-privileged users.

Terminology

Alternate terms and usages

Separation of Privilege

Some people and publications use the term "Separation of Privilege" to describe this weakness, but this term has dual meanings in current usage. This node conflicts with the original definition of "Separation of Privilege" by Saltzer and Schroeder; that original definition is more closely associated with CWE-654. Because there are multiple interpretations, use of the "Separation of Privilege" term is discouraged.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

COMMISSION: This weakness refers to an incorrect design related to an architectural security tactic.

Lifecycle phase

Implementation

Risk

What does successful exploitation lead to?

Gain Privileges or Assume IdentityBypass Protection Mechanism

Affected security scopes: Access Control

The exploitation of a weakness in low-privileged areas of the software can be leveraged to reach higher-privileged areas without having to overcome any additional obstacles.

Defence

How is it prevented and fixed?

Architecture and Design

Architecture and design approach

Detail
Break up privileges between different modules, objects, or entities. Minimize the interfaces between modules and require strong access control between them.

Verification

How is it detected?

Automated Static Analysis - Binary or Bytecode

SOAR Partial
According to SOAR, the following detection techniques may be useful: ``` Cost effective for partial coverage: ``` Compare binary / bytecode to application permission manifest

Manual Static Analysis - Source Code

High
According to SOAR, the following detection techniques may be useful: ``` Highly cost effective: ``` Manual Source Code Review (not inspections) ``` Cost effective for partial coverage: ``` Focused Manual Spotcheck - Focused manual analysis of source

Architecture or Design Review

High
According to SOAR, the following detection techniques may be useful: ``` Highly cost effective: ``` Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.) Formal Methods / Correct-By-Construction ``` Cost effective for partial coverage: ``` Attack Modeling