Бүх зүйл маш муу эсвэл шинэ төрлийн замын хөдөлгөөнийг саатуулдаг

Гуравдугаар сарын 13-нд RIPE хүчирхийлэлтэй тэмцэх ажлын хэсэгт санал ирсэн байна BGP хулгайлах (hjjack) нь RIPE бодлогыг зөрчсөн гэж үзнэ. Хэрэв саналыг хүлээн авбал замын хөдөлгөөнд саад учруулсан интернет үйлчилгээ үзүүлэгч нь халдагчийг илчлэх тусгай хүсэлт илгээх боломжтой болно. Хяналтын баг хангалттай нотлох баримт цуглуулсан бол BGP-ийн тасалдалтын эх сурвалж болсон LIR-г халдагч гэж үзэж, LIR статусаа хасаж болно. Мөн зарим нэг маргаан байсан үүний эсрэг өөрчлөлтүүд.

Энэ нийтлэлд бид зөвхөн жинхэнэ халдагчаас гадна нөлөөлөлд өртсөн угтваруудын жагсаалтыг бүхэлд нь харуулсан халдлагын жишээг харуулахыг хүсч байна. Түүгээр ч барахгүй ийм халдлага нь цаашид энэ төрлийн замын хөдөлгөөнийг таслан зогсоох сэдэл сэдлийн талаар дахин асуулт тавьж байна.

Сүүлийн хоёр жилийн хугацаанд зөвхөн MOAS (Олон гарал үүслийн автономит систем) гэх мэт зөрчилдөөнүүдийг BGP-ийн хөндлөнгийн оролцоо гэж хэвлэлээр мэдээлж байсан. MOAS нь хоёр өөр автономит систем нь AS_PATH (AS_PATH дахь анхны ASN, цаашид ASN эх гэх) дээрх харгалзах ASN-уудтай зөрчилдөж буй угтваруудыг сурталчлах онцгой тохиолдол юм. Гэсэн хэдий ч бид дор хаяж нэрлэж болно 3 нэмэлт төрөл Замын хөдөлгөөнийг таслан зогсоох, халдагчид шүүлтүүр, мониторинг хийх орчин үеийн хандлагыг алгасах зэрэг янз бүрийн зорилгоор AS_PATH атрибутыг удирдах боломжийг олгодог. Мэдэгдэж буй халдлагын төрөл Пилосова-Капели - ийм хөндлөнгийн сүүлийн төрөл, гэхдээ огт ач холбогдолгүй. Өнгөрсөн долоо хоногт яг ийм төрлийн халдлага ажиглагдсан байх магадлалтай. Ийм үйл явдал нь ойлгомжтой шинж чанартай бөгөөд нэлээд ноцтой үр дагавартай байдаг.

TL;DR хувилбарыг хайж байгаа хүмүүс "Perfect Attack" хадмал гарчиг руу гүйлгэж болно.

Сүлжээний дэвсгэр

(энэ үйл явдалтай холбоотой үйл явцыг илүү сайн ойлгоход тань туслах зорилгоор)

Хэрэв та пакет илгээхийг хүсэж байгаа бөгөөд чиглүүлэлтийн хүснэгтэд очих IP хаягийг агуулсан олон угтвар байгаа бол та хамгийн урт угтварын замыг ашиглана. Хэрэв чиглүүлэлтийн хүснэгтэд ижил угтвартай хэд хэдэн өөр маршрут байгаа бол та хамгийн сайныг нь сонгох болно (хамгийн сайн замыг сонгох механизмын дагуу).

Одоо байгаа шүүж, хянах аргууд нь AS_PATH шинж чанарыг шинжилж, маршрутыг шинжлэх, шийдвэр гаргахыг оролддог. Чиглүүлэгч нь сурталчилгааны явцад энэ шинж чанарыг дурын утга болгон өөрчилж болно. Зүгээр л AS_PATH-ийн эхэнд эзэмшигчийн ASN-г (ASN-ийн гарал үүслийг) нэмэх нь одоогийн гарал үүслийг шалгах механизмыг тойрч гарахад хангалттай. Түүнчлэн, хэрэв халдлагад өртсөн ASN-ээс танд хүрэх зам байгаа бол энэ маршрутын AS_PATH-г задлан бусад сурталчилгаандаа ашиглах боломжтой болно. Таны боловсруулсан зарлалуудын зөвхөн AS_PATH баталгаажуулалтын шалгалтууд эцэст нь тэнцэх болно.

Энд дурдах хэрэгтэй хэд хэдэн хязгаарлалт байсаар байна. Нэгдүгээрт, дээд урсгалын үйлчилгээ үзүүлэгч угтварыг шүүж байгаа тохиолдолд угтвар нь дээд талд тохируулсан үйлчлүүлэгчийн конусанд хамааралгүй бол таны замыг шүүсэн хэвээр байх болно (зөв AS_PATH-тай байсан ч). Хоёрдугаарт, үүсгэсэн маршрутыг буруу чиглэлд сурталчилж, чиглүүлэлтийн бодлогыг зөрчсөн тохиолдолд хүчинтэй AS_PATH хүчингүй болно. Эцэст нь, ROA уртыг зөрчсөн угтвар бүхий аливаа маршрутыг хүчингүйд тооцож болно.

Осол

Хэдэн долоо хоногийн өмнө манай нэг хэрэглэгчээс гомдол ирсэн. Бид түүний гарал үүслийн ASN болон /25 угтвар бүхий маршрутуудыг харсан бол хэрэглэгч түүнийг сурталчлаагүй гэж мэдэгджээ.

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||

2019 оны XNUMX-р сарын эхэн үеийн зарлалуудын жишээ

/25 угтварын замд байгаа NTT нь ялангуяа сэжигтэй болгодог. Хэрэг гарах үед LG NTT энэ чиглэлийн талаар мэдээгүй байжээ. Тиймээ, зарим оператор эдгээр угтварт зориулж бүхэл бүтэн AS_PATH үүсгэдэг! Бусад чиглүүлэгчийг шалгахад нэг ASN: AS263444 гарч ирнэ. Энэхүү бие даасан системтэй бусад маршрутуудыг харсны дараа бид дараах нөхцөл байдалтай тулгарсан.

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||

Энд юу болсныг таахыг хичээ

Хэн нэгэн маршрутаас угтварыг авч, хоёр хэсэгт хувааж, дээрх хоёр угтварт ижил AS_PATH-тай маршрутыг сурталчилсан бололтой.

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||

Хуваах угтвар хосуудын аль нэгний маршрутын жишээ

Хэд хэдэн асуулт нэгэн зэрэг гарч ирдэг. Энэ төрлийн хөндлөнгийн оролцоог практик дээр туршиж үзсэн хүн байна уу? Эдгээр замаар явсан хүн байна уу? Ямар угтварууд нөлөөлсөн бэ?

Эндээс л бидний бүтэлгүйтэл эхэлж, интернетийн эрүүл мэндийн өнөөгийн байдалд сэтгэл дундуур байгаа бас нэг үе шат болж байна.

Амжилтгүй болох зам

Эхний зүйл. Ямар чиглүүлэгч ийм саатуулсан маршрутыг хүлээн зөвшөөрч, өнөөдөр хэний урсгалыг өөрчлөх боломжтойг бид хэрхэн тодорхойлох вэ? Бид /25 угтвараар эхэлье гэж бодсон, учир нь тэд "дэлхий даяар тархах боломжгүй". Таны таамаглаж байгаагаар бид маш буруу байсан. Энэ хэмжигдэхүүн нь хэтэрхий чимээ шуугиантай болсон бөгөөд ийм угтвартай маршрутууд нь Tier-1 операторуудаас ч гарч болно. Жишээлбэл, NTT нь 50 орчим ийм угтвартай бөгөөд үүнийгээ өөрийн үйлчлүүлэгчиддээ түгээдэг. Нөгөөтэйгүүр, оператор ашигладаг бол ийм угтваруудыг шүүж болох тул энэ хэмжүүр муу байна жижиг угтваруудыг шүүх, бүх чиглэлд. Тиймээс ийм ослын улмаас траффик нь өөрчилсөн бүх операторуудыг олоход энэ арга тохиромжгүй.

Бидний бодож байсан өөр нэг сайн санаа бол үзэх явдал юм POV. Ялангуяа харгалзах ROA-ийн maxLength дүрмийг зөрчсөн маршрутын хувьд. Ингэснээр бид өгөгдсөн AS-д харагдах хүчингүй статустай өөр өөр гарал үүслийн ASN-н тоог олох боломжтой. Гэсэн хэдий ч "жижиг" асуудал байна. Энэ тооны дундаж (дундаж ба горим) нь (өөр өөр гарал үүслийн ASN-ийн тоо) 150 орчим бөгөөд жижиг угтваруудыг шүүсэн ч 70-аас дээш хэвээр байна. Энэ байдал нь маш энгийн тайлбартай: зөвхөн "Хүчингүй маршрутыг дахин тохируулах" бодлого бүхий ROA шүүлтүүрийг аль хэдийн ашигладаг цөөн тооны операторууд ROA-ийн зөрчилтэй маршрут бодит ертөнцөд хаана ч гарч ирэх бүрт бүх чиглэлд тархах боломжтой.

Сүүлийн хоёр арга нь бидний үйл явдлыг харсан операторуудыг олох боломжийг бидэнд олгодог (энэ нь нэлээд том байсан) боловч ерөнхийдөө тэдгээр нь хэрэгжих боломжгүй юм. За, гэхдээ бид халдагчийг олж чадах уу? Энэхүү AS_PATH залилангийн ерөнхий онцлог юу вэ? Хэд хэдэн үндсэн таамаглал байдаг:

  • Угтвар нь өмнө нь хаана ч байгаагүй;
  • Гарал үүслийн ASN (сануулагч: AS_PATH дахь эхний ASN) хүчинтэй;
  • AS_PATH дахь сүүлийн ASN нь халдагчийн ASN (хөрш нь хөршийнхөө ASN-г ирж буй бүх зам дээр шалгасан тохиолдолд);
  • Халдлага нь нэг үйлчилгээ үзүүлэгчээс гаралтай.

Хэрэв бүх таамаглал зөв бол бүх буруу чиглүүлэлтүүд нь халдагчийн ASN-ийг (ASN-ээс бусад) харуулах бөгөөд энэ нь "чухал" цэг юм. Жинхэнэ барьцаалагчдын дунд AS263444 байсан ч бусад хүмүүс байсан. Бид ослын маршрутыг авч үзэхээс хассан ч гэсэн. Яагаад? Чухал цэг нь зөв маршрутын хувьд ч чухал хэвээр байж болно. Энэ нь тухайн бүс нутгийн холболт муутай, эсвэл бидний үзэгдэх орчин хязгаарлагдмал байгаатай холбоотой байж болно.

Үүний үр дүнд халдагчийг илрүүлэх арга бий, гэхдээ дээр дурдсан бүх нөхцөл хангагдсан тохиолдолд зөвхөн хөндлөнгийн оролцоо нь хяналтын босгыг давахад хангалттай байх болно. Хэрэв эдгээр хүчин зүйлсийн зарим нь хангагдаагүй бол бид ийм хөндлөнгийн оролцоонд өртсөн угтваруудыг тодорхойлж чадах уу? Зарим операторуудын хувьд - тийм.

Халдагчид илүү тодорхой маршрут үүсгэх үед ийм угтварыг жинхэнэ эзэмшигч нь сурталчилдаггүй. Хэрэв танд түүний бүх угтваруудын динамик жагсаалт байгаа бол харьцуулалт хийж, гажуудсан илүү тодорхой маршрутуудыг олох боломжтой болно. Бид BGP сессийг ашиглан уг угтваруудын жагсаалтыг цуглуулдаг, учир нь бидэнд яг одоо операторт харагдах маршрутын бүрэн жагсаалт төдийгүй дэлхий нийтэд сурталчлахыг хүссэн бүх угтваруудын жагсаалтыг өгсөн болно. Харамсалтай нь сүүлийн хэсгийг зөв бөглөөгүй хэдэн арван Радарын хэрэглэгчид одоо байгаа. Бид удахгүй тэдэнд мэдэгдэж, энэ асуудлыг шийдвэрлэхийг хичээх болно. Бусад бүх хүн яг одоо манай хяналтын системд нэгдэх боломжтой.

Хэрэв бид анхны хэрэг явдал руу буцах юм бол бид халдагч болон түгээлтийн бүсийг хоёуланг нь чухал цэгүүдийг хайж илрүүлсэн. Гайхалтай нь AS263444 нь бүх үйлчлүүлэгчиддээ зохиомол маршрут илгээгээгүй. Хэдийгээр хачин мөч байдаг.

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||

Бидний хаягийн зайг таслах оролдлогын сүүлийн жишээ

Манай угтваруудад зориулж илүү тодорхойгуудыг үүсгэх үед тусгайлан үүсгэсэн AS_PATH ашигласан. Гэсэн хэдий ч, энэ AS_PATH-г манай өмнөх маршрутуудаас авах боломжгүй байсан. Бид AS6762-тэй ч холбоогүй байна. Үйл явдлын бусад маршрутуудыг харахад тэдний зарим нь өмнө нь ашиглаж байсан жинхэнэ AS_PATH-тай байсан бол зарим нь жинхэнэ мэт харагдаж байсан ч тийм биш байсан. AS_PATH-г нэмэлтээр өөрчлөх нь ямар ч практик утгагүй, учир нь траффик ямар ч байсан халдагч руу чиглэгдэх боловч "муу" AS_PATH-тай маршрутуудыг ASPA эсвэл бусад шалгах механизмаар шүүж болно. Энд бид барьцаалагчийн сэдэл сэдлийн талаар бодож байна. Энэ үйл явдлыг төлөвлөсөн халдлага гэдгийг батлах хангалттай мэдээлэл одоогоор бидэнд алга. Гэсэн хэдий ч энэ нь боломжтой юм. Хэдийгээр таамаглалтай боловч бодитой байж болзошгүй нөхцөл байдлыг төсөөлөхийг хичээцгээе.

Төгс довтолгоо

Бидэнд юу байгаа вэ? Та үйлчлүүлэгчиддээ зориулсан маршрутыг дамжуулдаг транзит үйлчилгээ үзүүлэгч гэж бодъё. Хэрэв таны үйлчлүүлэгчид олон (олон гэр) байгаа бол та тэдний замын хөдөлгөөний зөвхөн нэг хэсгийг хүлээн авах болно. Гэхдээ ачаалал их байх тусам таны орлого нэмэгдэнэ. Хэрэв та эдгээр ижил маршрутуудын дэд сүлжээний угтваруудыг ижил AS_PATH-тай сурталчилж эхэлбэл, та тэдгээрийн траффикийн үлдсэн хэсгийг хүлээн авах болно. Үүний үр дүнд үлдсэн мөнгө.

ROA энд туслах уу? Магадгүй тийм, хэрэв та үүнийг бүрэн ашиглахаа болихоор шийдсэн бол хамгийн их урт. Үүнээс гадна, огтлолцсон угтвар бүхий ROA бүртгэлтэй байх нь маш их хүсээгүй юм. Зарим операторуудын хувьд ийм хязгаарлалтыг хүлээн зөвшөөрөх боломжгүй юм.

Бусад чиглүүлэлтийн аюулгүй байдлын механизмуудыг авч үзвэл ASPA нь энэ тохиолдолд тус болохгүй (учир нь энэ нь хүчинтэй маршрутаас AS_PATH ашигладаг). BGPSec нь үрчлэлтийн түвшин бага, зэрэглэлийг бууруулах халдлагад өртөх магадлалтай тул оновчтой сонголт биш хэвээр байна.

Тиймээс бид халдлага үйлдэгчийн хувьд тодорхой ашиг, аюулгүй байдлын дутагдалтай байна. Гайхалтай холимог!

Би яах ёстой вэ?

Хамгийн ойлгомжтой бөгөөд хамгийн хатуу алхам бол одоогийн чиглүүлэлтийн бодлогоо эргэн харах явдал юм. Зар сурталчилгаа хийхийг хүсч буй хаягийн зайгаа хамгийн жижиг хэсгүүдэд (давхдалгүй) хуваа. maxLength параметрийг ашиглахгүйгээр зөвхөн тэдэнд зориулсан ROA-д гарын үсэг зурна уу. Энэ тохиолдолд таны одоогийн POV таныг ийм халдлагаас аварч чадна. Гэсэн хэдий ч, дахин, зарим операторуудын хувьд энэ арга нь илүү тодорхой маршрутыг онцгойлон ашигладаг тул үндэслэлгүй юм. ROA болон маршрутын объектуудын одоогийн төлөвтэй холбоотой бүх асуудлыг бидний ирээдүйн материалуудын нэгэнд тайлбарлах болно.

Үүнээс гадна, та ийм хөндлөнгийн оролцоог хянахыг оролдож болно. Үүнийг хийхийн тулд бидэнд таны угтваруудын талаарх найдвартай мэдээлэл хэрэгтэй байна. Тиймээс, хэрэв та манай цуглуулагчтай BGP сесс байгуулж, интернетэд харагдах байдлын талаар мэдээлэл өгвөл бид бусад тохиолдлын хамрах хүрээг олох боломжтой. Манай хяналтын системд хараахан холбогдоогүй байгаа хүмүүст эхлээд зөвхөн таны угтвар бүхий маршрутын жагсаалт хангалттай байх болно. Хэрэв та бидэнтэй уулзах гэж байгаа бол бүх маршрутаа илгээсэн эсэхийг шалгана уу. Харамсалтай нь, зарим операторууд нэг юмуу хоёр угтварыг мартаж, улмаар бидний хайлтын аргад саад учруулдаг тул үүнийг санах нь зүйтэй. Хэрэв зөв хийгдсэн бол бид таны угтваруудын талаарх найдвартай мэдээлэлтэй байх бөгөөд энэ нь ирээдүйд таны хаягийн зайд энэ (болон бусад) төрлийн замын хөдөлгөөн тасалдуулалтыг автоматаар тодорхойлж, илрүүлэхэд тусална.

Хэрэв та өөрийн замын хөдөлгөөнийг бодит цаг хугацаанд нь таслан зогсоож байгааг мэдсэн бол та өөрөө үүнийг эсэргүүцэхийг оролдож болно. Эхний арга бол эдгээр илүү тодорхой угтвар бүхий маршрутуудыг өөрөө сурталчлах явдал юм. Эдгээр угтварууд руу шинэ халдлага гарсан тохиолдолд давтана.

Хоёрдахь арга бол халдагч болон түүний хувьд чухал цэг болсон хүмүүсийг (сайн маршрутын хувьд) халдагчид руу нэвтрэх замыг таслах замаар шийтгэх явдал юм. Үүнийг хуучин маршрутынхаа AS_PATH-д халдагчийн ASN-г нэмж, BGP-д суурилуулсан давталт илрүүлэх механизмыг ашиглан AS-аас зайлсхийхэд хүргэж болно. өөрийнхөө сайн сайхны төлөө.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх