Intel процессорууд дээрх Zombieload халдлагын шинэ хувилбарыг илрүүллээ

Грацын техникийн их сургуулийн судлаачид (Австри) илэрсэн гуравдагч этгээдийн сувгаар халдлагын шинэ аргын талаарх мэдээлэл Zombie Load 2.0 (CVE-2019-11135), энэ нь бусад процессууд, үйлдлийн систем, виртуал машинууд болон хамгаалагдсан анклавуудаас (TEE, Trusted Execution Environment) нууц мэдээллийг задлах боломжийг олгодог. Асуудал нь зөвхөн Intel процессоруудад нөлөөлдөг. Асуудлыг хаах бүрэлдэхүүн хэсгүүд санал болгосон өчигдөр микрокодын шинэчлэлт.

Асуудал нь MDS (Microarchitectural Data Sampling) ангилалд хамаарах бөгөөд орчин үеийн хувилбар юм. олон нийтэд ил болгосон 2.0-р сард ZombieLoad халдлага. ZombieLoad XNUMX нь бусад MDS халдлагуудын нэгэн адил үйл явцад ашигласан өгөгдлийг түр хадгалдаг бичил архитектурын бүтцэд (жишээ нь, Line Fill Buffer болон Store Buffer) өгөгдөлд хажуугийн сувгийн шинжилгээний арга хэрэглэхэд тулгуурладаг. Ачаалах, хадгалах үйлдлийг гүйцэтгэдэг) .

Zombieload халдлагын шинэ хувилбар дээр суурилсан Гүйлгээний санах ойтой ажиллах хэрэгслүүдээр хангадаг TSX (Transactional Synchronization Extensions) өргөтгөлд хэрэгжсэн үйл ажиллагааны асинхрон тасалдал (TAA, TSX Asynchronous Abort) механизмыг ажиллуулах явцад үүссэн гоожсон байдлын талаар, энэ нь гүйцэтгэлийг нэмэгдүүлэх боломжийг олгодог. Шаардлагагүй синхрончлолын үйлдлүүдийг динамикаар арилгах замаар олон урсгалтай програмууд (хүлээн зөвшөөрөх эсвэл цуцлах боломжтой атомын гүйлгээг дэмждэг). Хэрэв тасалдвал гүйлгээний санах ойн бүсэд гүйцэтгэсэн үйлдлүүд буцаагдана.

Гүйлгээг цуцлах нь асинхрон байдлаар явагдах бөгөөд энэ хугацаанд бусад хэлхээнүүд кэш рүү хандах боломжтой бөгөөд үүнийг мөн хасагдсан гүйлгээний санах ойн бүсэд ашигладаг. Асинхрон гүйлгээг цуцлах эхлэлээс бодитоор дуусах хүртэлх хугацаанд процессор нь үйл ажиллагааны таамаглалыг гүйцэтгэх явцад дотоод бичил архитектурын буферээс өгөгдлийг уншиж, таамаглалын үйлдэл рүү шилжүүлэх нөхцөл байдал үүсч болзошгүй юм. Дараа нь зөрчил илрүүлж, таамагласан үйлдлээс татгалзах боловч өгөгдөл нь кэшэд үлдэх бөгөөд хажуугийн сувгийн кэш сэргээх арга техникийг ашиглан сэргээж болно.

Энэхүү халдлага нь TSX гүйлгээг нээх, тэдгээрийн асинхрон тасалдал үүсгэх нөхцөлийг бүрдүүлэхэд чиглэдэг бөгөөд энэ үед ижил CPU цөм дээр гүйцэтгэсэн санах ойг унших үйлдлээс өгөгдлөөр дүүрсэн дотоод буферийн агуулгыг гадагш алдах нөхцөл бүрддэг. Нэвчилт нь одоогийн физик CPU-ийн цөмд (халдагчийн код ажиллаж байгаа) хязгаарлагдмал боловч Hyper-Threading горимд микроархитектурын буферүүд өөр өөр урсгалуудын хооронд хуваалцагддаг тул бусад CPU-ийн хэлхээнд хийгдсэн санах ойн үйлдлүүд алдагдах боломжтой.

Довтолгоо хамаарна найм, ес, арав дахь үеийн Intel Core процессоруудын зарим загварууд, түүнчлэн Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W, хоёр дахь үеийн Intel Xeon Scalable. Дөрөвдүгээр сард танилцуулсан Cascade Lake бичил архитектурт суурилсан шинэ Intel процессорууд нь RIDL болон Fallout халдлагад өртөмтгий биш байсан ч халдлагад өртөмтгий байдаг. Zombieload 2.0-ээс гадна судлаачид цөмөөс хэрэглэгчийн орон зай руу буцах эсвэл хяналтыг шилжүүлэх үед микроархитектурын буферын агуулгыг цэвэрлэх VERW зааврыг ашиглан MDS халдлагаас хамгаалах өмнө санал болгож байсан аргуудыг алгасах боломжийг олж тогтоосон. зочны систем.

Intel-ийн тайланд нэг төрлийн бус ачаалалтай системүүдэд халдлага хийх чадвар хэцүү байдаг, учир нь бичил архитектурын бүтцээс гоожих нь систем дэх бүх үйл ажиллагааг хамардаг бөгөөд халдагч нь олборлосон өгөгдлийн эх сурвалжид нөлөөлж чадахгүй, өөрөөр хэлбэл. нь зөвхөн алдагдсаны үр дүнд бий болсон мэдээллийг хуримтлуулж, тодорхой санах ойн хаягуудтай холбоотой өгөгдлийг зориудаар таслан зогсоох чадваргүйгээр эдгээр өгөгдлүүдийн дунд хэрэгтэй мэдээллийг олж тогтоохыг хичээх боломжтой. Гэсэн хэдий ч судлаачид нийтэлсэн ашиглалтын прототип, Linux болон Windows дээр ажиллаж байгаа бөгөөд үндсэн хэрэглэгчийн нууц үгийн хэшийг тодорхойлох халдлага ашиглах чадварыг харуулсан.
Магадгүй бусад зочны систем, хост орчин, гипервизор болон Intel SGX анклавуудын үйл ажиллагаанд харагдах өгөгдлийг хуримтлуулахын тулд зочны системээс халдлага хийх.

Эмзэг байдлыг хаахын тулд зассан орсон Линуксийн цөмийн кодын санд суулгаж, хувилбаруудад оруулсан болно 5.3.11, 4.19.84, 4.14.154, 4.9.201, 4.4.201. Цөм болон микро кодын шинэчлэлтүүд мөн томоохон түгээлтийн хувьд аль хэдийн гарсан байна (Debian, SUSE/openSUSE, Ubuntu, RHEL, Федора, FreeBSD-ийн). Асуудлыг XNUMX-р сард илрүүлж, засварыг Intel болон үйлдлийн систем хөгжүүлэгчдийн хооронд зохицуулсан.

Zombieload 2.0-ийг хаах хамгийн энгийн арга бол CPU-ийн TSX дэмжлэгийг идэвхгүй болгох явдал юм. Линукс цөмд зориулсан санал болгож буй засвар нь хэд хэдэн хамгаалалтын сонголтыг агуулдаг. Эхний сонголт нь CPU дээр TSX өргөтгөл идэвхжсэн эсэхийг хянахын тулд "tsx=on/off/auto" параметрийг санал болгодог (авто утга нь зөвхөн эмзэг CPU-д TSX-ийг идэвхгүй болгодог). Хоёрдахь хамгаалалтын сонголт нь "tsx_async_abort=off/full/full,nosmt" параметрээр идэвхжсэн бөгөөд контекст шилжих үед микроархитектурын буферийг цэвэрлэхэд суурилдаг (nosmt туг нь SMT/Hyper-Threads-ийг нэмэлт идэвхгүй болгодог). Систем эмзэг байдалд өртөмтгий эсэхийг шалгахын тулд sysfs нь “/sys/devices/system/cpu/vulnerabilities/tsx_async_abort” параметрийг өгдөг.

Мөн шинэчлэх бичил код хасагдсан өөр нэг эмзэг байдал (CVE-2018-12207) Intel процессорууд дээр байгаа бөгөөд энэ нь хамгийн сүүлийн үеийн хориглогдсон байна шинэчлэх Линуксийн цөмүүд. Эмзэг байдал Энэ нь олгодог давуу эрхгүй халдагчид үйлчилгээ үзүүлэхээс татгалзаж, системийг "Машин шалгах алдаа" төлөвт оруулахад хүргэдэг.
Довтолгоонд орно үйлдсэн байж болно зочны системээс.

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

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