
Intelin prosessoreista on löytynyt merkittävä suunnitteluvirhe ja tietoturvauhka, joka vaatii käyttöjärjestelmiltä kernelitason päivitystä. Vaikka ongelma havaittiin vasta nyt, se on olemassa kaikissa Intelin moderneissa prosessoreissa.
Intelin prosessoreista löytyvä bugi aiheuttaa parhaillaan päänvaivaa kehittäjille. Rautatason ongelma on niin vakava, ettei sitä voida tämänhetkisten tietojen mukaan korjata esimerkiksi mikrokoodipäivityksellä, vaan se vaatii käyttöjärjestelmien päivityksen kernelitasolla ongelman kiertämiseksi.
Toistaiseksi ongelman tarkka kuvaus on vielä salaista tietoa, mutta io-techin toimituksen tietojen mukaan kyse on tavasta, jolla Intelin prosessorit käsittelevät virtuaalimuistia, mikä voi johtaa suojatun kernelimuistin tietojen vuotamiseen käytännössä minkä tahansa ohjelman avustuksella. Ongelman korjaukseksi käyttöjärjestelmien on otettava käyttöön Kernel Page Table Isolation -ominaisuus eli PTI, joka eristää kernelimuistin täysin käyttäjätason muistiavaruudesta. Korjaus on näennäisesti ehkä yksinkertaisen kuuloinen, mutta todellisuudessa se on merkittävä muutos ja voi hidastaa useita toimintoja huomattavasti. Jotain korjauksen luonteesta kertonee myös se, että The Registerin mukaan Linux-kehittäjät kutsuivat bugin korjausta yhdessä välissä nimellä Forcefully Unmap Complete Kernel With Interrupt Trampolines, eli lyhyesti FUCKWIT.
Vaikka ongelman tarkka kuvaus on edelleen salainen, AMD:n Tom Lendackyn viesti Linux-kernelin kehittäjien mailiketjuun vihjaa, että ongelma olisi tavassa jolla Intelin prosessorit ennakoivat tulevia tehtäviä nopeuttaakseen toimintaansa. Ilmeisesti näissä tapauksissa saatetaan jättää turvatarkistukset väliin, jolloin ennakkoon suoritettava komento saattaa päästä lukemaan esimerkiksi kernelimuistia vaikkei sillä pitäisi olla mitään asiaa korkeampia oikeuksia vaativiin muistiosoitteisiin. AMD:n prosessoreissa tätä ei pääse tapahtumaan, vaan ne estävät esimerkiksi käyttäjätason prosessien pääsyn korkeampia oikeuksia vaativiin tietoihin myös ennakoivan suorituksen osalta. Samaan viittaa myös tietoturvaekspertti Anders Foghin aiemmat testit asian tiimoilta.
Linux-puolella on saatu jo julki ensimmäinen päivitys, jonka on tarkoitus korjata ongelma Intelin raudalla. Ongelmattomasta päivityksestä ei voida puhua, sillä tällä hetkellä päivitys pakottaa PTI:n käyttöön myös AMD:n prosessoreilla, vaikkei ongelma koske niitä lainkaan. Tämän myötä suorituskykyongelmat koskevat kyseisellä päivityksellä myös AMD:n prosessoreita.
Korjaus vaikuttaa kokoonpanon suorituskykyyn eniten raskaissa I/O-tehtävissä eli kotikäyttäjien ei tarvinne olla niistä huolissaan. Phoronixin alustavien testien mukaan Linux-alustalla esimerkiksi pelisuorituskyvyssä ei ole nähty eroa ennen ja jälkeen päivityksen.
Datakeskuksissa tilanne on kuitenkin toinen ja The Registerin raportin mukaan keskimääräinen suorituskykytappio synteettisissä testeissä saattaisi olla jopa 5 – 30 prosenttia, mutta sivusto ei tarjoa väitteelle lähdettä tai todisteita. AnandTechin Ian Cutressin mukaan ensimmäiset todelliset tulokset puhuvat alle puolen prosentin erosta. Phoronixin ajamat tiedostojärjestelmää rasittavat testit puhuvat myös sen puolesta, että tietyissä tehtävissä erot voivat olla erittäin suuria.
Windows-puolella ainakin alustavan päivityksen julkaisun odotetaan tapahtuvan seuraavan Patch Tuesdayn yhteydessä eli vajaan viikon kuluttua 9. tammikuuta. Myös Applen macOS-käyttöjärjestelmä tulee tarvitsemaan päivityksen, mutta sen aikataulusta ei ole toistaiseksi tietoa.
Lähteet: The Register & Reddit
Mutta hyväksyttiinkö se patchin patchi jo?
Kyseessä ei ole valmistusvika jos koskaan kukaan ei ole väittänytkään että vehje toimisi jotenkin muuten. Se että softavalmistajat haluavat tehdä tuotteistaan entistä tietoturvallisempia ei ole rautavika.
Tuo on nimenomaan yksinkertainen selitys, joka tulee suoraan siitä, miten nykyaikaisen prosessorin spekulatiivinen suoritus toimii.
Äärimmäisen epätodennäköistä.
Ne suojausbitit on ensin muistissa olevissa sivutauluissa, joista ne ladataan TLBhen.
Ei siellä oikein ole mitään syytä olla sellaista keinoa millä ne virtuaalisivun suojausbitit voisi sen latausvaiheen aikana selektiivisesti korruptoida. Sivutaulu-entry ladataan TLBhen aina sellaisenaan.
Eli se "yksinkertainen vaihtoehtosi" on todellisuudessa vaatisi prosessoriin paljon enemmän monimutkaisuutta, rakenteen jonka olemassaoloon ei ole mitään syytä tai järkeä.
Tämmöistä laittoivat Inteliltä: Intel Responds to Security Research Findings
Hohhoijjaa tota intelin "ulostuloa". Odottavan on pitkä…
Edelleen: Ei siinä ole mitään valmistusvikaa. Se toimii täysin speksien mukaan.
Jos haluat vetää autovertauksen, niin pikemminkin kyse on siitä, että ilkivalta autoja kohtaan lisääntyy, ja tämän johdosta autoihin päätetään jälkikäteen asentaa vahvemmat lasit jotta ne kestää sellaisten kivien osumat, joita auton laseja ei alunperin suunniteltu kestämään. Nämä vahvemmat lasit kuitenkin painaa enemmän minkä takia auton kiihtyvyys hidastuu prosentin verran.
No mutta, hyvää syy päivittää 8700k tulevaan 8-core malliin ja z390 alustaan, sinä lienee korjattu ns. rautatasolla! Olin jo pähkäilly et millä sen oikeuttas itselleen, ei tartte enää murehtia, kätevää!
Well ei ole vielä Intelin tulevissa prossissa päivitystä tämän suhteen. Ehkä ensivuoden malleissa tai sitä seuraavissa. Jos korjaus nykyisin markkinoilla oleviin ei onnistu mikrokoodilla, niin ei se onnistu nyt markkinoille tuleviinkaan.
Ne, jotka eivät ole vielä ollenkaan tuotannossa, vaatinevat pientä prosessijumppaa, joka viivästyttää prossan markkinoilletuloa ihan kohtuullisesti. Kultakala voinee paremmin arvioida kuinka kauan. Itsellä ei aavistustakaan…
Piti regata kun on sen verran mielenkiintoinen bugi.
Eli Intelin prossut vuotaa kuin seula, ongelmana on että spekulatiivinen luenta tehdään tarkistamatta oikeuksia, tästä on varmasti selvää nopeushyötyä/virransäästöä.
Eli homma tehdään antamalla prosessorille mahdollisuus tehdä spekulatiivinen luku kerneliosoitteesta(joka kait saadaan TLB:stä side-channel hyökkäyksellä) ja sen perään vaikka add:tään ko. spekulatiivisen käskyn tulos userspacessa olevaan osoitteeseen, ja tulos saadaan noilla side-channel luvuilla luettua userspacen cachesta vaikka tulos ei ikinä varsinaisesti mihinkään näykään. Eli koko kerneli on luettavissa. Korjaushan on pilkkoa kerneli satunnaisiin osoitteisiin ja tyhjennellä TLB usermoodin ohjelmia ajettaessa, ISO kysymys on että kun prosessorissa on noin rankka haavoittuvuus päästäänkö silti ketjussa takaisinpäin jollain keinolla, ja jos päästään niin Intelillä on todella paljon suurempi ongelma kuin pieni hidastuminen.
Eli Intel on ollut tietoinen asiasta, kun on tuollaisen toiminnan suunnitellutkin, että oikeudet jätetään tarkistamatta, jotain minkä AMD:n prossut tekee. AMD on siis ollut tietoinen tästä -> Intelin on täytynyt olla tietoinen myös. Vuosikymmenen tuottanut tällaista pazkaa tietoisesti. Toivoneet vain, ettei sitä väärinkäytettäisi. Kyllä siis prosessorissa on suunnitteluvirhe.
No the register viittasi (taisi olla täällä just se) pociin ja väitti nähneensä toisen pocin, jolla voi lukea tai joka leakkaa kernel dataa userille.
Valmistusvika, mikä valmistusvika ja ilmeisesti vielä aivan tietoinen sellainen. Ei tuo nyt mikään perinteinen tietoturva aukkoa ole, jos prosessoria pitää rampauttaa tuon takia. Eiköhän ainakin jenkeissä saada oikeutta tälle vialle. Täällä tuskin mitään.
No valmistusvika ei joo ole kyseessä, mutta suunnitteluvirhe on.
Jos turvatyynyt ei laukea kolarissa niin kyllä se silloin on suunnitteluvirhe, vaikka ne jossain toisessa kolarissa laukeavat.
Vain siinä tapauksessa että valmistaja on myynyt turvatyynyt autoon.
Kyllä, mutta sellaista mikä ei ole rikki ei tarvi korjata 🙂
Toivottavasti joku sivusto mittaa nuo.
Ei, vaan vertautuu siihen, että autossa ei alunperinkään ole niitä turvatyynyjä.
Ja sitten tulee uusi tutkimus jossa todetaan että turvatyynyt vähentää kuolemia törmäyksissä huomattavasti ja tämän johdosta tulee voimaan laki jonka mukaan kaikissa autoissa pitääkin olla turvatyynyt, ja sitten niiden jälkiasennuksesta joituu jotain pientä haittaa.
Kuka nyt on korjaamassa mitään? Kehitys kehittyy ja turvatyynyt on uusissa tulevissa autoissa.
Mutta oliko että AMD silti ajaa saman korjatun koodin, vaikka ei olisi tarvis? Eli kärsii ikäänkuin syyttömänä asiasta.
Kernelidata vuotaa userpuolen softille, joo vois sitä suunnitteluvirheenä pitää 😀
On siis sen luokan suunnitteluvirhe että ei ihan heti tule mieleen toista, ja hakkereille aukeaa ovet vaikka mihin kun tämä tiedetään. PTI-korjaus ei ole sataprosenttinen, ei voi olla kun prossu ei tarkista datan käyttöoikeuksia, tosin onhan tuo nyt 64-bittisessä avaruudessa suht hyvin turvassa, mutta suht hyvä ei välttämättä ole mitä tärkeälle datalle halutaan.
Ei ole valmistusvirhe koska se hidastaa vain "huonosti toimivia" ohjelmistoja. Prosessori toimii juuri niin kuin pitääkin, mikäli ohjelmisto on kunnossa.
Autoesimerkkisi ei toimi koska siinä poistetaan rautatason ominaisuus poistamalla se kokonaan. Prosessorin tapauksessa muutetaan ohjelmistoja jotka toimivat päivityksen jälkeen hitaammin. Huono alkaa syyttämään prosessorivalmistajaa siitä ettei ohjelma toimi yhtä nopeasti kuin aiemmin.
Edelleenkään prosessori ei hidastu yhtään. Tietyt ohjelmistot hidastuvat. Täysin eri asioita.
Hoh hoijaa.
Ja tällä Intelin lausunnolla on ollut se vaikutus, että Intelin kurssi on lähtenyt selvään nousuun ja AMD:n kurssi vastaavasti selvään laskuun:
katso liitettä 68656
katso liitettä 68657
Jos Intelin lausunnon totuus tästä vielä muuttuu, on sijoittajilta tiedossa Intelille haasteita lakitupaan.
Tervetuloa, toivottavasti löytyy jatkossakin mielenkiintoisia aiheita ja keskusteluita :tup:
Ei niitä jätetä tarkastamatta.Ne tarkastetaan. Ja sen tarkastuksen seurauksena lentäisi poikkeus ennen kuin sitä laittomasti ladattua dataa voidaan tallettaa mihinkään arkkitehtuusillesesti näkyvään paikkaan.
Todella ovelalla ja side channel-hyökkäuksellä sen datan vaan saa luettua siinä välissä, ennen kuin se poikkeus lentää.
Ja tällaiseen todella ovelaan side channel-hyökkäykseen ei todellakaan osata varautua etukäteen.
Niin intel kertoi että dataa ei voi muuttaa, poistaa tai korruptoida. Lukea voi suht vapaasti, osakemarkkinat on tyhmiä ja varmaan kurssi taas kääntyyy kun isommat saitit raportoi varsinaisesta ongelmasta.
Kuulostaa saatavissa olevien tietojen perusteella nyt valkopesulta.
Ymmärtääkseni, tuo Kerneli käyttää samaa muistialuetta, koska sen pitäisi olla arkitehtuurisesti turvassa. Nyt näin ei olekaan ja se joudutaan siirtämään. Prosessori ei toimi siis kuten on suunniteltu. Jos se toimisi kuten on suunniteltu, ja dokumentointi olisi asianmukaista, kerneli olisi jo alunperin siirretty pois samalta näkyvyysalueelta.
En ymmärrä miksi tuota tarvii selitellä. Siitä voidaan sitten keskustella kuinka paha moka on kyseessä.
Microsoft ja Linux yhteisö ainakin, minun nähdäkseni on kovasti korjaamassa.
Ei kyse ole mistään "huonosti toimivista" ohjelmista.
Kyky tehdä kutsuja käyttöjärjestelmän ytimelle on ohjelmille hyvin oleellinen ominaisuus.
Ja riippuu täysin siitä, MITÄ se ohjelma tekee, että paljonko sen tarvii niitä tehdä. Ei yhtään siitä onko ohjelma "hyvä" vai "huono".
Tällä hetkellä joo, koska alkuperäinen korjaus tehtiin oletuksella että vaikuttaa kaikkiin x86-prosessoreihin. Tämän AMD on kiistänyt ja tarjonnut vaihtoehtoisen koodin joka jättää tunkistuksessa AMD:n huomioimatta. Tätä ei ole vielä implementoitu, mutta näyttää siltä että tulee ennemmin tai myöhemmin:
Linux Will End Up Disabling x86 PTI For AMD Processors – Phoronix
Osataan, ulompien rinkien ohjelmille ei näy sisempien data. Intel on vain tehnyt "optimoinnin" ja jättänyt tarkastuksen yhdestä välistä pois jonka ei pitäisi vaikuttaa mihinkään mutta kun kaikki ei aina mene suunnitellusti.
Microsoft ja Linux ovat auton käyttäjiä. Jos auton käyttäjä hitsaa vahvistuksia pitkittäispalkkeihin paremman törmäysturvalisuuden toivossa siitä ei seuraa että turvatyynyyjen puute oli valmistusvirhe.
Ei se näykään. Ja se tarkastus tehdään. Siihen tarkastuksen tulokseen vaan reagoidaan liian myöhään, että hyvin monimutkainen, hankala ja hidas SCA mahdollistaa sen datan lukemisen.
SCAt on oikeasti todella monimutkaisia ja hankalia juttuja joihin on äärimmäisen hankala varautua etukäteen.
Siinä tapauksessa Intelin on pakko korjata asia rautatasolla, tosin vasta uusissa malleissa. Tulee taas ilmaisia teholisä prosentteja verrattuna edelliseen malliin.
Normikäyttäjällehän tää ei merkkaa mitään.
Jos sen voi löytää siihen voi varautua. Ei toki tarkoita, ettäkö se varautuminen olisi helppoa.
Mitä se prosessori tekee? Minä olen aina luullut, että sen tarkoitus on ajaa ohjelmistoja. Harvialta saa kyllä kiukaita halvemmallakin.
Käytin sanaa "osata", ei "voi".
Nyt meni kymmenen vuotta että joku koko maailmassa keksi tuon SCAn.
Mikä on todennäköisyys sille, että uudentyyppisen SCAn sattuu keksimään prosessrifirman insinööri juuri sinä aikana kun uutta prosessoria kehitetään, jolloin prosessorissa voidaan ottaa se huomioon ja esää sen toiminta? Todella pieni.
Siis Intelin prosessoreiden ongelma on että spekulatiivinen luku tehdään tarkastamatta datan käyttöoikeuksia, ja em. luennan tulokset saadaan selville. Periaatteessa tuossa välissä oikeuksien tarkastus on turhaa mutta kun ei sitten kuitenkaan ole. Esimerkiksi AMD:n prosessoreissa ei em ongelmaa ole koska dataa ei lueta tarkastamatta oikeuksia siihen ensin.
Offtopic: käväisin (ensimmäistä kertaa yli puolen vuoteen muron puolella katsomassa, mitä siellä asiasta keskustellaan (ei oikeastaan mitään).
Mutta melkein pärskähti kahvit näytölle kun huomasin vanhan tuttavamme sinsinin kommentin:
katso liitettä 68664
:srofl:
Intel Memory Access Design Flaw Already Addressed by Apple in macOS 10.13.2
Ei se poista sitä tosiasiaa, että jos prossu toimisi kuten on suunniteltu niin sitä vikaa ei olisi löytynyt edes kymmenessä vuodessa. Jos taas ongelma on tiedetty, mutta se on silti jätetty noin, "koska ei sitä kukaan löydä", kyseessä on suurempi kupru.
Se, että suunnitteluvirhe on vaikea havaita ei muuta sitä tosiasiaa, että kyseessä on suunnitteluvirhe. Sinänsä minä en mitenkään ylläty siitä, että siellä on suunnitteluvirhe. Niitä on varmasti lisääkin, mutta kukaan ei ole löytänyt. Digitaalipiirit ovat äärimmäisen monimutkaisia järjestelmiä, eikä kenelläkään ole varaa tehdä täydellistä verifiointia.
Eli sama kuin auton kansi tai lohko pettää, mutta auto toimii kuten pitää vaikka vähän nesteet ja öljyt sekoittuu, vieden vain vähän tehoa…
Oho taas Apple oli edelläkävijä jo viime vuonna. Alkaa olla yhä enemmän salaliittoteorioita että asiaa venytettiin joulun yli.
Yksinkertaistettuna prosessori suorittaa sille annettuja laskutoimituksia. Laskutoimituksien teoreettisella määrällä/sekunti/prosessori on raja, joka riippuu prosessorin rakenteesta (ja monesta muusta ominaisuudesta). Käytännössä prosessorit eivät pääse lähellekään teoreettista maksimia. Riippuen siitä millaisia laskutoimituksia prosessorille annetaan, prosessori jää enemmän tai vähemmän kauas maksimista. Tässä tapauksessa ohjelmat syöttävät prosessorille sellaista laskettavaa jolla prosessori jää kauemmas teoreettisesta maksimista kuin aiemmin.
Asia jossa ei oikeasti ole yhtään mitään uutta.
Intelin vastaus:
Intel says processor bug isn’t unique to its chips and performance issues are ‘workload-dependent’
Tämä bugi ei taida vaikuttaa ketjun perusteella (en ole ehtinyt pidemmältä tutustua) yhdenkään laskuoperaation suoritusnopeuteen, joten silleen taisi nyt mennä ihan perseelleen.
ps. Tiedän sattuneesta syystä kyllä melko hyvin miten prosessori toimii.
Kyllä se tarkastus tehdään heti, siihen tarkastuksen tulokseen vaan reagoidaan vasta sen lukemisen jälkeen, mutta ennen kuin sen lukemisen tulosta tallennetaan mihinkään arkkitehtuurillisesti näkyvään paikkaan.
Tämä vertaituu siihen, että urheilukilpailussa kilpailija tekee rikkeen, joka johtaa hänen kilpailusuorituksensa hylkäämiseen. Kilpailija voidaan joko liputtaa heti kesken kisan ulos radalta, tai hänen voidaan antaa edetä maaliin asti, ja kertoa hänelle maalissa, että suoritus on hylätty. Kummassakaan tapauksessa kilpailija ei pysty voittamaan kilpailua, eikä hänen aikansa koskaan päädy viralliselle tuloslistalle.
No, sitten joku keksiikin todella nerokkaan keinon sotkea koko kilpailun ajanotto- ja tietojärjestelmän (vaikka niistä oli moninkertaiset turvajärjestelmät), ja samalla katoaa myös tieto siitä, keiden tulos oli hylätty. Kukaan ei osannut varautua tähän. Palkinnot päädytään antamaan sen perusteella, kuka saapui maaliin ensimmäisenä. Tällaisessa tilanteessa olisi ollut parempi liputtaa vaan heti ulos radalta hylätyt suoritukset.
Intel on se, joka otti strategian että annetaan kilpailijan juosta maaliin ja ilmoitetaan siellä hylkäämisestä, AMD se, joka otti strategian, että liputetaan heti ulos radalta rikkeen sattuessa.
Tuokin taisi tulla jo jossain kohtaa esiin. En sitten tiedä löytyykö bugi ehkä myös VIAn prossuista tai jostain, AMD:lla sitä ei ole. Tai sitten jostain ihan muusta kuin x86-prossusta?
Se on kyllä totta että suorituskykyhävikki riippuu kuormasta, mikä on ihan luonnollistakin. Esimerkiksi kovaa I/O:ta vaativat kuormat hidastuvat reilusti, monet muut eivät.
MS julkaisee korjauksen:
Microsoft issues emergency Windows update for processor security bugs
Kai tässä jotain on takana jos MS ja Apple on korjaamassa pika pikaa. Väärä NSA on keksinyt miten hyödybtää tätä?
Siis tää on kaikkien tietoturvaongelmien äiti, kyllä varsinkin serveripuolelle pitää tulla korjaukset nopeasti. Linuxissa esimerkiksi prossut on merkitty insecureksi.
AMD:lta on ilmeisesti tulossa vielä myöhemmin tänään virallisempi lausunto/selvitys asiasta, mutta tässä lausunto ennen sitä tuohon Intelin tiedotteeseen:
AMD rebukes Intel, says flaw poses 'near-zero risk' to its chips
Samassa jutussa lisäksi: