Ir al cuntegn

Mitigiaziuns da mancanzas da segirezza da la CPU

Ditana activescha sco standard las mitigiaziuns da mancanzas da segirezza da la CPU en il High Security mode. L’installatur identifitgescha tge mitigiaziuns che Vossa CPU specifica dovra, cun leger /sys/devices/system/cpu/vulnerabilities/, e porscha lura mintgina sco chaschetta da controlla che sa lascha activar e deactivar individualmain en il dialog Expert Settings → CPU Vulnerability Mitigation Options. Questa pagina documentescha detagliadamain mintga opziun.

Parameters da standard dal kernel cunter las mitigiaziuns da Ditana

Secziun «Parameters da standard dal kernel cunter las mitigiaziuns da Ditana»

Las valurs da standard dal Linux d’origin tschertgan in equiliber tranter segirezza e prestaziun e laschan tschertas mancanzas da segirezza senza mitigiaziun, sch’ins n’activescha betg explicitamain la mitigiaziun. Ditana activescha las mitigiaziuns sco standard – per la gronda part da las chargias da lavur è il cust negligibel, entant ch’il profit per la segirezza è considerabel. Vus pudais deactivar en l’installatur mintga mitigiaziun individuala, sche Vus avais ina chargia da lavur che profitescha cumprovadamain da quai.

La logica da las mitigiaziuns è specifica per la hardware. Mo las mancanzas da segirezza che Vossa CPU ha effectivamain vegnan configuradas; tut il rest resta tar la valur da standard dal kernel.

Suenter l’installaziun

Secziun «Suenter l’installaziun»

Pliras mitigiaziuns cumpiglian la deactivaziun dal Simultaneous Multi-Threading (SMT, er enconuschent sco Hyper-Threading) sco soluziun da reserva. Il chau-pagina persunalisà dal terminal da Ditana mussa tge mitigiaziuns ch’èn activas e sche SMT è activà u deactivà.

Vus pudais er verifitgar cun:

Fanestra dal terminal
lscpu

Per cumparegliar la prestaziun cun e senza ina tscherta mitigiaziun, modifitgai la lingia da cumond dal kernel per in sulet aviar ed allontanai il parameter che tutga tar la mitigiaziun che Vus vulais testar. En in’installaziun cun ZFS – quella ch’il profil Standard creescha – fa ins quai cun l’editur da boot environments da ZFSBootMenu; sin in sistem che vegn avià cun GRUB, squitschai e en il menu. Ils parameters èn enumerads sutvart per mintga endataziun sut «Parameter applitgà». Reaviai ed exequi Vossa vaira chargia da lavur – benchmarks sintetics mussan darar l’effect real.

Per fixar permanentamain ina midada en in’installaziun cun ZFS, defini la lingia da cumond en il boot environment:

Fanestra dal terminal
sudo zfs set org.zfsbootmenu:commandline="rw <options>" ditana-root/ROOT
zfs get org.zfsbootmenu:commandline ditana-root/ROOT

Per fixar permanentamain la midada sin in sistem che vegn avià cun GRUB, modifitgai /etc/default/grub, tschertgai la lingia GRUB_CMDLINE_LINUX_DEFAULT (faschai l’emprim ina copia da segirezza), allontanai il parameter ed exequi lura:

Fanestra dal terminal
sudo grub-mkconfig -o /boot/grub/grub.cfg

Sch’ina midada impedescha l’aviar, modifitgai la lingia da cumond dal kernel en il menu da GRUB per restaurar il sistem, e repeti lura la modificaziun e grub-mkconfig.

Mitigiaziuns che Ditana activescha sco standard

Secziun «Mitigiaziuns che Ditana activescha sco standard»

Spectre varianta 2 – Branch Target Injection

Secziun «Spectre varianta 2 – Branch Target Injection»

Attatga cun execuziun speculativa che permetta da leger datas sensiblas tras ina predicziun manipulada da sigls indirects. Ditana applitgescha la mitigiaziun cumpletta (Indirect Branch Prediction Barrier adina activa empè da cundiziunala).

Tut las mitigiaziuns da Spectre varianta 2 pon vegnir activadas obligatoricamain durant l’aviar per tut ils programs. Quai chaschuna custs supplementars, perquai che las speculaziuns da sigls indirects vegnan restrenschidas per tut ils programs.

kernel.org: Spectre

Identificatur lscpu Spectre v2
Num dal parameter Enforce Spectre Variant 2 Mitigation
Parameter applitgà spectre_v2=on

L1 Terminal Fault (L1TF)

Secziun «L1 Terminal Fault (L1TF)»

Pertutga CPUs dad Intel e permetta in access betg autorisà a datas en il cache L1. Ditana sforza la mitigiaziun cumpletta cun svidar agressivamain il cache.

Il kernel na sforza betg sco standard la deactivaziun da SMT, uschia che sistems cun SMT restan pertutgads, cura ch’els exequeschan sistems giast betg fidads cun EPT activà.

kernel.org: L1TF

Identificatur lscpu L1tf
Num dal parameter Enforce L1 Terminal Fault Mitigation
Parameter applitgà l1tf=full,force

Microarchitectural Data Sampling (MDS)

Secziun «Microarchitectural Data Sampling (MDS)»

Ina persuna ch’attatga il sistem po prender mustras da datas ord ils buffers da la CPU. La mitigiaziun cumpletta po deactivar SMT, sche necessari.

Il kernel na sforza betg sco standard la deactivaziun da SMT, uschia che sistems cun SMT restan pertutgads, cura ch’els exequeschan code betg fidà.

kernel.org: MDS

Identificatur lscpu Mds
Num dal parameter Enforce MDS Mitigation
Parameter applitgà mds=full,nosmt

TSX Asynchronous Abort (TAA)

Secziun «TSX Asynchronous Abort (TAA)»

Pertutga CPUs cun Transactional Synchronization Extensions. La mitigiaziun cumpletta po deactivar SMT, sche necessari.

TSX po vegnir deactivà, sch’il microcode porscha in MSR da controlla per TSX. En quest cas n’è il sistem betg pertutgà.

kernel.org: TAA

Identificatur lscpu Tsx async abort
Num dal parameter Enforce TSX Async Abort Mitigation
Parameter applitgà tsx_async_abort=full,nosmt

Meltdown (svidar il cache L1D)

Secziun «Meltdown (svidar il cache L1D)»

Attatga cun execuziun speculativa che permetta da leger la memoria dal kernel a partir dal spazi d’utilisader. Ditana sforza il svidar dal cache da datas L1.

La lingia da cumond dal kernel permetta da reglar durant l’aviar las mitigiaziuns tras svidar il cache L1D cun l’opziun l1d_flush=. Sco standard è il mecanissem deactivà.

kernel.org: L1D flush

Identificatur lscpu Meltdown
Num dal parameter Enforce Meltdown Mitigation
Parameter applitgà l1d_flush=on

Fugia da datas dal memory-mapped I/O. La mitigiaziun cumpletta po deactivar SMT.

full,nosmt – Il medem sco full, cun SMT deactivà sin CPUs pertutgadas. Quai è la mitigiaziun cumpletta.

kernel.org: MMIO stale data

Identificatur lscpu Mmio stale data
Num dal parameter Enforce MMIO Stale Data Mitigation
Parameter applitgà mmio_stale_data=full,nosmt

Retbleed – Cross-Thread Return Address Predictions

Secziun «Retbleed – Cross-Thread Return Address Predictions»

Attatga cun execuziun speculativa che tradescha adressas da return. La mitigiaziun tschernida automaticamain po deactivar SMT.

auto,nosmt – tscherner automaticamain ina mitigiaziun e deactivar SMT, sche quai è necessari per la mitigiaziun cumpletta.

kernel.org: kernel parameters

Identificatur lscpu Retbleed
Num dal parameter Enforce Retbleed Mitigation
Parameter applitgà retbleed=auto,nosmt

Guardai er kernel.org: Cross-Thread Return Address Predictions.

Speculative Return Stack Overflow (SRSO)

Secziun «Speculative Return Stack Overflow (SRSO)»

Attatgas speculativas via il return stack buffer. Cumbinescha barrieras IBPB cun il modus strict spectre_v2-user.

Mitigation: IBPB: Protecziun sumeglianta a «safe RET», ma cun ina barriera IBPB tar ils passadis tranter domenas da privilegis (User→Kernel, Guest→Host).

kernel.org: SRSO

Identificatur lscpu Spec rstack overflow
Num dal parameter Enforce SRSO Mitigation
Parameter applitgà spec_rstack_overflow=ibpb spectre_v2_user=on

Gather Data Sampling (GDS)

Secziun «Gather Data Sampling (GDS)»

Pertutga las instrucziuns AVX. Sforza la mitigiaziun tras microcode u deactivescha AVX, nua che microcode n’è betg disponibel.

Cun gather_data_sampling=force vegn utilisada la mitigiaziun tras microcode, sch’ella è disponibla, u AVX vegn deactivà sin sistems pertutgads, nua ch’il microcode n’è betg vegnì actualisà per cuntegnair la mitigiaziun.

kernel.org: Gather Data Sampling

Identificatur lscpu Gather data sampling
Num dal parameter Enforce Gather Data Sampling Mitigation
Parameter applitgà gather_data_sampling=force

Register File Data Sampling (RFDS)

Secziun «Register File Data Sampling (RFDS)»

Permetta da prender mustras da datas ord ils registers da la CPU.

Quest parameter remplazza la valur da standard fixada durant la cumpilaziun tras CONFIG_MITIGATION_RFDS.

kernel.org: kernel parameters

Identificatur lscpu Reg file data sampling
Num dal parameter Enforce RFDS Mitigation
Parameter applitgà reg_file_data_sampling=on

