Octet

What is the difference between a BGP hijack and a route leak? Give an example.

Show the answer

Say this first

A hijack is announcing address space you do not hold: the exact prefix, which splits traffic based on AS path, or a more specific one, which wins everywhere because of longest match. A route leak is announcing real routes beyond their intended scope, typically a customer passing routes from one provider to another (RFC 7908). The classic hijack: in February 2008 Pakistan Telecom announced a more specific part of YouTube's address block to block YouTube inside Pakistan, its upstream propagated it, and YouTube was unreachable for much of the internet for about two hours.

Go deeper

How they differ

HijackLeak
Origin ASWrong, or forgedCorrect
Usual causeMistake or malicePolicy mistake
Main defencesRPKI origin validation, prefix filters built from IRR and ROA dataCustomer prefix filters, maximum-prefix, BGP roles (RFC 9234), ASPA

A well-known leak

In June 2019 a BGP optimizer at a small ISP generated more specific routes meant for internal use. A customer of that ISP leaked them to its other provider, Verizon, which accepted and propagated them. Traffic for Cloudflare and others was pulled through the small networks for a couple of hours.

The valley-free rule behind leaks

Routes from customers may be sent to everyone. Routes from peers and providers may be sent only to customers. A leak breaks that rule, for example provider routes sent to another provider.

If someone hijacks your prefix

  1. Confirm with external views: BGP monitoring alerts, RIPE RIS, looking glasses.
  2. Announce more specifics if the hijack is shorter than /24, so you win by longest match.
  3. Contact the offending network and its upstreams, and your own providers.
  4. Make sure your ROAs exist, so networks that drop Invalid routes ignore the hijack.

Traps

  • Claiming RPKI origin validation solves route leaks. In a leak the origin is correct, so the routes are Valid.
How did you do?Book 4.1 Global InternetBook 8.1 Trust and Threats