Instrukciju izpildes laika atkarība no datiem par ARM un Intel CPU

Ēriks Biggers, viens no Adiantum šifra izstrādātājiem un Linux kodola fscrypt apakšsistēmas uzturētājs, ierosināja ielāpu komplektu, lai bloķētu drošības problēmas, kas izriet no Intel procesoru funkcijas, kas negarantē pastāvīgu izpildes laiku dažādiem apstrādātiem datiem. Problēma parādās Intel procesoros, sākot ar Ice Lake saimi. Līdzīga problēma tiek novērota ARM procesoros.

Instrukciju izpildes laika atkarību no šajās instrukcijās apstrādātajiem datiem ielāpu autors uzskata par procesoru ievainojamību, jo šāda rīcība nevar garantēt sistēmā veikto kriptogrāfijas darbību drošību. Daudzas kriptogrāfijas algoritmu ieviešanas ir izstrādātas, lai nodrošinātu, ka dati neietekmē instrukciju izpildes laiku, un šīs darbības pārkāpšana var izraisīt sānu kanālu uzbrukumu izveidi, kas atgūst datus, pamatojoties uz to apstrādes laika analīzi.

Potenciāli izpildlaika datu atkarību var izmantot arī, lai uzsāktu uzbrukumus, lai noteiktu kodola datus no lietotāja vietas. Pēc Ērika Biggersa teiktā, pastāvīgs izpildes laiks pēc noklusējuma netiek nodrošināts pat instrukcijām, kas veic pievienošanas un XOR darbības, kā arī specializētām AES-NI instrukcijām (informācija nav apstiprināta ar testiem, pēc citiem datiem ir viena aizkave cikls vektoru reizināšanas un bitu skaitīšanas laikā).

Lai atspējotu šo darbību, Intel un ARM ir ierosinājuši jaunus karodziņus: PSTATE bits DIT (Datu neatkarīgs laiks) ARM CPU un MSR bits DOITM (Data Operaand Independent Timing Mode) Intel CPU, atgriežot veco darbību ar nemainīgu izpildes laiku. Intel un ARM iesaka iespējot nepieciešamo aizsardzību kritiskajam kodam, taču patiesībā kritiskie aprēķini var notikt jebkur kodolā un lietotāja telpā, tāpēc mēs apsveram visu laiku iespējot DOITM un DIT režīmus visam kodolam.

ARM procesoriem Linux 6.2 kodola filiāle jau ir pieņēmusi ielāpus, kas maina kodola darbību, taču šie ielāpi tiek uzskatīti par nepietiekamiem, jo ​​tie aptver tikai kodola kodu un nemaina lietotāja vietas darbību. Intel procesoriem aizsardzības iekļaušana joprojām ir pārskatīšanas stadijā. Plākstera ietekme uz veiktspēju vēl nav izmērīta, taču saskaņā ar Intel dokumentāciju DOITM režīma iespējošana samazina veiktspēju (piemēram, atspējojot dažas optimizācijas, piemēram, datu specifisku iepriekšēju ielādi), un turpmākajos procesoru modeļos veiktspējas samazinājums var palielināties. .

Avots: opennet.ru

Pievieno komentāru