- Liittynyt
- 17.10.2016
- Viestejä
- 1 035
Virhe on helppo määritellä. Ohjelma pääsee käsiksi sellaiseen dataan, jolle sillä ei ole oikeuksia.
Nyt ongelmana on se, että täysin oikein toimivan prosessorin väärä toiminta mahdollistaa ei-luettavissa olevan datan arvojen päättelemisen.
Ohjelma ei pääse käsiksi dataan... se mahdollistaa datan päättelemisen... näiden välillä on hyvin iso ero. (Se dataan pääsy nyt esim. antaisi mahdollisuuden ajaa mielivaltaista koodia suoraan.)
Määrittele väärä toiminta... (vinkki: standardi ei sitä haluamallasi tavalla määrittele tässä kohtaa... se ei ota mitään kantaa suoritusaikoihin...) Nyt siis sen turvajärjestelmän itsensä voi ajatella toimivan eri nopeudella riippuen siitä mitä muuta samalla tehdään. Turvajärjestelmä kyllä aktivoituu ja estää lukemisen!
Mutta jos ohjelma ei oikeasti lukenutkaan... (Kuten mitä näissä tämänkertaisissa haavottuvuuksissa tehdään.)
Kunhan vaan huijasi prosessorin kuvittelemaan, että olisi ehkä voinut lukea... (Se ehtolause estää lukemisen mutta koodi toki kannattaa ajaa etukäteen ennen kuin vertailu oikeasti valmistuu – tässä oleellista on tehdä ehtolauseen vertailusta niin hidasta, että sisällön ehtii ajaa ja myös vaikka samalla huomata, että sitä koodia siellä sisällä ei sovi muutenkaan ajaa – näin tehdään ihan järjestään prosessoreissa kunhan vaan pitää huolen, että jos vertailu onkin ”epätosi” niin ajettu koodi ei saa tietenkaan tehdä mitään pysyviä muutoksia.)
Niin silti tämän jäljiltä jää kuitenkin mitattavissa oleva nopeusero seuraavaksi sen ei-ajetun ehdon jälkeen ajettavalle koodille... (Josta voi päätellä mitä muistissa on.)
Aika kuvaavaa, jos 2/3 isoa prosessorivalmistajaa ajaa samaan miinaan... vika on siinä, että prosessorien standardit eivät määrittele riittävän tarkasti miten pitäisi toimia... ns. ”oikein toimiva” prosessori ”vuotaa” epäsuorasti tietoa toiminnastaan. (Klassisesti tätä on mm. käytetty päättelemään salausavaimia, koska oikea toiminta johtaa joissain tapauksissa erisuureen laskenta-aikaan riippuen avaimen yksittäisten bittien arvoista. Näitä on sitten korjattu melko esoteerisillakin tavoilla...)