EBOOKI WYDAWCY
Wydawca:
Format:
epub, mobi, ibuk
Urządzenia wbudowane to mikrokomputery wielkości chipa na tyle małe, że można je włączyć w strukturę urządzenia, którym sterują. Znajdują się wszędzie – w telefonach, samochodach, kartach kredytowych, laptopach, sprzęcie medycznym, a nawet w infrastrukturze krytycznej. Oznacza to, że zrozumienie ich działania ma kluczowe znaczenie dla bezpieczeństwa. Książka Podręcznik hardware hackera zabierze Cię w głąb różnych typów systemów wbudowanych, pokazując projekty, komponenty, ograniczenia bezpieczeństwa i wyzwania związane z inżynierią wsteczną, które musisz znać, aby przeprowadzać skuteczne ataki sprzętowe.
Publikacja została napisana z dowcipem i jest przepełniona praktycznymi eksperymentami laboratoryjnymi. Podczas lektury wczujesz się w rolę napastnika zainteresowanego złamaniem zabezpieczeń w celu czynienia dobra. Rozpoczniesz od szybkiego kursu na temat architektury urządzeń wbudowanych, modelowania zagrożeń i drzew ataków, po czym przejdziesz do odkrywania interfejsów sprzętowych, portów i protokołów komunikacyjnych, sygnalizacji elektrycznej, a na koniec otrzymasz wskazówki dotyczące analizowania obrazów oprogramowania układowego.
Dzięki książce dowiesz się:
• jak modelować zagrożenia bezpieczeństwa, korzystając z profili, zasobów, celów i środków zaradczych atakujących,
• jakie są podstawy elektryczne, które pomogą Ci zrozumieć interfejsy komunikacyjne, sygnalizację i pomiary,
• jak zidentyfikować punkty wstrzykiwania do wykonywania ataków na błędy zegara, napięcia, elektromagnetyczne, laserowe i odchylenia ciała, a także otrzymasz praktyczne wskazówki dotyczące wstrzykiwania,
• jak używać ataków analizy czasu i mocy w celu wyodrębnienia haseł i kluczy kryptograficznych,
• jakie są techniki wyrównywania zarówno prostej, jak i różnicowej analizy mocy.
Niezależnie od tego, czy jesteś specjalistą, którego zadaniem jest zrozumienie tych ataków, studentem rozpoczynającym naukę, czy też hobbystą elektronikiem, ta książka będzie niezbędnym źródłem informacji – takim, które zawsze będziesz chciał mieć pod ręką.
Z przedmowy:
W Podręczniku hardware hackera Jasper i Colin łączą swoje doświadczenia z łamaniem rzeczywistych produktów, aby elegancko przekazać współczesny proces hakowania sprzętu. Dostarczają oni szczegółów dotyczących rzeczywistych ataków, pozwalając śledzić postępy, uczyć się niezbędnych technik i doświadczyć poczucia magii, które towarzyszy udanemu włamaniu. Nie ma znaczenia, czy jesteś nowy w tym obszarze, czy przybywasz z innego miejsca w społeczności hakerskiej, czy też chcesz „podnieść poziom” swoich aktualnych umiejętności związanych z bezpieczeństwem — każdy znajdzie tu coś dla siebie.
Joe Grand aka Kingpin, Technologiczny awanturnik od 1982 roku
Rok wydania | 2023 |
---|---|
Liczba stron | 574 |
Kategoria | Bezpieczeństwo |
Wydawca | Wydawnictwo Naukowe PWN |
Tłumaczenie | Piotr Fabijańczyk, Mariusz Rogulski, Magdalena Rogulska |
ISBN-13 | 978-83-01-22816-3 |
Numer wydania | 1 |
Informacja o sprzedawcy | ePWN sp. z o.o. |
EBOOKI WYDAWCY
POLECAMY
Ciekawe propozycje
Spis treści
PRZEDMOWA xix | |
PODZIĘKOWANIA xxi | |
WPROWADZENIE xxiii | |
Jak wyglądają urządzenia wbudowane xxv | |
Sposoby hakowania urządzeń wbudowanych xxv | |
Co oznacza atak sprzętowy? xxvi | |
Kto powinien przeczytać tę książkę? xxvii | |
O książce xxvii | |
Rozdział. HIGIENA JAMY USTNEJ. WPROWADZENIE DO ZABEZPIECZEŃ WBUDOWANYCH | 1 |
Komponenty sprzętu | 2 |
Komponenty oprogramowania | 5 |
Początkowy kod rozruchu | 5 |
Program rozruchowy | 6 |
Środowisko zaufanego uruchamiania systemu operacyjnego (TEE) | |
i zaufane aplikacje | 7 |
Obrazy oprogramowania układowego | 7 |
Główne jądro systemu operacyjnego i aplikacje | 8 |
Modelowanie zagrożeń sprzętowych | 8 |
Czym jest bezpieczeństwo? | 9 |
Drzewo ataków | 12 |
Profilowanie atakujących | 12 |
Typy ataków | 14 |
Ataki programowe na sprzęt | 15 |
Ataki na poziomie PCB | 17 |
Ataki logiczne | 19 |
Ataki nieinwazyjne | 21 |
Ataki inwazyjne na chipy | 21 |
Zasoby i cele bezpieczeństwa | 26 |
Poufność i integralność kodu binarnego | 27 |
Poufność i integralność kluczy | 27 |
Zdalna atestacja rozruchu | 28 |
Poufność i integralność danych osobowych | 29 |
Integralność i poufność danych z sensorów | 30 |
Ochrona poufności treści | 30 |
Odpowiedzialność i odporność | 31 |
Środki zapobiegawcze | 31 |
Chronienie | 31 |
Wykrywanie | 32 |
Odpowiadanie | 32 |
Przykładowe drzewo ataku | 32 |
Identyfi kacja vs. eksploatacja | 36 |
Skalowalność | 36 |
Analizowanie drzewa ataku | 36 |
Ocenianie ścieżek ataków sprzętowych | 37 |
Ujawnianie kwestii związanych z bezpieczeństwem | 39 |
Podsumowanie | 41 |
Rozdział 2. NAWIĄZYWANIE KONTAKTU, POŁĄCZ SIĘ ZE MNĄ, POŁĄCZĘ SIĘ Z TOBĄ. SPRZĘTOWE INTERFEJSY PERYFERYJNE | 43 |
Podstawy elektryki | 44 |
Napięcie | 44 |
Natężenie | 45 |
Rezystancja | 45 |
Prawo Ohma | 45 |
AC/DC | 45 |
Rozbieranie rezystancji | 46 |
Moc | 47 |
Interfejs z użyciem elektryczności | 48 |
Poziomy logiczne | 48 |
Wysoka impedancja, podciąganie i ściąganie | 50 |
Push-pull vs. tristate vs. otwarty kolektor albo otwarty dren | 51 |
Komunikacja asynchroniczna vs. synchroniczna vs. Taktowanie wbudowane | 53 |
Sygnały różnicowe | 54 |
Interfejsy szeregowe o niskiej prędkości | 55 |
Uniwersalna, asynchroniczna komunikacja szeregowa | 56 |
Szeregowy interfejs urządzeń peryferyjnych | 58 |
Interfejs IIC | 60 |
Secure Digital Input/Output oraz Embedded Multimedia Cards | 64 |
Magistrala CAN | 66 |
JTAG i inne interfejsy debugowania | 67 |
Interfejsy równoległe | 71 |
Interfejsy pamięci | 72 |
Szybkie interfejsy szeregowe | 73 |
Uniwersalna Magistrala Szeregowa | 74 |
PCI Express | 75 |
Ethernet | 76 |
Miernictwo | 76 |
Multimetr: napięcie | 76 |
Multimetr: ciągłość | 77 |
Oscyloskop cyfrowy | 78 |
Analizator stanów logicznych | 82 |
Podsumowanie | 83 |
Rozdział 3. OBSERWOWANIE. IDENTYFIKACJA KOMPONENTÓW I ZBIERANIE INFORMACJI | 85 |
Zbieranie informacji | 86 |
Zgłoszenia w Federalnej Komisji Łączności | 86 |
Patenty | 89 |
Karty katalogowe i schematy | 92 |
Przykład wyszukiwania informacji: urządzenie USB Armory | 94 |
Otwieranie obudowy | 102 |
Identyfikowanie układów scalonych na płytce | 102 |
Małe obudowy z wystającymi wyprowadzeniami: SOIC, | |
SOP i QFP | 105 |
Obudowy bez wystających wyprowadzeń: SO i QFN | 107 |
Ball grid array | 108 |
Chip scale packaging | 111 |
DIP, przewlekane i inne | 111 |
Przykładowe obudowy układów scalonych na PCB | 112 |
Identyfikowanie innych komponentów na płycie | 115 |
Mapowanie PCB | 120 |
Użycie do mapowania skanowania ścieżką krawędziową JTAG | 125 |
Odtwarzanie informacji z oprogramowania układowego | 127 |
Uzyskiwanie obrazu oprogramowania układowego | 128 |
Analizowanie obrazu oprogramowania układowego | 130 |
Podsumowanie | 138 |
Rozdział 4. SŁOŃ W SKLEPIE Z PORCELANĄ. WPROWADZENIE DO WSTRZYKIWANIA BŁĘDÓW | 139 |
Wprowadzanie błędów do mechanizmów bezpieczeństwa | 140 |
Obchodzenie weryfikacji podpisu oprogramowania układowego | 141 |
Uzyskiwanie dostępu do zablokowanej funkcjonalności | 142 |
Odtwarzanie kluczy kryptograficznych | 142 |
Ćwiczenie z wstrzykiwaniem błędów do OpenSSH | 143 |
Wstrzykiwanie błędów do kodu w C | 143 |
Wstrzykiwanie błędów do kodu maszynowego | 144 |
Słoń wstrzykiwania błędów | 146 |
Urządzenie cel oraz rezultat błędu | 147 |
Narzędzia do wstrzykiwania błędów | 147 |
Przygotowanie i kontrola celu | 149 |
Metody wyszukiwania błędów | 154 |
Odkrywanie prymitywów błędów | 154 |
Poszukiwanie skutecznych błędów | 158 |
Strategie poszukiwań | 166 |
Analizowanie rezultatów | 169 |
Podsumowanie | 171 |
Rozdział 5. NIE LIŻ PRÓBNIKA. JAK WSTRZYKIWAĆ BŁĘDY | 173 |
Wstrzykiwanie błędu zegara | 174 |
Metastabilność | 178 |
Analiza wrażliwości na błędy | 181 |
Ograniczenia | 181 |
Wymagany sprzęt | 182 |
Parametry wstrzykiwania błędu zegara | 184 |
Wstrzykiwanie błędu napięcia | 185 |
Generowanie zakłóceń napięcia | 186 |
Budowanie wstrzykiwacza wykorzystującego przełączanie | 186 |
Wstrzykiwanie błędów typu crowbar | 191 |
Atakowanie błędami Raspberry Pi z użyciem crowbara | 193 |
Poszukiwanie parametrów wstrzykiwania błędu napięcia | 200 |
Wstrzykiwanie błędów elektromagnetycznych | 200 |
Generowanie błędów elektromagnetycznych | 202 |
Architektury do wstrzykiwania błędów elektromagnetycznych | 204 |
Kształty i szerokości impulsów EMFI | 206 |
Poszukiwanie parametrów wstrzykiwania błędu elektromagnetycznego | 207 |
Wstrzykiwanie błędów optycznych | 208 |
Przygotowywanie chipa | 208 |
Ataki z przodu i z tyłu | 210 |
Źrodła światła | 212 |
Konfiguracja wstrzykiwania błędów optycznych | 213 |
Konfigurowalne parametry wstrzykiwania błędów optycznych | 213 |
Wstrzykiwanie body biasing | 214 |
Parametry dla wstrzykiwania body biasing | 216 |
Wyzwalanie błędów w sprzęcie | 217 |
Postępowanie z nieprzewidywalnymi czasami celu | 218 |
Podsumowanie | 219 |
Rozdział 6. CZAS NA BADANIA. LABORATORIUM WSTRZYKIWANIA BŁĘDÓW | 221 |
Akt 1: prosta pętla | 222 |
Grillowa zapalniczka bólu | 225 |
Akt 2: wstawianie przydatnych zakłóceń | 227 |
Zakłócenie crowbar powodujące błąd w danych konfiguracyjnych | 228 |
Wstrzykiwanie błędów multipleksacją | 244 |
Akt 3: różnicowa analiza błędów | 250 |
Nieco matematyki dotyczącej RSA | 250 |
Zdobywanie prawidłowego podpisu z celu | 254 |
Podsumowanie | 258 |
Rozdział 7. TO JEST TO MIEJSCE. ZRZUT PAMIĘCI PORTFELA TREZOR ONE | 259 |
Wprowadzenie do ataku | 260 |
Wewnętrzne elementy portfela Trezor One | 261 |
Wprowadzanie błędu do żądania odczytu USB | 262 |
Deasemblacja kodu | 264 |
Budowanie oprogramowania układowego i walidowanie zakłócenia | 266 |
Wyzwalanie i określanie odpowiedniego momentu | 270 |
Zakłócanie przez obudowę | 274 |
Konfigurowanie | 274 |
Przegląd kodu do wstrzykiwania błędów | 275 |
Uruchomienie kodu | 278 |
Potwierdzanie zrzutu | 280 |
Dostrajanie impulsu EM | 280 |
Dostrajanie momentu błędu na podstawie komunikatów USB | 281 |
Podsumowanie | 282 |
Rozdział 8. MAM MOC. WPROWADZENIE DO ANALIZY MOCY | 285 |
Ataki czasowe | 287 |
Atak czasowy na dysk twardy | 290 |
Pomiary mocy dla ataków czasowych | 293 |
Prosta analiza mocy | 294 |
Zastosowanie SPA od RSA | 295 |
Zastosowanie SPA do RSA, ponownie | 297 |
SPA na ECDSA | 300 |
Podsumowanie | 306 |
Rozdział 9. CZAS NA BADANIA. PROSTA ANALIZA MOCY | 307 |
Domowe laboratorium | 308 |
Budowanie podstawowego środowiska sprzętowego | 308 |
Kupowanie narzędzi | 312 |
Przygotowywanie kodu celu | 313 |
Budowanie konfiguracji | 315 |
Zbieranie wszystkiego razem: atak SPA | 317 |
Przygotowanie celu | 318 |
Przygotowanie oscyloskopu | 320 |
Analiza sygnału | 321 |
Oskryptowanie komunikacji i analizy | 322 |
Oskryptowanie ataku | 325 |
Przykład z ChipWhisperer-Nano | 328 |
Budowanie i ładowanie oprogramowania układowego | 328 |
Pierwsze spojrzenie na komunikację | 329 |
Przechwytywanie śladu | 330 |
Od śladu do ataku | 331 |
Podsumowanie | 335 |
Rozdział 10. DZIELENIE RÓŻNIC. RÓŻNICOWA ANALIZA MOCY | 337 |
Wewnątrz mikrokontrolera | 338 |
Zmiana napięcia na kondensatorze | 339 |
Od mocy do danych i na odwrót | 341 |
Przykład seksownych XOR-ów | 343 |
Atak z użyciem różnicowej analizy mocy | 345 |
Przewidywanie poboru mocy na podstawie założenia | |
dotyczącego wycieków | 346 |
Atak DPA w Pythonie | 349 |
Poznaj swojego wroga: standardowy kurs łamania | |
zaawansowanego szyfrowania | 353 |
Atakowanie AES-128 z użyciem DPA | 355 |
Korelacja w ataku z analizą mocy | 357 |
Współczynnik korelacji | 358 |
Atakowanie AES-128 z użyciem CPA | 362 |
Komunikacja z urządzeniem celem | 368 |
Szybkość przechwytywania oscyloskopu | 368 |
Podsumowanie | 369 |
Rozdział 11. SKUP SIĘ NA TYM. ZAAWANSOWANA ANALIZA MOCY | 371 |
Główne przeszkody | 372 |
Potężniejsze ataki | 374 |
Mierzenie powodzenia | 375 |
Metryki oparte na wskaźniku powodzenia | 375 |
Metryki oparte na entropii | 376 |
Progresja pików korelacji | 378 |
Wysokość pików korelacji | 379 |
Pomiary na rzeczywistych urządzeniach | 380 |
Działanie urządzenia | 380 |
Sonda pomiarowa | 383 |
Określanie wrażliwych sieci zasilania | 387 |
Automatyczne skanowanie z użyciem sondy | 388 |
Konfiguracja oscyloskopu | 389 |
Analiza i przetwarzanie zbiorów śladów | 392 |
Techniki analizy | 393 |
Techniki przetwarzania | 404 |
Głębokie uczenie z wykorzystaniem splotowych sieci neuronowych | 407 |
Podsumowanie | 410 |
Rozdział 12. CZAS NA BADANIA. RÓŻNICOWA ANALIZA MOCY | 413 |
Środowisko programu rozruchowego | 414 |
Protokół komunikacyjny programu rozruchowego | 414 |
Szczegóły AES-256 CBC | 416 |
Atakowanie AES-256 | 417 |
Pozyskanie i budowa kodu programu rozruchowego | 418 |
Uruchamianie celu i przechwytywanie śladów | 419 |
Obliczanie CRC | 419 |
Komunikacja z programem rozruchowym | 420 |
Przechwytywanie ogólnych śladów | 421 |
Przechwytywanie szczegółowych śladów | 422 |
Analiza | 423 |
Klucz rundy 14 | 423 |
Klucz rundy 13 | 424 |
Odtwarzanie IV | 427 |
Co należy przechwycić | 428 |
Generowanie pierwszego śladu | 428 |
Generowanie reszty śladów | 430 |
Analiza | 430 |
Atakowanie podpisu | 434 |
Teoria ataku | 434 |
Ślady mocy | 435 |
Analiza | 435 |
Wszystkie cztery bajty | 437 |
Podglądanie kodu źródłowego programu rozruchowego | 437 |
Moment sprawdzania podpisu | 439 |
Podsumowanie | 440 |
Rozdział 13. BEZ ŻARTÓW. PRZYKŁADY Z ŻYCIA | 443 |
Ataki z wstrzykiwaniem błędów | 443 |
Nadzorca w PlayStation 3 | 444 |
Xbox 360 | 448 |
Hakowanie z analizą mocy | 451 |
Hakowanie żarówek Philips Hue | 451 |
Podsumowanie | 456 |
Rozdział 14. POMYŚL O DZIECIACH. ŚRODKI ZAPOBIEGAWCZE, CERTYFIKATY I DALSZE KROKI | 461 |
Środki zapobiegawcze | 462 |
Wdrażanie środków zapobiegawczych | 463 |
Weryfikacja środków zapobiegawczych | 481 |
Certyfikaty branżowe | 485 |
Zwiększanie umiejętności | 488 |
Podsumowanie | 489 |
Dodatek A. CZAS ZAKUPÓW. WYPOSAŻENIE LABORATORIUM TESTOWEGO | 491 |
Sprawdzanie połączeń i napięcia: od $50 do $500 | 492 |
Lutowanie precyzyjne: od 50$ do 1500$ | 494 |
Odlutowywanie: od 30$ do 500$ | 496 |
Lutowanie i odlutowywanie elementów montowanych powierzchniowo: od 100$ do 500$ | 498 |
Modyfikowanie PCB: od $5 do $700 | 502 |
Mikroskopy optyczne: od $200 do $2,000 | 503 |
Fotografowanie płyt: od $50 do $2,000 | 504 |
Zasilanie: od $10 do $1 000 | 505 |
Podgląd przebiegów analogowych (oscyloskopy): od $300 do $25 000 | 505 |
Głębokość pamięci | 507 |
Częstotliwość próbkowania | 508 |
Szerokość pasma | 510 |
Inne parametry | 512 |
Podgląd przebiegów logicznych: od $300 do $8000 | 512 |
Wyzwalanie w magistralach szeregowych: od $300 do $8000 | 514 |
Dekodowanie protokołów szeregowych: od $50 do $8000 | 515 |
Podsłuchiwanie i wyzwalanie magistrali CAN: od $50 do $5000 | 516 |
Podsłuchiwanie Ethernetu: $50 | 517 |
Interakcja przez JTAG: od $20 do $10,000 | 517 |
Ogólny JTAG i skanowanie granic | 517 |
Debugowanie JTAG | 518 |
Komunikacja PCIe: od $100 do $1,000 | 519 |
Podsłuchiwanie USB: od $100 do $6,000 | 520 |
Wyzwalanie USB: od $250 do $6,000 | 522 |
Emulacja USB: $100 | 523 |
Połączenia Flash SPI: od $25 do $1000. | 523 |
Pomiary w analizie mocy: od $300 do $50000 | 524 |
Wyzwalanie na podstawie przebiegów analogowych: powyżej $3800 | 528 |
Mierzenie pól magnetycznych: od $25 do $10,000 | 528 |
Wstrzykiwanie błędów zegara: od $100 do $30000 | 531 |
Wstrzykiwanie błędów napięcia: od $25 do $30000 | 532 |
Wstrzykiwanie błędów elektromagnetycznych: od $100 do $50000 | 533 |
Wstrzykiwanie błędów optycznych: od $1000 do $250000 | 534 |
Pozycjonowanie sond: od $100 do $50000 | 535 |
Urządzenia docelowe: od $10 do $10000 | 535 |
Dodatek B. CAŁA TWOJA BAZA NALEŻY DO NAS. POPULARNE UKŁADY PINÓW | 539 |
SPI Flash | 539 |
Konektory 0,1 cala | 540 |
Arm JTAG z 20 pinami | 540 |
PowerPC JTAG z 14 pinami | 541 |
Konektory 0,05 cala | 542 |
Arm Cortex JTAG/SWD | 542 |
Konektor Ember Packet Trace Port | 542 |
INDEKS | 545 |