Przejdź do treści

AMD SEV

Dokumentacja architekturyFeex

AMD Secure Encrypted Virtualization (SEV) szyfruje pamięć maszyn wirtualnych w ramach zdefiniowanego modelu zagrożeń platformy. SEV, SEV-ES oraz SEV-SNP oferują różne możliwości i nie wolno traktować ich jako równoważne.

Co musisz wiedzieć

AMD Secure Encrypted Virtualization (SEV) szyfruje pamięć maszyn wirtualnych w ramach zdefiniowanego modelu zagrożeń platformy. SEV, SEV-ES oraz SEV-SNP oferują różne możliwości i nie wolno traktować ich jako równoważne.

Jak to działa

SEV łączy szyfrowanie pamięci gościa z zarządzaniem kluczami przypisanymi do maszyny wirtualnej. SEV-ES dodaje ochronę stanu rejestrów gościa podczas wyjść (exits), z kolei SEV-SNP wprowadza silniejsze mechanizmy integralności i własności pamięci gościa. Oprogramowanie układowe, hipernadzorca, obsługa w systemie-gościu oraz atestacja współuczestniczą w kompletnym wdrożeniu poufnej maszyny wirtualnej.

Gdzie funkcja jest przydatna

Wdrożenie chmurowe może zażądać jawnie obsługiwanego typu poufnej maszyny wirtualnej i zweryfikować jej dowód atestacji przed udostępnieniem danych poufnych. Aplikacja wciąż wymaga bezpiecznego wejścia/wyjścia, uwierzytelnionych węzłów komunikacyjnych oraz zasad określających, które pomiary platformy są akceptowane.

Jak sprawdzać obsługę i włączenie

Należy sprawdzić informacje CPUID AMD dotyczące szyfrowania pamięci i dokładny wariant SEV, a następnie zweryfikować oprogramowanie układowe, obsługę po stronie hosta/gościa oraz atestację przez udokumentowany interfejs dostawcy. Należy zapoznać się z aktualnymi wytycznymi bezpieczeństwa AMD dla wdrożonej generacji i oprogramowania układowego.

Możliwości sprzętowe, stan włączenia oraz egzekwowanie ochrony muszą być sprawdzane osobno. Procesor może obsługiwać zabezpieczenie, podczas gdy system operacyjny, aplikacja lub zasady maszyny wirtualnej go nie aktywują. Pole obsługi w bazie danych nie jest atestacją działającego systemu.

Czego ta funkcja nie określa

Ogólne pole SEV nie potwierdza dostępności SEV-SNP, aktualnego stanu mitygacji w oprogramowaniu układowym ani określonej usługi atestacji. Samo szyfrowanie to nie to samo co ochrona integralności, a szyfrowanie pamięci nie zabezpiecza każdego urządzenia ani ścieżki sieciowej.

Zgodność i wydajność w praktyce

Należy dbać o aktualność systemu operacyjnego, oprogramowania układowego i powiązanego środowiska wykonawczego. Jeżeli zabezpieczenie ujawni problem ze zgodnością, należy w pierwszej kolejności skorzystać z diagnostyki producenta i oficjalnych aktualizacji. Zmiana ogólnego przełącznika ochrony może wpłynąć na niepowiązane aplikacje i powinna być prowadzona zgodnie z jednoznacznymi zasadami wdrażania i przywracania.

Praktyczna lista kontrolna weryfikacji

  1. Zanotuj dokładny model procesora lub platformy oraz wersje używanej aplikacji, systemu operacyjnego i środowiska wykonawczego. Zachowaj dokładne sformułowanie błędu lub wymagania.
  2. Sprawdź dokumentację producenta dla danego modelu, a następnie zweryfikuj faktyczne możliwości i stan włączenia w środowisku, w którym działa program.
  3. Porównaj każde wymaganie wybranego pliku binarnego lub backendu. Podobnie nazwana funkcja, alias lub ogólne oznaczenie technologii nie są wystarczające.
  4. Upewnij się, że aplikacja wybrała zamierzoną implementację. Użyj jej udokumentowanej diagnostyki oraz obsługiwanego mechanizmu fallback, gdy wymagania nie są spełnione.
  5. Wprowadzaj jednorazowo tylko jedną obsługiwaną zmianę i powtarzaj to samo obciążenie testowe. Zachowaj oryginalną konfigurację oraz dostępną ścieżkę przywracania.

Gdy funkcja jest wymieniona, lecz oprogramowanie nie może z niej skorzystać

Zacznij od elementu, w którym bezpośrednio występuje błąd. Baza danych sprzętu opisuje zarejestrowane możliwości; system operacyjny lub hipernadzorca może udostępniać inne środowisko efektywne. Błąd nieprawidłowej instrukcji (illegal instruction) wymaga także zbadania faktycznej instrukcji powodującej błąd oraz kompilacji pliku binarnego, ponieważ uszkodzenie danych lub inna nieobsługiwana instrukcja może wywołać podobny objaw.

Zainstaluj wersję aplikacji, sterownika lub środowiska wykonawczego obsługiwaną na danej platformie i w razie potrzeby użyj udokumentowanej przez producenta kompilacji bazowej lub awaryjnej. Aktualizacja oprogramowania nie może utworzyć instrukcji, której procesor fizycznie nie posiada. Modyfikacje oprogramowania układowego i zasad bezpieczeństwa powinny przebiegać zgodnie z procedurą producenta systemu i planem przywracania, a nie ogólnikowym schematem optymalizacji.

Źródła i zakres niniejszego opisu

Materiały deweloperskie AMD Secure Encrypted Virtualization · AMD64 Architecture Programmer's Manual, Volume 2: System Programming

Te źródła definiują zachowanie architektoniczne i wymagania oprogramowania. Nie weryfikują one niezależnie każdej wartości funkcji na powiązanej stronie modelu sprzętu. W celu sprawdzenia obsługi przez model należy skorzystać z materiałów producenta na tej stronie i sprawdzić efektywną konfigurację systemu. Niniejszy artykuł nie zawiera wyników testów wydajnościowych, certyfikacji ani daty niezależnego przeglądu.

Źródła i weryfikacja

Własność redakcyjna: Feex. Nie odnotowano daty niezależnego przeglądu. Jak prowadzimy badania.

Czy ten artykuł był pomocny?

Wystarczy odpowiedź tak lub nie. Wybierz powód, jeśli chcesz, lub dodaj krótką notatkę.

Czy ten artykuł był pomocny?