Google-ийн LVI хамгаалалтын програм хангамжийн гүйцэтгэл 14 дахин өссөн байна

Google-ийн Zola Bridges санал болгосон LLVM хөрвүүлэгчийн багцын хувьд SESES (Speculative Execution Side Effect Suppression) хамгаалалтыг хэрэгжүүлсэн нөхөөс нь Intel CPU-ууд дахь таамаглалын гүйцэтгэлийн механизмын халдлагыг блоклоход тусалдаг. LVI. Хамгаалалтын арга нь хөрвүүлэгчийн түвшинд хэрэгждэг бөгөөд машин код үүсгэх үед хөрвүүлэгчийн зааврыг нэмэхэд суурилдаг. LFENCE, эдгээр нь санах ойн унших, бичих заавар бүрийн өмнө, мөн блокийг дуусгах зааврын бүлгийн эхний салбар зааврын өмнө ордог.

LFENCE заавар нь өмнөх бүх санах ойг уншихыг хүлээж, LFENCE-ийн дараа дараагийн зааварчилгааг дуусгах хүртэл идэвхгүй болгодог. LFENCE-ийн хэрэглээ нь гүйцэтгэлийн мэдэгдэхүйц бууралтад хүргэдэг тул онцгой чухал кодын хувьд онцгой тохиолдолд хамгаалалтыг ашиглахыг санал болгож байна. Бүрэн хамгаалалтаас гадна уг засвар нь гүйцэтгэлд үзүүлэх сөрөг нөлөөллийг багасгахын тулд тодорхой түвшний хамгаалалтыг сонгон идэвхгүй болгох боломжийг олгодог гурван тугийг санал болгодог.

Туршилтын явцад BoringSSL багцад SESES хамгаалалтыг ашигласнаар номын сангийн секундэд хийдэг үйлдлийн тоог 14 дахин бууруулахад хүргэсэн - номын сангийн хамгаалагдсан хувилбарын гүйцэтгэл дунджаар 7.1% байсан. хамгаалалтгүй хувилбар (туршилтаас хамааран өөрчлөлт 4% -аас 23% хүртэл).

Харьцуулахын тулд, санал болгосон Өмнө нь GNU Assembler-ийн хувьд санах ой ачаалах үйлдэл бүрийн дараа болон зарим салбар зааврын өмнө LFENCE орлуулалтыг гүйцэтгэдэг механизм нь гүйцэтгэл 5 дахин буурсан (хамгаалалтгүй кодын 22%). Хамгаалалтын арга нь мөн санал болгосон и хэрэгжүүлсэн Intel-ийн инженерүүд хийсэн боловч гүйцэтгэлийн туршилтын үр дүн хараахан гараагүй байна. Эхэндээ LVI халдлагыг тодорхойлсон судлаачид бүрэн хамгаалалт хэрэглэх үед гүйцэтгэл 2-19 дахин буурна гэж таамаглаж байсан.

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

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