Co zrobić, jeśli siloviki przyjdą do Twojego hosta

Co zrobić, jeśli siloviki przyjdą do Twojego hostakdpv – Reuters

Jeśli wynajmujesz serwer, to nie masz nad nim pełnej kontroli. Oznacza to, że w każdej chwili specjalnie przeszkolone osoby mogą przyjść do hostera i poprosić Cię o podanie jakichkolwiek danych. A gospodarz je zwróci, jeśli żądanie zostanie sformalizowane zgodnie z prawem.

Naprawdę nie chcesz, aby logi Twojego serwera WWW lub dane użytkownika wyciekły do ​​kogokolwiek innego. Nie da się zbudować idealnej obrony. Prawie niemożliwe jest zabezpieczenie się przed hosterem, który jest właścicielem hypervisora ​​i udostępnia maszynę wirtualną. Być może jednak uda się nieco zmniejszyć ryzyko. Szyfrowanie wypożyczonych samochodów nie jest tak bezużyteczne, jak mogłoby się wydawać na pierwszy rzut oka. Przyjrzyjmy się jednocześnie zagrożeniom wynikającym z ekstrakcji danych z serwerów fizycznych.

Model zagrożenia

Z reguły hoster będzie starał się chronić interesy klienta w jak największym stopniu zgodnie z prawem. Jeśli w piśmie od oficjalnych władz żądano jedynie logów dostępu, hoster nie udostępni zrzutów wszystkich maszyn wirtualnych z bazami danych. Przynajmniej nie powinno. Jeśli poproszą o wszystkie dane, hoster skopiuje dyski wirtualne ze wszystkimi plikami i nie będziesz o tym wiedział.

Niezależnie od scenariusza Twoim głównym celem jest uczynienie ataku zbyt trudnym i kosztownym. Zwykle istnieją trzy główne opcje zagrożeń.

Urzędnik

Najczęściej do oficjalnego biura hostera wysyłane jest pismo w formie papierowej z wymogiem podania niezbędnych danych zgodnie z obowiązującym rozporządzeniem. Jeśli wszystko zostanie wykonane poprawnie, hoster udostępnia oficjalnym władzom niezbędne logi dostępu i inne dane. Zazwyczaj proszą jedynie o przesłanie niezbędnych danych.

Czasami, jeśli jest to absolutnie konieczne, do centrum danych przychodzą osobiście przedstawiciele organów ścigania. Na przykład, jeśli masz własny serwer dedykowany i dane z niego można pobrać tylko fizycznie.

We wszystkich krajach uzyskanie dostępu do własności prywatnej, prowadzenie przeszukań i innych działań wymaga przedstawienia dowodu, że dane mogą zawierać informacje ważne dla dochodzenia w sprawie przestępstwa. Ponadto wymagany jest nakaz przeszukania wykonany zgodnie ze wszystkimi przepisami. Mogą występować niuanse związane ze specyfiką lokalnego ustawodawstwa. Najważniejszą rzeczą, którą musisz zrozumieć, jest to, że jeśli oficjalna ścieżka jest prawidłowa, przedstawiciele centrum danych nie przepuszczą nikogo przez wejście.

Co więcej, w większości krajów nie można po prostu wyciągnąć sprzętu do biegania. Przykładowo w Rosji do końca 2018 roku zgodnie z art. 183 Kodeksu postępowania karnego Federacji Rosyjskiej część 3.1 zapewniono, że podczas zajęcia zajęcie elektronicznych nośników informacji odbyło się przy udziale specjalisty. Na wniosek prawnego właściciela zajętego elektronicznego nośnika informacji lub właściciela informacji na nim zawartych specjalista uczestniczący w zajęciu w obecności świadków kopiuje informacje z zajętego elektronicznego nośnika informacji na inny elektroniczny nośnik informacji.

Potem niestety ten punkt został usunięty z artykułu.

Tajne i nieoficjalne

To już obszar działania specjalnie przeszkolonych towarzyszy z NSA, FBI, MI5 i innych trzyliterowych organizacji. Najczęściej ustawodawstwo państw przyznaje takim strukturom niezwykle szerokie uprawnienia. Co więcej, prawie zawsze istnieje prawny zakaz jakiegokolwiek bezpośredniego lub pośredniego ujawniania samego faktu współpracy z tego typu organami ścigania. W Rosji są podobne regulacje prawne.

W przypadku takiego zagrożenia dla Twoich danych, prawie na pewno zostaną one usunięte. Co więcej, oprócz prostego przejęcia, można wykorzystać cały nieoficjalny arsenał backdoorów, luk typu zero-day, ekstrakcji danych z pamięci RAM maszyny wirtualnej i innych przyjemności. W takim przypadku gospodarz będzie zobowiązany w miarę możliwości pomóc specjalistom zajmującym się egzekwowaniem prawa.

Nieuczciwy pracownik

Nie wszyscy ludzie są równie dobrzy. Jeden z administratorów centrum danych może zdecydować się na dodatkowy zarobek i sprzedaż Twoich danych. Dalszy rozwój zależy od jego mocy i dostępu. Najbardziej irytujące jest to, że administrator mający dostęp do konsoli wirtualizacji ma pełną kontrolę nad Twoimi maszynami. Zawsze możesz zrobić migawkę wraz z całą zawartością pamięci RAM, a następnie powoli ją przestudiować.

VDS

Masz więc maszynę wirtualną, którą dał ci hoster. Jak wdrożyć szyfrowanie, aby się chronić? Właściwie praktycznie nic. Co więcej, nawet cudzy serwer dedykowany może okazać się maszyną wirtualną, do której wstawiane są niezbędne urządzenia.

Jeśli zadaniem zdalnego systemu nie jest tylko przechowywanie danych, ale wykonanie niektórych obliczeń, jedyną opcją pracy z niezaufaną maszyną byłoby wdrożenie szyfrowanie homomorficzne. W takim przypadku system przeprowadzi obliczenia bez możliwości zrozumienia, co dokładnie robi. Niestety koszty ogólne wdrożenia takiego szyfrowania są tak wysokie, że ich praktyczne zastosowanie ogranicza się obecnie do bardzo wąskich zadań.

Ponadto w momencie, gdy maszyna wirtualna działa i wykonuje pewne czynności, wszystkie zaszyfrowane woluminy są w stanie dostępnym, w przeciwnym razie system operacyjny po prostu nie będzie mógł z nimi pracować. Oznacza to, że mając dostęp do konsoli wirtualizacji, zawsze możesz zrobić migawkę działającej maszyny i wyodrębnić wszystkie klucze z pamięci RAM.

Wielu dostawców próbowało zorganizować sprzętowe szyfrowanie pamięci RAM, tak aby nawet hoster nie miał dostępu do tych danych. Na przykład technologia Intel Software Guard Extensions, która organizuje obszary w wirtualnej przestrzeni adresowej chronione przed odczytem i zapisem spoza tego obszaru przez inne procesy, w tym jądro systemu operacyjnego. Niestety, nie będziesz mógł w pełni zaufać tym technologiom, ponieważ będziesz ograniczony do swojej maszyny wirtualnej. Ponadto istnieją już gotowe przykłady udany atak dla tej technologii. Jednak szyfrowanie maszyn wirtualnych nie jest tak bezsensowne, jak mogłoby się wydawać.

Szyfrujemy dane na VDS

Od razu zastrzegam, że wszystko co poniżej robimy nie jest równoznaczne z pełnoprawną ochroną. Hypervisor umożliwi Ci wykonanie niezbędnych kopii bez zatrzymywania usługi i bez Twojej wiedzy.

  • Jeśli na żądanie hoster prześle „zimny” obraz Twojej maszyny wirtualnej, jesteś stosunkowo bezpieczny. To najczęstszy scenariusz.
  • Jeśli hoster daje ci pełną migawkę działającej maszyny, wszystko jest całkiem złe. Wszystkie dane zostaną zamontowane w systemie w przejrzystej formie. Ponadto możliwe będzie szperanie w pamięci RAM w poszukiwaniu kluczy prywatnych i podobnych danych.

Domyślnie, jeśli wdrożyłeś system operacyjny z obrazu waniliowego, hoster nie ma dostępu do konta root. Zawsze możesz zamontować nośnik z obrazem ratunkowym i zmienić hasło roota, chrootując środowisko maszyny wirtualnej. Będzie to jednak wymagało ponownego uruchomienia komputera, co zostanie zauważone. Ponadto wszystkie zamontowane zaszyfrowane partycje zostaną zamknięte.

Jeśli jednak wdrożenie maszyny wirtualnej nie pochodzi z obrazu waniliowego, a z wcześniej przygotowanego, wówczas hoster często może dodać konto uprzywilejowane, aby pomóc w sytuacji awaryjnej u klienta. Na przykład, aby zmienić zapomniane hasło roota.

Nawet w przypadku pełnej migawki nie wszystko jest takie smutne. Osoba atakująca nie otrzyma zaszyfrowanych plików, jeśli zamontowałeś je ze zdalnego systemu plików innego komputera. Tak, teoretycznie możesz wybrać zrzut pamięci RAM i wyodrębnić z niego klucze szyfrujące. Jednak w praktyce nie jest to bardzo trywialne i jest bardzo mało prawdopodobne, aby proces wykraczał poza zwykły transfer plików.

Zamów samochód

Co zrobić, jeśli siloviki przyjdą do Twojego hosta

Do celów testowych bierzemy prostą maszynę sekcja zamawiania serwerów. Nie potrzebujemy dużo zasobów, więc wybierzemy opcję płacenia za faktycznie wykorzystany megaherc i ruch. Wystarczy, żeby się pobawić.

Klasyczny dm-crypt dla całej partycji nie wystartował. Domyślnie dysk podawany jest w jednym kawałku, z rootem dla całej partycji. Zmniejszenie partycji ext4 na partycji montowanej na rootie jest praktycznie gwarantowaną cegłą zamiast systemu plików. Próbowałem) Tamburyn nie pomógł.

Tworzenie kontenera kryptograficznego

Dlatego nie będziemy szyfrować całej partycji, lecz wykorzystamy kontenery do kryptografii plików, czyli sprawdzony i niezawodny VeraCrypt. Dla naszych celów to wystarczy. Najpierw wyciągamy i instalujemy pakiet z wersją CLI z oficjalnej strony. Jednocześnie możesz sprawdzić 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

Teraz utworzymy sam kontener gdzieś w naszym domu, abyśmy mogli go zamontować ręcznie po ponownym uruchomieniu. W opcji interaktywnej ustaw rozmiar kontenera, hasło i algorytmy szyfrowania. Możesz wybrać szyfr patriotyczny Grasshopper i funkcję skrótu Stribog.

veracrypt -t -c ~/my_super_secret

Teraz zainstalujmy nginx, zamontuj kontener i wypełnijmy go tajnymi informacjami.

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

Poprawmy nieco /var/www/html/index.nginx-debian.html, aby uzyskać żądaną stronę i możesz ją sprawdzić.

Podłącz i sprawdź

Co zrobić, jeśli siloviki przyjdą do Twojego hosta
Kontener jest zamontowany, dane są dostępne i wysłane.

Co zrobić, jeśli siloviki przyjdą do Twojego hosta
A oto maszyna po ponownym uruchomieniu. Dane są bezpiecznie przechowywane w ~/my_super_secret.

Jeśli naprawdę tego potrzebujesz i chcesz tego hardcorowo, możesz zaszyfrować cały system operacyjny, aby po ponownym uruchomieniu wymagał połączenia przez ssh i wprowadzenia hasła. Będzie to wystarczające również w scenariuszu prostego wycofania „zimnych danych”. Tutaj instrukcje korzystania z dropbeara i zdalne szyfrowanie dysku. Choć w przypadku VDS jest to trudne i zbędne.

Czystego metalu

Zainstalowanie własnego serwera w centrum danych nie jest takie proste. Dedykowana komuś innemu może okazać się maszyną wirtualną, na którą przenoszone są wszystkie urządzenia. Ale coś interesującego pod względem ochrony zaczyna się, gdy masz możliwość umieszczenia zaufanego serwera fizycznego w centrum danych. Tutaj możesz już w pełni korzystać z tradycyjnego dm-crypt, VeraCrypt lub dowolnego innego wybranego szyfrowania.

Musisz zrozumieć, że jeśli wdrożone zostanie całkowite szyfrowanie, serwer nie będzie w stanie samodzielnie odzyskać danych po ponownym uruchomieniu. Konieczne będzie podniesienie połączenia do lokalnego interfejsu IP-KVM, IPMI lub innego podobnego interfejsu. Następnie ręcznie wprowadzamy klucz główny. Schemat wygląda przeciętnie pod względem ciągłości i odporności na błędy, ale nie ma specjalnych alternatyw, jeśli dane są tak cenne.

Co zrobić, jeśli siloviki przyjdą do Twojego hosta
Sprzętowy moduł bezpieczeństwa NCipher nShield F3

Bardziej miękka opcja zakłada, że ​​dane są szyfrowane, a klucz znajduje się bezpośrednio na samym serwerze w specjalnym module HSM (Hardware Security Module). Z reguły są to bardzo funkcjonalne urządzenia, które nie tylko zapewniają kryptografię sprzętową, ale także posiadają mechanizmy wykrywające próby fizycznego włamania. Jeśli ktoś zacznie szperać po Twoim serwerze szlifierką kątową, HSM z niezależnym zasilaczem zresetuje klucze, które przechowuje w swojej pamięci. Atakujący zdobędzie zaszyfrowane mięso mielone. W takim przypadku ponowne uruchomienie może nastąpić automatycznie.

Wyjęcie kluczy jest znacznie szybszą i bardziej humanitarną opcją niż aktywacja bomby termitowej lub ogranicznika elektromagnetycznego. W przypadku takich urządzeń będziesz bardzo długo bity przez sąsiadów przy szafie w centrum danych. Co więcej, w przypadku używania TCG Opal 2 szyfrowanie na samym nośniku, praktycznie nie występują żadne koszty dodatkowe. Wszystko to dzieje się w sposób niezauważalny dla systemu operacyjnego. To prawda, że ​​​​w tym przypadku trzeba zaufać warunkowemu Samsungowi i mieć nadzieję, że ma uczciwego AES256, a nie banalnego XOR.

Jednocześnie nie możemy zapominać, że wszystkie niepotrzebne porty należy fizycznie wyłączyć lub po prostu wypełnić związkiem. W przeciwnym razie dasz atakującym możliwość przeprowadzenia ataku Ataki DMA. Jeśli wystają złącza PCI Express lub Thunderbolt, w tym USB z ich obsługą, jesteś bezbronny. Osoba atakująca będzie mogła przeprowadzić atak przez te porty i uzyskać bezpośredni dostęp do pamięci za pomocą kluczy.

W bardzo wyrafinowanej wersji atakujący będzie mógł przeprowadzić atak zimnego rozruchu. Jednocześnie po prostu wlewa do serwera odpowiednią porcję ciekłego azotu, z grubsza usuwa zamrożone kości pamięci i pobiera z nich zrzut wraz ze wszystkimi kluczami. Często do przeprowadzenia ataku wystarczy zwykły spray chłodzący i temperatura około -50 stopni. Istnieje również bardziej dokładna opcja. Jeśli nie wyłączyłeś ładowania z urządzeń zewnętrznych, algorytm atakującego będzie jeszcze prostszy:

  1. Zamrażaj karty pamięci bez otwierania obudowy
  2. Podłącz rozruchowy dysk flash USB
  3. Użyj specjalnych narzędzi, aby usunąć dane z pamięci RAM, które przetrwały ponowne uruchomienie z powodu zamrożenia.

Podziel i zwyciężaj

Ok, mamy tylko maszyny wirtualne, ale chciałbym w jakiś sposób zmniejszyć ryzyko wycieku danych.
Zasadniczo można spróbować zmienić architekturę i rozdzielić przechowywanie i przetwarzanie danych w różnych jurysdykcjach. Na przykład frontend z kluczami szyfrującymi pochodzi od hosta w Czechach, a backend z zaszyfrowanymi danymi znajduje się gdzieś w Rosji. W przypadku standardowej próby zajęcia jest bardzo mało prawdopodobne, że organy ścigania będą w stanie przeprowadzić ją jednocześnie w różnych jurysdykcjach. Dodatkowo częściowo zabezpiecza nas to przed scenariuszem wykonania migawki.

Cóż, możesz też rozważyć całkowicie czystą opcję - szyfrowanie typu End-to-End. Wykracza to oczywiście poza zakres specyfikacji i nie implikuje wykonywania obliczeń po stronie zdalnej maszyny. Jest to jednak całkowicie akceptowalna opcja, jeśli chodzi o przechowywanie i synchronizację danych. Jest to na przykład bardzo wygodnie zaimplementowane w Nextcloud. Jednocześnie synchronizacja, wersjonowanie i inne gadżety po stronie serwera nie znikną.

Razem

Nie ma systemów idealnie bezpiecznych. Celem jest po prostu sprawienie, aby atak był wart więcej niż potencjalny zysk.

Pewne zmniejszenie ryzyka dostępu do danych w witrynie wirtualnej można osiągnąć, łącząc szyfrowanie i oddzielne przechowywanie u różnych dostawców usług hostingowych.

Mniej lub bardziej niezawodną opcją jest użycie własnego serwera sprzętowego.

Ale gospodarzowi nadal będzie trzeba ufać w ten czy inny sposób. Na tym opiera się cała branża.

Co zrobić, jeśli siloviki przyjdą do Twojego hosta

Co zrobić, jeśli siloviki przyjdą do Twojego hosta

Źródło: www.habr.com

Dodaj komentarz