Skydda Linux eller Windows från Specter och Meltdown -sårbarheter

En av de grundläggande komponenterna i alla datorer som är utformade för att använda ett operativsystem, oavsett dess utvecklare, är CPU: n eller processorn som har gått framåt i gigantiska steg som erbjuder oss nya bearbetningshastigheter, ny teknik, fler kärnor och allt detta för att optimera och förbättra systemstart och körning av de program som vi har installerat där.

Allt detta är innovativt och fyller oss med känslor när vi köper en dator med en utmärkt processor eftersom vi är säkra på att det kommer att vara en bra investering, men vad händer om processorn, vare sig det är Intel, AMD eller annan, presenterar inom sina designsäkerhetsproblem att de sätter vår information och vår konfidentialitet i fara, där ändrar ämnet kurs och får oss att tänka på hur denna typ av situation kan hända hos kända processorer och stora företag över hela världen.

Den här sårbarheten är en verklighet som upptäcktes för några dagar sedan, den 4 januari, där sårbarheterna Specter och Meltdown upptäcktes, som är kopplade till designen av processorn där en angripare får tillgång till systeminformation och minne där det är viktigt element som krypteringsnycklar eller lösenord finns.

Det värsta med hela den här frågan är att dessa sårbarheter påverkar Intel-, ARM- och AMD -processorer, varför vi alla är öppna för att vara offer för dessa sårbarheter och det är därför vi idag på Solvetic noggrant kommer att analysera vad dessa sårbarheter är, hur de attack och hur vi kan skydda våra servrar och utrustning från dem.

Låt oss komma ihåg att dessa sårbarheter kommer att attackera alla typer av utrustning både på hem- och företagsnivå och för närvarande släpps de patchar som kommer att tjäna för att skydda oss mot Spectre och Meltdown av utvecklare av operativsystem och applikationer.

Vad är Spectre

Spectre är en sårbarhet som har förmågan att lura processorn till att starta den spekulativa körningsprocessen eftersom moderna processorer använder sig av grenprediktion och spekulativ körning gör det möjligt att maximera processorns prestanda.

Spectre -attacker gör det möjligt för ett offer att spekulativt utföra vissa operationer som inte skulle inträffa under korrekt körning av programmet och detta gör att konfidentiell information kan läcka ut genom en sidokanal för angriparen på ett mycket enkelt sätt.

Upplysningarna om dessa sårbarheter har upptäckt två varianter med olika nivåer av komplexitet och påverkan av Spectre på processorn och med den på användarens säkerhet.

Dessa varianter är:

Variant 1 (CVE-2017-5753)Denna sårbarhet påverkar Intel-, AMD- och ARM -processorer, så att angriparen kan lura programmen utan någon form av fel, efter bästa praxis, för att filtrera all användarinformation som lagras på datorn.

Detta upptäcktes den 3 januari i år av Google Project Zero-teamet och denna variant använder överdrivet spekulativt körning för att utföra begränsningskontroll-bypass-uppgif.webpter, vilket gör att kärnkoden omdirigeras med kontroll över angriparen spekulativt.

En lista över system som kan attackeras av denna variant är:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • RHEV-M 4.0
  • RHEV-M för servrar
  • Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) för RHEL 7
  • Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno) för 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 stretch
  • Debian Linux buster, sid
  • SUSE Linux Enterprise Server för Raspberry Pi 12 SP2
  • SUSE OpenStack Cloud 6
  • Openstack Cloud Magnum Orchestration 7
  • SUSE Container as a Service Platform ALL
  • SUSE Linux Enterprise Hög tillgänglighet 12 SP2 / SP3
  • SUSE Linux Enterprise Live Patching 12
  • SUSE Linux Enterprise Module för 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 för SAP 12 SP1
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux baserat på SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI

Variant 2 (CVE-2017-5715)Denna variant är ansvarig för att utlösa spekulativt utförande genom att använda greninjektion. Det är baserat på närvaron av en specifik, exakt definierad sekvens av instruktioner i den privilegierade koden, liksom på situationen som minnesåtkomst kan orsaka mikroprocessorns datacachning inklusive spekulativt utförda instruktioner som aldrig kommer att äventyras.

Tack vare denna variant skulle en angripare utan några privilegier ha förmågan att överskrida systemets och datorns gränser för att läsa det privilegierade minnet genom att utföra riktade sidkanalcache -attacker och på så sätt se användarens säkerhet tränga in.

De berörda systemen är desamma som de som anges ovan.

För att förhindra dessa varianter i Linux kan vi utföra följande process.

I CentOS- eller RedHat -miljöer kör vi först och främst följande rader:

 uname -r sudo yum uppdatering

När systemet har uppdaterats fortsätter vi att starta om systemet genom att köra raden:

 sudo starta om
Sedan bekräftar vi att kärnan har uppdaterats med kommandot igen:
 uname -r
Slutligen verifierar vi att varianterna tillämpas i systemet genom att köra följande:
 rpm -q --changelog -kärnan | egrep 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754' 

FÖRSTORA

Om vi ​​använder Ubuntu eller Debian kan vi köra följande rader:

 sudo apt-get update sudo apt-get upgrade sudo avstängning -r 0

Spectre attack formerSpectre använder vissa attacktekniker som:

  • Att utnyttja spekulativt utförande. Med denna teknik attackerar Spectre processoruppgif.webpten på nivån av spekulativa körningsinstruktioner med sekvenser som inte borde ha körts under korrekt körning av programmet och dessa sekvenser kommer så småningom att vändas och skapa övergående instruktioner som angriparen utnyttjar för att filtrera användare information. påverkas.
  • Angrepp med ursprunglig kod:. Denna attack skapar ett program som innehåller hemliga data i sitt åtkomstminne och när detta program har sammanställts analyseras binärfilerna och delade bibliotek på systemet för att filtrera användarinformation.

Slutligen skrivs ett annat attackprogram som utnyttjar CPU: s spekulativa exekveringsfunktion för att utföra de tidigare påträffade sekvenserna som övergående instruktioner.

  • Angrepp med JavaScript. Denna attack används för att bryta webbläsarens sandlåda genom att montera bärbar JavaScript -kod genom den.

Hårdvara som påverkas av SpectreFör närvarande har det upptäckts att Spectre kan bryta mot hårdvara såsom:

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

Sammanfattningsvis består Spectre -attacken av följande faser:

  • Fas 1. Först börjar attacken med en konfigurationsfas, där motståndaren utför operationer som orsakar processorfel så att felaktigt spekulativt utnyttjande sedan kan utföras.

Under denna fas kan angriparen förbereda sidokanalen som kommer att användas för att extrahera offrets information.

  • Fas 2. I denna fas utför processorn spekulativt en eller flera instruktioner som överför konfidentiell information från offrets kontext till en sidokanals mikroarkitektur.

Detta gör att angriparen kan utföra en åtgärd, till exempel syscall, socket, och i andra fall kan angriparen dra nytta av det spekulativa utförandet av sin egen kod för att få känslig information från samma process av användaren.

  • Fas 3. I denna fas återställs konfidentiell data från Spectre med hjälp av tekniker som spolning + omladdning eller avlägsnande + omladdning. Denna återställningsprocess består av att mäta hur lång tid det tar att läsa minnesadresserna i cachelinjerna som övervakas regelbundet.

Vad är Meltdown

Den andra attacken som påverkar användarnas säkerhet är Meltdown som tillåter en angripare att komma åt användarens privata information via det installerade operativsystemet, till exempel Microsoft Windows eller High Sierra.

Dess namn har tilldelats för möjligheten att bryta mot de säkerhetsgränser som normalt sätts av systemhårdvara.

