SovereignCloudStack / issues

This repository is used for issues that are cross-repository or not bound to a specific repository.
https://github.com/orgs/SovereignCloudStack/projects/6
2 stars 1 forks source link

Threat modeling for E2E encryption between services #532

Closed fdobrovolny closed 7 months ago

fdobrovolny commented 8 months ago

As an SCS Contributor, I want to model possible threats that could be mitigated by E2E encryption so that we can implement encryption in a way that makes sense and serves a purpose.

As arose from the IaaS meeting:

  • How does the attacker model looks like?
  • basically the user doesn't have encrypted traffic between workloads
  • someone gaining software access on the compute node the attacker probably has also access to the private key and can decrypt the whole traffic
  • AI @fdobrovolny: create specific attacker models until next meeting

Definition of Ready:

Definition of Done:

fdobrovolny commented 8 months ago

Assumptions:

Man in the middle Attack

Considering the stated assumptions and the objective to enforce end-to-end (E2E) encryption for user workloads, our primary security concern is averting man-in-the-middle (MITM) attacks. These can be categorized into two distinct forms: active and passive.

Passive Attacks - Eavesdropping

Consider the scenario where an unauthorized individual engages in covert surveillance, such as a rogue network administrator or an intruder with physical access to the data center. I described this type of Attack as 'passive' because their primary action is silently monitoring unencrypted traffic without interfering with data integrity or network operations.

Wiretapping is a common technique employed in such espionage. It involves the unauthorized attachment to network cabling, enabling the covert observation of data transit. This activity typically goes unnoticed as it does not disrupt the flow of network traffic, although it may occasionally introduce minor transmission errors.

https://hackinglab.cz/en/blog/wiretapping/

An alternative strategy involves deploying an interception device that captures and retransmits data, which could introduce network latency or, if deployed disruptively, cause connectivity interruptions. Such devices can be concealed by synchronizing their installation with network downtime, maintenance periods, or less conspicuous times like power outages. They could also be strategically placed in less secure, more accessible locations, such as inter-building network links. This applies to wiretapping as well.

Furthermore, the vulnerability extends to network devices, where an attacker could exploit unsecured management ports or leverage compromised remote management tools (like IPMI) to gain unauthorized access. Such access points, especially those not routinely monitored like backup VPNs, present additional security risks.

Below is a conceptual diagram depicting potential vulnerabilities in an OpenStack deployment across dual regions, highlighting how these passive eavesdropping techniques could be facilitated.

image

Active - Spoofing / Tampering

Active network attacks like spoofing and tampering exploit various access points, often leveraging vulnerabilities uncovered during passive eavesdropping phases. These attacks actively manipulate or introduce unauthorized communications on the network.

Spoofing involves an attacker masquerading as another device or user within the network. This deception can manifest in several ways:

Moreover, when an active interception device is in place, attackers can extend their capabilities to traffic filtering. They might selectively delete or alter logs and metrics to erase traces of their intrusion or fabricate system performance data, thus obscuring the true nature of their activities. For instance:

Below is a conceptual diagram depicting potential vulnerabilities in an OpenStack deployment across dual regions, highlighting how these spoofing attacks could be facilitated.

image

Notes from the IaaS Team presentation

fdobrovolny commented 7 months ago

I tried to get additional feedback from the upstream mailing list

https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/6DUVP3BR6F3KPRPOFK5KXLTXYH2NXM6M/

However, as I did not get any extra feedback I'm closing this issue.