<?xml version="1.0" encoding="US-ASCII"?>
<!-- <?xml version="1.0" encoding="UTF-8"?> -->
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private)
-->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">


<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" category="info" docName="draft-jeong-i2nsf-security-management-automation-03">

<front>
    <title abbrev="I2NSF Security Management Automation">
  An Extension of I2NSF Framework for Security Management Automation in Cloud-Based Security Services
    </title>

    <author initials="J." surname="Jeong" fullname="Jaehoon (Paul) Jeong">
        <organization abbrev="Sungkyunkwan University">
    Department of Computer Science and Engineering
        </organization>

        <address>
            <postal>
                <street>Sungkyunkwan University</street>
                <street>2066 Seobu-Ro, Jangan-Gu</street>
                <city>Suwon</city> <region>Gyeonggi-Do</region>
                <code>16419</code>
                <country>Republic of Korea</country>
            </postal>
            <phone>+82 31 299 4957</phone>
            <facsimile>+82 31 290 7996</facsimile>
            <email>pauljeong@skku.edu</email>
            <uri>http://iotlab.skku.edu/people-jaehoon-jeong.php
         </uri>
        </address>
    </author>

    <author initials="P." surname="Lingga" fullname="Patrick Lingga">
        <organization abbrev="Sungkyunkwan University">
            Department of Electronic, Electrical and Computer Engineering
        </organization>
        <address>
            <postal>
                <street>Sungkyunkwan University</street>
                <street>2066 Seobu-Ro, Jangan-Gu</street>
                <city>Suwon</city>
                <region>Gyeonggi-Do</region>
                <code>16419</code>
                <country>Republic of Korea</country>
            </postal>
            <phone>+82 31 299 4957</phone>
            <email>patricklink@skku.edu</email>
        </address>
    </author>

    <author initials="J." surname="Park" fullname="Jung-Soo Park">
        <organization abbrev="ETRI">
            Electronics and Telecommunications Research Institute
        </organization>

        <address>
            <postal>
                <street>218 Gajeong-Ro, Yuseong-Gu</street>
                <city>Daejeon</city>
                <code>305-700</code>
                <country>Republic of Korea</country>
            </postal>
            <phone>+82 42 860 6514</phone>
            <email>pjs@etri.re.kr</email>
        </address>
    </author>

    <date month="February" day="21" year="2022" />

    <area>Security</area>

    <workgroup>I2NSF Working Group</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in
the title) for use on http://www.rfc-editor.org/rfcsearch.html. -->

<keyword>Internet-Draft</keyword>

    <abstract>
      <t>
        This document describes an extension of the framework of Interface to
        Network Security Functions (I2NSF) for Security Management Automation
        (SMA) in cloud-based security services. The security management automation
        in this document deals with a security polity translation and a feedback-based
        security service enforcement. To support these two features in SMA, this
        document specifies an augmented architecture of the I2NSF framework with a new
        system component and a new interface.
      </t>
    </abstract>
</front>

<middle>

<section anchor="section:Introduction" title="Introduction">
  <t>
    Interface to Network Security Functions (I2NSF) defines a framework
    and interfaces for interacting with Network Security Functions (NSFs)
    <xref target="RFC8192" /><xref target="RFC8329" />.
    Note that an NSF is defined as software that provides a set of
    security-related services, such as (i) detecting unwanted activity,
    (ii) blocking or mitigating the effect of such unwanted activity
    in order to fulfill service requirements, and (iii) supporting
    communication stream integrity and confidentiality <xref target="RFC8329" />.
    The NSF can be implemented as a Virtual Network Function (VNF) in
    a Network Functions Virtualization (NFV) environment <xref target="ETSI-NFV" /><xref target="I-D.ietf-i2nsf-applicability" />.
  </t>

  <t>
    This document describes an extension of the framework of Interface to
    Network Security Functions (I2NSF) for Security Management Automation
    (SMA) in cloud-based security services. The security management automation
    includes a security polity translation and a feedback-based
    security service enforcement. This document specifies an augmented
    architecture of the I2NSF framework for the SMA services with a new
    system component and a new interface.
  </t>

  <t>
    For reliable management for networked security services, this document
    proposes a network management and verification facility using a
    decentralized audit system (e.g., blockchain <xref target="Bitcoin"/>).
    This audit system can facilitate the non-repudiation of configuration
    commands and monitoring data generated in the I2NSF framework.
  </t>

  <t>
    Therefore, with the security service automation, this document facilitates
    the foundation of Intent-Based Networking (IBN) for intelligent security services
    <xref target="I-D.irtf-nmrg-ibn-concepts-definitions" />.
  </t>
