Kabeh ala banget utawa jinis intersepsi lalu lintas anyar

13 Maret menyang grup kerja anti-penyalahgunaan RIPE tawaran wis ditampa nganggep pembajakan BGP (hjjack) minangka nglanggar kabijakan RIPE. Yen proposal kasebut ditampa, panyedhiya Internet sing diserang dening intersepsi lalu lintas bakal duwe kesempatan kanggo ngirim panjalukan khusus kanggo mbabarake penyerang. Yen tim review ngumpulake bukti-bukti pendukung sing cukup, LIR sing dadi sumber nyegat BGP bakal dianggep minangka penyusup lan bisa dicopot saka status LIR. Ana uga sawetara argumentasi marang iki owah-owahan.

Ing publikasi iki, kita pengin nuduhake conto serangan sing ora mung panyerang nyata, nanging uga kabeh dhaptar prefiks sing kena pengaruh. Menapa malih, serangan kasebut maneh nuwuhake pitakonan babagan motif kanggo interceptions mangsa saka jinis lalu lintas iki.

Sajrone pirang-pirang taun kepungkur, mung konflik kaya MOAS (Multiple Origin Autonomous System) sing wis dibahas ing pers minangka intersepsi BGP. MOAS minangka kasus khusus ing ngendi rong sistem otonom sing beda ngiklanake prefiks sing bertentangan karo ASN sing cocog ing AS_PATH (ASN pisanan ing AS_PATH, sabanjure diarani minangka ASN asal). Nanging, kita bisa jeneng paling ora 3 jinis tambahan interception lalu lintas, ngidini panyerang ngapusi atribut AS_PATH kanggo macem-macem tujuan, kalebu ngliwati pendekatan modern kanggo nyaring lan ngawasi. Dikenal jinis serangan Pilosova-Kapely - jinis pungkasan saka interception kuwi, nanging ora ing kabeh wigati. Bisa uga iki minangka jinis serangan sing wis katon ing sawetara minggu kepungkur. Acara kasebut nduweni sifat sing bisa dingerteni lan akibat sing cukup serius.

Sing nggoleki versi TL;DR bisa nggulung menyang subtitle "Serangan Sempurna".

Latar mburi jaringan

(kanggo mbantu sampeyan luwih ngerti proses sing ana ing kedadeyan iki)

Yen sampeyan pengin ngirim paket lan sampeyan duwe sawetara ater-ater ing tabel routing sing ngemot alamat IP tujuan, sampeyan bakal nggunakake rute kanggo awalan kanthi dawa paling dawa. Yen ana sawetara rute beda kanggo awalan padha ing tabel nuntun, sampeyan bakal milih sing paling apik (miturut mekanisme pilihan path paling).

Pendekatan nyaring lan ngawasi sing wis ana nyoba nganalisis rute lan nggawe keputusan kanthi nganalisa atribut AS_PATH. Router bisa ngganti atribut iki dadi nilai apa wae sajrone pariwara. Cukup nambahake ASN pemilik ing wiwitan AS_PATH (minangka ASN asal) bisa uga cukup kanggo ngliwati mekanisme mriksa asal saiki. Kajaba iku, yen ana rute saka ASN sing diserang menyang sampeyan, sampeyan bisa ngekstrak lan nggunakake AS_PATH rute iki ing pariwara liyane. Sembarang pamriksa validasi mung AS_PATH kanggo woro-woro sing digawe bakal rampung.

Isih ana sawetara watesan sing kudu dicritakake. Kaping pisanan, yen ana panyaring awalan dening panyedhiya hulu, rute sampeyan isih bisa disaring (sanajan nganggo AS_PATH sing bener) yen ater-ater kasebut ora ana ing kerucut klien sing dikonfigurasi ing hulu. Kapindho, AS_PATH sing bener bisa dadi ora sah yen rute sing digawe diiklanake ing arah sing salah lan, kanthi mangkono, nglanggar kabijakan rute. Pungkasan, rute apa wae kanthi awalan sing nglanggar dawa ROA bisa uga dianggep ora sah.

Kedadeyan

Sawetara minggu kepungkur, kita nampa keluhan saka salah sawijining pangguna. Kita ndeleng rute kanthi awalan ASN lan /25, nalika pangguna ngaku yen dheweke ora ngiklanake.

TABLE_DUMP2|1554076803|B|xxx|265466|78.163.7.0/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.7.128/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.18.0/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.18.128/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.226.0/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.163.226.128/25|265466 262761 263444 22356 3491 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.164.7.0/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||
TABLE_DUMP2|1554076803|B|xxx|265466|78.164.7.128/25|265466 262761 263444 6762 2914 9121|INCOMPLETE|xxx|0|0||NAG||

Contoh pengumuman awal April 2019

NTT ing path kanggo awalan /25 ndadekake utamanΓ© curiga. LG NTT ora ngerti rute iki nalika kedadeyan kasebut. Dadi ya, sawetara operator nggawe AS_PATH kabeh kanggo prefiks kasebut! Mriksa router liyane mbukak siji ASN tartamtu: AS263444. Sawise ndeleng rute liyane kanthi sistem otonom iki, kita nemoni kahanan ing ngisor iki:

TABLE_DUMP2|1554076800|B|xxx|265466|1.6.36.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.6.38.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.23.143.0/25|265466 262761 263444 22356 6762 9498 9730 45528|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.23.143.128/25|265466 262761 263444 22356 6762 9498 9730 45528|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.24.0.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.24.128.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.26.0.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.26.128.0/17|265466 262761 263444 6762 4837|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.64.96.0/20|265466 262761 263444 6762 3491 4760|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.64.112.0/20|265466 262761 263444 6762 3491 4760|IGP|xxx|0|0||NAG||

Coba tebak apa sing salah ing kene

Katon yen ana wong sing njupuk awalan saka rute kasebut, dibagi dadi rong bagean, lan ngiklanake rute kasebut kanthi AS_PATH sing padha kanggo rong ater-ater kasebut.

TABLE_DUMP2|1554076800|B|xxx|263444|1.6.36.0/23|263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|263444|1.6.38.0/23|263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|61775|1.6.36.0/23|61775 262761 263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|61775|1.6.38.0/23|61775 262761 263444 52320 9583|IGP|xxx|0|0|32:12595 52320:21311 65444:20000|NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.6.36.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|265466|1.6.38.0/23|265466 262761 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|28172|1.6.36.0/23|28172 52531 263444 52320 9583|IGP|xxx|0|0||NAG||
TABLE_DUMP2|1554076800|B|xxx|28172|1.6.38.0/23|28172 52531 263444 52320 9583|IGP|xxx|0|0||NAG||

Conto rute kanggo salah siji saka pasangan ater-ater pamisah

Saperangan pitakonan muncul bebarengan. Apa ana wong sing nyoba nyegat jinis iki ing praktik? Apa ana sing njupuk rute kasebut? Ater-ater apa sing kena pengaruh?

Ing kene, senar kegagalan kita diwiwiti lan kuciwane maneh karo kahanan kesehatan Internet saiki.

Path saka Gagal

Pisanan dhisik. Kepiye carane bisa nemtokake router sing nampa rute sing dicegat lan lalu lintas sing bisa dialihake saiki? Kita panginten kita bakal miwiti karo /25 awalan amarga padha "mung ora bisa duwe distribusi global." Minangka sampeyan bisa guess, kita banget salah. Metrik iki dadi rame banget lan rute kanthi prefiks kasebut bisa uga katon saka operator Tier-1. Contone, NTT duwe sekitar 50 prefiks kasebut, sing disebarake menyang klien dhewe. Ing sisih liya, metrik iki ala amarga prefiks kasebut bisa disaring yen operator nggunakake nyaring ater-ater cilik, ing kabeh arah. Mula, cara iki ora cocog kanggo nemokake kabeh operator sing lalu lintas dialihake amarga kedadeyan kasebut.

Ide liyane apik kita panginten kanggo dipikir POV. Utamane kanggo rute sing nglanggar aturan maxLength saka ROA cocog. Kanthi cara iki, kita bisa nemokake nomer ASN asal sing beda-beda kanthi status Ora Sah sing katon ing AS tartamtu. Nanging, ana masalah "cilik". Rata-rata (median lan mode) nomer iki (jumlah ASN asal sing beda-beda) kira-kira 150 lan, sanajan kita nyaring awalan cilik, tetep ing ndhuwur 70. Kahanan iki nduweni panjelasan sing prasaja banget: mung ana sawetara operator sing wis nggunakake ROA- saringan karo "reset rute ora sah" kabijakan ing titik entri, supaya ngendi wae rute karo nglanggar ROA katon ing donya nyata, bisa propagate ing kabeh arah.

Loro pendekatan pungkasan ngidini kita nemokake operator sing ndeleng kedadeyan kita (amarga cukup gedhe), nanging umume ora bisa ditrapake. Oke, nanging kita bisa nemokake penyusup? Apa fitur umum manipulasi AS_PATH iki? Ana sawetara asumsi dhasar:

  • Ater-ater wis ora katon ing ngendi wae sadurunge;
  • Asal ASN (pangeling: pisanan ASN ing AS_PATH) bener;
  • ASN pungkasan ing AS_PATH yaiku ASN penyerang (yen pepadhamu mriksa ASN pepadhamu ing kabeh rute sing mlebu);
  • Serangan kasebut asale saka panyedhiya siji.

Yen kabeh asumsi bener, kabeh rute sing salah bakal nampilake ASN penyerang (kajaba ASN asal) lan, kanthi mangkono, iki minangka titik "kritis". Antarane pembajak sing bener yaiku AS263444, sanajan ana liyane. Malah nalika kita mbuwang rute kedadeyan saka pertimbangan. Kenging punapa? Titik kritis bisa tetep kritis sanajan rute sing bener. Bisa uga amarga konektivitas sing ora apik ing wilayah utawa watesan visibilitas kita dhewe.

AkibatΓ©, ana cara kanggo ndeteksi panyerang, nanging mung yen kabeh kondisi ing ndhuwur wis ketemu lan mung nalika interception cukup gedhe kanggo pass ambang ngawasi. Yen sawetara faktor kasebut ora ditemokake, mula kita bisa ngenali prefiks sing ngalami interception kasebut? Kanggo operator tartamtu - ya.

Nalika panyerang nggawe rute sing luwih spesifik, awalan kasebut ora diiklanake dening pemilik sejatine. Yen sampeyan duwe dhaptar dinamis kabeh ater-ater saka iku, iku bisa kanggo nggawe comparison lan nemokake kleru rute tartamtu. Kita ngumpulake dhaptar ater-ater iki nggunakake sesi BGP, amarga kita diwenehi ora mung dhaptar lengkap rute sing katon ing operator saiki, nanging uga dhaptar kabeh ater-ater sing pengin diiklanake ing jagad iki. Sayange, saiki ana sawetara rolas pangguna Radar sing ora ngrampungake bagean pungkasan kanthi bener. Kita bakal menehi kabar sakcepete lan nyoba ngatasi masalah iki. Kabeh wong liya bisa gabung karo sistem pemantauan kita saiki.

Yen bali menyang kedadeyan asli, penyerang lan wilayah distribusi dideteksi dening kita kanthi nggoleki titik kritis. Sing nggumunake, AS263444 ora ngirim rute palsu menyang kabeh klien. Senajan ana wayahe manca.

BGP4MP|1554905421|A|xxx|263444|178.248.236.0/24|263444 6762 197068|IGP|xxx|0|0|13106:12832 22356:6453 65444:20000|NAG||
BGP4MP|1554905421|A|xxx|263444|178.248.237.0/24|263444 6762 197068|IGP|xxx|0|0|13106:12832 22356:6453 65444:20000|NAG||

Conto anyar saka upaya kanggo nyegat papan alamat kita

Nalika sing luwih spesifik digawe kanggo awalan kita, AS_PATH sing digawe khusus digunakake. Nanging, AS_PATH iki ora bisa dijupuk saka rute sadurunge. Kita malah ora duwe komunikasi karo AS6762. Deleng ing rute liyane ing kedadean, sawetara wong duwe AS_PATH nyata sing sadurunge digunakake, nalika liyane ora, malah yen katon kaya nyata. Ngganti AS_PATH uga ora ana gunane, amarga lalu lintas bakal dialihake menyang panyerang, nanging rute kanthi AS_PATH "ala" bisa disaring dening ASPA utawa mekanisme pemeriksaan liyane. Ing kene kita mikir babagan motivasi pembajak. Saiki kita ora duwe informasi sing cukup kanggo ngonfirmasi yen kedadeyan iki minangka serangan sing direncanakake. Nanging, iku bisa. Coba mbayangno, sanajan isih hipotetis, nanging bisa uga nyata, kahanan.

Serangan Sampurna

Apa sing kita duwe? Contone, sampeyan minangka panyedhiya transit rute siaran kanggo klien sampeyan. Yen klien sampeyan duwe pirang-pirang ngarsane (multihome), sampeyan mung bakal nampa sebagian saka lalu lintas. Nanging luwih akeh lalu lintas, luwih akeh penghasilan sampeyan. Dadi yen sampeyan miwiti ngiklanake awalan subnet saka rute sing padha karo AS_PATH sing padha, sampeyan bakal nampa lalu lintas liyane. AkibatΓ©, sisa dhuwit.

Apa ROA bakal mbantu? Mbok ya, yen sampeyan mutusake kanggo mungkasi nggunakake kanthi lengkap maxLength. Kajaba iku, ora dikarepake duwe cathetan ROA kanthi prefiks intersecting. Kanggo sawetara operator, watesan kasebut ora bisa ditampa.

Ngelingi mekanisme keamanan rute liyane, ASPA ora bakal mbantu ing kasus iki (amarga nggunakake AS_PATH saka rute sing bener). BGPSec isih dudu pilihan sing optimal amarga tingkat adopsi sing sithik lan kemungkinan serangan mudhun.

Dadi, kita duwe keuntungan sing jelas kanggo penyerang lan kekurangan keamanan. Campuran gedhe!

Apa aku kudu?

Langkah sing jelas lan paling drastis yaiku mriksa kabijakan rute saiki. Potong ruang alamat dadi potongan paling cilik (ora tumpang tindih) sing pengin diiklanake. Mlebu ROA mung kanggo wong-wong mau, tanpa nggunakake parameter maxLength. Ing kasus iki, POV sampeyan saiki bisa nylametake sampeyan saka serangan kasebut. Nanging, maneh, kanggo sawetara operator pendekatan iki ora cukup amarga nggunakake eksklusif rute sing luwih spesifik. Kabeh masalah karo kahanan saiki ROA lan obyek rute bakal diterangake ing salah siji saka bahan mangsa.

Kajaba iku, sampeyan bisa nyoba kanggo ngawasi interceptions kuwi. Kanggo nindakake iki, kita butuh informasi sing dipercaya babagan prefiks sampeyan. Dadi, yen sampeyan nggawe sesi BGP karo kolektor kita lan menehi informasi babagan visibilitas Internet sampeyan, kita bisa nemokake ruang lingkup kanggo kedadeyan liyane. Kanggo sing durung nyambung menyang sistem pemantauan kita, mula, dhaptar rute mung kanthi awalan sampeyan bakal cukup. Yen sampeyan duwe sesi karo kita, priksa manawa kabeh rute sampeyan wis dikirim. Sayange, iki worth ngelingi amarga sawetara operator lali awalan utawa loro lan kanthi mangkono ngganggu cara panelusuran kita. Yen rampung kanthi bener, kita bakal duwe data sing bisa dipercaya babagan prefiks sampeyan, sing bakal mbantu kita kanthi otomatis ngenali lan ndeteksi jinis intersepsi lalu lintas iki (lan liyane) kanggo papan alamat sampeyan.

Yen sampeyan ngerti babagan interception lalu lintas sampeyan ing wektu nyata, sampeyan bisa nyoba nglawan dhewe. Pendekatan pisanan yaiku ngiklanake rute kanthi prefiks sing luwih spesifik iki dhewe. Yen ana serangan anyar ing prefiks iki, baleni.

Pendekatan kapindho yaiku ngukum penyerang lan wong-wong sing dadi titik kritis (kanggo rute sing apik) kanthi ngethok akses rute sampeyan menyang penyerang. Iki bisa ditindakake kanthi nambahake ASN panyerang menyang AS_PATH rute lawas sampeyan lan kanthi mangkono meksa supaya ora AS kasebut nggunakake mekanisme deteksi loop sing dibangun ing BGP. kanggo kabecikanmu.

Source: www.habr.com

Add a comment