Co dělat, když siloviki přijdou k vašemu hostiteli

Co dělat, když siloviki přijdou k vašemu hostitelikdpv - Reuters

Pokud si pronajmete server, nemáte nad ním plnou kontrolu. To znamená, že za hostitelem mohou kdykoli přijít speciálně vyškolení lidé a požádat vás o poskytnutí jakýchkoli vašich údajů. A hostitel je vrátí, pokud bude požadavek formalizován v souladu se zákonem.

Opravdu nechcete, aby vaše protokoly webového serveru nebo uživatelská data unikla někomu jinému. Postavit ideální obranu je nemožné. Je téměř nemožné chránit se před hostitelem, který vlastní hypervizor a poskytuje vám virtuální stroj. Snad se ale podaří rizika trochu snížit. Šifrování aut z půjčoven není tak zbytečné, jak se na první pohled zdá. Zároveň se podívejme na hrozby extrakce dat z fyzických serverů.

Model ohrožení

Hostitel se bude zpravidla snažit chránit zájmy klienta v maximální možné míře zákonem. Pokud dopis od oficiálních úřadů požadoval pouze přístupové protokoly, hostitel neposkytne výpisy všech vašich virtuálních počítačů s databázemi. Alespoň by nemělo. Pokud požádají o všechna data, hostitel zkopíruje virtuální disky se všemi soubory a vy o tom nebudete vědět.

Bez ohledu na scénář je vaším hlavním cílem, aby byl útok příliš obtížný a drahý. Obvykle existují tři hlavní možnosti ohrožení.

Oficiální

Nejčastěji je na oficiální kancelář hostitele zasílán papírový dopis s požadavkem na poskytnutí potřebných údajů v souladu s příslušným předpisem. Pokud je vše provedeno správně, hostitel poskytuje potřebné přístupové protokoly a další údaje oficiálním orgánům. Obvykle vás jen požádají o zaslání potřebných údajů.

Občas, je-li to nezbytně nutné, přijdou do datového centra osobně zástupci orgánů činných v trestním řízení. Například, když máte svůj vlastní dedikovaný server a data z něj lze brát pouze fyzicky.

Ve všech zemích vyžaduje získání přístupu k soukromému majetku, provádění prohlídek a další činnosti důkazy, že data mohou obsahovat důležité informace pro vyšetřování trestného činu. Kromě toho je vyžadován příkaz k prohlídce provedený v souladu se všemi předpisy. Mohou existovat nuance související se zvláštnostmi místní legislativy. Hlavní věc, kterou musíte pochopit, je, že pokud je oficiální cesta správná, zástupci datového centra nikoho nepustí za vchod.

Navíc ve většině zemí nemůžete běžecké vybavení jednoduše vytáhnout. Například v Rusku bylo do konce roku 2018 podle článku 183 Trestního řádu Ruské federace, část 3.1 zaručeno, že během zabavení bylo zabavení elektronických paměťových médií provedeno za účasti specialisty. Na žádost zákonného vlastníka zajištěných elektronických paměťových médií nebo vlastníka informací na nich obsažených zkopíruje specialista podílející se na zajištění za přítomnosti svědků informace ze zajištěných elektronických paměťových médií na jiná elektronická paměťová média.

Pak byl bohužel tento bod z článku odstraněn.

Tajné a neoficiální

To je již území působnosti speciálně vycvičených soudruhů z NSA, FBI, MI5 a dalších třípísmenných organizací. Legislativa zemí nejčastěji poskytuje těmto strukturám extrémně široké pravomoci. Navíc téměř vždy existuje legislativní zákaz jakéhokoli přímého či nepřímého zveřejnění samotné skutečnosti spolupráce s takovými orgány činnými v trestním řízení. V Rusku jsou podobné právní normy.

V případě takového ohrožení vašich dat budou téměř jistě odstraněna. Navíc kromě jednoduchého zabavení lze využít celý neoficiální arzenál zadních vrátek, zero-day zranitelností, extrakci dat z RAM vašeho virtuálního stroje a další radosti. V tomto případě bude hostitel povinen co nejvíce pomáhat specialistům na vymáhání práva.

Bezohledný zaměstnanec

Ne všichni lidé jsou stejně dobří. Jeden ze správců datového centra se může rozhodnout vydělat peníze navíc a prodat vaše data. Další vývoj závisí na jeho schopnostech a přístupu. Nejotravnější věcí je, že administrátor s přístupem k virtualizační konzoli má úplnou kontrolu nad vašimi stroji. Vždy můžete pořídit snímek spolu s veškerým obsahem paměti RAM a poté jej pomalu studovat.

VDS

Máte tedy virtuální stroj, který vám dal hostitel. Jak můžete implementovat šifrování, abyste se chránili? Vlastně prakticky nic. Navíc i dedikovaný server někoho jiného může skončit jako virtuální stroj, do kterého jsou vložena potřebná zařízení.

Pokud není úkolem vzdáleného systému pouze ukládat data, ale provádět nějaké výpočty, pak by jedinou možností pro práci s nedůvěryhodným strojem bylo implementovat homomorfní šifrování. V tomto případě systém provede výpočty, aniž by byl schopen pochopit, co přesně dělá. Bohužel režijní náklady na implementaci takového šifrování jsou tak vysoké, že jejich praktické využití je v současnosti omezeno na velmi úzké úkoly.

Navíc v okamžiku, kdy virtuální stroj běží a provádí nějaké akce, jsou všechny šifrované svazky v přístupném stavu, jinak s nimi OS prostě nebude moci pracovat. To znamená, že s přístupem k virtualizační konzole můžete vždy pořídit snímek běžícího stroje a extrahovat všechny klíče z paměti RAM.

Mnoho prodejců se pokusilo zorganizovat hardwarové šifrování paměti RAM tak, aby k těmto datům neměl přístup ani hostitel. Například technologie Intel Software Guard Extensions, která organizuje oblasti ve virtuálním adresovém prostoru, které jsou chráněny před čtením a zápisem zvenčí mimo tuto oblast jinými procesy, včetně jádra operačního systému. Bohužel těmto technologiím nebudete moci plně důvěřovat, protože budete omezeni na svůj virtuální stroj. Navíc již existují hotové příklady úspěšný útok pro tuto technologii. Přesto šifrování virtuálních strojů není tak zbytečné, jak by se mohlo zdát.

Šifrujeme data na VDS

Dovolím si hned učinit výhradu, že vše, co děláme níže, nepředstavuje plnohodnotnou ochranu. Hypervizor vám umožní vytvořit potřebné kopie bez zastavení služby a bez vašeho povšimnutí.

  • Pokud hostitel na požádání přenese „studený“ obraz vašeho virtuálního stroje, jste relativně v bezpečí. Toto je nejběžnější scénář.
  • Pokud vám hostitel poskytne úplný snímek běžícího stroje, pak je všechno dost špatné. Všechna data budou v systému namontována v přehledné podobě. Navíc bude možné prohrabávat se RAM při hledání soukromých klíčů a podobných dat.

Ve výchozím nastavení, pokud jste nasadili operační systém z vanilkového obrazu, hostitel nemá přístup root. Vždy můžete připojit médium se záchranným obrazem a změnit heslo root chrootováním prostředí virtuálního počítače. To však bude vyžadovat restart, což bude zaznamenáno. Navíc budou všechny připojené šifrované oddíly uzavřeny.

Pokud však nasazení virtuálního stroje nepochází z vanilkového obrazu, ale z předem připraveného, ​​pak může hostitel často přidat privilegovaný účet, který pomůže v nouzové situaci u klienta. Chcete-li například změnit zapomenuté heslo uživatele root.

