Zapobieganie kradzieży danych na zdalnie rozmieszczonych serwerach narażonych na dostęp fizyczny [zamknięte]

13

Próbuję wymyślić sposób zabezpieczenia serwerów Linux, które są narażone na fizyczny dostęp. Moją specyficzną platformą są małe serwery Linux na płycie głównej alix2d13 marki PC Engines . Mały rozmiar stanowi dodatkowe ryzyko usunięcia z lokalu przez atakującego.

Zakładając, że istnieje fizyczny dostęp do serwera:

1) HASŁO ROOT: Podłączysz kabel konsoli do serwera i pojawi się monit o hasło. Jeśli nie znasz hasła, możesz ponownie uruchomić urządzenie w trybie pojedynczego użytkownika i zresetować hasło. Voilà, masz dostęp do roota.

Aby zabezpieczyć powyższe, wstawisz hasło do menu GRUB, więc kiedy serwer zostanie zrestartowany w celu przejścia do trybu pojedynczego użytkownika, musisz podać hasło GRUB.

2) GRUB_PASSWORD. Jeśli zamkniesz maszynę, wyjmij dysk twardy i zamontuj go na innej stacji roboczej, będziesz mógł przeglądać /bootkatalog zawierający plik grub.cfg, w którym możesz znaleźć hasło GRUB. Możesz zmienić hasło GRUBA lub je usunąć.

Oczywiście, gdy mówimy o dużych maszynach produkcyjnych, najprawdopodobniej nie będzie żadnego fizycznego dostępu, a poza tym, nawet jeśli ktoś uzyska fizyczny dostęp do serwera, nie zamknie go.

Jakie są możliwe rozwiązania, aby zapobiec kradzieży danych na serwerach, które fizycznie łatwo ukraść?

Tak, jak to widzę, można uzyskać taki lub inny sposób dostępu do zawartych danych.

giomanda
źródło
3
Jeśli nie chcesz być w pobliżu, aby wprowadzić hasło deszyfrowania przy każdym uruchomieniu, niewiele możesz zrobić. Deszyfrowania można dokonać komunikując się z usługą sieciową, która jest dostępna tylko tak długo, jak długo jest w odpowiedniej sieci. Nie jest to zbyt bezpieczne, ale wystarcza na pokrycie przypadku, w którym złodziej nie próbuje uzyskać dostępu do danych podczas pobytu na stronie. Ale atakujący może nawet ukraść maszynę bez jej wyłączania. Przypuszczam, że nie wymagałoby to dużej pojemności baterii, aby utrzymać ją przez kilka minut.
kasperd
12
Zakop go w betonie. To z pewnością zapobiegnie kradzieży!
Michael Hampton
14
Nie jest do końca jasne, jaki jest model zagrożenia. Chcesz urządzenie, które jest odporne na fizyczne kompromisy? To będzie bardzo złożone i kosztowne. Komputery nie są skarbcami. Jeśli chcesz skarbca, potrzebujesz skarbca.
David Schwartz
3
@BlueCompute Pytanie to może pojawić się również w środowisku zawodowym, więc powinno zostać tutaj.
Nils
3
@giomanda i to „i zagrożeń, t Model”. Częściowo oznacza to, że musisz dokładnie zrozumieć, co zabezpieczasz i przed czym to zabezpieczasz. Możesz użyć SEAL Team Six do obrony Fortu Knox przed Al-Kaidą, ale nie do obrony nowego telewizora plazmowego przed złodziejami z sąsiedztwa.
David Schwartz

Odpowiedzi:

18

Zasada, z której zawsze pracowałem, jest taka, że ​​gdy atakujący ma fizyczny dostęp do twojego hosta, może w końcu się włamać - chyba że, jak mówi kasperd, używasz silnego szyfrowania całego dysku z hasłem rozruchowym i jesteś skłonny być tam, aby wprowadzić go za każdym razem, gdy host się uruchamia.

Andrew Schulman
źródło
14
I nawet wtedy ktoś z fizycznym dostępem może zastąpić klawiaturę używaną do wprowadzania hasła rozruchowego, a tym samym nauczyć się hasła ...
Hagen von Eitzen
2
Rozwiązanie @ HagenvonEitzen: należy nosić ze sobą własną klawiaturę i zabezpieczyć fizyczny port USB (lub PS / 2) na pudełku.
Jules
10
@JulesMazur Counterattack: Evil Maid ponownie flashuje oprogramowanie wbudowane.
CVn
1
@ MichaelKjörling Defense: hasło oprogramowania, fizycznie, solidnie zablokowana skrzynka serwerowa.
Jules
6
@ MichaelKjörling, nigdy nie możesz być zbyt bezpieczny z wędrownymi gangami złych pokojówek porywających klawiaturę i / lub oprogramowanie układowe
Jules
10

Znane mi rozwiązanie to szyfrowanie dysku i użycie modułu TPM: Trusted Platform Module

W ten sposób można teraz odszyfrować dysk twardy, ponieważ:

Aplikacje do pełnego szyfrowania dysku [...] mogą korzystać z tej technologii [TPM] w celu ochrony kluczy używanych do szyfrowania dysków twardych komputera i zapewnienia uwierzytelnienia integralności dla zaufanej ścieżki rozruchu (na przykład BIOS, sektor rozruchowy itp.). produkty do pełnego szyfrowania dysków innych firm obsługują również moduł TPM. Jednak TrueCrypt postanowił go nie używać. - Wikipedia

Oczywiście mogę się mylić i moduł TPM można łatwo złamać lub nie znam innych rozwiązań.

ColOfAbRiX
źródło
To jest poprawne. Dzięki modułowi TPM, zaszyfrowanemu dyskowi i podpisaniu UEFI osoby z zewnątrz nie mogą odczytać dysku ani zmodyfikować programu ładującego w celu obejścia szyfrowania.
longneck
Interesujące byłoby wiedzieć, czy istnieje pióro USB z modułem TPM, aby dodać tę funkcję do dowolnego komputera.
ColOfAbRiX
1
Nie, ponieważ bios musi zarządzać tpm.
długi szyj
3
Dzięki fizycznemu dostępowi nawet TPM nie zrobi wiele ... możesz łatwo wąchać dane z układu TPM podczas uruchamiania komputera lub mieć dostęp do całej pamięci komputera bez zauważenia komputera (w ten sposób TPM „rozłączy się” „klucz w porządku).
2
TPM spadnie na urządzenie PCI w magistrali, które nie reaguje na wyliczenie PCI, ale później nadpisuje system operacyjny za pośrednictwem DMA.
joshudson
7

Pełne szyfrowanie dysku to dobry pomysł na laptopy i małe domowe serwery.

Pełne szyfrowanie dysku nie wymaga modułu TPM. I nawet TPM nie jest w stanie ochronić cię przed wyrafinowanym atakiem złej pokojówki . Aby więc naprawdę chronić swój mały domowy serwer Linux (lub centrum danych), potrzebujesz odpowiednich innych fizycznych środków zaradczych.

W przypadku domowego zastosowania może wystarczyć instalacja kreatywnego sprzętu do majsterkowania, który:

  1. pozwala rozpoznać fizyczny atak po powrocie i
  2. przerywa zasilanie komputera przy każdej fizycznej próbie wtargnięcia.

Dla dziennikarzy i demaskatorów, którzy stawiają czoła niektórym wielkim firmom lub potężnym agencjom rządowym jako ich wrogom, prawdopodobnie nie jest to wystarczająco bezpieczne. Te trzyliterowe agencje mogą mieć sprzęt kryminalistyczny potrzebny do odzyskania czystego tekstu z pamięci RAM nawet kilka minut po wyłączeniu zasilania .

pefu
źródło
7

Oto proste rozwiązanie: odbuduj jądro bez trybu pojedynczego użytkownika!

Bardziej trafnie, edytuj jądro Linuksa, którego używasz, aby tryb S został odwzorowany na dowolny domyślny tryb (3,4,5). W ten sposób każda próba uruchomienia w trybie pojedynczego użytkownika uruchamia system normalnie. Prawdopodobnie możesz zrobić to samo w skryptach inicjujących. W ten sposób nie byłoby specjalnych sposobów na wejście do systemu bez znajomości hasła.

Arkain
źródło
Jeśli nadal mogę uzyskać dostęp do monitu grub, nadal mogę zmienić parametry jądra na init=/bin/bash. Spowoduje to uruchomienie komputera do powłoki root bash, gdzie można następnie zamontować /.
Jens Timmerman
Grub zawsze można skonfigurować tak, aby nie pozwalał na dostęp do swojej powłoki.
Arkain,
Jak już wskazano w innych odpowiedziach na to pytanie: Jeśli wykwalifikowany atakujący uzyska fizyczny dostęp do komputera, wówczas twoje odbudowane jądro jest niczym więcej niż starą pajęczą siecią w drodze do grobowca, zawierającą twoje cenne klejnoty z tajnymi danymi. :-)
pefu
3

Przejdź i zapytaj na stronie elektroniki. Jestem prawie pewien, że istnieją wbudowane projekty SOC, które szyfrują wszystko, a kiedy je połączysz, niemożliwe jest odtworzenie kodu źródłowego.

To powiedziawszy, byłem na prezentacji DefCon, gdzie zespół pokazał dokładnie, jak to rozebrali. W wielu przypadkach układy scalone nie zostały połączone lub konstrukcja głupka zawierała niepołączony port debugowania. Na innych chemicznie usunęli warstwy chipów i odczytali chip skanem mikroskopu elektronowego. Nigdy nie będziesz bezpieczny od naprawdę oddanych hakerów.

Zan Lynx
źródło
1

Chciałbym zaproponować inne podejście, jeśli chcesz rozważyć destrukcyjne środki zapobiegawcze. Rozważ przylutowanie kondensatora o dużej pojemności do dysku twardego i pamięci RAM, który po wykryciu sabotażu (decydujesz metodę / czujniki) rozładowuje niszczące dane.

To „uniemożliwia” dostęp w takim sensie, że nikt nie może później uzyskać dostępu do systemu. Odpowiada więc na pytanie dosłownie, a być może całkowicie nie spełnia twoich intencji.

Kondensator to tylko przykład. Istnieją inne możliwości. Problem polega na tym, że niszczenie urządzenia przez pogodę (lub przynajmniej dane w nim zawarte) jest dopuszczalne.

Możliwe są również rozwiązania oparte na zegarze - chyba że urządzenie może pingować do domu co kilka minut / godzin / ... samozniszczenie. Wiele różnych możliwości w tym temacie.

Dani_l
źródło
Przynajmniej na obrotowym dysku twardym można transplantować talerze na inny dysk tego samego modelu i odczytają się dobrze, nawet jeśli płytka drukowana została całkowicie zniszczona. (Nie jestem pewien co do dysków SSD, ale nie liczyłbym, że będzie to o wiele trudniejsze.) Firmy zajmujące się odzyskiwaniem danych robią to cały czas. Jeśli masz zamiar zrobić coś takiego z jakimkolwiek rozsądnym stopniem pewności (choć nadal nie jest wcale pewny!), Włóż mały materiał wybuchowy do wnętrza jezdni. Działa lepiej z dyskami SSD niż z obrotowymi dyskami HDD z powodów niezwiązanych z zamierzoną siłą niszczącą.
CVn
@ MichaelKjörling Thermite to droga. Materiały wybuchowe na dysku twardym wymagają stosunkowo dużej eksplozji, aby faktycznie zniszczyć dane. Zniszczysz górny talerz, jeśli materiał wybuchowy rzeczywiście znajduje się w napędzie, ale talerze napędowe są dość mocne, nie spalą się bez dość niebezpiecznej ilości materiału wybuchowego. Termit całkiem ładnie przepala metal.
DanielST
1

Potencjalnym rozwiązaniem byłoby zastosowanie pełnego szyfrowania dysku, włożenie klucza na pamięć USB / kartę pamięci i włożenie komputera do metalowej skrzynki z jednymi drzwiami, która ma przełącznik otwierania, wraz z niektórymi czujnikami otoczenia.

Aby uruchomić urządzenie po włożeniu dysku USB do portu (na zewnątrz „przechowalni”) i odczytaniu stamtąd klucza FDE i uruchomieniu systemu. Jeśli „skarbiec” zostanie kiedykolwiek otwarty, przełącznik otwierania zresetuje system, usuwając klucz z pamięci.

Jeśli pozwala na to środowisko, możesz dodać więcej czujników, takich jak temperatura, przyspieszenie, wilgotność itp. Jeśli w zgłoszonych wartościach zostanie wykryta nagła zmiana, system resetuje się, więc jeśli złodziej próbuje po prostu wziąć system i go umieścić w kieszeni zostanie zresetowany, zanim jeszcze odłączy go od wszystkich kabli.


źródło