Some comments on this document inline below..

I am surprised that external systems (e.g., NTP) are not mentioned at all in 
this document?

Also, this document makes no distinction between eBGP and iBGP speakers, yet 
there are certainly places where text and context would suggest it is certainly 
necessary.  Some hints of this below.

I believe this document needs a major overhaul before publication as a WG 
document.  More comments below..

-danny


=====
ABSTRACT

---
1) Regarding "Intended Status: Standards Track", I'd expect any standalone 
Threat Model draft would be should be Informational.

---
2) " Enabling an AS to verify that the AS-PATH represented in a route matches 
the path travelled by the NLRI for the route"

2.1):  s/AS-PATH/AS_PATH/

2.2): I do not believe that even BGPSEC does this.  Instead, in introduces a 
new attribute which BGPSEC secures, and it forces no parity between the new 
attribute and the old attribute.  See 3) below, but absent some clarification 
of this I am not comfortable with this text as written.

=====
INTRODUCTION

---
3) I'm not comfortable with the document as written, per it suggests that the 
term "BGPSEC" == BGP Path Security, yet even the proposals received for BGPSEC 
in the WG only introduce new attributes, they do not secure the BGP AS_PATH 
attribute, nor do they force parity between the globally deployed BGP AS_PATH 
attribute and the new attributes they propose.

---
4) "This model also takes into consideration classes of attacks that are 
enabled by the use of BGPSEC (based on the current BGPSEC design.)" A stable 
reference for "current BGPSEC design" is in order here.

---
5) "i.e., for the links that connect BGP routers."  By "links" here I assume 
you mean "transport connections"?

---
6) Can you explain what this means, I'm not sure how RPKI by itself provides 
this: "secure route origination foundation offered by use of the RPKI."  The 
operative word "secure" appears to be used rather loosely there, particularly 
when talking about BGP.  Perhaps "route origin validation" and a reference to 
RPKI-RTR would be more appropriate - i.e., if it's not effectuated in BGP 
speaking routers through some mechanism it doesn't matter whether it's in the 
RPKI or not.  Conflating the two tends to cause confusion in the operations 
community, methinks.

---
7) This text seems to muddy things, as it talks about the design of BGPSEC 
rather than the Threat Model primitives which informed it's design:

"   The security model adopted for BGPSEC does not assume an "oracle"
   that can see all of the BGP inputs and outputs associated with every
   AS or every BGP router.  Instead, the model is based on a local
   notion of what constitutes legitimate, authorized behavior by the BGP
   routers associated with an AS.  This is an AS-centric model of secure
   operation, consistent with the AS-centric model that BGP employs for
   routing.  This model forms the basis for the discussion that follows."

=====
TERMINOLOGY

---
8) While I appreciate the attempt to restate and/or redefine these terms in 
order to make this a standalone document, references to a large body of 
previous IETF and SIDR WG documents (much of which at least one of the authors 
is intimately familiar with :-) for these terms would seem to be far more 
appropriate.  

---
9) A reference to one of your previous (or new) citations may well be in order 
here:

"False (Route) Origination - If a network operator originates a route
   for a prefix that the network operator does not hold (and that it has
   not been authorized to originate by the prefix holder, this is termed
   false route origination."

Also, you're missing closing ")" there..

---
10)  I'm not sure I agree with this definition, can you explain?  E.g., given 
that motivatiors are complex in a world of hacktivists and nation-state actors 
alike, or pay-for-for financially motivated actors, this all seems a bit 
fuzzing to me.  By it's very definition above, if I've classified an entity as 
malicious ("Adversary - An adversary is an entity (e.g., a person or an 
organization) perceived as malicious, relative to the security policy of a 
system.  The decision to characterize an entity as an adversary is made by 
those responsible for the security of a system.  Often one describes classes of 
adversaries with similar capabilities or motivations, rather than specific 
individuals or organizations.").   Furthermore, if I have an adversary that's 
attempting to procure or develop capabilities to exploit a vulnerability for 
which they do not have current capabilities, that would seem to render it a 
threat to me - unless of course, I have complete visibility to their moti
 vations and capabilities, which is highly improbable. 

" Threat - A threat is a motivated, capable adversary.  An adversary
   that is not motivated to launch an attack is not a threat.  An
   adversary that is motivated but not capable of launching an attack
   also is not a threat."

=====
THREAT CHARACTERIZATION

---
11)  Regarding this text, a reference to the BGPSEC document to which this This 
Threat Model subscribes would seem to be appropriate:

"   If it implements BGPSEC, it will have the ability to issue
   certificates for its routers, and to sign updates in a fashion that
   will be recognized by BGPSEC-enabled neighbors."

---
12) Also, the above seems to be implying that per router certificates would be 
required here:  "certificates for its routers", can you clarify the intent of 
this text?

---
13) "sign updates" seems to be ambiguous, is your intention to suggest that 
updates are signed, or that new BGP attributes would be introduced that would 
be contained with existing BGP Update messaging that could be "recognized" by 
BGPSEC-enabled neighbors?

---
14) Is the phrase "Hackers" even necessary here, or should you not employ 
"Adversary" as defined in previous sections?

---
15) Regarding "It is assumed that hackers generally do not have the capability 
to effect MITM attacks on most links between networks (links used to transmit 
BGP and subscriber traffic)." given the preceding two sentences, they'd 
certainly be able to, no?  

---
16) Also, can you define what "subscriber" means in this context, it seems to 
focus on a particularly type of connection but if I'm reading this correctly, 
the threat is more ubiquitous.

---
17) Regarding "A hacker might be recruited, without his/her knowledge, by 
criminals or by nations, to act on their behalf."  This seems to describe a 
victim or compromised system more than a "hacker", by nearly all conventional 
definitions, no?

---
18) Regarding "Hackers may be motivated by a desire for "bragging rights" or 
for profit." -- again, I think expanding adversary as appropriate, and leaving 
it at that, might be the simplest solution here.

---
19) All of the above about "Hackers' applies to the "Criminals" section as 
well.  Again, refining adversaries terminology and applying would perhaps be in 
order.  

---
20) The "Network Operators" section might be more useful if it makes a 
distinction between benign and malicious activity, although both represent 
threats, the current text seems to imply malice in all cases -- when it may not 
have been intentional at all.

---
21) The "adversary" comments about apply equally to "Nations" as well, 
methinks, if these represent threats to users of the system.

=====
ATTACKS ON A BGP ROUTER

---
22) A stable reference for "route leaks" would be useful in the document, given 
the recurring references :-)

---
23) Regarding: " Stale Path Announcement: An announcement may be propagated 
with an
      origination signature segment that has expired.  This behavior
      violates the BGPSEC spec and is considered a possible replay
      attack."  -- This and other references to "BGPSEC spec" need a stable 
reference.  

---
24) s/if such a time is mandates,/if such a time is mandated,/

---
25) Can you define "Immediate neighbor" here: "Thus only an immediate neighbor 
of a route originator could be expected to detect this type of attack."   Do 
you mean EBGP neighbor?  BGPSEC EBGP neighbor?  Or...  "

---
26) s/in injected/injected/

---
27) Regarding your definition of "Replay Attack", as written unless I'm 
confused because BGP is stateful no new announcement is required at all (simply 
suppress withdrawal, no need to re-announce - no?)?

=====
ATTACKS ON NETWORK OPERATOR MANAGEMENT COMPUTERS

---
28) define "RP Tools"

---
29) Here and in elsewhere first use of acronyms should be expanded (e.g., CRL, 
etc.)

---
30) Section 4.3 and throughout the document seems to conflate RPKI use by 
operators and BGPSEC-enabled routers, while an attempt (intro of S.4) was made 
to define 3 classes of attacks that decouple these elements.  Honoring these 
three classes and cleanly delineating would make the document much clearer.  
For example, this _could happen even if the local network were not 
BGPSEC-enabled, no?:

   "If the network operator is BGPSEC-enabled, and the adversary invoked
   a tool used to request certificates, it could replace valid
   certificates for routers with ones that might be rejected by BGPSEC-
   enabled neighbors."


=====
ATTACKS ON A REPOSITORY PUBLICATION POINT

---
31) s/ inside or an external threat/ insider or an external threat/  ?

---
32) This seems to entirely gloss over the fact that the local systems and 
remote systems will likely in practice handle expired data in very different 
ways, and it seems to suggest that data should not be purged until replaced 
(what if it's replaced with something compromised), and that that information 
should ever be used anyway (using expired data can causes other systems to need 
to purge it in BGPSEC, no?):

"If repository publication points are unavailable or the retrieved data is 
corrupted, an RP can
   revert to using the cached data  This behavior helps insulate RPs from the 
immediate effects of DoS attacks on publication points."

---
33) This seems like bad advice to me and should be removed: "Each RP will 
decide, locally, whether to continue to make use of or ignore cached RPKI 
objects that are stale or expired."  We're suggesting we build and employ this 
whole system and yet the threat model says we should use expired data in a PKI?

---
34) Regarding this text, what if there is no "older object", or if this is 
precisely the behavior the adversary aimed to trigger:

"If an adversary deletes one or more CA certificates, ROAs or the CRL
   for a publication point, the manifest for that publication point will
   allow an RP to detect this attack.  (The RP would be very unhappy if
   there is no CRL for the CA instance anyway.)  An RP can continue to
   use the last valid instance of the deleted object as a local policy
   option), thus minimizing the impact of such an attack.

---
35) Regarding the above, what should an RP do when they detect such an attack?  

---
36) Is this feedback loop a requirement of the system;

"Such behavior should result in the CA (or publication point maintainer) being 
notified of the problem.  An RP can continue to use the last valid instance of 
the deleted "

---
37) How does this happen?:

" This alerts an RP that there may be a problem, and,
   hopefully, the entity responsible for the publication point will be
   asked to remedy the problem (e.g., republish the missing CA
   certificates and/or ROAs).

---
38) Is this an actual recommendation you're making?  This seems like a really 
bad idea to me,

"An RP cannot know the content of the new certificates or ROAs that are not 
present, but it can continue to use what it has cached."

---
39) s/be un aware/be unaware/

---
40) This seems to contradict your previous recommendation where you suggest 
that if stale or expired data exists that an RP should use it:

"INRs associated with these objects will be treated as unauthenticated."

---
41) Hope?

"Here too the hope is that the CA will be notified of the problem (by RPs) and 
will remedy the error."


=====
ATTACKS ON AN RPKI CA

---
42) Section 2 only loosely defines "Adversary", unless I missed something it 
doesn't define various types of adversaries as this text suggests:

"All of adversaries listed in Section 2 are presumed to be capable of launching 
attacks against the computers used to perform CA functions."

As noted previously, collapsing the rather ambiguous terms you introduce in 
section 3 into section 2's "Adversary" set might make sense.

---
43) "(as first noted by Pogo)" -- Reference/


=====
RESIDUAL VULNERABILITIES

---
44) The difference here is that if that information is used to sign updates in 
the routing system which are propagated to BGPSEC-enabled routers then using 
stale data can cause considerable churn or non-deterministic behaviors 
(including forwarding loops_ in the routing system.  Unless I'm missing 
something, this is an incredibly bad idea:

"      1.  The RP may choose to make use of its local cache, employing
          local configuration settings that tolerate expired or stale
          objects.  (Such behavior is, nominally, always within the
          purview of an RP in PKI.)  Using cached, expired or stale data
          subjects the RP to attacks that take advantage of the RP's
          ignorance of changes to this data."

---
45) Here are you suggesting that BGPSEC should (will) protect the BGP AS_PATH, 
or introduce a new attribute?  

"BGPSEC signatures do not protect all attributes associated with an AS_path. "

Either way, some text about divergence between a BGPSEC path and a brand new 
attribute would seem to be in order -- although in a previous section and 
certainly not in a residual threats section.

---
46) s/AS_path/AS_PATH/











_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr

Reply via email to