Foreshadow հարձակման նոր տարբերակ, որն ազդում է Intel, AMD, ARM և IBM պրոցեսորների վրա

Գրացի (Ավստրիա) տեխնիկական համալսարանի և Հելմհոլցի տեղեկատվական անվտանգության կենտրոնի (CISPA) մի խումբ հետազոտողներ. բացահայտվել է (PDF) նոր վեկտոր՝ կողային ալիքի հարձակումների օգտագործման համար Նախագուշակել (L1TF), որը թույլ է տալիս տվյալներ հանել Intel SGX անկլավների հիշողությունից, SMM (System Management Mode), OS միջուկի հիշողության տարածքներից և վիրտուալացման համակարգերում վիրտուալ մեքենաներից: Ի տարբերություն սկզբնական հարձակման, որն առաջարկվել էր 2018թ Նախագուշակել Նոր տարբերակը հատուկ չէ Intel պրոցեսորներին և ազդում է այլ արտադրողների պրոցեսորների վրա, ինչպիսիք են ARM, IBM և AMD: Բացի այդ, նոր տարբերակը չի պահանջում բարձր կատարողականություն, և հարձակումը կարող է իրականացվել նույնիսկ JavaScript-ը և WebAssembly-ը վեբ բրաուզերում գործարկելու միջոցով:

Foreshadow հարձակումը օգտվում է այն փաստից, որ երբ հիշողությունը հասանելի է վիրտուալ հասցեով, որը հանգեցնում է բացառության (տերմինալ էջի սխալ), պրոցեսորը ենթադրաբար հաշվարկում է ֆիզիկական հասցեն և բեռնում տվյալները, եթե դրանք հասանելի են L1 քեշում: Սպեկուլյատիվ մուտքն իրականացվում է մինչև հիշողության էջերի աղյուսակի որոնումը ավարտվելը և անկախ հիշողության էջի աղյուսակի մուտքագրման վիճակից, այսինքն. նախքան ֆիզիկական հիշողության մեջ տվյալների առկայությունը և դրանց ընթեռնելիությունը ստուգելը: Հիշողության առկայության ստուգումն ավարտվելուց հետո, PTE-ում Present դրոշի բացակայության դեպքում, գործողությունը մերժվում է, բայց տվյալները մնում են քեշում և կարող են առբերվել՝ օգտագործելով քեշի բովանդակությունը կողային ալիքների միջոցով որոշելու մեթոդները (վերլուծելով մուտքի ժամանակի փոփոխությունները: դեպի քեշ և չքեշավորված տվյալներ):

Հետազոտողները ցույց են տվել, որ Foreshadow-ից պաշտպանվելու գոյություն ունեցող մեթոդներն անարդյունավետ են և իրականացվում են խնդրի ոչ ճիշտ մեկնաբանությամբ: Խոցելիություն
Foreshadow-ը կարող է օգտագործվել անկախ միջուկի պաշտպանության մեխանիզմներից, որոնք նախկինում համարվում էին բավարար: Արդյունքում, հետազոտողները ցուցադրեցին Foreshadow-ի հարձակման հնարավորությունը համեմատաբար հին միջուկներով համակարգերի վրա, որոնցում միացված են Foreshadow-ի բոլոր հասանելի պաշտպանության ռեժիմները, ինչպես նաև նոր միջուկներով, որոնցում անջատված է միայն Specter-v2 պաշտպանությունը (օգտագործելով Linux միջուկի տարբերակը nospectre_v2):

Պարզվեց, որ նախաբեռնման էֆեկտ կապված չէ ծրագրային ապահովման նախնական բեռնման հրահանգների կամ ապարատային էֆեկտի հետ
prefetch հիշողության հասանելիության ժամանակ, բայց տեղի է ունենում, երբ միջուկում գրանցվում են օգտվողի տարածքի սպեկուլյատիվ անջատումներ: Խոցելիության պատճառի այս սխալ մեկնաբանումն ի սկզբանե հանգեցրեց ենթադրության, որ տվյալների արտահոսքը Foreshadow-ում կարող է տեղի ունենալ միայն L1 քեշի միջոցով, մինչդեռ միջուկում որոշակի կոդի հատվածների (նախաբեռնման գործիքների) առկայությունը կարող է նպաստել L1 քեշից դուրս տվյալների արտահոսքին: օրինակ, L3 քեշում:

Հայտնաբերված հատկանիշը նաև բացում է նոր հարձակումներ ստեղծելու հնարավորություն՝ ուղղված մեկուսացված միջավայրերում վիրտուալ հասցեները ֆիզիկականի թարգմանելու և պրոցեսորի ռեգիստրներում պահվող հասցեների ու տվյալների որոշման գործընթացներին: Որպես ցուցադրություն՝ հետազոտողները ցույց են տվել հայտնաբերված էֆեկտի օգտագործման հնարավորությունը՝ մեկ գործընթացից մյուսը տվյալներ հանելու համար՝ մոտ 10 բիթ/վայրկյան կատարողականությամբ Intel Core i7-6500U պրոցեսորով համակարգում: Ցուցադրված է նաև ռեգիստրի բովանդակության արտահոսքի հնարավորությունը Intel SGX անկլավից (32-բիթանոց ռեգիստրում գրված 64-բիթանոց արժեքը որոշելու համար պահանջվել է 15 րոպե): Պարզվեց, որ գրոհների որոշ տեսակներ հնարավոր են իրականացնել JavaScript-ում և WebAssembly-ում, օրինակ՝ հնարավոր է եղել որոշել JavaScript փոփոխականի ֆիզիկական հասցեն և 64-բիթանոց ռեգիստրները լրացնել հարձակվողի կողմից վերահսկվող արժեքով:

Foreshadow հարձակումը L3 քեշի միջոցով արգելափակելու համար արդյունավետ է Specter-BTB (Branch Target Buffer) պաշտպանության մեթոդը, որն իրականացվում է retpoline patch-ի հավաքածուում: Այսպիսով, հետազոտողները կարծում են, որ անհրաժեշտ է միացնել retpoline-ը նույնիսկ նոր պրոցեսորներով համակարգերում, որոնք արդեն պաշտպանված են պրոցեսորի սպեկուլյատիվ կատարման մեխանիզմում հայտնի խոցելիություններից: Միաժամանակ Intel-ի ներկայացուցիչները հայտարարել են, որ չեն նախատեսում պրոցեսորներին ավելացնել լրացուցիչ պաշտպանական միջոցներ Foreshadow-ի դեմ և բավարար են համարում Spectre V2 և L1TF (Foreshadow) հարձակումներից պաշտպանություն ներառելը։

Source: opennet.ru

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