Nije oanfal op microarchitectural struktueren fan Intel en AMD processors

In groep ûndersikers fan 'e Universiteit fan Firginia en de Universiteit fan Kalifornje presintearre in nij soarte oanfal op' e mikroarsjitektuerstruktueren fan Intel- en AMD-processors, identifisearre tidens reverse engineering fan net-dokumintearre CPU-mooglikheden. De foarstelde oanfalmetoade omfettet it brûken fan in tuskenlizzende mikro-op-cache yn processors, dy't kin wurde brûkt om ynformaasje op te heljen dy't sammele is tidens spekulative útfiering fan ynstruksjes.

Foar optimisaasjedoelen begjint de prosessor guon ynstruksjes út te fieren yn spekulative modus, sûnder te wachtsjen op foarige berekkeningen om te foltôgjen, en as it dan bepaalt dat de foarsizzing net rjochtfeardige wie, rôlet it de operaasje werom nei har oarspronklike steat, mar de gegevens ferwurke tidens spekulative útfiering wurdt dellein yn in cache, wêrfan de ynhâld kin wurde bepaald.

It wurdt opmurken dat de nije metoade de Spectre v1-oanfal signifikant better presteart, makket de oanfal lestich te ûntdekken en wurdt net blokkearre troch besteande metoaden fan beskerming tsjin side-kanaal oanfallen ûntworpen om kwetsberens te blokkearjen feroarsake troch spekulative útfiering fan ynstruksjes (bygelyks it gebrûk fan 'e LFENCE-ynstruksje blokkeart lekken yn' e lêste stadia fan spekulative útfiering, mar beskermet net tsjin lekkage troch mikro-arsjitektoanyske struktueren).

De metoade beynfloedet Intel- en AMD-prosessormodellen útbrocht sûnt 2011, ynklusyf de Intel Skylake en AMD Zen-searje. Moderne CPU's brekke komplekse prosessorynstruksjes yn ienfâldiger RISC-like mikro-operaasjes, dy't yn in aparte cache binne cache. Dizze cache is prinsipieel oars as caches op heger nivo, is net direkt tagonklik en fungearret as in streambuffer foar rappe tagong ta de resultaten fan it dekodearjen fan CISC-ynstruksjes yn RISC-mikro-ynstruksjes. Undersikers hawwe lykwols in manier fûn om betingsten te meitsjen dy't ûntsteane as cache tagong konflikten en lit ien beoardielje de ynhâld fan 'e mikro-operaasje-cache troch it analysearjen fan ferskillen yn' e útfieringstiid fan bepaalde aksjes.

Nije oanfal op microarchitectural struktueren fan Intel en AMD processors

De mikro-operaasje-cache yn Intel-processors is segmentearre yn relaasje ta CPU-threads (Hyper-Threading), wylst AMD Zen-processors in dielde cache brûke, dy't betingsten skept foar gegevenslekkage net allinich binnen ien útfieringsthread, mar ek tusken ferskate threaden yn SMT (mooglike gegevenslekkage tusken koade dy't rint op ferskate logyske CPU-kearnen).

Undersikers hawwe in basismetoade foarsteld foar it opspoaren fan feroaringen yn 'e mikro-operaasje-cache en ferskate oanfalscenario's dy't it meitsjen fan ferburgen gegevensferfierkanalen meitsje en kwetsbere koade brûke om fertroulike gegevens te lekken, sawol binnen ien proses (bygelyks om prosesgegevens te lekken by it útfieren fan koade fan tredden yn motoren mei JIT en yn firtuele masines), en tusken de kernel en prosessen yn brûkersromte.

By it organisearjen fan in fariant fan 'e Spectre-oanfal mei in mikro-operaasje-cache, koene ûndersikers prestaasjes fan 965.59 Kbps berikke mei in flaterrate fan 0.22% en 785.56 Kbps by it brûken fan flaterkorreksje, yn it gefal fan it organisearjen fan in lek binnen itselde adres romte en privileezje nivo. Mei in lek oer ferskate privileezjenivo's (tusken kernel en brûkersromte), wie prestaasjes 85.2 Kbps mei flaterkorreksje tafoege en 110.96 Kbps mei in flaterrate fan 4%. By it oanfallen fan AMD Zen-processors, it meitsjen fan in lek tusken ferskate logyske CPU-kearnen, wie de prestaasjes 250 Kbps mei in flaterrate fan 5.59% en 168.58 Kbps mei flaterkorreksje. Yn ferliking mei de klassike Spectre v1 metoade wie de nije oanfal 2.6 kear flugger.

It wurdt ferwachte dat it beskermjen tsjin in mikro-op-cache-oanfal feroarings fereaskje dy't de prestaasjes mear sille ferminderje dan as jo Spectre-oanfalbeskerming ynskeakele hawwe. As in optimaal kompromis wurdt foarsteld om sokke oanfallen te blokkearjen net troch caching út te skeakeljen, mar op it nivo fan it kontrolearjen fan anomalies en it identifisearjen fan cache-staten dy't typysk binne foar oanfallen.

Lykas yn Specter-oanfallen, it organisearjen fan in lek út 'e kearn of oare prosessen fereasket de útfiering fan in bepaalde folchoarder fan kommando's (gadgets) oan' e kant fan 'e slachtofferprosessen, wat liedt ta spekulative útfiering fan ynstruksjes. Sawat 100 ferlykbere gadgets binne fûn yn 'e Linux-kernel, dy't fuortsmiten wurde, mar oplossingen foar har generaasje wurde periodyk fûn, bygelyks relatearre oan it útfieren fan spesjaal ûntworpen BPF-programma's yn' e kernel.

Boarne: opennet.ru

Add a comment