CAPEC-22 - Exploiting Trust in Client (aka Make the Client Invisible)

An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client.

An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client.

There are numerous variations of this type of attack.

Severity

Likelihood

Confidentiality

Integrity

Availability

  • Attack Methods 2
  • Spoofing
  • Protocol Manipulation
  • Purposes 1
  • Penetration
  • Scopes 3
  • Execute unauthorized code or commands
  • Availability
  • Integrity
  • Confidentiality
  • Gain privileges / assume identity
  • Authorization
  • Access_Control
  • Confidentiality
  • Read application data
  • Confidentiality

Medium level: The attacker must have fairly detailed knowledge of the syntax and semantics of client/server communications protocols and grammars

Server software must rely on client side formatted and validated values, and not reinforce these checks on the server side.

Ability to communicate synchronously or asynchronously with server

Design: Ensure that client process and/or message is authenticated so that anonymous communications and/or messages are not accepted by the system.

Design: Do not rely on client validation or encoding for security purposes.

Design: Utilize digital signatures to increase authentication assurance.

Design: Utilize two factor authentication to increase authentication assurance.

Implementation: Perform input validation for all remote content.