Toetran'ny hazakazaka ao amin'ny mpanangona fako kernel Linux izay mety hitarika amin'ny fisondrotry ny tombontsoa

Jann Horn avy amin'ny ekipan'ny Google Project Zero, izay nahafantatra ny fahalemen'ny Spectre sy Meltdown taloha, dia namoaka teknika hanararaotra ny vulnerable (CVE-2021-4083) ao amin'ny mpanangona fako kernel Linux. Ny vulnerability dia noho ny toetry ny hazakazaka rehefa manadio ny famaritana ny rakitra amin'ny sockets unix ary mety ahafahan'ny mpampiasa tsy manana tombontsoa eo an-toerana manatanteraka ny kaody ao amin'ny kernel.

Ny olana dia mahaliana satria ny varavarankelin'ny fotoana hitrangan'ny toetry ny hazakazaka dia tombanana ho kely loatra mba hamoronana fanararaotana tena izy, saingy ny mpanoratra ny fanadihadiana dia naneho fa na dia ny fahalemena miahiahy tamin'ny voalohany aza dia mety ho lasa loharanon'ny fanafihana tena izy raha toa ka manana ny fanararaotana ny mpamorona. ny fahaiza-manao ilaina sy ny fotoana. Yann Horn dia naneho ny fomba, miaraka amin'ny fanampian'ny fanodikodinana filigree, azonao atao ny mampihena ny toetry ny hazakazaka izay mitranga rehefa miantso ny akaiky () sy ny fget () miasa miaraka amin'ny vulnerability tanteraka azo ampiasaina aorian'ny-maimaim-poana ary mahazo fidirana amin'ny angon-drakitra efa afaka. rafitra ao anaty kernel.

Mitranga ny fepetran'ny hazakazaka mandritra ny dingan'ny fanakatonana mpamoritra rakitra iray rehefa miantso akaiky() sy fget() miaraka. Ny antso hanakatona () dia mety hitranga alohan'ny hanatanterahana ny fget(), izay hampisavoritaka ny mpanangona fako satria, araka ny refcount, ny firafitry ny rakitra dia tsy hanana references ivelany, fa hijanona ho miraikitra amin'ny mpamoritra rakitra, izany hoe. Ny mpanangom-pako dia hihevitra fa manana fidirana manokana amin'ny rafitra izy, fa raha ny marina, mandritra ny fotoana fohy, ny fidirana sisa ao amin'ny tabilao mpamaritra rakitra dia mbola hanondro ny rafitra ho afaka.

Mba hampitomboana ny mety hidirana amin'ny toetry ny hazakazaka, dia nampiasa tetika maromaro, izay nahafahana nampitombo ny mety hisian'ny fahombiazana amin'ny fanararaotana ho 30% amin'ny fampidirana ny fanatsarana ny rafitra manokana. Ohatra, mba hampitomboana ny fotoana hidirana amin'ny rafitra misy mpamaritra rakitra amin'ny nanosegondra an-jatony maro, dia nesorina tao amin'ny cache processeur ny angon-drakitra tamin'ny fandotoana ny cache miaraka amin'ny hetsika amin'ny core CPU hafa, izay nahafahana naka ny rafitra avy amin'ny fitadidiana fa tsy avy amin'ny fitadidiana. ny cache CPU haingana.

Ny endri-javatra manan-danja faharoa dia ny fampiasana fanelanelanana nateraky ny fameram-potoana fitaovana mba hampitomboana ny fotoanan'ny hazakazaka. Nofantenana ny fotoana mba hitifirana ny mpandrindra ny interrupt rehefa misy fepetra hazakazaka ary manapaka ny fampiharana ny fehezan-dalΓ na mandritra ny fotoana fohy. Mba hanemorana bebe kokoa ny fiverenan'ny fanaraha-maso, 50 arivo eo ho eo amin'ny filaharana no noforonina tamin'ny fampiasana epoll, izay nitaky ny fikarohana tamin'ny alΓ lan'ny mpandrindra ny interrupt.

Ny teknika amin'ny fitrandrahana ny vulnerable dia nambara taorian'ny fe-potoana 90 andro tsy fampahafantarana. Ny olana dia miseho hatramin'ny kernel 2.6.32 ary raikitra tamin'ny fiandohan'ny volana Desambra. Ny fanamboarana dia nampidirina tao amin'ny kernel 5.16 ary nafindra tany amin'ny sampana LTS amin'ny fonosana kernel sy kernel natolotra tamin'ny fizarana. Marihina fa ny vulnerability dia fantatra nandritra ny famakafakana ny olana mitovy amin'izany CVE-2021-0920, izay miseho ao amin'ny mpanangona fako rehefa fanodinana ny saina MSG_PEEK.

Source: opennet.ru

Add a comment