[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: (draft-stillman-rserpool-threats) 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 RFC 5355

Internet Engineering Task Force                 Maureen Stillman(editor)
INTERNET DRAFT                                        Ram Gopal
                                                      Senthil Sengodan
                                                      Nokia
                                                      Erik Guttman
                                                      Sun Microsystems
                                                      Matt Holdrege
                                                      Strix Systems
                                                      04 January 2005
expires July 4, 2005

      Threats Introduced by Rserpool and Requirements for Security
                          in response to Threats
                 <draft-ietf-rserpool-threats-04.txt>



Status of This Memo


   By submitting this Internet-Draft, I certify that any applicable
   patent or other IPR claims of which I am aware have been disclosed,
   and any of which I become aware will be disclosed, in accordance with
   RFC 3668.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 4, 2005.

Copyright Notice

    Copyright (C) The Internet Society (2004).  All Rights Reserved.


Abstract

   Rserpool is an architecture and set of protocols for the management
   and access to server pools supporting highly reliable applications
   and for client access mechanisms to a server pool. This Internet
   draft describes security threats to the Rserpool architecture and
   presents requirements for security to thwart these threats.


Stillman, et al.                                                [Page 1]

 Internet Draft     Threats Introduced by Rserpool     04 January 2005




                                Contents


Status of This Memo                                                    1
Abstract                                                               1
1. Introduction                                                        3
     1.1 Definitions  . . . . . . . . . . . . . . . . . . . . . . .    3
2. Threats                                                             4
     2.1  PE Registration/Deregistration flooding . . . . . . . . .    4
     2.2  PE Registration/Deregistration flooding . . . . . . . . .    4
     2.3  PE Registration/Deregistration spoofing . . . . . . . . .    4
     2.4  PE Registration/Deregistration unauthorized . . . . . . .    5
     2.5  Malicious ENRP server joins the group of legitimate ENRP
                          servers . . . . . . . . . . . . . . . . .    5
     2.6  Registration/deregistration with malicious ENRP servers .    5
     2.7  Malicious ENRP Handlespace Resolution . . . . . . . . . .    5
     2.8  Malicious node performs a replay attack.. . . . . . . . .    6
     2.9  Re-establishing PU-PE security during failover. . . . . .    6
     2.10 Integrity . . . . . . . . . . . . . . . . . . . . . . . .    6
     2.11 Data Confidentiality  . . . . . . . . . . . . . . . . . .    6
     2.12 ENRP Server Discovery . . . . . . . . . . . . . . . . . .    7
     2.13 Flood of endpoint unreachable messages  . . . . . . . . .    7
     2.14 Flood of endpoint keep alive messages . . . . . . . . . .    7
3.  Security Considerations . . . . . . . . . . . . . . . . . . . .    8
     3.1 Database security  . . . . . . . . . . . . . . . . . . . .   10
     3.2 Cookie security  . . . . . . . . . . . . . . . . . . . . .   10
4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . .   11
5.  References  . . . . . . . . . . . . . . . . . . . . . . . . . .   11
6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . . 11
7.  Intellectual Property Statement . . . . . . . . . . . . . . . .   12
8.  Author's addresses  . . . . . . . . . . . . . . . . . . . . . . . 13






















Stillman, et al.                                               [Page 2]

Internet Draft     Threats Introduced by Rserpool      04 January 2005

1. Introduction

RSERPOOL provides a session layer for robustness.  The session layer
function may redirect communication transparently to upper layers.  This
alters the direct one-to-one association between communicating endpoints
which typically exists between clients and servers.   In particular,
secure operation of protocols often relies on assumptions at different
layers regarding the identity of the communicating party and the
continuity of the communication between endpoints.  Further, the
operation of RSERPOOL itself has security implications and risks.  The
session layer operates dynamically which imposes additional concerns for
the overall security of the end-to-end application.  This document
explores the security implications of RSERPOOL, both due to its own
functions and due to its being interposed between applications and
transport interfaces.

1.1 Definitions

This document uses the following terms:

     ENRP Endpoint haNdlespace Redundancy Protocol:
          Within the operational scope of Rserpool, ENRP defines the
          procedures and message formats of a distributed fault-tolerant
          registry service for storing, bookkeeping, retrieving, and
          distributing pool operation and membership information.

     ASAP Aggregate Server Access Protocol:
          A session layer protocol which uses the Endpoint haNdlespace
          Reduncancy Protocol to provide a high availability
          handlespace.  ASAP is responsible for the abstraction of the
          underlying transport technologies, load distribution
          management,fault management, as well as the presentation to
          the upper layer (i.e., the ASAP user) a unified primitive
          interface.

     Operational scope:
          The part of the network visible to pool users by a specific
          instance of the reliable server pooling protocols.

     Pool (or server pool):
          A collection of servers providing the same application
          functionality.

     Pool handle:
          A logical pointer to a pool. Each server pool will be
          identifiable in the operational scope of the system by a
          unique pool handle.

     ENRP handlespace (or handlespace):
          A cohesive structure of pool names and relations that may be
          queried by an internal or external agent.





Stillman, et al.                                                [Page 3]

Internet Draft     Threats Introduced by Rserpool      08 July 2004

     Pool element (PE):
          A server entity that runs ASAP and has registered to a pool.

     Pool user (PU):
          A server pool user that runs ASAP. Note, a PU can also be a
          PE if it has registered itself to a pool.

     ENRP handlepace server (or ENRP server):
          Entity which runs ENRP and is responsible for managing and
          maintaining the handlespace within the operational scope.

2. Threats

2.1  PE Registration/Deregistration flooding -- non-existent PE

Threat:  A malicious node could send a stream of false
registrations/deregistrations on behalf of non-existent PEs to ENRP
servers at a very rapid rate and thereby create unnecessary state in an
ENRP server.

Effect: Corrupting the pool registrar database and/or disabling the
Rserpool discovery and database function.

Requirement:  An ENRP server that receives a registration/deregistration
should not create or update state information until it has authenticated
the PE.

2.2 PE Registration/Deregistration flooding -- unauthorized PE

Threat: A malicious node or PE could send a stream of
registrations/deregistrations that are unauthorized to
register/deregister - to ENRP servers at a very rapid rate and thereby
create unnecessary state in an ENRP server.

Effect: Corrupting the pool registrar database and/or disabling the
Rserpool discovery and database function.

Requirement:  An ENRP server that receives a registration/deregistration
should not create or update state information until the authorization of
the registering/de-registering entity is verified.


2.3  PE Registration/Deregistration spoofing

Threat:  A malicious node could send false registrations/deregistrations
to ENRP servers concerning a legitimate PE thereby creating false state
information in the ENRP servers.

Effect: Misinformation in the ENRP server concerning a PE would get
propagated to other ENRP servers thereby corrupting the ENRP database.

Requirement:  An ENRP server that receives a registration/deregistration
should not create or update state information until it has authenticated
the PE.



Stillman, et al.                                                [Page 4]

Internet Draft     Threats Introduced by Rserpool      04 January 2005


2.4  PE Registration/Deregistration unauthorized

Threat:  A PE who is not authorized to join a pool could send
registrations/deregistrations to ENRP servers thereby creating false
state information in the ENRP servers.

Effect: Misinformation in the ENRP server concerning a PE would get
propagated to other ENRP servers thereby corrupting the ENRP database.

Requirement:  An ENRP server that receives a registration/deregistration
should not create or update state information until it has authorized
the requesting entity.

2.5 Malicious ENRP server joins the group of legitimate ENRP servers

Threat: Malicious ENRP server joins the group of legitimate ENRP servers
with the intent of propagating inaccurate updates to corrupt the ENRP
database.

Effect: Inconsistent ENRP database state.

Requirement: Mutual authentication of ENRP servers.

2.6 Registration/deregistration with malicious ENRP server

Threat: A PE unknowingly registers/deregisters with malicious ENRP
server.

Effect: Registration might not be properly processed or ignored.

Requirement: PE needs to authenticate the ENRP server.


2.7 Malicious ENRP Handlespace Resolution

Threat: The ASAP protocol receives a handlespace resolution response
from an ENRP server, but the ENRP server is malicious and returns random
IP addresses or an inaccurate list in response to the pool handle.

Effect: PU application communicates with the wrong PE or is unable to
locate the PE since the response is incorrect in saying that a PE with
that handle did not exist.

Requirement: ASAP needs to authenticate the ENRP server.











Stillman, et al.                                                [Page 5]

Internet Draft     Threats Introduced by Rserpool      04 January 2005


2.8 Malicious node performs a replay attack

Threat: A malicious node could replay the entire message previously sent
by a legitimate entity. This could create false/unnecessary state in the
ENRP servers when the replay is for registration/de-registration or
update.

Effect: False/extra state is maintained by ENRP servers

Requirement:  Care should be taken to prevent replay attacks.

2.9 Re-establishing PU-PE security during failover

Threat: PU fails over from PE A to PE B.  In the case that the PU had a
trusted relationship with PE A, then the PU will likely not have the
same relationship established with PE B.

Effect: If there was a trust relationship involving security context
between PU and PE A, the equivalent trust relationship will not exist
between PU and PE B.  This will violate security policy.

Requirement: Either notify the application when fail over occurs so the
application can take appropriate action to establish a trusted
relationship with PE B OR reestablish the security context
transparently.

2.10  Integrity

Threats:
a) ENRP response to pool handle resolution is corrupted during
transmission
b) ENRP peer messages are corrupted during transmission
c) PE sends update for values and that information is corrupted during
transmission

