Гуравдагч талын сувгаар өгөгдөл алдагдахад хүргэдэг Intel процессоруудын эмзэг байдал

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

Эмзэг байдлын мөн чанар нь зааврыг таамаглаж гүйцэтгэсний үр дүнд гарсан EFLAGS процессорын бүртгэлд гарсан өөрчлөлт нь JCC зааврын дараагийн гүйцэтгэлийн хугацаанд нөлөөлдөг (заасан нөхцөл хангагдсан үед үсрэх). Таамаглалын үйлдлүүд дуусаагүй бөгөөд үр дүн нь хасагдсан боловч хаясан EFLAGS өөрчлөлтийг JCC-ийн зааврын гүйцэтгэлийн хугацааг шинжлэх замаар тодорхойлж болно. Үсрэлтийн өмнөх харьцуулалтын үйлдлүүд нь хэрэв харьцуулалт амжилттай болбол хэмжиж, агуулгад тааруулах функц болгон ашиглаж болох бага хэмжээний саатал гарах болно.

Гуравдагч талын сувгаар өгөгдөл алдагдахад хүргэдэг Intel процессоруудын эмзэг байдал

Гуравдагч этгээдийн сувгаар дамжих бусад ижил төстэй халдлагаас ялгаатай нь шинэ арга нь кэштэй болон кэшгүй өгөгдөлд хандах хугацааны өөрчлөлтөд дүн шинжилгээ хийхгүй бөгөөд EFLAGS бүртгэлийг анхны байдалд нь оруулах үе шатыг шаарддаггүй бөгөөд энэ нь халдлагыг илрүүлж хаах. Үзүүлэн болгон судлаачид Meltdown халдлагын хувилбарыг хэрэгжүүлж, түүн доторх шинэ аргыг ашиглан таамаглалын үйл ажиллагааны үр дүнгийн талаар мэдээлэл олж авав. Meltdown халдлагын үед мэдээллийн алдагдлыг зохион байгуулах аргын ажиллагааг Ubuntu 7 болон Linux 6700 цөмтэй орчинд Intel Core i7-7700 болон i22.04-5.15 CPU-тэй системүүд дээр амжилттай харуулсан. Intel i9-10980XE CPU-тэй систем дээр халдлага зөвхөн хэсэгчлэн амжилттай болсон.

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

Meltdown-ийн сонгодог хувилбарт ердийн гүйцэтгэсэн заавруудтай ижил кэшийг таамаглаж гүйцэтгэсэн үйлдлүүдэд ашигладаг тул таамаглалын гүйцэтгэлийн явцад санах ойн хаалттай талбар дахь бие даасан битийн агуулгыг тусгасан кэш дэх тэмдэглэгээг тохируулах боломжтой. кэштэй болон кэшгүй өгөгдөлд хандах хугацааг шинжлэх замаар тэдгээрийн утгыг тодорхойлохын тулд ердийн гүйцэтгэсэн кодонд. Шинэ хувилбар нь EFLAGS регистрийн өөрчлөлтийг алдагдлыг илрүүлэх тэмдэг болгон ашигладаг. Нууц сувгийн үзүүлэн дээр нэг процесс нь EFLAGS регистрийн агуулгыг өөрчлөхийн тулд илгээгдэж буй өгөгдлийг модуляцлуулж, өөр нэг процесс нь эхний процессоор илгээсэн өгөгдлийг дахин үүсгэхийн тулд JCC-ийн зааврыг гүйцэтгэх хугацааны өөрчлөлтийг задлан шинжилсэн.

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

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