Guardai er kernel.org: RFDS.

Mancanzas da segirezza che l’installatur na mussa betg

Secziun «Mancanzas da segirezza che l’installatur na mussa betg»

Per quellas applitgescha il kernel sco standard la mitigiaziun maximala – Ditana n’ha nagut d’agiuntar.

Il kernel annunzia anc tschintg ulteriuras che na vegnan numnadas nagliur survart, perquai che Ditana n’agiuntescha er a quellas nagut: Ghostwrite, Indirect Target Selection, old microcode, TSA e VMSCAPE. Il kernel decida tenor il processur ch’el chatta tge che mintgina da quellas dovra, e lascha il resultat là, nua che lscpu e /sys/devices/system/cpu/vulnerabilities/ mussan quel.

Spectre varianta 1 – Bounds Check Bypass

Secziun «Spectre varianta 1 – Bounds Check Bypass»

I na dat nagina garanzia che tut ils vecturs d’attatga pussaivels per Spectre varianta 1 sajan cuverts.

kernel.org: Spectre

Identificatur lscpu: Spectre v1

Identificatur lscpu: Itlb multihit. Guardai kernel.org: iTLB multihit.

SRBDS – Special Register Buffer Data Sampling

Secziun «SRBDS – Special Register Buffer Data Sampling»

Identificatur lscpu: Srbds. Guardai kernel.org: SRBDS.

Speculative Store Bypass (SSB)

Secziun «Speculative Store Bypass (SSB)»

Il kernel porscha mitigiaziun per talas mancanzas da segirezza en differentas furmas.

kernel.org: spec_ctrl

Identificatur lscpu: Spec store bypass.

Reducziun da las mitigiaziuns – a Voss agen ristg

Secziun «Reducziun da las mitigiaziuns – a Voss agen ristg»

L’installatur porscha er duas opziuns che reduceschan las mitigiaziuns. Quellas augmentan considerablamain Vossa exposiziun a mancanzas da segirezza enconuschentas da la CPU. Utilisai quellas mo cun in motiv cler e giustifitgà.

Deactivar Intel Indirect Branch Tracking – ibt=off

Secziun «Deactivar Intel Indirect Branch Tracking – ibt=off»

Deactivescha l’Indirect Branch Tracking dal kernel. IBT è la mesadad forward-edge da la Control-flow Enforcement Technology – la hardware controllescha che mintga sigl u appel indirect arriva sin in’instrucziun endbr, e quai renda difficila la programmaziun orientada a sigls ed ad appels. I sa tracta da l’integritad dal fluss da controlla, betg d’ina mitigiaziun da l’execuziun speculativa: Branch Target Injection è Spectre v2, explitgà pli baud sut spectre_v2=on. Quest parameter dal kernel n’è betg documentà en la referenza uffiziala dals parameters dal kernel, schebain ch’el è savens activà sco standard en tschertas distribuziuns senza nagina communicaziun explicita.

Il kernel documentescha l’autra mesadad da CET, il shadow stack en il spazi d’utilisader, sut shstk; IBT sez n’ha là nagina atgna pagina.

Deactivar tut las mitigiaziuns – mitigations=off

Secziun «Deactivar tut las mitigiaziuns – mitigations=off»

Quai è pli ferm che deactivar mintga mitigiaziun singula en il dialog. Cun mitigations=off sursiglia il kernel mintga mitigiaziun ch’el enconuscha – inclus quellas che Ditana na mussa betg, perquai ch’ellas èn activas sco standard. La limita superiura da la prestaziun crescha; il nivel minimal da la segirezza croda, e quai fermamain.

Quai è util mo per benchmarks, per sistems isolads da mintga rait cun controlla fisica cumpletta u per ambients, en ils quals Vus avais mesiras da protecziun da tut in’autra categoria.

Guardai kernel.org: kernel parameters.

Exclusiun da responsabladad

Secziun «Exclusiun da responsabladad»

Las indicaziuns qua sa basan sin la documentaziun uffiziala davart las mancanzas da segirezza da la CPU e sin la referenza dals parameters da la lingia da cumond dal kernel. Differents roms dal kernel divergeschan mintgatant da questas valurs da standard en moda subtila; noss tests cuvran ils kernels sustegnids da Ditana, ma cumbinaziuns da hardware nunusitadas pon chaschunar cas extrems.

Sche Vus avais ina chargia da lavur che profitescha d’in’autra valur da standard, u sche Vus chattais in model da CPU, per il qual l’identificaziun da Ditana è incumpletta u incorrecta: per plaschair avri in issue sin GitHub u scrivai in e-mail a [email protected]. La logica d’identificaziun è datas, betg code – uschia èn meglieraziuns per regla in pèr lingias KDL.

Questa translaziun è vegnida fatga a maschina. Las lecturas ed ils lecturs la megliereschan sin Weblate.