Network Working Group M. Stillman, Ed. Internet-Draft Nokia Intended status: Informational R. Gopal Expires: April 26, 2008 Nokia Research Center E. Guttman Sun Microsystems M. Holdrege Strix Systems S. Sengodan Nokia Research Center October 24, 2007 Threats Introduced by RSerPool and Requirements for Security in Response to Threats draft-ietf-rserpool-threats-09.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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 April 26, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). Stillman, et al. Expires April 26, 2008 [Page 1] Internet-Draft RSerPool Threats October 2007 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 2. Threats . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. PE Registration/Deregistration flooding -- non-existent PE . . . . . . . . . . . . . . . . . . . . . 4 2.2. PE Registration/Deregistration flooding -- unauthorized PE . . . . . . . . . . . . . . . . . . . . . 4 2.3. PE Registration/Deregistration spoofing . . . . . . . . . 5 2.4. PE Registration/Deregistration unauthorized . . . . . . . 5 2.5. Malicious ENRP server joins the group of legitimate ENRP servers . . . . . . . . . . . . . . . . . . . . . . . 6 2.6. Registration/deregistration with malicious ENRP server . . 6 2.7. Malicious ENRP Handlespace Resolution . . . . . . . . . . 6 2.8. Malicious node performs a replay attack . . . . . . . . . 7 2.9. Re-establishing PU-PE security during failover . . . . . . 7 2.10. Integrity . . . . . . . . . . . . . . . . . . . . . . . . 8 2.11. Data Confidentiality . . . . . . . . . . . . . . . . . . . 8 2.12. ENRP Server Discovery . . . . . . . . . . . . . . . . . . 9 2.13. Flood of endpoint unreachable messages from the PU to the ENRP server . . . . . . . . . . . . . . . . . . . . . 9 2.14. Flood of endpoint keep alive messages from the ENRP server to a PE . . . . . . . . . . . . . . . . . . . . . . 10 3. Security Considerations . . . . . . . . . . . . . . . . . . . 10 3.1. Security of the ENRP Database . . . . . . . . . . . . . . 12 3.2. Cookie mechanism security . . . . . . . . . . . . . . . . 12 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.1. Normative References . . . . . . . . . . . . . . . . . . . 13 5.2. Informative References . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Intellectual Property and Copyright Statements . . . . . . . . . . 15 Stillman, et al. Expires April 26, 2008 [Page 2] Internet-Draft RSerPool Threats October 2007 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: Endpoint Name Resolution Protocol (ENRP): 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. Aggregate Server Access Protocol (ASAP): A session layer protocol which uses ENRP 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. Stillman, et al. Expires April 26, 2008 [Page 3] Internet-Draft RSerPool Threats October 2007 ENRP handlespace (or handlespace): A cohesive structure of pool names and relations that may be queried by an internal or external agent. Pool element (PE): A server entity having registered to a pool. Pool user (PU): A server pool user. 2. Threats 2.1. PE Registration/Deregistration flooding -- non-existent PE 2.1.1. 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. 2.1.2. Effect Corrupting the pool registrar database and/or disabling the Rserpool discovery and database function. This represents a denial of service attack as the PU would potentially get an IP address of a non- existent PE in response to an ENRP query. 2.1.3. 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 2.2.1. 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. 2.2.2. Effect Corrupting the pool registrar database and/or disabling the Rserpool discovery and database function. This represents a denial of service attack as the PU would potentially get an IP address of a rogue PE in response to an ENRP query which might not provide the actual service. If it does provide the service, this would be a man in the middle Stillman, et al. Expires April 26, 2008 [Page 4] Internet-Draft RSerPool Threats October 2007 attack to allow them to collect data. This could also prevent legitimate PEs from registering. 2.2.3. 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 2.3.1. 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. 2.3.2. Effect Misinformation in the ENRP server concerning a PE would get propagated to other ENRP servers thereby corrupting the ENRP database. DDoS, by adding a PE that is a target for DDoS attack for some popular high volume service the attacker can register a PE that a lot of PUs will try to connect to. This allows man in the middle or masquerade attacks on the service provided by the legitimate PEs. If a hacker registers its server address as a PE and handles the requests he can eavesdrop on service data. 2.3.3. Requirement An ENRP server that receives a registration/deregistration should not create or update state information until it has authenticated the PE. 2.4. PE Registration/Deregistration unauthorized 2.4.1. 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. 2.4.2. Effect Misinformation in the ENRP server concerning a PE would get propagated to other ENRP servers thereby corrupting the ENRP database. This allows man in the middle or masquerade attacks on the service provided by the legitimate PEs. If a hacker registers its server address as a PE and handles the requests he can eavesdrop on Stillman, et al. Expires April 26, 2008 [Page 5] Internet-Draft RSerPool Threats October 2007 service data. 2.4.3. 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 2.5.1. Threat Malicious ENRP server joins the group of legitimate ENRP servers with the intent of propagating inaccurate updates to corrupt the ENRP database. 2.5.2. Effect Inconsistent ENRP database state. 2.5.3. Requirement Mutual authentication of ENRP servers. 2.6. Registration/deregistration with malicious ENRP server 2.6.1. Threat A PE unknowingly registers/deregisters with malicious ENRP server. 2.6.2. Effect Registration might not be properly processed or ignored. A rogue ENRP server has the ability to return any address to a user requesting service which could result in denial of service or connection to a rouge PE of the hackers choice for service. 2.6.3. Requirement PE needs to authenticate the ENRP server. 2.7. Malicious ENRP Handlespace Resolution 2.7.1. 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. Stillman, et al. Expires April 26, 2008 [Page 6] Internet-Draft RSerPool Threats October 2007 2.7.2. 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. A rouge ENRP server has the ability to return any address to ASAP requesting an address list which could result in denial of service or connection to a rouge PE of the hackers choice for service. From the PE, the hacker could eavesdrop or tamper with the application. 2.7.3. Requirement ASAP needs to authenticate the ENRP server. 2.8. Malicious node performs a replay attack 2.8.1. 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. 2.8.2. Effect False/extra state is maintained by ENRP servers. This would most likely be used as a denial of service attack if the replay is used to deregister all PEs. 2.8.3. Requirement Care should be taken to prevent replay attacks. 2.9. Re-establishing PU-PE security during failover 2.9.1. 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. 2.9.2. 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. Stillman, et al. Expires April 26, 2008 [Page 7] Internet-Draft RSerPool Threats October 2007 2.9.3. 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 2.10.1. Threat 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 2.10.2. Effect ASAP receives corrupt information for pool handle resolution which the PU believes to be accurate. 2.10.3. Requirement Integrity mechanism needed. 2.11. Data Confidentiality 2.11.1. 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. 2.11.2. Effect Information that an administrator does not wish to divulge are divulged. The hacker gains valuable information that can be used for financial gain or attacks on hosts. 2.11.3. Requirement Provision for data confidentiality service. Stillman, et al. Expires April 26, 2008 [Page 8] Internet-Draft RSerPool Threats October 2007 2.12. ENRP Server Discovery 2.12.1. Threats 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. b. A similar thwarting scenario also applies when an ENRP server or ASAP on behalf of a PU needs to discover ENRP servers. 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. d. A similar spoofing scenario also applies when an ENRP server or ASAP on behalf of a PU needs to discover ENRP servers. 2.12.2. Effects 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. 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. c. This malicious ENRP would either misrepresent, ignore or otherwise hide or distort information about the PE to subvert RSerPool operation. d. Same as last. 2.12.3. Requirement Provision for data confidentiality service. 2.13. Flood of endpoint unreachable messages from the PU to the ENRP server 2.13.1. Threat 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 Stillman, et al. Expires April 26, 2008 [Page 9] Internet-Draft RSerPool Threats October 2007 ENRP server intentionally or unintentionally with these messages. 2.13.2. Effect DOS attack on the ENRP server. 2.13.3. 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 2.14.1. Threat These messages would be sent in response to a flood of endpoint unreachable messages from the PUs to the ENRP server. 2.14.2. Effect Unintentional DOS attack on the PE. 2.14.3. Requirement ENRP must limit the frequency of keep alive messages to a given PE to prevent overwhelming the PE. 3. Security Considerations 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 suite are given in the following table. Stillman, et al. Expires April 26, 2008 [Page 10] Internet-Draft RSerPool Threats October 2007 +--------------+----------------------------------------------------+ | Threat | Security mechanism in response | +--------------+----------------------------------------------------+ | Section 2.1 | ENRP server authenticates the PE. | | Section 2.2 | ENRP server authenticates the PE. | | Section 2.3 | ENRP server authenticates the PE. | | Section 2.4 | ENRP server authenticates the PE. | | Section 2.5 | ENRP servers mutually authenticate. | | Section 2.6 | PE authenticates the ENRP server. | | Section 2.7 | The PU authenticates the ENRP server. If the | | | authentication fails, it looks for another ENRP | | | server. | | Section 2.8 | Security protocol which has protection from replay | | | attacks. | | Section 2.9 | 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. | | Section 2.10 | Security protocol which supports integrity | | | protection. | | Section 2.12 | Security protocol which supports data | | | confidentiality. | | Section 2.11 | The PU authenticates the ENRP server. If the | | | authentication fails, it looks for another ENRP | | | server. | | Section 2.13 | ASAP must control the number of endpoint | | | unreachable messages transmitted from the PU to | | | the ENRP server. | | Section 2.14 | ENRP server must control the number of | | | Endpoint_KeepAlive messages to the PE. | +--------------+----------------------------------------------------+ The first four threats combined with the sixth threat result in a requirement for mutual authentication of the ENRP server and the PE. To summarize the first twelve threats require security mechanisms which support authentication, integrity, data confidentiality and protection from replay attacks. For RSerPool we need to authenticate the following: o PU -----> ENRP Server (PU authenticates the ENRP server) o PE <----> ENRP Server (mutual authentication) o ENRP server <-----> ENRP Server (mutual authentication) Summary by component: Stillman, et al. Expires April 26, 2008 [Page 11] Internet-Draft RSerPool Threats October 2007 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. 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 Stillman, et al. Expires April 26, 2008 [Page 12] Internet-Draft RSerPool Threats October 2007 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. 4. IANA Considerations This document introduces no additional considerations for IANA. 5. References 5.1. Normative References [1] Lei, P., "An Overview of Reliable Server Pooling Protocols", draft-ietf-rserpool-overview-02 (work in progress), July 2007. 5.2. Informative References [2] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [3] Schiller, J., "Strong Security Requirements for Internet Engineering Task Force Standard Protocols", BCP 61, RFC 3365, August 2002. Stillman, et al. Expires April 26, 2008 [Page 13] Internet-Draft RSerPool Threats October 2007 Authors' Addresses Maureen Stillman (editor) Nokia 35 Woodcrest Avenue Ithaca, NY 14850 US Email: maureen.stillman@nokia.com Ram Gopal Nokia Research Center 5 Wayside Road Burlington, MA 01803 US Email: ram.gopal@nokia.com Erik Guttman Sun Microsystems Eichhoelzelstrasse 7 74915 Waibstadt DE Email: Erik.Guttman@sun.com Matt Holdrege Strix Systems 26610 Agoura Road Suite 110 Calabasas, CA 91302 US Email: matt@strixsystems.com Senthil Sengodan Nokia Research Center 5 Wayside Road Burlington, MA 01803 US Email: Senthil.sengodan@nokia.com Stillman, et al. Expires April 26, 2008 [Page 14] Internet-Draft RSerPool Threats October 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). 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, THE IETF TRUST 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Stillman, et al. Expires April 26, 2008 [Page 15]