Beskyt Linux eller Windows mod Spectre og Meltdown -sårbarheder

En af de grundlæggende komponenter i enhver computer designet til at bruge et operativsystem, uanset dens udvikler, er CPU'en eller processoren, der er gået fremad i gigantiske trin, der tilbyder os nye behandlingshastigheder, nye teknologier, flere kerner og alt dette for at optimere og forbedre systemstart og udførelse af de programmer, som vi har installeret der.

Alt dette er innovativt og fylder os med følelser, når vi køber en computer med en fremragende processor, da vi er sikre på, at det vil være en god investering, men hvad sker der, hvis processoren, det være sig Intel, AMD eller en anden, præsenterer inden for sit designsikkerhedssårbarhed at De bringer vores oplysninger og vores fortrolighed i fare, der ændrer emnet kursen og får os til at tænke over, hvordan denne type situation kan ske i berømte processorer og store virksomheder verden over.

Nå, denne sårbarhed er en realitet, der blev opdaget for et par dage siden, den 4. januar, hvor Specter- og Meltdown -sårbarhederne blev opdaget, som er knyttet til design af processoren, hvor en angriber får adgang til systemoplysninger og hukommelse, hvor vitale elementer såsom krypteringsnøgler eller adgangskoder er placeret.

Det værste ved hele dette problem er, at disse sårbarheder påvirker Intel, ARM og AMD processorer, og derfor er vi alle åbne for at være ofre for disse sårbarheder, og derfor vil vi i dag hos Solvetic analysere grundigt, hvad disse sårbarheder er, hvordan de angreb og hvordan vi kan beskytte vores servere og udstyr mod dem.

Lad os huske, at disse sårbarheder vil angribe alle former for udstyr både på hjem- og virksomhedsniveau, og i øjeblikket frigives de patches, der skal beskytte os mod Spectre og Meltdown, af udviklere af operativsystemer og applikationer.

Hvad er Spectre

Spectre er en sårbarhed, der har evnen til at narre processoren til at starte den spekulative udførelsesproces, fordi moderne processorer gør brug af grenforudsigelse og spekulativ udførelse gør det muligt at maksimere processorens ydeevne..

Spøgelsesangreb giver mulighed for at få et offer til at spekulativt udføre visse operationer, der ikke ville forekomme under den korrekte udførelse af programmet, og dette tillader fortrolig information at blive lækket gennem en sidekanal for angriberen på en meget enkel måde.

Videregivelsesmeddelelserne om disse sårbarheder har opdaget to varianter med forskellige kompleksitetsniveauer og indvirkning af Spectre på processoren og dermed på brugerens sikkerhed.

Disse varianter er:

Variant 1 (CVE-2017-5753)Denne sårbarhed påvirker Intel-, AMD- og ARM -processorer, så angriberen kan bedrage programmerne uden nogen form for fejl efter bedste praksis for at filtrere alle brugeroplysninger, der er gemt på computeren.

Dette blev opdaget den 3. januar i år af Google Project Zero-teamet, og denne variant gør overdreven brug af spekulativ udførelse for at udføre grænsekontrol-bypass-opgaver, hvilket får kernekoden til at blive omdirigeret med kontrol over angriberen spekulativt.

En liste over systemer, der kan angribes af denne variant er:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • RHEV-M 4.0
  • RHEV-M til servere
  • Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) til RHEL 7
  • Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno) til RHEL 7
  • Red Hat Enterprise MRG 2
  • Red Hat OpenStack Platform v 8/9/10/11/12
  • Debian Linux hvæsende
  • Debian Linux jessie
  • Debian Linux stretch
  • Debian Linux buster, sid
  • SUSE Linux Enterprise Server til Raspberry Pi 12 SP2
  • SUSE OpenStack Cloud 6
  • Openstack Cloud Magnum Orchestration 7
  • SUSE Container as a Service Platform ALL
  • SUSE Linux Enterprise Høj tilgængelighed 12 SP2 / SP3
  • SUSE Linux Enterprise Live Patching 12
  • SUSE Linux Enterprise -modul til Public Cloud 12
  • SUSE Linux Enterprise Server 11 SP3-LTSS
  • SUSE Linux Enterprise Server 11 SP4
  • SUSE Linux Enterprise Software Development Kit 11/12 SP3 / SP4
  • SUSE Linux Enterprise til SAP 12 SP1
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux baseret på SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI

Variant 2 (CVE-2017-5715)Denne variant er ansvarlig for at udløse spekulativ udførelse ved at gøre brug af grenmålsinjektion. Det er baseret på tilstedeværelsen af ​​en specifik, præcist defineret sekvens af instruktioner i den privilegerede kode, samt på den situation, som hukommelsesadgang kan forårsage mikroprocessorens datacaching, herunder spekulativt udførte instruktioner, som de aldrig vil blive kompromitteret.

Takket være denne variant ville en angriber uden privilegier have mulighed for at krydse systemets og computerens grænser for at læse den privilegerede hukommelse ved at udføre målrettede sidekanalcache -angreb og dermed se brugerens sikkerhed trængt ind.

De berørte systemer er de samme som dem, der er anført ovenfor.

For at forhindre disse varianter i Linux kan vi udføre følgende proces.

I CentOS- eller RedHat -miljøer udfører vi først og fremmest følgende linjer:

 uname -r sudo yum opdatering

Når systemet er opdateret, fortsætter vi med at genstarte systemet ved at udføre linjen:

 sudo genstart
Derefter bekræfter vi, at kernen er blevet opdateret ved hjælp af kommandoen igen:
 uname -r
Endelig bekræfter vi, at varianterne anvendes i systemet ved at udføre følgende:
 rpm -q --changelog kerne | egrep 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754' 

FORSTØRRE

I tilfælde af brug af Ubuntu eller Debian kan vi udføre følgende linjer:

 sudo apt-get opdatering sudo apt-get upgrade sudo shutdown -r 0

Specter angreb formerSpectre gør brug af nogle angrebsteknikker såsom:

  • Udnytter spekulativ henrettelse. Med denne teknik angriber Spectre processoropgaven på niveau med spekulative udførelsesinstruktioner med sekvenser, der ikke skulle have været udført under den korrekte udførelse af programmet, og disse sekvenser vil i sidste ende blive vendt og skabe midlertidige instruktioner, som angriberen udnytter til at filtrere bruger information. berørt.
  • Angreb ved hjælp af indfødt kode:. Dette angreb opretter et program, der indeholder hemmelige data i dets adgangshukommelse, og når dette program er samlet, analyseres binærerne og delte biblioteker på systemet for at filtrere brugeroplysninger.

Endelig skrives et andet angrebsprogram, der udnytter CPU'ens spekulative udførelsesfunktion til at udføre de tidligere stødte sekvenser som forbigående instruktioner.

  • Angreb ved hjælp af JavaScript. Dette angreb bruges til at bryde browserens sandkasse ved at montere bærbar JavaScript -kode igennem den.

Hardware påvirket af SpectreI øjeblikket er det blevet opdaget, at Spectre er i stand til at krænke hardware som:

  • Ivy Bridge-baserede processorer
  • AMD Ryzen
  • Intel -processorer
  • Qualcomm processorer

Sammenfattende består Spectre -angrebet af følgende faser:

  • Fase 1. Først begynder angrebet med en konfigurationsfase, hvor modstanderen udfører operationer, der forårsager processorsvigt, så fejlagtig spekulativ udnyttelse derefter kan udføres.

I denne fase kan angriberen forberede den sidekanal, der skal bruges til at udtrække offerets oplysninger.

  • Fase 2. I denne fase udfører processoren spekulativt en eller flere instruktioner, der overfører fortrolige oplysninger fra offerets kontekst til en sidekanals mikroarkitektur.

Dette gør det muligt for angriberen at udføre en handling, såsom syscall, socket, og i andre tilfælde kan angriberen drage fordel af den spekulative udførelse af sin egen kode for at få følsomme oplysninger fra den samme proces af brugeren.

  • Fase 3. I denne fase genoprettes fortrolige data fra Spectre ved hjælp af teknikker som f.eks. Skylning + genindlæsning eller udsendelse + genindlæsning. Denne genoprettelsesproces består i at måle, hvor lang tid det tager at læse hukommelsesadresserne i cachelinjerne, der overvåges periodisk.

Hvad er Meltdown

Det andet angreb, der påvirker brugernes sikkerhed, er Meltdown, som giver en hacker adgang til brugerens private oplysninger via det installerede operativsystem, f.eks. Microsoft Windows eller High Sierra.

Dets navn er blevet tildelt for evnen til at overtræde de sikkerhedsgrænser, der normalt pålægges af systemhardware.

Meltdown-sårbarheden er blevet katalogiseret som CVE-2017-5754, hvor det refereres til, at Meltdown har evnen til at trænge igennem den grundlæggende isolation mellem brugerapplikationer og operativsystemet, uanset hvad det er. Dette angreb giver et program adgang til hukommelse og dermed også fortrolige oplysninger om andre programmer og selve operativsystemet.