Effect: ASAP receives corrupt information for pool handle resolution
which the PU believes to be accurate.

Requirement: Integrity mechanism needed.

2.11 Data Confidentiality

Threat: An eavesdropper capable of snooping on fields within messages in
transit, may be able to garner information such as topology/location/IP
addresses etc. that may not be desirable to divulge.

Effect: Information that an administrator does not wish to divulge are
divulged.

Requirement: Provision for data confidentiality service.






Stillman, et al.                                                [Page 6]

Internet Draft     Threats Introduced by Rserpool      04 January 2005

2.12 ENRP Server Discovery

Threat A: Thwarting successful discovery: When a PE wishes to register
with an ENRP server, it needs to discover an ENRP server. An attacker
could thwart the successful discovery of ENRP server(s) thereby inducing
the PE to believe that no ENRP server is available. For instance, the
attacker could reduce the returned set of ENRP servers to null or a
small set of inactive ENRP servers.

Threat B: A similar thwarting scenario also applies when an ENRP server
or ASAP on behalf of a PU needs to discover ENRP servers.

Threat C: Spoofing successful discovery:  An attacker could spoof the
discovery by claiming to be a legitimate ENRP server.  When a PE wishes
to register, it finds the spoofed ENRP server.

Threat D: A similar spoofing scenario also applies when an ENRP server
or ASAP on behalf of a PU needs to discover ENRP servers.