Meltdown-sårbarheten har katalogiserats som CVE-2017-5754 där det refereras att Meltdown har förmågan att penetrera den grundläggande isoleringen mellan användarprogram och operativsystemet oavsett vad det är. Denna attack tillåter ett program att komma åt minne och, med det, också konfidentiell information om andra program och själva operativsystemet.

Denna brist upptäcktes också den 3 januari av Google Project Zero -teamet och andra ytterligare team.
Denna sårbarhet påverkar Intel x86-64-processorer men inte AMD x86-64-processorer.

Smältning kan påverka systemet som:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux
  • Debian Linux wheezy
  • Debian Linux jessie
  • Debian Linux stretch
  • Deiban Linux buster, sid
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux baserat på SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI
  • Windows
För närvarande har vi lösningen för denna sårbarhet för följande Linux -distributioner med deras kärnversion så här:
  • 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 [uppdatering till nuvarande rullning]
  • Gentoo Linux [uppdatering till nuvarande rullning]
  • Ubuntu Linux v16.04 [4.4.0-109-generic or 4.13.0-26-generic] /v17.10 [4.13.0-25-generic] /14.04 [3.13.0-139-generic]
  • 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]

För att skydda oss från denna sårbarhet CVE-2017-5754 kan vi utföra följande:

  • På CentOS och RedHat:
 uname -r sudo yum uppdatering sudo reboot
  • I Fedora:
 sudo dnf --refresh uppdateringskärna 
  • På Debian och Ubuntu:
 uname -r sudo apt-get update sudo apt-get dist-upgrade sudo shutdown -r 0

Hur Meltdown fungerarLåt oss komma ihåg att en av de centrala säkerhetsfunktionerna på operationsnivå i moderna operativsystem är minnesisolering, vilket säkerställer att användarprogram inte har tillgång till minnen från andra användare och program och därmed förhindrar att applikationer från användare kan läsa eller skriva till kärnminne.

I moderna processorer utförs normalt isoleringen mellan kärnan och användarprocesserna av en processorbitmonitor som definierar om ett minne har möjlighet att komma åt kärnans sida eller inte.
Meltdown har utvecklats som en ny attack som har förmågan att övervinna minnesisolering helt och hållet genom att tillhandahålla ett enkelt sätt för alla användarprocesser att läsa kärnminnet i den körande maskinen, inklusive allt fysiskt minne som är allokerat på kärnområdet.

Meltdown fungerar på alla större operativsystem idag och denna sårbarhet utnyttjar sidokanalinformationen som finns tillgänglig på de flesta moderna processorer som Intel eller AMD.

Meltdown ger en angripare möjlighet att köra kod på en sårbar processor för att dumpa hela kärnan i adressutrymme, inklusive eventuellt tilldelat fysiskt minne.

Orsaken till Meltdowns enkelhet och omfattning är biverkningar som orsakas av exekverad körning, det vill säga att det är en funktion hos nuvarande processorer som har utvecklats för att övervinna latenser för upptagen körningsenheter.

Arbetsfaserna för smältning är:

  • Fas 1. I denna fas begärs en olaglig minnesplats i processorkärnan.
  • Fas 2. I denna fas utförs en andra begäran för att villkorligt läsa en giltig minnesplats endast om den första begäran innehåller ett visst aktivt värde.
  • Fas 3. I denna fas utförs den spekulativa exekveringsuppgif.webpten där processorn slutför bakgrundsarbetet för de två föregående förfrågningarna innan den verifierar att den första begäran är ogiltig. Så snart processorn förstår att förfrågningarna innefattar out-of-bounds-minne, nekar den båda förfrågningarna.
  • Fas 4. Där görs en ny begäran om den giltiga minnesplatsen.

Så vi kan definiera följande med Meltdown -sårbarheten:

Innehållet i en minnesplats som valts av angriparen, som är otillgänglig för angriparen, laddas in i ett systemregister.

En övergående instruktion får tillgång till en cachelinje baserat på det hemliga innehållet i registret.