Denne fejl blev også opdaget den 3. januar af Google Project Zero -teamet og andre yderligere teams.
Denne sårbarhed påvirker Intel x86-64-processorer, men ikke AMD x86-64-processorer.

Meltdown kan påvirke systemet som:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux
  • Debian Linux hvæsende
  • Debian Linux jessie
  • Debian Linux stretch
  • Deiban Linux buster, sid
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux baseret på SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI
  • Windows
I øjeblikket har vi løsningen til denne sårbarhed for følgende Linux -distributioner med deres kerneversion som denne:
  • RHEL 6.x [2.6.32-696.18.7] /7.x [3.10.0-693.11.6]
  • CentOS 6.x [2.6.32-696.18.7] /7.x [3.10.0-693.11.6]
  • Fedora 26 [4.14.11-200] / 27 [4.14.11-300]
  • Debian stretch [4.9.0-5-amd64] / jessie [3.16.0-5-amd6] / wheezy [3.2.0-5-amd64]
  • CoreOS [4.14.11-Coreos]
  • Arch Linux [opdatering til nuværende rullende]
  • Gentoo Linux [opdatering til nuværende rullende]
  • Ubuntu Linux v16.04 [4.4.0-109-generisk eller 4.13.0-26-generisk] /v17.10 [4.13.0-25-generisk] /14.04 [3.13.0-139-generisk]
  • SUSE-SLES 12 SP3 [4.4.103-6.38.1] / SLES 12 SP2 [4.4.103-92.59.1] / SLES 11 SP4 [3.0.101-108.21.1] / SLES 11 SP3-LTSS [3.0.101 -0.47.106.11.1]

For at beskytte os mod denne sårbarhed CVE-2017-5754 kan vi udføre følgende:

  • På CentOS og RedHat:
 uname -r sudo yum opdatering sudo genstart
  • I Fedora:
 sudo dnf --refresh opdateringskerne 
  • På Debian og Ubuntu:
 uname -r sudo apt-get opdatering sudo apt-get dist-upgrade sudo shutdown -r 0

Sådan fungerer MeltdownLad os huske, at en af ​​de centrale sikkerhedsfunktioner på betjeningsniveau i moderne operativsystemer er hukommelsesisolering, som sikrer, at brugerapplikationer ikke har adgang til andre brugeres og programmers erindringer og dermed forhindrer, at applikationer fra brugere kan læse eller skrive til kernehukommelse.

I moderne processorer udføres isolationen mellem kernen og brugerprocesserne normalt af en processorbitmonitor, der definerer, om en hukommelse har mulighed for at få adgang til kernesiden eller ej.
Meltdown er blevet udviklet som et nyt angreb, der har magt til at overvinde hukommelsesisolering fuldstændigt ved at give en enkel måde for enhver brugerproces at læse kernehukommelsen på den kørende maskine, inklusive al den fysiske hukommelse, der er allokeret til kerneområdet.

Meltdown fungerer på alle større operativsystemer i dag, og denne sårbarhed udnytter information om sidekanaler på de fleste moderne processorer, f.eks. Intel eller AMD.

Meltdown giver en angriber mulighed for at køre kode på en sårbar processor for at dumpe hele kernen i adresserum, inklusive en tildelt fysisk hukommelse.

Årsagen til Meltdowns enkelhed og omfang er bivirkninger forårsaget af ude af drift, det vil sige, det er et træk ved nuværende processorer, der er blevet udviklet til at overvinde forsinkelserne i travle udførelsesenheder.

Meltdown -arbejdsfaser er:

  • Fase 1. I denne fase fremsættes en anmodning om en ulovlig hukommelsesplacering i processorkernen.
  • Fase 2. I denne fase udføres en anden anmodning for kun betinget at læse en gyldig hukommelseslokation, hvis den første anmodning indeholder en bestemt aktiv værdi.
  • Fase 3. I denne fase udføres den spekulative udførelsesopgave, hvor processoren fuldender baggrundsarbejdet for de to tidligere anmodninger, før den verificerer, at den første anmodning er ugyldig. Så snart processoren forstår, at anmodningerne involverer out-of-bounds-hukommelse, afviser den begge anmodninger.
  • Fase 4. Der fremsættes en ny anmodning om den gyldige hukommelsesplacering.

Så vi kan definere følgende med Meltdown -sårbarheden:

Indholdet af en hukommelsesplacering valgt af angriberen, som er utilgængelig for angriberen, indlæses i et systemregister.

En forbigående instruktion får adgang til en cachelinje baseret på registerets hemmelige indhold.

