Google-ի ինժեներն առաջարկել է պրոցեսորների ծրագրային պաշտպանություն LVI հարձակումներից

Որոշ ժամանակ առաջ հայտնի դարձավ Intel պրոցեսորների սպեկուլյատիվ ճարտարապետության նոր խոցելիության մասին, որը կոչվում էր. Բեռի արժեքի ներարկում (LVI): Intel-ն ունի իր կարծիքը LVI-ի վտանգների և դրա մեղմացման վերաբերյալ առաջարկությունների մասին: Նման հարձակումներից պաշտպանվելու ձեր սեփական տարբերակը Առաջարկվում է Google-ի ինժեներ: Բայց դուք ստիպված կլինեք վճարել անվտանգության համար՝ նվազեցնելով պրոցեսորի աշխատանքը միջինը 7%-ով:

Google-ի ինժեներն առաջարկել է պրոցեսորների ծրագրային պաշտպանություն LVI հարձակումներից

Ավելի վաղ մենք նշել էինք, որ LVI-ի վտանգը ոչ թե հետազոտողների կողմից հայտնաբերված կոնկրետ մեխանիզմի մեջ է, այլ LVI-ի կողային ալիքի հարձակման հենց սկզբունքի մեջ, որը ցուցադրվել է առաջին անգամ։ Այսպիսով, նոր ուղղություն բացվեց սպառնալիքների համար, որոնց մասին նախկինում ոչ ոք չէր կասկածում (համենայնդեպս, դա չէր քննարկվում հանրային տարածքում)։ Հետևաբար, Google-ի մասնագետ Zola Bridges-ի զարգացման արժեքը կայանում է նրանում, որ նրա կարկատելը մեղմացնում է LVI սկզբունքի հիման վրա նույնիսկ անհայտ նոր հարձակումների վտանգը:

Նախկինում GNU Project Assembler-ում (GNU հավաքող) փոփոխություններ են կատարվել, որոնք նվազեցնում են LVI-ի խոցելիության ռիսկը: Այս փոփոխությունները բաղկացած էին ավելացումից արգելքի հրահանգներ LFENCE, որը սահմանեց խիստ հաջորդականություն հիշողության մուտքերի միջև պատնեշից առաջ և հետո: Intel-ի Kaby Lake սերնդի պրոցեսորներից մեկի վրա կարկատակի փորձարկումը ցույց տվեց կատարողականի անկում մինչև 22%:

Google-ի մշակողը առաջարկել է իր կարկատելը՝ ավելացնելով LFENCE հրահանգները LLVM կոմպիլյատորների հավաքածուին և անվանել պաշտպանություն SESES (Speculative Execution Side Effect Suppression): Պաշտպանության տարբերակը, որը նա առաջարկեց, մեղմացնում է ինչպես LVI սպառնալիքները, այնպես էլ այլ նմանատիպ սպառնալիքները, օրինակ՝ Spectre V1/V4: SESES-ի իրականացումը թույլ է տալիս կոմպիլյատորին ավելացնել LFENCE հրահանգները համապատասխան վայրերում մեքենայի կոդի ստեղծման ընթացքում: Օրինակ՝ դրանք մտցրե՛ք հիշողությունից կարդալու կամ հիշողություն գրելու յուրաքանչյուր հրահանգից առաջ:

LFENCE հրահանգները կանխում են բոլոր հետագա հրահանգների կանխարգելումը, քանի դեռ նախորդ հիշողության ընթերցումները չեն ավարտվել: Ակնհայտ է, որ դա ազդում է պրոցեսորների աշխատանքի վրա: Հետազոտողը պարզել է, որ միջինում SESES-ի պաշտպանությունը նվազեցրել է պաշտպանված գրադարանի միջոցով առաջադրանքների կատարման արագությունը 7,1%-ով: Արտադրողականության նվազման միջակայքն այս դեպքում տատանվել է 4-ից 23%: Հետազոտողների նախնական կանխատեսումն ավելի հոռետեսական էր՝ պահանջելով կատարողականի մինչև 19 անգամ նվազում:



Source: 3dnews.ru

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