Hi Sebastian,
Excellent comments! Considering your comments and suggestions, here is a
draft version of Section 13. Please take a look and give us comments.
Thanks a lot and see you tomorrow!
Richard
---------------
13. Security Considerations
Some environments and use cases of ALTO require consideration of
security attacks on ALTO Servers and Clients. In order to support
those environments interoperably, the ALTO requirements document
[RFC6708] outlines minimum-to-implement authentication and other
security requirements. Below we consider the threats and protection
mechanisms supported by the ALTO Protocol.
13.1 Authenticity and Integrity of ALTO Information Resources
13.1.2. Risk Scenarios
An attacker may want to provide false or modified ALTO Information
Resources or Information Resource Directory to ALTO Clients to
achieve certain malicious goals. As an example, an attacker may
provide false endpoint properties. For example, suppose that a
network supports an endpoint property named hasQuota which reports
if the endpoint has usage quota. An attacker may want to generate
a false reply to lead to unexpected charges to the endpoint. An
attack may also want to provide false Cost Map. For example, by
faking a Cost Map that highly prefers a small address range or a
single address, the attacker may be able to turn a distributed
application into a Distributed Denial of Service (DDoS) tool.
Depending on the network scenario, an attacker can attack
authenticity and integrity of ALTO Information Resources using
various techniques, including, but not limited to, sending forged
DHCP replies in an Ethernet, DNS poisoning, and installing a
transparent HTTP proxy that does some modifications.
13.1.3. Protection Mechanisms
ALTO protects authenticity and integrity of ALTO Information
Resources by leveraging the authenticity and integrity mechanisms
in HTTP. In particular, the ALTO Protocol requires that HTTPs MUST
be supported, to protect authenticity and integrity of ALTO
Information Resources. Server certificates will be used to verify
the identify of ALTO Servers.
13.1.4. Limitations
A deployment scenario may require redistribution of ALTO
information to improve scalability. When authenticity and
integrity of ALTO information are still required, then ALTO Clients
obtaining ALTO information through redistribution must be able to
validate the received ALTO information. Support for this
validation is not provided in this document, but may be provided by
extension documents.
13.2. Confidentiality of ALTO Information Resources
13.2.1. Risk Scenarios
Although in many cases ALTO Information Resources may be regarded
as non-confidential information, there are deployment cases where
ALTO Information Resources can be sensitive information that can
pose risks.
For example, an attacker may infer details regarding the topology,
status, and operational policies of a network through the Network
and Cost Maps. As a result, a sophisticated attacker may be able
to infer more fine-graind topology information than an ISP hosting
an ALTO server intends to disclose. The attacker can leverage the
information to mount effect attacks such as focusing on high-cost
links.
Revealing some endpoint properties may also reveal additional
information than the Provider intended. For example, when adding
the line bitrate as one endpoint property, such information may be
potentially linked to the income of the habitants at the network
location of an endpoint.
In [RFC6708] Section 5.2.1, three types of risks associated with
the confidentiality of ALTO Information Resources are identified:
risk type (1) Excess disclosure of the ALTO server operator's data
to an authorized ALTO client; risk type (2) Disclosure of the ALTO
server operator's data (e.g., network topology information) to an
unauthorized third party; and risk type (3) Excess retrieval of
the ALTO server operator's data by collaborating ALTO clients.
13.2.2. Protection Mechanisms
To address risk type (1), the Provider of an ALTO Server must be
cognizant that the network topology and provisioning information
provided through ALTO may lead to attacks. ALTO does not presume
mandatory details of information disclosure, and hence the Provider
should evaluate how much information is revealed and the associated
risks.
To address risk type (2), the ALTO Protocol requires that HTTPs
MUST be supported, to protect confidentiality, in addition to
authenticity and integrity of ALTO Information Resources. In
addition, the ALTO Protocol requires that HTTP Digestion
Authentication MUST be supported to address ALTO Client
Authentication to limit the parties with whom ALTO information is
directly shared. Depending on the use-case and scenario, an ALTO
server may apply other access control techniques to restrict access
to its services (see [I-D.ietf-alto-deployments] for a more
detailed discussion on this issue).
To address risk type (3), the Provider of the ALTO Server must
evaluate the joint information that may be leaked and the
associated risks.
13.2.3. Limitations
ALTO Information Providers should be cognizant that encryption only
protects ALTO information until it is decrypted by the intended
ALTO Client. Digital Rights Management (DRM) techniques and legal
agreements protecting ALTO information are outside of the scope of
this document.
In order to limit access to an ALTO server (e.g., for an ISP to
only allow its users to access its ALTO server, or to prevent
Denial-of- Service attacks by arbitrary hosts from the Internet),
an ALTO server may employ access control policies.
13.3. Availability of the ALTO Service
13.3.1 Risk Scenarios
An attacker may want to disable ALTO Service as a way to disable
network guidance to large scale applications.In particular, queries
which can be generated with low effort but result in expensive
workloads at the ALTO Server could be exploited for
Denial-of-Service attacks. For instance, a simple ALTO query with
n Source Network Locations and m Destination Network Locations can
be generated fairly easily but results in the computation of n*m
Path Costs between pairs by the ALTO Server (see Section 5.2).
13.3.2 Protection Mechanisms
ISPs should be cognizant of the workload at the ALTO Server
generated by certain ALTO Queries, such as certain queries to the
Map Filtering Service and Ranking Service. One way to limit
Denial-of-Service attacks is to employ access control to the ALTO
server. The ALTO server can also indicate overload. Yet another
possible mechanism for an ALTO Server to protect itself against a
multitude of computationally expensive bogus requests is to demand
that each ALTO Client to solve a computational puzzle first before
allocating resources for answering a request (see, e.g.,
[I-D.jennings-sip-hashcash]). The current specification does not
use such computational puzzles, and discussion regarding tradeoffs
of such an approach would be needed before including such a
technique in the ALTO Protocol.
ISPs should also leverage the fact that the the Map Service allows
ALTO Servers to pre-generate maps that can be useful to many ALTO
Clients.
13.4. User Protection using ALTO Services
13.4.1. Risk Scenarios
The ALTO Service makes it possible for an ALTO Provider to
influence the behavior of network applications. An ALTO Provider
may be hostile to some applications and hence try to use ALTO
Information Resources to achieve certain goals [RFC5693]:
"redirecting applications to corrupted mediators providing
malicious content, or applying policies in computing Cost Map based
on criteria other than network efficiency."
The ALTO Service also makes it possible for an ALTO Server to track
user behaviors and communication patterns, in particular when ALTO
Clients reveal Network Location Identifiers (IP addresses or
fine-grained PIDs) to the ALTO Server. An attacking ALTO Server
may collect information from multiple client queries to deduce
additional application/content information through correlation.
13.4.2. Protection Mechanisms
It is important to note there is no protocol mechanism to require
conforming behaviors on applications using ALTO Information
Resources. If a user suspects misleading ALTO Information
Resources, (s)he might want to switch to another ALTO server
provided by an "independent organization" (see AR-20 and AR-21 in
RFC 6708). The operator in turn might try to redirect queries to
external ALTO servers to the operator's ALTO server or try to
tamper with their responses, if there is no authentication.
To protect user privacy, an ALTO Client should consider the
possibility to rely only on Network Map for PIDs and Cost Map
amongst PIDs to avoid passing IP addresses of other endpoints
(e.g., peers) to the ALTO Server.
--------------------------------------------------
On Thu, Mar 14, 2013 at 5:43 PM, Sebastian Kiesel <[email protected]>wrote:
> Hi,
>
> I think the security considerations section in draft-ietf-alto-protocol-14
> is indeed a big mess. I mean nothing what's written there is really
> wrong but it does not seem to be the result of a systematic analysis
> what our relevant threats and countermeasures are.
>
> We should try to give this section a systematic structure, probably
> based on the basic protection goals of almost any networked system.
> My proposal is:
>
>
> 13. Security Considerations
>
> 13.1. Authenticity and Integrity of ALTO queries and responses
> 13.1.1. Threat scenarios
> 13.1.2. High-level discussion of scenarios and protection mechanisms
> 13.1.3. Recommendations for configuration of specific protection
> mechanisms
> in the protocol
>
> 13.2. Confidentiality of ALTO queries and responses
> 13.2.1. Threat scenarios
> 13.2.2. High-level discussion of scenarios and protection mechanisms
> 13.2.3. Recommendations for configuration of specific protection
> mechanisms
> in the protocol
>
> 13.3. Availability of the ALTO service
> 13.3.1. Threat scenarios
> 13.3.2. High-level discussion of scenarios and protection mechanisms
> 13.3.3. Recommendations for configuration of specific protection
> mechanisms
> in the protocol
>
>
>
>
>
> For authenticity/integrity threat scenarios we already have some text in
> RFC 5693, Sec. 6 that could be cited or copied and refined.
>
> For confidentiality threat scenarios and discussion we have a rather
> extensive analysis in RFC 6708, Sec 5.2 that should be just cited.
>
>
> Just my $0.02
> Sebastian
> _______________________________________________
> alto mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/alto
>
13. Security Considerations
Some environments and use cases of ALTO require consideration of
security attacks on ALTO Servers and Clients. In order to support
those environments interoperably, the ALTO requirements document
[RFC6708] outlines minimum-to-implement authentication and other
security requirements. Below we consider the threats and protection
mechanisms supported by the ALTO Protocol.
13.1 Authenticity and Integrity of ALTO Information Resources
13.1.2. Risk Scenarios
An attacker may want to provide false or modified ALTO Information
Resources or Information Resource Directory to ALTO Clients to
achieve certain malicious goals. As an example, an attacker may
provide false endpoint properties. For example, suppose that a
network supports an endpoint property named hasQuota which reports
if the endpoint has usage quota. An attacker may want to generate
a false reply to lead to unexpected charges to the endpoint. An
attack may also want to provide false Cost Map. For example, by
faking a Cost Map that highly prefers a small address range or a
single address, the attacker may be able to turn a distributed
application into a Distributed Denial of Service (DDoS) tool.
Depending on the network scenario, an attacker can attack
authenticity and integrity of ALTO Information Resources using
various techniques, including, but not limited to, sending forged
DHCP replies in an Ethernet, DNS poisoning, and installing a
transparent HTTP proxy that does some modifications.
13.1.3. Protection Mechanisms
ALTO protects authenticity and integrity of ALTO Information
Resources by leveraging the authenticity and integrity mechanisms
in HTTP. In particular, the ALTO Protocol requires that HTTPs MUST
be supported, to protect authenticity and integrity of ALTO
Information Resources. Server certificates will be used to verify
the identify of ALTO Servers.
13.1.4. Limitations
A deployment scenario may require redistribution of ALTO
information to improve scalability. When authenticity and
integrity of ALTO information are still required, then ALTO Clients
obtaining ALTO information through redistribution must be able to
validate the received ALTO information. Support for this
validation is not provided in this document, but may be provided by
extension documents.
13.2. Confidentiality of ALTO Information Resources
13.2.1. Risk Scenarios
Although in many cases ALTO Information Resources may be regarded
as non-confidential information, there are deployment cases where
ALTO Information Resources can be sensitive information that can
pose risks.
For example, an attacker may infer details regarding the topology,
status, and operational policies of a network through the Network
and Cost Maps. As a result, a sophisticated attacker may be able
to infer more fine-graind topology information than an ISP hosting
an ALTO server intends to disclose. The attacker can leverage the
information to mount effect attacks such as focusing on high-cost
links.
Revealing some endpoint properties may also reveal additional
information than the Provider intended. For example, when adding
the line bitrate as one endpoint property, such information may be
potentially linked to the income of the habitants at the network
location of an endpoint.
In [RFC6708] Section 5.2.1, three types of risks associated with
the confidentiality of ALTO Information Resources are identified:
risk type (1) Excess disclosure of the ALTO server operator's data
to an authorized ALTO client; risk type (2) Disclosure of the ALTO
server operator's data (e.g., network topology information) to an
unauthorized third party; and risk type (3) Excess retrieval of
the ALTO server operator's data by collaborating ALTO clients.
13.2.2. Protection Mechanisms
To address risk type (1), the Provider of an ALTO Server must be
cognizant that the network topology and provisioning information
provided through ALTO may lead to attacks. ALTO does not presume
mandatory details of information disclosure, and hence the Provider
should evaluate how much information is revealed and the associated
risks.
To address risk type (2), the ALTO Protocol requires that HTTPs
MUST be supported, to protect confidentiality, in addition to
authenticity and integrity of ALTO Information Resources. In
addition, the ALTO Protocol requires that HTTP Digestion
Authentication MUST be supported to address ALTO Client
Authentication to limit the parties with whom ALTO information is
directly shared. Depending on the use-case and scenario, an ALTO
server may apply other access control techniques to restrict access
to its services (see [I-D.ietf-alto-deployments] for a more
detailed discussion on this issue).
To address risk type (3), the Provider of the ALTO Server must
evaluate the joint information that may be leaked and the
associated risks.
13.2.3. Limitations
ALTO Information Providers should be cognizant that encryption only
protects ALTO information until it is decrypted by the intended
ALTO Client. Digital Rights Management (DRM) techniques and legal
agreements protecting ALTO information are outside of the scope of
this document.
In order to limit access to an ALTO server (e.g., for an ISP to
only allow its users to access its ALTO server, or to prevent
Denial-of- Service attacks by arbitrary hosts from the Internet),
an ALTO server may employ access control policies.
13.3. Availability of the ALTO Service
13.3.1 Risk Scenarios
An attacker may want to disable ALTO Service as a way to disable
network guidance to large scale applications.In particular, queries
which can be generated with low effort but result in expensive
workloads at the ALTO Server could be exploited for
Denial-of-Service attacks. For instance, a simple ALTO query with
n Source Network Locations and m Destination Network Locations can
be generated fairly easily but results in the computation of n*m
Path Costs between pairs by the ALTO Server (see Section 5.2).
13.3.2 Protection Mechanisms
ISPs should be cognizant of the workload at the ALTO Server
generated by certain ALTO Queries, such as certain queries to the
Map Filtering Service and Ranking Service. One way to limit
Denial-of-Service attacks is to employ access control to the ALTO
server. The ALTO server can also indicate overload. Yet another
possible mechanism for an ALTO Server to protect itself against a
multitude of computationally expensive bogus requests is to demand
that each ALTO Client to solve a computational puzzle first before
allocating resources for answering a request (see, e.g.,
[I-D.jennings-sip-hashcash]). The current specification does not
use such computational puzzles, and discussion regarding tradeoffs
of such an approach would be needed before including such a
technique in the ALTO Protocol.
ISPs should also leverage the fact that the the Map Service allows
ALTO Servers to pre-generate maps that can be useful to many ALTO
Clients.
13.4. User Protection using ALTO Services
13.4.1. Risk Scenarios
The ALTO Service makes it possible for an ALTO Provider to
influence the behavior of network applications. An ALTO Provider
may be hostile to some applications and hence try to use ALTO
Information Resources to achieve certain goals [RFC5693]:
"redirecting applications to corrupted mediators providing
malicious content, or applying policies in computing Cost Map based
on criteria other than network efficiency."
The ALTO Service also makes it possible for an ALTO Server to track
user behaviors and communication patterns, in particular when ALTO
Clients reveal Network Location Identifiers (IP addresses or
fine-grained PIDs) to the ALTO Server. An attacking ALTO Server
may collect information from multiple client queries to deduce
additional application/content information through correlation.
13.4.2. Protection Mechanisms
It is important to note there is no protocol mechanism to require
conforming behaviors on applications using ALTO Information
Resources. If a user suspects misleading ALTO Information
Resources, (s)he might want to switch to another ALTO server
provided by an "independent organization" (see AR-20 and AR-21 in
RFC 6708). The operator in turn might try to redirect queries to
external ALTO servers to the operator's ALTO server or try to
tamper with their responses, if there is no authentication.
To protect user privacy, an ALTO Client should consider the
possibility to rely only on Network Map for PIDs and Cost Map
amongst PIDs to avoid passing IP addresses of other endpoints
(e.g., peers) to the ALTO Server.
_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto