SPIS TREŚCI
O autorze
O korektorach merytorycznych
Wstęp
Część I. Zapoznanie ze sprzętem
Rozdział 1. Przygotowanie laboratorium do testów penetracyjnych i zasady bezpieczeństwa
- Podstawowe wymagania – co będzie potrzebne?
- Języki programowania
- Umiejętności związane ze sprzętem
- Konfiguracja systemu
- Przygotowanie podstawowego laboratorium
- Bezpieczeństwo
- Zakup wyposażenia testowego
- Laboratorium domowe kontra firmowe
- Wybór urządzeń
- Co kupić, po co i kiedy?
- Drobne narzędzia i sprzęt
- Wynajem i zakup przyrządów
- Zapas elementów elektronicznych
- Przechowywanie
- Zapas
- Przykładowe laboratoria
- Poziom początkującego
- Poziom amatora
- Poziom profesjonalisty
- Podsumowanie
- Pytania
Rozdział 2. Przedmiot testu
- Blok procesora
- Zadania procesora
- Typowe rodzaje procesorów stosowanych w systemach wbudowanych
- Blok pamięci
- Pamięć RAM
- Pamięć programu
- Pamięć danych
- Blok zasilania
- Blok zasilania z perspektywy testów penetracyjnych
- Blok sieci
- Typowe protokoły komunikacyjne stosowane w systemach wbudowanych
- Blok czujników
- Czujniki analogowe
- Czujniki cyfrowe
- Blok urządzeń wykonawczych
- Blok interfejsów
- Podsumowanie
- Pytania
- Dalsza lektura
Rozdział 3. Komponenty testowanego systemu
- Wymagania techniczne
- Pozyskiwanie informacji z instrukcji obsługi
- Podejście analityczne
- Analiza instrukcji do zabawki
- Pozyskiwanie informacji z internetu
- Informacje o zabawce
- Utworzenie diagramu systemu
- Diagram zabawki
- Eksplorowanie systemu – identyfikowanie komponentów i umieszczanie ich na diagramie
- Otwarcie zabawki
- Manipulowanie systemem
- Demontaż zabawki
- Identyfikacja układów
- Układy zastosowane w zabawce
- Identyfikacja nieoznaczonych i tajemniczych układów
- Tajemnicza zawartość zabawki
- Granice bloków funkcjonalnych
- Podsumowanie
- Pytania
Rozdział 4. Planowanie i przygotowanie testu
- Metodyka STRIDE
- Wyszukiwanie celów ataków w badanym systemie
- Aspekty bezpieczeństwa – czego należy oczekiwać?
- Komunikacja
- Utrzymanie
- Spójność systemu i auto-testy
- Ochrona poufnych danych i środków bezpieczeństwa
- Jakie są ataki i ich skutki?
- Metodyka STRIDE w analizie bezpieczeństwa komponentów systemu
- Przykładowy system: zabawka Furby
- Planowanie testu
- Wybór scenariusza
- Podsumowanie
- Pytania
- Dalsza lektura
Część II. Atakowanie sprzętu
Rozdział 5. Główna platforma ataku
- Wymagania techniczne
- Wprowadzenie do płytki bluepill
- Do czego służy płytka bluepill?
- Co to jest?
- Dlaczego język C, a nie Arduino?
- Dokumentacja
- Rejestry pamięci
- Narzędzia programistyczne
- Proces kompilacji
- Przebieg kompilacji
- Programowanie układu
- Praktyczne zastosowanie płytki bluepill
- Wprowadzenie do języka C
- Operatory
- Typy danych
- Ten okropny wskaźnik
- Dyrektywy preprocesora
- Funkcje
- Podsumowanie
- Pytania
- Dalsza lektura
Rozdział 6. Podsłuchiwanie i atakowanie najpopularniejszych protokołów
- Wymagania techniczne
- Sprzęt
- Protokół I(2)C
- Tryby pracy
- Podsłuchiwanie transmisji
- Wstrzykiwanie danych
- Atak typu „człowiek pośrodku”
- Protokół SPI
- Tryby pracy
- Podsłuchiwanie transmisji
- Wstrzykiwanie danych
- Atak typu „człowiek pośrodku”
- Protokół UART
- Tryby pracy
- Podsłuchiwanie transmisji
- Wstrzykiwanie danych
- Atak typu „człowiek pośrodku”
- Protokół D1W
- Tryby pracy
- Podsłuchiwanie transmisji
- Wstrzykiwanie danych
- Atak typu „człowiek pośrodku”
- Podsumowanie
- Pytania
Rozdział 7. Wyodrębnianie i modyfikowanie pamięci
- Wymagania techniczne
- Wyszukiwanie układów pamięci
- Pamięć EEPROM
- Pamięci EMMC i NAND/NOR flash
- Dyski magnetyczne i SSD oraz inne nośniki
- Wyodrębnianie danych
- Oprogramowanie układowe
- Pamięć wbudowana i niestandardowe interfejsy
- Pamięć wbudowana i typowe interfejsy
- Badanie struktury nieznanego nośnika
- Nieznane formaty nośników
- Znane formaty pamięci masowych
- Zabawka Furby
- Montowanie systemu plików
- Przepakowanie danych
- Podsumowanie
- Pytania
- Dalsza lektura
Rozdział 8. Atakowanie Wi-Fi, Bluetooth i BLE
- Wymagania techniczne
- Podstawy komunikacji sieciowej
- Komunikacja Wi-Fi w systemach wbudowanych
- Wybór karty Wi-Fi
- Utworzenie punktu dostępu
- Przygotowanie punktu dostępu i podstawowych usług sieciowych
- Inne ataki na sieć Wi-Fi
- Komunikacja Bluetooth w systemach wbudowanych
- Podstawy komunikacji Bluetooth
- Wykrywanie urządzeń Bluetooth
- Narzędzia Bluetooth w systemie Linux
- Podsłuchiwanie komunikacji Bluetooth na komputerze
- Podsłuchiwanie surowej komunikacji Bluetooth
- BLE
- Podsumowanie
- Pytania
Rozdział 9. Atakowanie SDR
- Wymagania techniczne
- Wprowadzenie do technologii SDR
- Opis i dobór sprzętu
- Badanie urządzenia radiowego
- Odbieranie sygnału: antena
- Analiza spektrum radiowego
- Odtwarzanie danych
- Rozpoznawanie modulacji – edukacyjny przykład
- AM/ASK
- FM/FSK
- PM/PSK
- MSK
- Analiza sygnału
- Demodulacja sygnału
- Blok Clock Recovery MM
- Narzędzie WPCR
- Wysyłanie sygnałów
- Podsumowanie
- Pytania
Część III. Atakowanie oprogramowania
Rozdział 10. Korzystanie z interfejsów diagnostycznych
- Wymagania techniczne
- Programowalne interfejsy diagnostyczne – czym są i do czego służą?
- Właściwe przeznaczenie interfejsów diagnostycznych
- Atakowanie systemu przy użyciu interfejsu JTAG
- Identyfikowanie pinów
- „Przyjazna” płyta drukowana
- Trudniejszy przypadek
- Bardzo trudny przypadek i płytka JTAGulator
- Oprogramowanie OpenOCD
- Instalacja
- Plik adaptera
- Docelowy plik
- Praktyczny przykład
- Podsumowanie
- Pytania
Rozdział 11. Statyczna inżynieria odwrotna i analiza
- Wymagania techniczne
- Formaty plików wykonywalnych
- Popularne formaty plików wykonywalnych
- Formaty zrzutów i obrazy pamięci
- Struktura zrzutu pamięci – przykład płytki bluepill
- Analiza oprogramowania układowego – wprowadzenie do programu Ghidra
- Analiza prostego programu dla systemu Linux i procesora ARM
- Wyższy stopień wtajemniczenia – analiza surowego pliku binarnego dla płytki STM32
- Pierwszy przebieg identyfikacyjny
- Inżynieria odwrotna funkcji
- Podsumowanie
- Pytania
Rozdział 12. Dynamiczna inżynieria odwrotna
- Wymagania techniczne
- Dynamiczna inżynieria odwrotna i jej zastosowania
- Zastosowanie programów OpenOCD i GDB
- GDB? Nic o nim nie wiem!
- Wprowadzenie do asemblera ARM
- Ogólne informacje i składnia
- Najbardziej przydatne instrukcje procesora ARM
- Przykład dynamicznej inżynierii odwrotnej
- Badanie kodu za pomocą programu Ghidra
- Odtworzenie hasła
- Prostsze rozwiązanie
- Podsumowanie
- Pytania
Rozdział 13. Ocenianie i raportowanie zagrożeń
- Ocenianie zagrożeń
- Raportowanie zrozumiałe dla wszystkich
- Szablon raportu
- Język raportu
- Jakość raportu
- Konfrontacja z inżynierami
- Podsumowanie
- Pytania
Rozdział 14. Podsumowanie – środki zaradcze i dobre praktyki
- Dobre praktyki branżowe, czym są i gdzie ich szukać?
- OWASP IoT Top 10
- Testy porównawcze CIS
- Wytyczne NIST dotyczące bezpieczeństwa sprzętu
- Typowe problemy i środki zaradcze
- Nawiązywanie zabezpieczonego połączenia między urządzeniem a zapleczem
- Przechowywanie poufnych danych
- Kryptografia w krytycznych aplikacjach
- Programy rozruchowe oraz interfejsy szeregowe, JTAG i UART
- Co dalej? Samodzielna nauka i pierwszy projekt
- Słowo końcowe
Odpowiedzi
Opinie
Na razie nie ma opinii o produkcie.