Kasper, skanerek ji bo pirsgirêkên darvekirina kodê spekulatîf di kernel Linux de, naha peyda dibe

Tîmek lêkolînerên ji Zanîngeha Azad a Amsterdamê amûrek Kasper çap kir ku ji bo tespîtkirina perçeyên kodê yên di kernel Linux-ê de hatî çêkirin ku dikare were bikar anîn ji bo îstismarkirina qelsiyên çîna Specter-ê yên ku ji ber darvekirina koda spekulatîf a li ser pêvajoyê têne bikar anîn, weşand. Koda çavkaniyê ya amûrê di bin lîsansa Apache 2.0 de tê belav kirin.

Werin em bînin bîra xwe ku ji bo pêkanîna êrişên mîna Specter v1, ku îmkana diyarkirina naveroka bîranînê dide, hebûna di koda îmtiyazê de rêzek fermanan (gadgetan) hewce ye, ku rê li ber pêkanîna talîmatên spekulatîf digire. . Ji bo mebestên xweşbîniyê, pêvajo dest pê dike ku amûrên weha di moda spekulatîf de bicîh bike, dûv re destnîşan dike ku pêşbîniya şaxê ne rastdar bû û operasyonan vedigerîne rewşa wan a orîjînal, lê daneyên ku di dema darvekirina spekulatîf de têne hilanîn di qedeh û tamponên mîkromîmarî de diqede. ji bo wergirtina wan bi karanîna awayên cihêreng ên ku daneyên mayî bi kanalên sêyemîn-ê ve têne destnîşankirin peyda dibe.

Amûrên berê yên ji bo şopandina kelûpelên ji bo qelsiya Specter, li ser bingeha lêgerîna qalibên tîpîk, astek pir bilind a pozîtîfên derewîn destnîşan kirin, di heman demê de ku gelek amûrên rastîn winda kirin (ceribandinan destnîşan kir ku 99% ji alavên ku ji hêla amûrên weha ve hatine nas kirin nekarin ji bo êrîşan werin bikar anîn , û 33% ji alavên xebitandinê yên ku dikarin bibin sedema êrîşê nehatin dîtin).

Ji bo baştirkirina kalîteya danasîna kelûpelên pirsgirêk, Kasper qelsiyên ku êrîşkar dikare di her gavê pêkanîna êrişên çîna Specter de bi kar bîne model dike - pirsgirêkên ku destûrê didin kontrolkirina daneyê têne model kirin (mînak, veguheztina daneyên êrîşkar di nav avahiyên mîkromîmarî de da ku bandorê li darvekirina spekulatîf a paşîn bi kar bîne. Êrîşên pola LVI), bigihîjin agahdariya nepenî (mînakî, dema ku ji sînorên tamponê derbas dibin an piştî ku ew azad dibe bikar tînin) û agahdariya nepenî derdixin (mînak, bi analîzkirina rewşa cache ya pêvajoyê an bi karanîna rêbaza MDS).

Kasper, skanerek ji bo pirsgirêkên darvekirina kodê spekulatîf di kernel Linux de, naha peyda dibe

Dema ceribandinê, kernel bi pirtûkxaneyên dema xebitandinê yên Kasper ve girêdayî ye û di asta LLVM de kontrol dike. Pêvajoya kontrolê înfazkirina kodê ya spekulatîf, ku bi karanîna mekanîzmaya vegerandina nuqteya kontrolê ve hatî bicîh kirin, ku bi taybetî şaxek kodê ya bi xeletî hatî pêşbînîkirin dimeşîne, û dûv re vedigere rewşa bingehîn berî ku şax dest pê bike. Kasper di heman demê de hewl dide ku qelsiyên nermalava û hardware yên cihêreng simule bike, bandora bandorên mîmarî û mîkroarchitectural analîz dike, û ceribandina fuzz a kiryarên êrîşkar ên gengaz dike. Ji bo analîzkirina herikîna darvekirinê, porta DataFlowSanitizer ji bo kernel Linux tê bikar anîn, û ji bo ceribandina fuzzing, guhertoyek guherbar a pakêta syzkaller tê bikar anîn.

Kasper, skanerek ji bo pirsgirêkên darvekirina kodê spekulatîf di kernel Linux de, naha peyda dibe

Vekolînek kernel Linux-ê ku Kasper bikar tîne 1379 kelûpelên berê nenas nas kir ku di dema pêkanîna talîmatên spekulatîf de potansiyel dibin sedema levkirina daneyan. Tê destnîşan kirin ku dibe ku tenê hin ji wan pirsgirêkên rastîn derxînin holê, lê ji bo ku nîşan bidin ku xetereyek rast heye, û ne tenê teorîk, prototîpa xebitandinê ya îstismarkirinê ji bo yek ji perçeyên kodê yên pirsgirêkî hate pêşve xistin, ku rê li ber agahdariyê vedike. rijandin ji bîra kernel.

Source: opennet.ru

Add a comment