Plundervolt бол SGX технологид нөлөөлдөг Intel процессоруудад халдлагын шинэ арга юм

Intel гаргасан засдаг микрокодын шинэчлэлт эмзэг байдал (CVE-2019-14607) зөвшөөрөх CPU-ийн динамик хүчдэл ба давтамжийн хяналтын механизмыг удирдах замаар өгөгдлийн эсийн агуулгыг гэмтээж, түүний дотор тусгаарлагдсан Intel SGX анклав дахь тооцоололд ашигладаг хэсгүүдэд гэмтэл учруулах. Энэхүү халдлагыг Plundervolt гэж нэрлэдэг бөгөөд орон нутгийн хэрэглэгчдэд систем дээрх давуу эрхээ нэмэгдүүлэх, үйлчилгээнээс татгалзах, нууц мэдээлэлд хандах боломжийг олгодог.

Энэ халдлага нь зөвхөн SGX анклав дахь тооцоололтой заль мэх хийх тохиолдолд л аюултай, учир нь үүнийг хэрэгжүүлэхийн тулд систем дэх үндсэн эрхийг шаарддаг. Хамгийн энгийн тохиолдолд халдагчид анклавд боловсруулсан мэдээллийг гажуудуулж болох боловч илүү төвөгтэй хувилбаруудад RSA-CRT болон AES-NI алгоритмуудыг ашиглан шифрлэхэд ашигладаг анклавд хадгалагдсан хувийн түлхүүрүүдийг дахин үүсгэх боломжгүй байдаг. хасагдсан. Энэхүү техникийг санах ойтой ажиллах үед эмзэг байдлыг өдөөх эхний зөв алгоритмд алдаа гаргах, жишээлбэл, хуваарилагдсан буферийн хилээс гадуурх хэсэгт хандах хандалтыг зохион байгуулахад ашиглаж болно.
Халдлага хийх прототип код нийтэлсэн GitHub дээр

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

Хүчдэлийг өөрчилснөөр та CPU доторх санах ойн эсийг нөхөн сэргээхэд цэнэг хангалтгүй, үнэ цэнэ нь өөрчлөгдөх нөхцөлийг бүрдүүлж чадна. Довтолгооны гол ялгаа RowHammer RowHammer нь хөрш зэргэлдээх нүднүүдийн өгөгдлийг циклээр унших замаар DRAM санах ой дахь бие даасан битүүдийн агуулгыг өөрчлөх боломжийг олгодог бол Plundervolt нь санах ойноос өгөгдөл аль хэдийн ачаалагдсан үед CPU доторх битүүдийг өөрчлөх боломжийг олгодог. Энэ функц нь санах ойн утгууд нь зөв хэвээр байгаа боловч үр дүнг санах ойд бичихээс өмнө тэдгээртэй ажиллах явцад гажуудаж болзошгүй тул санах ой дахь мэдээллийн SGX-д ашигладаг бүрэн бүтэн байдлыг хянах, шифрлэх механизмыг тойрч гарах боломжийг танд олгоно.

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

Төрөл бүрийн эвдрэлийн үед хуримтлагдсан зөв, эвдэрсэн шифр текстийн хос утгыг шинжилж, алдааны дифференциал шинжилгээний аргыг ашиглан (DFA, Дифференциал алдааны шинжилгээ) чадна урьдчилан таамаглах AES тэгш хэмт шифрлэлтэд ашигладаг боломжит түлхүүрүүдийг, дараа нь өөр өөр багц дахь түлхүүрүүдийн огтлолцолд дүн шинжилгээ хийж, хүссэн түлхүүрээ тодорхойлно.

Intel процессоруудын янз бүрийн загварууд асуудалд өртөж байна, үүнд 6-тай Intel Core CPU-ууд орно
10-р үе, мөн Xeon E3-ийн тав, зургаа дахь үе, Intel Xeon Scalable-ийн нэг ба хоёр дахь үе, Xeon D,
Xeon W ба Xeon E.

SGX технологи (Програм хангамжийн хамгаалалтын өргөтгөлүүд) зургаа дахь үеийн Intel Core процессорууд (Skylake) болон гарч ирэв санал болгодог ring0, SMM, VMM горимд ажиллаж байгаа цөм болон кодоор ч агуулгыг нь уншиж, өөрчлөх боломжгүй анклавууд - хэрэглэгчийн түвшний програмуудад хаалттай санах ойн хэсгүүдийг хуваарилах боломжийг олгодог цуврал заавар. Уламжлалт үсрэлтийн функцууд болон регистр, стек бүхий манипуляцуудыг ашиглан анклав дахь код руу хяналтыг шилжүүлэх боломжгүй; хяналтыг анклав руу шилжүүлэхийн тулд эрх мэдлийн шалгалтыг гүйцэтгэдэг тусгайлан бүтээсэн шинэ зааврыг ашигладаг. Энэ тохиолдолд анклавд байрлуулсан код нь анклав доторх функцүүдэд хандахын тулд дуудлагын сонгодог аргууд болон гадаад функцийг дуудах тусгай зааврыг ашиглаж болно. Enclave санах ойн шифрлэлт нь DRAM модульд холбогдох зэрэг техник хангамжийн халдлагаас хамгаалахад ашиглагддаг.

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

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