28.5.1 Bezpečnost a odolnost protokolu BGP
BGP patří do třídy vektorových směrovacích protokolů, v nichž každý uzel inzeruje „nejlepší“ trasu pro každý cíl všem svým sousedům. Uzel BGP ukládá všechny cesty odeslané jeho sousedy, ale používá a inzeruje pouze tu, která je „nejlepší“ podle určité dané politiky. Když tato primární cesta selže, BGP ji stáhne a vybere další nejlepší záložní cestu. Nová trasa je pak inzerována sousedům.
Základním důvodem popularity protokolu BGP je jeho velká flexibilita při nastavování a používání tras, takže každý poskytovatel internetových služeb (ISP) může realizovat své požadované zásady, aniž by je musel zveřejňovat. Tato flexibilita a neprůhlednost jsou bohužel také příčinou mnoha problémů s protokolem BGP, včetně nekompatibilních konfigurací u různých poskytovatelů internetových služeb, nedostatečného globálního přehledu o kvalitě nebo stavu tras a nemožnosti zavést koordinovaný přístup k řešení problémů se směrováním . Například i v případě, že jsou všechny cesty vybírány striktně na základě odhadu nákladů, vykazuje protokol BGP často nežádoucí chování, jako jsou dlouhá zpoždění konvergence a oscilace, protože informace o dostupnosti cesty se obvykle spíše odvozují než explicitně šíří. V důsledku toho může protokol BGP nahradit neúspěšnou cestu další nejlepší cestou, aniž by si uvědomil, že jeho místní odhad této cesty je nesprávný . Tato absence informace o platnosti trasy může způsobit, že protokol BGP projde řadu záložních tras, než vybere platnou trasu. Cyklus stahování/reklamování může pokračovat po značnou dobu. Toto zpoždění se nazývá zpoždění konvergence (nebo doba obnovy). Tyto chyby může útočník dokonce zneužít k tomu, aby se protokol BGP choval hůře než jinak.
Problém konvergence byl v literatuře rozsáhle zkoumán . Konkrétně Labovitz a kol. ukázali, že zpoždění konvergence u izolovaných stažení tras může být ve 30 % případů větší než tři minuty a může dosáhnout až 15 minut. Zjistili také, že míra ztráty paketů se může během obnovy zvýšit 30x a zpoždění paketů 4x. Existuje také mnoho pokusů o zlepšení zpoždění konvergence protokolu BGP pomocí různých technik . Reference zkoumá problematiku výkonnosti doručování paketů a navrhuje techniku pro snížení ztráty a zpoždění paketů.
Nyní budeme zkoumat robustnost samotných směrovacích tabulek. Ačkoli je obtížné směrovací tabulky přímo poškodit, legitimní aktualizační zprávy směrovacích tabulek mohou být zneužity k vytvoření nekonzistentních směrovacích tabulek. Případně by mohly být zasílány falešné aktualizační zprávy jednoduše proto, aby se vyčerpaly výpočetní, paměťové nebo jiné zdroje směrovačů. Souvisejícím problémem je narušení nastavení QoS, které může být zneužito k narušení správného zpracování provozu. Potlačení, zdvojení nebo změna zpráv o aktualizaci trasy může způsobit nesprávné doručení a přetížení. Takové útoky byly v literatuře rozsáhle zvažovány a ochrana se provádí pomocí kryptografických prostředků, jako je ověřování aktualizačních zpráv a šifrování obsahu nebo hlaviček paketů. Reference poskytuje ucelený přehled zranitelností protokolu BGP a četných ochranných mechanismů.
Bezpečný protokol BGP (SBGP) používá podepsané aktualizace tras s využitím dvou hierarchií PKI, jedné pro zajištění integrity prefixů IP a druhé pro čísla AS. Hlavním cílem SBGP je zajistit integritu „cesty AS“ zaznamenané v aktualizacích tras a inzerovaných IP prefixů. (Cesta AS je seznam AS, přes které prochází zpráva o inzerci trasy nebo zpráva o stažení trasy BGP, než dosáhne svého cíle). Použití hierarchie PKI je nezbytné k tomu, aby existoval řetězec důvěryhodnosti pro každý prefix IP a cestu AS; potřeba několika operací s veřejným klíčem však činí toto schéma poměrně pomalým. Hu, Perrig a Johnson se zabývají rychlým mechanismem pro zabezpečení aktualizací směrování pro BGP. Autoři zdůvodňují použití symetrické kryptografie, která je mnohem efektivnější než použití PKI. Obhajují použití hashovacích řetězců zahrnujících autentizační kód zprávy (MAC) v každém uzlu na cestě, kterou procházejí aktualizační pakety, aby se zajistilo, že aktualizace nebudou zfalšovány a že uzly budou na cestu přidány nebo z ní odstraněny. Ačkoli takové schéma může zabezpečit aktualizace, stále existují problémy s výměnou klíčů a režijní náklady na kontrolu MAC napříč hašovacími řetězci. Ověřování směrování mezi doménami (Inter-domain Route Validation, IRV) je zcela odlišné ověřování, kdy server IRV v každém AS může volitelně ověřit aktualizaci od původce AS.
Ačkoli kryptografické techniky jsou schopny zabezpečit aktualizace směrování proti neoprávněným změnám, přinášejí další složitost a zvyšují tak pravděpodobnost chybné konfigurace. Problémy protokolu SBGP, který využívá hierarchii PKI, jsou ve skutečnosti podobné problémům DNSSEC popsaným v části 28.3.3.
V ojedinělých případech se může přidružený systém sám stát škodlivým, třeba v důsledku kompromitace protivníkem. Zlomyslný přidružený systém BGP se například může rozhodnout nestáhnout nefunkční trasu nebo nezařadit funkční trasu do sady aktuálních tras. Zlomyslný přidružený systém by také mohl falešně inzerovat, že má nejžádanější (např. nejkratší) cestu k určitému cíli. To způsobí, že veškerý provoz do cíle bude směrován přes tento přidružený systém a ten může provoz buď špehovat, nebo jednoduše část či celý provoz zahodit a způsobit odepření služby. Podobné dopady může mít i změna cesty AS. Dosáhnout robustního směrování navzdory některým škodlivým přidruženým systémům může být velmi obtížné, ale může stačit takové přidružené systémy jednoduše odhalit a dát do karantény.