Beskytt Linux eller Windows mot Spectre og Meltdown -sårbarheter

En av de grunnleggende komponentene i enhver datamaskin som er designet for å bruke et operativsystem, uavhengig av utvikleren, er CPU eller prosessor som har gått fremover i gigantiske trinn som tilbyr oss nye behandlingshastigheter, nye teknologier, flere kjerner og alt dette for å optimalisere og forbedre systemoppstarten og utførelsen av programmene som vi har installert der.

Alt dette er innovativt og fyller oss med følelser når vi kjøper en datamaskin med en utmerket prosessor siden vi er sikre på at det vil være en god investering, men hva skjer hvis prosessoren, det være seg Intel, AMD eller en annen, presenterer innenfor sitt sikkerhetsproblem at de setter vår informasjon og konfidensialitet i fare, der endrer emnet kurs og får oss til å tenke på hvordan denne typen situasjoner kan skje hos kjente prosessorer og store selskaper over hele verden.

Denne sårbarheten er en realitet som ble oppdaget for noen dager siden, den 4. januar, hvor sårbarhetene Spectre og Meltdown ble oppdaget, som er knyttet til prosessorenes design der en angriper får tilgang til systeminformasjon og minne der det er viktig elementer som krypteringsnøkler eller passord er plassert.

Det verste med hele dette problemet er at disse sårbarhetene påvirker Intel, ARM og AMD prosessorer, og derfor er vi alle åpne for å være ofre for disse sårbarhetene, og det er derfor vi i dag på Solvetic vil grundig analysere hva disse sårbarhetene er, hvordan de er angrep og hvordan vi kan beskytte våre servere og utstyr mot dem.

La oss huske at disse sårbarhetene vil angripe alle typer utstyr både på hjemme- og bedriftsnivå, og for øyeblikket blir patcher som vil tjene til å beskytte oss mot Spectre og Meltdown utgitt av utviklerne av operativsystemer og applikasjoner.

Hva er Spectre

Spectre er en sårbarhet som har muligheten til å lure prosessoren til å starte den spekulative utførelsesprosessen fordi moderne prosessorer bruker grenforutsigelser og spekulativ kjøring gjør det mulig å maksimere prosessorytelsen.

Spøkelsesangrep tillater å få et offer til å spekulativt utføre visse operasjoner som ikke ville oppstå under riktig utførelse av programmet, og dette gjør at konfidensiell informasjon kan lekker gjennom en sidekanal for angriperen på en veldig enkel måte.

Opplysningene om disse sårbarhetene har oppdaget to varianter med forskjellige nivåer av kompleksitet og innvirkning av Spectre på prosessoren og med den på brukerens sikkerhet.

Disse variantene er:

Variant 1 (CVE-2017-5753)Denne sårbarheten påvirker Intel-, AMD- og ARM -prosessorer, slik at angriperen kan lure programmene uten noen form for feil, etter beste praksis, for å filtrere all brukerinformasjon som er lagret på datamaskinen.

Dette ble oppdaget 3. januar i år av Google Project Zero-teamet, og denne varianten bruker overdreven spekulativ utførelse for å utføre bypassoppgaver med grensekontroll, noe som fører til at kjernekoden blir omdirigert med kontroll over angriperen spekulativt.

En liste over systemer som kan angripes av denne varianten er:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • RHEV-M 4.0
  • RHEV-M for servere
  • Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) for RHEL 7
  • Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno) for RHEL 7
  • Red Hat Enterprise MRG 2
  • Red Hat OpenStack Platform v 8/9/10/11/12
  • Debian Linux wheezy
  • Debian Linux jessie
  • Debian Linux -strekk
  • Debian Linux buster, sid
  • SUSE Linux Enterprise Server for Raspberry Pi 12 SP2
  • SUSE OpenStack Cloud 6
  • Openstack Cloud Magnum Orchestration 7
  • SUSE Container as a Service Platform ALL
  • SUSE Linux Enterprise Høy tilgjengelighet 12 SP2 / SP3
  • SUSE Linux Enterprise Live Patching 12
  • SUSE Linux Enterprise Module for 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 for SAP 12 SP1
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux basert på SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI

Variant 2 (CVE-2017-5715)Denne varianten er ansvarlig for å utløse spekulativ utførelse ved å gjøre bruk av grenmålsinjeksjon. Den er basert på tilstedeværelsen av en spesifikk, presist definert sekvens av instruksjoner i den privilegerte koden, samt situasjonen som minnetilganger kan forårsake mikroprosessorens datacaching, inkludert spekulativt utførte instruksjoner som aldri blir kompromittert.

Takket være denne varianten vil en angriper uten noen privilegier ha muligheten til å krysse systemets og datamaskinens grenser for å lese det privilegerte minnet ved å utføre målrettede sidekanalbufferangrep og dermed se brukerens sikkerhet trengt inn.

De berørte systemene er de samme som de som er oppført ovenfor.

For å forhindre disse variantene i Linux kan vi utføre følgende prosess.

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

 uname -r sudo yum oppdatering

Når systemet er oppdatert, fortsetter vi å starte systemet på nytt ved å utføre linjen:

 sudo omstart
Deretter bekrefter vi at kjernen er oppdatert med kommandoen igjen:
 uname -r
Til slutt bekrefter vi at variantene brukes i systemet ved å utføre følgende:
 rpm -q --changelog -kjerne | egrep 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754' 

FORSTØRRE

Ved bruk av Ubuntu eller Debian kan vi utføre følgende linjer:

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

Spekter angrep formerSpectre bruker noen angrepsteknikker som:

  • Utnytter spekulativ henrettelse. Med denne teknikken angriper Spectre prosessoroppgaven på nivå med spekulative utførelsesinstruksjoner med sekvenser som ikke burde blitt utført under riktig utførelse av programmet, og disse sekvensene vil til slutt bli reversert og skape midlertidige instruksjoner som angriperen utnytter for å filtrere bruker informasjon. berørt.
  • Angrep ved hjelp av opprinnelig kode:. Dette angrepet oppretter et program som inneholder hemmelige data i tilgangsminnet, og når dette programmet er samlet, blir binærfiler og delte biblioteker på systemet analysert for å filtrere brukerinformasjon.

Til slutt skrives et annet angrepsprogram som utnytter CPUens spekulative utførelsesfunksjon for å utføre de tidligere oppståtte sekvensene som forbigående instruksjoner.

  • Angrep ved hjelp av JavaScript. Dette angrepet brukes til å bryte nettleserens sandkasse ved å montere bærbar JavaScript -kode gjennom den.

Maskinvare påvirket av SpectreFor tiden har det blitt oppdaget at Spectre er i stand til å krenke maskinvare som:

  • Ivy Bridge-baserte prosessorer
  • AMD Ryzen
  • Intel -prosessorer
  • Qualcomm -prosessorer

Oppsummert består Spectre -angrepet av følgende faser:

  • Fase 1. Først begynner angrepet med en konfigurasjonsfase, hvor motstanderen utfører operasjoner som forårsaker prosessorfeil, slik at feilaktig spekulativ utnyttelse deretter kan utføres.

I denne fasen kan angriperen forberede sidekanalen som skal brukes til å trekke ut offerets informasjon.

  • Fase 2. I denne fasen utfører prosessoren spekulativt en eller flere instruksjoner som overfører konfidensiell informasjon fra offerets kontekst til en sidekanals mikroarkitektur.

Dette gjør at angriperen kan utføre en handling, for eksempel syscall, socket, og i andre tilfeller kan angriperen dra fordel av den spekulative utførelsen av sin egen kode for å få sensitiv informasjon fra samme prosess av brukeren.

  • Fase 3. I denne fasen gjenopprettes konfidensielle data fra Spectre ved bruk av teknikker som flush + reload eller evict + reload. Denne gjenopprettingsprosessen består av å måle hvor lang tid det tar å lese minneadressene i hurtigbufferlinjene som overvåkes periodisk.

Hva er Meltdown

Det andre angrepet som påvirker brukernes sikkerhet er Meltdown som lar en angriper få tilgang til brukerens private informasjon gjennom det installerte operativsystemet, for eksempel Microsoft Windows eller High Sierra.

Navnet har blitt tildelt evnen til å bryte sikkerhetsgrensene som normalt pålegges av systemmaskinvare.

Meltdown-sårbarheten er katalogisert som CVE-2017-5754, der det refereres til at Meltdown har evnen til å trenge gjennom den grunnleggende isolasjonen mellom brukerprogrammer og operativsystemet uansett hva det er. Dette angrepet gir et program tilgang til minne og, med det, også konfidensiell informasjon om andre programmer og om selve operativsystemet.

Denne feilen ble også oppdaget 3. januar av Google Project Zero -teamet og andre tilleggsteam.
Dette sikkerhetsproblemet påvirker Intel x86-64-prosessorer, men ikke AMD x86-64-prosessorer.

Meltdown kan påvirke systemet som:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux
  • Debian Linux wheezy
  • Debian Linux jessie
  • Debian Linux -strekk
  • Deiban Linux buster, sid
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux basert på SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI
  • Windows
For øyeblikket har vi løsningen på dette sikkerhetsproblemet for følgende Linux -distribusjoner med deres kjerneversjon slik:
  • 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 [oppdatering til nåværende rulling]
  • Gentoo Linux [oppdatering til nåværende rulling]
  • 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 å beskytte oss mot dette sikkerhetsproblemet CVE-2017-5754 kan vi utføre følgende:

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

Slik fungerer MeltdownLa oss huske at en av de sentrale sikkerhetsfunksjonene på driftsnivå i moderne operativsystemer er minneisolasjon, som sikrer at brukerprogrammer ikke har tilgang til minnene til andre brukere og programmer og dermed forhindrer applikasjoner fra brukere å lese eller skrive til kjerneminne.

I moderne prosessorer utføres isolasjonen mellom kjernen og brukerprosessene normalt av en prosessorbitmonitor som definerer om et minne har mulighet til å få tilgang til kjernesiden eller ikke.
Meltdown er utviklet som et nytt angrep som har makt til å overvinne minneisolasjon fullstendig ved å gi en enkel måte for enhver brukerprosess å lese kjerneminnet til den kjørende maskinen, inkludert alt det fysiske minnet som er tildelt på kjerneområdet.

Meltdown fungerer på alle de store operativsystemene i dag, og denne sårbarheten utnytter sidekanalinformasjonen som er tilgjengelig på de fleste moderne prosessorer som Intel eller AMD.

Meltdown gir en angriper muligheten til å kjøre kode på en sårbar prosessor for å dumpe hele kjernen i adresserom, inkludert allokert fysisk minne.

Årsaken til Meltdowns enkelhet og omfang er bivirkninger forårsaket av utført ordreutførelse, det vil si at det er et trekk ved nåværende prosessorer som er utviklet for å overvinne forsinkelsene til travle utførelsesenheter.

Meltdown -arbeidsfasene er:

  • Fase 1. I denne fasen blir det forespurt om en ulovlig minneplassering i prosessorkjernen.
  • Fase 2. I denne fasen utføres en andre forespørsel for å betinget lese en gyldig minneplassering bare hvis den første forespørselen inneholder en viss aktiv verdi.
  • Fase 3. I denne fasen utføres den spekulative utførelsesoppgaven der prosessoren fullfører bakgrunnsarbeidet for de to forrige forespørslene før han bekrefter at den første forespørselen er ugyldig. Så snart prosessoren forstår at forespørslene innebærer minne utenfor, avviser den begge forespørslene.
  • Fase 4. Det er en ny forespørsel om det gyldige minnestedet.

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

Innholdet i et minnelokasjon valgt av angriperen, som er utilgjengelig for angriperen, lastes inn i et systemregister.

En forbigående instruksjon får tilgang til en hurtigbufferlinje basert på det hemmelige innholdet i registret.

Angriperen bruker Flush + Reload for å bestemme tilgang til hurtigbufferlinjen og dermed få tilgang til informasjonen som er lagret på det valgte minnestedet.

Når vi har forstått hvordan disse sårbarhetene fungerer, vil vi se hvordan vi vil beskytte datamaskinene våre mot dem, selv om vi må presisere at det hittil ikke er rapportert angrep som involverer både brukere og administratorer.

1. Slik beskytter du deg mot Spectre and Meltdown på Linux -systemer


Når det gjelder Linux, vil vi bruke specter-meltdown-checker.sh som er et skallskript for å avgjøre om Linux-kjernen er sårbar for de 3 CVE-ene som vi har nevnt om disse sårbarhetene.

MerkDette skriptet må kjøres som root -bruker.

Trinn 1
For å installere dette skriptet, vil vi først gå til / tmp -katalogen slik:

 cd / tmp / 
Steg 2
Når vi er i nevnte katalog, fortsetter vi å skaffe skriptet ved å utføre følgende linje:
 wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh 

MerkEt annet alternativ for å få det er ved å utføre følgende linje:

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

Hvordan sjekke om vi er sårbare for Spectre eller MeltdownFor å kontrollere sikkerheten til distribusjonen vår kan vi utføre følgende linje:

 sudo sh specter-meltdown-checker.sh

Det er så enkelt Vi kan bekrefte om systemet vårt er sårbart for disse nye truslene.

2. Slik beskytter du deg mot Spectre and Meltdown på Windows -systemer


I dette tilfellet vil vi bruke Windows 10, og for dette må vi få tilgang til Windows PowerShell som administratorer ved å høyreklikke på programmet og velge alternativet "Kjør som administrator".

Trinn 1
Når PowerShell -terminalen er åpen, fortsetter vi med å utføre følgende linje:

 Installasjonsmodulspekulasjonskontroll
Steg 2
I spørsmålene som vises, skriver vi inn bokstaven S for å bekrefte:

FORSTØRRE

Trinn 3
Standard Windows -kjøringspolicy tillater oss ikke å utføre dette skriptet. For dette for å kunne utføre skriptet må vi lagre den nåværende konfigurasjonen slik at den kan gjenopprettes senere og deretter endre kjøringspolicyen slik at den kan kjøres manus. For dette vil vi utføre følgende to kommandoer:

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

FORSTØRRE

Trinn 4
Nå kan vi kjøre skriptet ved å utføre følgende:

 Import-Module SpeculationControl Get-SpeculationControlSettings

FORSTØRRE

Trinn 5
Vi kan se detaljert informasjon om systemet, og vi må spesielt se på to linjer:

Windows OS -støtte for begrensning av injeksjon av grenmålDenne linjen angir Microsoft -programvareoppdateringen og om verdien er ekte betyr at datamaskinen er beskyttet mot Meltdown og Spectre -angrep.

Maskinvarestøtte for begrensning av injeksjon av grenmålDenne linjen refererer til fastvare- eller BIOS / UEFI -oppdateringen som kreves av datamaskinprodusenten hvis verdien er ekte det betyr at vi vil bli beskyttet mot Spectre -sårbarheten.

Trinn 6
For å gjenopprette utførelsespolicyen til den opprinnelige konfigurasjonen etter å ha bekreftet sikkerheten til systemet, kan vi utføre følgende linje:

 Set -ExecutionPolicy $ SaveExecutionPolicy -Scope Currentuser 

FORSTØRRE

Trinn 7
Det er verdt å huske viktigheten av å holde operativsystemet oppdatert siden utviklere vil frigjøre sikkerhetsoppdateringer for å forhindre disse sikkerhetsfeilene:

3. Offisiell informasjon om spekter og smelting fra produsenter


I de følgende koblingene kan vi finne informasjon om disse sårbarhetene på hvert av hovedutviklerens nettsteder og dermed ha mer detaljert informasjon om hvordan du kan forhindre og være et skritt foran problemet:
  • Intel
  • VÆPNE
  • AMD
  • NVIDIA
  • Microsoft Windows
  • Windows Server
  • Amazon
  • Google
  • Android
  • Manzana
  • Lenovo
  • HP
  • Huawei
  • Cisco
  • Mozilla
  • Rød hatt
  • Debian
  • Ubuntu
  • Fedora
  • VMWare

Som vi kan se, selv om sårbarheter alltid vil være tilstede, kan vi ta de nødvendige tiltakene for å være oppmerksomme på eventuelle feil og dermed forhindre at informasjonen vår påvirkes.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave