Mae Kasper, sganiwr ar gyfer problemau gweithredu cod hapfasnachol yn y cnewyllyn Linux, bellach ar gael

Mae tîm o ymchwilwyr o Brifysgol Rydd Amsterdam wedi cyhoeddi pecyn cymorth Kasper a ddyluniwyd i nodi pytiau cod yn y cnewyllyn Linux y gellir eu defnyddio i fanteisio ar wendidau dosbarth Specter a achosir gan weithredu cod hapfasnachol ar y prosesydd. Mae'r cod ffynhonnell ar gyfer y pecyn cymorth yn cael ei ddosbarthu o dan drwydded Apache 2.0.

Gadewch inni gofio, er mwyn cynnal ymosodiadau fel Specter v1, sy'n ei gwneud hi'n bosibl pennu cynnwys y cof, bod angen dilyniant penodol o orchmynion (teclynnau) yn y cod breintiedig, gan arwain at weithredu cyfarwyddiadau ar hap . At ddibenion optimeiddio, mae'r prosesydd yn dechrau gweithredu teclynnau o'r fath yn y modd hapfasnachol, yna'n penderfynu nad oedd cyfiawnhad dros ragfynegiad y gangen ac yn rholio'r gweithrediadau yn ôl i'w cyflwr gwreiddiol, ond mae'r data a brosesir yn ystod gweithredu hapfasnachol yn dod i ben yn y storfa a byfferau micro-bensaernïol a ar gael i'w hadalw oddi wrthynt gan ddefnyddio dulliau amrywiol i bennu data gweddilliol trwy sianeli trydydd parti.

Dangosodd offer a oedd ar gael yn flaenorol ar gyfer sganio teclynnau ar gyfer bregusrwydd Specter, yn seiliedig ar chwilio am batrymau nodweddiadol, lefel uchel iawn o bethau cadarnhaol ffug, tra'n colli llawer o declynnau go iawn (dangosodd arbrofion na ellid defnyddio 99% o declynnau a nodwyd gan offer o'r fath ar gyfer ymosodiadau , ac ni sylwyd ar 33% o declynnau gweithio a allai arwain at ymosodiad).

Er mwyn gwella ansawdd adnabod teclynnau problemus, mae Kasper yn modelu gwendidau y gall ymosodwr eu hecsbloetio ar bob cam o gyflawni ymosodiadau dosbarth Specter - mae problemau sy'n caniatáu rheoli data yn cael eu modelu (er enghraifft, amnewid data ymosodwyr i strwythurau micro-bensaernïaeth i ddylanwadu ar weithredu hapfasnachol dilynol gan ddefnyddio Ymosodiadau dosbarth LVI), cael mynediad at wybodaeth gyfrinachol (er enghraifft, wrth fynd y tu hwnt i ffiniau byffer neu ddefnyddio cof ar ôl iddo gael ei ryddhau) a gollwng gwybodaeth gyfrinachol (er enghraifft, trwy ddadansoddi cyflwr storfa'r prosesydd neu ddefnyddio'r dull MDS).

Mae Kasper, sganiwr ar gyfer problemau gweithredu cod hapfasnachol yn y cnewyllyn Linux, bellach ar gael

Wrth brofi, mae'r cnewyllyn yn gysylltiedig â llyfrgelloedd amser rhedeg Kasper ac mae sieciau'n rhedeg ar lefel LLVM. Mae'r broses wirio yn efelychu gweithredu cod hapfasnachol, a weithredir gan ddefnyddio'r mecanwaith checkpoint-restore, sy'n gweithredu'n benodol cangen cod a ragfynegwyd yn anghywir, ac yna'n rholio yn ôl i'r cyflwr gwreiddiol cyn i'r gangen ddechrau. Mae Kasper hefyd yn ceisio efelychu amrywiol wendidau meddalwedd a chaledwedd, yn dadansoddi effaith effeithiau pensaernïol a microbensaernïol, ac yn cynnal profion buzz ar weithredoedd ymosodwyr posibl. I ddadansoddi llifoedd gweithredu, defnyddir y porthladd DataFlowSanitizer ar gyfer y cnewyllyn Linux, ac ar gyfer profion niwlog, defnyddir fersiwn wedi'i addasu o'r pecyn syzkaller.

Mae Kasper, sganiwr ar gyfer problemau gweithredu cod hapfasnachol yn y cnewyllyn Linux, bellach ar gael

Nododd sgan o'r cnewyllyn Linux gan ddefnyddio Kasper 1379 o declynnau nad oeddent yn hysbys o'r blaen a allai arwain at ollwng data wrth weithredu cyfarwyddiadau ar hap. Nodir efallai mai dim ond rhai ohonynt a allai achosi problemau gwirioneddol, ond i ddangos bod perygl gwirioneddol, ac nid perygl damcaniaethol yn unig, datblygwyd prototeip gweithredol o gamfanteisio ar gyfer un o'r darnau cod problemus, gan arwain at wybodaeth. gollyngiad o gof cnewyllyn.

Ffynhonnell: opennet.ru

Ychwanegu sylw