28.5.1 Security and Robustness of BGP
BGP behoort tot de klasse van de path vector routing protocols, waarin elk knooppunt de “beste” route voor elke bestemming adverteert aan al zijn buren. Een BGP-knooppunt bewaart alle paden die door zijn buren worden verzonden, maar gebruikt en adverteert alleen het pad dat volgens een bepaald beleid het “beste” is. Wanneer dit primaire pad faalt, trekt BGP dit pad terug en selecteert de volgende beste backup-route. De nieuwe route wordt vervolgens bij de buren geadverteerd.
De fundamentele reden voor de populariteit van BGP is de grote flexibiliteit bij het opzetten en gebruiken van routes, zodat elke Internet Service Provider (ISP) zijn gewenste beleid kan uitvoeren zonder dat dit openbaar hoeft te worden gemaakt. Helaas zijn deze flexibiliteit en ondoorzichtigheid ook de oorzaak van veel problemen met BGP, waaronder incompatibele configuraties door verschillende ISP’s, gebrek aan globaal zicht op de kwaliteit of status van routes, en het onvermogen om een gecoördineerde aanpak te hanteren voor routeringsproblemen . Zelfs indien alle paden strikt op basis van kostenramingen worden gekozen, vertoont BGP bijvoorbeeld vaak ongewenst gedrag zoals lange convergentietijden en oscillaties omdat de padbeschikbaarheidsinformatie typisch wordt afgeleid in plaats van expliciet doorgegeven. Als gevolg daarvan kan BGP een mislukt pad vervangen door het volgende beste pad zonder te beseffen dat zijn lokale beoordeling van dit pad onjuist is. Deze afwezigheid van informatie over de geldigheid van een route kan ertoe leiden dat BGP een aantal backup-routes moet doorlopen alvorens een geldige route te selecteren. Deze cyclus van terugtrekkingen/aanbiedingen kan geruime tijd aanhouden. Deze vertraging staat bekend als de convergentievertraging (of hersteltijd). Deze kwetsbaarheden kunnen zelfs door een aanvaller worden misbruikt om BGP zich slechter te laten gedragen dan anders.
Het convergentieprobleem is in de literatuur uitvoerig onderzocht . Labovitz et al. hebben met name aangetoond dat de convergentievertraging voor geïsoleerde route-intrekkingen in 30% van de gevallen meer dan drie minuten kan bedragen en zelfs 15 minuten kan oplopen. Zij vonden ook dat het pakketverlies met 30x kan toenemen en de pakketvertraging met 4x tijdens het herstel. Er zijn ook veel pogingen om de convergentievertraging van BGP te verbeteren via een verscheidenheid van technieken . Reference onderzoekt het probleem van de packet delivery performance en stelt een techniek voor om packet loss en delay te verminderen.
We onderzoeken nu de robuustheid van de routeringstabellen zelf. Hoewel het moeilijk is om routeringstabellen direct te corrumperen, kunnen legitieme routeringstabel update-berichten worden gekaapt om inconsistente routeringstabellen te maken. Een andere mogelijkheid is dat valse update-berichten worden verzonden om de computer-, geheugen- of andere bronnen bij de routers uit te putten. Een verwant probleem is dat van de verstoring van de QoS-instellingen, waarvan gebruik kan worden gemaakt om een correcte behandeling van het verkeer te verstoren. Een onderdrukking, verdubbeling of wijziging van route-updateberichten kan leiden tot verkeerde levering en congestie. Dergelijke aanvallen zijn in de literatuur uitvoerig aan bod gekomen, en de bescherming gebeurt via cryptografische middelen zoals authenticatie van updateberichten en encryptie van pakketinhoud of headers. Reference geeft een uitgebreid overzicht van BGP kwetsbaarheden en talrijke beschermingsmechanismen.
Secure BGP (SBGP) gebruikt ondertekende route updates door gebruik te maken van twee PKI hiërarchieën, een om de integriteit van IP prefixen te verzekeren en de andere voor AS nummers. Het belangrijkste doel van SBGP is om de integriteit van het “AS-path” vastgelegd in route updates en de geadverteerde IP voorvoegsels te verzekeren. (AS-path is de lijst van ASen waarlangs een BGP route-advertentie of terugtrekkingsbericht reist alvorens zijn bestemming te bereiken). Het gebruik van PKI-hiërarchie is essentieel om een vertrouwensketen te hebben voor elk IP-prefix en AS-path; de noodzaak van meerdere operaties met publieke sleutels maakt de regeling echter vrij traag. Hu, Perrig, en Johnson bespreken een snel mechanisme voor het beveiligen van routing updates voor BGP. De auteurs pleiten voor het gebruik van symmetrische cryptografie, wat veel efficiënter is dan het gebruik van PKI. Zij bepleiten het gebruik van hash-ketens met een berichtauthenticatiecode (MAC) bij elk knooppunt langs het pad dat door update-pakketten wordt gevolgd om te verzekeren dat er niet met de updates wordt geknoeid en dat knooppunten aan het pad worden toegevoegd of ervan worden verwijderd. Hoewel een dergelijke regeling updates kan beveiligen, zijn er nog steeds problemen met sleuteluitwisseling en de overhead van het controleren van MAC’s in hashketens. Inter-domain Route Validation (IRV) is een heel andere authenticatie waarbij een IRV server in elk AS optioneel de update van de originator van het AS kan valideren.
Hoewel cryptografische technieken in staat zijn om routeringsupdates te beveiligen tegen ongeauthoriseerde wijzigingen, brengen ze extra complexiteit met zich mee en verhogen ze dus de kans op misconfiguraties. In feite zijn de problemen van SBGP, dat gebruik maakt van een PKI-hiërarchie, vergelijkbaar met de DNSSEC-problemen die in paragraaf 28.3.3 zijn besproken.
In zeldzame gevallen kan een AS zelf kwaadaardig worden, misschien door compromittering door een tegenstander. Een kwaadwillig BGP AS kan bijvoorbeeld besluiten een niet-werkende route niet terug te trekken of een werkende route niet in de set van huidige routes op te nemen. Een kwaadwillig AS zou ook valselijk kunnen adverteren dat het het meest wenselijke (b.v. kortste) pad heeft naar een bepaalde bestemming. Dit zal ertoe leiden dat alle verkeer naar de bestemming via dit AS wordt geleid en het AS kan ofwel het verkeer afluisteren of het eenvoudigweg geheel of gedeeltelijk weggooien en zo denial of service veroorzaken. De wijziging van AS-path kan ook soortgelijke gevolgen hebben. Het bereiken van robuuste routering ondanks enkele kwaadwillige AS’en kan zeer moeilijk zijn, maar het kan voldoende zijn dergelijke AS’en eenvoudigweg op te sporen en in quarantaine te plaatsen.