Aizsargājiet Linux vai Windows no Spectre un Meltdown ievainojamībām

Viena no galvenajām sastāvdaļām jebkurā datorā, kas paredzēts operētājsistēmas izmantošanai neatkarīgi no tā izstrādātāja, ir centrālais procesors vai procesors, kas ir gājis milzīgos soļos, piedāvājot mums jaunus apstrādes ātrumus, jaunas tehnoloģijas, vairāk kodolu un visu to, lai optimizēt un uzlabot sistēmas startēšanu un tur instalēto programmu izpildi.

Tas viss ir novatoriski un piepilda mūs ar emocijām, pērkot datoru ar izcilu procesoru, jo esam pārliecināti, ka tas būs labs ieguldījums, bet kas notiks, ja procesors, neatkarīgi no tā, vai tas ir Intel, AMD vai cits, noformē drošības ievainojamību ka viņi apdraud mūsu informāciju un mūsu konfidencialitāti, tēma maina kursu un liek aizdomāties par to, kā šāda veida situācija var notikt slavenos procesoros un lielos uzņēmumos visā pasaulē.

Šī ievainojamība ir realitāte, kas tika atklāta pirms dažām dienām, 4. janvārī, kur tika atklātas Spectre un Meltdown ievainojamības, kas ir saistītas ar procesora dizainu, kur uzbrucējam ir atļauts piekļūt sistēmas informācijai un atmiņai, kur tas ir ļoti svarīgi. tiek ievietoti tādi elementi kā šifrēšanas atslēgas vai paroles.

Vissliktākais visā šajā jautājumā ir tas, ka šīs ievainojamības ietekmē Intel, ARM un AMD procesorus, tāpēc mēs visi esam gatavi kļūt par šo ievainojamību upuriem, un tāpēc šodien Solvetic mēs rūpīgi analizēsim, kas ir šīs ievainojamības, kā tās uzbrukums un kā mēs varam no tiem aizsargāt savus serverus un aprīkojumu.

Atcerēsimies, ka šīs ievainojamības uzbruks visa veida iekārtām gan mājas, gan uzņēmuma līmenī, un pašlaik operētājsistēmu un lietojumprogrammu izstrādātāji izlaiž ielāpus, kas kalpos, lai pasargātu mūs no Spectre un Meltdown.

Kas ir Spectre

Spectre ir ievainojamība, kas var maldināt procesoru sākt spekulatīvu izpildes procesu, jo mūsdienu procesori izmanto filiāles prognozēšanu, un spekulatīvā izpilde ļauj maksimāli palielināt procesora veiktspēju.

Spectre uzbrukumi ļauj pamudināt upuri spekulatīvi veikt noteiktas darbības, kas nenotiktu programmas pareizas izpildes laikā, un tas ļauj ļoti vienkāršā veidā uzbrucējam noplūst konfidenciālu informāciju.

Paziņojumos par šīm ievainojamībām tika atklāti divi varianti ar dažādu sarežģītības pakāpi un Spectre ietekmi uz procesoru un līdz ar to arī uz lietotāja drošību.

Šie varianti ir:

1. variants (CVE-2017-5753)Šī ievainojamība ietekmē Intel, AMD un ARM procesorus, ļaujot uzbrucējam maldināt programmas bez jebkāda veida kļūdām, ievērojot labāko praksi, lai filtrētu visu datorā saglabāto lietotāja informāciju.

Šā gada 3. janvārī to atklāja Google Project Zero komanda, un šis variants pārmērīgi izmanto spekulatīvu izpildi, lai veiktu ierobežojuma pārbaudes apiešanas uzdevumus, kā rezultātā kodola kods tiek novirzīts, kontrolējot uzbrucēju spekulatīvi.