Ani v případě úplné momentky není vše tak smutné. Útočník neobdrží zašifrované soubory, pokud je připojíte ze vzdáleného souborového systému jiného počítače. Ano, teoreticky můžete vybrat výpis paměti RAM a extrahovat odtud šifrovací klíče. Ale v praxi to není příliš triviální a je velmi nepravděpodobné, že tento proces půjde nad rámec pouhého přenosu souborů.

Objednejte si auto

Co dělat, když siloviki přijdou k vašemu hostiteli

Pro naše testovací účely používáme jednoduchý stroj sekce pro objednávání serverů. Nepotřebujeme mnoho zdrojů, takže se rozhodneme platit za skutečně vynaložené megahertz a provoz. Tak akorát na hraní.

Klasický dm-crypt pro celý oddíl se neujal. Ve výchozím nastavení je disk dán v jednom kuse, s rootem pro celý oddíl. Zmenšení ext4 oddílu na rootově připojeném je prakticky zaručená cihla místo souborového systému. Zkusil jsem) Tamburína nepomohla.

Vytvoření krypto kontejneru

Proto nebudeme šifrovat celý oddíl, ale použijeme souborové krypto kontejnery, konkrétně auditovaný a spolehlivý VeraCrypt. Pro naše účely to stačí. Nejprve vytáhneme a nainstalujeme balíček s verzí CLI z oficiálních stránek. Zároveň můžete zkontrolovat podpis.

wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb

Nyní vytvoříme samotný kontejner někde u nás doma, abychom jej mohli po restartu připojit ručně. V interaktivní možnosti nastavte velikost kontejneru, heslo a šifrovací algoritmy. Můžete si vybrat vlasteneckou šifru Grasshopper a hashovací funkci Stribog.

veracrypt -t -c ~/my_super_secret

Nyní nainstalujme nginx, namontujte kontejner a naplňte jej tajnými informacemi.

mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png

Trochu opravíme /var/www/html/index.nginx-debian.html, abychom získali požadovanou stránku a můžete si ji zkontrolovat.

Připojte a zkontrolujte

Co dělat, když siloviki přijdou k vašemu hostiteli
Kontejner je namontován, data jsou přístupná a odeslána.

Co dělat, když siloviki přijdou k vašemu hostiteli
A tady je stroj po restartu. Data jsou bezpečně uložena v ~/my_super_secret.

Pokud to opravdu potřebujete a chcete to hardcore, můžete zašifrovat celý operační systém, takže po restartu bude vyžadovat připojení přes ssh a zadání hesla. To bude stačit i ve scénáři prostého stažení „studených dat“. Tady návod k použití dropbear a šifrování vzdáleného disku. I když v případě VDS je to obtížné a nadbytečné.

Holý kov

Není tak snadné nainstalovat vlastní server do datového centra. Dedikovaný někdo jiný se může ukázat jako virtuální stroj, do kterého se přenesou všechna zařízení. Ale něco zajímavého z hlediska ochrany začíná, když máte možnost umístit svůj důvěryhodný fyzický server do datového centra. Zde již můžete plně využívat tradiční dm-crypt, VeraCrypt nebo jakékoliv jiné šifrování dle vašeho výběru.

Musíte pochopit, že pokud je implementováno úplné šifrování, server se po restartu nebude schopen sám obnovit. Bude nutné zvýšit připojení k místnímu IP-KVM, IPMI nebo jinému podobnému rozhraní. Poté ručně zadáme hlavní klíč. Schéma vypadá tak-tak z hlediska kontinuity a odolnosti proti chybám, ale neexistují žádné speciální alternativy, pokud jsou data tak cenná.

Co dělat, když siloviki přijdou k vašemu hostiteli
Hardwarový bezpečnostní modul NCipher nShield F3

