SEMESTRÁLNÍ PROJEKT Směrové přepínané sítě
Téma:
Nástroj BGPLAY
OBSAH 1. Protokol BGP 1.1. Popis protokolu BGP 1.2. Slabiny protokolu BGP 2. Nástroj BGPlay 2.1. Přestavení nástroje BGPlay 2.2. Popis činnosti 2.3. Popis ovládacích prvků 3. Praktické využití nástroje BGPlay 3.1. „Pákistánský“ YouTube 3.2. Podrobný popis incidentu 4. Závěr 5. Zdroje
Adam DEŠTĚNSKÝ Květen 2014
1. Protokol BGP 1.1. Popis protokolu BGP Celý velký Internet se skládá z velkého množství sítí jednotlivých poskytovatelů Internetu (ISP). Každé takové síti se říká autonomní systém (AS) a každý AS má své číslo. AS jsou mezi sebou vzájemně propojeny a routery na jejich okrajích informují zbytek sítě o dostupnosti konkrétních IP adres ve své AS. Tyto informace šíří pomocí protokolu BGP (Border Gateway Protocol) na sousední routery, ty pak dále šíří informaci o dostupnosti konkrétních AS a jejích IP adres na další routery. Tímto mechanismem se informace o dostupnosti všech sítí postupně dostane ke všem BGP routerům celého internetu. Časem se stane, že se informace o dostupnosti nějaké AS vrátí zpět k původnímu routeru, který tuto informaci poslal. V tomto případě router vyhodnotí cestu jako smyčku a dále s ní již nijak nepracuje (informaci dále nešíří). Důležitou vlastností je, že pokud mají informaci o podsítích (menších IP rozsazích nebo delších neboli specifičtějších prefixech), berou prioritně v úvahu o směrování právě tyto cesty. Tedy jako příklad, pokud nějaký router chce poslat paket k zařízení s IP číslem 217.31.204.35 a ví, že síť 217.31.204.0/22 je dostupná přes 3 AS a ví, že přes více specifický prefix 217.31.204.0/24 je dostupná přes 5 AS, stejně pošle paket na delší cestu. Bohužel si BGP routery při vyměňování směrovacích informací poměrně hodně důvěřují
Obr. 1: Schéma protokolu BGP [2]
1.2. Slabiny protokolu BGP Protokol BGP má několik slabin. Jedna z nich vyplívá přímo z podstaty fungování Internetu jako decentralizované sítě, která nad sebou nemá žádnou řídící autoritu. Pokud někdo pozmění nastavení BGP routeru, tak aby začal propagovat falešnou IP adresu směrem do Internetu, neprochází tato změna žádným kontrolním mechanismem a je rovnou šířena do celé sítě. To může způsobit velmi rychle nedostupnost libovolné služby pro uživatele Internetu. Pro názornou ukázku může sloužit případ z roku 2008, kdy technici z „Pakistan Telecom“ omylem šířili IP adresu služby YouTube.com a tím znemožnili přístup všem uživatelům na tento video-server. Podrobný popis je uveden v 3. kapitole této práce. Další významnou slabinou je možnost útoku typu „men in the middle“, který využívá právě toho, že si routery vzájemně věří. Podrobnosti jsou uvedeny ve zdroji [1].
2. Nástroj BGPlay 2.1 Představení nástroje BGPlay Původní verze nástroje BGPlay vznikla na Římské univerzitě v rámci projektu RIPE NCC v roce 2010 pod vedením Claudia Squarcelliho. Cílem projektu bylo vyvinout nástroj, který by umožnil vizualizaci a tím i snadnější pochopení činnosti BGP protokolu mezi jednotlivými AS. Program byl napsán v programovacím jazyce Java. Díky obrovskému rozšíření této platformy je zaručená funkcionalita nástroje na velkém množství zařízení. K jednoduchosti nástroje přispívá, že je koncipován jako webový applet, díky čemuž postačí pouze webový prohlížeč s podporou Java a funkční internetové připojení. Pro svou činnost využívá informace z RIS (Routing Information Service) databáze, která je plněna pomocí 13 route colectorů. V roce 2013 byla spuštěna do provozu nová verze nástroje, která přináší nový přepracovaný vzhled a vylepšenou konfiguraci. V současné době je druhá verze přístupná z webových stránek organizace RIPE NCC na adrese: https://stat.ripe.net/widget/bgplay#w.resource=193.0.20.0%2F23
2.2 Popis činnosti Nástroj BGPlay se spustí prostým zadáním IP adresy nebo čísla AS do volné kolonky a kliknutím na žluté kolečko. Program začne vyhledávat záznamy z RIS databáze a vykreslí interaktivní schéma, kde je označena zájmová AS červenou barvou a její vzájemné vazby s okolními AS. Časový úsek vizualizace změn BGP protokolu je defaultně nastaven na poslední 2 dny nazpět. Výsledné schéma si můžeme libovolně přibližovat / oddalovat, jednotlivé AS přesunovat pomocí myši apod. Největší význam má tlačítko „play“, na které když klikneme, tak spustíme animaci, která nám ukazuje, změny BGP protokolu v čase. Změny vidíme přímo ve schématu, kde jsou znázorněny pomocí plných a přerušovaných čar, tak na tzv. „timeline“, která je umístěna ve spodní části okna. Timeline má dvě části. Horní část ukazuje aktivitu BGP protokolu a spodní pak jednotlivé typy událostí. Ty jsou čtyři: • Počáteční stav (Initial state) – šedá barva • Změna cesty (Path change) – oranžová barva • Zrušení cesty (Withdrawal) – červená barva • Oznámení (Announce) – zelená barva Pro podrobnější zobrazení můžeme také nastavit, ze kterých route colectorů se mají informace zobrazit.
2.3
Popis jednotlivých ovládacích prvků
Obr. 2: Ukázka nástroje BGPlay [3]
3. Praktické využití nástroje BGPlay 3.1 „Pákistánský“ YouTube Následující příklad ukazuje sílu nástroje BGPlay při vizualizaci změn v BGP protokolu mezi velkými poskytovateli internetu. Událost ze dne 24. 2. 2008 měla za následek, vlivem špatné konfigurace BGP, přesměrování všech uživatelů internetu, kteří se pokoušeli o přístup na stránky YouTube.com z USA (kde má YouTube své technologické zázemí) do hlavního města Pákistánu – Karačí. Konkrétně jejich požadavky končili v tzv. „Null“, což je místo v síti (obecně jakékoliv zařízení), které příchozí data příjme, ale dále již nijak nezpracovává ani na ně neodpovídá. Z pohledu vnějšího okolí se tak Null chová jako „černá díra“. 3.2 Podrobný popis incidentu Pákistánská vláda se rozhodla ve své zemi zakázat všem uživatelům přístup ke stránkám YouTube.com a proto vydala nařízení, kterým přikazovala všem ISP v Pákistánu zakázat přístup na tyto stránky. Nařízení se také týkalo největšího ISP v zemi: „Pakistan Telecom“. Technici se proto rozhodli přesměrovat veškeré toky z YouTube do Null. Pravděpodobně omylem došlo ale k chybné konfiguraci a Pakistan Telecom začal skrze svého poskytovatele: „PCCW Global“ šířit do internetu prefix IP služby YouTube s maskou /24. Tím došlo k postupnému update routovacích tabulek všech zařízení velkých poskytovatelů, které směrují data pomocí BGP. Uživatelé z celého světa v návaznosti na to končili místo v USA v Pakistánu. Po cca. jedné hodině, kdy byl problém začali registrovat jak velcí ISP, tak samotný YouTube došlo k rekonfiguraci a technici YouTube začali propagovat do internetu specifičtější masku /25. Z hlediska principu činnosti BGP protokolu se tak uživatelé postupně začali připojovat zpět na správné servery s tím, jak docházelo k opětovnému update routovacích tabulek. Celý incident je možné si přehledně zobrazit na v nástroji BGPlay, stejně tak existuje poměrně velké množství videí na internetu, které graficky zobrazují směrovaní datových toků do Pákistánu a pak zpět na YouTube.com.
4. Závěr Tento incident tak ukazuje nejen sílu nástroje BGPlay v možnosti přehledného zobrazení a snadné analýzy incidentu, ale také poměrně velkou slabinu internetu, která vychází z jeho decentralizované podstaty, kdy může teoreticky kdokoliv propagovat libovolnou IP adresu, aniž by toto předem prošlo schválením přes nějakou řídící organizaci. Než je problém zachycen a zahájeno řešení problému, tak můžou uplynout řádově hodiny, kdy je napadená služba nepřístupná.
5. Zdroje [1]
FILIP, Ondřej a Ondřej SURÝ. Protokol BGP pod útokem [online]. [cit. 2014-05-25]. Dostupné z: http://www.lupa.cz/clanky/protokol-bgp-pod-utokem/
[2]
Směrovací protokol BGP [online]. [cit. 2014-05-25]. Dostupné z: http://www.cs.vsb.cz/grygarek/SPS/lect/BGP/BGP.html
[3]
RIPE NCC [online]. [cit. 2014-05-25]. Dostupné z: https://www.ripe.net/
[4]
POSPÍCHAL, Zbyněk. Jak Pákistán unesl YouTube [online]. [cit. 2014-05-25]. Dostupné z: http://www.lupa.cz/clanky/jak-pakistan-unesl-youtube/