AMD процессоруудын кэшийн сувгийг урьдчилан таамаглах механизмд хоёр халдлага

Өмнө нь халдлагын аргыг боловсруулдгаараа алдартай Грацын Техникийн Их Сургуулийн хэсэг судлаачид (Австри) MDS, NetSpectre, Шидэх алх и ZombieLoad, AMD процессоруудад зориулагдсан техник хангамжийн оновчлолын талаар судалгаа хийсэн ба боловсруулсан AMD процессоруудын LXNUMX кэшийн сувгийг урьдчилан таамаглах механизмыг ажиллуулах явцад өгөгдлийн алдагдлыг зохицуулдаг хажуугийн сувгийн халдлагын хоёр шинэ арга. Эдгээр аргуудыг ASLR хамгаалалтын үр нөлөөг бууруулах, эмзэг AES хэрэгжүүлэлтийн түлхүүрүүдийг сэргээх, Spectre халдлагын үр нөлөөг нэмэгдүүлэхэд ашиглаж болно.

CPU-ийн эхний түвшний өгөгдлийн кэш (L1D) дахь сувгийг урьдчилан таамаглах механизмыг (замын таамаглагч) хэрэгжүүлэхэд асуудлууд тодорхойлогдсон бөгөөд энэ нь аль кэш суваг нь тодорхой санах ойн хаяг агуулж байгааг таамаглахад ашигладаг. AMD процессоруудад ашигладаг оновчлол нь μ-tag (μTag) шалгахад суурилдаг. μTag-ийг виртуал хаяг руу тусгай хэш функц ашиглан тооцдог. Ашиглалтын явцад сувгийг таамаглах систем нь хүснэгтээс кэшийн сувгийг тодорхойлохын тулд μTag ашигладаг. Тиймээс μTag нь процессорыг бүх сонголтоор хайхгүйгээр зөвхөн тодорхой сувагт хандах боломжийг олгодог бөгөөд энэ нь CPU-ийн эрчим хүчний зарцуулалтыг эрс багасгадаг.

AMD процессоруудын кэшийн сувгийг урьдчилан таамаглах механизмд хоёр халдлага

2011-2019 онд гарсан AMD процессоруудын янз бүрийн үеийн сувгийг урьдчилан таамаглах системийг урвуу инженерийн аргаар боловсруулах явцад хажуугийн сувгийн халдлагын хоёр шинэ аргыг тодорхойлсон.

  • Collide+Probe - халдагчид ижил логик CPU цөм дээр ажиллаж байгаа процессуудын санах ойн хандалтыг хянах боломжийг олгодог. Аргын мөн чанар нь санах ойн хандалтыг хянахын тулд μTag-ийг тооцоолоход ашигладаг хэш функцэд мөргөлдөөн үүсгэдэг виртуал хаягуудыг ашиглах явдал юм. Intel процессоруудад ашигладаг Flush+Reload болон Prime+Probe халдлагуудаас ялгаатай нь Collide+Probe нь хуваалцсан санах ой ашигладаггүй бөгөөд физик хаягийн талаар мэдлэггүйгээр ажилладаг.
  • Ачаалах+Дахин ачаалах - ижил физик CPU цөм дээрх санах ойн хандалтын ул мөрийг маш нарийн тодорхойлох боломжийг танд олгоно. Энэ арга нь физик санах ойн нүд нь L1D кэшэд зөвхөн нэг удаа байх боломжтой гэсэн баримт дээр суурилдаг. Тэдгээр. Нэг санах ойн нүдэнд өөр виртуал хаягаар хандах нь уг нүдийг L1D кэшээс гаргаж, санах ойн хандалтыг хянах боломжийг олгоно. Хэдийгээр халдлага нь хуваалцсан санах ойд тулгуурладаг ч кэшийн шугамыг устгадаггүй бөгөөд энэ нь сүүлийн түвшний кэшээс өгөгдлийг цэвэрлэхгүй үл үзэгдэх халдлага хийх боломжийг олгодог.

Collide+Probe болон Load+Reload техник дээр үндэслэн судлаачид хажуугийн сувгийн халдлагын хэд хэдэн хувилбарыг харуулсан:

  • Хоёр процессын хооронд далд шууд бус холбооны сувгийг зохион байгуулах аргыг ашиглах боломжийг харуулсан бөгөөд энэ нь секундэд 588 кБ хүртэл хурдтай өгөгдөл дамжуулах боломжийг олгодог.
  • μTag дахь мөргөлдөөнийг ашигласнаар ASLR (Address Space Layout Randomization)-ийн янз бүрийн хувилбаруудын энтропийг бууруулж, бүрэн шинэчлэгдсэн Линукс системийн цөм дэх ASLR хамгаалалтыг тойрч гарах боломжтой болсон. Хэрэглэгчийн програмуудаас болон хамгаалагдсан хязгаарлагдмал орчинд ажилладаг JavaScript код болон өөр зочны орчинд ажиллаж байгаа кодыг ашиглан ASLR энтропийг бууруулах халдлага хийх боломжийг харуулав.

    AMD процессоруудын кэшийн сувгийг урьдчилан таамаглах механизмд хоёр халдлага

  • Collide+Probe арга дээр тулгуурлан эмзэг хэрэгжүүлэлтээс шифрлэлтийн түлхүүрийг сэргээх халдлагыг хэрэгжүүлсэн. T хүснэгт) AES шифрлэлт.
  • Collide+Probe аргыг өгөгдөл цуглуулах суваг болгон ашигласнаар Specter халдлага нь дундын санах ой ашиглахгүйгээр цөмөөс хувийн өгөгдлийг гаргаж авах боломжтой болсон.

Эмзэг байдал нь микроархитектур дээр суурилсан AMD процессоруудад тохиолддог
Бульдозер, Пиледрайвер, Steamroller, Zen (Ryzen, Epic), Zen+ болон Zen2.
Энэ асуудлын талаар AMD-д 23 оны 2019-р сарын XNUMX-нд мэдэгдсэн боловч өнөөг хүртэл тайлангаа гаргаагүй эмзэг байдлыг хаах тухай мэдээлэлтэй. Судлаачдын үзэж байгаагаар салбарыг таамаглах механизмыг идэвхгүй болгоход Intel-ийн хийсэнтэй адил сувгийг урьдчилан таамаглах системийг сонгон идэвхгүй болгохын тулд MSR битүүдээр хангах замаар микрокодын шинэчлэлтийн түвшинд асуудлыг хааж болно.

AMD процессоруудын кэшийн сувгийг урьдчилан таамаглах механизмд хоёр халдлага

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

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