Angriberen bruger Flush + Reload til at bestemme adgang til cachelinjen og dermed få adgang til de oplysninger, der er gemt i den valgte hukommelsesplacering.

Når vi har forstået, hvordan disse sårbarheder fungerer, vil vi se, hvordan vi vil beskytte vores computere mod dem, selvom vi skal præcisere, at der til dato ikke er blevet rapporteret angreb, der involverer både brugere og administratorer.

1. Sådan beskytter du dig selv mod Specter og Meltdown på Linux -systemer


I tilfælde af Linux vil vi bruge specter-meltdown-checker.sh, som er et shell-script til at afgøre, om Linux-kernen er sårbar over for de 3 CVE'er, som vi har nævnt om disse sårbarheder.

BemærkDette script skal køres som root -bruger.

Trin 1
For at installere dette script vil vi først gå til / tmp -biblioteket sådan:

 cd / tmp / 
Trin 2
Når vi er i nævnte bibliotek, fortsætter vi med at opnå scriptet ved at udføre følgende linje:
 wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh 

BemærkEn anden mulighed for at opnå det er ved at udføre følgende linje:

 git-klon https://github.com/speed47/spectre-meltdown-checker.git 

Sådan kontrolleres, om vi er sårbare over for Specter eller MeltdownFor at kontrollere sikkerheden i vores distribution kan vi udføre følgende linje:

 sudo sh specter-meltdown-checker.sh

Det er så enkelt Vi kan kontrollere, om vores system er sårbart over for disse nye trusler.

2. Sådan beskytter du dig selv mod Specter og Meltdown på Windows -systemer


I dette tilfælde vil vi bruge Windows 10, og til dette skal vi få adgang til Windows PowerShell som administratorer ved at højreklikke på programmet og vælge indstillingen "Kør som administrator".

Trin 1
Når PowerShell -terminalen er åben, fortsætter vi med at udføre følgende linje:

 InstallationsmodulspekulationControl
Trin 2
I de viste spørgsmål indtaster vi bogstavet S for at bekræfte:

FORSTØRRE

Trin 3
Standard Windows -udførelsespolitik tillader os ikke at udføre dette script. For at udføre scriptet skal vi gemme den aktuelle konfiguration, så den kan gendannes senere og derefter ændre udførelsespolitikken, så den kan køres manuskript. Til dette vil vi udføre følgende to kommandoer:

 $ SaveExecutionPolicy = Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned -Scope Currentuser

FORSTØRRE

Trin 4
Nu kan vi køre scriptet ved at udføre følgende:

 Import-modul-spekulationControl Get-SpeculationControl-indstillinger

FORSTØRRE

Trin 5
Vi kan se detaljerede oplysninger om systemet, og vi skal især se på to linjer:

Windows OS -understøttelse til begrænsning af injektion af grenmålDenne linje angiver Microsoft -softwareopdateringen, og hvis dens værdi er rigtigt betyder, at computeren er beskyttet mod Meltdown og Spectre -angreb.

Hardwaresupport til afbrydelse af injektion af grenmålDenne linje refererer til den firmware- eller BIOS / UEFI -opdatering, der kræves af computerproducenten, hvis dens værdi er rigtigt det betyder, at vi vil blive beskyttet mod Spectre -sårbarheden.

Trin 6
For at gendanne udførelsespolitikken til dens oprindelige konfiguration efter at have kontrolleret systemets sikkerhed, kan vi udføre følgende linje:

 Set -ExecutionPolicy $ SaveExecutionPolicy -Scope Currentuser 

FORSTØRRE

Trin 7
Det er værd at huske vigtigheden af ​​at holde operativsystemet opdateret, da udviklere frigiver sikkerhedsrettelser for at forhindre disse sikkerhedsfejl:

3. Officiel information om spøgelse og nedsmeltning fra producenter


I de følgende links kan vi finde oplysninger om disse sårbarheder på hvert af hovedudviklerens websteder og dermed have mere detaljerede oplysninger om, hvordan man forhindrer og er et skridt foran problemet:
  • Intel
  • ARM
  • AMD
  • NVIDIA
  • Microsoft Windows
  • Windows Server
  • Amazon
  • Google
  • Android
  • Manzana
  • Lenovo
  • HP
  • Huawei
  • Cisco
  • Mozilla
  • Rød hat
  • Debian
  • Ubuntu
  • Fedora
  • VMWare

Som vi kan se, selvom sårbarheder altid vil være til stede, kan vi træffe de nødvendige foranstaltninger for at være opmærksomme på enhver fejl og dermed forhindre, at vores oplysninger påvirkes.

wave wave wave wave wave