Łamanie i zabezpieczanie aplikacji w systemie iOS - ebook
Łamanie i zabezpieczanie aplikacji w systemie iOS - ebook
Twoja lektura obowiązkowa!
iOS to obecnie jeden z najpopularniejszych systemów operacyjnych, wykorzystywany w urządzeniach firmy Apple. Jednak dzięki tej popularności jest on też łakomym kąskiem dla hakerów. Uzyskanie dostępu do danych przechowywanych w telefonie może mieć katastrofalne skutki. Dlatego jeżeli tworzysz aplikacje na platformę iOS, ta książka jest dla Ciebie pozycją obowiązkową.
Jak obronić się przed atakiem? Wszystkie niezbędne informacje znajdziesz w tym wyjątkowym podręczniku. W trakcie lektury dowiesz się, jak działają hakerzy, jak wyszukują słabe punkty aplikacji oraz jak modyfikują jej kod. Ponadto nauczysz się utrudniać śledzenie kodu Twojej aplikacji oraz bezpiecznie usuwać pliki (tak, aby nie było możliwe ich odtworzenie). Wśród poruszanych tematów znajdziesz również te związane z transmisją danych: wykorzystanie protokołu SSL to nie wszystko, musisz zadbać także o to, żeby nie było możliwe przejęcie sesji SSL. Weź książkę do ręki i obroń się przed atakiem!
Dzięki tej książce:
- zrozumiesz, jak działają hakerzy
- zabezpieczysz swoją aplikację przez nieuprawnionymi zmianami
- ochronisz swoje bezpieczne połączenia
- bezpowrotnie usuniesz niepotrzebne pliki
- zagwarantujesz bezpieczeństwo danych użytkownikom Twojej aplikacji
Zadbaj o bezpieczeństwo danych użytkowników Twojej aplikacji!
Spis treści
Wstęp (11)
1. Wszystko, co wiesz, jest błędne (15)
- Mit monokultury (16)
- Model zabezpieczeń systemu iOS (18)
- Składniki modelu zabezpieczeń systemu iOS (19)
- Przechowywanie klucza i zamka w jednym miejscu (21)
- Hasła jako słabe zabezpieczenie (22)
- Ślady pozostawiane przez system niweczą szyfrowanie (24)
- Dane zewnętrzne również są zagrożone (24)
- Przechwytywanie ruchu (25)
- Kradzież danych jest... błyskawiczna (25)
- Nie ufaj nikomu, nawet własnym aplikacjom (26)
- Fizyczny dostęp nie jest niezbędny (27)
- Podsumowanie (29)
Część I. Hakowanie (31)
2. Podstawowe techniki łamania zabezpieczeń systemu iOS (33)
- Dlaczego należy wiedzieć, jak łamie się zabezpieczenia (33)
- Zdejmowanie blokady (34)
- Narzędzia programistyczne (34)
- Zdejmowanie blokady dla użytkownika (36)
- Zdejmowanie blokady w iPhonie (37)
- Tryb DFU (38)
- Tethered jailbreak a untethered jailbreak (40)
- Usuwanie blokady z urządzeń i wstawianie kodu (40)
- Budowa własnego kodu (41)
- Analizowanie pliku binarnego (42)
- Testowanie pliku binarnego (45)
- Demonizowanie kodu (46)
- Wdrażanie złośliwego kodu przy użyciu archiwum tar (49)
- Wdrażanie złośliwego kodu przy użyciu dysku RAM (50)
- Ćwiczenia (60)
- Podsumowanie (61)
3. Wykradanie systemu plików (63)
- Pełne szyfrowanie dysku (63)
- Pamięć NAND (63)
- Szyfrowanie dysków (64)
- Kiedy szyfrowanie dysku systemu iOS zawodzi (66)
- Kopiowanie systemu plików w czasie jego działania (66)
- Program DataTheft (67)
- Dostosowywanie narzędzia launchd (74)
- Przygotowywanie dysku RAM (78)
- Tworzenie obrazu systemu plików (79)
- Kopiowanie surowego systemu plików (80)
- Program do kopiowania surowego systemu plików (81)
- Dostosowywanie narzędzia launchd (84)
- Przygotowywanie dysku RAM (85)
- Tworzenie obrazu systemu plików (86)
- Ćwiczenia (87)
- Rola inżynierii społecznej (87)
- Wyłączenie podmienionego urządzenia (88)
- Dezaktywacja podmienionego urządzenia (88)
- Podrzucenie urządzenia ze złośliwym oprogramowaniem (89)
- Aplikacja do przechwytywania hasła (90)
- Podsumowanie (90)
4. Ślady pozostawiane przez aplikacje i wycieki danych (93)
- Wydobywanie geotagów zdjęć (94)
- Skonsolidowana pamięć podręczna GPS (95)
- Bazy danych SQLite (96)
- Łączenie się z bazą danych (97)
- Polecenia bazy danych SQLite (97)
- Wydawanie poleceń SQL (98)
- Ważne pliki bazy danych (99)
- Kontakty książki adresowej (99)
- Obrazy graficzne z książki adresowej (101)
- Dane Map Google (102)
- Wydarzenia kalendarzowe (106)
- Historia rozmów (107)
- Baza danych wiadomości e-mail (108)
- Notatki (109)
- Metadane zdjęć (109)
- Wiadomości SMS (110)
- Zakładki przeglądarki Safari (110)
- Pamięć podręczna SMS-ów funkcji Spotlight (111)
- Pamięci podręczne przeglądarki Safari (111)
- Pamięć podręczna aplikacji sieciowych (111)
- Pamięć WebKit (111)
- Poczta głosowa (111)
- Inżynieria wsteczna niepełnych pól bazy danych (112)
- Wersje robocze SMS-ów (113)
- Listy właściwości (114)
- Ważne pliki list właściwości (114)
- Inne ważne pliki (118)
- Podsumowanie (120)
5. Łamanie szyfrów (121)
- Narzędzia ochrony danych firmy Sogeti (121)
- Instalowanie narzędzi ochrony danych (122)
- Kompilowanie narzędzia do wykonywania ataków metodą brute force (122)
- Kompilowanie potrzebnych bibliotek Pythona (123)
- Wydobywanie kluczy szyfrowania (124)
- Program KeyTheft (124)
- Dostosowywanie programu launchd (125)
- Przygotowywanie dysku RAM (126)
- Przygotowywanie jądra (126)
- Przeprowadzanie ataku metodą brute force (127)
- Rozszyfrowywanie pęku kluczy (129)
- Rozszyfrowywanie surowego dysku (131)
- Rozszyfrowywanie kopii zapasowych z iTunes (132)
- Łamanie zabezpieczeń przy użyciu programów szpiegujących (133)
- Program SpyTheft (133)
- Demonizowanie programu spyd (137)
- Dostosowywanie launchd (137)
- Przygotowywanie dysku RAM (138)
- Uruchamianie programu szpiegującego (139)
- Ćwiczenia (139)
- Podsumowanie (139)
6. Odzyskiwanie skasowanych plików (141)
- Wydobywanie danych z kroniki HFS (142)
- Wydobywanie danych z pustej przestrzeni (143)
- Najczęściej odzyskiwane dane (144)
- Zrzuty ekranu aplikacji (144)
- Usunięte listy właściwości (145)
- Usunięte nagrania i poczta głosowa (145)
- Usunięta pamięć klawiatury (146)
- Zdjęcia i inne dane osobiste (146)
- Podsumowanie (146)
7. Szperanie w systemie wykonawczym (147)
- Analizowanie plików binarnych (148)
- Format Mach-O (148)
- Podstawy używania narzędzia class-dump-z (151)
- Tablice symboli (152)
- Zaszyfrowane pliki binarne (153)
- Obliczanie pozycji (155)
- Wykonywanie zrzutu pamięci (156)
- Kopiowanie rozszyfrowanego kodu z powrotem do pliku (157)
- Zerowanie wartości cryptid (158)
- Atakowanie systemu wykonawczego przy użyciu Cycript (160)
- Instalowanie Cycript (160)
- Używanie Cycript (161)
- Łamanie prostych blokad (162)
- Podmienianie metod (167)
- Poszukiwanie danych (169)
- Rejestrowanie danych (171)
- Poważniejsze konsekwencje (172)
- Ćwiczenia (178)
- Animacje SpringBoard (179)
- Odbieranie rozmów... z przymusu (179)
- Robienie zrzutów ekranu (180)
- Podsumowanie (180)
8. Hakowanie biblioteki systemu wykonawczego (181)
- Rozkładanie Objective-C (181)
- Zmienne egzemplarzowe (183)
- Metody (183)
- Pamięć podręczna metod (184)
- Dezasemblacja i debugowanie (184)
- Podsłuchiwanie (188)
- Środowisko języka Objective-C (190)
- Łączenie z Objective-C (191)
- Wstawianie złośliwego kodu (193)
- Program CodeTheft (193)
- Wstawianie kodu za pomocą debugera (194)
- Wstawianie kodu za pomocą dynamicznego konsolidatora (196)
- Pełna infekcja urządzenia (197)
- Podsumowanie (198)
9. Przechwytywanie ruchu (199)
- Przechwytywanie APN (199)
- Dostarczanie złośliwego kodu (201)
- Usuwanie (203)
- Prosta konfiguracja serwera proxy (204)
- Atakowanie protokołu SSL (204)
- SSLStrip (204)
- Paros Proxy (206)
- Ostrzeżenia przeglądarek internetowych (207)
- Atakowanie mechanizmu weryfikacji SSL na poziomie aplikacji (209)
- Program SSLTheft (209)
- Przechwytywanie klas HTTP z biblioteki Foundation (214)
- Program POSTTheft (214)
- Analizowanie danych (216)
- Driftnet (218)
- Kompilacja (218)
- Uruchamianie narzędzia (219)
- Ćwiczenia (219)
- Podsumowanie (221)
Część II. Zabezpieczanie aplikacji (223)
10. Implementowanie algorytmów szyfrowania (225)
- Siła hasła (225)
- Uwaga na generatory losowych haseł (228)
- Wprowadzenie do Common Crypto (228)
- Operacje bezstanowe (229)
- Szyfrowanie stanowe (232)
- Szyfrowanie z kluczem głównym (235)
- Geoszyfrowanie (239)
- Geoszyfrowanie z hasłem (242)
- Dzielenie kluczy na serwerze (243)
- Zabezpieczanie pamięci (245)
- Czyszczenie pamięci (246)
- Kryptografia klucza publicznego (247)
- Ćwiczenia (251)
11. Zacieranie śladów (253)
- Bezpieczne kasowanie plików (253)
- Kasowanie przy użyciu algorytmu DOD 5220.22-M (254)
- Objective-C (255)
- Kasowanie rekordów SQLite (257)
- Pamięć klawiatury (261)
- Randomizowanie cyfr kodu PIN (262)
- Zrzuty widoku okien aplikacji (263)
12. Zabezpieczanie systemu wykonawczego (265)
- Reagowanie na próby modyfikacji (265)
- Kasowanie danych użytkownika (266)
- Wyłączanie dostępu do sieci (266)
- Raportowanie do centrali (267)
- Rejestrowanie zdarzeń (267)
- Fałszywe kontakty i wyłączniki awaryjne (267)
- Sprawdzanie danych procesu (268)
- Blokowanie debugerów (270)
- Sprawdzanie integralności klas systemu wykonawczego (272)
- Sprawdzanie poprawności przestrzeni adresowej (272)
- Funkcje śródliniowe (281)
- Utrudnianie dezasemblacji (287)
- Flagi optymalizacyjne (287)
- Usuwanie symboli (291)
- Flaga -funroll-loops (296)
- Ćwiczenia (299)
13. Wykrywanie zdjęcia blokady (301)
- Test integralności piaskownicy (301)
- Testy systemu plików (303)
- Obecność plików związanych ze zdejmowaniem blokady (303)
- Rozmiar pliku /etc/fstab (304)
- Ślady dowiązań symbolicznych (305)
- Test wykonywania strony (305)
14. Dalszy rozwój (307)
- Myśl jak haker (307)
- Inne narzędzia do inżynierii wstecznej (307)
- Bezpieczeństwo a zarządzanie kodem (308)
- Elastyczne podejście do kwestii bezpieczeństwa (309)
- Inne wartościowe książki (310)
Skorowidz (311)
Kategoria: | Hacking |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-5721-6 |
Rozmiar pliku: | 5,5 MB |