Internet-Draft | extar | July 2023 |
Rodrigues | Expires 11 January 2024 | [Page] |
The shift to multi-cloud environments brought data leakage prevention challenges for organisations. The current Cross-Tenant Access Restriction (XTAR) mechanisms do not cover critical scenarios where users can connect to multiple tenants (organisational and personal), facilitating data exfiltration. The goal, similar to previously proposed, reviewed and accepted protocols that have been published as RFC standards and are now widely adopted, is to help organisations keep their data under control when using one or more Cloud Service Providers (CSPs). This can be done by incentivising CSPs to adopt the proposed protocol, Extended-Cross-Tenant Access Restriction (E-XTAR), consisting of a globally readable header specifying the allowed <CSP, tenantID> combinations allowed by the home organisation. The work gathers scenarios contributing to the importance of a cloud-agnostic, universally embraced protocol.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 11 January 2024.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Organisations' dynamic has evolved into a hybrid, multi-cloud setting (1). A subset of those will have granted their colleagues company-owned devices, the assumption often being, to access cloud tenants associated with their work in the said company (2). Segregation of business and personal environments, being a direct consequence of this, improves the level of Data Leakage Prevention (DLP) policies. Additionally, the dynamics within a single organisation, or even inter-organisations, have contributed to the adoption of multi-cloud environments, that is, organisations instantiating organisational tenants in multiple Cloud Service Providers (CSPs) (3). The keyword there is "tenant". Employees/colleagues can, rightfully, instantiate their tenants in those CSPs.¶
An approach that can be taken (and it indeed works in specific scenarios) is inserting a header in the authentication-related network traffic originating from the company-owned devices (2). The device itself, or a network proxy, injects custom CSP-specific headers either directly containing a list of allowed, uniquely identified, tenants or providing an indirect mechanism (look-up) to get such a list. The CSP, capable of interpreting its custom header, decides whether to emit or not, a valid authentication token. Looks at which tenant the user is trying to access and only issues a valid token if such a tenant is present in the list of allowed tenants.¶
The catch: This is not something that all CSPs have adopted. In fact, to my knowledge, only a couple have such mechanisms, and, it, itself, has scope for improvement. This Internet-Draft exposes the need for the standardisation of a cross-tenant access restriction protocol and consequent adoption by CSPs.¶
Take the widely adopted Sender Policy Framework (SPF - [rfc7208]), Domain-Keys Identified Mail (DKIM - [rfc6376]) and Domain-based Message Authentication Reporting & Conformance (DMARC - [rfc7489]) protocols that, together with the Domain Name Server (DNS) protocol, help ensure the authenticity and integrity of electronic mail - related to yet another RFC-defined protocol: SMTP - [rfc5321]. A noteworthy characteristic of these, and other, protocols defined in standards is: They are optional. There is no central body enforcing the adoption of the standards. What has happened, and still is, is that the community itself is pressured to adopt certain standards to guarantee reliable Internet communication between services.¶
We can follow a similar strategy for data protection, to secure organisational (potentially sensitive) data from exfiltration, this document suggests a cloud-agnostic protocol that consists of having a single header, interpretable by any CSP's Identity Provider, to verify if the authentication request is coming from a company-owned device and, if it is, only to emit an authentication token if the tenant being reached in that CSP is allowed by the home organisation, owner of the company-owned device.¶
Because we cannot guarantee every existing and new CSP will implement this sort of mechanism, the standardisation process incentivises it, and, if adopted by the CSPs and organisations, it restricts the attack vector where colleagues, intentionally or not, exfiltrate data from an organisational tenant into an external tenant (personal or B2B).¶
Organisations deal with sensitive data and therefore follow strict data governance rules. Many introduce data leakage prevention policies, which are eased or not fully effective on organisationally-owned devices (work devices), as these are usually within a corporate network and are trusted.¶
As we will see from the Section 3, a multi-cloud organisation cannot block access to a whole CSP. And even in a single cloud environment, except for specific CSPs that allow/understand an XTAR mechanism to restrict access to specific tenants within that CSP, there is no widely adopted protocol to restrict access to specific tenants across CSPs. This appears to be essential when organisations are looking to have clear isolation between organisational and personal tenants.¶
In Section 3, the Section 3.7 protocol accommodates scenarios of single- and multi-cloud organisations with the need to restrict access to organisational tenants within them. These organisations are assumed to have provided their colleagues with a corporate device that should only access organisational tenants.¶
This approach is an extension of the approach taken by one specific CSP, which includes allowing an organisation to inject an optional header ("allowed-tenants-list") in the authentication-related network traffic destined for that CSP, which will then be read and interpreted by the CSP itself. This header will contain a list of organisationally allowed tenants (within that CSP). Once the traffic reaches the CSP's Identity Provider (the service granting the authentication token), the token will only be emitted if the tenant being accessed is present in the "allowed-tenants-list" network header.¶
Limitations of this "legacy" protocol:¶
The proposed protocol (E-XTAR) extends the legacy protocol as follows:¶
For the following use cases, letters are used to identify organisations and colleagues, numbers are used to identify CSPs and a combination of <letter, number> specified the tenant owned by the letter entity in the numbered CSP.¶
Across the use cases, assume the base scenario:¶
Perhaps the most common, in this scenario the organisation's (lack of) controls allow an employee to connect from the work device both to the organisational tenant (using work credentials) and to personal tenants.¶
Because organisation A has no XTARs, employee B can access the organisational tenant A1 from the work device (expected) but it can also access both personal tenants B1 and B2 (malicious).¶
Employee B can effectively download data into its work device from organisational tenant A1 and subsequently upload it to personal tenants B1 (hosted in the same CSP as the organisational tenant A1) and B2 (hosted in a different CSP).¶
Consequences:¶
Following the previous use case, now consider that, because organisation A has a single cloud environment within CSP 1, it implements a network restriction that aids with XTAR:¶
In this scenario, employee B can still access tenant A1 from CSP 1, using its work device. Employee B will not be able to access its tenant B2 from CSP 2, as network traffic is blocked when trying to access CSP 2. However, employee B is still able to connect to personal tenant B1 (hosted in the same CSP as the organisational tenant A1).¶
The organisation cannot fully restrict network access to CSPs itself uses. So, if organisation A is using CSP 1, traffic to it will have to be allowed, at a network level.¶
Consequences:¶
Further building on top of the second use case, consider that CSP 1 (used by organisation A and employee B), allows the organisation to insert metadata in the network traffic, specifying the list of allowed tenants within such CSP 1.¶
Employee B can still access tenant A1 from CSP 1, using its work device. Employee B will not be able to access either personal tenants, B1 (XTAR implemented by injecting the network header) or B2 (network traffic is still blocked when trying to access CSP 2).¶
Shortcomings of this approach include:¶
Consequences:¶
Consider the scenario where organisation A is still single-cloud and decides to drop the network traffic to other CSPs restrictions, but implements its tenant's CSP's XTARs. This results in less strict access than the previous one but does reduce the Governance required.¶
Consequences:¶
Changing the scenario to illustrate one of the shortcomings of the third use case:¶
Employee B can still access tenant A1 from CSP 1, using its work device. Employee B will not be able to access personal tenant B1 (XTAR implemented by injecting the network header). But because there is no XTAR mechanism understood by CSP 2 and organisation A cannot block network traffic to it (since it hosts an organisational tenant A2 in CSP 2). Employee B will be able to access organisational tenants A1 and A2, but it will also be able to exfiltrate data through its tenant B2, hosted in CSP 2.¶
Even if CSP 2 had yet another vendor-specific XTAR mechanism, which is a plausible scenario in the current times, this would add to the governance and implementation effort.¶
Consequences:¶
It's worth defining the below edge case to highlight a potential misperception of the tenant restriction's scope: Tenant restrictions are applied on the IdP' side.¶
Employee B can still access tenant A1 from CSP 1, using its work device. Employee B will not be able to access personal tenant B1 (XTAR implemented by injecting the network header). But we shall consider, which Identity Provider is employee B using for its own tenant? Consider the following cases following the scenario described above:¶
Case 1, assuming Organisation A has configured mechanism XTAR 1 (understood by the IdP tenant A1), when employee B tries to authenticate to its tenant B2, using CSP 1 as the central IdP, the authentication flow will not go through and the token won't be issued (this is the expected, correct, behaviour).¶
Case 2, assuming Organisation A has configured mechanism XTAR 1 (understood by the IdP tenant A1), when employee B tries to authenticate to its tenant B1, using CSP 1 as the IdP, the authentication flow will not go through and the token won't be issued. Issuance of the authentication token by CSP2 to employee B when accessing tenant B2, using CSP 2 as the IdP, depends if CSP 2, itself, supports a mechanism equivalent to CSP 1's XTAR 1. If not, B authenticating to personal tenant B2 goes through.¶
Case 3, regardless of Organisation A having configured any kind of XTAR mechanism (understood by the CSPs 1 or CSP 2), when employee B tries to authenticate to its personal tenants, using any external IAM Service Provider 3, the authentication flow will go through and the token will be issued. B authenticating to any personal tenant using an external IdP that is out of the CSP's tenant restrictions' scope is successful.¶
This amplifies the need for a mechanism that is widely adopted, as the restrictions should be applied closer to the system performing the authentication and issuing the token.¶
Now consider the implementation of the proposed Section 2.1, extended-XTAR (E-XTAR), following the scenario:¶
Employee B can access tenants any tenants, as long as these are specified either on (a) the "global-allowed-tenants-list" header explicitly or (b) on the allowed tenants list returned by the endpoint specified in the header.¶
Consequences:¶
The proposed mechanism aims to prevent data exfiltration via the attack vectors specified. Current implementations (and non-implementations) of XTAR are exploitable. E-XTAR aims to make it harder to exploit but requires us to consider factors, such as identity federation, E-XTAR adoption, Bring Your Own Device (BYOD) policies, authentication mechanisms and alternative attack vectors.¶
The restriction must be applied at the identity provider (IdP) level. Whichever vendor/CSP is being accessed, the authentication can happen against a range of external identity providers that include other CSPs and identity platforms' IAM products. When applying a tenant restriction mechanism, it shall be applied close to the IdP, where the authentication is happening and the token is being issued.¶
An example of this scenario is depicted in Section 3.6.¶
A CSP/CSP-like service might not adopt the protocol here proposed. To make sure E-XTARs configurations are validated, the organisation can:¶
Elaborating on the latter the organisation would have a choice of only allowing traffic to CSPs that have adopted E-XTAR.¶
This could be done by (i) having a central authority maintaining a list of CSPs that adopt the proposed protocol (verification process and management overhead needed) or (ii) implementing a mechanism that verifies if the CSP is adopting and implementing E-XTAR, independent of a central authority.¶
All mechanisms presented here mostly rely on intercepting devices' modern authentication traffic, in some cases, even accessing the device's admin configuration itself. They, therefore, cannot be applied to personal devices, most of the time.¶
To achieve a mechanism that thoroughly verifies if the CSP is adopting and implementing E-XTAR, without relying on a central authority, perhaps a challenge-response mechanism, through which the target CSP can prove that it is implementing the proposed protocol, is worth considering.¶
One can consider an actor to create an internet-accessible upload portal (not recognised by typical website classification tools), where it can upload data from its corporate device into it, effectively exfiltrating data from an organisation. This is an attack vector achievable now and not covered by the protocol.¶
To tackle this, we always rely on Data Leakage Prevention mechanisms. Alternatively, would need a per-website allow-list, which may be hard to achieve in very dynamic organisations. Plus it includes management overhead.¶
This document has no IANA actions.¶
Thanks to the people who helped in the learning and exploring of tenant restrictions.¶