Blacksmith - DRAM санах ой болон DDR4 чип дээр шинэ халдлага

ETH Zurich, Vrije Universiteit Amsterdam болон Qualcomm-ийн судлаачдын баг динамик санамсаргүй санах ойн (DRAM) бие даасан битүүдийн агуулгыг өөрчлөх боломжтой RowHammer халдлагын шинэ аргыг нийтлэв. Энэхүү халдлагыг Blacksmith гэж нэрлэсэн бөгөөд CVE-2021-42114 гэж тодорхойлсон. Өмнө нь мэдэгдэж байсан RowHammer ангиллын аргуудаас хамгаалалттай олон DDR4 чипүүд асуудалд өртөмтгий байдаг. Таны системийг эмзэг байдлыг шалгах хэрэгслүүдийг GitHub дээр нийтэлсэн.

RowHammer ангийн халдлагууд нь хөрш зэргэлдээх санах ойн нүднүүдийн өгөгдлийг циклээр унших замаар санах ойн битийн агуулгыг гажуудуулах боломжийг олгодог гэдгийг санаарай. DRAM санах ой нь тус бүр нь конденсатор ба транзистороос бүрдэх хоёр хэмжээст эсийн массив тул ижил санах ойн бүсийг тасралтгүй унших нь хөрш зэргэлдээх эсүүдэд бага хэмжээний цэнэгийн алдагдал үүсгэдэг хүчдэлийн хэлбэлзэл, гажиг үүсгэдэг. Хэрэв унших эрч хүч өндөр байвал хөрш зэргэлдээх эс хангалттай их хэмжээний цэнэг алдаж магадгүй бөгөөд дараагийн нөхөн сэргээх мөчлөг нь анхны төлөвөө сэргээх цаг хугацаа байхгүй бөгөөд энэ нь нүдэнд хадгалагдсан өгөгдлийн үнэ цэнийг өөрчлөхөд хүргэдэг. .

RowHammer-аас хамгаалахын тулд чип үйлдвэрлэгчид зэргэлдээ эгнээн дэх нүднүүдийг гэмтэхээс хамгаалдаг TRR (Target Row Refresh) механизмыг санал болгосон боловч хамгаалалт нь "харанхуйгаар хамгаалах" зарчим дээр суурилж байсан тул энэ нь асуудлыг шийдэж чадаагүй юм. үндэс, гэхдээ зөвхөн мэдэгдэж буй онцгой тохиолдлуудаас хамгаалагдсан бөгөөд энэ нь хамгаалалтыг тойрч гарах арга замыг олоход хялбар болгосон. Жишээлбэл, XNUMX-р сард Google халдлага нь зорилтот газартай шууд залгаагүй эсүүдэд нөлөөлсөн тул TRR хамгаалалтанд өртөөгүй Half-Double аргыг санал болгосон.

Blacksmith-ийн шинэ арга нь цэнэгийн алдагдал үүсгэхийн тулд өөр өөр давтамжтай хоёр ба түүнээс дээш түрэмгийлэгч хэлхээнд жигд бус хандалт хийх үндсэн дээр TRR хамгаалалтыг тойрч гарах өөр аргыг санал болгодог. Цэнэг алдагдахад хүргэдэг санах ойн хандалтын загварыг тодорхойлохын тулд тодорхой чипийн халдлагын параметрүүдийг автоматаар сонгож, үүрэнд нэвтрэх дараалал, эрч хүч, системчилсэн байдлыг өөрчилдөг тусгай fuzzer боловсруулсан.

Ижил эсүүдэд нөлөөлөхтэй холбоогүй ийм арга нь одоогийн TRR хамгаалах аргуудыг үр дүнгүй болгодог бөгөөд энэ нь нэг хэлбэрээр эсвэл өөр хэлбэрээр эсүүд рүү дахин давтагдсан дуудлагын тоог тоолоход хүргэдэг бөгөөд тодорхой утгад хүрсэн үед дахин цэнэглэлт эхэлдэг. хөрш зэргэлдээ эсүүд. Blacksmith-д хандалтын загвар нь зорилтот хэсгийн өөр өөр талаас хэд хэдэн нүдэнд нэгэн зэрэг тархдаг бөгөөд энэ нь босго утгад хүрэхгүйгээр цэнэгийн алдагдалд хүрэх боломжийг олгодог.

Энэ арга нь TRR-ийг тойрч гарах өмнө санал болгож байсан аргуудаас хамаагүй илүү үр дүнтэй болсон - судлаачид саяхан худалдаж авсан Samsung, Micron, SK Hynix болон үл мэдэгдэх үйлдвэрлэгч (үйлдвэрлэгч нь 40 чип дээр тодорхойлогдоогүй). Харьцуулбал, өмнө нь ижил судлаачдын санал болгосон TRRespass арга нь тухайн үед туршиж үзсэн 4 чипээс ердөө 4-т нь л үр дүнтэй байсан.

Ерөнхийдөө Blacksmith арга нь зах зээл дээрх бүх DRAM чипүүдийн 94% -д хамаарах төлөвтэй байгаа ч судлаачид зарим чип нь бусадтай харьцуулахад илүү эмзэг бөгөөд халдлагад амархан өртдөг гэж судлаачид үзэж байна. Чипүүдэд алдаа засах код (ECC) ашиглах, санах ойн шинэчлэлтийн хурдыг хоёр дахин нэмэгдүүлэх нь бүрэн хамгаалалт өгөхгүй боловч үйл ажиллагааг улам хүндрүүлдэг. Асуудлыг аль хэдийн гаргасан чипүүдэд хаах боломжгүй бөгөөд техник хангамжийн түвшинд шинэ хамгаалалт хэрэгжүүлэх шаардлагатай байгаа тул халдлага олон жилийн турш хамааралтай хэвээр байх болно.

Практик жишээнүүдэд Blacksmith-ийг ашиглан санах ойн хуудасны хүснэгтийн оруулгуудын агуулгыг өөрчлөх (PTE, хуудасны хүснэгтийн оруулга) цөмийн давуу эрх олж авах, OpenSSH санах ойд хадгалагдсан RSA-2048 нийтийн түлхүүрийг эвдэх аргууд орно (та нийтийн түлхүүрийг энд оруулж болно). хохирогчийн VM-д холбогдохын тулд халдагчийн хувийн түлхүүрийг тааруулах өөр хэн нэгний виртуал машин) ба root эрх авахын тулд sudo процессын санах ойг өөрчлөх замаар итгэмжлэлийн шалгалтыг давах. Чипээс хамааран нэг зорилтот битийг өөрчлөхөд 3 секундээс хэдэн цаг хүртэл довтлох хугацаа шаардагдана.

Нэмж дурдахад, Google-д зориулсан Antmicro-ийн боловсруулсан RowHammer ангийн халдлагаас санах ойг хамгаалах аргуудыг турших нээлттэй LiteX Row Hammer Tester хүрээг бид нийтэлж байгааг тэмдэглэж болно. Энэхүү хүрээ нь санах ойн хянагчийн нөлөөллийг арилгахын тулд DRAM чип рүү шууд дамжуулагдсан командуудыг бүрэн хянахын тулд FPGA ашиглахад суурилдаг. Python хэл дээрх багаж хэрэгслийг FPGA-тай ажиллахад санал болгож байна. FPGA-д суурилсан гарц нь пакет өгөгдөл дамжуулах модуль (санах ойн хандалтын хэв маягийг тодорхойлдог), Ачаалал гүйцэтгэгч, LiteDRAM-д суурилсан хянагч (мөрийг идэвхжүүлэх, санах ойг шинэчлэх зэрэг DRAM-д шаардлагатай бүх логикийг боловсруулдаг) болон VexRiscv CPU-г агуулдаг. Төслийн бүтээн байгуулалтыг Apache 2.0 лицензийн дагуу түгээдэг. Lattice ECP5, Xilinx Series 6, 7, UltraScale болон UltraScale+ зэрэг төрөл бүрийн FPGA платформуудыг дэмждэг.

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

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