Měkčí varianta předpokládá, že data jsou šifrována a klíč je umístěn přímo na samotném serveru ve speciálním HSM (Hardware Security Module). Zpravidla se jedná o velmi funkční zařízení, která zajišťují nejen hardwarovou kryptografii, ale mají i mechanismy pro detekci fyzických pokusů o hackování. Pokud někdo začne šťourat po vašem serveru úhlovou bruskou, HSM s nezávislým napájením resetuje klíče, které si ukládá do paměti. Útočník získá zašifrované mleté ​​maso. V tomto případě může k restartu dojít automaticky.

Odstranění klíčů je mnohem rychlejší a humánnější varianta než aktivace termitové bomby nebo elektromagnetického zachycovače. Za taková zařízení vás budou velmi dlouho mlátit sousedé u stojanu v datovém centru. Navíc v případě použití TCG Opal 2 šifrování na samotném médiu, nezažijete prakticky žádnou režii. To vše se děje transparentně OS. Je pravda, že v tomto případě musíte věřit podmíněnému Samsungu a doufat, že má poctivý AES256, a ne banální XOR.

Zároveň nesmíme zapomínat na to, že všechny nepotřebné porty je nutné fyzicky deaktivovat nebo jednoduše zaplnit směsí. V opačném případě dáte útočníkům příležitost provést DMA útoky. Pokud vám trčí PCI Express nebo Thunderbolt včetně USB s jeho podporou, jste zranitelní. Útočník bude moci provést útok přes tyto porty a získat přímý přístup do paměti pomocí klíčů.

Ve velmi sofistikované verzi bude útočník schopen provést studený boot útok. Přitom jednoduše nalije do vašeho serveru pořádnou porci tekutého dusíku, nahrubo vyjme zamrzlé paměťové karty a vezme z nich výpis se všemi klíči. Často k provedení útoku stačí běžný chladící sprej a teplota kolem -50 stupňů. Existuje také přesnější možnost. Pokud jste nezakázali načítání z externích zařízení, pak bude algoritmus útočníka ještě jednodušší:

  1. Zmrazte paměťové karty bez otevření pouzdra
  2. Připojte zaváděcí USB flash disk
  3. Pomocí speciálních nástrojů odstraňte data z paměti RAM, která přežila restart v důsledku zamrznutí.

Rozdělte a dobijte

Ok, máme jen virtuální stroje, ale chtěl bych nějak snížit rizika úniku dat.
V zásadě se můžete pokusit revidovat architekturu a distribuovat ukládání a zpracování dat napříč různými jurisdikcemi. Například frontend s šifrovacími klíči je od hostitele v ČR a backend se šifrovanými daty je někde v Rusku. V případě standardního pokusu o zabavení je krajně nepravděpodobné, že by to orgány činné v trestním řízení mohly provést současně v různých jurisdikcích. Navíc nás to částečně jistí proti scénáři pořízení snímku.

No, nebo můžete zvážit zcela čistou možnost - End-to-End šifrování. To samozřejmě přesahuje rámec specifikace a neznamená to provádění výpočtů na straně vzdáleného stroje. Jedná se však o naprosto přijatelnou možnost, pokud jde o ukládání a synchronizaci dat. To je například velmi pohodlně implementováno v Nextcloud. Zároveň nezmizí synchronizace, verzování a další vychytávky na straně serveru.

Celkem

Neexistují žádné dokonale zabezpečené systémy. Cílem je jednoduše učinit útok cennější než potenciální zisk.

Určitého snížení rizik přístupu k datům na virtuálním webu lze dosáhnout kombinací šifrování a odděleného úložiště s různými hostiteli.

Více či méně spolehlivou možností je použití vlastního hardwarového serveru.

Ale hostiteli bude stále třeba věřit tak či onak. Na tom spočívá celý průmysl.

Co dělat, když siloviki přijdou k vašemu hostiteli

Co dělat, když siloviki přijdou k vašemu hostiteli

Zdroj: www.habr.com

Přidat komentář