AF_ALG'is Linuxis eemaldatakse zero-copy turvakaalutluste tÔttu

Linuxi krĂŒptograafia alamsĂŒsteemis valmistatakse ette tugiteenuse eemaldamist zero-copy liidesest AF_ALG algoritmi tĂŒĂŒpide jaoks SKCIPHER ja AEAD. Muudatus on juba cryptodevi puu sees ja ootab sulandumise aknas saatmist Linux 7.2, mis peaks avanema juunis. PĂ”hjuseks on mure zero-copy mehhanismide turvalisuse ĂŒle kernis, eriti pĂ€rast hiljutisi haavatavusi Linuxi krĂŒptograafilises koodis.

AF_ALG — see on kasutajaliides Linuxi krĂŒptograafia API-le. Selle kaudu saavad programmid pöörduda krĂŒptograafiliste algoritmide, hash’ide ja AEAD-algoritmide teostuste poole kernis nagu soketite poole. Linuxi dokumentatsioon kirjeldab eraldi AF_ALG zero-copy reĆŸiimi lĂ€bi splice() ja vmsplice(), mille kĂ€igus pĂŒĂŒab kern vĂ€ltida tarbetut andmete kopeerimist kerni mĂ€llu.

Probleem on selles, et AF_ALG puhul ei osutunud see jĂ”udluse kasu nii mĂ€rkimisvÀÀrseks ja riskid on liiga suured. Muudatuse autor, Linuxi krĂŒptograafia alamsĂŒsteemi arendaja Erik Biggers Google'ist, mainis, et zero-copy vĂ”imaldab kasutajaruumi kĂ€ivitada krĂŒptograafilisi toiminguid otse failide page cache'i lehtedel, nĂ€iteks binaarfailis su, ja loob tingimused TOCTOU-haavatavustele, kus mĂ€lu vĂ”ib samal ajal muutuda toimingu kĂ€igus.

TeisisĂ”nu, mehhanism, mis on kasulik vĂ”rgus vĂ”i failide sisendi-vĂ€ljundi puhul, nĂ€eb AF_ALG-is vĂ€lja liiga ohtliku optimeerimisena. Ise AF_ALG, arendaja sĂ”nul, sĂ€ilitakse praegu peamiselt tagurpidi ĂŒhilduvuse nimel vĂ€ikese programmide kogumi jaoks, nĂ€iteks iwd, mis pole veel ĂŒleviidud kasutajaruumi krĂŒptograafiale. Alguses oli AF_ALG mĂ”eldud ka riistvaraliste krĂŒptokiirendite juurde pÀÀsemiseks, kuid praktikas osutus see selle ĂŒlesande jaoks mitte eriti tĂ”husaks liideseks.

Oluline on mĂ€rkida, et tegemist ei ole splice() vĂ”i sendfile() tĂ€ieliku eemaldamisega AF_ALG jaoks. Muudatus kirjeldatakse kui „pehme rike“ ĂŒhilduvuses: andmete edastamine AF_ALG pĂ€ringutesse splice() ja sendfile() kaudu jĂ€tkab töötamist, kuid kern teeb nĂŒĂŒd krĂŒptograafilise toimingu eel stabiilse sisemise koopia andmetest. JĂ”udlus vĂ”ib mĂ”nel juhul vĂ€heneda, kuid kasutaja API ei purune formaalselt.

Erinevalt rĂ”hutatakse, et praegu eemaldatakse zero-copy skcipher ja aead. TĂŒĂŒbi toetamine hash arutatakse eraldi.

Muudatus toimub ebasoodsates oludes. Aprilli lĂ”pus paljastati haavatavus Kopeeri nurjumine (CVE-2026-31431) algif_aead, mis tĂ€hendab, et see on tĂ€pselt kasutaja krĂŒptoliidese AF_ALG osas. Uurijad nĂ€itasid, et AF_ALG, splice() ja AEAD-töötluse omaduste kombinatsioon vĂ”imaldas mitteprivilegeeritud kasutajal kahjustada page cache'i, sealhulgas lehti, mis vastavad setuid-binaaridele, ning saada juurkontrolli Ă”iguseid.


Ilmumine Kopeeri nurjumine oli seotud 2017. aasta optimeerimisega, mis viis AEAD-operatsioonid „kohtade peal“ töötlemisse; failide edastamisel splice() kaudu AF_ALG-i, töötles kerneli mitte koopia, vaid lingid page cache'i lehtedele. Selle tulemusena vĂ”ivad osa andmetest, mida peeti ainult sisenditeks, ilmuda kirjutatavas scatterlist'is.

Zero-copy eemaldamine AF_ALG-ist ei ole punktikohane parandus ainult ĂŒhe haavatavuse jaoks. Pigem on see katse kĂ”rvaldada terve riskantsete stsenaariumite klass vĂ€hekasutatavas UAPI-s, kus optimeerimisest saadav kasu ei Ă”igusta keerukust ja potentsiaalseid tagajĂ€rgi. Tavalistele kasutajatele jÀÀb see muutus tĂ”enĂ€oliselt mĂ€rkamatuks; haruldaste programmide puhul, mis kasutavad AF_ALG-i aktiivselt lĂ€bi splice() vĂ”i sendfile(), vĂ”ib tekkida jĂ”udluse langus tĂ€iendava kopeerimise tĂ”ttu.

Allikas: linux.org.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster