Facebook - konwersja
Pobierz fragment

Android. Podręcznik hackera - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
26 stycznia 2015
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
89,00

Android. Podręcznik hackera - ebook

Obroń Twój system przed atakiem!

System Android to niezaprzeczalny lider wśród systemów operacyjnych dla urządzeń mobilnych. Jednak bycie liderem ma pewną zasadniczą wadę — wszyscy chcą przełamać jego zabezpieczenia. Jeżeli jesteś specjalistą odpowiedzialnym za bezpieczeństwo sieci, jeżeli jesteś administratorem odpowiadającym za bezpieczeństwo urządzeń mobilnych, to trafiłeś na książkę, która stanie się Twoją obowiązkową lekturą na najbliższe dni!

Dzięki niej poznasz działanie systemu Android oraz zaimplementowaną w nim architekturę zabezpieczeń. W kolejnych rozdziałach nauczysz się rozpoznawać szczegóły implementacji zabezpieczeń oraz komplikacje wynikające z faktu, że Android to otwarty system. Gdy już zdobędziesz solidne fundamenty teoretyczne, przejdziesz do analizy różnych technik ataku na urządzenia pracujące pod kontrolą Androida. Ponadto poznasz możliwe płaszczyzny ataku, publicznie dostępne exploity oraz słabości jądra systemu. Książka ta musi się znaleźć na półce każdego, komu bezpieczeństwo platformy Android nie jest obojętne!

Dzięki tej książce nauczysz się:
  • Rozpoznawać szczegóły implementacji zabezpieczeń oraz komplikacje wynikające z otwartości Androida.
  • Unikać częstych pułapek związanych z bezpieczeństwem i śledzić najnowsze strategie hakowania smartfonów.
  • Analizować różnego rodzaju udane ataki na system operacyjny Android.
  • Uzyskiwać pełny dostęp do urządzenia i rozpoznawać układ partycji oraz proces startu urządzenia.
  • Rozumieć złożoną naturę ekosystemu Androida, w tym znaczenie różnych producentów urządzeń i twórców oprogramowania
Obowiązkowa lektura specjalistów odpowiedzialnych za bezpieczeństwo platformy Android!

Spis treści

O autorach (13)

O korektorze merytorycznym (15)

Podziękowania (17)

Wprowadzenie (19)

  • Omówienie książki i technologii (20)
  • Jak podzielona jest ta książka (20)
  • Kto powinien przeczytać tę książkę (22)
  • Potrzebne narzędzia (22)
  • Co znajduje się na stronie internetowej (23)
  • Powodzenia! (23)

Rozdział 1. Rzut oka na ekosystem (25)

  • Korzenie Androida (25)
    • Historia firmy (25)
    • Historia wersji (26)
    • Dostępne urządzenia (28)
    • Otwarte (najczęściej) źródła (29)
  • Udziałowcy Androida (31)
    • Google (32)
    • Producenci sprzętu (33)
    • Operatorzy (35)
    • Programiści (35)
    • Użytkownicy (36)
  • Obraz złożoności ekosystemu (38)
    • Fragmentacja (38)
    • Kompatybilność (40)
    • Problemy związane z aktualizacją (41)
    • Bezpieczeństwo kontra otwartość (43)
    • Upublicznienie informacji (44)
  • Podsumowanie (45)

Rozdział 2. Projekt i architektura bezpieczeństwa Androida (47)

  • Architektura systemu Android (47)
  • Ograniczenia i zabezpieczenia (49)
    • Środowisko izolowane Androida (49)
    • Uprawnienia Androida (52)
  • Dokładniejsza analiza warstw (55)
    • Aplikacje Androida (55)
    • Android Framework (59)
    • Wirtualna maszyna Dalvik (60)
    • Kod natywny przestrzeni użytkownika (62)
    • Jądro (67)
  • Skomplikowane zabezpieczenia, skomplikowany exploit (74)
  • Podsumowanie (75)

Rozdział 3. Odblokowanie urządzenia (77)

  • Układ partycji (78)
    • Ustalenie układu partycji (79)
  • Proces uruchamiania systemu (80)
    • Dostęp do trybu pobierania (81)
  • Zablokowane i odblokowane programy ładujące (82)
    • Oryginalne oraz zmodyfikowane obrazy ratunkowe (83)
  • Uzyskiwanie pełnego dostępu z odblokowanym programem ładującym (85)
  • Uzyskiwanie pełnego dostępu przy zablokowanym programie ładującym (87)
    • Uzyskiwanie dostępu na uruchomionym systemie (88)
    • Blokady NAND, tymczasowy root, trwały root (89)
    • Utrwalanie programowego roota (91)
  • Historie znanych ataków (92)
    • Jądro: Wunderbar/asroot (92)
    • Tryb ratunkowy: Volez (93)
    • Udev: Exploid (93)
    • Adbd: RageAgainstTheCage (94)
    • Zygote: Zimperlich i Zysploit (94)
    • Ashmem: KillingInTheNameOf i psneuter (95)
    • Vold: GingerBreak (95)
    • PowerVR: levitator (96)
    • Libsysutils: zergRush (96)
    • Jądro: mempodroid (97)
    • Ataki związane z uprawnieniami plików oraz linkami symbolicznymi (97)
    • Adb restore (98)
    • Exynos4: exynos-abuse (99)
    • Diag: lit / diaggetroot (99)
  • Podsumowanie (100)

