LVI нь CPU-ийн таамаглалын гүйцэтгэлийн механизмд халддаг шинэ анги юм

Нийтэлсэн шинэ ангиллын халдлагын талаарх мэдээлэл LVI (Ачааллын утгыг шахах, CVE-2020-0551) Intel SGX анклавууд болон бусад процессуудаас түлхүүрүүд болон нууц мэдээллийг задруулахад ашиглаж болох Intel CPU-ийн таамаглалын гүйцэтгэлийн механизм дээр.

Довтолгооны шинэ анги нь халдлагад ашигладаг ижил бичил архитектурын бүтцийг удирдахад суурилдаг MDS (Бичил архитектурын мэдээллийн түүвэрлэлт), Spectre ба Meltdown. Үүний зэрэгцээ, Meltdown, Spectre, MDS болон бусад ижил төстэй халдлагаас хамгаалах одоо байгаа аргуудаар шинэ халдлагуудыг хаадаггүй. LVI-ийн үр дүнтэй хамгаалалт нь CPU-ийн тоног төхөөрөмжийн өөрчлөлтийг шаарддаг. Хамгаалалтын ажлыг программын дагуу зохион байгуулахдаа санах ойноос ачаалах үйлдэл бүрийн дараа хөрвүүлэгчийн LFENCE зааврыг нэмж, RET зааврыг POP, LFENCE, JMP-ээр сольсноор хэт их зардал бүртгэгддэг - судлаачдын үзэж байгаагаар програм хангамжийн бүрэн хамгаалалт буурахад хүргэнэ. гүйцэтгэл 2-19 дахин нэмэгддэг.

Асуудлыг хаахад тулгарч буй бэрхшээлийн нэг хэсэг нь халдлага нь одоогоор практик гэхээсээ илүү онолын шинж чанартай байдаг (халдлага нь онолын хувьд боломжтой, гэхдээ хэрэгжүүлэхэд маш хэцүү бөгөөд зөвхөн синтетик туршилтаар давтагдах боломжтой).
Intel зориулав асуудал дунд зэргийн аюул (5.6-аас 10) ба гаргасан SGX орчинд зориулсан программ хангамж болон SDK-г шинэчилж байгаа бөгөөд энэ нь тойрч гарах арга замыг ашиглан халдлагыг хаахыг оролдсон. Санал болгож буй халдлагын аргуудыг одоогоор зөвхөн Intel процессоруудад ашиглах боломжтой боловч Meltdown зэрэглэлийн халдлагад хамаарах бусад процессоруудад LVI-г тохируулах боломжийг үгүйсгэх аргагүй юм.

Асуудлыг өнгөрсөн 9-р сард Левенийн их сургуулийн судлаач Жо Ван Булк тодорхойлсон бөгөөд үүний дараа бусад их сургуулийн XNUMX судлаачийн оролцоотойгоор дайралтын таван үндсэн аргыг боловсруулсан бөгөөд тус бүр нь илүү тодорхой аргуудыг бий болгох боломжийг олгодог. сонголтууд. Бие даан, энэ оны хоёрдугаар сард Bitdefender-ийн судлаачид мөн олж мэдсэн LVI халдлагын хувилбаруудын нэг бөгөөд үүнийг Intel-д мэдээлсэн. Довтолгооны хувилбарууд нь өмнө нь ашиглагдаж байсан хадгалах буфер (SB, Дэлгүүрийн буфер), дүүргэх буфер (LFB, Шугам дүүргэх буфер), FPU контекст шилжүүлэгч буфер, нэгдүгээр түвшний кэш (L1D) гэх мэт өөр өөр бичил архитектурын бүтцийг ашигладгаараа ялгагдана. зэрэг халдлагад ZombieLoad, RIDL, хөнөөлийг, LazyFP, Зөгнөлт и Хайлж урсах.

LVI нь CPU-ийн таамаглалын гүйцэтгэлийн механизмд халддаг шинэ анги юм

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

LVI нь CPU-ийн таамаглалын гүйцэтгэлийн механизмд халддаг шинэ анги юм

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

"Тусламжийн" үл хамаарах зүйл нь "гэмтлийн" үл хамаарах зүйлээс ялгаатай нь програм хангамжийн зохицуулагчийг дуудахгүйгээр процессороос дотооддоо зохицуулагддаг. Жишээлбэл, санах ойн хуудасны хүснэгтийн A (Хандалт) эсвэл D (Бохир) битийг шинэчлэх шаардлагатай үед тусламж гарч болно. Бусад үйл явц руу халдлага үйлдэхэд тулгардаг гол бэрхшээл бол хохирогчийн үйл явцыг удирдах замаар тусламжийн илрэлийг хэрхэн эхлүүлэх явдал юм. Үүнийг хийх найдвартай арга одоогоор байхгүй байгаа ч ирээдүйд олдох боломжтой. Одоогоор халдлага үйлдэх магадлал нь зөвхөн Intel SGX анклавуудад батлагдсан бөгөөд бусад хувилбарууд нь онолын хувьд эсвэл синтетик нөхцөлд давтагдах боломжтой (код дээр тодорхой хэрэгслийг нэмэх шаардлагатай)

LVI нь CPU-ийн таамаглалын гүйцэтгэлийн механизмд халддаг шинэ анги юм

LVI нь CPU-ийн таамаглалын гүйцэтгэлийн механизмд халддаг шинэ анги юм

Боломжит халдлагын векторууд:

  • Цөмийн бүтцээс хэрэглэгчийн түвшний процесс руу өгөгдөл алдагдах. Линуксийн цөмийн Specter 1 халдлагаас хамгаалах хамгаалалт, түүнчлэн SMAP (Supervisor Mode Access Prevention) хамгаалалтын механизм нь LVI халдлагын магадлалыг эрс багасгадаг. Ирээдүйд LVI халдлагын хялбар аргуудыг олж тогтоовол цөмд нэмэлт хамгаалалт нэмэх шаардлагатай байж магадгүй юм.
  • Өөр өөр процессуудын хооронд өгөгдөл алдагдах. Довтолгоонд програмын тодорхой хэсэг кодын байх, зорилтот процесст үл хамаарах зүйлийг хаях аргыг тодорхойлох шаардлагатай.
  • Хост орчноос зочны систем рүү өгөгдөл алдагдах. Энэхүү халдлагыг хэрэгжүүлэхэд хэцүү янз бүрийн алхмууд, систем дэх үйл ажиллагааг урьдчилан таамаглах шаардлагатай хэтэрхий төвөгтэй гэж ангилдаг.
  • Өөр өөр зочны систем дэх процессуудын хооронд өгөгдөл алдагдах. Довтолгооны вектор нь өөр өөр процессуудын хооронд өгөгдөл алдагдахыг зохион байгуулахад ойрхон боловч зочны системүүдийн хоорондын тусгаарлалтыг даван туулахын тулд нарийн төвөгтэй заль мэхийг шаарддаг.

Судлаачдын гаргасан хэд хэдэн прототипүүд довтолгоо хийх зарчмуудыг харуулсан боловч бодит халдлага хийхэд тохиромжгүй байна. Эхний жишээ нь буцаахад чиглэсэн програмчлалын нэгэн адил хохирогчийн үйл явц дахь таамаглалын кодын гүйцэтгэлийг дахин чиглүүлэх боломжийг олгодог.ROP, Буцах хандлагатай програмчлал). Энэ жишээнд хохирогч нь шаардлагатай хэрэгслүүдийг агуулсан тусгайлан бэлтгэсэн процесс юм (бодит гуравдагч этгээдийн процессуудад халдлага хийх нь хэцүү байдаг). Хоёрдахь жишээ нь Intel SGX анклав доторх AES шифрлэлтийн үед тооцоолол хийх, шифрлэлтэнд ашигласан түлхүүрийн утгыг сэргээх зааварчилгааг гүйцэтгэх явцад өгөгдөл алдагдлыг зохион байгуулах боломжийг бидэнд олгодог.


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

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