LVI — նոր հարձակումների դաս CPU-ի սպեկուլյատիվ իրականացման մեխանիզմի վրա

Հրապարակվել են տեղեկություններ նոր հարձակումների դասի մասին LVI (Բեռի արժեքի ներարկում, CVE-2020-0551) Ինտել CPU-ի սպեկուլյատիվ կատարումի մեխանիզմում, որոնք կարող են օգտագործվել Intel SGX-ի անքլավներից և այլ գործընթացներից բանալիների և գաղտնի տվյալների արտահոսք կազմակերպելու համար:

Նոր հարձակումների դասը հիմնված է նույն միկրոէնթերապատչական կառուցվածքների манипуля շատ դեպքերում, ինչպիսին են ահազանգերը MDS (Միկրոէնթերապատչական տվյալներիSampling), Spectre եւ Meltdown. Մյուս կողմից, նոր հարձակումները չեն արգելափակվում նախկինի պաշտպանական մեթոդներով Meltdown-ի, Spectre-ի, MDS-ի և նման այլ հարձակումների դեմ: LVI-ի արդյունավետ պաշտպանությունն ապահովելու համար անհրաժեշտ է սարքային փոփոխություններ CPU-ում: Ծրագրային պաշտպանության կազմակերպման դեպքում, LFENCE հրահանգի հավելմամբ յուրաքանչյուր հիշողության բեռից հետո և RET հրահանգի փոխարինմամբ POP-ի, LFENCE-ի և JMP-ի, առաջանում է չափազանց մեծ ծախսեր, ըստ հետազոտողների գնահատումների, լրիվ ծրագրային պաշտպանության դեպքում կատարողականությունը կկրճատվի 2-19 անգամ:

Մասնակիորեն, խնդրի արգելափակման բարդությունը փոխհատվում է նրանով, որ ներկայումս հարձակման տեսքը ավելի շատ Teորիական է, քան գործնական (հարձակումը Teորենական է, բայց շատ դժվար է իրագործելը և կրկնվող միայն սինթետիկ փորձարկումներում):
Ինտել Համέρα նժդեհբյուրը խնդրին չափազանց միջին մակարդակ է տրվել (5.6 ից 10) և թողարկեց SGX միջավայրի firmware-ի և SDK-ի թարմացում, որտեղ փորձում էին արգելափակել հարձակման իրականացումը շրջանցող ճանապարհով: Առաջարկված հարձակումների մեթոդները ներկայումս կիրառելի են միայն Intel վճարիչների համար, բայց չի բացառվում LVI-ն մյուս հաձորումների համար ադապտացում հնարավորությունը, որոնց վրա կիրառվում են Meltdown դասի հարձակումները:

Խնդիրը հայտնաբերվել է անցյալ տարվա ապրիլին Լյովենի համալսարանի հետազոտող Ջո Վան Բալկի կողմից, որից հետո 9 հետազոտողների մասնակցությամբ այլ համալսարաններից մշակվել են հարձակման իրականացման հինգ հիմնական մեթոդ, որոնցից յուրաքանչյուրը թույլատրում է գոյություն ունեցող տարիների ավելի հատուկ վարիանտներ. Անկախ հունվարին այս տարվա,Bitdefender ընկերության հետազոտողները նույնպես բացահայտեցին LVI հարձակման մեկ տարբերակն ու նշել են Intel-ին: Հարձակման տարբերակները տարբերվում են տարբեր միկրոէնթերապատչական կառուցվածքների օգտագործմամբ, ինչպես պահպանումը (SB, Store Buffer), ներբեռնման բալանսավորման (LFB, Line Fill Buffer), FPU-ի համահեղինակման բալանսացման և առաջին մակարդակի կեշի (L1D), որը նախկինում օգտագործվել է նման հարձակումներում, ինչպիսիք են ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow և Meltdown.

LVI - նոր հարձակման դասի մոդելային механիզմ, որը աշխատում է CPU-ի համեստության վրա

Գլխավոր տարբերությունը LVI-ն MDS հարձակումներից այն է, որ MDS-ն է մեզ շարք ունեցող միկրոէնթերապատչական կառուցվածքներ, որոնք մնում են կեշում սպեկուլյատիվ բացառությունների (fault) կամ բեռի և պահպանման գործողությունների արդյունքում, մինչդեռ
LVI հարձակման տեխնիկան թույլ է տալիս հարձակվողի տվյալների ներարկում միկրոարխիտեկտուրայով կառուցվածքներին, որպեսզի ազդի զոհի կոդի հետագա սպեկուլյատիվ կատարման վրա: Այդ տեխնիկաների միջոցով հարձակվողը կարող է մուտք գործել փակ տվյալների կառուցվածքների պարունակությունը այլ գործընթացներում, երբ որոշակի կոդ է կատարվում նպատակային CPU միջուկի վրա:

LVI - նոր հարձակման դասի մոդելային механիզմ, որը աշխատում է CPU-ի համեստության վրա

Այդուհանդերձ արդյունաբերության խնդիրներ զոհի գործընթացի կոդում պետք է առկա լինեն հատուկ կոդի հաջորդականություններ (գաջեթներ), որտեղ ներբեռնվում է հարձակվողի կողմից վերահսկվող արժեք, իսկ այդ արժեքի ներբեռնման գործընթացը հանգեցնում է բացառությունների (fault, abort կամ assist) առաջացմանը, որոնք գցում են արդյունքը և կրկին կատարում հրաման: Աբստրակտի մշակման ժամանակ տեղի է ունենում սպեկուլյատիվ պատուհան, որտեղ հավատարմագրված տվյալները արտահոսք են դառնում: Դրանով, պրոցեսորը սկսում է սպեկուլյատիվ ռեժիմում իրականացնել կոդի պահածոն (գաջեթ), ապա որոշում է, որ կանխատեսումը ճիշտ չի եղել և հետ կանչում է գործողությունները սկզբնական վիճակին, սակայն միկրոարխիտեկտուրական բուֆերները և L1D կեշը պահում են մշակված տվյալները, որոնք հասանելի են լինելու հայտնի աչքի ճեղքերի մեթոդներով:

Assist բացառությունը, ի տարբերություն fault-ի, մշակվում է ներսում պրոցեսորի կողմից՝ առանց ծրագրային մշակողների զանգերի: Assist կարող է առաջանալ, օրինակ, երբ պահանջվում է թարմացնել A (Accessed) կամ D (Dirty) բիտը հիշողության էջերի աղյուսակում: Վարկածների համակարգողների վրա հարձակման իրականացումն այդքան հեշտ չէ, քանի որ պետք է խառնել զոհի գործընթացը: Այս պահին դեռևս չի եղել հուսալի մեթոդներ այդ նպատակով, սակայն ապագայում ռազմավարությունների հայտնվելը չի բացառվում: Հարձակման հնարավորությունը մինչ այժմ հաստատված է միայն Intel SGX анклавներում, մյուս սցենարները θεωանաբար կամ սինթետիկ պայմաններում կատարվող են (պահանջվում է որոշակի գրանցող гаджетների հավելում կոդում)

LVI - նոր հարձակման դասի մոդելային механիզմ, որը աշխատում է CPU-ի համեստության վրա

LVI - նոր հարձակման դասի մոդելային механիզմ, որը աշխատում է CPU-ի համեստության վրա

Հնարավոր հոսքերի հարձակման շրջաններ:

  • Տվյալների արտահոսք միջուկային կառուցվածքներից դեպի օգտվողի մակարդակի գործընթաց: Linux Kernel-ի մեջ լուրջ պաշտպանությունը Spectre 1 հարձակումներից և SMAP (Supervisor Mode Access Prevention) պաշտպանական մեխանիզմը զգալիորեն նվազեցնում են LVI հարձակման հնարավորությունը: Գներն ավելացնող պաշտպանությունը Kerneli-ում կարող է պահանջվել, եթե ապագայում պարզություն չգտնվեն պարզ մեթոդներ LVI հարձակման իրականացման համար:
  • Տվյալների արտահոսք տարբեր գործընթացների միջև: Հարձակման համար անհրաժեշտ են որոշակի կոդի հատվածներ ծրագրում և բացառության առաջացման մեթոդի որոշումը նպատակային գործընթացում:
  • Տվյալների արտահոսք հյուրընկալող միջավայրից դեպի հյուր համակարգ: Հարձակումը դասակարգվել է որպես չափազանց դժվարներին, պահանջելով տարբեր কঠին իրականացնելու քայլեր և համակարգում գործողությունների կանխատեսումներ:
  • Տվյալների արտահոսքը հյուրընկալում համակարգերի միջև: Ամբողջական հարձակման ձևը մոտ է տվյալների արտահոսքին տարբեր գործընթացների միջև, սակայն լրացուցիչ պահանջում է բարդ манիպուլյացիաներ հյուրընկալող համակարգերի միջև օպտիմալիզացիա շրջանցելու համար:

Կիրառված են հետազոտողները և մի քանի մաթեմատիկական մոդելների հարձակման սկզբունքները ցուցադրելու համար, սակայն դրանք դեռևս չեն պատրաստակամ իրական հարձակումներ իրականացնել: Առաջին օրինակը թույլ է տալիս ուղղել չարաշահող նյութի կատարումը զոհական գործընթացում՝ նմանատիպ հետադարձ-հենված ծրագրավորմանը (ROP, Return-Oriented Programming): Այս օրինակին զոհ է հանդիսանում հատուկ նախապատրաստված գործընթաց, որը պարունակում է անհրաժեշտ սարքեր (հարձակումն իրական, արտաքնային գործընթացների դեմ մեծ դժվարություններ ունի): Երկրորդ օրինակը թույլ է տալիս ներթափանցել AES-ով Encryption հաշվարկներում Intel SGX-ում և կազմակերպել տվյալների արտահոսքը համեմատելով հատուկ հրամանների կատարումը, որը վերականգնելու կարևոր արժեքներն է, օգտագործված շինարարական բանալին:


Խաղալ տեսանյութը

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster