Podręcznik Hardware Hackera
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
- Kategorie:
- ISBN: 978-83-01-22816-3
- ISBN druku: 978-83-01-22682-4
- Liczba stron: 574
-
Sposób dostarczenia produktu elektronicznegoProdukty elektroniczne takie jak Ebooki czy Audiobooki są udostępniane online po opłaceniu zamówienia kartą lub przelewem na stronie Twoje konto > Biblioteka.Pliki można pobrać zazwyczaj w ciągu kilku-kilkunastu minut po uzyskaniu poprawnej autoryzacji płatności, choć w przypadku niektórych publikacji elektronicznych czas oczekiwania może być nieco dłuższy.Sprzedaż terytorialna towarów elektronicznych jest regulowana wyłącznie ograniczeniami terytorialnymi licencji konkretnych produktów.
-
Ważne informacje techniczneMinimalne wymagania sprzętowe:procesor: architektura x86 1GHz lub odpowiedniki w pozostałych architekturachPamięć operacyjna: 512MBMonitor i karta graficzna: zgodny ze standardem XGA, minimalna rozdzielczość 1024x768 16bitDysk twardy: dowolny obsługujący system operacyjny z minimalnie 100MB wolnego miejscaMysz lub inny manipulator + klawiaturaKarta sieciowa/modem: umożliwiająca dostęp do sieci Internet z prędkością 512kb/sMinimalne wymagania oprogramowania:System Operacyjny: System MS Windows 95 i wyżej, Linux z X.ORG, MacOS 9 lub wyżej, najnowsze systemy mobilne: Android, iPhone, SymbianOS, Windows MobilePrzeglądarka internetowa: Internet Explorer 7 lub wyżej, Opera 9 i wyżej, FireFox 2 i wyżej, Chrome 1.0 i wyżej, Safari 5Przeglądarka z obsługą ciasteczek i włączoną obsługą JavaScriptZalecany plugin Flash Player w wersji 10.0 lub wyżej.Informacja o formatach plików:
- PDF - format polecany do czytania na laptopach oraz komputerach stacjonarnych.
- EPUB - format pliku, który umożliwia czytanie książek elektronicznych na urządzeniach z mniejszymi ekranami (np. e-czytnik lub smartfon), dając możliwość dopasowania tekstu do wielkości urządzenia i preferencji użytkownika.
- MOBI - format zapisu firmy Mobipocket, który można pobrać na dowolne urządzenie elektroniczne (np.e-czytnik Kindle) z zainstalowanym programem (np. MobiPocket Reader) pozwalającym czytać pliki MOBI.
- Audiobooki w formacie MP3 - format pliku, przeznaczony do odsłuchu nagrań audio.
Rodzaje zabezpieczeń plików:- Watermark - (znak wodny) to zaszyfrowana informacja o użytkowniku, który zakupił produkt. Dzięki temu łatwo jest zidentyfikować użytkownika, który rozpowszechnił produkt w sposób niezgodny z prawem. Ten rodzaj zabezpieczenia jest zdecydowanie bardziej przyjazny dla użytkownika, ponieważ aby otworzyć książkę zabezpieczoną Watermarkiem nie jest potrzebne konto Adobe ID oraz autoryzacja urządzenia.
- Brak zabezpieczenia - część oferowanych w naszym sklepie plików nie posiada zabezpieczeń. Zazwyczaj tego typu pliki można pobierać ograniczoną ilość razy, określaną przez dostawcę publikacji elektronicznych. W przypadku zbyt dużej ilości pobrań plików na stronie WWW pojawia się stosowny komunikat.
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ł 1. 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