Google'дун LVI коргоо программасы 14 эсе көрсөткүчкө ээ болду

Google'дан Zola Bridges Ал чалды LLVM компилятор топтому үчүн SESES (Speculative Execution Side Effect Supression) коргоосун ишке ашыруу менен патч, ал Intel процессорлорунда алып-сатарлык аткаруу механизмине чабуулдарды бөгөт коюуга жардам берет, мисалы LVI. Коргоо ыкмасы компилятордун деңгээлинде ишке ашырылат жана машина кодун түзүүдө компилятор тарабынан көрсөтмөлөрдү кошууга негизделген LFENCE, алар ар бир эстутум окуу же жазуу инструкциясына чейин, ошондой эле блокту бүтүргөн инструкциялар тобунун биринчи бутагы инструкциясына чейин киргизилет.

LFENCE инструкциясы бардык мурунку эстутумдардын аткарылышын күтөт жана милдеттенме аяктаганга чейин LFENCEден кийин кийинки нускамалардын алдын алуу мүмкүнчүлүгүн өчүрөт. LFENCE колдонуу натыйжалуулуктун олуттуу төмөндөшүнө алып келет, ошондуктан коргоону өзгөчө критикалык код үчүн экстремалдуу учурларда колдонуу сунушталат. Толук коргоодон тышкары, патч иштөөгө терс таасирин азайтуу үчүн коргоонун белгилүү бир деңгээлдерин тандап өчүрүүгө мүмкүндүк берген үч желекти сунуштайт.

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

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

Source: opennet.ru

Комментарий кошуу