Angriparen använder Flush + Reload för att bestämma åtkomst till cachelinjen och därmed komma åt informationen som lagras på den valda minnesplatsen.

När vi väl har förstått hur dessa sårbarheter fungerar kommer vi att se hur vi kommer att skydda våra datorer från dem, även om vi måste klargöra att det hittills inte har rapporterats någon attack som involverar både användare och administratörer.

1. Hur du skyddar dig från Spectre and Meltdown på Linux -system


När det gäller Linux kommer vi att använda specter-meltdown-checker.sh som är ett skalskript för att avgöra om Linux-kärnan är sårbar för de 3 CVE: erna som vi har nämnt om dessa sårbarheter.

NoteraDetta skript måste köras som root -användare.

Steg 1
För att installera detta skript går vi först till katalogen / tmp så här:

 cd / tmp / 
Steg 2
När vi väl är i nämnda katalog fortsätter vi att skaffa skriptet genom att köra följande rad:
 wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh 

NoteraEtt annat alternativ för att få det är genom att köra följande rad:

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

Hur man kontrollerar om vi är sårbara för Spectre eller MeltdownFör att kontrollera säkerheten för vår distribution kan vi köra följande rad:

 sudo sh specter-meltdown-checker.sh

Det är så enkelt Vi kan verifiera om vårt system är sårbart för dessa nya hot.

2. Hur du skyddar dig från Spectre and Meltdown på Windows -system


I det här fallet kommer vi att använda Windows 10 och för detta måste vi komma åt Windows PowerShell som administratörer genom att högerklicka på programmet och välja alternativet "Kör som administratör".

Steg 1
När PowerShell -terminalen är öppen fortsätter vi att köra följande rad:

 InstallationsmodulspekulationControl
Steg 2
I de frågor som visas anger vi bokstaven S för att bekräfta:

FÖRSTORA

Steg 3
Den vanliga Windows -körningspolicyn tillåter oss inte att köra detta skript, för att kunna utföra skriptet måste vi spara den aktuella konfigurationen så att den kan återställas senare och sedan ändra körningspolicyn så att den kan köras manus. För detta utför vi följande två kommandon:

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

FÖRSTORA

Steg 4
Nu kan vi köra skriptet genom att köra följande:

 Import-Module SpeculationControl Get-SpeculationControlSettings

FÖRSTORA

Steg 5
Vi kan se detaljerad information om systemet och vi måste särskilt titta på två rader:

Windows OS -stöd för begränsning av greninjektionDen här raden anger Microsoft -programuppdateringen och om dess värde är Sann betyder att datorn är skyddad mot Meltdown och Spectre -attacker.

Maskinvarustöd för minskning av grenmålsinjektionDen här raden avser firmware eller BIOS / UEFI -uppdatering som krävs av datortillverkaren om dess värde är Sann det betyder att vi kommer att skyddas mot Spectre -sårbarheten.

Steg 6
För att återställa körningspolicyn till sin ursprungliga konfiguration efter att ha verifierat systemets säkerhet kan vi köra följande rad:

 Set -ExecutionPolicy $ SaveExecutionPolicy -Scope Currentuser 

FÖRSTORA

Steg 7
Det är värt att komma ihåg vikten av att hålla operativsystemet uppdaterat eftersom utvecklare kommer att släppa säkerhetsuppdateringar för att förhindra dessa säkerhetsbrister:

3. Officiell information om spekter och smältning av tillverkare


I följande länkar kan vi hitta information om dessa sårbarheter på var och en av huvudutvecklarens webbplatser och därmed ha mer detaljerad information om hur man förebygger och ligger ett steg före problemet:
  • Intel
  • ÄRM
  • 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, även om sårbarheter alltid kommer att finnas, kan vi vidta nödvändiga åtgärder för att vara uppmärksamma på eventuella misslyckanden och därmed förhindra att vår information påverkas.

wave wave wave wave wave