Sistēmu saraksts, kurām var uzbrukt šis variants, ir šāds:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • RHEV-M 4.0
  • RHEV-M serveriem
  • Red Hat Enterprise Linux OpenStack platforma 7.0 (Kilo) RHEL 7
  • Red Hat Enterprise Linux OpenStack platforma 6.0 (Juno) RHEL 7
  • Red Hat Enterprise MRG 2
  • Red Hat OpenStack platforma pret 8.08.2010
  • Debian Linux sēkšana
  • Debian Linux Jessie
  • Debian Linux stiept
  • Debian Linux buster, sid
  • SUSE Linux Enterprise Server Raspberry Pi 12 SP2
  • SUSE OpenStack Cloud 6
  • Openstack Cloud Magnum orķestrācija 7
  • SUSE konteiners kā pakalpojumu platforma ALL
  • SUSE Linux Enterprise augsta pieejamība 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 programmatūras izstrādes komplekts 11/12 SP3 / SP4
  • SUSE Linux Enterprise SAP 12 SP1
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux, pamatojoties uz SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI

2. variants (CVE-2017-5715)Šis variants ir atbildīgs par spekulatīvas izpildes aktivizēšanu, izmantojot filiāles mērķa injekciju. Tā pamatā ir īpaša, precīzi definēta instrukciju secība priviliģētajā kodā, kā arī situācija, ka piekļuve atmiņai var izraisīt mikroprocesora datu kešatmiņu, ieskaitot spekulatīvi izpildītas instrukcijas, kuras nekad netiks apdraudētas.

Pateicoties šim variantam, uzbrucējam bez jebkādām privilēģijām būtu iespēja pārkāpt sistēmas un datora robežas, lai lasītu priviliģēto atmiņu, veicot mērķtiecīgus sānu kanālu kešatmiņas uzbrukumus un tādējādi redzot, ka lietotāja drošība ir iekļuvusi.

Ietekmētās sistēmas ir tādas pašas kā iepriekš uzskaitītās.

Lai novērstu šos variantus Linux, mēs varam veikt šādu procesu.

CentOS vai RedHat vidēs vispirms izpildām šādas rindas:

 uname -r sudo yum atjauninājums

Kad sistēma ir atjaunināta, mēs turpinām sistēmas restartēšanu, izpildot rindu:

 sudo atsāknēšana
Tad mēs apstiprinām, ka kodols ir atjaunināts, izmantojot komandu vēlreiz:
 uname -r
Visbeidzot, mēs pārbaudām, vai varianti tiek lietoti sistēmā, izpildot sekojošo:
 rpm -q -eņģeļu žurnāla kodols | egrep 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754' 

PALIELINĀT

Ubuntu vai Debian izmantošanas gadījumā mēs varam izpildīt šādas rindas:

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

Spectre uzbrukuma formasSpectre izmanto dažas uzbrukuma metodes, piemēram:

  • Spekulatīvas izpildes izmantošana. Izmantojot šo paņēmienu, Specter uzbrūk procesora uzdevumam spekulatīvu izpildes instrukciju līmenī ar sekvencēm, kuras nevajadzēja izpildīt pareizas programmas izpildes laikā, un šīs secības galu galā tiks apgrieztas, izveidojot pārejošas instrukcijas, kuras uzbrucējs izmanto, lai filtrētu lietotāju. informācija.
  • Uzbrukumi, izmantojot vietējo kodu:. Šis uzbrukums izveido programmu, kuras piekļuves atmiņā ir slepeni dati, un pēc šīs programmas apkopošanas sistēmas binārie faili un koplietotās bibliotēkas tiek analizētas, lai filtrētu lietotāja informāciju.

Visbeidzot, tiek uzrakstīta vēl viena uzbrukuma programma, kas izmanto CPU spekulatīvās izpildes funkciju, lai izpildītu iepriekš konstatētās secības kā pārejošas instrukcijas.

  • Uzbrukumi, izmantojot JavaScript. Šis uzbrukums tiek izmantots, lai pārkāptu pārlūkprogrammas smilškastīti, caur to pievienojot pārnēsājamu JavaScript kodu.

Spectre ietekmē aparatūruPašlaik ir atklāts, ka Spectre spēj pārkāpt aparatūru, piemēram:

  • Ivy Bridge procesori
  • AMD Ryzen
  • Intel procesori
  • Qualcomm procesori

Rezumējot, Spectre uzbrukums sastāv no šādām fāzēm:

  • 1. fāze. Pirmkārt, uzbrukums sākas ar konfigurācijas posmu, kurā pretinieks veic darbības, kas izraisa procesora kļūmes, lai pēc tam varētu veikt kļūdainu spekulatīvu izmantošanu.

Šajā posmā uzbrucējs var sagatavot sānu kanālu, kas tiks izmantots, lai iegūtu upura informāciju.

  • 2. fāze. Šajā posmā procesors spekulatīvi izpilda vienu vai vairākas instrukcijas, kas konfidenciālu informāciju no cietušā konteksta pārnes sānu kanāla mikroarhitektūrā.

Tas ļauj uzbrucējam veikt kādu darbību, piemēram, syscall, socket, un citos gadījumos uzbrucējs var izmantot sava koda spekulatīvu izpildi, lai no tā paša procesa lietotājs iegūtu sensitīvu informāciju.

  • 3. posms. Šajā posmā konfidenciāli dati tiek atgūti no Spectre, izmantojot tādas metodes kā flush + reload vai izlikšana + pārlādēšana. Šis atkopšanas process sastāv no periodiski uzraudzīto kešatmiņas rindu atmiņas adrešu nolasīšanas.

Kas ir Meltdown

Otrs uzbrukums, kas ietekmē lietotāju drošību, ir Meltdown, kas ļauj uzbrucējam piekļūt lietotāja privātajai informācijai, izmantojot instalēto operētājsistēmu, piemēram, Microsoft Windows vai High Sierra.

Tās nosaukums ir piešķirts spējai pārkāpt drošības ierobežojumus, ko parasti nosaka sistēmas aparatūra.

Meltdown ievainojamība ir katalogizēta kā CVE-2017-5754, kur ir minēts, ka Meltdown spēj iekļūt pamata izolācijā starp lietotņu lietojumprogrammām un operētājsistēmu neatkarīgi no tā, kāda tā ir. Šis uzbrukums ļauj programmai piekļūt atmiņai un līdz ar to arī citu programmu un pašas operētājsistēmas konfidenciālajai informācijai.

Šo trūkumu 3. janvārī atklāja arī Google Project Zero komanda un citas papildu komandas.
Šī ievainojamība ietekmē Intel x86-64 procesorus, bet ne AMD x86-64 procesorus.

Kausēšana var ietekmēt sistēmu, piemēram:

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux
  • Debian Linux sēkšana
  • Debian Linux Jessie
  • Debian Linux stiept
  • Deiban Linux buster, sid
  • SUSE Linux Enterprise 11
  • SUSE Linux Enterprise 12
  • OpenSuse Linux, pamatojoties uz SUSE 12/11
  • Fedora Linux 26
  • Fedora Linux 27
  • Amazon Linux AMI
  • Windows
Pašlaik mums ir risinājums šai ievainojamībai šādiem Linux izplatījumiem ar to kodola versiju:
  • 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 stiept [4.9.0-5-amd64] / jessie [3.16.0-5-amd6] / sēkšana [3.2.0-5-amd64]
  • CoreOS [4.14.11-Coreos]
  • Arch Linux [atjaunināt uz pašreizējo versiju]
  • Gentoo Linux [atjaunināt uz pašreizējo versiju]
  • Ubuntu Linux v16.04 [4.4.0-109-generic vai 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]

Lai pasargātu sevi no šīs ievainojamības CVE-2017-5754, mēs varam veikt šādas darbības:

  • CentOS un RedHat:
 uname -r sudo yum update sudo reboot
  • Fedorā:
 sudo dnf -atsvaidzināt atjaunināšanas kodolu 
  • Debian un Ubuntu:
 uname -r sudo apt-get update sudo apt-get dist-upgrade sudo shutdown -r 0

Kā darbojas MeltdownAtcerēsimies, ka viens no centrālajiem drošības elementiem darbības līmenī mūsdienu operētājsistēmās ir atmiņas izolācija, kas nodrošina, ka lietotņu lietojumprogrammām nav piekļuves citu lietotāju un programmu atmiņām, un tādējādi neļauj lietotnēm lasīt vai rakstīt kodola atmiņai.

Mūsdienu procesoros kodola un lietotāja procesu izolāciju parasti veic procesora bitu monitors, kas nosaka, vai atmiņai ir iespēja piekļūt kodola lapai.
Meltdown ir izstrādāts kā jauns uzbrukums, kas spēj pilnībā pārvarēt atmiņas izolāciju, nodrošinot vienkāršu veidu, kā jebkuram lietotāja procesam nolasīt darbojošās mašīnas kodola atmiņu, ieskaitot visu kodola reģionā piešķirto fizisko atmiņu.

Meltdown šodien darbojas visās lielākajās operētājsistēmās, un šī ievainojamība izmanto sānu kanālu informāciju, kas pieejama lielākajā daļā mūsdienu procesoru, piemēram, Intel vai AMD.

Izkausēšana dod uzbrucējam iespēju palaist kodu neaizsargātā procesorā, lai adreses telpā izmestu visu kodolu, ieskaitot visu piešķirto fizisko atmiņu.

Meltdown vienkāršības un apjoma cēlonis ir blakusparādības, ko izraisa neveiksmīga izpilde, tas ir, tā ir pašreizējo procesoru iezīme, kas izstrādāta, lai pārvarētu aizņemto izpildes vienību latentumu.

Izkausēšanas darba posmi ir šādi:

  • 1. fāze. Šajā fāzē tiek pieprasīts pieprasīt nelikumīgu atmiņas atrašanās vietu procesora kodolā.
  • 2. fāze. Šajā posmā tiek veikts otrs pieprasījums, lai nosacīti nolasītu derīgu atmiņas vietu tikai tad, ja pirmajā pieprasījumā ir noteikta aktīva vērtība.
  • 3. posms. Šajā posmā tiek veikts spekulatīvs izpildes uzdevums, kurā procesors pabeidz divu iepriekšējo pieprasījumu fona darbu, pirms pārbauda, ​​vai sākotnējais pieprasījums nav derīgs. Tiklīdz procesors saprot, ka pieprasījumi ir saistīti ar ārpusbiržas atmiņu, tas noraida abus pieprasījumus.
  • 4. fāze. Tiek iesniegts jauns pieprasījums par derīgu atmiņas vietu.

Tātad ar Meltdown ievainojamību mēs varam definēt sekojošo:

Uzbrucēja izvēlētās atmiņas vietas saturs, kas uzbrucējam nav pieejams, tiek ielādēts sistēmas reģistrā.

Pārejoša instrukcija piekļūst kešatmiņas rindai, pamatojoties uz reģistra slepeno saturu.

Uzbrucējs izmanto Flush + Reload, lai noteiktu piekļuvi kešatmiņas līnijai un tādējādi piekļūtu izvēlētajā atmiņas vietā saglabātajai informācijai.

Kad būsim sapratuši, kā šīs ievainojamības darbojas, mēs redzēsim, kā mēs aizsargāsim savus datorus no tiem, lai gan mums ir jāprecizē, ka līdz šim nav ziņots par uzbrukumu, kurā iesaistīti gan lietotāji, gan administratori.

1. Kā pasargāt sevi no Spectre un Meltdown Linux sistēmās


Linux gadījumā mēs izmantosim specter-meltdown-checker.sh, kas ir čaulas skripts, lai noteiktu, vai Linux kodols ir neaizsargāts pret 3 CVE, ko esam minējuši par šīm ievainojamībām.

PiezīmeŠis skripts jāpalaiž kā root lietotājs.

1. darbība
Lai instalētu šo skriptu, vispirms dosimies uz / tmp direktoriju šādi:

 cd / tmp / 
2. solis
Kad esam nonākuši minētajā direktorijā, mēs turpinām iegūt skriptu, izpildot šādu rindu:
 wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh 

PiezīmeVēl viena iespēja to iegūt, izpildot šādu rindu:

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

Kā pārbaudīt, vai esam neaizsargāti pret Spectre vai MeltdownLai pārbaudītu mūsu izplatīšanas drošību, mēs varam izpildīt šādu rindu:

 sudo sh specter-meltdown-checker.sh

Tas ir tik vienkārši. Mēs varam pārbaudīt, vai mūsu sistēma ir neaizsargāta pret šiem jaunajiem draudiem.

2. Kā pasargāt sevi no Spectre un Meltdown Windows sistēmās


Šajā gadījumā mēs izmantosim operētājsistēmu Windows 10 un šim nolūkam mums kā administratoriem jāpiekļūst Windows PowerShell, ar peles labo pogu noklikšķinot uz lietojumprogrammas un atlasot opciju “Palaist kā administratoram”.

1. darbība
Kad PowerShell terminālis ir atvērts, mēs turpinām izpildīt šādu rindu:

 Instalācijas moduļa spekulācijas kontrole
2. solis
Parādītajos jautājumos mēs ievadīsim burtu S, lai apstiprinātu:

PALIELINĀT

3. solis
Standarta Windows izpildes politika neļaus mums izpildīt šo skriptu, tāpēc, lai izpildītu skriptu, mums jāsaglabā pašreizējā konfigurācija, lai to vēlāk varētu atjaunot, un pēc tam jāmaina izpildes politika, lai to varētu palaist. skripts. Šim nolūkam mēs izpildīsim šādas divas komandas:

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

PALIELINĀT

4. solis
Tagad mēs varam palaist skriptu, izpildot šādas darbības:

 Import-Module SpeculationControl Get-SpeculationControlSettings

PALIELINĀT

5. solis
Mēs varam redzēt detalizētu informāciju par sistēmu, un mums īpaši jāaplūko divas rindas:

Windows OS atbalsts filiāles mērķa injekciju mazināšanaiŠī rindiņa norāda Microsoft programmatūras atjauninājumu un to vērtību taisnība nozīmē, ka dators ir aizsargāts pret Meltdown un Spectre uzbrukumiem.

Aparatūras atbalsts filiāles mērķa injekciju mazināšanaiŠī rindiņa attiecas uz programmaparatūru vai BIOS / UEFI atjauninājumu, kas nepieciešams datora ražotājam, ja tā vērtība ir taisnība tas nozīmē, ka mēs būsim aizsargāti pret Spectre ievainojamību.

6. darbība
Lai atjaunotu izpildes politiku sākotnējā konfigurācijā pēc sistēmas drošības pārbaudes, mēs varam izpildīt šādu rindu:

 Set -ExecutionPolicy $ SaveExecutionPolicy -Scope Currentuser 

PALIELINĀT

7. solis
Ir vērts atcerēties, cik svarīgi ir pastāvīgi atjaunināt operētājsistēmu, jo izstrādātāji izlaidīs drošības ielāpus, lai novērstu šos drošības trūkumus:

3. Ražotāju oficiālā informācija par spoguļiem un kausēšanu


Turpmākajās saitēs mēs varam atrast informāciju par šīm ievainojamībām katrā no galvenajām izstrādātāju vietnēm un tādējādi iegūt detalizētāku informāciju par to, kā novērst problēmu un būt vienu soli priekšā:
  • Intel
  • ARM
  • AMD
  • NVIDIA
  • Microsoft Windows
  • Windows Server
  • Amazon
  • Google
  • Android
  • Manzana
  • Lenovo
  • ZS
  • Huawei
  • Cisco
  • Mozilla
  • Sarkana cepure
  • Debian
  • Ubuntu
  • Fedora
  • VMWare

Kā redzam, lai gan ievainojamības vienmēr būs, mēs varam veikt nepieciešamos pasākumus, lai būtu uzmanīgi pret jebkādām neveiksmēm un tādējādi novērstu mūsu informācijas ietekmi.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave