Apsaugokite „Linux“ ar „Windows“ nuo „Spectre“ ir „Meltdown“ pažeidžiamumų

Vienas iš pagrindinių komponentų bet kuriame kompiuteryje, skirtame naudoti operacinę sistemą, nepriklausomai nuo jos kūrėjo, yra procesorius arba procesorius, kuris žengė milžiniškus žingsnius, siūlydamas mums naują apdorojimo greitį, naujas technologijas, daugiau branduolių ir visa tai. optimizuoti ir pagerinti sistemos paleidimą ir ten įdiegtų programų vykdymą.

Visa tai yra novatoriška ir kupina emocijų perkant kompiuterį su puikiu procesoriumi, nes esame tikri, kad tai bus gera investicija, bet kas atsitiks, jei procesorius, nesvarbu, ar tai būtų „Intel“, „AMD“ ar kitas, savo dizaino saugumo spragose kad jie kelia pavojų mūsų informacijai ir mūsų konfidencialumui, tada tema keičia kursą ir verčia susimąstyti, kaip tokio pobūdžio situacija gali atsitikti žinomuose perdirbėjuose ir didelėse kompanijose visame pasaulyje.

Na, šis pažeidžiamumas yra realybė, kuri buvo aptikta prieš kelias dienas, sausio 4 d., Kur buvo aptikti „Spectre“ ir „Meltdown“ pažeidžiamumai, susieti su procesoriaus dizainu, kuriame užpuolikas turi prieigą prie sistemos informacijos ir atminties, kur tai gyvybiškai svarbu. yra tokie elementai kaip šifravimo raktai ar slaptažodžiai.

Blogiausias dalykas visoje šioje temoje yra tai, kad šie pažeidžiamumai turi įtakos „Intel“, ARM ir AMD procesoriams, todėl visi esame atviri šių pažeidžiamumų aukoms, todėl šiandien „Solvetic“ mes nuodugniai išanalizuosime, kas yra šie pažeidžiamumai ir kaip jie ataka ir kaip galime nuo jų apsaugoti savo serverius ir įrangą.

Prisiminkime, kad šie pažeidžiamumai užpuls visų tipų įrangą tiek namų, tiek įmonės lygmeniu, o šiuo metu operacinių sistemų ir programų kūrėjai išleidžia pataisas, kurios padės apsaugoti mus nuo „Spectre“ ir „Meltdown“.

Kas yra Spectre

„Spectre“ yra pažeidžiamumas, galintis apgauti procesorių pradėti spekuliacinį vykdymo procesą, nes šiuolaikiniai procesoriai naudoja filialo prognozavimą, o spekuliacinis vykdymas leidžia maksimaliai padidinti procesoriaus našumą.

„Spectre“ atakos leidžia paskatinti auką spekuliatyviai atlikti tam tikras operacijas, kurios neįvyktų tinkamai vykdant programą, ir tai leidžia labai paprastai konfidencialią informaciją nutekinti per šalutinį užpuoliko kanalą.

Atskleidžiant pranešimus apie šiuos pažeidžiamumus buvo atrasti du variantai, kurių sudėtingumas ir įtaka „Spectre“ procesoriui ir kartu vartotojo saugumui yra skirtingi.

Šie variantai yra šie:

1 variantas (CVE-2017-5753)Šis pažeidžiamumas veikia „Intel“, AMD ir ARM procesorius, todėl užpuolikas gali apgauti programas be jokių klaidų, vadovaudamasis geriausia praktika, kad filtruotų visą kompiuteryje saugomą vartotojo informaciją.

Šių metų sausio 3 d. Tai atrado „Google Project Zero“ komanda ir šis variantas pernelyg dažnai naudoja spekuliacinį vykdymą, kad atliktų ribinio patikrinimo apėjimo užduotis, todėl branduolio kodas bus nukreiptas, kontroliuojant užpuoliką.

Sistemų, kurias gali užpulti šis variantas, sąrašas:

  • „Red Hat Enterprise Linux 5“
  • „Red Hat Enterprise Linux 6“
  • „Red Hat Enterprise Linux 7“
  • RHEV-M 4.0
  • RHEV-M serveriams
  • „Red Hat Enterprise Linux OpenStack“ platforma 7.0 („Kilo“), skirta „RHEL 7“
  • „Red Hat Enterprise Linux OpenStack“ platforma 6.0 („Juno“), skirta RHEL 7
  • „Red Hat Enterprise MRG 2“
  • „Red Hat OpenStack“ platforma prieš 12.08.10
  • Debian Linux švokštimas
  • Debian Linux jessie
  • Debian Linux ruožas
  • Debian Linux buster, sid
  • „SUSE Linux Enterprise Server“, skirtas „Raspberry Pi 12 SP2“
  • „SUSE OpenStack Cloud 6“
  • „Openstack Cloud Magnum“ orkestravimas 7
  • SUSE konteineris kaip paslaugų platforma VISKAS
  • Didelis „SUSE Linux Enterprise“ prieinamumas 12 SP2 / SP3
  • „SUSE Linux Enterprise Live Patching“ 12
  • „SUSE Linux Enterprise“ modulis viešajam debesiui 12
  • „SUSE Linux Enterprise Server 11 SP3-LTSS“
  • „SUSE Linux Enterprise Server 11 SP4“
  • „SUSE Linux Enterprise“ programinės įrangos kūrimo rinkinys 11/12 SP3 / SP4
  • „SUSE Linux Enterprise“, skirta SAP 12 SP1
  • „SUSE Linux Enterprise 11“
  • „SUSE Linux Enterprise 12“
  • „OpenSuse Linux“, pagrįsta SUSE 12/11
  • „Fedora Linux“ 26
  • „Fedora Linux“ 27
  • „Amazon Linux AMI“

2 variantas (CVE-2017-5715)Šis variantas yra atsakingas už spekuliacinio vykdymo inicijavimą naudojant šakos taikinio injekciją. Jis grindžiamas tam tikra, tiksliai apibrėžta nurodymų seka privilegijuotame kode, taip pat situacija, kai prieigos prie atminties gali sukelti mikroprocesoriaus duomenų talpyklą, įskaitant spekuliacines vykdomas instrukcijas, kurios niekada nebus pažeistos.

Šio varianto dėka užpuolikas, neturintis jokių privilegijų, turėtų galimybę peržengti sistemos ir kompiuterio ribas, kad galėtų perskaityti privilegijuotą atmintį, atlikdamas tikslines šoninių kanalų talpyklos atakas ir taip matydamas, kaip skverbiasi vartotojo saugumas.

Paveiktos sistemos yra tos pačios, kurios išvardytos aukščiau.

Norėdami užkirsti kelią šiems „Linux“ variantams, galime atlikti šį procesą.

„CentOS“ arba „RedHat“ aplinkoje pirmiausia vykdome šias eilutes:

 uname -r sudo yum atnaujinimas

Kai sistema bus atnaujinta, mes iš naujo paleisime sistemą vykdydami eilutę:

 sudo perkraukite
Tada patvirtiname, kad branduolys buvo atnaujintas naudojant komandą dar kartą:
 uname -r
Galiausiai patikriname, ar variantai taikomi sistemoje, atlikdami šiuos veiksmus:
 rpm -q --changelog branduolys | egrep 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754' 

DIDELIS

Jei naudojate „Ubuntu“ arba „Debian“, galime vykdyti šias eilutes:

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

Spectre atakos formos„Spectre“ naudoja kai kuriuos puolimo būdus, tokius kaip:

  • Spekuliacinio vykdymo išnaudojimas. Taikant šią techniką, „Spectre“ atakuoja procesoriaus užduotį spekuliacinių vykdymo instrukcijų lygiu su sekomis, kurios neturėjo būti vykdomos teisingai vykdant programą, ir šios sekos galiausiai bus pakeistos, sukuriant laikinas instrukcijas, kuriomis užpuolikas pasinaudoja naudodamasis naudotojo filtravimu paveikta informacija.
  • Atakos naudojant savąjį kodą:. Ši ataka sukuria programą, kurios prieigos atmintyje yra slaptų duomenų, ir kai ši programa yra sukompiliuota, sistemos dvejetainiai failai ir bendrosios bibliotekos analizuojami siekiant filtruoti vartotojo informaciją.

Galiausiai parašyta kita atakos programa, kuri naudoja CPU spekuliacinio vykdymo funkciją, kad įvykdytų anksčiau pastebėtas sekas kaip laikinas instrukcijas.

  • Atakos naudojant „JavaScript“. Ši ataka naudojama pažeidžiant naršyklės smėlio dėžę, per ją pridedant nešiojamąjį „JavaScript“ kodą.

Techninė įranga paveikta „Spectre“Šiuo metu buvo nustatyta, kad „Spectre“ gali pažeisti tokią aparatinę įrangą kaip:

  • „Ivy Bridge“ procesoriai
  • „AMD Ryzen“
  • „Intel“ procesoriai
  • „Qualcomm“ procesoriai

Apibendrinant, „Spectre“ ataka susideda iš šių etapų:

  • 1 etapas. Pirmiausia ataka prasideda konfigūracijos etapu, kai priešininkas atlieka operacijas, kurios sukelia procesoriaus gedimus, kad vėliau būtų galima atlikti klaidingą spekuliacinį išnaudojimą.

Per šį etapą užpuolikas gali paruošti šoninį kanalą, kuris bus naudojamas aukos informacijai išgauti.

  • 2 etapas. Šiame etape procesorius spekuliatyviai vykdo vieną ar daugiau nurodymų, kurie perduoda konfidencialią informaciją iš aukos konteksto į šalutinio kanalo mikroarchitektūrą.

Tai leidžia užpuolikui atlikti veiksmą, pvz., „Syscall“, „socket“, o kitais atvejais užpuolikas gali pasinaudoti spekuliaciniu savo kodo vykdymu, kad naudotojas gautų neskelbtinos informacijos iš to paties proceso.

  • 3 etapas. Šiame etape konfidencialūs duomenys atgaunami iš „Spectre“, naudojant tokius metodus kaip praplovimas + perkrovimas arba iškeldinimas + perkrovimas. Šis atkūrimo procesas apima matavimą, kiek laiko reikia skaityti atminties adresus talpyklos eilutėse, kurios yra periodiškai stebimos.

Kas yra „Meltdown“?

Kita ataka, turinti įtakos vartotojų saugumui, yra „Meltdown“, leidžianti užpuolikui pasiekti asmeninę vartotojo informaciją per įdiegtą operacinę sistemą, pvz., „Microsoft Windows“ arba „High Sierra“.

Jo pavadinimas buvo suteiktas dėl galimybės pažeisti saugumo apribojimus, kuriuos paprastai nustato sistemos aparatinė įranga.

„Meltdown“ pažeidžiamumas buvo katalogizuotas kaip CVE-2017-5754, kur nurodoma, kad „Meltdown“ turi galimybę įsiskverbti į pagrindinę vartotojo programų ir operacinės sistemos izoliaciją, kad ir kokia ji būtų. Ši ataka leidžia programai pasiekti atmintį, o kartu ir kitų programų bei pačios operacinės sistemos konfidencialią informaciją.

Šį trūkumą sausio 3 dieną taip pat aptiko „Google Project Zero“ komanda ir kitos papildomos komandos.
Šis pažeidžiamumas veikia „Intel x86-64“ procesorius, bet ne AMD x86-64 procesorius.

Lydymasis gali paveikti sistemą, pavyzdžiui:

  • „Red Hat Enterprise Linux 5“
  • „Red Hat Enterprise Linux 6“
  • „Red Hat Enterprise Linux“
  • Debian Linux švokštimas
  • Debian Linux jessie
  • Debian Linux ruožas
  • Deiban Linux buster, sid
  • „SUSE Linux Enterprise 11“
  • „SUSE Linux Enterprise 12“
  • „OpenSuse Linux“, pagrįsta SUSE 12/11
  • „Fedora Linux“ 26
  • „Fedora Linux“ 27
  • „Amazon Linux AMI“
  • „Windows“
Šiuo metu turime šio pažeidžiamumo sprendimą šiems Linux platinimams, kurių branduolio versija yra tokia:
  • 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 ruožas [4.9.0-5-amd64] / jessie [3.16.0-5-amd6] / švokštimas [3.2.0-5-amd64]
  • „CoreOS“ [4.14.11-Coreos]
  • „Arch Linux“ [atnaujinti į dabartinį riedėjimą]
  • „Gentoo Linux“ [atnaujinti į dabartinį riedėjimą]
  • „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]

Norėdami apsisaugoti nuo šio pažeidžiamumo CVE-2017-5754, galime atlikti šiuos veiksmus:

  • „CentOS“ ir „RedHat“:
 uname -r sudo yum update sudo reboot
  • „Fedora“:
 sudo dnf -atnaujinti atnaujinimo branduolį 
  • „Debian“ ir „Ubuntu“:
 uname -r sudo apt-get update sudo apt-get dist-upgrade sudo shutdown -r 0

Kaip veikia „Meltdown“Prisiminkime, kad viena iš pagrindinių saugumo funkcijų šiuolaikiniame operacinėse sistemose yra atminties izoliacija, užtikrinanti, kad vartotojų programos negalėtų pasiekti kitų vartotojų ir programų atminties ir taip neleistų vartotojų programoms skaityti ar rašyti branduolio atminčiai.

Šiuolaikiniuose procesoriuose branduolio ir vartotojo procesų izoliaciją paprastai atlieka procesoriaus bitų monitorius, kuris nustato, ar atmintis turi galimybę pasiekti branduolio puslapį, ar ne.
„Meltdown“ buvo sukurta kaip nauja ataka, galinti visiškai įveikti atminties izoliaciją, suteikiant paprastą būdą bet kuriam vartotojo procesui nuskaityti veikiančios mašinos branduolio atmintį, įskaitant visą branduolio regionui skirtą fizinę atmintį.

„Meltdown“ šiandien veikia visose pagrindinėse operacinėse sistemose, o ši pažeidžiamybė naudoja šoninio kanalo informaciją, prieinamą daugelyje šiuolaikinių procesorių, tokių kaip „Intel“ ar AMD.

„Meltdown“ užpuolikui suteikia galimybę paleisti kodą pažeidžiamame procesoriuje, kad visas branduolys būtų išmestas į adresų sritį, įskaitant visą priskirtą fizinę atmintį.

„Meltdown“ paprastumo ir apimties priežastis yra šalutinis poveikis, kurį sukelia netinkamas vykdymas, tai yra, tai yra dabartinių procesorių ypatybė, sukurta siekiant įveikti užimtų vykdymo vienetų vėlavimus.

Lydymosi darbo etapai yra šie:

  • 1 etapas. Šiame etape pateikiama užklausa dėl neteisėtos atminties vietos procesoriaus branduolyje.
  • 2 etapas. Šiame etape atliekama antroji užklausa, siekiant sąlyginai nuskaityti galiojančią atminties vietą tik tuo atveju, jei pirmoje užklausoje yra tam tikra aktyvi vertė.
  • 3 etapas. Šiame etape spekuliacinė vykdymo užduotis atliekama, kai procesorius užbaigia dviejų ankstesnių užklausų foninį darbą prieš patikrindamas, ar pradinė užklausa yra negaliojanti. Kai tik procesorius supranta, kad užklausos apima atminties ribas, jis atmeta abi užklausas.
  • 4 etapas. Pateikiama nauja užklausa dėl galiojančios atminties vietos.

Taigi su „Meltdown“ pažeidžiamumu galime apibrėžti šiuos dalykus:

Užpuoliko pasirinktos atminties vietos, kuri nėra prieinama užpuolikui, turinys įkeliamas į sistemos registrą.

Laikinas nurodymas pasiekia talpyklos eilutę, pagrįstą slaptu registro turiniu.

Užpuolikas naudoja „Flush + Reload“, kad nustatytų prieigą prie talpyklos linijos ir taip pasiektų informaciją, saugomą pasirinktoje atminties vietoje.

Kai suprasime, kaip veikia šie pažeidžiamumai, pamatysime, kaip apsaugosime savo kompiuterius nuo jų, nors turime paaiškinti, kad iki šiol nebuvo pranešta apie atakas, kuriose dalyvautų ir vartotojai, ir administratoriai.

1. Kaip apsisaugoti nuo „Spectre“ ir „Meltdown“ „Linux“ sistemose


„Linux“ atveju mes naudosime „specter-meltdown-checker.sh“, kuris yra apvalkalo scenarijus, kad nustatytume, ar „Linux“ branduolys yra pažeidžiamas 3 CVE, kuriuos minėjome apie šiuos pažeidžiamumus.

PastabaŠis scenarijus turi būti paleistas kaip root vartotojas.

1 žingsnis
Norėdami įdiegti šį scenarijų, pirmiausia eisime į / tmp katalogą taip:

 cd / tmp / 
2 žingsnis
Kai mes esame minėtame kataloge, mes pradedame gauti scenarijų vykdydami šią eilutę:
 wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh 

PastabaKitas būdas jį gauti yra vykdyti šią eilutę:

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

Kaip patikrinti, ar esame pažeidžiami „Spectre“ ar „Meltdown“Norėdami patikrinti mūsų platinimo saugumą, galime įvykdyti šią eilutę:

 sudo sh specter-meltdown-checker.sh

Tai taip paprasta. Mes galime patikrinti, ar mūsų sistema yra pažeidžiama šių naujų grėsmių.

2. Kaip apsisaugoti nuo „Spectre“ ir „Meltdown“ „Windows“ sistemose


Tokiu atveju naudosime „Windows 10“ ir tam turime pasiekti „Windows PowerShell“ kaip administratoriai, dešiniuoju pelės klavišu spustelėdami programą ir pasirinkę parinktį „Vykdyti kaip administratoriui“.

1 žingsnis
Kai „PowerShell“ terminalas yra atidarytas, mes vykdome šią eilutę:

 Įdiegimo modulio „SpeculationControl“
2 žingsnis
Į rodomus klausimus įvesime raidę S, kad patvirtintume:

DIDELIS

3 žingsnis
Standartinė „Windows“ vykdymo politika neleis mums vykdyti šio scenarijaus, todėl norėdami vykdyti scenarijų turime išsaugoti esamą konfigūraciją, kad vėliau ją būtų galima atkurti, ir tada pakeisti vykdymo politiką, kad ją būtų galima paleisti scenarijus. Norėdami tai padaryti, vykdysime šias dvi komandas:

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

DIDELIS

4 žingsnis
Dabar galime paleisti scenarijų atlikdami šiuos veiksmus:

 Import-Module SpeculationControl Get-SpeculationControlSettings

DIDELIS

5 žingsnis
Mes galime pamatyti išsamią informaciją apie sistemą ir visų pirma turime atkreipti dėmesį į dvi eilutes:

„Windows“ OS palaikymas filialo taikinio injekcijos mažinimuiŠi eilutė nurodo „Microsoft“ programinės įrangos naujinimą ir jo reikšmę tiesa reiškia, kad kompiuteris yra apsaugotas nuo „Meltdown“ ir „Spectre“ atakų.

Techninė įranga, skirta atšakos taikinio įpurškimo mažinimuiŠi eilutė nurodo programinės įrangos arba BIOS / UEFI naujinį, kurio reikalauja kompiuterio gamintojas, jei jo vertė yra tiesa tai reiškia, kad būsime apsaugoti nuo „Spectre“ pažeidžiamumo.

6 žingsnis
Norėdami atkurti vykdymo politiką į pradinę konfigūraciją, patikrinę sistemos saugumą, galime vykdyti šią eilutę:

 Set -ExecutionPolicy $ SaveExecutionPolicy -Scope Currentuser 

DIDELIS

7 žingsnis
Verta prisiminti, kaip svarbu nuolat atnaujinti operacinę sistemą, nes kūrėjai išleis saugos pataisas, kad išvengtų šių saugumo trūkumų:

3. Oficiali gamintojų informacija apie spąstus ir tirpimą


Šiose nuorodose galime rasti informacijos apie šiuos pažeidžiamumus kiekvienoje pagrindinių kūrėjų svetainėse ir taip gauti išsamesnės informacijos, kaip užkirsti kelią problemai ir būti vienu žingsniu priekyje:
  • „Intel“
  • RANKA
  • AMD
  • NVIDIA
  • „Microsoft Windows“
  • „Windows Server“
  • „Amazon“
  • „Google“
  • „Android“
  • Manzana
  • Lenovo
  • HP
  • „Huawei“
  • „Cisco“
  • Mozilla
  • Raudona KEPURĖ
  • Debian
  • Ubuntu
  • Fedora
  • „VMWare“

Kaip matome, nors pažeidžiamumų visada bus, galime imtis reikiamų priemonių, kad būtume dėmesingi bet kokiai nesėkmei ir taip neleistume paveikti mūsų informacijos.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave