Nädal XIV (Andmeturve - BGP kaaperdamine)

Neljateistkümnenda nädala postituse eesmärgiks oli valida üks suurematest IT-turvariskidest ning seda analüüsida, pakkudes välja “Mitnicki valemi” kolme komponendi järgi tegevusi, mida selle maandamiseks ette võtta. Taaskord põnev teema, kus võimalikke teemasid lademetes. Et mitte nädalateksti maha kopeerida, sai valitud veidi konkreetsem teema, milleks on BGP kaaperdamine ehk BGP hijacking. Nagu lugedes selgub, on BGP protokolli näol tegemist ühe fundamentaalse, kuid samas ootamatult hapra osaga internetist, mis on ühteaegu ka üheks kõige olulisemaks ning vähem tuntumaks protokolliks. Soovisin kirjutada ka brauser brauseris (BITB) rünnakust, kuid kahjuks oleks see postituse liiga pikaks venitanud ning poleks seega kuidagi mahtunud ettenähtud piiridesse. Sellest hoolimata soovitan teemaga tutvuda neil, kes kasutavad SSO-d ehk single sign-on-i, mis kujutab endast autentimisviisi Google, Microsofti, Facebooki ning teiste suurte platvormide kasutajakontodega kolmandatee osapoolte teenustes.

BGP kaaperdamine

Kui käesoleva blogi teises postituses tutvustatud DNS on interneti “telefoniraamat” ning aitab domeeninimesid IP aadressideks tõlkida, siis BGP ehk Border Gateway Protocol’i näol on tegemist kaardiga, mis aitab ligi kaheksakümnel tuhandel autonoomsel süsteemil (autonomous system) BGP protokolli abil leida IP aadressideni kõige lühem ning efektiivsem teekond (1). Tegemist on ka kuulsa “kahe salvräti protokolliga” (the two-napkin protocol), mille Kirk Lougheed (Cisco) ning Yakov Rekhter (IBM) sööklas lõunapausi ajal kahele salvrätile jäädvustasid (2) ning mis tänaseni on globaalse interneti üheks alustalaks. Teisalt aga on tegemist ka interneti “nõrga lüliga”. Autonoomne süsteem on sisuliselt üks suur võrk omaenda marsruutimistabeliga, mis koosneb väiksematest alamvõrkudest. Autonoomseteks süsteemideks on enamasti interneti teenusepakkkujate, ülikoolide ning suurkorpooratsioonide võrgud, mis omavahel BGP protokolli abil ühendatuna moodustavadki võrkude võrgu ehk interneti (3). Nagu ka nimi juba natukene reedab, muudab süsteemi ebaturvaliseks just autonoomsus. Nimelt on BGP protokoll ehitatud nõnda, et protokolli abil suhtlevad võrgusõlmed usaldavad teineteist ning teineteise marsruutimistabeleid ning valivad alati kõige lühema ning konkreetsema marsruudi. Seetõttu võib üks autonoomne süsteem kajastada oma marsruutimistabelis kas kogemata või pahatahtlikult valeinfot - näiteks tegelikust lühemaid marsruute ühest IP aadressist teiseni, mis viitavad hoopis pahatahtlikule sisusle või marsruute, mida tegelikkuses ei eksisteeri - mis siis protokolli sisseehitatud usaldusest tulenevalt automaatselt ühest sõlmest teise levivad (4). Vea parandamine on aga sageli manuaalne protsess, kuna vigased marsruudid tuleb tabelist käsitsi eemaldada. BGP kaaperdamine klassifitseerub seega kui protokollipõhine kaugeksploit (5), nädalateksti järgi võib ta sõltuvalt kasutusest liigituda nii kübersõja, suure venna kui ka pettuse alla.

Näiteid võib siin tuua mitmeid. Kui sadu pisemaid marsruutimisvigu tavakasutaja tähele ei pane (6), siis näiteks Facebooki kadumine internetist pea pooleks päevaks tegi nii mõnelegi meeleehärmi - antud juhul kustutas Facebook oma marsruutimistabelist kogemata viited oma DNS serverile, mistõttu Facebook ühes kõigi oma teenustega kogu internetist silmapilkselt haihtus (7). See võib tunduda uskumatuna (mulle kindlasti tundus), aga 2004. aastal suutis üks Türgi interneti-teenuse pakkuja suure osa kogu internetist paariks tunniks “välja lülitada” - nende marsruutimistabel väitis antud teenusepakkuja olevat pea kogu internet, mistõttu juhiti sinna peatselt suur osa kogu maailma võrguliiklusest. See aga koormas teenusepakkuja mõistagi üle ning suur osa veebis eksisteerinud lehti muutus kasutajatele sarnaselt Facebookiga täiesti ligipääsmatuks (8). Kui nüüd natuke sihilikumaid juhtumeid vaadata, siis võiks üheks näiteks tuua 2008. aasta intsidendi, kus Pakistan, üritades blokeerida oma territooriumil ligipääsu video platvormile youtube.com, suutis kaheks tunniks kogu maailmas Youtube’i rivist välja lüüa. Nimelt edastati muudetud marsruutimistabel ekslikult lisaks riigisisestele ruuteritele ka ühele Hong Kongi interneti-teenuse pakkujale, kelle süsteemid siis automaatselt vigase info üle maailma laiali paiskasid (9). Ja marsruutide muutmine ei aita mitte ainult lehti rivist välja lüüa, vaid läbi liikluse ümberjuhtimise on võimalik ka võrguliiklust pealt kuulata - muudetud marsruutide abil võib päring enne sihtkohta jõudmist läbida mitmed keerdkäigud (10). Nii suutis näiteks Hiina 2019. aastal suure osa Euroopa mobiilsest andmesidest mitme tunni vältel läbi enda marsruuterite juhtida (11).

Kuid pahatahtlik tegevus ei pea toimuma riikide või suurkorporatsioonide tasandil. Alles käesoleval aastal suutsid kräkkerid ühe Lõuna-Korea krüptoraha platvormi KLAYSwap kasutajatelt varastada 1.9 miljonit dollarit, kasutades ära kaaperdatud autonoomset süsteemi ning seeläbi vahetades välja ühe KLAYSwapi poolt kasutatava javascripti faili, mida nende leht läbi kolmanda osapoole oma veebilehele laadis (12). Lisaks suutsid 2018. aastal kräkkerid BGP abil välja vahetada Amazoni DNS serveri vasted MyEtherWallet.com-ile, mistõttu said kahe tunni jooksul suur osa päringutest suunatud hoopiski ühe Venemaa teenusepakkuja serveritele, kus paiknes kasutajate jaoks tuvastamatu MyEtherWallet.com-i kloon, mille abil siis kasutajate andmeid ning krüptoraha varastati (13).

Niisiis, BGP kaaperdamine võimaldab suure osa internetist “välja lülitada”, luurata, varastada ja palju muud. Mis selle osas aga ette võtta? “Mitnicki valemi” kolm komponenti olid tehnoloogia, koolitus ja reeglid. Antud juhul tuleb tunnistada, et olulisim on siin tõenäoliselt tehnoloogia, kuna BGP protokolli näol on tegemist olemuslikult väga veaohtliku tehnoloogiaga (15). Kuna internetikasutajate jaoks muutub parimal juhul vaid domeeninime taga peituv IP aadress, on see sisuliselt tuvastamatu. Riigi Infosüsteemide Amet näeb peamise tehnoloogilise lahendusena RPKI rakendamist (16) - see on krüptograafiline meetod, mis toimiks nagu allkiri ning seoks iga autonoomse süsteemi spetsiifiliste aadressidega, mida nad marsruutida tohivad (17). See aitaks välistada olukorrad, kus mõni AS ekslikult - näiteks nagu Türgi näite puhul - kogu liikluse endale suunab. Lisaks aitab ka pidev liikluse monitooring, kuna vigaseid või ümber suunatud marsruute on võimalik tuvastada vaadeldes päringute latentsust (18) - kui päring käib näiteks ühest USA serverist teise USA serverisse, kuid eksib vahepeal ka Hiinasse, siis tuleb see latentsuse näol tõenäoliselt välja. Puhtalt füüsikareeglitest tulenevalt võtavad igasugu kõrvalepõiked aega, mida siis pidev monitooring tuvastada aitab. Olulisel kohal on kindlasti ka koolitus, et inimesed oleksid probleemist teadlikud ning oskaksid liiklust monitoorida, vigaseid tabeleid parandada ning muid abimeetmeid kasutusele võtta. Reeglite poolest on ilmtingimata oluline füüsiline ligipääs autonoomsetele süsteemidele vaid autoriseeritud ning kvalifitseeritud inimeste poolt. See on oluline, kuna sellise võimekusega võrgusõlmesid, mis nõnda liiklust juhtida suudavad, on maailmas suhteliselt vähe - nende kaitse aga andmeturve seisukohalt kriitiline.


Allikad:
  1. https://www.ccexpert.us/radius-server-2/border-gateway-protocol.html
  2. https://computerhistory.org/blog/the-two-napkin-protocol/
  3. https://www.cloudflare.com/en-gb/learning/security/glossary/what-is-bgp/
  4. https://www.cloudflare.com/en-gb/learning/security/glossary/bgp-hijacking/
  5. https://books.google.ee/books?id=aFJqtsfQhSkC&pg=PA30
  6. https://www.weforum.org/agenda/2021/06/internet-connectivity-border-gateway-protocol-scion/
  7. https://blog.cloudflare.com/october-2021-facebook-outage/https://blog.cloudflare.com/october-2021-facebook-outage/
  8. https://web.archive.org/web/20080228131639/
  9. http://www.renesys.com/blog/2005/12/internetwide_nearcatastrophela.shtml
  10. https://books.google.ee/books?id=aFJqtsfQhSkC&pg=PA121
  11. https://tcf.org/content/report/surveillance-without-borders-the-traffic-shaping-loophole-and-why-it-matters/
  12. https://arstechnica.com/information-technology/2019/06/bgp-mishap-sends-european-mobile-traffic-through-china-telecom-for-2-hours/
  13. https://therecord.media/klayswap-crypto-users-lose-funds-after-bgp-hijack/
  14. https://blog.cloudflare.com/bgp-leaks-and-crypto-currencies/https://blog.cloudflare.com/bgp-leaks-and-crypto-currencies/
  15. https://scion-architecture.net/slides/SL-why-a-new-Internet-part2.pdf
  16. https://www.ria.ee/sites/default/files/ria_ohuhinnang_bgp_en.pdf
  17. https://blog.cloudflare.com/rpki/
  18. https://www.kadiska.com/blog-what-is-bgp-hijacking-and-how-to-detect-it/

Kommentaarid

Populaarsed postitused sellest blogist

Rühmatöö arvustus

Nädal XI (Arendus- ning ärimudelid)

Nädal XII (Kasutatavus)