Linux ядросындағы алыпсатарлық кодты орындау мәселелеріне арналған сканер Kasper енді қол жетімді

Амстердамның еркін университетінің зерттеушілер тобы процессордағы алыпсатарлық кодты орындаудан туындаған Spectre класындағы осалдықтарды пайдалану үшін пайдаланылуы мүмкін Linux ядросындағы код үзінділерін анықтауға арналған Kasper құралдар жинағын жариялады. Құралдар жинағының бастапқы коды Apache 2.0 лицензиясы бойынша таратылады.

Еске салайық, жад мазмұнын анықтауға мүмкіндік беретін Spectre v1 сияқты шабуылдарды жүзеге асыру үшін нұсқаулардың алыпсатарлық орындалуына әкелетін белгілі бір пәрмендер тізбегінің (гаджеттердің) артықшылықты кодында болуы қажет. . Оңтайландыру мақсатында процессор мұндай гаджеттерді алыпсатарлық режимде орындауға кіріседі, содан кейін салалық болжамның ақталмайтынын анықтайды және операцияларды бастапқы күйіне қайтарады, бірақ алыпсатарлық орындау кезінде өңделген деректер кэште және микроархитектуралық буферлерде аяқталады және үшінші тарап арналары арқылы қалдық деректерді анықтаудың әртүрлі әдістерін қолдану арқылы олардан алу үшін қол жетімді.

Типтік үлгілерді іздеуге негізделген Spectre осалдығына арналған гаджеттерді сканерлеуге арналған бұрын қол жетімді құралдар көптеген нақты гаджеттерді жоғалтқан кезде жалған позитивтердің өте жоғары деңгейін көрсетті (тәжірибелер осындай құралдармен анықталған гаджеттердің 99% шабуылдар үшін пайдаланыла алмайтынын көрсетті , ал шабуылға әкелуі мүмкін жұмыс істейтін гаджеттердің 33%-ы байқалмады).

Проблемалық гаджеттерді анықтау сапасын жақсарту үшін Kasper шабуылдаушы Spectre класындағы шабуылдарды жүзеге асырудың әрбір қадамында пайдалана алатын осалдықтарды модельдейді - деректерді басқаруға мүмкіндік беретін мәселелер модельденеді (мысалы, келесі алыпсатарлық орындауға әсер ету үшін шабуылдаушы деректерін микроархитектуралық құрылымдарға ауыстыру). LVI класындағы шабуылдар), құпия ақпаратқа қол жеткізіңіз (мысалы, буфер шекарасынан шыққанда немесе оны босатқаннан кейін жадты пайдаланғанда) және құпия ақпараттың ағып кетуіне (мысалы, процессор кэшінің күйін талдау немесе MDS әдісін пайдалану арқылы).

Linux ядросындағы алыпсатарлық кодты орындау мәселелеріне арналған сканер Kasper енді қол жетімді

Тестілеу кезінде ядро ​​Kasper жұмыс уақыты кітапханаларымен және LLVM деңгейінде жұмыс істейтін тексерулермен байланыстырылады. Тексеру процесі қате болжанған код тармағын арнайы орындайтын тексеру нүктесі-қалпына келтіру механизмі арқылы жүзеге асырылатын алыпсатарлық кодтың орындалуын эмуляциялайды, содан кейін тармақ басталғанға дейін бастапқы күйге оралады. Каспер сонымен қатар әртүрлі бағдарламалық және аппараттық осалдықтарды модельдеуге тырысады, сәулеттік және микроархитектуралық әсерлердің әсерін талдайды және ықтимал шабуылдаушы әрекеттерінің анық емес сынауын жүргізеді. Орындау ағындарын талдау үшін Linux ядросына арналған DataFlowSanitizer порты пайдаланылады, ал анық емес тестілеу үшін syzkaller бумасының өзгертілген нұсқасы пайдаланылады.

Linux ядросындағы алыпсатарлық кодты орындау мәселелеріне арналған сканер Kasper енді қол жетімді

Kasper көмегімен Linux ядросын сканерлеу нұсқауларды алыпсатарлық орындау кезінде деректердің ағып кетуіне әкелуі мүмкін бұрын белгісіз 1379 гаджетті анықтады. Мүмкін олардың кейбіреулері ғана нақты проблемаларды тудыруы мүмкін, бірақ теориялық емес, нақты қауіп бар екенін көрсету үшін проблемалық код фрагменттерінің бірі үшін эксплуатацияның жұмыс прототипі әзірленді, бұл ақпаратқа әкеледі. ядро жадынан ағып кету.

Ақпарат көзі: opennet.ru

пікір қалдыру