Blokowanie konfiguracji peryferyjnej
Konfiguracja peryferyjna to mapowanie urządzeń peryferyjnych na rdzenie. Mikroukłady Azure Sphere mają teraz możliwość zablokowania konfiguracji peryferyjnej w celu zapewnienia dodatkowych zabezpieczeń. Wszystkie przyszłe mikroukłady Azure Sphere będą również miały blokadę konfiguracji peryferyjnej.
Podczas uruchamiania systemu środowisko uruchomieniowe Azure Sphere odczytuje manifest aplikacji, aby ustalić, których urządzeń peryferyjnych aplikacja może używać, i przypisuje urządzenia peryferyjne do rdzenia, konfigurując zaporę sprzętową. Jeśli konfiguracja peryferyjna nie jest zablokowana, osoba atakująca może ponownie skonfigurować podstawowe zadania urządzeń peryferyjnych i uzyskać dostęp do dowolnych urządzeń peryferyjnych. Jednak gdy konfiguracja peryferyjna jest zablokowana, osoba atakująca nie może ponownie przypisać urządzeń peryferyjnych, nawet jeśli kod został naruszony.
Gdy konfiguracja peryferyjna jest zablokowana
Środowisko uruchomieniowe Azure Sphere blokuje konfigurację peryferyjną podczas uruchamiania systemu, po zainicjowaniu wszystkich aplikacji, jeśli spełnione są dwa następujące warunki:
- Stan produkcji urządzenia jest ustawiony na DeviceComplete.
- Funkcja appDevelopment urządzenia nie jest dostępna na urządzeniu.
Blokowanie konfiguracji peryferyjnej dodaje kolejną warstwę zabezpieczeń dla dogłębnej obrony, która jest jedną z siedmiu właściwości wymaganych dla urządzeń o wysokim poziomie zabezpieczeń. Po zablokowaniu konfiguracji urządzenia peryferyjnego nie można jej zmienić, dopóki urządzenie nie zostanie ponownie uruchomione.
Aktualizacje aplikacji i ponowne uruchomienie urządzenia
Aktualizacja aplikacji wymagająca zmiany konfiguracji peryferyjnej wyzwala ponowne uruchomienie urządzenia, gdy konfiguracja peryferyjna jest zablokowana. Po zablokowaniu konfiguracji urządzenie musi ponownie uruchomić się, zanim będzie mogło odpowiednio skorygować konfigurację peryferyjną pod kątem aktualizacji aplikacji.
Zmiana konfiguracji peryferyjnej występuje, gdy aktualizacja aplikacji wymaga wydania lub nabycia urządzeń peryferyjnych. Poniżej przedstawiono przykłady aktualizacji aplikacji, które powodują ponowne uruchomienie urządzenia, gdy konfiguracja peryferyjna jest zablokowana:
- Nowa aplikacja korzystająca z urządzeń peryferyjnych jest instalowana w ramach aktualizacji w chmurze lub ładowania bezpośredniego. W tym przypadku należy nabyć nowy rdzeń i urządzenia peryferyjne.
- Zaktualizowana aplikacja wymaga innego zestawu urządzeń peryferyjnych niż jego poprzednia wersja. W takim przypadku należy zwolnić niektóre urządzenia peryferyjne, a inne urządzenia peryferyjne muszą zostać nabyte.
- Aplikacja korzystająca z urządzeń peryferyjnych jest usuwana w ramach aktualizacji w chmurze. W takim przypadku wszystkie urządzenia peryferyjne używane przez aplikację muszą zostać zwolnione.
Poniżej przedstawiono przykłady aktualizacji aplikacji, które nie powodują ponownego uruchomienia urządzenia, ponieważ konfiguracja peryferyjna pozostaje niezmieniona:
- Nowa aplikacja, która nie używa żadnych urządzeń peryferyjnych, jest instalowana w ramach aktualizacji w chmurze lub ładowania bezpośredniego.
- Aplikacja, która nie używa żadnych urządzeń peryferyjnych, jest usuwana w ramach aktualizacji w chmurze.
- Zaktualizowana aplikacja wymaga dokładnego zestawu urządzeń peryferyjnych używanych w poprzedniej wersji.