Effect A: A PE that could have been in an application server pool does
not become part of a pool. The PE does not complete discovery operation.
This is a DOS attack.

Effect B: An ENRP server that could have been in an ENRP server pool
does not become part of a pool.  A PU is unable to utilize services of
ENRP servers.

Effect C,D: This malicious ENRP would either misrepresent, ignore
or otherwise hide or distort information about the PE to subvert
RSERPOOL operation.

Requirement: Discovery phase needs to be authenticated.

2.13 Flood of endpoint unreachable messages from the PU to the ENRP
server

These messages are sent by ASAP to the ENRP server when it is unable to
contact a PE.  There is the potential that a PU could flood the ENRP
server intentionally or unintentionally with these messages.

Effect: DOS attack on the ENRP server

Requirement: Need to limit the number of endpoint unreachable messages
sent to the ENRP server from the PU.

2.14 Flood of endpoint keep alive messages from the ENRP server to a PE

These messages would be sent in response to a flood of endpoint
unreachable messages from the PUs to the ENRP server.

Effect: Unintentional DOS attack on the PE

Requirement: ENRP must limit the frequency of keep alive messages to a
given PE to prevent overwhelming the PE.


Stillman, et al.                                                [Page 7]

Internet Draft     Threats Introduced by Rserpool      04 January 2005


3. Security Considerations for Rserpool

This informational document characterizes potential security threats
targeting the Rserpool architecture.  The security mechanisms required
to mitigate these threats are summarized for each architectural
component.  It will be noted which mechanisms are required and which are
optional.

From the threats described in this document, the security services
required for the Rserpool protocol are enumerated below.