Rozdział 4. Przegląd bezpieczeństwa aplikacji (101)

  • Częste błędy (101)
    • Problemy z uprawnieniami aplikacji (102)
    • Niezabezpieczone przesyłanie wrażliwych danych (103)
    • Przechowywanie niezabezpieczonych danych (104)
    • Wycieki informacji przez logi (105)
    • Niezabezpieczone zakończenia IPC (106)
  • Studium przypadku: Mobile Security App (108)
    • Profilowanie (108)
    • Analiza statyczna (110)
    • Analiza dynamiczna (124)
    • Atak (132)
  • Studium przypadku: SIP Client (134)
    • Drozer (134)
    • Rozpoznanie (134)
    • Snarfing (136)
    • Wstrzykiwanie (138)
  • Podsumowanie (140)

Rozdział 5. Płaszczyzny ataku Androida (141)

  • Podstawy terminologii (141)
    • Wektory ataku (142)
    • Płaszczyzny ataku (143)
  • Klasyfikacja płaszczyzn ataku (144)
    • Właściwości płaszczyzny (144)
    • Sposób klasyfikacji (145)
  • Płaszczyzny ataku dostępne zdalnie (145)
    • Zagadnienia sieciowe (146)
    • Stosy sieciowe (150)
    • Udostępnione usługi sieciowe (151)
    • Technologie mobilne (152)
    • Płaszczyzna ataku po stronie użytkownika (153)
    • Infrastruktura Google (158)
  • Sąsiedztwo fizyczne (164)
    • Komunikacja bezprzewodowa (164)
    • Inne technologie (170)
  • Lokalne płaszczyzny ataku (170)
    • Przeglądanie systemu plików (171)
    • Odnajdywanie innych lokalnych płaszczyzn ataku (172)
  • Fizyczne płaszczyzny ataku (176)
    • Demontaż urządzenia (177)
    • USB (178)
    • Inne fizyczne płaszczyzny ataków (181)
  • Zewnętrzne modyfikacje (182)
  • Podsumowanie (182)

Rozdział 6. Wyszukiwanie słabości za pomocą fuzzingu (183)

  • Pochodzenie fuzzingu (183)
    • Identyfikowanie celu (185)
    • Tworzenie zniekształconych danych wejściowych (185)
    • Przetwarzanie danych wejściowych (186)
    • Monitorowanie wyników (187)
  • Fuzzing w Androidzie (187)
  • Fuzzing odbiorców komunikatów (188)
    • Identyfikacja celu (189)
    • Generowanie danych wejściowych (190)
    • Dostarczanie danych wejściowych (190)
    • Monitorowanie testów (191)
  • Fuzzing Chrome dla Androida (193)
    • Wybór celu (193)
    • Generowanie danych wejściowych (195)
    • Przetwarzanie danych wejściowych (197)
    • Monitorowanie testów (199)
  • Fuzzing płaszczyzny ataku USB (201)
    • Wyzwania fuzzingu USB (202)
    • Wybór trybu (202)
    • Generowanie danych wejściowych (203)
    • Przetwarzanie danych wejściowych (205)
    • Monitorowanie testów (206)
  • Podsumowanie (207)

Rozdział 7. Wyszukiwanie błędów i analiza słabości (209)

  • Zebranie wszystkich dostępnych informacji (209)
  • Wybór zestawu narzędzi (211)
  • Debugowanie błędnego zakończenia (212)
    • Logi systemowe (212)
    • Tombstone (213)
  • Zdalne debugowanie (214)
  • Debugowanie kodu maszyny wirtualnej Dalvik (215)
    • Debugowanie przykładowej aplikacji (216)
    • Wyświetlanie kodu źródłowego Android Framework (218)
    • Debugowanie istniejącego kodu (220)
  • Debugowanie kodu natywnego (224)
    • Debugowanie z NDK (224)
    • Debugowanie z Eclipse (228)
    • Debugowanie z AOSP (230)
    • Zwiększanie automatyzacji (235)
    • Debugowanie z symbolami (237)
    • Debugowanie urządzenia niewspieranego przez AOSP (243)
  • Debugowanie w trybie mieszanym (244)
  • Alternatywne techniki debugowania (244)
    • Wyrażenia do debugowania (244)
    • Debugowanie w urządzeniu (245)
    • Dynamiczne modyfikowanie binariów (246)
  • Analiza podatności (247)
    • Ustalanie pierwotnej przyczyny (247)
    • Ocena możliwości wykorzystania (260)
  • Podsumowanie (261)

