Google-ի LVI պաշտպանության ծրագրակազմը ցույց է տվել 14 անգամ կատարողականի հիթ

Zola Bridges Google-ից Առաջարկվում է LLVM կոմպիլյատորների հավաքածուի համար՝ SESES (Speculative Execution Side Effect Suppression) պաշտպանության ներդրմամբ, որն օգնում է արգելափակել հարձակումները սպեկուլյատիվ կատարման մեխանիզմի վրա Intel CPU-ներում, ինչպիսիք են. LVI. Պաշտպանության մեթոդն իրականացվում է կոմպիլյատորի մակարդակում և հիմնված է կոմպիլյատորի կողմից հրահանգների մեքենայական ծածկագրի ստեղծման ժամանակ ավելացման վրա: ԼՖԵՆՍ, որոնք փոխարինվում են հիշողությունից կարդալու կամ հիշողության մեջ գրելու յուրաքանչյուր հրահանգից առաջ, ինչպես նաև բլոկը ավարտող հրահանգների խմբի առաջին ճյուղային հրահանգից առաջ։

LFENCE հրահանգը սպասում է բոլոր նախորդ հիշողության ընթերցումների կատարմանը և կանխում է հետագա հրահանգների կանխարգելիչ կատարումը LFENCE-ից հետո, մինչև կատարման ավարտը: LFENCE-ի օգտագործումը հանգեցնում է կատարողականի զգալի նվազման, ուստի պաշտպանությունն առաջարկվում է օգտագործել ծայրահեղ դեպքերում հատկապես կարևոր կոդի համար: Լրիվ պաշտպանությունից բացի, կարկատումն առաջարկում է երեք դրոշակ, որոնք թույլ են տալիս ընտրողաբար անջատել պաշտպանության որոշակի մակարդակներ՝ արդյունավետության վրա բացասական ազդեցությունը նվազեցնելու համար:

Կատարված թեստերում SESES պաշտպանության օգտագործումը BoringSSL փաթեթի համար հանգեցրել է գրադարանի կողմից մեկ վայրկյանում կատարվող գործողությունների քանակի նվազմանը 14 անգամ. միջինը անպաշտպան տարբերակի ցուցիչներից (թեստից կախված միջակայքը 7.1% -ից մինչև 4% է):

Համեմատության համար, առաջարկված նախկինում GNU Assembler-ի համար մեխանիզմը, որն իրականացնում է LFENCE-ի փոխարինում հիշողության բեռնման յուրաքանչյուր գործողությունից հետո և որոշ ճյուղերի հրահանգներից առաջ, ցույց է տվել աշխատանքի անկում մոտ 5 անգամ (22% կոդի առանց պաշտպանության): պաշտպանության մեթոդը նույնպես առաջարկել է и իրականացվել է Intel-ի ինժեներների կողմից, սակայն դրա կատարողականի թեստավորման արդյունքները դեռ չեն հրապարակվել: Սկզբում LVI հարձակումը հայտնաբերած հետազոտողները կանխատեսում էին կատարողականի 2-ից 19 անգամ անկում լիարժեք պաշտպանություն կիրառելիս:

Source: opennet.ru

Добавить комментарий