Threat 2.1, 2.2, 2.3, 2.4) PE registration/deregistration flooding
and/or spoofing.
Security mechanism in response: ENRP server authenticates the PE

Threat 2.6) PE registers with a malicious ENRP server
Security mechanism in response: PE authenticates the ENRP server

These combined threats result in a requirement for mutual authentication
of the ENRP server and the PE.

Threat 2.5) Malicious ENRP server joins the ENRP server pool
Security mechanism in response: ENRP servers mutually authenticate

Threat 2.7, 2.12) A PU communicates with a malicious ENRP server for
handlespace resolution
Security mechanism in response: The PU authenticates the ENRP server.
If the authentication fails, it looks for another ENRP server.

Threat 2.8) Replay attack
Security mechanism in response: Security protocol which has protection
from replay attacks

Threat 2.9) Re-establishing PU-PE security during failover
Requirement: Either notify the application when fail over occurs so the
application can take appropriate action to establish a trusted
relationship with PE B OR reestablish the security context
transparently.

Threat 2.10) Corrupted data which causes a PU to have misinformation
concerning a pool handle resolution
Security mechanism in response: Security protocol which supports
integrity protection

Threat 2.11) Eavesdropper snooping on handlespace information
Security mechanism in response: Security protocol which supports data
confidentiality

To summarize the threats 2.1-2.12 require security mechanisms which
support authentication, integrity, data confidentiality and protection
from replay attacks.



Stillman, et al.                                                [Page 8]

Internet Draft     Threats Introduced by Rserpool      04 January 2005

For Rserpool we need to authenticate the following:

PU -----> ENRP Server (PU authenticates the ENRP server)
PE <----> ENRP Server (mutual authentication)
ENRP server <-----> ENRP Server (mutual authentication)

Summary by component:

Rserpool client -- mandatory to implement authentication of the ENRP
server is required for accurate pool handle resolution.  This is to
protect against threats from rogue ENRP servers.  In addition,
confidentiality, integrity and preventing replay attack are also
mandatory to implement to protect from eavesdropping and data corruption
or false data transmission.  Confidentiality is mandatory to implement
and is used when privacy is required.

PE to ENRP communications -- mandatory to implement mutual
authentication, integrity and protection from replay attack is required
for PE to ENRP communications.  This is to protect the integrity of the
ENRP handle space database.  Confidentiality is mandatory to implement
and is used when privacy is required.

ENRP to ENRP communications --  mandatory to implement mutual
authentication, integrity and protection from replay attack is required
for ENRP to ENRP communications.  This is to protect the integrity of
the ENRP handle space database.  Confidentiality is mandatory to
implement and is used when privacy is required.

Threat 2.13) Flood of Endpoint_Unreachable messages from the PU to ENRP
server
Security mechanism in response: ASAP must control the number of endpoint
unreachable messages transmitted from the PU to the ENRP server.

Threat 2.14) Flood of Endpoint_KeepAlive messages to the PE from the
ENRP server
Security mechanism in response: ENRP server must control the number of
Endpoint_KeepAlive messages to the PE


















Stillman, et al.                                                [Page 9]

Internet Draft     Threats Introduced by Rserpool      04 January 2005

3.1 Security of the ENRP Database

Another consideration involves the security characteristics of the
ENRP database.  Suppose that some of the PEs register with an ENRP
server using security and some do not.  In this case, when a client
requests handle space resolution information from ENRP, it would have to
be informed which entries are "secure" and which are not.  This would
not only complicate the protocol, but actually bring into question the
security and integrity of such a database.  What can be asserted about
the security of such a database is a very thorny question.  Due to these
two facts it was decided that either the entire ENRP server database is
secure, that is, it has registrations exclusively from PEs
that have used security mechanisms or the entire database is insecure,
that is, registrations are from PEs that have used no security
mechanisms.  ENRP servers that support security are required to reject
any PE server registration that does not use the security mechanisms.
Likewise, ENRP servers that support security should not accept updates
from other ENRP servers that do not use security mechanisms.

3.2 Cookie mechanism security

The application layer is out of scope for Rserpool.  However, some
questions have been raised about the security of the cookie mechanism
which will be addressed.

