Bezpieczeństwo organizacyjne i operacyjne

Podstawa dobrych praktyk bezpieczeństwa zaczyna się w Twojej organizacji.

Utwórz zespół ds. bezpieczeństwa i prywatności

Utwórz dedykowany zespół ds. bezpieczeństwa i prywatności i ustal lidera tej organizacji.

  • Zbuduj zespół ds. bezpieczeństwa.
    • Upewnij się, że co najmniej jeden pracownik jest odpowiedzialny za bezpieczeństwo, prywatność i reagowanie na incydenty.
    • Zdefiniuj misję i zakres tego zespołu.
    • Opracuj schemat organizacyjny i opisy stanowisk dla: Menedżera ds. bezpieczeństwa, Inżyniera bezpieczeństwa, Menedżera incydentów.
    • Zatrudnij pracowników lub zewnętrznych wykonawców do pełnienia tych ról.
  • Zdefiniuj cykl życia rozwoju zabezpieczeń (SDL) . Twój SDL powinien obejmować następujące obszary:
    • Wymagania bezpieczeństwa dotyczące produktów.
    • Analiza ryzyka i modelowanie zagrożeń.
    • Analiza statyczna i dynamiczna aplikacji i kodu.
    • Końcowe procesy przeglądu bezpieczeństwa produktów.
    • Reagowania na incydenty.
  • Ocena ryzyka organizacyjnego . Utwórz ocenę ryzyka i opracuj plany mające na celu wyeliminowanie lub złagodzenie tego ryzyka.

Zbuduj proces weryfikacji

Oceń luki w istniejących wewnętrznych procesach weryfikacji i zatwierdzania kompilacji.

  • Zidentyfikuj wszelkie luki w bieżącym procesie weryfikacji kompilacji, które mogą prowadzić do wprowadzenia do niej potencjalnie szkodliwej aplikacji (PHA) .
  • Upewnij się, że masz proces przeglądu i zatwierdzania kodu, nawet w przypadku wewnętrznych poprawek do AOSP .
  • Popraw integralność kompilacji, wdrażając kontrole w następujących obszarach:
    • Śledzenie zmian . Śledź inżynierów oprogramowania; prowadź dzienniki zmian.
    • Oceń ryzyko . Oceń uprawnienia używane przez aplikację; wymagają ręcznego przeglądu zmian w kodzie.
    • Monitoruj . Oceń zmiany wprowadzone w kodzie uprzywilejowanym.

Śledzenie zmian w kodzie źródłowym

Monitoruj niezamierzone modyfikacje kodu źródłowego lub aplikacji/plików binarnych/zestawów SDK innych firm.

  • Oceniaj partnerstwa . Oceń ryzyko współpracy z partnerem technicznym, wykonując następujące kroki:
    • Ustal kryteria oceny ryzyka współpracy z konkretnym dostawcą.
    • Utwórz formularz z pytaniem do dostawcy, w jaki sposób rozwiązuje incydenty oraz zarządza bezpieczeństwem i prywatnością.
    • Weryfikuj swoje roszczenia przeprowadzając okresowy audyt.
  • Śledzenie zmian . Rejestruj, które firmy i pracownicy modyfikują kod źródłowy, i przeprowadzaj okresowe audyty, aby mieć pewność, że zachodzą tylko odpowiednie zmiany.
  • Prowadź zapisy . Rejestruj, które firmy dodają pliki binarne innych firm do Twojej kompilacji i dokumentuj, jakie funkcje pełnią te aplikacje i jakie dane zbierają.
  • Planuj aktualizacje . Upewnij się, że dostawcy są zobowiązani do dostarczania aktualizacji oprogramowania przez cały okres użytkowania produktu. Nieprzewidziane luki w zabezpieczeniach mogą wymagać wsparcia ze strony dostawców.

Sprawdź integralność i rodowód kodu źródłowego

Sprawdź i zweryfikuj kod źródłowy dostarczony przez oryginalnego producenta urządzenia (ODM), aktualizację bezprzewodową (OTA) lub operatora.

  • Zarządzaj certyfikatami podpisywania .
    • Przechowuj klucze w sprzętowym module zabezpieczeń (HSM) lub w bezpiecznej usłudze w chmurze (nie udostępniaj ich).
    • Upewnij się, że dostęp do certyfikatów podpisywania jest kontrolowany i audytowany.
    • Wymagaj, aby całe podpisywanie kodu było wykonywane w systemie kompilacji.
    • Unieważnij utracone klucze.
    • Generuj klucze, korzystając z najlepszych praktyk.
  • Przeanalizuj nowy kod . Przetestuj nowo dodany kod za pomocą narzędzi do analizy kodu bezpieczeństwa, aby sprawdzić, czy nie pojawiły się nowe luki w zabezpieczeniach. Ponadto przeanalizuj ogólną funkcjonalność, aby wykryć pojawienie się nowych luk w zabezpieczeniach.
  • Przejrzyj przed publikacją . Poszukaj luk w zabezpieczeniach w kodzie źródłowym i aplikacjach innych firm, zanim przekażesz je do środowiska produkcyjnego. Na przykład:
    • Wymagaj, aby aplikacje korzystały z bezpiecznej komunikacji.
    • Postępuj zgodnie z zasadą najmniejszych uprawnień i przyznaj minimalny zestaw uprawnień potrzebnych do działania aplikacji.
    • Upewnij się, że dane są przechowywane i przesyłane bezpiecznymi kanałami.
    • Aktualizuj zależności usług.
    • Zastosuj poprawki zabezpieczeń do zestawów SDK i bibliotek open source.

Reagowania na incydenty

Android wierzy w siłę silnej społeczności zajmującej się bezpieczeństwem, która może pomóc w znajdowaniu problemów. Powinieneś stworzyć i opublikować sposób, w jaki strony zewnętrzne mogą kontaktować się z Tobą w sprawie problemów z bezpieczeństwem specyficznych dla urządzenia.

  • Nawiąż kontakt . Utwórz adres e-mail, taki jak your-company lub witrynę internetową zawierającą jasne instrukcje dotyczące zgłaszania potencjalnych problemów związanych z bezpieczeństwem związanych z Twoim produktem ( przykład ).
  • Utworzenie programu nagród za luki w zabezpieczeniach (VRP) . Zachęcaj zewnętrznych badaczy bezpieczeństwa do przesyłania raportów o lukach w zabezpieczeniach mających wpływ na Twoje produkty, oferując nagrody pieniężne za prawidłowe zgłoszenia ( przykład ). Zalecamy nagradzanie badaczy nagrodami konkurencyjnymi w branży, takimi jak 5000 dolarów za luki w zabezpieczeniach o wadze krytycznej i 2500 dolarów za luki o wysokiej wadze.
  • Wprowadź zmiany w górę . Jeśli dowiesz się o problemie z bezpieczeństwem wpływającym na platformę Android lub urządzenia różnych producentów, skontaktuj się z zespołem ds. bezpieczeństwa Androida, przesyłając raport o błędzie bezpieczeństwa .
  • Promuj dobre praktyki bezpieczeństwa . Aktywnie oceniaj praktyki bezpieczeństwa dostawców sprzętu i oprogramowania, którzy dostarczają usługi, komponenty i/lub kod dla Twoich urządzeń. Pociągaj dostawców do odpowiedzialności za utrzymywanie dobrego stanu bezpieczeństwa.