Ok, a few more tweaks on PaceSecurityConsiderations, Most importantly,
expanding the discussion of Replay and Spoofing attacks.
#pragma section-numbers off
== Abstract ==
For Draft-09...
The spec's current Security Considerations are lacking in detail and scope.
== Status ==
In Progress. '''Updated'''
== Rationale ==
The spec's current Security Considerations are lacking in detail and scope
== Proposal ==
{{{
12. Security Considerations
12.1 Authentication
Implementors are advised to use client authentication mechanisms to
prevent posting or editing by unknown or unauthorized sources. The type
of authentication used is a local decision made by the server.
Accordingly, clients are likely to face authentication schemes that vary
across implementations.
It is suggested but not required that servers utilizing authentication
mechanisms involving the clear-text transmission of a password (e.g.
HTTP Basic Authentication) secure the connection using, for example, a
Transport Layer Security (TLS) connection.
Because this protocol uses HTTP response status codes as the primary
means of reporting the result of a request, servers are advised to
respond to unauthorized or unauthenticated requests using an appropriate
4xx HTTP response code (e.g. 401 "Unauthorized" or 403 "Forbidden").
12.2 Denial of Service
Atom Publishing server implementations are susceptible to various forms
of denial of service attacks. For instance, a malicious client could
attack a server by posting extremely large resources, by rapidly
submitting multiple, illegitimate creation or modification requests to a
collection or entry, or by making multiple pipelined requests on
multiple connections.
12.3 Replay Attacks
Atom Publishing server implementations are susceptible to replay
attacks. Specifically,this specification does not define a means of
detecting duplicate requests. Accidentally sent duplicate requests are
indistinguishable from intentional and malicious replay attacks.
12.4 Spoofing Attacks
Atom Publishing implementations are susceptible to a variety of spoofing
attacks.
For instance, a malicious client could POST an entry to a collection
fraudulently using some other individuals name, email address and URI in
the atom:author element. To prevent such an attack, servers could
consider verifying, augmenting and possibly overriding the content of a
POSTed entries atom:author element. For instance, the atom:author could
be extended to specify the IP address from which the request originated,
or the authenticated identity of the individual that sent the request.
Additionally, collections that choose to accept the value of a newly
POSTed entries atom:id element without modification, and which allow
multiple members within the collection to share identical atom:id
values, are at risk of falling victim to the type of spoofing attack
described in section 8.4 of [RFC4287]. Specifically, Atom processors
could suppress display of duplicate entries by displaying only one entry
from a set of entries with identical atom:id values.
12.5 Privacy Concerns and Access Control
Because collections might be editable by multiple clients, privacy
concerns could arise when clients are granted full read and edit access
to all of a collections member entries and metadata. To reduce the risk
of inadvertent release or modification of private information via
collection feeds, entry documents and linked media resources, servers
are encouraged to utilize access control mechanisms that limit a clients
ability to read and edit the metadata associated with a collection and
it's member resources. This specification does not define a means of
controlling the access to a collection or it's member resources.
12.6 XML External Entities and Links within Atom document
Atom Feed and Entry documents can contain XML External Entities as
defined in section 4.2.2 of [REC-XML]. Atom implementations are not
required to load external entities. However, implementations that choose
to support external entities within Atom documents need to be aware of
the risks inherent in doing so. Specifically, external entities are
subject to all of the same security concerns as HTTP GET operations and
run the risk of signficantly altering the semantics of the Atom document.
Likewise, servers should consider resources linked to by atom:link and
atom:content elements as being inherently untrustworthy and subject to
all of the same security risks as HTTP GET operations.
12.7 Digital Signatures and Encryption
Atom Entry Documents sent to a server might contain XML Digital
Signatures [W3C.REC-xmldsig-core-20020212] and might be encrypted using
XML Encryption [W3C.REC-xmlenc-core-20021210] as specified in section 5
of [RFC4287].
A server receiving an entry containing an XML Digital Signature is not
required to preserve the integrity of that signature. That is, the
server may modify the entry in such a way that the signature is broken
or it may choose to remove the signature from the entry. The server can
choose to add its own XML Digital Signature to the entry.
12.8. Unsafe Media Posts
Server implementations that allow clients to post non-Atom resources to
a collection to create media-link entries need to be aware of the
potential threat of allowing clients to send arbitrary and inherently
unsafe resource representations. For example, a collection that allows
executable binary or script resources to be posted could be used by an
attacker to distribute a virus to subscribers of that collection's Atom
feed. To reduce the likelihood of such attacks, implementions are
encouraged to enforce limits on the types of media resources that can be
posted to a collection.
12.9. URIs and IRIs
Atom Publishing Protocol implementations handle URIs and IRIs. See
Section 7 of [RFC3986] and Section 8 of [RFC3987].
}}}
== Impacts ==
== Notes ==
Some portions inspired/copied from http://www.ietf.org/rfc/rfc2518.txt
(WebDAV)
----
CategoryProposals