SACM                                                       N. Cam-Winget
Internet-Draft                                             Cisco Systems
Intended status: Informational                               L. Lorenzin
Expires: April 13, 27, 2015                                     Pulse Secure
                                                        October 10, 24, 2014

    Secure Automation and Continuous Monitoring (SACM) Requirements


   This document defines the scope and set of requirements for the
   Secure Automation and Continuous Monitoring working group.  The
   requirements and scope are based on the agreed upon use cases.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at

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

   This Internet-Draft will expire on April 13, 27, 2015.

Copyright Notice

   Copyright (c) 2014 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
   ( 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   2
     2.1.  Requirements for SACM . . . . . . . . . . . . . . . . . .   3
     2.2.  Requirements based on Use Cases . . . . . . . . . . . . .   5
     2.3.  Requirements for the Architecture . . . . . . . . . . . .   6   7
     2.4.  Requirements for the Information Model  . . . . . . . . .   7
     2.5.  Requirements for Transport Protocols  . . . . . . . . . .   9  10
   3.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9  10
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9  10
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10  11
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  10  11
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  10  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   Today's environment of rapidly-evolving security threats highlights
   the need to automate the sharing of such information while protecting
   user information as well as the systems that store, process, and
   transmit this information.  Security threats can be detected in a
   number of ways.  SACM's charter focuses on how to collect and share
   this information based on use cases that involve posture assessment
   of endpoints.

   Scalable and sustainable collection, expression, and evaluation of
   endpoint information is foundational to SACM's objectives.  To secure
   and defend a network one must reliably determine what devices are on
   the network, how those devices are configured from a hardware
   perspective, what software products are installed on those devices,
   and how those products are configured.  We need to be able to
   determine, share, and use this information in a secure, timely,
   consistent, and automated manner to perform endpoint posture

   This document focuses on describing the requirements for facilitating
   the exchange of posture assessment information, in particular, for
   the use cases as exemplified in [I-D.ietf-sacm-use-cases].Also, this
   document uses terminology defined in [I-D.ietf-sacm-terminology].

2.  Requirements

   This document defines requirements based on the SACM use cases
   defined in [I-D.ietf-sacm-use-cases].  This section describes the
   requirements used by SACM to assess and compare candidate information
   models and protocols to suit the architecture.  These requirements
   express characteristics or features that a candidate protocol or data
   model must be capable of offering to ensure security and

2.1.  Requirements for SACM

   In order to address the needs for determining, sharing and using
   posture information, the following tasks should be considered:

   1.  Define the assets.  This is what we want to know about an asset.
       For instance, organizations will want to know what software is
       installed and its many critical security attributes such as patch

   2.  Resolve what assets actually compose an endpoint.  This requires
       populating the data elements and attributes needed to exchange
       information pertaining to the assets composing an endpoint.

   3.  Determine the expected values for the data elements and
       attributes that need to be evaluated against the actual collected
       instances of asset data.  This is how an organization can express
       its policy for an acceptable data element or attribute value.  A
       system administrator can also identify specific data elements and
       attributes that represent problems, such as vulnerabilities, that
       need to be detected on an endpoint.

   4.  Evaluate the collected instances of the asset data against those
       expressed in the policy.

   5.  Report the results of the evaluation.

2.1.  Requirements for SACM

   Many deployment scenarios can be instantiated to address the above
   tasks and use cases defined in [I-D.ietf-sacm-use-cases].  To ensure
   interoperability, scalability and flexibility in any of these
   deployments, the following requirements are defined for all use

   G-001  Extensibility: The data models, protocols and transports
    defined by SACM must be extensible to allow support for non-standard
    and future extensions.

    1.  The transport protocol must support easily adding new operations
        while maintaining backwards compatibility.

    2.  The query language must allow general inquiries as well as
        expression of specific paths to follow; retrieval of specific
        information based on an event, as well as on a continuous basis;
        and the ability to retrieve specific pieces of information,
        specific classes of information, and/or the entirety of
        available information.

    3.  The information model must accommodate the addition of new data
        types and/or schemas in a backwards compatible fashion.

   G-002  Interoperability: The data models, protocols and transports
    must be specified with enough details and state machine to ensure

   G-003  Scalability: The data models, protocols and transports must be
    scalable.  SACM must support a broad set of deployment scenarios.
    As such, it is possible that the size of posture assessment
    information can vary from a single assessment that is small in
    (record or datagram) size to a very large datagram or a very large
    set of assessments.  This must be defined by the SACM specifications

   G-004  Agility: The agility requirement is to ensure that the data
    model, protocols, transports are suitable suitably to implementations are
    suitable implemented to fit in into
    the different deployment models and scenarios.  Considerations for
    the lightweight implementations of data models and transports is
    required.  Use cases, especially in the vulnerability assessment and
    threat defense applications, require time criticality in both
    obtaining the information as well as consuming (e.g. parsing) the

   G-005 / T-001  Transport variability: Moved to the Section 2.5.

   G-006 / GN-005  Extensibility: A method for expressing both standard
    and non-standard (implemention-specific) data attributes while
    avoiding collisions should be defined.  For interoperability and
    scope boundary, an explicit set of data attributes as mandatory to

   G-007 / GN-006/ T-002  Data Integrity: A method for ensuring data
    integrity must be provided.  This method is required to be available
    (i.e. all data-handling components must support it), but is not
    required to be used in all cases.

   G-008 / T-003  Data Protection: Moved to the Section 2.5.

   G-009 / ARCH-004  Topology Flexibility: Moved to the Section 2.3.

   G-010 / GN-007  Data Isolation: A method for partitioning data must
    be supported, to accommodate considerations such as geographic,
    regulatory, overlay boundaries and federation, where an organization
    may want to differentiate between information that can be shared
    outside its own domain and information that cannot.  As with the
    requirement for data integrity, this method is required to be
    available (i.e. all data-handling components must support it), but
    is not required to be used in all cases.

   G-011 / ARCH-005  Modularity: has been moved to the Section 2.3.

   G-012 / GN-008  Versioning and Backward Compatibility: Announcement
    and negotiation of versions, inclusive of exisiting capabilities
    (such as transport protocols, data models, specific attributes
    within data models, standard attribute expression sets, etc.) must
    be supported.  Negotiation for both versioning and capability is
    needed to accommodate future growth and ecosystems with mixed

   G-013 / GN-009  Discovery: There must be a mechanism for components
    to discover what information is available across the ecosystem (i.e.
    a method for cataloging data available in the ecosystem and
    advertising it to consumers), and where to go to get a specific
    piece of that information.  For example, providing a method by which
    a node can locate the advertised information so that consumers are
    not required to have a priori knowledge to find available

   G-014 / IM-013  Synchronization: has been moved to the Section 2.4.

   G-015 / IM-014  Collection separation: has been moved to the
    Section 2.4.

   G-016 / IM-015  Collection composition has been moved to the
    Section 2.4.

2.2.  Requirements based on Use Cases

   This section describes the requirements that may apply to information
   models, data models, protocols or transports as identified by the use
   cases in [I-D.ietf-sacm-use-cases] and referenced by the section
   numbers from that draft.

   REQ-001  Attribute Dictionary: Use Cases in the whole of Section 2
    describe the need for an Attribute Dictionary.  With SACM's scope
    focused on Posture Assessment, the attribute collection and
    aggregation must have a well understood set of attributes inclusive
    of their meaning or usage intent.

   REQ-002  Information Model: Use Case 2.1.1 describes the need for an
    Information Model to drive content definition.  As SACM endeavors to
    reuse already existing standards which may have their own data
    models defined by instantiating an information model, the data
    models can be mapped to SACM's information model.  See [RFC3444] for
    a description and distinctions between an information and data

   REQ-003  Data Model to Protocol mapping: Use Case 2.1.1 describes the
    need to instantiate a data model that can map to the SACM protocols
    for posture content operations such as publication, query, change
    detection and asynchronous notifications.

   REQ-004  Endpoint Discovery: Use Case 2.1.2 describes the need to
    discover endpoints and their composition.

   REQ-005  Attribute based query: Use Case 2.1.2 describes the need for
    the data model to support a query operation based on a set of
    attributes to facilitate collection of information such as posture
    assessment, inventory (of endpoints or endpoint components) and
    configuration checklist. .

   REQ-006  Information based query with filtering: Use Case 2.1.3
    describes the need for the data model to support the means for the
    information to be collected through a query mechanism.  Furthermore,
    the query operation requires filtering capabilities to allow for
    only a subset of information to be retrieved.  The query operation
    may be a synchronous request or asynchronous request.

   REQ-007  Asynchronous publication, updates or change modifications
    with filtering: Use Cases 2.1.3, 2.1.4 and 2.1.5 describe the need
    for the data model to support the means for the information to be
    published asynchronously.  Similarly, the data model must support
    the means for a requestor to obtain updates or change modifications
    asynchronously.  Like the query operation, these update
    notifications can be set up with a filter to allow for only a subset
    of posture assessment information to be obtained.

   REQ-008  Data model scalability: Use Cases 2.1.4 and 2.1.5 describes
    the need for the data model to support scalability.  For example,
    the query operation may result in a very large set of attributes as
    well as a large set of targets.

   REQ-009  Separation of Collection Request and Collection Action: the The
    data model must should distinguish the means to request for a data item to
    include enough information attribute for
    collection versus a request to properly identify process, execute or apply the item to collect
    but data
    attributes for evaluation or analysis.  N.B.  This requirement is
    based on most of the request could be separate Use Cases in Section of

    [I-D.ietf-sacm-use-cases] and distinct from defines a requirement about the actual
    method or process used to fulfill
    Information Model, thus this is the request. same as IM-014.

2.3.  Requirements for the Architecture

   At the simplest abstraction, the SACM architecture represents the
   core components and interfaces needed to perform the production and
   consumption of posture assessment information.  Requirements relating
   the SACM's architecture include:

   ARCH-001  Scalability: The architectural components must account for
    a range of deployments, from very small set of endpoints are used to
    very large deployments of more than several hundreds of thousands of
    endpoints. deployments.

   ARCH-002  Agility: The architectural components must account for
    different deployment scenarios where the architectural components
    may be implemented, deployed or used within a single application,
    service, network or may comprise a federated system.

   ARCH-003  Separation of Data and Management functions: SACM must
    define both the configuration and management of the SACM data models
    and protocols used to transport and share posture assessment

   ARCH-004  Topology Flexibility: Both centralized and decentralized
    (peer-to-peer) information exchange must be supported.  Centralized
    data exchange enables use of a common data format to bridge together
    data exchange between diverse systems, and can leverage a virtual
    data store that centralizes and offloads all data access, storage,
    and maintenance to a dedicated resource.  Decentralized data
    exchange enables simplicity of sharing data between relatively
    uniform systems, and between small numbers of systems, especially
    within a single enterprise domain; systems can utilize an already
    established mutually agreed upon native data format, which may be
    standard or implementation-specific. domain.

   ARCH-005  Modularity: Announcement and negotiation of functional
    capabilities (such as authentication protocols, authorization
    schemes, data models, transport protocols, etc.) must be supported,
    enabling a SACM component to make inquiries about the capabilities
    of other components in the SACM ecosystem.

2.4.  Requirements for the Information Model

   The SACM information model represents an abstraction for "what"
   information can be communicated and "how" it is to be represented and

   It is expected that as applications may produce Posture assessment
   information, they may share it using a specific data model.

   Similarly, applications consuming or requesting Posture Assessment
   information, may require it based on a specific data model.  Thus,
   while there may exist different data models and schemas, they should
   adhere to a SACM information model that meets a set of requirements
   defined in this section.

   The specific requirements include:

   IM-001  Uniqueness of objects of reference, such  The information model MUST define the data attributes as endpoints,
    objects that MUST be uniquely referenced (e.g. endpoint, IP
    addresses, etc. address,

   IM-002  Mechanism  The information model may structure data models into modules
    and submodules to allow for data references within a module.  For
    example, an endpoint may be defined as a module that references one
    or more submodules that further describe the one or more assets.
    Constraints and interfaces may further be defined to resolve or
    tolerate ambiguity in referents the references (e.g. same IP address used in
    two separate networks) networks).

   IM-003  Support  The interfaces and actions in the information model MUST
    include support for rootless searches and wildcard searches

   IM-004  Ability  The search interfaces and actions MUST include the ability to
    start a search anywhere in the tree, rather than
    at within a specific leaf data model structure.

   IM-005  Data  The information model SHOULD include management of the data,
    including data lifetime management (longevity or expiration of data)

   IM-006  Data  The information model SHOULD include data ephemerality
    (update vs. notify) notify).

   IM-007  Looseness of  The information model SHOULD allow for a loose coupling
    between producer and consumer consumer.

   IM-008  Ability  The interfaces and actions in the information model MUST
    include the ability to identify data from a specific producer producer.

   IM-009  Metadata  The structures in the information model MUST account for
    metadata cardinality.  As Posture information and the tasks for
    collection, aggregation or evaluation could comprise one or more
    attributes, interfaces and actions must allow and account for such
    cardinality - single-valued vs. multi-valued as well as whether the attributes are conditional,
    optional or mandatory.

   IM-010  Capability  The interfaces and actions in the information model MUST
    include capability negotiation - what to enable discovery of supported and
    available data types and schemas are
    supported schemas.

   IM-011  Provenance of data - for example:

    *  Publisher identity, classification, trustworthiness,

    *  Freshness of data

    *  Method by which data was generated (i.e. self-reported, reported
       by aggregator, result of scan, etc.)

    *  Location of data

    *  Delta results vs. total results

   IM-012  Freshness: Published data must be associated with the time of
    origination - separately from the time of publication required in
    IM-013.  This allows consumers can make decisions about the
    relevance of the data based on its currency and/or age.

   IM-013  Synchronization: Request and response operations must be
    timestamped, and published information must capture time of
    publication.  Actions or decisions based on time-sensitive data
    (such as user logon/logoff, endpoint connection/disconnection,
    endpoint behavior events, etc.) are all predicated on a synchronized
    understanding of time.  A method for detecting and reporting time
    discrepancies must be provided.

   IM-014  Collection separation: The request for a data item must
    include enough information to properly identify the item to collect,
    but the request shall not be a command to directly execute nor
    directly applied as arguments to a command.  The purpose of this
    requirement is primarily to reduce the potential attack vectors, but
    has the additional benefit of abstracting the request for collection
    from the collection method thereby allowing more flexibility in how
    collection is implemented.

   IM-015  Collection composition A collection request can be composed
    of multiple collection requests (which yield collected values).
    This must be able to be expressed as part of the collection request
    so that the aggregation can be resolved at the point of collection
    without having to interact with the requester.

2.5.  Requirements for Transport Protocols

   The requirements for transport protocols include:

   T-001  Transport variability: Different transports must be supported
    to address different deployment and time constraints.  Supporting
    transports may be at the Layer 2, Layer 3 and higher application

   T-002  Data Integrity: A method for ensuring data integrity must be
    provided if required at the transport layer.

   T-003  Data Protection: Transport protocols must ensure data
    protection for data in transit by encryption and robustness against
    protocol-based attacks.  Protection for data at rest is not in scope
    for SACM.  Data protection may be used for both privacy and non-
    privacy scenarios.

3.  Acknowledgements

   The authors would like to thank Barbara Fraser, Jim Bieda and Adam
   Montville for reviewing and contributing to this draft.

4.  IANA Considerations

   This memo includes no request to IANA.

5.  Security Considerations

   This document defines the requirements for SACM.  As such, it is
   expected that several data models, protocols and transports may be
   defined or reused from already existing standards.  This section will
   highlight security considerations that may apply to SACM based on the
   architecture and standards applied in SACM.

   To address security and privacy considerations, the data model,
   protocols and transport must consider authorization based on consumer
   function and privileges, to only allow authorized consumers and
   providers to access specific information being requested or

   To enable federation across multiple entities (such as across
   organizational or geographic boundaries) authorization must also
   extend to infrastructure elements themselves, such as central
   controllers / brokers / data repositories.

   In addition, authorization needs to extend to specific information or
   resources available in the environment.  In other words,
   authorization should be based on both subject (the information
   requestor) and object (the information requested).  The method by
   which this authorization is applied is unspecified.

6.  References

6.1.  Normative References

              Waltermire, D., Montville, A., Harrington, D., and N. Cam-
              Winget, "Terminology for Security Assessment", draft-ietf-
              sacm-terminology-05 (work in progress), August 2014.

              Waltermire, D. and D. Harrington, "Endpoint Security
              Posture Assessment - Enterprise Use Cases", draft-ietf-
              sacm-use-cases-07 (work in progress), April 2014.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

6.2.  Informative References

   [RFC3444]  Pras, A. and J. Schoenwaelder, "On the Difference between
              Information Models and Data Models", RFC 3444, January

   [RFC5209]  Sangster, P., Khosravi, H., Mani, M., Narayan, K., and J.
              Tardo, "Network Endpoint Assessment (NEA): Overview and
              Requirements", RFC 5209, June 2008.

Authors' Addresses

   Nancy Cam-Winget
   Cisco Systems
   3550 Cisco Way
   San Jose, CA  95134

   Lisa Lorenzin
   Pulse Secure
   3614 Laurel Creek Way
   Durham, NC  27712
   2700 Zanker Rd., Suite 200
   San Jose, CA  95134