Security Area B.-C. Boesch Internet Draft independent Intended status: Experimental February 28, 2016 Expires: August 2016 Intrusion Detection Parametrization Exchange Format (IDPEF) draft-boesch-idxp-idpef-04.txt Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, except to publish it as an RFC and to translate it into languages other than English. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. 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 Boesch Expires August 28, 2016 [Page 1] Internet-Draft The IDPEF February 2016 The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on August 28, 2016. Copyright (c) 2015 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 (http://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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Abstract The Intrusion Detection Parametrization Exchange Format (IDPEF) defines data formats and exchange procedures to standardize parametrization information exchange within intrusion detection and response systems from a Manager to an Analyzer. This Internet-Draft describes a data model to represent parametrization information of intrusion detection system entities, and explains the rationale for using this model. An implementation of the data model in the Extensible Markup Language (XML) is presented, a XML Document Type Definition is developed, and parametrization examples are provided. Boesch Expires August 28, 2016 [Page 2] Internet-Draft The IDPEF February 2016 Table of Contents 1. Introduction ................................................ 6 1.1. Intention of this Format................................ 6 1.2. Structure of this Document.............................. 7 1.3. Rationale for IDPEF..................................... 7 1.3.1. Problems Addressed by the Parametrization Data Model8 1.3.2. Data Model Design Focus............................ 9 1.4. Architecture Assumptions................................ 9 1.5. Focus of Format........................................ 11 1.6. Parametrization Methodology............................ 11 2. The Communication Proceeding................................ 12 2.1. Parametrization Communication.......................... 12 2.2. Version Update on Hierarchical Lower IDS-Entities...... 13 3. The IDPEF XML Implementation................................ 14 3.1. Notational Conventions and Formatting Issues........... 15 3.2. IDPEF XML Documents.................................... 16 3.2.1. Character Data Processing in IDPEF................ 16 3.2.2. Languages in IDPEF................................ 16 3.2.3. The Document Header - The XML Declaration......... 16 3.3. IDPEF Data Types....................................... 17 3.4. Case-Sensitivity....................................... 17 4. The IDPEF Parametrization Data Model........................ 17 4.1. Overview .............................................. 17 4.2. Message Nodes ......................................... 18 4.2.1. IDPEF-Message..................................... 18 4.2.2. The Entity Section................................ 20 4.2.2.1. network...................................... 23 4.2.2.2. address...................................... 25 4.2.2.3. location..................................... 26 4.2.2.4. contact...................................... 27 4.2.2.5. fservice..................................... 28 4.2.2.6. tadmin....................................... 29 4.2.3. The Update Section................................ 29 4.2.3.1. update-file.................................. 30 4.2.3.2. data ........................................ 32 4.2.4. The Alert Section................................. 32 4.2.4.1. group........................................ 32 4.2.4.1.1. event................................... 33 4.2.4.1.1.1. connection......................... 35 4.2.4.1.1.2. system............................. 37 4.2.4.1.1.3. ipara.............................. 37 4.2.4.1.2. react................................... 38 5. Extending the IDPEF ........................................ 39 6. Special Considerations...................................... 40 6.1. XML Validity and Well-Formed........................... 40 6.2. Unrecognized XML Tags.................................. 41 Boesch Expires August 28, 2016 [Page 3] Internet-Draft The IDPEF February 2016 7. Security Considerations..................................... 41 7.1. Privacy Considerations................................. 42 7.2. Systems Security Issues................................ 43 7.3. Communications Security Issues......................... 44 7.3.1. Passive Attacks................................... 44 7.3.1.1. Confidentiality Violations (Eavesdropping)... 44 7.3.1.2. Password Sniffing............................ 45 7.3.1.3. Offline Cryptographic Attacks................ 45 7.3.2. Active Attacks.................................... 45 7.3.2.1. Replay Attacks............................... 45 7.3.2.2. Message Insertion............................ 45 7.3.2.3. Message Deletion............................. 45 7.3.2.4. Message Modification......................... 46 7.3.2.5. Man-In-The-Middle............................ 46 7.3.3. Topological Issues................................ 46 7.3.4. Denial of Service................................. 46 7.4. Digital Signatures..................................... 46 8. IANA Considerations ........................................ 46 9. Conclusions ................................................ 47 10. Acknowledgments ........................................... 47 APPENDIX A: Examples .......................................... 48 A.1. Feature-Requests....................................... 48 A.1.1. Global Feature-Request............................ 48 A.1.2. Entity Feature-Request............................ 48 A.1.3. Single Attribute Request.......................... 48 A.1.4. Single Alert-Request (Port-Scan).................. 49 A.1.5. Multiple Alert Request............................ 49 A.1.6. Global Alert-Request.............................. 50 A.1.7. Multiple Global Alert-Request..................... 50 A.1.8. Global Alert-Request to sensor with individual IDPEF Port .................................................... 50 A.2. Feature-Replies........................................ 51 A.2.1. Global Feature-Reply.............................. 51 A.2.2. Version-Reply..................................... 55 A.2.3. Single Alert Feature-Reply (Port-Scan)............ 55 A.3. Entity Information Update.............................. 56 A.4. Analyzer-Update........................................ 59 A.4.1. Single Update..................................... 59 A.4.2. Multiple Updates and Notifications................ 60 A.4.3. Single Backup-Request............................. 61 A.4.4. Single Backup-Reply............................... 62 A.4.5. Single Backup-Restore............................. 62 A.5. Alert Parametrization.................................. 63 A.5.1. Single Parameter-Update (Port-Scan)............... 63 A.5.2. Multiple Parameter Update......................... 64 APPENDIX B: The IDPEF Document Type Definition (Normative)..... 67 APPENDIX C: The IDPEF Schema Definition (Non-normative)........ 83 Boesch Expires August 28, 2016 [Page 4] Internet-Draft The IDPEF February 2016 APPENDIX D: Change History.................................... 106 11. References ............................................... 107 11.1. Normative References................................. 107 11.2. Informative References............................... 108 Intellectual Property Statement............................... 108 D.1.1. Author's Address................................. 108 Boesch Expires August 28, 2016 [Page 5] Internet-Draft The IDPEF February 2016 1. Introduction In examples, "C:" and "S:" indicate lines sent by the client and server respectively. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [1]. In this document, these words will appear with that interpretation only when in ALL CAPS. Lower case uses of these words are not to be interpreted as carrying RFC-2119 significance. In this document, the characters ">>" preceding an indented line(s) indicates a compliance requirement statement using the key words listed above. This convention aids reviewers in quickly identifying or finding the explicit compliance requirements of this RFC. 1.1. Intention of this Format The Intrusion Detection Parametrization Exchange Format (IDPEF) is intended to be a standard data format to parametrize Intrusion Detection Systems (IDS). The development of this standardized format and the Intrusion Detection Message Exchange Format (IDMEF) [2] are enabling in combination interoperability among commercial, open source, and research systems, allowing users to mix-and-match the deployment of these systems according to their strong and weak points to obtain an optimal IDS implementation. The most obvious place to implement IDPEF is in the data channel between a Manager and an Analyzer of an IDS within this data channel where the Manager sends the configuration parameters to the Analyzers. But there are other places where the IDPEF can be useful: o Combination of specialized IDS like application-IDS combined with server-IDS, WLAN-IDS and/or network-IDS to one functional interacting meta-IDS. o Management of different IDS vendors with one central management interface. o Interaction of different IDS by using IDPEF and IDMEF. o A common data exchange format would make it easier for different organizations (users, vendors, response teams, etc.) to not only exchange data, but also communicate about it. Boesch Expires August 28, 2016 [Page 6] Internet-Draft The IDPEF February 2016 o The diversity of uses for the IDPEF needs to be considered when selecting its method of implementation. o Parametrization backups and restore of network basic configured (connected and reachable) IDS entities. o For a communication between a Manager and a Manager in a multi- stage management architecture. 1.2. Structure of this Document The remaining paper is organized as follows: The rest of section 1 is focused on the problems that will be addressed by IDPEF, architectural assumptions and the parametrization methodology. Section 2 defines basic communication procedures. General XML conventions for IDPEF are set out in section 3. The IDPEF data model and its nodes including each single attribute are defined in section 4. Extending of IDPEF and special considerations are set out in the sections 5 and 6. Subsequent the sections 7 to 10 include IANA considerations, a short conclusion and acknowledgements. Appendix A provides some examples for IDPEF in such a way that unfamiliar readers are able to understand this document better. Appendix B shows the DTD of IDPEF and a non-normative XML Schema Definition of IDPEF is set out in Appendix C. 1.3. Rationale for IDPEF Methods of hacking are changing over periods of time and become more and more complex. As a result of this, techniques are developed to raise interoperability of IDS. One part is a standardized signalizing format to collect event messages of different IDS- entities. The Intrusion Detection Exchange Format Working Group (IDWG) has standardized the communication between Analyzer and Manager with the Intrusion Detection eXchange Protocol (IDXP) [4]. As data format for event signalization from Analyzer to Manager the Intrusion Detection Message Exchange Format (IDMEF) [2] was defined. Today, IDS are still operating in encapsulated IT-landscapes. Many vendors provide IDS-functionalities in their network-components or applications and IDS-vendors focus their intrusion detection products to special services. Vendor-dependent tools and configurations are still needed for administration. This is a big barrier for an extensive IDS-integration in complex environments. It is important to standardize the communication and data exchange between Manager and Analyzer for administration and operations, to Boesch Expires August 28, 2016 [Page 7] Internet-Draft The IDPEF February 2016 combine IDS-Analyzers with its Sensors of different vendors and integrate them into one IDS. Continuative of IDMEF, an exchange format for administration of IDS has to standardize the communication from Manager to Analyzer. As result a fully standardized communication between Managers and Analyzers enhance interoperability and integration of different IDS. As result, management front ends will become independent to IDS- Analyzers. 1.3.1. Problems Addressed by the Parametrization Data Model The data model addresses several problems associated with representing intrusion detection parameters: o Potential intrusion detection environments are very different. IDS are more and more specialized. Some Analyzers detect attacks by analyzing network traffic; others use operating system logs or application audit trail information. The combination of different specialized IDS, different vendors and/or analyzing techniques will be more and more important. Interaction of different IDS and/or vendors is not trivial, because parametrization information and formats are vendor-specific. The data model that represents different parametrization information MUST be highly standardized, but has to be also so flexible to support different needs of Analyzers and vendors. o Large enterprises have several security specialists with different focuses. The working focus of these security specialists requires different competences. Organizational upper security groups make regulations for their work. These groups have to handle different configuration structures today. A standardized parametrization format makes it easier to exchange and auditing working results between IDS security specialists with different vendor focus. o Administrators are working with several specialized IDS- parametrization interfaces, sometimes distributed on separate systems. A standardized parametrization format helps to develop independent and consistent administration interfaces on one hardware platform. Administrators are then able to parametrize IDS of different vendors and analyzing levels by using one administration interface. As result, the best administration interface for the operations focus could be selected. Boesch Expires August 28, 2016 [Page 8] Internet-Draft The IDPEF February 2016 o A standardized communication allows combining several vendors and IDS-entities to operate like one IDS. The best fitting Analyzer could be integrated in the solution. o Research prototypes and specialized IDS like VoIP-IDS are able to be better integrated in existing IDS-architectures. Research results are better portable and interoperability of dedicate research-projects, like IDS management usability, alert correlations or automated signature generation [13], will be enhanced. 1.3.2. Data Model Design Focus The data model is designed to provide standardized parametrization for IDS entities. It allows together with IDMEF to combine IDS- entities of different vendors and analyzing levels to one meta-IDS. IDPEF provides a closed solution together with IDMEF. Therefore IDPEF provide at least parameters that are necessary for IDMEF. The data model design is focused on several IDS entities, their individual parameter structure and the feature set. Structure and format of the data model MUST be unambiguous. The information parameters to an event vary by the event itself and its characterizing parameters. For example, port-scans or ICMP-floods need a time-interval and a quantity of packets (port-requests resp. icmp-packets) to characterize an intrusion. Also the event-name varies from vendor to vendor and it SHOULD be directly set as parameter value. Parameters of an Analyzer are individual and have to be requested by a general parameter request. This work is focused to standardize parametrization data and format to enhance the interoperability of IDS. 1.4. Architecture Assumptions Figure 1 is an enhanced illustration of functional IDS-entities. It illustrates the intrusion detection entities as defined in [3] and their relationships. Not every IDS has all of these separate entities exactly as shown. Some IDS combine these components into a single module; some will have multiple instances of single modules. Based on a Data Source the Activity will be recognized and the Sensor examines necessary Event information and sends it to the Analyzer. The Analyzer checks the Event information against his Security Policy and database. The Manager is the entity, which acts Boesch Expires August 28, 2016 [Page 9] Internet-Draft The IDPEF February 2016 as single point of administration for the complete system. It provides the Security Policy, receives the Event notifications and coordinates Response entities which could be separated from the identifying Analyzer. +----------+ |DataSource|----+--Activity------+ +----------+ | | A V V | +------+ +------+ Reaction |Sensor| |Sensor| | +------+ +------+ | | A | A | Event | Event | | | Config | Config | V | V | | +--------+ +--------+ | |Analyzer| |Analyzer| | +--------+ +--------+ | | A A | +--------+ | | | | |Response| IDMEF IDPEF IDPEF IDMEF +--------+ | +-+-------+-+ | A +----->|Manager|<------+ +--------------+-------+ A | A +---------------+ | | | | | +--------+ | | +-------------+ |Operator|<-Notify--+ +----|Administrator| +--------+ Security +-------------+ | Policy A | | +--Security Process-------------+ Figure 1 Relationship of IDS entities. For the purposes of this document, we assume that the Analyzer and the Manager are separate components, and that they are communicating pair wise across a TCP/IP network. No other form of communication between these entities is contemplated in this document, and no other use of IDPEF is considered. As transport protocol for IDPEF the IDXP [4] will be used. Boesch Expires August 28, 2016 [Page 10] Internet-Draft The IDPEF February 2016 The following points SHOULD NOT matter for the integration: o Whether Sensor and Analyzer are integrated or separated. o Whether Analyzer and Manager are isolated, or embedded in some large hierarchy or distributed mesh of components. o Whether the Manager is used for configuration only or additionally used for notification and/or alert-correlation. o Whether a component might act as an Analyzer with respect to one component, while also acting as a Manager with respect to another. o Analyzers are homogeneous or mixed by multiple vendors or types. 1.5. Focus of Format The parametrization format is not designed to be used for initial setup or basic configuration of new/replaced hardware. The focus of the parametrization format is to administer and operate different IDS-applications from one instance and by one user front end. The format is not intent for signalization. Focus is the administration with parametrization and parametrization request of different IDS-applications with a standardized procedure. The format MUST NOT be designed to create signature or anomaly pattern. This information has to be created external and uploaded as update file. 1.6. Parametrization Methodology IDS compare Activity against a reference database. References consist of a baseline part and a customizing part. The baseline part describes the event itself (intrusion activity, vulnerability or baseline). The references will be customized by baseline part to the individual implementation. For example, a SYN-flood contains in the baseline part the attack description. In this case, the TCP/IP protocol with a set SYN-flag. The customizing part defines a threshold and a time interval for the individual implementation of the event. As result, the SYN-request (attack description) has to occur more than 200 times (threshold) within 1 second (time interval) to cause a SYN-flood signalization. The baseline part of a rule is vendor-specific and depends on the internal processing of Sensor and Analyzer. Therefore it is out of scope for Boesch Expires August 28, 2016 [Page 11] Internet-Draft The IDPEF February 2016 parametrization. IDPEF customizes the vendor-specific baseline-part to the individual implementation of the IDS entity. 2. The Communication Proceeding The communication proceeding has to work in different IDS architec- tures. The transport protocol IDXP [4] is responsible for transport and grants appropriate security. The basic communication proceeding within IDXP for the format exchange is described in detail here. Protection of the communication and the exchanged content between IDS entities is focus by the transport protocol e.g. IDXP [4]. At least TLS 1.2 [11] and password protection of SASL [12] MUST be supported. These are not part of the communication proceeding of IDPEF, but MUST be granted by the transport protocol. The following points do not have influence on communication and format: o Different analyzing techniques o Mixed feature sets, versions and/or vendors o Different sensor types o Parametrization status of Sensors if they are completely or only partial or not parameterized or have a mix of parametrization states. o If a Manager parameterize an Analyzer directly or over a second Manager. 2.1. Parametrization Communication A change of the Manager SHOULD be done with minimal impact and expenditure of work time. The Manager does not keep any feature or parameter information of Analyzers after the parametrization session. An information request is a good way to allow more than one Manager to administrate individual Analyzers. The parametrization proceeds global like: Boesch Expires August 28, 2016 [Page 12] Internet-Draft The IDPEF February 2016 Manager: Analyzer: selection of Analyzer ---- begin of OPTIONAL request ---- -------parameter-request------> preparation of IDPEF response <-------parameter-reply-------- ---- end of OPTIONAL request ---- change of parameters -------parameter-update-------> update of para- meters in the Analyzer parametrization- <-------parameter-reply-------- check 2.2. Version Update on Hierarchical Lower IDS-Entities The parametrization format has to support update of hierarchical lower IDS entities i.e. updates from a Manager to an Analyzer. Updates will be terminated to a time specification - derivate absolute (e.g. 23:00) or relative terminations (e.g. +02:00) are possible. An update file numeration defines the update order. The update MUST be checked after every update execution and an update status MUST be send. If an update execution fails, all following updates SHOULD set out and not be executed. A notification SHOULD be sent for each update file if the update processing is canceled. Updates will be applied like: Boesch Expires August 28, 2016 [Page 13] Internet-Draft The IDPEF February 2016 Manager: Analyzer: Version update Initialization ---- begin of OPTIONAL request ---- -------version request--------> <-------version reply---------- ---- end of OPTIONAL request ---- Update preparation Selection of files schedule of update -------update information------> ----------update files---------> Update termination Update execution <--update status notification-- Update check signalization of (outside of IDPEF) update status 3. The IDPEF XML Implementation The IDPEF implementation uses a Document Type Definition (DTD) to describe XML documents. The XML solution was primary selected, because it provides a closed solution together with IDMEF. A widely spread and powerful used standard is XML and its flexibility makes it a good choice for applications, also for implementing the IDPEF as well. Other, more specific reasons for choosing XML to implement the IDPEF are: Boesch Expires August 28, 2016 [Page 14] Internet-Draft The IDPEF February 2016 o Software tools for processing XML documents are widely available, as commercial and open source version. Numerous tools and programming interfaces for parsing and/or validating XML are available in a variety of languages. Widespread access to tools makes adoption of the IDPEF by product developers easier and faster. Web technologies like Java Script enable an easy processing of XML. o XML supports fully internationalization and localization for IT solutions that cross political and/or cultural boarders. XML enables a global usage to parameterize the Analyzer to the individual implementation and to maintain the IDS in operations. UTF-8 and UTF-16 make XML applications compatible with these common character encodings. o XML also provides support for specifying, on a per-element basis, the language in which the element's content is written, making IDPEF easy to adapt to "Natural Language Support" versions of a product. o XML is free and has no license, license fees or royalties. o XML is human readable. Security teams are able to revise the parametrization or publish specification guidelines for IDS. 3.1. Notational Conventions and Formatting Issues The IDPEF description bases on three specifications: o The data-model bases on a Unified Modeling Language description. o XML describes the markup used in IDPEF documents o Documents are represented in IDPEF markup. In Appendix A these notations will be described in sufficient detail by examples in a way that unfamiliar readers are able to understand the document. These descriptions are not comprehensive. They only cover the components of the notations used by the data model and document format. Several document formatting issues will be shown in Appendix A (examples) and Appendix C. These will be applying to XML documents, including formats for particular data types, special character and white space processing, character sets and languages. Boesch Expires August 28, 2016 [Page 15] Internet-Draft The IDPEF February 2016 3.2. IDPEF XML Documents This section describes basic IDPEF XML document formatting rules. Most of these rules are based of rules for formatting XML documents. 3.2.1. Character Data Processing in IDPEF The character processing was already defined for IDMEF [2], and will be also used analogue for IDPEF. This section recapitulates it here for better understanding: IDPEF compliant applications and messages SHOULD use the character encodings UTF-8 or UTF-16 only to grant portability. If no encoding is specified for an IDPEF message, UTF-8 will be assumed, consistent with the XML standard. At least UTF-8 MUST be supported. Not more than UTF-8 and UTF-16 SHOULD be used. IDPEF documents, encoded in UTF-16, MUST begin with the Byte Order Mark. This is consistent to ISO/IEC 10646 Annex E and Unicode Appendix B (the "ZERO WIDTH NO-BREAK SPACE" character, #xFEFF). It is RECOMMENDED that IDPEF compliant applications use the entity form (section 4.1 of [9]) of the characters '&', ,'<', '>', '"', and ''' (single-quote) whenever writing these characters in data, to avoid any possibility of misinterpretation [2]. Analogue to the IDMEF specification, the "xml:space" attribute has to be supported for all IDPEF elements for white space processing [6]. 3.2.2. Languages in IDPEF The language of the content is encoded and has to be specified in IDPEF compliant communication. This will be done in a generally way by applying the attribute "xml:lang" for the top-level element [8]. All other elements will inherit that definition else the language has to be specified separately for a single element branch. This specification is set for the single/data record. 3.2.3. The Document Header - The XML Declaration IDPEF documents will be exchanged between IDPEF compliant applications. The exchange begins with an XML declaration, followed by the used XML version. Specification of the used encoding is RECOMMENDED. Boesch Expires August 28, 2016 [Page 16] Internet-Draft The IDPEF February 2016 Each XML document contains a Document Type Declaration (DTD). The DTD represents significant overhead by bandwidth consume and performance for XML processing to an IDPEF compliant parametrization message. To reduce these negatives Analyzers and Managers agree on a particular DTD via a local reference to the accessing Manager. Therefore IDPEF messages have to as example start with: 3.3. IDPEF Data Types XML is a text formatting language and all data will be expressed as "text" (as opposed to "binary") within an XML IDPEF message, except it is explicate declared here. Each data type in the model has specific formatting requirements in an XML IDPEF message. The data types are Integers, Real Numbers, Bytes, Enumerated Types, Date Time Strings [7], Port Lists and also Characters and Strings which are already defined in the IDMEF data model specification [2]. 3.4. Case-Sensitivity All values are not case-sensitive, except it will be explicit defined here. 4. The IDPEF Parametrization Data Model This section illustrates the structure of the IDPEF parametrization and the relationship between single elements. The individual elements are explained in detail in the respective section of the parametrization nodes. The IDPEF parametrization model describes only the node structure of the parametrization information. The communication procedure was already described in section 2. 4.1. Overview The structure of the IDPEF core components is displayed in figure 2. The top level node (root node) is called "IDPEF-Message". Boesch Expires August 28, 2016 [Page 17] Internet-Draft The IDPEF February 2016 The "IDPEF-Message" node is structured in the three sections "entity", "alert" and "update". Each section focuses on detailed parametrization information for global analyzer information, event parametrization and updates. +------------------------------------------------------------+ | IDPEF-Message | +------------------------------------------------------------+ A A A | | | V V V +------------------+ +-----------------+ +-----------------+ | entity | | alert | | update | +------------------+ +-----------------+ +-----------------+ | +-------------+ | +------------+ | +------------+ +->| network | +->| group | +->| updatefile | | +-------------+ +------------+ +------------+ | +---------+ | | +-------------+ | +-----------+ V +->| location | +--->| event | +----------+ | +-------------+ | +-----------+ | data | | | | +-------+ +----------+ | V | | | +---------+ | | +------------+ | | address |<--+ | +->| connection | | +---------+ | | | +------------+ | +---------+ | | | +------------+ | | contact |<--+ | +->| system | | +---------+ | | | +------------+ | | | | +------------+ | | | +->| ipara | | +-------------+ | | +------------+ +->| tadmin |-+ | | +-------------+ | | | +-------------+ | | +------------+ +->| fservice |-+ +--->| react | +-------------+ +------------+ Figure 2 Overview of IDPEF data model 4.2. Message Nodes 4.2.1. IDPEF-Message The IDPEF-Message node is the top-level of the IDPEF data model. All IDPEF parametrization nodes are child nodes of the IDPEF-Message node. It is the root node of all IDPEF-Messages as well as the IDPEF DTD. The root node is represented in the IDPEF DTD as: Boesch Expires August 28, 2016 [Page 18] Internet-Draft The IDPEF February 2016 This node includes the attributes: format REQUIRED: The format attribute defines the type of data contents. Possible values are "request", "reply" or "update". errorcode OPTIONAL: RECOMMENDED to be set in case of a reply: 100: ok 200: Request or Update not valid 250: Request or Update not well-formed 300: Internal processing error by the XML 400: Activation of new parameters failed, restart with old parametrization. device REQUIRED: This attribute defines on which device the parametrization has to be applied. This attribute supports multi- hop parametrization. In case of a change of "analyzer-ID"/name in the entity section the old attribute value has to be used. In case of a bulk update, the devices are separated by comma (,). In case of a port other than the standard port the port will be specified Boesch Expires August 28, 2016 [Page 19] Internet-Draft The IDPEF February 2016 by a double point (:) after the device name (i.e. analyzer.example.com:603 or 192.168.2.1:603). 4.2.2. The Entity Section The "entity" node specifies the IDS entity. It includes basic information about the entity itself and contains also additional information about the environment of the device. Figure 2 illustrates the sub-node structure of the "entity" section on the left side. The node "entity" accumulates the child nodes "network", "location", "tadmin" and "fservice". The three nodes "location", "tadmin" and "fservice" contain the additional node "address". The nodes "tadmin" and "fservice" include additional the node "contact". The node "entity" contains characterizing attributes of the entity. The "entity" node is represented in the IDPEF DTD as: Each entity node includes the individual attributes: analyzer-ID Exactly one string: Unique ID to identify the individual IDS- entity (physical node). domain Exactly one string: Domain where the Analyzer belongs to. name Exactly one string: Name to identify the individual IDS-entity (logical node). version Exactly one string: This attribute refers to the software version of each IDS software entity. This is a read-only attribute and will be set automatically by the IDS-entity itself. This value is case-sensitive. model REQUIRED: The model attribute characterizes the Analyzer's soft- and/or hardware. Boesch Expires August 28, 2016 [Page 21] Internet-Draft The IDPEF February 2016 manufacturer OPTIONAL: Manufacturer of the Analyzer's soft- and/or hardware. Set by the Analyzer to identify the manufacturer for update selection. ostype OPTIONAL: Operating systems type of the Analyzer. On POSIX 1003.1 compliant systems, is this the value returned in utsname.sysname by the uname() system call, or the output of the "uname -s" command. This is a read-only attribute and will be set automatically by the IDS-entity itself to identify the os type for update selections. This value is case-sensitive. osversion OPTIONAL: Operating systems version of the Analyzer. On POSIX 1003.1 compliant systems, is this the value returned in utsname.release by the uname() system call, or the output of the "uname -r" command. This is a read-only attribute and will be set automatically by the IDS-entity itself to identify the current os version for update selections. This value is case-sensitive. serialnr Exactly one string: Contains the serial number of the device for replacement information purposes. This value is case-sensitive. license Exactly one string: Contains the license key/string. If no license is used the value is "none". This value is case-sensitive. expiration Exactly one data string: Indicates the expiration date of the license (date or "never"). The date format is yyyy/mm/dd. time-zone Exactly one time-string: Difference of local time to UTC. (+/-00:00) Boesch Expires August 28, 2016 [Page 22] Internet-Draft The IDPEF February 2016 ntp-server Exactly one string: IP-addresses of the NTP servers in dotted notation (IPv4 or IPv6) or server name. Multiple entries are separated by comma (,). dns-server Exactly one string: IP-addresses of the DNS servers in dotted notation (IPv4 or IPv6). Multiple entries are separated by comma (,). class REQUIRED: This attribute specifies global, if this entity executes active response or notify only. focus Exactly one value or more: Specification of the protected system. Keywords are defined as: "network", "server", "application" and "wireless". This is a read-only attribute and will be set automatically by the IDS-entity itself. certificate OPTIONAL: String with the certificate that has to be used for the next management access for the Manager. This value is case- sensitive. protect OPTIONAL: This attribute will be used to provide additional information about the protected systems and/or networks of this IDS-entity for incident handling. It is a string with a free description. 4.2.2.1. network Network configuration parameters of the IDS management interface of the entity will be summarized in this node. The network node is represented in the IDPEF DTD as: The individual attributes are brief described here: IP-address None or exactly one IP-address: IP-address of the IDS communication interface in dotted IPv4 or IPv6 notation. This interface is used for IDS communication only. For redundant systems the collective IP-address will be set. If no exclusive IDS management interface is in place, this attribute value MUST NOT be set. netmask None or exactly one netmask: Netmask of the IDS communication interface in dotted IPv4 or IPv6 notation corresponding to the attribute IP-address of this node. This interface is used for IDS communication only. If no exclusive IDS management interface is in place, this attribute value MUST NOT be set. gateway None or exactly one IP-address: IP-address of the gateway for the IDS communication in dotted IPv4 or IPv6 notation, corresponding to the attribute IP-address of this node. This interface is used for IDS communication only. If no exclusive IDS management interface is in place, this attribute value MUST NOT be set. ifspeed None or exact one string: Settings for the interface like interface speed, negotiations or duplex parameters. These parameters will be set for the IDS communication interface only. This value is case-sensitive. For redundant systems the value will be set on all entities. If no exclusive IDS management interface is in place, this attribute value MUST NOT be set. port Boesch Expires August 28, 2016 [Page 24] Internet-Draft The IDPEF February 2016 Exact one number: Port of the IDS management application (IDPEF port for IDXP). The default port is 603 that is already defined for IDXP by the IANA. 4.2.2.2. address The node "address" contains information about the geographical location. These are (location)name, street, building number, ZIP- code and city. The address node is represented in the IDPEF DTD as: It is RECOMMENDED to set all attributes of this node. Undefined attributes will be accepted, but in case of problems with the entity hardware, more time has be spend to locate the geographical address of the physical device. name OPTIONAL, but SHOULD be set: Defines the company- or location-name in which rooms the physical IDS entity is located. This value is case-sensitive. street OPTIONAL, but SHOULD be set: Defines the street where the physical IDS entity is located. This value is case-sensitive. number OPTIONAL, but SHOULD be set: Specifies the building number where the physical IDS entity is located. This value is case-sensitive. Boesch Expires August 28, 2016 [Page 25] Internet-Draft The IDPEF February 2016 ZIP OPTIONAL, but SHOULD be set: Specifies the ZIP-Code where the physical IDS entity is located. This value is case-sensitive. city OPTIONAL, but SHOULD be set: Specifies the city where the physical IDS entity is located. This value is case-sensitive. country OPTIONAL, but SHOULD be set: Specifies the country where the physical IDS entity is located. This value is case-sensitive. 4.2.2.3. location The node "location" contains the child node "address" and enriches this by the attributes "floor", "room", "rack" and "position" to specify the location more in detail. In case of one logical but physical redundant Analyzers with different postal addresses this node will be used multiple times. The node "location" is represented in the IDPEF DTD as: floor OPTIONAL, but SHOULD be set: Specifies the floor where the physical IDS entity is located. This value is case-sensitive. Boesch Expires August 28, 2016 [Page 26] Internet-Draft The IDPEF February 2016 room OPTIONAL, but SHOULD be set: Specifies the room where the physical IDS entity is located. This value is case-sensitive. rack OPTIONAL, but SHOULD be set: Specifies the rack where the physical IDS entity is located. This value is case-sensitive. position OPTIONAL: Locates the hardware by an individual description. This could be any hints or also longitude, latitude and altitude for an open graphical position system. This value is case-sensitive. 4.2.2.4. contact The node "contact" contains information to inform the corresponding group or person. In "contact" are information about the communication channel and the preferred communication channel. This node is represented in the IDPEF DTD as: mobile OPTIONAL, but SHOULD be set: Provides the mobile phone number of the contact. Boesch Expires August 28, 2016 [Page 27] Internet-Draft The IDPEF February 2016 e-mail OPTIONAL, but SHOULD be set: Provides the e-mail address of the contact. phone OPTIONAL, but SHOULD be set: Provides the landline number of the contact. FAX OPTIONAL, but SHOULD be set: Provides the FAX number of the contact. TTS OPTIONAL, but SHOULD be set: Provides the assignment group of the trouble ticket system for the contact. This value is case- sensitive. preferred REQUIRED: Defines, which contact interface is preferred by the contact. This attribute SHOULD be used, when more than one contact information is defined. 4.2.2.5. fservice The node "fservice" includes information about a local field service to solve problems. This node uses the node "contact" with the attribute "contactname" for additional contact information like name of a person or the group name. This node is represented in the IDPEF DTD as: Boesch Expires August 28, 2016 [Page 28] Internet-Draft The IDPEF February 2016 contactname REQUIRED: "contactname" is an open field to specify additional information i.e. name of a contact person or the name of the field service department. This value is case-sensitive. 4.2.2.6. tadmin The node "tadmin" includes information about the technical administrative (responsible) for this IDS entity. This node uses the node "contact" with the attribute "contactname" for additional contact information like name of a person or the group name. This node is represented in the IDPEF DTD as: contactname REQUIRED: "contactname" is an open field to specify additional information i.e. name of a main contact person or a team-name. This value is case-sensitive. 4.2.3. The Update Section The "update" section specifies all relevant information and data of IDS entity updates. Therefore an unique ID, execution- and reference-time have be set. Additional the update files, update schedule and update notification are defined. This node will be represented in the IDPEF DTD as: Boesch Expires August 28, 2016 [Page 29] Internet-Draft The IDPEF February 2016 The update node has four attributes: ID REQUIRED: The "ID" is the unique identifier for the update. This MUST be defined unique by the Manager or the Administrator. This value is case-sensitive. reference-time OPTIONAL: The "reference-time" is the time of the Manager. Time differences between the local IDS entity and the central IDS Manager will be eliminated. By timely relative updates this attribute is REQUIRED. exec-time REQUIRED: The "exec-time" terminates the time of execution start. If no reference-time is specified, the exec-time refers to the system time of the entity. type REQUIRED: Defines the kind of update. The value "update" is used for patches, updates and upgrades. "backup" is used to collect all important files for a parameter restore and the value "restore" is used to restore a parameter configuration by the transferred "update-file". 4.2.3.1. update-file The "update-file" node specifies name and location of the update files. Additional notifications for each update result will be specified. This node uses the attribute "notification" to specify Boesch Expires August 28, 2016 [Page 30] Internet-Draft The IDPEF February 2016 the result notification of each update file execution. This node will be represented in the IDPEF DTD as: The update node has six attributes: filename REQUIRED: This attribute contains the name of the file on the local updated IDS entity. This value is case-sensitive. location REQUIRED: This attribute specifies the location of the update file on the local updated IDS entity. This value is case-sensitive. updateparameter REQUIRED: This attribute contains the execution parameters. This value is case-sensitive. rank OPTIONAL: Specifies the update-schedule by numeration. Boesch Expires August 28, 2016 [Page 31] Internet-Draft The IDPEF February 2016 notification OPTIONAL: "notification" refers to the attribute "response-ID" of "react", which general notification channel has to be used for notification. This value is case-sensitive. ninfo OPTIONAL: This attribute contains additional static information to the IDS entity or the notification. This value is case-sensitive. 4.2.3.2. data This node is REQUIRED and contains the (binary) update file in base64 coded format. This value is case-sensitive. 4.2.4. The Alert Section The "alert" section includes groups for parametrization of events and reactions. The "alert" section is used to group and parameterize single "event" and the "react" nodes for signalizations or responses. The "alert" section structures all "event" and "react" nodes by "group" nodes. The "alert" section will be represented in the IDPEF DTD as: 4.2.4.1. group The node "group" contains the parametrization nodes for events and reactions. The "event" nodes are used to parameterize single events and the "react" nodes contain general notification parameters for signalizations or responses. The "group" node structures all "event" and "react" nodes for a clustering of events and responses. The "group" child node will be represented in the IDPEF DTD as: Boesch Expires August 28, 2016 [Page 32] Internet-Draft The IDPEF February 2016 Each "event" node contains these 12 attributes: enable REQUIRED: The "enable" attribute defines if this alert is active or not ("yes" or "no"). name REQUIRED: This attribute defines the vendor-specific unique identification for the event. This value is case-sensitive. displayedas REQUIRED: This value will be displayed in case of alarming/ notification. It should briefly characterize the occurred event. This value is case-sensitive. impact OPTIONAL: This attribute specifies, which security value (preferred: "confidence", "integrity", "availability" and/or "none") would be affected primary by this attack. severity REQUIRED: The value of the attribute "severity" characterizes the intrusion impact in context to other systems and/or applications. The severity supports Operators to aggregate all severities of a complex attack and several intrusions. This value is split in "informational", "low", "medium", and "high" or a numeric rating (e.g CVSS base value). priority OPTIONAL: The "priority" supports Operators to decide which intrusion has to be observed and what will be primary reported for statistical information like port-scans or sporadic connections overload. In case of multiple detections of several simultaneous Boesch Expires August 28, 2016 [Page 34] Internet-Draft The IDPEF February 2016 intrusions this value supports the Operator on which intrusion should be the focus and in which order are the intrusions to respond. This value covers a range from 1 to 255. interface OPTIONAL: The attribute "interface" defines the interface for the alert parameters if possible/necessary. Multiple interfaces are separated by a comma (,). This value is case-sensitive. origin OPTIONAL: Reference link to more information of this event: unknown, vendor-specific, user-specific, bugtraqid, cve, osvdb, etc. It could also include a link for more information about this event. This value is case-sensitive. frequency OPTIONAL: Specifies the threshold within the measure interval, how often the event has to be occur or a percentage value (threshold or change), before the event will be raised. interval OPTIONAL: The "interval" attribute specifies the measure interval in seconds for the value in "frequency", before the event will be raised. ignore OPTIONAL: Defines an inactivity period of this event in seconds, after it was raised. This prevents that a recurrent event floods the alert panel. ngroup REQUIRED: This attribute will be used to map the notification for this event. 4.2.4.1.1.1. connection The "connection" node summarizes all parameters related to the network connection. The node "connection" will be represented in the IDPEF DTD as: Boesch Expires August 28, 2016 [Page 35] Internet-Draft The IDPEF February 2016 Each "connection" node could contain these four attributes: source REQUIRED: This attribute defines initiating IP-addresses of the connection. It will be used in dotted form with OPTIONAL "/" for the netmask in dotted or bit-noted form. Multiple IP-addresses or address ranges will be separated with a comma (,). IP-address ranges could be specified by a hyphen (-) operator or netmask after a slash (/) or wild card operator (*) like 192.168.*.10. destination REQUIRED: This attribute defines destination IP-addresses of the connection. It will be used in dotted form with OPTIONAL "/" for the netmask in dotted or bit-noted form. Multiple IP-addresses will be separated with a comma. IP-address ranges could be specified by a hyphen (-) operator or netmask after a slash (/) or wild card operator (*) like 192.168.*.10. port REQUIRED: Defines the destination port or a port range for this event. A port range will be specified by a hyphen operator (-). Multiple ports or port ranges are separated by a comma (,). direction REQUIRED: This attribute defines if the connection parameters will be analyzed in both directions ("bidirectional") or only in the defined direction from source to destination ("unidirectional"). Boesch Expires August 28, 2016 [Page 36] Internet-Draft The IDPEF February 2016 4.2.4.1.1.2. system The node "system" pools the attributes for system specific parameters. The DTD representation for this node is: type REQUIRED: This attribute defines the type for the value, e.g. if it is a directory or a file. value REQUIRED: This attribute defines the value of the attribute. Multiple values are separated with a comma (,). This value is case-sensitive. enable REQUIRED: The "enable" attribute defines if this alert is active or not. 4.2.4.1.1.3. ipara The "ipara" node provides individual parameter-extensions. It makes it possible to set individual parameter names which are not predefined. The "ipara" node provides the attributes "name", "value" and "time". The DTD representation for this node is: Boesch Expires August 28, 2016 [Page 37] Internet-Draft The IDPEF February 2016 This node could include these four attributes: enable REQUIRED: The "enable" attribute defines if this alert is active or not. name REQUIRED: The attribute "name" defines the name of the individual parameter for a correct assignment. This value is case-sensitive. value REQUIRED: The attribute "value" contains the individual parameters of the individual attribute "name". This value is case-sensitive. time OPTIONAL: This attribute defines a time interval (i.e. 3600) in seconds or a local time window (i.e. 10:00:00 - 23:00:00) for the specified attribute. The time interval specifies an increase or decrease of the attribute "value". If a time interval will be defined the value of the attribute "value" is a fixed threshold. 4.2.4.1.2. react The response and notification parametrization depends primary on the feature set of the single IDS entity. All parameterized responses and notifications MUST be checked before the local IDS entity accepts the configuration. The "react" node will be represented in the IDPEF DTD as: Boesch Expires August 28, 2016 [Page 38] Internet-Draft The IDPEF February 2016 The "react" node could contain the five attributes: enable REQUIRED: The "enable" attribute defines if this alert is active or not ("yes" or "no"). response-ID REQUIRED: This attribute specifies the unique ID of the reaction (response or notification). type REQUIRED: This attribute specifies the notification or response type that will be taken by an identified attack. This could be to block of this packet/connection by the Sensor or another device, a redirect to a honey net, to take the sever offline, or an attack/ event signalization only. structure OPTIONAL: Some notification contents have an open structure. This attribute defines the notification content. This value is case- sensitive. iaddress REQUIRED: The attribute "iaddress" contains the IP-address (IPv4 or IPv6) of the notification receiving system or phone-number for SMS notification. 5. Extending the IDPEF IDS will be still developed in the future. Standardized protocols MUST be the cutting edge to support research prototypes. Also IDPEF has to support state of the art requirements of research projects. To fulfill these requirements IDPEF will be extended by using the individual parameter option "ipara". This technique is designed in a way that adding new data will not require a change to the base IDPEF schema and supports a lot of variants to extend the IDPEF. If the extension with the "ipara" section does not provide needed extension of IDPEF this section discusses how additional new data elements that have no current representation in the data model could be incorporated into the IDPEF. These techniques are designed in Boesch Expires August 28, 2016 [Page 39] Internet-Draft The IDPEF February 2016 such a way that adding new data will not require a change to the base IDPEF schema. This approach also supports extension of values and attribute-names and an extension with specially marked attributes and values is not necessary. For example, an extended instance of the attributes of the event class with the "ipara" option would look as follows: 6. Special Considerations 6.1. XML Validity and Well-Formed Instead to include the DTD in the IDPEF compliant communication, it will be defined in the header of the IDPEF-Message. Such IDPEF documents will be well-formed and valid as defined in [5]. Other IDPEF documents will be specified that a document header will be not included (e.g. entries in an IDPEF-format configuration file). This IDPEF documents are well-formed but not valid. A document has a single element that contains everything else, and that all other elements embedded nicely within each other without any overlapping. Only in this case a document is valid and well- formed. A document is valid when it is well-formed, but it follows also specific events (contained in the DTD) about which elements are allowed in the document. A document could not be valid without a DTD. XML processors have to parse valid documents only. Without validation, a document may contain elements in nonsense order and Boesch Expires August 28, 2016 [Page 40] Internet-Draft The IDPEF February 2016 could not process correctly. A not valid document is not suited for a proper parameter transfer. Therefore IDPEF documents MUST be valid. Documents which are not valid abet misparametrizations and will be not processed or applied. 6.2. Unrecognized XML Tags In case that an IDPEF compliant application receives a well-formed and valid IDPEF message containing tags that it does not understand, this IDPEF message MUST continue to process, provided that such messages meet the well-formatting requirement of section 6.1. It is up to the individual application to decide how to process (or ignore) any content from the unknown element(s). Unrecognized tags MUST be notified and the new running parametrization of the entity will be sent back as reply message. Within the replied IDPEF message the error code has to be set with the error codes: 100: ok 200: Request or Update not valid 250: Request or Update not well-formed 300: Internal processing error by the XML 400: Activation of new parameters failed, restart with old parametrization. 7. Security Considerations IDPEF itself does not treat security matters directly. It is only an exchange format to standardize and structure parametrization information of IDS. The data encoded by the IDPEF might be considered privacy sensitive information. Therefore care needs to be taken in ensuring the appropriate disclosure during both document exchange and subsequent processing entities. IDPEF could be used local by the IDS software or in combination with a transport protocol like IDXP [4] between Manager and Analyzers. The exchange of the information MUST be handled by a transport protocol, but the latter risk must be addressed by the systems that process, store, and archive IDPEF data and information derived from them. The underlying messaging format and protocol used to exchange instances of the IDPEF MUST provide appropriate guarantees of Boesch Expires August 28, 2016 [Page 41] Internet-Draft The IDPEF February 2016 confidentiality, integrity, and authenticity. The use of a standardized security protocol is encouraged. The security considerations are provided by e.g. IDXP [4], TLS [10] and SASL [12]. At least TLS 1.2 [11] and password authentication MUST be used. After the submission of IDPEF, care must be taken by the parser to properly authenticate the recipient of the document and ascribe an appropriate confidence to the data prior to action. Summarized considerations are made here: 7.1. Privacy Considerations Privacy is primary focused on information relating to an individual or information which makes it possible to identify an individual. Based on local law this could be defined very different. In this context IP-addresses (of Analyzer and Manager as well as IP- addresses for customizing the reference database) are not classified as personnel information. The Administrator manages Analyzers of the IDS over the Manager as intermediate with an individual user interface. The IDPEF standardizes the information exchange between Manager and Analyzer. A trust relationship exists between these two communication peers. The Manager controls the parametrization rights of each individual (access control). The Manager entity acts as intermediate between the Administrator and the Analyzer and provides an individual user interface for the Administrator. A correct identification and admission control of the individual Administrator MUST be provided by the Manager. The authorization of the individual Administrator on the manager entity is beyond the scope of IDPEF. A correct processing of the information of IDPEF is part of the IDS applications (Analyzer and Manager). Attributes and values that could not be processed correctly MUST be signalized as described in 2.1. Parametrization Communication. Based on the parametrization check the difference MUST be displayed to the Administrator. This supports a check of the input (input control) to avoid misparametrization of attributes and values. The IDPEF is designed that the Manager holds no data permanently about the parametrization of any Analyzer. Therefore the Manager has to request the actual parametrization if needed. It is up to the Analyzer application to store and protect the IDPEF information in a safe environment and protects it against unattended access (confidentiality) and modifications (integrity). Boesch Expires August 28, 2016 [Page 42] Internet-Draft The IDPEF February 2016 It is assumed that the entities (Manager and Analyzer) are located in a safe environment with a physical access control. The IDPEF is created to parametrize IDS in a common structured way. To achieve most interoperability all values are set in clear text. The IDPEF information MUST be safely processed and stored (e.g. encrypted) by the Analyzer application after receive. During the transport the transport protocol MUST ensure appropriate confidence and integrity for all IDPEF information. The logical access control has to be handled also by the transport protocol to ensure that the Manager will be authorized to set the transmitted parameters. Analyzers provide requested information to any authorized Manager. If there has to be set a transmission control, a proxy gateway (intermediate handler) e.g. a Manager has to be set up at the border to control the transmitted IDPEF parameters. The Manager (acting as intermediate handler) checks and controls the transmitted information to and from the peering Manager. The Manager (acting as Administrator interface) MUST identify and control the input of the individual Administrator (admission control). IDPEF may contain personnel information (team names or names of individuals, e-mail-addresses and/or telephone numbers) in the entity section. It is not required but recommended to set these attributes. It is up to the Administrator to decide if any of these values is set or not. This information is intended to be used by the Analyzer application for signalization of events or defects. Therefore a subsequent transmission might be possible of this personnel information. The Administrator should be aware who is able to request the information and where the information will be transmitted by the Analyzer. If these attributes are used, the Administrator has to care that these values are not in conflict with local law (on site of the Analyzer and the Manager as well as his local site). In any case the Analyzer application MUST grant confidence, availability and integrity of received, processed, and stored IDPEF information. Confidence and integrity of the IDPEF information during the communication between Analyzer and Manager has to be granted by the transport protocol. The subsequent sections are focused on several security issues and its prevention during the transport. 7.2. Systems Security Issues The local usage of IDPEF data (i.e. stored in IDS configuration files) MUST be protected at least against unauthorized usage, inappropriate usage and/or Denial of Service. Confidentiality and Boesch Expires August 28, 2016 [Page 43] Internet-Draft The IDPEF February 2016 integrity of local IDPEF configuration files MUST be handled in responsibility of the particular IDS software. A peer entity authentication within closed local software is RECOMMENDED. To provide most flexibility the IDS software MUST choose which mechanisms are adequate and has to ensure that its IDS configuration files (IDPEF) is sufficient and state of the art protected. The remote provisioning of IDPEF data MUST be protected against unauthorized and inappropriate usage. All transmitted IDPEF information has to be accepted from the Analyzers. The Manager has to ensure, that only appropriate IDPEF data corresponding to the authorization will be transmitted to the Analyzers. The Manager authorizes as appropriate managing peer entity. So the Manager has to check and enforce the authorization of its local users or managing peer entities. The Manager will be authorized as appropriate Manager based on SASL mechanisms. 7.3. Communications Security Issues IDPEF itself provides no transport security and depends on the security of the transport protocol. In case of transmission of IDPEF between Manager and Analyzer the transport protocol e.g. IDXP [4] MUST be guaranteed adequate data integrity, confidentiality and peer entity authentication of the transferred message. The IDPEF use the security features of the transport protocol IDXP [4]. The transport protocol has to provide separate mechanisms for transport security, user authentication, and secure data exchange. The transport protocol e.g. IDXP profile MUST offer the REQUIRED security properties. At least TLS 1.2 [11] and SASL MUST be used to provide transport security for IDPEF data. TLS supported cipher suites provide varying levels of security. Administrators SHOULD use the strongest cipher suite but SHOULD also carefully choose which cipher suites are provisioned. 7.3.1. Passive Attacks 7.3.1.1. Confidentiality Violations (Eavesdropping) Confidentiality violations such as eavesdropping are a serious attack against IDPEF data. So the transport protocol IDXP [4] MUST be used with the TLS and SASL profiles so that the communication is adequate protected. Boesch Expires August 28, 2016 [Page 44] Internet-Draft The IDPEF February 2016 7.3.1.2. Password Sniffing IDPEF MAY also handle authentication information among others. Due to the circumstances that IDPEF provides itself no transport security confidentiality, integrity and peer entity authentication MUST be provided by SASL and TLS profile option of IDXP. IDPEF MUST NOT used without the TLS and SASL options of the transport protocol. 7.3.1.3. Offline Cryptographic Attacks Offline cryptographic attacks are a serious risk to configuration information. To hamper this kind of attacks Analyzer and Manager SHOULD provide and use always state of the art algorithms. So the Analyzer SHOULD refuse weak cryptographic algorithms for confidentiality and/or authentication. IDXP has to be used with the TLS 1.2 [11] and SASL option. 7.3.2. Active Attacks 7.3.2.1. Replay Attacks To protect messages against replay IDPEF will be transmitted with TLS [10] option of IDXP [4]. The appropriate level of security MUST be chosen by the administrator carefully. To protect application data refer to Appendix F2 of [10] for a discussion of security considerations. 7.3.2.2. Message Insertion To protect messages against insertions IDPEF will be transmitted with TLS [10] option of IDXP [4]. The appropriate level of security MUST be chosen by the administrator carefully. To protect application data refer to Appendix F of [10] for a discussion of security considerations. 7.3.2.3. Message Deletion The communication proceeding of IDPEF ensures, that parameter modification messages (classified as parameter-update) MUST send back (classified as parameter-reply) so that the send Manager is able to compare the send update message and the received update response. Other deleted messages are uncritical and could be requested a second time. Transport layer of IDXP provides additional mechanisms to ensure a correct message transport to the peer entity. Boesch Expires August 28, 2016 [Page 45] Internet-Draft The IDPEF February 2016 7.3.2.4. Message Modification To protect messages against modification IDPEF will be transmitted with TLS [10] option of IDXP [4]. The appropriate level of security MUST be chosen by the administrator carefully. To protect application data refer to Appendix F2 of [10] for a discussion of security considerations. 7.3.2.5. Man-In-The-Middle IDPEF MUST be transported with TLS and SASL options of IDXP. 7.3.3. Topological Issues Architectural solutions like firewalls and separated networks keep the IDS communication in a WALLED GARDEN to make the communication safer. This protects also against Denial of Service attacks. 7.3.4. Denial of Service None of these security measures provide any real protection against denial of service. Based on the transport layer security (SASL and TLS 1.2) of the transport protocol e.g. IDXP [4], it is possible to limit a variety of attacks on individual connections using forged RSTs or other kinds of packet injection. 7.4. Digital Signatures IDPEF assigns responsibility for integrity and authentication of the message to the communications protocol IDXP [4], not the message format. However, in situations where IDPEF messages are parametrization part of a local configuration file, or in cases where the digital signatures MUST be archived for later use, the inclusion of digital signatures within an IDPEF message itself may be desirable. Specifications for the use of digital signatures [13] within IDPEF messages are outside the scope of this document. However, if such functionality is needed, use of the XML signature standard is RECOMMENDED. 8. IANA Considerations The IDMEF is registered by the IANA already. IDPEF will be used local in closed environments primary. DTD reference links preferential to the Manager of the IDS composite. Boesch Expires August 28, 2016 [Page 46] Internet-Draft The IDPEF February 2016 For the IDPEF there will be no need to register the specifications by the IANA [14]. The individual development and/or enhancement of the DTD and their attribute values SHOULD offer more flexibility for the use of the IDPEF and the DTD reference links to the Manager of the IDS composite. The individual submission route of the RfC editor accepts no IANA registrations and so no IANA registrations will be aspired. 9. Conclusions With IDPEF IDS are able to operate under one common independent IDS Manager. As result, the IDS Manager was separated from the rest of an IDS and could integrate Analyzers of different vendors and analyzing levels. Customizing of IDS could be due to a small amount of parameters and values. Baseline configurations and references depend on the internal processing and are not able to be standardized by a common format. With a single central administration entity it is possible to operate, manage, maintain and administer a heterogeneous IDS composite based on a small format. All connections are initialized from the central Manager to the distributed Analyzer entities. All updates (parameter and software) could be controlled, downloaded and distributed to each single IDS entity from one central management entity. Connections from an IDS Analyzer entity to a system outside the administrative IDS LAN are not necessary. The Manager still defines the border of autonomous acted IDS but the environment is not longer vendor-specific. The Manager is an independent system of IDS and could be separated from the rest of the IDS. It is possible to operate different IDS with one consistently administration front end. This enables new and independent evolution streams for IDS Analyzer as well as Manager. 10. Acknowledgments A great inspiration was the IDMEF document [2] from Debar, Curry and Feinstein and the IDXP document [4] from Feinstein and Metthews. For writing this document [14] and [15] are very helpful for the IANA section. This document was prepared using 2-Word-v2.0.template.dot. Boesch Expires August 28, 2016 [Page 47] Internet-Draft The IDPEF February 2016 APPENDIX A: Examples This section shows different scenarios of IDPEF data exchange. For all communication progressions at least one example will be presented. A.1. Feature-Requests With a feature-request the current parameter setting will be requested from an Analyzer. This section describes possible forms of feature-requests of the Manager: A.1.1. Global Feature-Request A.1.2. Entity Feature-Request A.1.3. Single Attribute Request Boesch Expires August 28, 2016 [Page 48] Internet-Draft The IDPEF February 2016 A.1.4. Single Alert-Request (Port-Scan) A.1.5. Multiple Alert Request Boesch Expires August 28, 2016 [Page 49] Internet-Draft The IDPEF February 2016 A.1.6. Global Alert-Request A.1.7. Multiple Global Alert-Request A.1.8. Global Alert-Request to sensor with individual IDPEF Port Boesch Expires August 28, 2016 [Page 50] Internet-Draft The IDPEF February 2016 A.2. Feature-Replies The feature reply is the response of the contacted system with the requested information. In this section the replies correspond with the feature request of the section before. A.2.1. Global Feature-Reply This reply is based on the feature-set of two identifiable alerts by this IDS-entity.
Boesch Expires August 28, 2016 [Page 53] Internet-Draft The IDPEF February 2016 frequency="20" interval="900" ngroup="DoS" > Boesch Expires August 28, 2016 [Page 54] Internet-Draft The IDPEF February 2016 A.2.2. Version-Reply version="10.3.x" A.2.3. Single Alert Feature-Reply (Port-Scan) frequency="20" interval="60" ngroup="portscan" A.3. Entity Information Update Boesch Expires August 28, 2016 [Page 57] Internet-Draft The IDPEF February 2016
A.4. Analyzer-Update The Analyzer-update sets the values of the alert-attributes. This will be described with an update by one and by two update-files. A.4.1. Single Update // binary Update file in base64 coded format A.4.2. Multiple Updates and Notifications // binary Update file in base64 coded format // binary Update file in base64 coded format A.4.3. Single Backup-Request A.4.4. Single Backup-Reply // binary restore file package in base64 coded format A.4.5. Single Backup-Restore Boesch Expires August 28, 2016 [Page 62] Internet-Draft The IDPEF February 2016 // binary restore file in base64 coded format A.5. Alert Parametrization Within this section the update of alert-parameter will be described by update of the port scan alert and a multi-update including a port-scan and a denial-of-service alert. A.5.1. Single Parameter-Update (Port-Scan) A.5.2. Multiple Parameter Update Boesch Expires August 28, 2016 [Page 65] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 66] Internet-Draft The IDPEF February 2016 APPENDIX B: The IDPEF Document Type Definition (Normative) Boesch Expires August 28, 2016 [Page 70] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 82] Internet-Draft The IDPEF February 2016 APPENDIX C: The IDPEF Schema Definition (Non-normative) Intrusion Detection Parametrization Exchange Format (IDPEF) Version 1.0 Boesch Expires August 28, 2016 [Page 83] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 84] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 85] Internet-Draft The IDPEF February 2016 default = "high" default = "none" default = "1" Boesch Expires August 28, 2016 [Page 86] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 87] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 93] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 96] Internet-Draft The IDPEF February 2016 use="required" Boesch Expires August 28, 2016 [Page 99] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 100] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 101] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 102] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 104] Internet-Draft The IDPEF February 2016 Boesch Expires August 28, 2016 [Page 105] Internet-Draft The IDPEF February 2016 APPENDIX D: Change History Changes from January 12, 2015 version to April 11, 2015 version: o Typo-correction of "parameterization" to "parametrization". o Add of "manufacturer", "ostype" and "osversion" attributes for closer alignment with IDMEF and improved selection of Analyzer criteria. Changes from April 11, 2015 version to October 18, 2015 version: o Several typo and grammar corrections. o Correction of ToC misalignment. o Drop out of BEEP usage (more common and open to transport protocols) o More precise to UFT-8 and UTF-16 usage in section 3.2.1 o Add Privacy Conditions o Check to align with RfC5070-bis-14 o Update IANA Considerations (section8) o Minor changes for better reading and understanding Changes from October 18, 2015 version to November 21, 2015 version: o Add informational reference RfC 6973 to list o Move Privacy Considerations to Security Consideration's section and rewrite privacy section o Corrections of XML format in example Appendix. Changes from November 21, 2015 version to February 28, 2016 version: o Change back IANA Considerations (section8) that it fits to individual submission route (No IANA actions) Boesch Expires August 28, 2016 [Page 106] Internet-Draft The IDPEF February 2016 11. References 11.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Debar H., Curry, D., and Feinstein, B., "Intrusion Detection Message Exchange Format", RfC4765, 2007. [3] Wood, M. and M. Erlinger, "Intrusion Detection Message Exchange Requirements", RFC 4766, March 2007. [4] Feinstein, B., Matthews, G., "The Intrusion Detection Exchange Protocol (IDXP) ", RFC 4767, March 2007. [5] Paoli, J., Sperberg-McQueen, C., Bray, T., and E. Maler, "Extensible Markup Language (XML) 1.0 (Second Edition)", W3C First Edition REC-xml-20001006, October 2000. [6] Hollander, D., Bray, T., and A. Layman, "Namespaces in XML", W3C REC REC-xml-names-19990114, January 1999. [7] International Organization for Standardization, "Data elements and interchange formats - Information interchange - Representation of dates and times", ISO Standard 8601, Second Edition, December 2000. [8] Phillips, A. and Davis, M., "Matching of Language Tags", BCP 47, RFC 4647, September 2006. [9] Hollenbeck, S., Rose, M., Masinter, L., "Guideline for the Use of Extensible Markup Language (XML) within IETF Protocols", BCP70, RfC 3470, January 2003 [10] Dierks, T., Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.2", RfC 5246, August 2008 [11] Sheffer, Y., Holz, R., P. Saint-Andre, P., "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) ", RfC 5725, May 2015 [12] Myers, J., "Simple Authentication and Security Layer (SASL)", RfC 2222, October 1997 Boesch Expires August 28, 2016 [Page 107] Internet-Draft The IDPEF February 2016 11.2. Informative References [13] Eastlake, D., Reagle, J., and D. Solo, "(Extensible Markup Language) XML-Signature Syntax and Processing", RFC 3275, March 2002. [14] Freed, N. and J. Postel, "IANA Charset Registration Procedures", BCP 19, RFC 2978, October 2000. [15] Narten, T. and Alvestrand, H., "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. [16] Cooper, A., Tschofenig, H., et al.,"Privacy Considerations for Internet Protocols", RfC 6973, July 2013 Intellectual Property Statement Copyright (c) 2015 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). D.1.1. Author's Address Bjoern-C. Boesch Independent, undisclosed Germany Email: bjoernboesch@gmx.net Boesch Expires August 28, 2016 [Page 108]