Cookies are passed via the ASAP control channel.  If TCP is selected
as the transport, the data and control channel must always be
multiplexed.  Therefore, the cases:

a) control channel is secured; data channel is not
b) data channel is secured; control channel is not

are not allowed.  It is even hard to understand what this really means
from a security point of view.

The multiplexing requirement results in the following cases:

1) the multiplexed control channel-data channel is secure OR
2) the multiplexed control channel-data channel is not secured

This applies to cookies in the sense that if you choose to secure your
control-data channel, then the cookies are secured.

A second issue is that the PE could choose to sign and/or encrypt the
cookie.  In this case, it must share keys and other information with
other PEs.  This application level state sharing is out of scope of
Rserpool.









Stillman, et al.                                               [Page 10]

Internet Draft     Threats Introduced by Rserpool      04 January 2005

4. IANA Considerations

This document introduces no additional considerations for IANA.

5. References

Normative References:

[Rserarch] M. Tuexen, et. al., "Architecture for Reliable Server
Pooling", draft-ietf-reserpool-arch-08.txt, October, 2004, work in
progress.

Informative References:

[RFC2026] S. Bradner, "The Internet Standards Process -- Revision 3",
RFC 2026, October 1996.

[RFC3365] RFC 3365, Strong Security Requirements for IETF Standard
Protocols, August, 2002.

6. Acknowledgements

Thanks to the Rserpool security design team and others that provided
valuable comments: Lyndon Ong, Randy Stewart, Melinda Shore, Qiaobing
Xie, Michael Tuexen, Aron Silverton, Sohrab Modi, Javier Pastor-Balbas,
Xingang Guo, M. Piramanayagam, Bernard Aboba and Dhooria Manoj.

Funding for the RFC Editor function is currently provided by the
Internet Society.



























Stillman, et al.                                               [Page 11]

Internet Draft     Threats Introduced by Rserpool      04 January 2005

7. Intellectual Property Statement

   Full Copyright Statement

      Copyright (C) The Internet Society (2004).  This document is
      subject to the rights, licenses and restrictions contained in BCP
      78, and except as set forth therein, the authors retain all their
      rights.

      This document and the information contained herein are provided on
      an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
      REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
      THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
      EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
      THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR
      ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
      PARTICULAR PURPOSE.

   Intellectual Property

      The IETF takes no position regarding the validity or scope of any
      Intellectual Property Rights or other rights that might be claimed
      to pertain to the implementation or use of the technology
      described in this document or the extent to which any license
      under such rights might or might not be available; nor does it
      represent that it has made any independent effort to identify any
      such rights.  Information on the procedures with respect to
      rights in RFC documents can be found in BCP 78 and BCP 79.

      Copies of IPR disclosures made to the IETF Secretariat and any
      assurances of licenses to be made available, or the result of an
      attempt made to obtain a general license or permission for the use
      of such proprietary rights by implementers or users of this
      specification can be obtained from the IETF on-line IPR repository
      at http://www.ietf.org/ipr.

      The IETF invites any interested party to bring to its attention
      any copyrights, patents or patent applications, or other
      proprietary rights that may cover technology that may be required
      to implement this standard.  Please address the information to the
      IETF at ietf-ipr@ietf.org.















Stillman, et al.                                               [Page 12]

Internet Draft     Threats Introduced by Rserpool      04 January 2005
expires 04 July 2005

8. Author's Addresses

Ram Gopal
Nokia Research Center
5 Wayside Road
Burlington, MA 01803
USA
email: ram.gopal@nokia.com

Erik Guttman
Sun Microsystems
Eichhoelzelstr. 7
74915 Waibstadt
Germany
Email: Erik.Guttman@sun.com

Matt Holdrege
Strix Systems
26610 Agoura Road, Suite 110
Calabasas, CA, 91302
matt@strixsystems.com

Senthil Sengodan
Nokia Research Center
5 Wayside Road
Burlington, MA 01803
USA
email: Senthil.sengodan@nokia.com

Maureen Stillman
Nokia
35 Woodcrest Ave.
Ithaca, NY 14850
USA
email: maureen.stillman@nokia.com




















Stillman, et al.                                               [Page 13]


Html markup produced by rfcmarkup 1.109, available from https://tools.ietf.org/tools/rfcmarkup/