Rozdział 8. Wykorzystywanie oprogramowania działającego w przestrzeni użytkownika (263)

  • Podstawy błędów pamięci (263)
    • Przepełnianie bufora stosu (264)
    • Wykorzystanie sterty (267)
  • Historia publicznie znanych eksploitów (274)
    • GingerBreak (275)
    • zergRush (278)
    • mempodroid (281)
  • Wykorzystanie przeglądarki Android (282)
    • Zrozumienie błędu (283)
    • Kontrola sterty (285)
  • Podsumowanie (288)

Rozdział 9. Return Oriented Programming (289)

  • Historia i uzasadnienie (289)
    • Oddzielna pamięć podręczna danych i instrukcji (290)
  • Podstawy ROP w ARM (292)
    • Wywoływanie podprocedur w ARM (293)
    • Łączenie gadżetów w łańcuch (295)
    • Identyfikacja potencjalnych gadżetów (296)
  • Studium przypadku: linker Androida 4.0.1 (297)
    • Modyfikacja wskaźnika stosu (298)
    • Wykonanie dowolnego kodu z zaalokowanej pamięci (300)
  • Podsumowanie (304)

Rozdział 10. Hakowanie i atakowanie jądra (317)

  • Jądro Linuksa w Androidzie (317)
  • Wyodrębnianie jądra (318)
    • Wyodrębnianie z oprogramowania fabrycznego (319)
    • Pobieranie z urządzenia (321)
    • Pobranie jądra z obrazu startowego (323)
    • Rozpakowanie jądra (323)
  • Uruchamianie zmodyfikowanego kodu jądra (324)
    • Pozyskanie kodu źródłowego (324)
    • Przygotowanie środowiska kompilacji (327)
    • Konfigurowanie jądra (328)
    • Korzystanie z własnych modułów jądra (329)
    • Kompilacja zmodyfikowanego jądra (332)
    • Tworzenie obrazu startowego (335)
    • Uruchamianie zmodyfikowanego jądra (337)
  • Debugowanie jądra (342)
    • Raporty błędów jądra (342)
    • Zrozumienie Oops (344)
    • Debugowanie na żywo z KGDB (348)
  • Wykorzystanie jądra (352)
    • Typowe jądra Androida (352)
    • Wyodrębnianie adresów (354)
    • Studia przypadku (356)
  • Podsumowanie (367)

Rozdział 11. Atakowanie RIL (311)

  • Wprowadzenie do RIL (312)
    • Architektura RIL (312)
    • Architektura smartfona (313)
    • Stos telefonu w Androidzie (313)
    • Dostosowanie stosu telefonu (315)
    • Usługi RIL (rild) (315)
    • API vendor-ril (318)
  • SMS (Short Message Service) (319)
    • Wysyłanie i odbieranie wiadomości SMS (319)
    • Format wiadomości SMS (319)
  • Komunikacja z modemem (322)
    • Emulacja modemu na potrzeby fuzzingu (322)
    • Fuzzing SMS w Androidzie (324)
  • Podsumowanie (331)

Rozdział 12. Mechanizmy ograniczające działanie eksploitów (333)

  • Klasyfikacja (334)
  • Podpisywanie kodu (334)
  • Utwardzanie sterty (336)
  • Zabezpieczenia przed przepełnieniem zmiennej typu integer (336)
  • Zapobieganie wykonaniu danych (338)
  • Randomizacja przestrzeni adresowej (340)
  • Zabezpieczanie stosu (342)
  • Zabezpieczenia formatujących ciągów znaków (343)
  • Read-Only Relocations (345)
  • Izolowanie środowiska (346)
  • Zabezpieczanie kodu źródłowego (346)
  • Mechanizmy kontroli dostępu (348)
  • Zabezpieczanie jądra (349)
    • Ograniczenia wskaźników i logów (350)
    • Ochrona strony zerowej (351)
    • Obszary pamięci tylko do odczytu (351)
  • Inne zabezpieczenia (352)
  • Podsumowanie mechanizmów ograniczających działanie eksploitów (354)
  • Wyłączanie ograniczeń (356)
    • Zmiana tożsamości (356)
    • Zamiana binariów (357)
    • Modyfikowanie jądra (357)
  • Pokonywanie mechanizmów ograniczających działanie eksploitów (358)
    • Pokonywanie zabezpieczeń stosu (358)
    • Pokonywanie ASLR (359)
    • Pokonywanie zabezpieczeń zapobiegających wykonaniu danych (359)
    • Pokonywanie ograniczeń jądra (359)
  • Spojrzenie w przyszłość (360)
    • Oficjalnie rozwijane projekty (360)
    • Utwardzanie jądra przez społeczność (361)
    • Odrobina spekulacji (362)
  • Podsumowanie (362)

Rozdział 13. Ataki sprzętowe (363)

  • Komunikacja ze sprzętem (364)
    • Interfejsy szeregowe UART (364)
    • Interfejsy I2C, SPI i One-Wire (368)
    • JTAG (370)
    • Odnajdywanie interfejsów do debugowania (381)
  • Identyfikacja komponentów (392)
    • Pozyskiwanie specyfikacji (392)
    • Trudności przy identyfikacji komponentów (394)
  • Przechwytywanie, monitorowanie i wstrzykiwanie danych (395)
    • USB (395)
    • Interfejsy szeregowe I2C, SPI i UART (399)
  • Kradzież danych i oprogramowania (404)
    • Uzyskiwanie dostępu w sposób dyskretny (405)
    • Inwazyjne metody dostępu do oprogramowania (407)
    • Co zrobić ze zrzutem danych? (410)
  • Pułapki (414)
    • Nietypowe interfejsy (414)
    • Dane binarne i zamknięte protokoły (414)
    • Uszkodzone interfejsy do debugowania (415)
    • Hasła układu (415)
    • Hasła programu ładującego, kombinacje klawiszy i ciche terminale (415)
    • Zmodyfikowane sekwencje startowe (416)
    • Ukryte linie adresowe (416)
    • Żywica zabezpieczająca (416)
    • Szyfrowanie obrazów, obfuskacja i utrudnianie debugowania (417)
  • Podsumowanie (417)

Dodatek A. Narzędzia (419)

  • Narzędzia programistyczne (419)
    • Android SDK (419)
    • Android NDK (420)
    • Eclipse (420)
    • Wtyczka ADT (420)
    • Pakiet ADT (420)
    • Android Studio (420)
  • Narzędzia do pozyskiwania fabrycznego oprogramowania i modyfikowania pamięci (421)
    • Binwalk (421)
    • fastboot (421)
    • Samsung (421)
    • NVIDIA (422)
    • LG (422)
    • HTC (423)
    • Motorola (423)
  • Narzędzia natywne Androida (424)
    • BusyBox (424)
    • setpropex (425)
    • SQLite (425)
    • strace (425)
  • Narzędzia do podpinania i modyfikowania (425)
    • Framework ADBI (425)
    • ldpreloadhook (426)
    • Framework XPosed (426)
    • Cydia Substrate (426)
  • Narzędzia do analizy statycznej (426)
    • Smali i Baksmali (427)
    • Androguard (427)
    • apktool (427)
    • dex2jar (427)
    • jad (428)
    • JD-GUI (428)
    • JEB (428)
    • Radare2 (428)
    • IDA Pro i dekompilator Hex-Rays (429)
  • Narzędzia do testowania aplikacji (429)
    • Framework Drozer (Mercury) (429)
    • iSEC Intent Sniffer i Intent Fuzzer (429)
  • Narzędzia do hakowania sprzętu (430)
    • Segger J-Link (430)
    • JTAGulator (430)
    • OpenOCD (430)
    • Saleae (430)
    • Bus Pirate (430)
    • GoodFET (431)
    • TotalPhase Beagle USB (431)
    • Facedancer21 (431)
    • TotalPhase Aardvark I2C (431)
    • Chip Quik (431)
    • Opalarka (431)
    • Xeltek SuperPro (432)
    • IDA (432)

Dodatek B. Repozytoria otwartych kodów źródłowych (433)

  • Google (433)
    • AOSP (433)
    • System kontroli kodu Gerrit (434)
  • Producenci SoC (434)
    • AllWinner (435)
    • Intel (435)
    • Marvell (435)
    • MediaTek (435)
    • Nvidia (436)
    • Texas Instruments (436)
    • Qualcomm (436)
    • Samsung (437)
  • Producenci urządzeń (OEM) (437)
    • ASUS (438)
    • HTC (438)
    • LG (438)
    • Motorola (439)
    • Samsung (439)
    • Sony Mobile (439)
  • Źródła projektów zewnętrznych (440)
  • Inne źródła (440)
    • Zmodyfikowane oprogramowanie fabryczne (440)
    • Linaro (441)
    • Replicant (441)
    • Indeksy kodu (441)
    • Wolni strzelcy (441)

Dodatek C. Źródła (443)

Skorowidz (501)

Kategoria: Hacking
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-9941-4
Rozmiar pliku: 10 MB

BESTSELLERY

Kategorie: