Re: RTBH Support Across the Industry
James Bensley via NANOG <[email protected]> Wed, 29 Jul 2026 16:46:49 +0000
| Newsgroups | gmane.org.operators.nanog |
|---|---|
| Message-ID | <eJXI76VjetSNosSvcIGACPyguoeJ7OvJJeiTRlAb5tNbc4usbEjL-jTkikw8Kn2rAMSuCnzGyxLnz238F8qh3H_LkbfgrKpr6mMqQm4m4FA=@bensley.me> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============2029725453903772102== Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------0f1fc44dfc45511fff8f66f5f1bd7dc3b90f8848ef7d87d5fc9c05bffce93312"; charset=utf-8 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------0f1fc44dfc45511fff8f66f5f1bd7dc3b90f8848ef7d87d5fc9c05bffce93312 Content-Type: multipart/mixed;boundary=---------------------e3d4204d8dce10508ee638dab70c0b0b -----------------------e3d4204d8dce10508ee638dab70c0b0b Content-Transfer-Encoding: quoted-printable Content-Type: text/plain;charset=utf-8 On Wednesday, July 29th, 2026 at 11:37, Job Snijders via NANOG <nanog@list= s.nanog.org> wrote: > > On Tue, Jul 28, 2026 at 12:57:42PM -0400, Bryton Herdes via NANOG wrote: > > My number one problem with RTBH today is a lack of route origin > > validation. > = > ... and then you outline a plan to bypass route origin validation??? :-) I was formerly of the opinion that such a knob from vendors was a good ide= a, but I've been thinking it over recently and I've changed my mind. I thi= nk we shouldn't be going down this road. Sorry for the length, but to unde= rstand why we have to go back to the start. I think the important question is: what do we want to protect against? 1. Misconfigurations / misoriginations (the origin AS doesn't match the RO= A) 2. Intentional origin hijacks (attacker fakes the origin AS to match the R= OA) I think this is important for two reasons: A. ROAs validate who *MAY* originate a prefix, they don't validate who *IS= * originating a prefix. ASPAs validate which ASNs *MAY* forward a BGP anno= uncement, they don't validate which ASNs *ARE* forwarding it. Therefore RO= As and ASPAs can only protect against (1). To protect against (2) we need = something which cryptographically validates the AS_PATH attribute (like BG= Psec or SCION or similar), but we don't have anything like that widely ava= ilable today. B. IMO >95% of the routing issues we want to stop are due to misconfigurat= ions/accidents, whereas intentional hijacks only account for a fraction of= the issues. I'm not saying that intentional hijacks don't happen or aren'= t important, I'm saying we don't have the tools to fight them yet, and the= y are the exception. But we do have the tools to fight the common case, so= let's use those tools to fight the common case in the most effective way,= and not try to bend them to also fight the corner case. A key argument for this knob is that a longer maxLength risks intentional = hijacks. Because ROAs can't protect against intentional origin hijacks, we= 're only interested in whether the BGP route origin matches the ROA origin= , if it doesn't match then the maxLength has no bearing here (only when th= e two match). So the conventional wisdom of "a longer maxLength risks hija= cks" is not true, because ROAs don't protect against intentional hijacks, = only against misoriginations, and in this latter case the maxLength actual= ly plays no role. So if we're just protecting against misoriginations, then IMO the prefix o= wner should be the one setting their ROA maxLength to include longer prefi= xes, *iff* they are someone that uses RTBH or a similar service. If we add a knob to ignore maxLength, several bad things happen, which don= 't happen if instead the prefix owner increases their maxLength iff requir= ed: * Every network which implements this knob now ignores my maxLength, even = though I know best for my prefixes. And not just for my prefixes, for *the= entire DFZ*. The prefix length decision has been taken away from the very= people who know best. * This is something which will be implemented opaquely; most networks don'= t publicly document their BGP filtering policy, and most networks don't ha= ve a public looking glass, but now that networks will start accepting pref= ixes more specific than my ROA permits if the RTBH community is attached. = But there is no way to see if this is happening, or know why it's happenin= g, and I *explicitly signalled* in my ROA that this should not be happenin= g. Troubleshooting this will be a nightmare. * I'm a hijacker; I announce a more specific prefix than the ROA's maxLeng= th, with a forged origin to match the ROA, with the RTBH community attache= d; my hijack will be more widely accepted *because of this knob* than if i= t didn't have the RTBH community attached, because without the RTBH commun= ity it would fail the maxLength check. So this knob actually makes sub-pre= fix origin hijacks attacks more damaging. * Even if I announce someone else's prefix and fake the origin, but stick = to the maxLength of their ROA, and the owner is also announcing the same p= refix + length + origin (two competing routes); for most networks this wil= l be absolutely devastating. The presence of a competing route doesn't pro= vide protection against intentional origin hijacks that are ROA valid due = to maxLength. The reason is that apart from the top ~20 most interconnecte= d networks on bgp.tools, the average network is not that well connected an= d thus my equal length intentional hijack will win in many networks (espec= ially if I'm in a different part of the world to the victim, my route will= very likely win in all the networks in my region). Now let's consider increasing the maxLength on ROAs to support RTBH: * "Intentional origin hijacks are now easier"; no, there is no change here= due to the lack of verification of the AS_PATH attribute, also see my poi= nt above about hijacks of an equal length prefix, you don't even need to h= ijack a more specific to completely hijack the traffic for a prefix. * We no longer have to skip ROA validation and fall back to IRR based vali= dation (which helps with deprecating IRR based filters). * We don't make more specific hijacks more effective when they are tagged = as RTBH routes. * As the ROA owner I remain in control of how my prefixes are validated. I think the best way to validate RTBH routes might be maxLength + ASPA + R= FC9234 (i.e., the same way as we plan to validate non-RTBH routes). Cheers, James. (Again, sorry for the length) -----------------------e3d4204d8dce10508ee638dab70c0b0b-- --------0f1fc44dfc45511fff8f66f5f1bd7dc3b90f8848ef7d87d5fc9c05bffce93312 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: ProtonMail wsG5BAEBCgBtBYJqai5sCRCoEx+igX+A+0UUAAAAAAAcACBzYWx0QG5vdGF0 aW9ucy5vcGVucGdwanMub3Jn+4Lh4n/MoMpaVm1ZAes8FKaYtB2HYG35olkf Cd7rUwIWIQQ+k2NZBObfK8Tl7sKoEx+igX+A+wAA3asP/3mLCaWEM2H6pjBL 7OfWZ6z1zxbS5SDmutTQFBiLkaAet7u4klGDI8PFLqyT/lQ2Jxl0tr2SqjWx SQWfa4rF6xdd2UshbfvNhJQDiMQ+4HlE5PeBXhSHImF0T2CWMIkrlHRe6n9H 9jn+xQpuGkIME7R/668gKFCSOwkoYiYg3JS2ntroKlB+OtjeutYrwi+zY0rl WRn/b4+YCOSmdTWeaeOU8eiXzDteRGAgq4Zxgvx6dOLFZRVt0hTawt8mtmxh p45FIFLqv21TH4QXwJEkj0o/x46L+bVbp0sWlyXAfAWr7L+cM8oUzB9UMbuV V4s7YP+GOgE1EKGNkwWs1Pyl1JH8mmTN7bjDaJhodDSNxwFc6yw16CRhqo+/ tZvmVaNsQwOjPczUdqKmndkqpbtRCbqULEgso9KyACCglzBAfnen16jrEeVi FN3P1Hx6d5sRp2OLTA/Nm8YGthP/A7bHVsmmUrBWte8rVPhQt7J+mWaY7Xit DLlULz3YGxMZxZveo/QlGYWaGK3lvPU9ozLY7dTPzzOcSLepngO5FDDsnWYU p9JCGAMSALUna8CpNc31kmA18Hd/vDC8cCUgqx7YNMXbBNjGnX+M45gtrlQz Tw/GuMjYEBW69HLsbFBQV3zU5MUbW60fHDUuad2mjtqSxyh67J0M9VPxdsyH LyfZN1Ku =ExG0 -----END PGP SIGNATURE----- --------0f1fc44dfc45511fff8f66f5f1bd7dc3b90f8848ef7d87d5fc9c05bffce93312-- --===============2029725453903772102== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ NANOG mailing list https://lists.nanog.org/archives/list/[email protected]/message/Q2GYREV3ZGUIRHF7SHXUPRGFAKRP4WQ4/ --===============2029725453903772102==--