Co dělat, pokud k tvému hostiteli přišli siloviki

Co dělat, pokud k tvému hostiteli přišli silovikikdpv — Reuters

Pokud jste si pronajali server, nemáte nad ním plnou kontrolu. To znamená, že kdykoli mohou k hostiteli přijít specializovaní lidé a požádat o poskytnutí jakýchkoli vašich dat. A hostitel je poskytne, pokud bude požadavek formulován podle zákona.

Opravdu si nepřejete, aby se logy vašeho webového serveru nebo data uživatelů dostala k někomu jinému. Ideální ochrana není možná. Ochránit se před hostitelem, který ovládá hypervizor a poskytuje vám virtuální stroj, je téměř nemožné. Ale možná se podaří mírně snížit rizika. Šifrování pronajatých strojů není tak bezcenné, jak se na první pohled zdá. Zároveň se podíváme na hrozby vyplývající z extrakce dat z fyzických serverů.

Model hrozeb

Obecně se hostitel bude snažit co nejvíce chránit zájmy klienta, jak jen to bude možné podle zákona. Pokud v dopise od oficiálních orgánů požadovali pouze přístupové logy, hostitel neposkytne kopie všech vašich virtuálních strojů s databázemi. Neměl by, alespoň podle pravidel. Pokud požádají o všechny data, hostitel zkopíruje virtuální disky se všemi soubory a vy se o tom nikdy nedozvíte.

Bez ohledu na vývoj událostí je vaším hlavním úkolem učinit útok příliš složitým a nákladným. Obvykle existují tři hlavní varianty hrozeb.

Oficiální

Nejčastěji je do oficiálního úřadu hostitele zasílán papírový dopis s požadavkem na poskytnutí potřebných dat podle příslušného usnesení. Pokud je vše správně formulováno, hostitel poskytuje potřebné přístupové logy a další data oficiálním orgánům. Obvykle prostě požádají o zaslání potřebných dat.

Příležitostně, pokud je to opravdu nutné, zástupciorgánů činných v trestním řízení přijíždějí osobně do datového centra. Například když máte svůj dedikovaný server a data z něj je možné získat pouze fyzicky.

Ve všech zemích k získání přístupu na soukromé území, provedení prohlídky a dalších akcí je potřeba mít důkazy, že tyto mohou obsahovat důležité informace pro vyšetřování trestného činu. Kromě toho je vyžadován řádně vypracovaný příkaz k prohlídce. Zde mohou být nuance spojené se specifiky místní legislativy. Hlavní, co je třeba pochopit – v případě správného oficiálního postupu zástupci datových center nepustí nikoho dál za vrátnici.

Navíc ve většině zemí není možné jen tak vzít a vytáhnout fungující zařízení. Například v Rusku do konce roku 2018 podle článku 183 trestního řádu RF část 3.1 bylo zaručeno, že při provádění výběru se zabavení elektronických nosičů informací uskutečňuje za účasti specialisty. Na žádost zákonného vlastníka zabíraných elektronických nosičů informací nebo osoby, která je obsažena na nich, se specialistou účastnícím se výběru v přítomnosti svědků provádí kopírování informací na jiné elektronické nosiče informací.

Bohužel, tento bod byl později z článku odstraněn.

Tajné a neoficiální

To už je území činnosti speciálně vyškolených jedinců z NSA, FBI, MI5 a dalších třípísmenných organizací. Často právní rámce zemí poskytují extrémně široké pravomoci pro podobné struktury. Navíc téměř vždy existuje legislativní zákaz na jakékoli přímé či nepřímé zveřejnění samotného faktu spolupráce s takovými silovými úřady. V Rusku existují obdobná právní normy.

V případě podobné hrozby vašim datům je téměř jisté, že je vytáhnou. Kromě obyčejného zabavení mohou být použity všechny neoficiální arzenály backdoorů, zranitelností s nulovým dnem, extrakce dat z operační paměti vaší virtuální machine a další efekty. Poskytovatel hostingu bude povinen maximálně pomáhat specialistům silových struktur.

Nedbalý zaměstnanec

Není každý člověk stejně dobrý. Někdo z administrátorů datového centra může mít chuť přivydělat si a prodat vaše data. Další vývoj událostí závisí na jeho pravomocích a přístupech. Nejdůležitější je, že administrátor s přístupem k virtualizační konzoli má plnou kontrolu nad vašimi stroji. Vždy je možné pořídit snímek spolu s veškerým obsahem operační paměti a dále si ho v klidu prozkoumat.

VDS

Takže máte virtuální stroj, který vám poskytl poskytovatel hostingu. Jak můžete uspořádat šifrování, abyste se ochránili? Ve skutečnosti téměř vůbec. Navíc, i cizí dedikovaný server se může nakonec ukázat jako virtuální stroj, do kterého jsou připojena potřebná zařízení.

Pokud úkol vzdáleného systému zahrnuje nejen ukládání dat, ale také provádění nějakých výpočtů, jedinou možností, jak pracovat s nedůvěryhodným strojem, bude realizace homomorfního šifrování. Přitom systém provádí výpočty bez možnosti pochopit, co vlastně dělá. Bohužel, náklady na implementaci takového šifrování jsou tak vysoké, že jejich praktické uplatnění je v současnosti omezeno na velmi úzké úkoly.

Navíc, v okamžiku, kdy je virtuální stroj spuštěn a provádí nějaké akce, jsou všechny zašifrované objemy dostupné, jinak by operační systém s nimi nemohl pracovat. To znamená, že pokud máte přístup k virtualizační konzoli, můžete vždy pořídit snímek běžícího stroje a získat všechny klíče z operační paměti.

Mnoho výrobců se pokusilo zavést hardwarové šifrování RAM, aby ani poskytovatel hostingu neměl přístup k těmto datům. Například technologie Intel Software Guard Extensions, která vytváří oblasti v virtuálním adresním prostoru, chráněné před čtením a zapisováním zvenčí těmito oblastmi jinými procesy, včetně jádra operačního systému. Bohužel, tomuto technologii se nebudete moci plně důvěřovat, protože budete omezeni svým virtuálním strojem. Navíc již existují konkrétní příklady úspěšného útoku na tuto technologii. A přesto šifrování virtuálních strojů není tak bezvýznamné, jak by se mohlo zdát.

Šifrujeme data na VDS

Hned na úvod musím říct, že všechno, co uděláme níže, není plnohodnotná ochrana. Hypervisor umožní provést potřebné kopie bez zastavení služby a bez vašeho vědomí.

  • Pokud poskytovatel hostingu předá „chladný“ obraz vaší virtuální stroje na požádání, jste relativně v bezpečí. To je nejběžnější scénář.
  • Pokud poskytovatel hostingu vydá úplný snapshot běžícího stroje, situace není dobrá. Všechna data budou na systému připojena v otevřeném stavu. Kromě toho se otevře možnost prozkoumat RAM za účelem hledání privátních klíčů a podobných údajů.

Ve výchozím nastavení, pokud jste nasadili OS z vanilla obrazu, poskytovatel hostingu nemá root přístup. Vždy je možné připojit zařízení s rescue obrazem a změnit heslo pro root, přičemž dojde k chrootu do prostředí virtuálního stroje. To však vyžaduje restart, což bude zaznamenáno. Navíc všechny připojené šifrované oddíly budou uzavřeny.

Nicméně, pokud je nasazení virtuálního stroje provedeno z předem připraveného obrazu a nikoliv z vanilla obrazu, poskytovatel často může přidávat privilegovaný účet pro pomoc v nouzových situacích pro klienta. Například pro změnu zapomenutého hesla pro root.

I v případě úplného snapshotu to není tak špatné. Útočník nezíská šifrované soubory, pokud jste je připojili z vzdáleného souborového systému jiného stroje. Ano, teoreticky je možné prozkoumat dump operační paměti a extrahovat klíče šifrování odtud. Ale v praxi je to velmi netriviální a je velmi nepravděpodobné, že by proces pokračoval dál než k prostému přenosu souborů.

Objednáváme stroj

Co dělat, pokud k tvému hostiteli přišli siloviki

Pro naše testovací účely bereme jednoduchý stroj v sekci pro objednávání serverů. Nepotřebujeme mnoho zdrojů, takže zvolíme variantu s platbou za skutečně spotřebované megaherce a provoz. To by mělo stačit na alespoň nějaké pokusy.

Klasický dm-crypt pro celý oddíl selhal. Disk je ve výchozím nastavení poskytován jako jeden kus, s rootem na celý oddíl. Zmenšení oddílu s ext4 na připojeném rootu je prakticky zaručeným způsobem, jak skončit s 'brickem' místo souborového systému. Zkusil jsem to) Bubeník nepomohl.

Vytváříme kryptokontejner

Proto nebudeme šifrovat celou sekci, ale použijeme souborové kryptokontejnery, konkrétně auditovaný a spolehlivý VeraCrypt. To pro naše účely stačí. Nejprve stáhněte a nainstalujte balíček s CLI verzí z oficiální stránky. Můžete zároveň 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 ve své domácí složce, abychom ho mohli připojit ručně po restartu. V interaktivní variantě určete velikost kontejneru, heslo a šifrovací algoritmy. Můžete zvolit vlastenecký šifrovací algoritmus Kuzněčik a hash funkci Stribog.

veracrypt -t -c ~/my_super_secret

Nyní nainstalujme nginx, připojme kontejner a nahrajme do něj tajné informace.

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 upravíme /var/www/html/index.nginx-debian.html, abychom získali požadovanou stránku a mohli zkontrolovat.

Připojujeme se a kontrolujeme

Co dělat, pokud k tvému hostiteli přišli siloviki
Kontejner je připojen, data jsou dostupná a odesílají se.

Co dělat, pokud k tvému hostiteli přišli siloviki
A tady je stroj po restartu. Data jsou bezpečně uložena v ~/my_super_secret.

