Հայտնաբերվել է Intel պրոցեսորների վրա Zombieload հարձակման նոր տարբերակ

Գրացի (Ավստրիա) տեխնիկական համալսարանի հետազոտողները բացված տեղեկատվություն երրորդ կողմի ալիքներով հարձակման նոր մեթոդի մասին Zombie Load 2.0 (CVE-2019-11135- ը), որը թույլ է տալիս քաղել գաղտնի տեղեկատվություն այլ գործընթացներից, օպերացիոն համակարգից, վիրտուալ մեքենաներից և պաշտպանված անկլավներից (TEE, Trusted Execution Environment): Խնդիրը վերաբերում է միայն Intel պրոցեսորներին: Բաղադրիչներ, որոնք արգելափակում են խնդիրը առաջարկված երեկվա մեջ միկրոկոդի թարմացում.

Խնդիրը պատկանում է MDS (Microarchitectural Data Sampling) դասին և արդիականացված տարբերակ է հրապարակվել է մայիսին ZombieLoad-ի հարձակումները: ZombieLoad 2.0-ը, ինչպես մյուս MDS գրոհները, հիմնված է կողային ալիքի վերլուծության տեխնիկայի կիրառման վրա միկրոճարտարապետական ​​կառույցների տվյալների վրա (օրինակ՝ Line Fill Buffer և Store Buffer), որոնք ժամանակավորապես պահպանում են գործընթացում օգտագործվող տվյալները: Load and Store գործողություններ կատարելիս) .

Zombieload հարձակման նոր տարբերակ հիմնված արտահոսքի վրա, որը տեղի է ունենում գործառնությունների ասինխրոն ընդհատման մեխանիզմի (TAA, TSX Asynchronous Abort) գործարկման ժամանակ, որը ներդրվել է TSX (Transactional Synchronization Extensions) ընդլայնման մեջ, որը տրամադրում է գործիքներ գործարքային հիշողության հետ աշխատելու համար, ինչը թույլ է տալիս բարձրացնել կատարողականը. բազմաթելային հավելվածներ՝ դինամիկ կերպով վերացնելով անհարկի համաժամացման գործողությունները (աջակցվող ատոմային գործարքներ, որոնք կարող են ընդունվել կամ ընդհատվել): Եթե ​​ընդհատվում է, գործարքային հիշողության տարածաշրջանում կատարված գործողությունները հետ են գլորվում:

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

Հարձակումը հանգում է նրան, որ բացում է TSX գործարքները և պայմաններ ստեղծում դրանց ասինխրոն ընդհատման համար, որի ընթացքում պայմաններ են առաջանում ներքին բուֆերների բովանդակության արտահոսքի համար, որոնք սպեկուլյատիվորեն լցված են նույն պրոցեսորի միջուկի վրա կատարված հիշողության ընթերցման գործողությունների տվյալներից: Արտահոսքը սահմանափակվում է ընթացիկ ֆիզիկական պրոցեսորի միջուկով (որի վրա գործարկվում է հարձակվողի կոդը), բայց քանի որ միկրոճարտարապետական ​​բուֆերները բաժանված են տարբեր շղթաների միջև Hyper-Threading ռեժիմում, հնարավոր է արտահոսել այլ պրոցեսորային թելերում կատարված հիշողության գործողությունները:

Հարձակում ենթակա է Intel Core պրոցեսորների ութերորդ, իններորդ և տասներորդ սերունդների որոշ մոդելներ, ինչպես նաև Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W և երկրորդ սերնդի Intel Xeon Scalable: Հարձակման ենթակա են նաև Intel-ի նոր պրոցեսորները, որոնք հիմնված են ապրիլին ներկայացված Cascade Lake միկրոճարտարապետության վրա, որն ի սկզբանե ենթակա չէր RIDL-ի և Fallout-ի հարձակումներին: Բացի Zombieload 2.0-ից, հետազոտողները նաև հայտնաբերել են MDS հարձակումներից պաշտպանվելու նախկինում առաջարկված մեթոդները շրջանցելու հնարավորությունը՝ հիմնվելով VERW հրահանգի վրա՝ միկրոճարտարապետական ​​բուֆերների պարունակությունը մաքրելու համար միջուկից օգտվողի տարածք վերադառնալիս կամ հսկողությունը փոխանցելիս: հյուրերի համակարգը:

Intel-ի զեկույցում ասվում է, որ տարասեռ ծանրաբեռնվածությամբ համակարգերում հարձակում իրականացնելու հնարավորությունը դժվար է, քանի որ միկրոճարտարապետական ​​կառույցներից արտահոսքը ծածկում է համակարգի ողջ գործունեությունը, և հարձակվողը չի կարող ազդել արդյունահանված տվյալների աղբյուրի վրա, այսինքն. կարող է կուտակել միայն արտահոսքի հետևանքով առաջացած տեղեկատվությունը և փորձել բացահայտել օգտակար տեղեկատվությունը այս տվյալների մեջ՝ առանց հատուկ հիշողության հասցեների հետ կապված տվյալները նպատակաուղղված կերպով ընդհատելու հնարավորության: Այնուամենայնիվ, հետազոտողները հրապարակել են շահագործման նախատիպը, աշխատում է Linux-ով և Windows-ով, և ցուցադրում է հարձակման հնարավորություն՝ արմատ օգտագործողի գաղտնաբառի հեշը որոշելու համար:
Գուցե Հյուրերի համակարգից հարձակումների իրականացում` տվյալներ կուտակելու համար, որոնք հայտնվում են այլ հյուր համակարգերի, հյուրընկալող միջավայրի, հիպերվիզորի և Intel SGX անկլավների գործողություններում:

Ուղղումներ՝ խոցելիությունը արգելափակելու համար ներառյալ Linux միջուկի կոդերի բազայի մեջ և ներառված թողարկումներում 5.3.11, 4.19.84, 4.14.154, 4.9.201 և 4.4.201 թ.. Միջուկի և միկրոկոդի թարմացումները նույնպես արդեն թողարկվել են հիմնական բաշխումների համար (Debian, SUSE/openSUSE, Ubuntu, RHEL- ը, Fedora, FreeBSD- ը) Խնդիրը հայտնաբերվել է ապրիլին, և շտկվել է Intel-ի և օպերացիոն համակարգերի մշակողների միջև:

Zombieload 2.0-ի արգելափակման ամենապարզ մեթոդը CPU-ում TSX աջակցությունն անջատելն է: Linux միջուկի համար առաջարկվող ուղղումը ներառում է պաշտպանության մի քանի տարբերակներ: Առաջին տարբերակն առաջարկում է «tsx=on/off/auto» պարամետրը՝ վերահսկելու, թե արդյոք TSX ընդլայնումը միացված է պրոցեսորի վրա (ավտոմատ արժեքը անջատում է TSX-ը միայն խոցելի պրոցեսորների համար): Պաշտպանության երկրորդ տարբերակը միացված է «tsx_async_abort=off/full/full,nosmt» պարամետրով և հիմնված է համատեքստի փոխարկման ժամանակ միկրոճարտարապետական ​​բուֆերների մաքրման վրա (nosmt դրոշը լրացուցիչ անջատում է SMT/Hyper-Threads): Ստուգելու համար, թե արդյոք համակարգը ենթակա է խոցելիության, sysfs-ը տրամադրում է «/sys/devices/system/cpu/vulnerabilities/tsx_async_abort» պարամետրը:

Նաև ներ թարմացում միկրոկոդ վերացվել է ուրիշ մեկը խոցելիություն (CVE-2018-12207- ը) Intel պրոցեսորներում, որը նույնպես արգելափակված է ամենավերջում թարմացում Linux միջուկներ. Խոցելիություն թույլ է տալիս չարտոնված հարձակվողը նախաձեռնում է ծառայության մերժում, ինչի հետևանքով համակարգը կախվում է «Մեքենայի ստուգման սխալ» վիճակում:
Հարձակումը ներառյալ կարող է կատարվել հյուրերի համակարգից:

Source: opennet.ru

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