</section>

<section anchor="section:Terminology" title="Terminology">
    <t>
      This document uses the terminology described in <xref target="RFC8329" /> and
      <xref target="I-D.ietf-i2nsf-applicability" />.
      In addition, the following terms are defined below:
    </t>

    <t>
    <list style="symbols">
      <t>
        Security Management Automation (SMA): It means that a high-level
        security policy from a user (or administrator) is well-enforced in
        a target I2NSF system. The high-level security policy can be
        translated into the corresponding low-level security policy by a
        security policy translator and dispatched to appropriate NSFs.
        Through the monitoring of the NSFs, the activity and performace of
        the NSFs is monitored and analyzed. If needed, the security rules of
        the low-level security policy are augmented or new security rules are
        generated and configured to appropriate NSFs.
      </t>

      <t>
        Security Policy Translation (SPT): It means that a high-level security
        policy is translated to a low-level security policy that can be
        understood and configured by an NSF for a specific security service,
        such as firewall, web filter, deep packet inspection, DDoS-attack
        mitigation, and anti-virus.
      </t>

        <t>
        Feedback-Based Security Management (FSM): It means that a security
        service is evolved by updating a security policy (having security rules)
        and adding new security rules for detected security attacks by
        processing and analzing the monitoring data of NSFs.
        </t>
    </list>
    </t>

    <figure anchor="figure:I2NSF-Framework-for-Security-Management-Automation" title="I2NSF Framework for Security Management Automation">
            <artwork><![CDATA[
   +------------+
   | I2NSF User |
   +------------+
          ^
          | Consumer-Facing Interface
          v
+-------------------+     Registration     +-----------------------+
|Security Controller|<-------------------->|Developer's Mgmt System|
+-------------------+      Interface       +-----------------------+
          ^      ^
          |      |
          |      |  Application Interface  +-----------------------+
          |      +------------------------>|    I2NSF Analyzer     |
          |                                +-----------------------+
          | NSF-Facing Interface              ^       ^       ^
          |                                   |       |       |
          |                                   |       |       |
          |    +------------------------------+       |       |
          |    |              +-----------------------+       |
          |    |              |   Monitoring Interface        |
          v    v              v                               v
   +----------------+ +---------------+   +-----------------------+
   |      NSF-1     |-|     NSF-2     |...|         NSF-n         |
   |   (Firewall)   | | (Web Filter)  |   |(DDoS-Attack Mitigator)|
   +----------------+ +---------------+   +-----------------------+
            ]]></artwork>
    </figure>



</section>

<section anchor="section:I2NSF-Framework-for-Security-Management-Automation" title="I2NSF Framework for Security Management Automation">

    <t>
      This section summarizes the I2NSF framework as defined in <xref target="RFC8329" />.
      As shown in <xref target="figure:I2NSF-Framework-for-Security-Management-Automation" />,
      an I2NSF User can use security functions by delivering high-level security policies,
      which specify security requirements that the I2NSF user wants to enforce, to
      the Security Controller via the Consumer-Facing Interface (CFI)
      <xref target="I-D.ietf-i2nsf-consumer-facing-interface-dm" />.
    </t>

   <section anchor="section:I2NSF-Framework-Components-for-Security-Management-Automation" title="Components with I2NSF Framework for Security Management Automation">
   <t>
   The following are the system components for the SMA-based I2NSF framework.
   </t>

   <t>
       <list style="symbols">
           <t>
           I2NSF User: An entity that delivers a high-level security policy to
           Security Controller.
           </t>

           <t>
           Security Controller: An entity that controls and manages other system
           components in the I2NSF framework. It translates a high-level security
           policy into the corresponding low-level security policy and selects
           appropriate NSFs to execute the security rules of the low-level security
           policy.
           </t>

           <t>
           Developer's Management System (DMS): An entity that provides an image of
           of a virtualized NSF for a security service to the I2NSF framework, and
           registers the capability and access information of an NSF with Security
           Controller.
           </t>

           <t>
           Network Security Function (NSF): An entity that is a Virtual Network
           Function (VNF) for a specific network security service such as firewall,
           web filter, deep packet inspection, DDoS-attack mitigation, and anti-virus.
           </t>

           <t>
           I2NSF Analyzer: An entity that collects monitoring data from NSFs and
           analyzes such data for checking the activity and performance of the NSFs
           using machine learning techniques (e.g., Deep Learning <xref target="Deep-Learning" />).
           If there is a suspicious attack activity for the target network or NSF,
           I2NSF Analyzer delivers a report of the augmentation or generation of
           security rules to Security Controller.
           </t>
       </list>
   </t>

   <t>
     For SMA-based security services with Feedback-Based Security Management (FSM),
     I2NSF Analyzer as a new I2NSF component is required for the legacy I2NSF
     framework <xref target="RFC8329" /> to collect monitoring data of NSFs and
     analyzing them. The actual implementation of monitoring data analysis is
     out of the scope of this document.
   </t>

   </section>

   <section anchor="section:SMA-Based-I2NSF-Interfaces" title="Interfaces with SMA-Based I2NSF Framework">
   <t>
     The following are the interfaces for the SMA-based I2NSF framework. Note that
     the interfaces are modeled with YANG <xref target="RFC6020" /> and security
     policies are delivered through either RESTCONF <xref target="RFC8040" /> or
     NETCONF <xref target="RFC6241" />.
   </t>

   <t>
     <list style="symbols">
          <t>
           Consumer-Facing Interface: An interface between I2NSF User and Security
           Controller for the delivery of a high-level security policy
           <xref target="I-D.ietf-i2nsf-consumer-facing-interface-dm" />.
          </t>

          <t>
           NSF-Facing Interface: An interface between Security Controller and an NSF
           for the delivery of a low-level security policy
           <xref target="I-D.ietf-i2nsf-nsf-facing-interface-dm" />.
          </t>

          <t>
           Registration Interface: An interface between a DMS and Security Controller
           for the registration of an NSF's capability and access information with the
           Security Controller or the query of an NSF for a required low-level security
           policy <xref target="I-D.ietf-i2nsf-registration-interface-dm" />.
          </t>

          <t>
           Monitoring Interface: An interface between an NSF and I2NSF Analyzer for
           collecting monitoring data from an NSF to check the activity and performance
           of an NSF for a possible malicious traffic <xref target="I-D.ietf-i2nsf-nsf-monitoring-data-model" />.
          </t>

          <t>
           Application Interface: An interface between I2NSF Analyzer and Security
           Controller for the delivery of a report of the augmentation or generation of
           security rules to Security Controller, which lets Security Controller apply
           the report for security rules to its security policy management.
          </t>
     </list>
   </t>

   <t>
     For SMA-based security services with FSM, Application Interface as a new
     I2NSF interface is required for the legacy I2NSF framework <xref target="RFC8329" />
     to deliver a report of the augmentation or generation of security rules to Security
     Controller on the basis of the analyzed monitoring data of NSFs.
   </t>

   </section>

</section>

<section anchor="section:Inter-Interface-Automatic-Policy-Mapping" title="Inter-Interface Automatic Policy Mapping">
    <t>
    To facilitate Security Policy Translation (SPT), Security Controller needs to
    have a security policy translator that performs the translation of a high-level
    security policy into the corresponding low-level security policy.
    For the automatic SPT services, the I2NSF framework needs to bridge a high-level
    YANG data model and a low-level YANG data model in an automatic manner
    <xref target="I-D.ietf-i2nsf-applicability" /><xref target="I-D.yang-i2nsf-security-policy-translation" />.
    Note that a high-level YANG data model is for the I2NSF Consumer-Facing Interface
    <xref target="I-D.ietf-i2nsf-consumer-facing-interface-dm" />,
    and a low-level YANG data model is for the I2NSF NSF-Facing Interface
    <xref target="I-D.ietf-i2nsf-nsf-facing-interface-dm" />.
    </t>

  <t>
    <xref target="figure:Automatic-Data-Model-Mapping" /> shows automatic
    mapping of high-level and low-level data models. Automatic Data Model Mapper
    takes a high-level YANG data module for the Consumer-Facing Inteface and
    a low-level YANG data module for the NSF-Facing Interface. It then
    constructs a mapping table associating the data attributes (or variables) of
    the high-level YANG data module with the corresponding data attributes (or
    variables) of the low-level YANG data module. Also, it generates a set of
    production rules of the grammar for the construction of an XML file of
    low-level security policy rules.
  </t>

  <t>
    <xref target="figure:High-to-Low-Security-Policy-Translation" /> shows
    high-to-low security policy translation. A security policy translator
    is a component of Security Controller. The translator consists of
    three components such as Policy Data Extractor, Policy Attribute Mapper,
    and Policy Constructor.

    <figure anchor="figure:Automatic-Data-Model-Mapping" title="Automatic Mapping of High-level and Low-level Data Models">
            <artwork><![CDATA[

       High-level YANG Data Module   Low-level YANG Data Model
                   |                              |
                   V                              V
         +---------+------------------------------+---------+
         |           Automatic Data Model Mapper            |
         +------------------------+-------------------------+
                                  |
                                  V
                       Data Model Mapping Table
            ]]></artwork>
  </figure>

    <figure anchor="figure:High-to-Low-Security-Policy-Translation" title="High-to-Low Security Policy Translation">
            <artwork><![CDATA[
         +--------------------------------------------------+
         |                                                  |
         |                    I2NSF User                    |
         |                                                  |
         +------------------------+-------------------------+
                                  | Consumer-Facing Interface
                                  |
                      High-level Security Policy
         Security                 |
         Controller               V
         +------------------------+-------------------------+
         |  Security Policy       |                         |
         |  Translator            V                         |
         |  +---------------------+----------------------+  |
         |  |                                            |  |
         |  |         +-------------------------+        |  |
         |  |         |  Policy Data Extractor  |        |  |
         |  |         +-------------------------+        |  |
         |  |                                            |  |
         |  |         +-------------------------+        |  |
         |  |         | Policy Attribute Mapper |        |  |
         |  |         +-------------------------+        |  |
         |  |                                            |  |
         |  |         +-------------------------+        |  |
         |  |         |    Policy Constructor   |        |  |
         |  |         +-------------------------+        |  |
         |  |                                            |  |
         |  +---------------------+----------------------+  |
         |                        |                         |
         |                        V                         |
         +------------------------+-------------------------+
                                  |  NSF-Facing Interface
                                  |
                       Low-level Security Policy
                                  |
                                  V
         +------------------------+-------------------------+
         |                                                  |
         |                      NSF(s)                      |
         |                                                  |
         +--------------------------------------------------+
            ]]></artwork>
  </figure>

    </t>

  <t>
    Policy Data Extractor extracts attributes related to a security policy
    from a high-level security policy XML file that is delivered
    from an I2NSF User to a Security Controller
    <xref target="I-D.ietf-i2nsf-consumer-facing-interface-dm" />.
  </t>

  <t>
    Policy Attribute Mapper maps the attributes and their values of a
    high-level security policy to the corresponding attributes and their
    values of a low-level security policy. Note that the values of a high-level
    security policy may involve a human language and must be converted
    to an appropriate value for a low-level security policy (e.g.,
    employees -> 192.0.1.0/24).
  </t>

  <t>
    Policy Constructor constructs a low-level security policy XML file
    that is delivered from the Security Controller to an appropriate NSF
    <xref target="I-D.ietf-i2nsf-nsf-facing-interface-dm" />.
  </t>

</section>

<section anchor="section:Security-Audit-System" title="Security Audit System">
  <t>
    The I2NSF framework is weak to both an inside attack and a supply chain attack
    since it trusts in NSFs provided by Developer's Management System (DMS) and
    assumes that NSFs work for their security services appropriately.
    <xref target="I-D.ietf-i2nsf-applicability" />.
  </t>
  
  <t>
    To detect the malicious activity of either an insider attacker with its DMS
    or a supply chain attacker with its compromised DMS, a security audit system is
    required for the I2NSF framework.
    For this audit service in the I2NSF framework, a decentralized security audit system
    (e.g., blockchain <xref target="Bitcoin"/>) is required.
    This audit system can facilitate the non-repudiation of configuration commands
    and monitoring data generated in the I2NSF framework.
  </t>

  <t>
  A security audit system has four main objectives such as follows: 
   <list style="symbols">
     <t> To check the existence of a security policy, a management system and its
         procedures; </t>
     <t> To identify and understand the existing vulnerabilities and risks of a supply chain attacker; </t>
     <t> To review existing security controls on operational, administrative and managerial issues; </t>
     <t> To provide recommendations and corrective actions for further improvement. </t>
   </list>
  </t>

  <figure anchor="figure:Activity-Auditing-with-Security-Audit-System" title="Activity Auditing with Security Audit System">
          <artwork><![CDATA[
+-----------------------------+                   +----------------+
|         I2NSF User          |                   |Developer's Mgmt| 
|                             +------------+      |     System     |
+--------------+--------------+            |      +--------+-------+
               | Consumer-Facing Interface |               |
               |                           |               |
   High-level Security Policy              |               |
               |                           |               |
               |                           |               |
               V                           |               V
+--------------+--------------+            |     +---------+--------+
|                             |            V     |     Security     |
|     Security Controller     +------------+---->|       Audit      |
|                             |            ^     |      System      |
+--------------+--------------+            |     |(e.g., Blockchain)|
               |  NSF-Facing Interface     |     +---------+--------+
               |                           |               ^
   Low-level Security Policy               |               |
               |                           |               |
               V                           |               |
+--------------+--------------+            |      +--------+-------+
|            NSF(s)           |            |      | I2NSF Analyzer | 
|                             +------------+      |                |
+-----------------------------+                   +----------------+ 
       ]]></artwork>
</figure>

  <t>
    <xref target="figure:Activity-Auditing-with-Security-Audit-System" />
    shows activity auditing with a security audit system in the I2NSF
    framework. All the components in the I2NSF framwork report its
    activities (such as configuration commands and monitoring data)
    to Security Audit System (e.g., Blockchain) as transactions.
    The security audit system can analyze the reported activities from
    the I2NSF components to detect malicious activities such as supply
    chain attack.
  </t>
  
  <t>
    In order to determine a minimum set of controls required to reduce
    the risks from a supply chain attacker, the security audit system
    should analyze the activities of all the components in the I2NSF
    framework periodically, evaluate possible risks, and take an action
    to such risks since vulnerabilities and threats may change in
    different environments over time.
  </t>
</section>

<section anchor="section:Security-Considerations" title="Security Considerations">
  <t>
    The same security considerations for the I2NSF framework
    <xref target="RFC8329" /> are applicable to this document.
  </t>
  <t>
    The development and introduction of I2NSF Analyzer in the I2NSF
    Framework will create new security concerns that have to be 
    anticipated at the design and specification time. The usage of 
    machine learning to analyze the data add a risk of its model
    to be attacked (e.g., adversarial attack) and can result in a bad
    security policy being deployed.
  </t>
</section>

<section anchor="section:IANA-Considerations" title="IANA Considerations">
  <t>
    This document does not require any IANA actions.
  </t>
</section>

</middle>

<back>

<!-- START: Normative References -->
<references title="Normative References">

    <?rfc include="reference.RFC.8192"?>
    <?rfc include="reference.RFC.8329"?>
    <?rfc include="reference.RFC.6020"?>
    <?rfc include="reference.RFC.8040"?>
    <?rfc include="reference.RFC.6241"?>

    <?rfc include='reference.I-D.ietf-i2nsf-consumer-facing-interface-dm'?>
    <?rfc include='reference.I-D.ietf-i2nsf-nsf-facing-interface-dm'?>
    <?rfc include='reference.I-D.ietf-i2nsf-registration-interface-dm'?>
    <?rfc include='reference.I-D.ietf-i2nsf-nsf-monitoring-data-model'?>

</references>
<!-- END: Normative References -->

<!-- START: Informative References -->
<references title="Informative References">

    <?rfc include='reference.I-D.ietf-i2nsf-applicability'?>
    <?rfc include='reference.I-D.irtf-nmrg-ibn-concepts-definitions'?>
    <?rfc include='reference.I-D.yang-i2nsf-security-policy-translation'?>

    <reference anchor="ETSI-NFV">
        <front>
            <title>Network Functions Virtualisation (NFV); Architectural Framework</title>
            <author surname="ETSI GS NFV 002 V1.1.1" />
            <date month="October" year="2013" />
        </front>
        <seriesInfo name="Available:" value="https://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf" />
    </reference>

   <reference anchor="Bitcoin">
        <front>
            <title>Bitcoin: A Peer-to-Peer Electronic Cash System</title>
            <author initials="S." surname="Nakamoto" />
            <date month="May" year="2009" />
        </front>
        <seriesInfo name="URL:" value="https://bitcoin.org/bitcoin.pdf" />
    </reference>

   <reference anchor="Deep-Learning">
        <front>
            <title>Deep Learning</title>
            <author initials="I." surname="Goodfellow" />
            <author initials="Y." surname="Bengio" />
            <author initials="A." surname="Courville" />
            <date month="November" year="2016" />
        </front>
        <seriesInfo name="Publisher:" value="The MIT Press" />
    <seriesInfo name="URL:" value="https://www.deeplearningbook.org/" />
    </reference>

</references>
<!-- END: Informative References -->

<section anchor="section:Acknowledgments" title="Acknowledgments">
    <t>
  This work was supported in part by Institute of Information &amp;
    Communications Technology Planning &amp; Evaluation (IITP) grant
    funded by the Korea Ministry of Science and ICT (MSIT) (2020-0-00395,
    Standard Development of Blockchain based Network Management Automation
    Technology).

    This work was supported by the IITP grant funded by the Korea MSIT
    (R-20160222-002755, Cloud based Security Intelligence Technology
    Development for the Customized Security Service Provisioning).
  </t>
</section>

<section anchor="section:Contributors" title="Contributors">
    <t>
    This document is made by the group effort of I2NSF working group.
    Many people actively contributed to this document, such as Linda Dunbar,
    Yoav Nir, and Qin Wu.
    The authors sincerely appreciate their contributions.
    </t>
    <t> The following are co-authors of this document: </t>
        <t>
        Yunchul Choi
        <vspace blankLines="0"/>
        Electronics and Telecommunications Research Institute
        <vspace blankLines="0"/>
        218 Gajeong-Ro, Yuseong-Gu
        <vspace blankLines="0"/>
        Daejeon, 34129
        <vspace blankLines="0"/>
        Republic of Korea
        <vspace blankLines="1"/>
        EMail: cyc79@etri.re.kr
        <vspace blankLines="1"/>
        </t>

        <t>
        Younghan Kim
        <vspace blankLines="0"/>
        School of Electronic Engineering
        <vspace blankLines="0"/>
        Soongsil University
        <vspace blankLines="0"/>
        369, Sangdo-ro, Dongjak-gu
        <vspace blankLines="0"/>
        Seoul 06978
        <vspace blankLines="0"/>
        Republic of Korea
        <vspace blankLines="1"/>
        EMail: younghak@ssu.ac.kr
        <vspace blankLines="1"/>
        </t>

</section>

<section title="Changes from draft-jeong-i2nsf-security-management-automation-02">
    <t>
    The following changes are made from draft-jeong-i2nsf-security-management-automation-02:
    <list style="symbols">
      <t>
        This version is updated to fix the typos and clarify the text
        explaining Policy Attribute Mapper.
      </t>
      <t>
        Add a new Security Consideration for machine learning usage to
        produce a security policy.
      </t>
    </list>
    </t>
</section>

</back>

<!-- <vspace blankLines="100"/> -->
<!-- page break to put addresses onto one page-->

</rfc>
