Bofokoli ho eBPF bo ka fetang tšireletso ea tlhaselo ea Specter 4

Likotsi tse peli li se li khethiloe ka har'a kernel ea Linux e lumellang hore tsamaiso ea eBPF e sebelisoe ho qoba tšireletso khahlanong le tlhaselo ea Specter v4 (SSB, Speculative Store Bypass). Ka ho sebelisa lenaneo le sa tsitsang la BPF, mohlaseli a ka theha maemo bakeng sa ts'ebetso e inahaneloang ea ts'ebetso e itseng mme a fumana likahare tsa libaka tse sa lebelloang tsa mohopolo oa kernel. Bahlokomeli ba tsamaiso e ka tlase ea eBPF ka har'a kernel ba fumane monyetla oa ho sebelisa mohlala o bonts'ang bokhoni ba ho etsa litlhaselo ka ts'ebetso. Mathata a lokisitsoe ka mokhoa oa li-patches (1, 2), tse tla kenyelletsoa ntlafatsong e latelang ea Linux kernel. Lintlafatso tsa lisebelisoa tsa kabo ha li so thehoe (Debian, RHEL, SUSE, Arch, Fedora, Ubuntu).

Mokhoa oa tlhaselo oa Specter 4 o ipapisitse le ho khutlisa data e bolokiloeng ka har'a cache ea processor kamora ho lahla sephetho sa ts'ebetso e inahaneloang ea ts'ebetso ha o ntse o sebetsana le ts'ebetso e fapaneng ea ho ngola le ho bala o sebelisa aterese e sa tobang. Ha ts'ebetso ea ho bala e latela mokhoa oa ho ngola (mohlala, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), ho fokotseha ha aterese e baloang ho ka 'na ha tsejoa ka lebaka la ts'ebetso e ts'oanang e ntseng e etsoa. e etsoa khafetsa ho feta 'me ho ka baloa ho tsoa ho cache) mme processor e ka bala ka mokhoa o inahaneloang pele e ngola ntle le ho emela hore ho baloe indirection offset ea mongolo.

Haeba, ka mor'a ho bala offset, matekoane a libaka tsa mohopolo bakeng sa ho ngola le ho bala a fumanoa, processor e tla lahla sephetho se seng se ntse se le teng se fumanoeng ebe se pheta ts'ebetso ena. Karolo ena e lumella taelo ea ho bala ho fihlella boleng ba khale atereseng e 'ngoe ha ts'ebetso ea lebenkele e so phethoe. Kamora ho lahla ts'ebetso e sa atleheng ea ts'ebetso, mesaletsa ea ts'ebetso ea eona e ntse e le ka har'a cache, ka mor'a moo ho ka sebelisoa e 'ngoe ea mekhoa ea ho tseba se ka har'a cache ho e khutlisa ho ipapisitse le tlhahlobo ea liphetoho nakong ea phihlello ea data e bolokiloeng le e sa kengoang.

Kotsi ea pele (CVE-2021-35477) e bakoa ke phoso ea mokhoa oa ho netefatsa lenaneo la BPF. Ho itšireletsa khahlanong le tlhaselo ea Specter 4, verifier e eketsa taelo e eketsehileng ka mor'a hore ho be le mathata a mangata mohopolong o bolokang boleng ba lefeela ho tlosa mekhoa ea ts'ebetso e fetileng. Ts'ebetso ea ho ngola null e ne e lebelletsoe ho potlaka haholo mme e thibele ts'ebetso e inahaneloang hobane e ipapisitse le sesupo ho foreimi ea stack ea BPF. Empa ha e le hantle, ho ile ha khoneha ho theha maemo ao tlas'a taelo e lebisang polaong e inahaneloang e khonang ho phethoa pele ho ts'ebetso ea polokelo ea pele.

Kotsi ea bobeli (CVE-2021-3455) e bakoa ke taba ea hore ha mohlahlobi oa BPF a tsebahatsa mesebetsi e ka 'nang ea e-ba kotsi ea ho boloka mohopolo, ha e nahane ka libaka tse sa tsejoeng tsa BPF stack, mosebetsi oa pele oa ho ngola o sa sireletsehang. Tšobotsi ena e lebisa monyetla oa ho etsa ts'ebetso ea ho bala e inahaneloang, e itšetlehileng ka sebaka sa memori se sa tsejoeng, pele o phethahatsa taelo ea lebenkele. Mehopolo e mecha bakeng sa stack ea BPF e abetsoe ntle le ho hlahloba likahare tse seng li le mohopolong o fanoeng, 'me ho na le tsela pele lenaneo la BPF le sebetsa ho laola litaba tsa sebaka sa memori tse tla abeloa stack ea BPF.

Source: opennet.ru

Eketsa ka tlhaloso