Hi Roman,
If you are satisfied with this revision, could you put this Registration
Interface draft into the IESG telechat agenda?

Thanks.

Best Regards,
Paul

On Tue, Nov 8, 2022 at 5:47 PM Mr. Jaehoon Paul Jeong <
jaehoon.p...@gmail.com> wrote:

> Hi Roman,
> Here is the revision of Registration Interface YANG Data Model:
>
> https://datatracker.ietf.org/doc/html/draft-ietf-i2nsf-registration-interface-dm-22
>
> Patrick and I have addressed all your comments.
> I attach the revision letter.
>
> Thanks.
>
> Best Regards,
> Paul
>
> On Thu, Oct 27, 2022 at 4:34 AM Roman Danyliw <r...@cert.org> wrote:
>
>> Hi!
>>
>> I performed an AD review of
>> draft-ietf-i2nsf-registration-interface-dm-21.  More feedback is split into
>> a two section: general comments on the document followed by specific
>> section by section comments.
>>
>> ==[ General Comments
>> I appreciate that this document is intended to specify the registration
>> interface of the I2NSF architecture.  Typically, when the primary intent of
>> a document is to specify a YANG module most operational and architectural
>> considerations can be covered elsewhere.  In my assessment, I2NSF is a
>> special case.  This is a niche YANG module for a specific architecture. To
>> ensure that it can be implemented in a secure and interoperable way,
>> additional details need to be specified beyond what is in RFC8329.
>> Practically, there are no other documents in which to convey this
>> information.  Additionally, what makes this document different than the
>> other four YANG module documents is that it appears to be specifying
>> interactions across administrative domains.  This suggests that even
>> greater care needs to be taken with the Security, Operational, and Privacy
>> Considerations.  To that end, few high-level comments:
>>
>> ** Architectural considerations.
>>
>> -- Who initiates the registration and update process?  Is this Security
>> Controller or DMS initiated, or is it expected to be possible for either to
>> do it?  My confusion originates from Section 3 saying the DMS “uses [the]
>> Registration Interface to provide NSFs developed by the NSF vendor to
>> Security Controller”, but Section 4 saying that “DMS registers NSFs and
>> their capabilities with Security Controller via the registration interface”
>> and Section 4.1 repeats “This submodel is used by DMS to register an NSF
>> with Security Controller.”  Please be consistent and explicit.
>>
>> -- In NETCONF/RESTCONF parlance, who is expected to be the client and
>> server?
>>
>> -- I don’t see it in the YANG module definition, but the text phrases
>> things as if the DMS is serving the NSF to the Security Controller.  For
>> example:
>>
>> (a) Section 3. “Developer's Management System (DMS) in I2NSF framework is
>> typically run by an NSF vendor, and uses Registration Interface to provide
>> NSFs developed by the NSF vendor to Security Controller.”
>>
>> (b) Section 3. “the I2NSF Registration Interface can be used as a
>> standard interface for the DMSs to provide NSFs capability information to
>> the Security Controller.”
>>
>> (c) Section 3. “Security Controller needs to request DMS for additional
>> NSF(s) that can provide the required security capabilities via Registration
>> Interface.”
>>
>> The text in (b) is clear in saying that the registration interface
>> provide NSF capability information to the Security Controller.  (a) and (c)
>> seem to suggest that the NSF itself is being shared through the interface.
>>
>> -- I was under the impression that the DMS was providing “NSF capability
>> information” so I was surprised to see instances of what appeared to be
>> local provisioning information.  For example:
>>
>> (a) Section 4.1.1.1 “The registration interface can control the usages
>> and limitations of the created instance and make the appropriate request
>> according to the status.)”
>>
>> (b) Section 4.1.2.  The “NSF Access Information” (or grouping
>> nsf-access-info per the YANG module) appears to specify the IP address of
>> an NSF
>>
>> (c) YANG.  rpc nsf-capability-query has the DMS returning nsf-access-info
>> which is an IP address of an nsf.
>>
>> Why would the DMS be privy to what appears to be local configuration
>> information.  Does the DMS have a role in provisioning the NSF?  Is there
>> any information about the Security Controller’s configuration stored on the
>> DMS (beyond authorization or authentication information)?
>>
>> ** Operational considerations
>>
>> -- What guides the cadence and workflow associated with the Security
>> Controller getting updates on the NSFs?
>>
>> -- How does the Security Controller discover the DMS?
>>
>> ** Security Considerations
>>
>> -- Thanks for the YANG object level analysis.  Please also provide
>> high-level analysis about the supply-chain risk presented by this
>> architecture which has the Security Controller relying on a DMS.  What
>> would be the impact to I2NSF if the DMS was not available?  If the DMS was
>> compromised?  What does the DMS learn about the Security Controller’s
>> configuration (and by proxy about the security architecture of the domain
>> in which it is fielded) through this interface?
>>
>> -- I recognize the boiler plate YANG security template on language on
>> citing that TLS/SSH and that NETCONF/RESTCONF can restrict access, but this
>> is generic.  Given the described architecture (which entails exchanging
>> information that could affect security configurations across administrative
>> domains) there needs to be more specific guidance on the trust and
>> authentication/authorization models between the Security Controller and DMS.
>>
>> ** What does the YANG module for an “update” operation look like?
>> Registration is covered in Section 5.1.2.1 and Querying is in Section
>> 5.1.2.2.
>>
>> ==[ Section-by-section feedback
>>
>> The following are more detailed section specific feedback.
>>
>> ** Abstract.  Typo. s/for Registration Interface/for the Registration
>> Interface/
>>
>> ** Section 1.  s/security controller/Security Controller/.  Additionally,
>> as noted for the draft-ietf-i2nsf-consumer-facing-interface-dm, since
>> RFC8329 doesn’t mentioned Security Controller and uses Network Management
>> Operator System instead.  Please note their relationship.
>>
>> ** Section 3.
>>
>>    In this case, DMS
>>       uses Registration Interface to update the capability of the NSF,
>>       and this update SHOULD be reflected in the catalog of NSFs.
>>
>> If an update is going to occur, shouldn’t it be mandatory that the
>> catalog is modified?
>>
>> ** Section 3.  Typo. s/from an I2NSF user, Security Controller/from an
>> I2NSF user, the Security Controller/
>>
>> ** Section 4.  The operations summarized in bullets (1) and (2), appear
>> to repeat the objectives 1 and 2 in Section 3?  Is there a reason to do
>> that twice?
>>
>> ** Section 4.1.
>>  The NSF Name contains a unique name of this NSF with the
>>    specified set of capabilities.
>>
>> -- Unique within the scope of all NSF’s published by the DMS?
>> -- I note that draft-ietf-i2nsf-capability-data-model provides no
>> guidance beyond "The name of Network Security Function (NSF)", and on a
>> registration operation is uses that definition.  As an side, on the rpc
>> query response, there is normative language in the YANG module.
>>
>> ** Section 4.1.1.1. Should this “NSF Specification” include other
>> dimensions like memory or disk?  These are exposed alarms in the
>> monitoring-data-model.
>>
>> ** Section 4.1.1.1.
>>
>>    This information represents the processing capability of an NSF.
>>
>> This sentence summarized the “NSF Specification” as “processing
>> capability”.  However the descriptive text notes that this sub-model
>> element covers both “processing” and “bandwidth”.
>>
>> ** Section 4.1.1.1.
>>    Assuming that the current workload status of each NSF is being
>>    collected through NSF monitoring
>>    [I-D.ietf-i2nsf-nsf-monitoring-data-model], this capability
>>    information of the NSF can be used to determine whether the NSF is in
>>    congestion by comparing it with the current workload of the NSF.
>>
>> Is this guidance only intended to cover “bandwidth”?  I ask because I
>> don’t see a way to align the “% CPU load” metrics in the
>> monitoring-data-model with the processing-average and processing-peak
>> fields whose units are GHz.
>>
>> ** Section 4.1.1.1.
>>
>> These two information can be
>>    used for the NSF's instance request.
>>
>> -- What is an instance request?
>> -- Editorial.  "These two information" doesn't parse.
>>
>> ** Section 4.1.2.  NSF Access Information.  See earlier comments on not
>> understanding why this information is in the model.  Setting that aside,
>> and just thinking of this container as what is necessary to connect to an
>> NSF over NETCONF/RESTCONF.
>>
>> -- Isn’t there also the possibility of various credentials being needed
>> to make a connection?  Are they not represented for a reason?
>>
>> -- Why are domain names not supported?
>>
>> ** YANG.  container processing
>>
>> I believe this is intended to express the processing capability of the
>> NSF.
>>
>> -- Could the difference between “processing-average” and
>> “processing-peak” be explained.  Is the latter expressing a concept like
>> “Intel Turbo Boost”?
>>
>> -- Could the kind of decision support this is driving be better
>> explained.  I ask because I’m not sure that GHz is the right unit.
>> Comparing clock speed absent a lot of other factors doesn’t seem
>> meaningful.  Off the top of my head (and I’m not proposing this), something
>> like BogoMips or a benchmark seems more applicable.
>>
>> -- How would some of these figures be relevant in a virtualized
>> environment?
>>
>> ** YANG.  container bandwidth. Outbound/inbound-average and -peak field.
>>
>> “The network bandwidth available to the NSF”
>>
>> -- Is this measuring the capacity of the NICs, throughput to
>> inspect/groom/filter a particular network load or the bandwidth of the
>> links provisioned to the NSF?
>>
>> -- If this is the provisioned bandwidth, please see my comments inquiring
>> about the role of the DMS with provisioning information.
>> -- If this is measuring capacity, then “bandwidth” doesn’t seem like the
>> right metric (maybe throughput)?  What would “peak” throughput mean?
>>
>> ** Section 7.  Please do not specifying normative behavior for the
>> attacker (i.e., “The attacker MAY …”, say “The attacker may”).
>>
>> ** Section 7.
>>
>> nsf-registration: The attacker MAY try to gather some sensitive
>>       information of a registered NSF by sniffing this.
>>
>> Sniffing implies on-path inspection.  Is the intent different here?
>> Shouldn’t the use of TLS or SSH preclude that?  The subtext here is a
>> controlling read-access to the DMS server (I think). Can the threat please
>> be clarified?
>>
>> ** Section 7.  For the “readable node analysis”, the following assessment
>> is used for the nsf-specification and nsf-capability-info:
>>
>> The attacker MAY gather the {specification / capability information}
>>       information of any target NSF and misuse the information for
>>       subsequent attacks.
>>
>> I would expect that knowing that a particular NSF is fielded by a
>> controller is of interest to the attacker as described.  Is this
>> architecture, is the information tied to the specific and capability
>> information generic across all instances of that NSF for that vendor’s
>> deployment base?
>>
>> ** Section 7.
>>
>>    *  nsf-capability-query: The attacker MAY exploit this RPC operation
>>       to deteriorate the availability of the DMS and/or gather the
>>       information of some interested NSFs from the DMS.
>>
>> If the DMS is a vendor, wouldn’t the product capabilities be public in
>> some cases?  Would that be worth clarifying?
>>
>> ** Appendix A.  Step 5.
>>
>>    5.  The NSF can have processing power and bandwidth.
>>
>> Could this please be made more descriptive.
>>
>> Regards,
>> Roman
>> _______________________________________________
>> I2nsf mailing list
>> I2nsf@ietf.org
>> https://www.ietf.org/mailman/listinfo/i2nsf
>>
>
_______________________________________________
I2nsf mailing list
I2nsf@ietf.org
https://www.ietf.org/mailman/listinfo/i2nsf

Reply via email to