Jednou ze základních součástí každého počítače určeného k použití operačního systému, bez ohledu na jeho vývojáře, je CPU nebo procesor, který postupuje obrovskými kroky a nabízí nám nové rychlosti zpracování, nové technologie, více jader a to vše za účelem optimalizovat a zlepšit spouštění systému a provádění programů, které jsme tam nainstalovali.
To vše je inovativní a naplňuje nás to emocemi, když si koupíme počítač s vynikajícím procesorem, protože jsme si jisti, že to bude dobrá investice, ale co se stane, když se procesor, ať už Intel, AMD nebo jiný, v rámci svých návrhových chyb zabezpečení projeví že ohrožují naše informace a naši důvěrnost, tam předmět mění kurz a nutí nás přemýšlet o tom, jak k tomuto typu situace může dojít u renomovaných zpracovatelů a velkých společností po celém světě.
Tato zranitelnost je realita, která byla objevena před několika dny, 4. ledna, kde byly objeveny zranitelnosti Spectre a Meltdown, které souvisejí s konstrukcí procesoru, kde je útočníkovi umožněn přístup k systémovým informacím a paměti, kde je zásadní jsou uloženy prvky, jako jsou šifrovací klíče nebo hesla.
Nejhorší na celém tomto problému je, že tyto chyby zabezpečení ovlivňují procesory Intel, ARM a AMD, a proto jsme všichni otevření tomu, abychom byli oběťmi těchto chyb zabezpečení, a proto dnes v Solvetic důkladně analyzujeme, jaké tyto chyby zabezpečení jsou, jak útok a jak před nimi můžeme chránit naše servery a zařízení.
Pamatujme, že tyto chyby zabezpečení budou útočit na všechny typy zařízení na domácí i firemní úrovni a v současné době vývojáři operačních systémů a aplikací vydávají záplaty, které nám budou sloužit jako ochrana před Spectre a Meltdown.
Co je to Spectre
Spectre je chyba zabezpečení, která má schopnost přimět procesor k zahájení procesu spekulativního provádění, protože moderní procesory využívají predikci větví a spekulativní provádění umožňuje maximalizovat výkon procesoru.
Spectre útoky umožňují přimět oběť spekulativně provádět určité operace, ke kterým by při správném spuštění programu nedošlo, a to umožňuje velmi jednoduchým způsobem uniknout důvěrným informacím postranním kanálem pro útočníka.
Zveřejnění oznámení o těchto zranitelnostech odhalilo dvě varianty s různou úrovní složitosti a dopadu Spectre na procesor a s ním i na bezpečnost uživatele.
Tyto varianty jsou:
Varianta 1 (CVE-2017-5753)Tato chyba zabezpečení ovlivňuje procesory Intel, AMD a ARM, což útočníkovi umožňuje oklamat programy bez jakéhokoli druhu chyby a podle osvědčených postupů filtrovat všechny informace o uživateli uložené v počítači.
Toto bylo objeveno 3. ledna letošního roku týmem Google Project Zero a tato varianta nadměrně využívá spekulativní provádění k provádění obtokových úloh s kontrolou limitů, což způsobuje, že kód jádra bude přesměrován spekulativně pod kontrolou útočníka.
Seznam systémů, které mohou být napadeny touto variantou, jsou:
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- RHEV-M 4.0
- RHEV-M pro servery
- Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) pro RHEL 7
- Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno) pro RHEL 7
- Red Hat Enterprise MRG 2
- Platforma Red Hat OpenStack v 8/9/10/11/12
- Pískání Debianu Linux
- Debian Linux jessie
- Stretch Debianu Linux
- Debian Linux buster, sid
- SUSE Linux Enterprise Server pro Raspberry Pi 12 SP2
- SUSE OpenStack Cloud 6
- Openstack Cloud Magnum Orchestration 7
- SUSE Container jako platforma služeb VŠE
- Vysoká dostupnost SUSE Linux Enterprise 12 SP2 / SP3
- Živé opravy SUSE Linux Enterprise 12
- Podnikový modul SUSE Linux pro veřejný 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 pro SAP 12 SP1
- SUSE Linux Enterprise 11
- SUSE Linux Enterprise 12
- OpenSuse Linux založený na SUSE 12/11
- Fedora Linux 26
- Fedora Linux 27
- Amazon Linux AMI
Varianta 2 (CVE-2017-5715)Tato varianta je zodpovědná za spuštění spekulativního provádění pomocí použití cílové injekce větve. Je založen na přítomnosti konkrétní, přesně definované sekvence instrukcí v privilegovaném kódu, jakož i na situaci, že přístupy do paměti mohou způsobit ukládání dat mikroprocesoru do mezipaměti, včetně spekulativně provedených instrukcí, které nikdy nebudou kompromitovány.
Díky této variantě by útočník bez jakýchkoli oprávnění měl možnost překročit limity systému a počítače, aby mohl číst privilegovanou paměť prováděním cílených útoků mezipaměti na bočním kanálu, a tak viděl proniknutí zabezpečení uživatele.
Dotčené systémy jsou stejné jako systémy uvedené výše.
Abychom těmto variantám v Linuxu zabránili, můžeme provést následující postup.
V prostředích CentOS nebo RedHat nejprve provedeme následující řádky:
uname -r sudo yum update
Jakmile je systém aktualizován, pokračujeme v restartování systému spuštěním řádku:
sudo restartPoté potvrdíme, že jádro bylo aktualizováno pomocí příkazu znovu:
uname -rNakonec ověříme, že jsou varianty použity v systému, provedením následujícího:
rpm -q -jádro changelogu | egrep 'CVE-2017-5715 | CVE-2017-5753 | CVE-2017-5754'
ZVĚTŠIT
V případě použití Ubuntu nebo Debianu můžeme spustit následující řádky:
sudo apt-get update sudo apt-get upgrade sudo shutdown -r 0
Formy útoku strašidelSpectre využívá některé útočné techniky, jako například:
- Využívání spekulativního provádění. S touto technikou Spectre útočí na úlohu procesoru na úrovni spekulativních instrukcí k provedení se sekvencemi, které neměly být provedeny během správného spuštění programu, a tyto sekvence budou nakonec obráceny vytvářením přechodných instrukcí, které útočník využívá k filtrování uživatelů informace.
- Útoky pomocí nativního kódu:. Tento útok vytvoří program, který obsahuje tajná data ve své přístupové paměti, a jakmile je tento program zkompilován, analyzují se binární soubory a sdílené knihovny v systému za účelem filtrování informací o uživateli.
Nakonec je napsán další útočný program, který využívá funkci spekulativního spouštění CPU k provádění dříve nalezených sekvencí jako přechodných instrukcí.
- Útoky pomocí JavaScriptu. Tento útok slouží k narušení sandboxu prohlížeče tím, že přes něj připojí přenosný kód JavaScript.
Hardware ovlivněný SpectreV současné době bylo zjištěno, že Spectre je schopen narušit hardware, jako například:
- Procesory založené na Ivy Bridge
- AMD Ryzen
- Procesory Intel
- Procesory Qualcomm
Stručně řečeno, útok Spectre se skládá z následujících fází:
- Fáze 1. Za prvé, útok začíná konfigurační fází, kde protivník provádí operace, které způsobují selhání procesoru, takže pak může být provedeno chybné spekulativní zneužívání.
Během této fáze může útočník připravit boční kanál, který bude použit k extrahování informací oběti.
- Fáze 2. V této fázi procesor spekulativně provede jednu nebo více instrukcí, které přenášejí důvěrné informace z kontextu oběti do mikroarchitektury postranního kanálu.
To umožňuje útočníkovi provést akci, jako je syscall, soket, a v ostatních případech může útočník využít spekulativního provádění vlastního kódu k získání citlivých informací ze stejného procesu uživatelem.
- Fáze 3. V této fázi jsou důvěrná data obnovována ze Spectre pomocí technik, jako je flush + reload nebo evict + reload. Tento proces obnovy spočívá v měření, jak dlouho trvá čtení adres paměti v řádcích mezipaměti, které jsou pravidelně monitorovány.
Co je Meltdown
Dalším útokem, který ovlivňuje bezpečnost uživatelů, je Meltdown, který útočníkovi umožňuje přístup k soukromým informacím uživatele prostřednictvím nainstalovaného operačního systému, jako je Microsoft Windows nebo High Sierra.
Jeho název byl přidělen kvůli schopnosti porušovat bezpečnostní limity běžně kladené hardwarem systému.
Zranitelnost Meltdown byla katalogizována jako CVE-2017-5754, kde se uvádí, že Meltdown má schopnost proniknout do základní izolace mezi uživatelskými aplikacemi a operačním systémem bez ohledu na to, co to je. Tento útok umožňuje programu přístup k paměti a spolu s ní také k důvěrným informacím jiných programů a samotného operačního systému.
Tuto chybu také objevil 3. ledna tým Google Project Zero a další další týmy.
Tato chyba zabezpečení ovlivňuje procesory Intel x86-64, nikoli však procesory AMD x86-64.
Zhroucení může ovlivnit systém jako:
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux
- Pískání Debianu Linux
- Debian Linux jessie
- Stretch Debianu Linux
- Deiban Linux buster, sid
- SUSE Linux Enterprise 11
- SUSE Linux Enterprise 12
- OpenSuse Linux založený na SUSE 12/11
- Fedora Linux 26
- Fedora Linux 27
- Amazon Linux AMI
- Okna
- 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 [aktualizace na aktuální válcování]
- Gentoo Linux [aktualizace na aktuální postup]
- Ubuntu Linux v16.04 [4.4.0-109-generic nebo 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]
Abychom se chránili před touto chybou zabezpečení CVE-2017-5754, můžeme provést následující:
- Na CentOS a RedHat:
uname -r sudo yum aktualizovat sudo restart
- Ve Fedoře:
sudo dnf -obnovte aktualizační jádro
- Na Debianu a Ubuntu:
uname -r sudo apt-get update sudo apt-get dist-upgrade sudo shutdown -r 0
Jak funguje MeltdownPamatujme, že jednou z centrálních bezpečnostních funkcí na operační úrovni v moderních operačních systémech je izolace paměti, která zajišťuje, že uživatelské aplikace nemají přístup ke vzpomínkám ostatních uživatelů a programů, a brání tak aplikacím od uživatelů číst nebo zapisovat do paměti jádra.
V moderních procesorech izolaci mezi jádrem a uživatelskými procesy obvykle provádí bitový monitor procesoru, který definuje, zda má paměť možnost přístupu na stránku jádra nebo ne.
Meltdown byl vyvinut jako nový útok, který má schopnost zcela překonat izolaci paměti poskytnutím jednoduchého způsobu jakémukoli uživatelskému procesu číst paměť jádra běžícího počítače, včetně veškeré fyzické paměti přidělené v oblasti jádra.
Meltdown dnes funguje na všech hlavních operačních systémech a tato chyba zabezpečení využívá informace o postranním kanálu dostupné u většiny moderních procesorů, jako jsou Intel nebo AMD.
Meltdown dává útočníkovi možnost spustit kód na zranitelném procesoru za účelem vyhození celého jádra do adresního prostoru, včetně jakékoli přidělené fyzické paměti.
Příčinou jednoduchosti a rozsahu Meltdownu jsou vedlejší efekty způsobené provedením mimo pořadí, to znamená, že je to vlastnost současných procesorů, která byla vyvinuta k překonání latence zaneprázdněných prováděcích jednotek.
Pracovní fáze Meltdown jsou:
- Fáze 1. V této fázi je zadán požadavek na neplatné umístění paměti v jádře procesoru.
- Fáze 2. V této fázi se provádí druhý požadavek za účelem podmíněného načtení platného paměťového místa, pouze pokud první požadavek obsahuje určitou aktivní hodnotu.
- Fáze 3. V této fázi se provádí úkol spekulativního provedení, kdy procesor dokončí práci na pozadí pro dva předchozí požadavky, než ověří, že je původní požadavek neplatný. Jakmile procesor pochopí, že požadavky zahrnují paměť mimo hranice, oba požadavky odmítne.
- Fáze 4. Je zadán nový požadavek na platné umístění paměti.
S chybou zabezpečení Meltdown tedy můžeme definovat následující:
Obsah umístění paměti zvoleného útočníkem, který je pro útočníka nepřístupný, se načte do systémového registru.
Přechodná instrukce přistupuje k řádku mezipaměti na základě tajného obsahu registru.
Útočník používá Flush + Reload k určení přístupu k mezipaměti a tím k přístupu k informacím uloženým ve zvoleném paměťovém umístění.
Jakmile pochopíme, jak tyto chyby zabezpečení fungují, uvidíme, jak před nimi budeme chránit naše počítače, i když musíme objasnit, že do dnešního dne nebyl hlášen žádný útok, který by zahrnoval uživatele i správce.
1. Jak se chránit před Spectre a Meltdown v systémech Linux
V případě Linuxu použijeme specter-meltdown-checker.sh, což je shell skript, abychom zjistili, zda je jádro Linuxu zranitelné vůči 3 CVE, které jsme o těchto zranitelnostech zmínili.
PoznámkaTento skript musí být spuštěn jako uživatel root.
Krok 1
Chcete -li nainstalovat tento skript, nejprve přejdeme do adresáře / tmp takto:
cd / tmp /Krok 2
Jakmile jsme v uvedeném adresáři, přistoupíme k získání skriptu spuštěním následujícího řádku:
wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh
PoznámkaDalší možností, jak jej získat, je provedení následujícího řádku:
klon git https://github.com/speed47/spectre-meltdown-checker.git
Jak zkontrolovat, zda jsme zranitelní vůči Spectre nebo MeltdownAbychom zkontrolovali zabezpečení naší distribuce, můžeme spustit následující řádek:
sudo sh specter-meltdown-checker.sh
Je to tak jednoduché Můžeme ověřit, zda je náš systém vůči těmto novým hrozbám zranitelný či nikoli.
2. Jak se chránit před Spectre a Meltdown v systémech Windows
V tomto případě použijeme Windows 10 a k tomu musíme přistupovat k Windows PowerShell jako správci kliknutím pravým tlačítkem na aplikaci a výběrem možnosti „Spustit jako správce“.
Krok 1
Jakmile je terminál PowerShell otevřený, přistoupíme ke spuštění následujícího řádku:
Instalujte modul SpeculationControlKrok 2
Do zobrazených otázek zadáme pro potvrzení písmeno S:
ZVĚTŠIT
Krok 3
Standardní zásady spouštění systému Windows nám nedovolí spustit tento skript, proto, abychom mohli skript spustit, musíme uložit aktuální konfiguraci, aby ji bylo možné později obnovit, a poté změnit zásady provádění, aby bylo možné spustit skript. Za tímto účelem provedeme následující dva příkazy:
$ SaveExecutionPolicy = Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned -Scope Currentuser
ZVĚTŠIT
Krok 4
Nyní můžeme skript spustit spuštěním následujícího:
Import-Module SpeculationControl Get-SpeculationControlSettings
ZVĚTŠIT
Krok 5
Vidíme podrobné informace o systému a musíme se podívat zejména na dva řádky:
Podpora operačního systému Windows pro zmírnění injektáže cílových větvíTento řádek označuje aktualizaci softwaru společnosti Microsoft a její hodnotu skutečný znamená, že počítač je chráněn před útoky Meltdown a Spectre.
Hardwarová podpora pro zmírnění injektáže cílových větvíTento řádek odkazuje na aktualizaci firmwaru nebo systému BIOS / UEFI, která je požadována od výrobce počítače, pokud je jeho hodnota skutečný to znamená, že budeme chráněni před zranitelností Spectre.
Krok 6
Chcete -li obnovit zásady provádění do původní konfigurace po ověření zabezpečení systému, můžeme spustit následující řádek:
Set -ExecutionPolicy $ SaveExecutionPolicy -Scope Currentuser
ZVĚTŠIT
Krok 7
Stojí za to pamatovat na důležitost udržování operačního systému aktualizovaného, protože vývojáři budou vydávat bezpečnostní záplaty, aby se předešlo těmto chybám zabezpečení:
3. Oficiální informace o spektru a zhroucení od výrobců
V následujících odkazech můžeme najít informace o těchto zranitelnostech na každém z hlavních webů vývojářů a získat tak podrobnější informace o tom, jak předcházet problému a být o krok napřed před problémem:
- Intel
- PAŽE
- AMD
- NVIDIA
- Microsoft Windows
- Windows Server
- Amazonka
- Android
- Manzana
- Lenovo
- HP
- Huawei
- Cisco
- Mozilla
- Červená čepice
- Debian
- Ubuntu
- Fedora
- VMWare
Jak vidíme, přestože zranitelnosti budou vždy přítomny, můžeme učinit nezbytná opatření, abychom byli pozorní vůči jakémukoli selhání a zabránili tak ovlivňování našich informací.