Połowa prywatności, która jest inżynierią.
Polityka o tym, czego nie zbieramy, jest nic nie warta, jeśli to niewiele, co zbieramy, siedzi za hasłem, które wsparcie może zresetować na czacie. Ta strona obejmuje drugą połowę: jak konto, hiperwizor i ludzie są ograniczeni.
Twoje konto
Hasła
scrypt z indywidualną solą przy N=2^16, r=8, p=1, co kosztuje około jednej dziesiątej sekundy na naszym własnym sprzęcie. Bez maksymalnej długości, bez reguł dotyczących składu, bez wymuszonej rotacji. Wszystkie trzy sprawiają, że hasła są gorsze i zawsze tak było.
Sprawdzanie naruszeń
Nowe hasła są sprawdzane przeciwko lokalnemu korpusowi znanych skompromitowanych hashy. Sprawdzanie odbywa się w całości po naszej stronie, ponieważ wysyłanie części hasha twojego hasła komuś innemu byłoby dziwnym posunięciem na tej konkretnej stronie.
Dwuskładnikowość, właściwie
Kody czasowe i sprzętowe klucze bezpieczeństwa, z WebAuthn jako preferowaną ścieżką. Nie ma opcji otrzymania kodu SMS-em, z oczywistego powodu: nie mamy twojego numeru telefonu i wolelibyśmy nie zaczynać go zbierać.
Kody zapasowe
Dziesięć jednorazowych kodów, wyświetlanych raz, zahashowanych w spoczynku. To cała historia odzyskiwania, ponieważ żaden inny sposób identyfikacji nie istnieje i nie wymyślimy go pod presją.
Alerty logowania
Urządzenie, którego wcześniej nie widzieliśmy, wyzwala wiadomość e-mail. To jedno z niewielu zadań, które faktycznie wykonuje siedmiodniowy dziennik dostępu.
Zgub skrzynkę i kody odzyskiwania, a konto przepada. Nie do odzyskania przez ticket, nie do odzyskania przez udowodnienie płatności, w ogóle nie do odzyskania. Taka jest cena rejestracji z jednym polem i nie podlega to negocjacjom w żadną stronę.
Sesje
Czas życia
Czternaście dni dla zapamiętanej sesji, cztery godziny, jeśli nie zaznaczyłeś pola. Obie granice są bezwzględne, bez przesuwającego się odnowienia, które utrzymywałoby skradziony ciasteczko przy życiu w nieskończoność.
Powiązanie
Każda sesja jest powiązana z agentem użytkownika i zgrubnym prefiksem sieciowym. Zmień kontynent w trakcie sesji, a zalogujesz się ponownie, co irytuje około jednego klienta miesięcznie i jest warte tej irytacji.
Lista urządzeń
Każda aktywna sesja pojawia się w panelu z czasem ostatniego użycia. Kończ je pojedynczo albo zakończ wszystkie i zacznij od nowa.
Ponowne uwierzytelnianie przy wrażliwych operacjach
Zmiana adresu e-mail, wyłączenie uwierzytelniania dwuskładnikowego, utworzenie tokenu API lub wskazanie adresu zwrotu środków – wszystko to wymaga ponownego podania hasła, niezależnie od tego, jak świeża jest sesja.
Ciasteczka
Jedno ciasteczko sesyjne, własne, strict same-site. Nic innego nie jest ustawiane i nie pytamy o to, bo nie ma zgody do zbierania na ciasteczka, które nie istnieją.
Tokeny API
API robi wszystko to, co panel, więc wyciekły token jest równie poważny jak wyciekłe hasło. Obsługa tokenów zaczyna się od tego założenia, a nie dochodzi do niego później.
Zakres
Odczyt, zapis i zniszczenie to osobne uprawnienia. Większość automatyzacji potrzebuje dwóch pierwszych, a prawie żadna nie potrzebuje trzeciego; token, który nie może usunąć instancji, nie usunie twoich instancji.
Hashowane w spoczynku
Pokazywane raz przy tworzeniu i nigdy więcej. Przechowujemy hash, więc zrzut bazy danych nie daje działających poświadczeń.
Z prefiksem
Każdy token ma stały prefiks, dzięki czemu można go łatwo znaleźć podczas skanowania repozytorium, które sam uruchamiasz, zanim wypchniesz coś, czego będziesz żałować.
Ograniczalne
Token może być ograniczony do źródłowej sieci i do nazwanego zestawu instancji. Oba ograniczenia są sprawdzane przy każdym wywołaniu, a nie tylko raz przy wydaniu.
Z terminem ważności
Opcjonalny termin ważności od godziny w górę i obowiązkowy limit dwóch lat. Tokeny, które nigdy nie wygasają, to sposób, w jaki stara automatyzacja cicho staje się starą podatnością.
Limit szybkości na token
Limity dotyczą tokenu, a nie konta, więc niekontrolowany skrypt ogranicza sam siebie, zamiast dławić twoją inną automatyzację.
Izolacja między dzierżawcami
Każda instancja jest gościem na hoście, który robi dokładnie jedną rzecz. To, co następuje, oddziela twojego gościa od gości wszystkich innych.
Brak współdzielenia pamięci
Łączenie tych samych stron jest trwale wyłączone w całej infrastrukturze. Odzyskiwanie pamięci między dzierżawcami to mierzalny kanał boczny, a pamięć RAM, którą odzyskuje, nie jest warta klasy ataków, które otwiera.
Brak overcommit
Rdzenie, pamięć i NVMe są przydzielane raz i nigdy nie liczone podwójnie. Żadnego balonowania, żadnego swapu na hoście i żadnych sztuczek z harmonogramem zastępujących pojemność, której nie kupiliśmy.
Osobne domeny przechowywania
Każdy gość ma własny wolumen w własnej, szyfrowanej przestrzeni nazw. Odzyskanie wolumenu oznacza odrzucenie klucza i przycięcie zakresu, zamiast zapisywać zera na nim i mieć nadzieję.
Separacja sieci
Jeden most na dzierżawcę, filtrowanie adresów i adresów MAC na porcie oraz domeny rozgłoszeniowe kończące się na gościu. Ruch sąsiada nigdy nie dociera do twojego portu, więc nie ma tam nic do przechwycenia.
Przekazywanie GPU
Karta jest przypisana do pojedynczego gościa przez IOMMU i resetowana między dzierżawami. Bez podziału czasu, bez warstwy vGPU i bez współdzielonego sterownika pomiędzy dwoma klientami.
Łagodzenia pozostają włączone
Łagodzenia dla wykonywania spekulacyjnego są włączone i pozostają włączone. Hosty są aktualizowane co miesiąc, a także poza harmonogramem, gdy wymaga tego sytuacja; w ciągu ostatnich dwóch lat zdarzyło się to trzy razy.
Szyfrowanie i to, co chroni
Każdy wolumen węzła jest szyfrowany w spoczynku. Klucze znajdują się w bezpiecznym elemencie hosta i są uwalniane tylko do jądra, które uruchomiło się z zmierzonego, podpisanego obrazu, więc dysk wyciągnięty z obudowy to cegła, a obudowa wyniesiona z budynku to wolniejsza cegła.
Ograniczenie należy jasno określić. Szyfrowanie w spoczynku chroni przed usunięciem, kradzieżą i końcem życia dysku. Nie może chronić przed działającym hiperwizorem, który z konieczności posiada klucz, gdy Twoja instancja działa. Każdy, kogo model zagrożeń obejmuje hosta, powinien uruchomić szyfrowanie całego dysku wewnątrz gościa i wpisać hasło przez konsolę out-of-band przy starcie; jest to obsługiwana ścieżka z odpowiednią stroną w bazie wiedzy.
Migawki i kopie zapasowe poza węzłem są szyfrowane wewnątrz instancji, zanim ją opuszczą, przy użyciu klucza, który posiadasz i którego my nigdy nie widzimy. Przechowujemy szyfrogram i długość. Przywracanie jest odszyfrowywane przez Ciebie, co jest niewygodne dokładnie raz i poprawne na zawsze.
W tranzycie panel i API są dostępne wyłącznie przez TLS, ze ścisłą polityką bezpieczeństwa transportu wstępnie załadowaną i bez pozostawionej otwartej ścieżki degradacji. Interfejsy zarządzania znajdują się w sieci out-of-band bez publicznej trasy, osiągalnej przez uwierzytelniony tunel i w żaden inny sposób.
Ludzie i badacze
Dostęp to powierzchnia ataku, której nikt nie umieszcza na karcie specyfikacji.
Nikt nie ma stałego dostępu
Dostęp produkcyjny jest żądany, ograniczony czasowo i wygasa sam. Nie ma trwałych sesji administracyjnych nigdzie na platformie.
Dwie osoby albo nic
Każda akcja dotycząca danych klienta wymaga zatwierdzenia przez kogoś, kto o nią nie prosił, a zatwierdzenie jest rejestrowane wraz z podanym powodem.
Tylko klucze sprzętowe
Pracownicy uwierzytelniają się za pomocą sprzętowego klucza bezpieczeństwa z zarządzanego komputera. Samo hasło niczego nie otwiera, a urządzenia osobiste w ogóle nie są na liście.
Goście pozostają zamknięci
Wsparcie nie może otworzyć Twojej konsoli, odczytać Twojego woluminu ani podłączyć się do Twojej pamięci bez wstrzymania instancji i zapisania tej akcji w rejestrze, który możesz później odczytać w panelu.
Odejście jest natychmiastowe
Dostęp jest odwoływany na koniec ostatniej zmiany, a klucze są usuwane z floty w ciągu tej samej godziny. Zmiana jest audytowalna i została wykonana cztery razy.
- 01
Zgłoś to
Wyślij wiadomość na adres bezpieczeństwa, zaszyfrowaną opublikowanym kluczem, jeśli ustalenie tego wymaga. Dowód koncepcji jest mile widziany. Surowe wyniki skanera bez towarzyszącej analizy nie są.
- 02
Potwierdzamy w ciągu jednego dnia
Od człowieka, a nie od bota obsługującego zgłoszenia. Mediana w ciągu ostatniego roku wyniosła poniżej czterech godzin.
- 03
Triage w ciągu trzech dni roboczych
Z poziomem powagi, planem i datą. Jeśli nie zgadzamy się z Twoim poziomem powagi, mówimy to i wyjaśniamy, dlaczego, zamiast po cichu go obniżać i mieć nadzieję, że przestaniesz czytać.
- 04
Naprawiamy i informujemy
Krytyczne ustalenia są łatane poza harmonogramem. Wszystko inne trafia w następnym cyklu miesięcznym i dowiadujesz się o tym w dniu, w którym to nastąpi.
- 05
Publikuj, kiedy chcesz
Bez wymaganego embarga, bez gróźb prawnych, bez obowiązku koordynacji. Dziewięćdziesiąt dni jest wymagane w przypadku czegokolwiek, co mogłoby narazić klientów, zanim pojawi się poprawka, i nigdy nie musieliśmy prosić dwa razy.
- 06
Otrzymujesz zapłatę
Gotówką lub kryptowalutą, w zależności od preferencji, skalowaną do wagi problemu, a nie do tego, jak głośno napisano raport. Nie publikujemy górnej granicy, bo wolelibyśmy być zaskoczeni niż ograniczeni.
Testowanie jest mile widziane na własnych instancjach i w panelu. Nie jest mile widziane na instancji innego klienta, a ta linia to całość naszej polityki safe harbour.
Zepsuj to, a potem nam powiedz.
Adres do spraw bezpieczeństwa i jego klucz znajdują się na stronie kontaktowej. Znaleziska, które zmieniają sposób działania platformy, są wymieniane w changelogu, z przypisaniem autorstwa według preferencji zgłaszającego, włącznie z brakiem przypisania.