Käskyn suoritusajan riippuvuus ARM- ja Intel-suorittimien tiedoista

Eric Biggers, yksi Adiantum-salauksen kehittäjistä ja Linux-ytimen fscrypt-alijärjestelmän ylläpitäjä, ehdotti sarjaa korjaustiedostoja estämään turvallisuusongelmat, jotka johtuvat Intel-prosessorien ominaisuudesta, joka ei takaa jatkuvaa suoritusaikaa eri käsitellyille tiedoille. Ongelma ilmenee Intel-prosessoreissa alkaen Ice Lake -perheestä. Samanlainen ongelma havaitaan ARM-prosessoreissa.

Korjausten tekijä pitää ohjeiden suoritusajan riippuvuutta näissä ohjeissa käsitellyistä tiedoista haavoittuvuudena prosessoreissa, koska tällainen käyttäytyminen ei voi taata järjestelmässä suoritettavien salaustoimintojen turvallisuutta. Monet salausalgoritmien toteutukset on suunniteltu varmistamaan, että tiedot eivät vaikuta käskyjen suoritusaikaan, ja tämän käyttäytymisen rikkominen voi johtaa sivukanavahyökkäyksiin, jotka palauttavat tietoja sen käsittelyajan analysoinnin perusteella.

Mahdollisesti ajonaikaista datariippuvuutta voidaan käyttää myös hyökkäyksien käynnistämiseen ydintietojen määrittämiseksi käyttäjätilasta. Eric Biggersin mukaan vakio suoritusaikaa ei anneta oletusarvoisesti edes käskyille, jotka suorittavat summaus- ja XOR-toimintoja sekä erikoistuneet AES-NI-käskyt (testeillä vahvistamaton tieto, muiden tietojen mukaan viive on yksi sykli vektorin kertolaskussa ja bittien laskennassa).

Tämän toiminnan poistamiseksi Intel ja ARM ovat ehdottaneet uusia lippuja: PSTATE-bitti DIT (Data Independent Timing) ARM-suorittimille ja MSR-bitti DOITM (Data Operand Independent Timing Mode) Intel-suorittimille, mikä palauttaa vanhan käyttäytymisen jatkuvalla suoritusajalla. Intel ja ARM suosittelevat kriittisen koodin suojauksen ottamista käyttöön tarpeen mukaan, mutta todellisuudessa kriittistä laskentaa voi tapahtua missä tahansa ytimessä ja käyttäjätilassa, joten harkitsemme DOITM- ja DIT-tilojen mahdollistamista koko ytimelle aina.

ARM-prosessoreille Linux 6.2 -ytimen haara on jo ottanut käyttöön korjaustiedostoja, jotka muuttavat ytimen toimintaa, mutta näitä korjauksia pidetään riittämättöminä, koska ne kattavat vain ytimen koodin eivätkä muuta käyttäjätilan toimintaa. Intel-prosessorien osalta suojauksen sisällyttäminen on vielä tarkistusvaiheessa. Korjauksen vaikutusta suorituskykyyn ei ole vielä mitattu, mutta Intelin dokumentaation mukaan DOITM-tilan käyttöönotto heikentää suorituskykyä (esimerkiksi poistamalla käytöstä joitain optimointeja, kuten tietokohtaista esilatausta) ja tulevissa prosessorimalleissa suorituskyvyn heikkeneminen voi lisääntyä. .

Lähde: opennet.ru

Lisää kommentti