Qelsiyên di binpergala eBPF de ku destûrê dide parastina li dijî êrîşên Specter

Di kernel Linux (CVE-2021-33624) de qelsiyek hate nas kirin ku dihêle ku bine-pergala eBPF were bikar anîn da ku parastina li hember qelsiyên çîna Specter derbas bike, ku ev yek dihêle ku meriv naveroka bîranînê wekî encama afirandina şert û mercan diyar bike. îdamkirina spekulatîf ya hin operasyonan. Êrîşa Specter hebûna hin rêzek fermanan di koda îmtiyaz de hewce dike ku rê li ber pêkanîna talîmatên spekulatîf digire. Bi manîpulekirina bernameyên BPF-ê yên ku ji bo darvekirinê hatine veguheztin, gengaz e ku meriv rêwerzên wekhev di eBPF-ê de biafirîne û naveroka bîranîna kernel û deverên kêfî yên bîranîna laşî bi kanalên alî ve derxe.

Zelalbûn ji ber xeletiyên di verastkerê de ye, ku ji bo tespîtkirina xeletî û çalakiya nepejirandin di bernameyên BPF de tê bikar anîn. Verastker rêyên pêkanîna kodê yên muhtemel dihejmêre, lê vebijarkên şaxkirinê yên ku ji hêla semantîka mîmariya koma rêwerzan ve nayên qebûl kirin derbas dike. Dema ku bernameyek BPF-ê bi darve dike, vebijarkên şaxên weha yên ku ji hêla verastker ve nayên hesibandin dikare ji hêla pêvajoyê ve bi xeletî were pêşbînîkirin û di moda spekulatîf de were darve kirin. Mînakî, dema ku operasyona "barkirinê" analîz dike, verastker li bendê ye ku talîmat qeydek bi navnîşek ku nirxa wê her gav di nav sînorên diyarkirî de ye bikar bîne, lê êrîşkarek dikare şert û mercên ku di binê wan de pêvajoker hewl bide ku bi spekulatîf operasyonek bi kar bîne biafirîne. navnîşek ku şertên verastkirinê nagire.

Pirsgirêk ji dema serbestberdana kernel 4.15-an û vir ve xuya dibe û di forma paçên (1, 2, 3, 4) de hatî rast kirin. Di belavkirinan de qelsî bêserûber dimîne (Debian, RHEL, Ubuntu, Fedora, SUSE, Arch).

Digel vê yekê, hûn dikarin li ser bandora performansa amûrên ji bo parastina li hember qelsiyên Specter notê binihêrin. Nîşe encamên xweşbîniya debugera rr (Qeyd û Replay), ya ku carekê li Mozilla-yê hatî çêkirin ji bo rakirina xeletiyên dijwar-dubarekirî yên di Firefox-ê de, kurt dike. Cachkirina bangên pergalê yên ku ji bo kontrolkirina hebûna pelrêçan têne bikar anîn operasyona "rr çavkaniyên" ji bo projeya ceribandinê ji 3 hûrdem 19 çirke kêm kir 36 çirke.

Nivîskarê xweşbîniyê biryar da ku kontrol bike ka performans dê çawa biguhezîne piştî neçalakkirina parastina Specter. Piştî bootkirina pergalê bi pîvana "mitigations=off" dema pêkanîna "rr çavkaniyên" bêyî xweşbîniyê bû 2 deqîqe 5 çirk (1.6 qat zûtir), û bi xweşbîniyê bû 33 saniye (% 9 zûtir). Balkêş e, neçalakkirina parastina Specter ne tenê dema darvekirina kodê di asta kernelê de 1.4 carî kêm kir (ji 2m9s berbi 1m32s), lê di heman demê de dema darvekirinê di cîhê bikarhêner de jî nîvî kir (ji 1m9s berbi 0m33s), dibe ku ji ber kêmbûna karbidestiya xebata cache CPU û TTB. dema ku parastina Specter çalak be vedigere.

Source: opennet.ru

Add a comment