Mikroshēmas var būt neaizsargātas pret Spectre un Meltdown uzbrukumiem

Songsak Wilairit / EyeEm





Ļaunprātīga programmatūra ir pastāvīgs drauds mūsdienu dzīvei, uzbrūkot visam, sākot no datu bāzēm un kamerām līdz e-komercijai, spēkstacijām un slimnīcām. Savās mānīgākajās formās ļaunprogrammatūra var nozagt sensitīvu informāciju, nevienam nezinot, ka ir notikusi noplūde.

Cīņa pret šiem uzbrukumiem balstās uz svarīgu pieņēmumu: ka pietiekami jaudīga un labi izstrādāta programmatūra var garantēt jebkuras informācijas drošību. Patiešām, plaši kiberdrošības uzņēmumi ir balstīti uz šo ideju.

Taču šodien Ross Makilrojs un kolēģi no Google saka, ka šis pieņēmums ir bīstami nepareizs. Viņu darbs ir vērsts uz jaunas paaudzes ļaunprātīgiem uzbrukumiem, kas ir piespieduši viņus pārskatīt kiberdrošības būtību un to, kā tā darbojas.



Jaunie uzbrukumi, kas pazīstami kā Spectre un Meltdown, ir pētīti kopš 2018. gada sākuma. Taču to plašākā nozīme kļūst skaidra tikai tagad.

Google šokējošais atklājums ir tāds, ka viņi izmanto informācijas apstrādātāju darbības pamata trūkumu. Un tāpēc drošības eksperti, iespējams, nekad nespēs aizsargāt šīs ierīces — pat principā.

Google komanda saka, ka draudi skar visus mikroshēmu ražotājus, tostarp Intel, ARM, AMD, MIPS, IBM un Oracle. Šī defektu klase ir dziļāka un izplatītāka nekā, iespējams, jebkurš drošības trūkums vēsturē, ietekmējot miljardiem CPU ražošanā visās ierīču klasēs, saka McIlroy un co.



Agrāk ļaunprogrammatūra izmantoja slikti izstrādātu kodu un tajā esošās kļūdas. Šīs kļūdas sniedz ļaunprātīgiem dalībniekiem veidus, kā izjaukt aprēķinus vai piekļūt konfidenciālai informācijai. Tāpēc svarīga pieeja ir novērst šīs kļūdas, izmantojot programmatūras ielāpus, pirms tās var izmantot.

Bet, ja trūkums ir datordizaina pamatos, programmatūras ielāpi piedāvā niecīgu aizsardzību. Izaicinājums ir tāds, ka skaitļošanas būtība ļauj informācijai noplūst, izmantojot mehānismus, ko sauc par sānu kanāliem.

Viens sānu kanāla piemērs ir modema, maršrutētāja vai pat datora mirgojošās gaismas. Dažādi drošības pētnieki ir norādījuši, ka mirgošana ir saistīta ar datu pārsūtīšanu un ka ļaunprātīgs aktieris var vienkārši skatīties zibšņus, lai noklausītos. Patiešām, drošības pētnieki ir parādījuši līdzīgus uzbrukumus ar apbrīnojamu sānu kanālu klāstu, tostarp enerģijas patēriņu, mikrofoniem un augstas izšķirtspējas kamerām.



Jaunie draudi ir mānīgāki, jo tie pastāv saskarnē starp aparatūru un programmatūru, kas pazīstama kā mašīnas arhitektūra. Šajā līmenī procesors apstrādā visas programmēšanas valodas vienādi. Tas izpilda komandas vienu pēc otras neatkarīgi no tā, kura programma tās pieprasīja.

Datorzinātnieki vienmēr ir pieņēmuši, ka šīs komandas var atdalīt tā, lai garantētu konfidencialitāti. Domājams, ka kādai atbilstoši uzlabotai programmatūrai jāspēj sakārtot komandas tā, lai tās būtu atdalītas.

Taču Google komandas galvenais rezultāts ir parādīt, ka šis pieņēmums ir nepareizs. Procesors nevar atšķirt labu komandu no ļaunprātīgas — pat principā. Tātad, ja komanda liek tai nosūtīt informāciju uz atmiņas apgabalu, kam var viegli piekļūt vēlāk, iekārta pakļaujas.



Ir viegli iedomāties, ka to var novērst, izmantojot programmatūru, kas atdala labas komandas no sliktajām. Taču Google komanda parāda, ka tas tikai palielina izaicinājuma sarežģītības pakāpi, kā arī jaunu iespējamo sānu kanālu komplektu.

Lai parādītu draudu visuresamību, Google komanda izveidoja universālu lasīšanas sīkrīku. Šī ir vislabākā noklausītāja — rutīna, kas var nolasīt visu procesora adresējamo atmiņu, kas lietotājam nav zināma.

Tā nekādā gadījumā nav ideāla programmatūra. Dažreiz tas darbojas varbūtības dēļ, un tāpēc tas var neizdoties. Bet nav nekādu iespēju novērst tā darbību, kad tā darbojas.

Makilrojs un kolēģi izveidoja četrus šī sīkrīka variantus. Mēs izstrādājām koncepcijas pierādījumus programmās C++, JavaScript un WebAssembly visām ziņotajām ievainojamībām, saka komanda. Viņi atklāja, ka šie lasīšanas sīkrīki noplūda informāciju ar ātrumu līdz 2,5 kilobaitiem sekundē.

Īpaši satraucošs ir universālā lasīšanas sīkrīka 4. variants. Makilrojs un kolēģi apgalvo, ka nav spējuši atrast efektīvu veidu, kā ar to cīnīties vai samazināt tā draudus. Mēs neuzskatām, ka 4. variantu var efektīvi mazināt programmatūrā, viņi saka.

Komandas mēģinājumi cīnīties ar šiem uzbrukumiem būtiski ietekmēja skaitļošanas veiktspēju. Piemēram, viens no mazināšanas veidiem universālā lasīšanas sīkrīka pirmajam variantam izraisīja 2,8 X palēnināšanos, ko mēra ar Java etalonuzdevumu programmu Octane.

Pagājušā gada laikā Intel ir pārveidojis savas mikroshēmas, cenšoties mazināt nopietnākos Spectre un Meltdown uzbrukumu draudus. Taču tiek ziņots, ka tas ir nonācis uz veiktspējas samazināšanās rēķina līdz pat 14%. Un maz ticams, ka modifikācijas būs drošas pret atteici.

Viens no iemesliem Google bažām ir draudi e-komercijai. Nav grūti iedomāties uzbrukumu, kas atklāj kriptogrāfiskās atslēgas, ko izmanto, lai nodrošinātu darījumus, tādējādi pieļaujot liela mēroga zādzības.

Tātad uzņēmums jau ir piegādājis Chrome versijas ar pirmajām aizsardzības līnijām. Laidieni no 64 līdz 67 novērš uzbrukumus pārlūkprogrammā, izmantojot JavaScript.

Taču draudi ir daudz dziļāki. Daudzas problēmas rodas to ierīču sarežģītās arhitektūras dēļ, kuru pamatā ir intelektuālais īpašums, kas tiek rūpīgi apsargāta.

Šī sarežģītība pati par sevi ir daļa no problēmas. Dizaini ir balstīti uz abstraktiem modeļiem, kas ir kļuvuši sarežģītāki, jo ražotāji ir centušies ātrāk veikt aprēķinus. McIlroy un co parāda, ka šiem abstraktajiem modeļiem vienmēr ir sānu kanāli, kas pastāv ārpus modeļa. Mēs esam atklājuši, ka neuzticams kods var izveidot universālu lasīšanas sīkrīku, lai nolasītu visu atmiņu tajā pašā adrešu telpā, izmantojot sānu kanālus. Tas pakļauj riskam patvaļīgus atmiņā esošos datus, pat tādus, kas pašlaik nav iesaistīti aprēķinos un kas iepriekš tika uzskatīti par drošiem pret sānu kanālu uzbrukumiem.

Tomēr ir nelielas labas ziņas. Pagaidām nav zināmi uzbrukumi, kas izmantotu Spectre vai Meltdown. Šobrīd draudi attiecas tikai uz tādu kiberdrošības pētnieku laboratorijām kā Makilrojs un viņa kolēģi.

Bet tas nesniedz nekādu komfortu mikroshēmu ražotājiem un drošības ekspertiem. Nav grūti iedomāties, ka ļaunprātīgi dalībnieki, tostarp valsts sponsorētas komandas, varētu izstrādāt veidus, kā izmantot šo ievainojamību. Tā ir problēma, kā saka Makilrojs un kolēģi, un šķiet, ka tā mūs vajā ilgu laiku.

Atsauce: arxiv.org/abs/1902.05178 Spectre ir šeit, lai paliktu: sānu kanālu un spekulatīvas izpildes analīze

paslēpties