Pokud je opravdu potřeba a chcete hardcore, můžete zašifrovat celý operační systém, aby po restartu vyžadoval připojení přes ssh a zadání hesla. I to bude stačit ve scénáři jednoduchého odejmutí „studených dat“. Tady je návod na použití dropbear a vzdálené šifrování disků. I když v případě VDS je to složité a nadbytečné.

Bare metal

Není tak jednoduché umístit vlastní server do datacentra. Cizí dedicated může být virtuální stroj, do kterého jsou připojeny všechny zařízení. Ale něco zajímavého v oblasti ochrany začíná, když máte možnost umístit do datacentra svůj důvěryhodný fyzický server. Zde je možné naplno využít tradiční dm-crypt, VeraCrypt nebo jakoukoli jinou šifrovací metodu podle vašeho výběru.

Je třeba si uvědomit, že při realizaci totálního šifrování server nebude schopen se sám spustit po restartu. Bude nutné navázat připojení k místnímu rozhraní IP-KVM, IPMI nebo jinému podobnému analogovému zařízení. Poté ručně zadáme hlavní klíč. Schéma vypadá docela chabě z hlediska kontinuity a odolnosti proti selhání, ale zde nejsou žádné významné alternativy, pokud jsou data tak cenná.

Co dělat, pokud k tvému hostiteli přišli siloviki
NCipher nShield F3 Hardware Security Module

Měkčí varianta předpokládá, že jsou data šifrována a klíč se nachází přímo v serveru ve speciálním HSM (Hardware Security Module). Obvykle se jedná o velmi funkční zařízení, která nejen zajišťují hardwarovou kryptografii, ale mají také mechanismy detekce pokusů o fyzické narušení. Pokud by někdo začal hrabat ve vašem serveru úhlovou bruskou, HSM s nezávislým zdrojem napájení resetuje klíče, které uchovává ve své paměti. Útočníkovi zůstanou šifrované zbytky. Přitom může dojít k automatickému restartu.

Odstranění klíčů je mnohem rychlejší a humánnější varianta než aktivace termitové nálože nebo elektromagnetického výboje. Za taková zařízení vás dlouho budou bít sousedi v datacentru. O to víc, pokud používáte TCG Opal 2 šifrování na samotných nosičích prakticky nezpůsobuje žádné zpoždění. To vše probíhá průhledně pro operační systém. Pravda, musíte důvěřovat hypotetickému Samsungu a doufat, že tam mají poctivý AES256, a ne prosté XOR.

Přitom bychom neměli zapomínat, že všechny nadbytečné porty musí být fyzicky odpojené nebo jednoduše zaplombované. Jinak dáváte útočníkům možnost provést DMA útoky. Pokud máte venku vyčnívající PCI Express nebo Thunderbolt, včetně USB s jeho podporou – jste zranitelní. Útočník bude schopen přes tyto porty provést útok a získat přímý přístup do paměti s klíči.

Přehrát video

V ještě rafinovanější variantě může útočník provést cold boot útok. Prostě nalije dobrou porci tekutého dusíku na váš server, hrubě vytáhne zmrazené paměťové moduly a udělá z nich dump se všemi klíči. Často stačí pro provedení útoku obyčejný chladící sprej a teplota kolem -50 stupňů. Existuje i šetrnější varianta. Pokud nejste odpojeni od bootování z externích zařízení, algoritmus útočníka bude ještě jednodušší:

  1. Zamrazit paměťové moduly bez otevření skříně
  2. Připojit svou bootovací flash disk
  3. Speciálními utilitami získat data z operační paměti, která přežila restart díky zamražení.

Dělit a vládnout

Ok, máme jen virtuální stroje, ale chceme alespoň nějak snížit riziko úniku dat.
Můžete v zásadě zvážit přepracování architektury a oddělení ukládání dat a zpracování do různých jurisdikcí. Například, frontend s šifrovacími klíči u hostitele v Česku a backend se zašifrovanými daty někde v Rusku. V případě standardního pokusu o zabavení je vysoce nepravděpodobné, že by bezpečnostní složky mohly jednat současně v různých jurisdikcích. Navíc nás to částečně chrání před scénářem s pořízením snímku.

Nebo můžete zvážit zcela čistou variantu — End-to-End šifrování. Samozřejmě to přesahuje rámec zadání a neznamená vykonávání výpočtů na straně vzdáleného stroje. Nicméně, to je zcela přijatelná varianta, pokud jde o ukládání a synchronizaci dat. Například, je to velmi pohodlně implementováno ve stejném Nextcloudu. Přitom synchronizace, verzionování a další vymoženosti serverové části nikam nezmizí.

Celkem

Neexistují dokonale chráněné systémy. Úkolem je pouze učinit útok nákladnějším než potenciální zisk.

Nějaké snížení rizika přístupu k datům na virtuálním stroji lze dosáhnout kombinací šifrování a odděleného ukládání u různých hostitelů.

Poměrně spolehlivá varianta — použití vlastního fyzického serveru.

A hostiteli se budete muset tak či onak důvěřovat. Na tom je postaven celý průmysl.

Co dělat, pokud k tvému hostiteli přišli siloviki

Co dělat, pokud k tvému hostiteli přišli siloviki

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster