Forskere fra Helmholtz Center for Information Security (CISPA) har offentliggjort resultaterne af en undersøgelse af sikkerheden ved RISC-V-baserede processorer og afsløret oplysninger om en sårbarhed med kode-navnet GhostWrite. Sårbarheden rammer RISC-V-processorerne XuanTie C910, der produceres af det kinesiske firma T-Head (en afdeling af Alibaba) og udvikles som åbne projekter. Sårbarheden giver en angriber med begrænset adgang til systemet mulighed for at læse og skrive i enhver fysisk hukommelsesområde samt få adgang til styring af perifere enheder, såsom netværkskort, der bruger MMIO (Memory-Mapped Input/Output).
Sårbarheden skyldes mangler i processorarkitekturen, der relaterer sig til isoleringen af de tilføjede instruktioner fra producenten, som udvider RISC-V-instruktørsettet og muliggør direkte adgang til DRAM, uden om mekanismerne for virtuel hukommelse. Nogle af de udvidede instruktioners direkte arbejde med fysisk hukommelse i stedet for virtuel hukommelse giver mulighed for at omgå hukommelsesisoleringen mellem processer.
Den forberedte angrebsteknik er 100% reproducerbar og kræver, at man kører sin egen kode inden for blot et par mikrosekunder. Softwaremetoder til isolering, såsom containere og sandbox-miljøer, forhindrer ikke udnyttelsen af sårbarheden. For at blokere sårbarheden hjælper kun en fuldstændig deaktivering af understøttelse af vektoren udvidelser, hvilket medfører en reduktion i ydeevnen på 33% i rvv-bench-testene (i rapportens annotation nævnes 77%, og på det sammendragsside nævnes 33%, mens det i detaljerne omtales, at ydeevnen for memcpy falder med 33%, og memset med 8%), og reducerer også det tilgængelige instruktørsæt for anvendelser næsten halveret.
CPU XuanTie C910 er nogle af de mest højtydende RISC-V-chips, der findes på markedet, og de anvendes allerede aktivt i servere cloudsystemer og bærbare computere. Problemet manifesterer sig for eksempel i serverne Scaleway Elastic Metal RV1, klyngerne Lichee Cluster 4A, den bærbare computer Lichee Book 4A, spilkonsollen Lichee Console 4A, den bærbare computer Lichee Pocket 4A, enkeltkort-PC'erne Sipeed Lichee Pi 4A, Milk-V Meles og BeagleV-Ahead.
Som et eksempel har forskere forberedt et exploit, der gør det muligt for en ikke-privilegeret bruger at få root-rettigheder i Linux. Exploiten ændrer indholdet af sidetabellen i hukommelsen, der bruges til at oversætte virtuelle adresser til fysiske adresser, for at opnå virtuelle adresser, der er forbundet med enhver fysisk adresse. Der er også forberedt et eksempel på et exploit til at læse indholdet af kernehukommelsen og andre processer, hvilket muliggør udtrækning af gemte nøgler til kryptering og adgangskoder i hukommelsen.
Derudover har forskere identificeret to mindre farlige arkitekturfejl — den ene vedrører T-Head XuanTie C906-processorer, mens den anden vedrører T-Head XuanTie C908. Begge fejl er begrænset til denial-of-service, der forårsager, at CPU'en stopper. Fejlene kan udgøre en trussel mod cloud-platforme bygget på T-Head XuanTie-chips, da muligheden for at udføre kode i et cloud-miljø kan stoppe driften af andre brugere, der betjenes på samme serveren.
Problemerne blev identificeret ved hjælp af RISCVuzz-rammen, der er oprettet til fuzzing-test af CPU'er. Rammen identificerer forskelle i implementeringen af de samme udvidede instruktioner på forskellige CPU'er, i overensstemmelse med antagelsen om, at på grund af manglen på et universelt register til RISC-V-instruktionssættet, kan instruktioner, der kodes ens på forskellige producenters chips, føre til udførelse af forskellige handlinger. Testen gik ud på at sammenligne adfærd ved behandlingen af CPU-instruktioner på forskellige RISC-V CPU'er og analysere mulige sårbarheder i situationer, hvor der blev observeret adfærdsforskelle.
Kilde: opennet.ru
