COMMON WEAKNESS ENUMERATIONDraft

CWE-1293

Missing Source Correlation of Multiple Independent Data

The product relies on one source of data, preventing the ability to detect if an adversary has compromised a data source.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The product relies on one source of data, preventing the ability to detect if an adversary has compromised a data source.

Extended description

To operate successfully, a product sometimes has to implicitly trust the integrity of an information source. When information is implicitly signed, one can ensure that the data was not tampered in transit. This does not ensure that the information source was not compromised when responding to a request. By requesting information from multiple sources, one can check if all of the data is the same. If they are not, the system should report the information sources that respond with a different or minority value as potentially compromised. If there are not enough answers to provide a majority or plurality of responses, the system should report all of the sources as potentially compromised. As the seriousness of the impact of incorrect integrity increases, so should the number of independent information sources that would need to be queried.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

This flaw could be introduced during the design of the application or misconfiguration at run time by only specifying a single point of validation.

Lifecycle phase

Implementation

Such issues could be introduced during hardware implementation, then identified later during Testing or System Configuration phases.

Lifecycle phase

Operation

This weakness could be introduced by intentionally failing all but one of the devices used to retrieve the data or by failing the devices that validate the data.

Risk

What does successful exploitation lead to?

Read Application DataModify Application DataGain Privileges or Assume Identity

Affected security scopes: Confidentiality, Integrity

An attacker that may be able to execute a single Person-in-the-Middle attack can subvert a check of an external oracle (e.g. the ACME protocol check for a file on a website), and thus inject an arbitrary reply to the single perspective request to the external oracle.

Defence

How is it prevented and fixed?

Requirements

Security requirement

Detail
Design system to use a Practical Byzantine fault method, to request information from multiple sources to verify the data and report on potentially compromised information sources.

Implementation

Implementation-phase defence

Detail
Failure to use a Practical Byzantine fault method when requesting data. Lack of place to report potentially compromised information sources. Relying on non-independent information sources for integrity checking. Failure to report information sources that respond in the minority to incident response procedures.