Facebook - konwersja
Czytaj fragment
Pobierz fragment

Rootkity i Bootkity - ebook

Data wydania:
1 stycznia 2020
Format ebooka:
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.
(2w1)
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 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.
Czytaj fragment
Pobierz fragment
119,00

Rootkity i Bootkity - ebook

Rootkity i Bootkity pomaga zrozumieć i przeciwdziałać wyrafinowanym, zaawansowanym zagrożeniom, zagrzebanym głęboko w procesie rozruchowym maszyny albo oprogramowaniu układowym UEFI.
Z pomocą rozlicznych studiów przypadków i profesjonalnych badań trzech spośród wiodących światowych ekspertów do spraw zabezpieczeń prześledzimy rozwój złośliwego oprogramowania, od rootkitów takich jak TDL3, aż po dzisiejsze implanty UEFI. Zbadamy, jak dokonują infekcji systemu, przeżywają restart systemu i unikają oprogramowania zabezpieczającego. W miarę badania i rozkładu na elementy rzeczywistego złośliwego oprogramowania dowiemy się:
• Jak uruchamia się system Windows – w tym tryby 32-, 64-bitowe oraz UEFI – i gdzie można znaleźć słabości
• Jak działają mechanizmy zabezpieczeń procesu rozruchowego, takich jak Secure Boot, w tym przegląd rozwiązań Virtual Secure Mode (VSM) oraz Device Guard
• Jak stosować techniki odwrotnej inżynierii i analizy śledczej potrzebne do analizowania prawdziwego złośliwego oprogramowania, w tym takich bootkitów, jak Rovnix/Carberp, Gapz, TDL4 oraz niesławnej pamięci rootkitów TDL3 i Festi
• Jak używać narzędzi wirtualizacji, takich jak VMware Workstation do prowadzenia odwrotnej inżynierii bootkitów lub narzędzia Intel Chipsec w celu zagłębiania się w analizy śledcze.

Kategoria: Informatyka
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-01-21540-8
Rozmiar pliku: 11 MB

FRAGMENT KSIĄŻKI

O autorach

ALEX MATROSOV jest głównym, ofensywnym badaczem bezpieczeństwa w firmie NVIDIA. Ma ponad dwadzieścia lat doświadczenia w dziedzinie inżynierii odwrotnej, zaawansowanych technik analizy złośliwego oprogramowania, bezpieczeństwa oprogramowania wbudowanego i technik nadużywania. Przed dołączeniem do NVIDIA Alex pełnił funkcję głównego badacza bezpieczeństwa w Intel Security Center of Excellence (SeCoE), spędził ponad sześć lat w zespole Intel Advanced Threat Research i zajmował stanowisko starszego badacza bezpieczeństwa w ESET. Alex jest autorem i współautorem licznych artykułów badawczych oraz prelegentem na konferencjach branżowych, w tym na REcon, ZeroNights, Black Hat, DEFCON i wielu innych. Otrzymał od Hex-Rays nagrodę za swoją wtyczkę HexRaysCodeXplorer, od roku 2013 wspieraną przez zespół w REhint.

EUGENE RODIONOV, dr, pełni funkcję badacza bezpieczeństwa w firmie Intel i zajmuje się zabezpieczeniami BIOS dla platform klienckich. Wcześniej Rodionov prowadził wewnętrzne projekty badawcze i wykonywał pogłębione analizy zaawansowanych zagrożeń w ESET. Do jego obszaru zainteresowań należą zabezpieczenia oprogramowania wbudowanego, programowanie w trybie jądra, technologie antyrootkitowe i inżynieria odwrotna. Rodionov występował na wielu konferencjach branżowych takich jak Black Hat, REcon, ZeroNights i CARO. Jest też współautorem licznych artykułów naukowych.

SERGEY BRATUS jest profesorem nadzwyczajnym na wydziale informatyki Dartmouth College. Poprzednio pracował w BBN Technologies nad badaniami przetwarzania języka naturalnego. Bratus interesuje się wszelkimi aspektami zabezpieczeń systemów Unix, a w szczególności zabezpieczeniami jądra Linux oraz wykrywaniem i odwrotną inżynierią złośliwego oprogramowania dla systemu Linux.

O recenzencie technicznym

RODRIGO RUBIRA BRANCO (_BSDaemon_) pracuje jako Chief Security Researcher w Intel Corporation, gdzie kieruje zespołem STORM (_Strategic Offensive Research and Mitigations_). Rodrigo ujawnił dziesiątki podatności w wielu ważnych technologiach i publikował innowacyjne badania na temat EKSPLOITACJI, inżynierii odwrotnej i analiz złośliwego oprogramowania. Jest członkiem RISE Security Group i jednym z organizatorów Hackers to Hackers Conference (H2HC), najstarszej konferencji poświęconej badaniom bezpieczeństwa w Ameryce Łacińskiej.PRZEDMOWA

Jest niezaprzeczalnym faktem, że wykorzystanie złośliwego oprogramowania jest rosnącym zagrożeniem dla bezpieczeństwa komputerów. Ze wszystkich stron obserwujemy alarmujące statystyki świadczące o powiększaniu się finansowych skutków złośliwego oprogramowania, o jego złożoności oraz o samej liczbie złośliwych próbek. Więcej niż kiedykolwiek wcześniej badaczy zabezpieczeń, zarówno w przemyśle, jak i środowisku naukowym, studiuje złośliwe oprogramowanie i publikuje wyniki badań w rozmaitych miejscach, od blogów i konferencji branżowych po spotkania naukowe i książki dedykowane tej tematyce. Publikacje te obejmują wszelkie rodzaje tematów: inżynierię odwrotną, najlepsze praktyki, metodologię i najlepsze zestawy narzędzi.

Jak widać zatem, od dawna toczy się wiele dyskusji na temat analizy złośliwego oprogramowania i automatyzowania narzędzi, każdy zaś dzień przynosi kolejne. Można się zatem zastanawiać: Po co jeszcze jedna książka na ten temat? Co wnosi ta książka, czego nie znajdziemy w innych?

Po pierwsze i przede wszystkim, choć książka ta dotyczy inżynierii wstecznej zaawansowanego – przez co rozumiem _innowacyjnego_ – złośliwego oprogramowania, zawiera całą podstawową wiedzę o tym, dlaczego dany kod złośliwego oprogramowania w ogóle powstał. Książka wyjaśnia wewnętrzne działanie różnych komponentów, których to dotyczy – od rozruchu platformy, przez ładowanie systemu operacyjnego, aż po różne komponenty jądra oraz operacje warstwy aplikacji, które wpływają z powrotem na jądro.

Sam wielokrotnie odkrywałem, że objaśnianie podstawowych zagadnień jest czymś innym niż same _podstawy_ – choć wymaga sięgnięcia w dół do fundamentów, do podstawowych elementów budulcowych techniki komputerowej. I z tej perspektywy książka ta jest o czymś więcej niż tylko o złośliwym oprogramowaniu. Wyjaśnia, jak działają komputery, jak nowoczesny stos oprogramowania wykorzystuje zarówno podstawowe możliwości maszyny, jak i interfejsy użytkownika. Gdy raz to pojmiemy, zaczniemy _automagicznie_ rozumieć, jak i dlaczego coś się psuje oraz jak i dlaczego może zostać nadużyte.

Kto mógłby lepiej przedstawić takie wskazówki niż autorzy z potwierdzonymi osiągnięciami w dziedzinie ujawniania – w wielu sytuacjach – prawdziwie zaawansowanego złośliwego kodu, który za każdym razem przesuwał dalej granice możliwości w tej dziedzinie? Dodajmy do tego celowy i mozolny wysiłek w dążeniu do połączenia tego doświadczenia z podstawami działania komputerów i tworzenia szerszego obrazu, takiego jak sposoby analizowania i zrozumienia różnych problemów o podobnych cechach koncepcyjnych, a stanie się oczywiste, dlaczego książka ta powinna się znaleźć na początku listy obowiązkowych lektur.

Jeśli zawartość i wybrana metodologia aż nadto usprawiedliwiają potrzebę powstania takiej książki, kolejnym pytaniem mogłoby być, dlaczego nikt wcześniej nie podjął się jej napisania. Obserwowałem (i miałem zaszczyt aktywnie uczestniczyć, a także – mam nadzieję – wnieść coś od siebie) ewolucję tej książki, co zajęło kilka lat stałych wysiłków, mimo że autorzy mieli już całość surowych materiałów. Przez to doświadczenie oczywiste stało się dla mnie, dlaczego nikt inny nie próbował tego wcześniej: nie tylko jest to trudne, lecz także wymaga odpowiedniego połączenia umiejętności (które, biorąc pod uwagę wcześniejsze doświadczenia autorów, oczywiście posiadają), właściwego wsparcia ze strony redaktorów (które zapewniło wydawnictwo No Starch Press, cierpliwie przeprowadzając przez proces redakcyjny i akceptując nieuniknione opóźnienia w trakcie projektu z powodu zmieniających się realiów ofensywnej pracy związanej z zabezpieczeniami), a także entuzjazmu pierwszych czytelników (którzy mieli kluczowy wpływ na doprowadzenie tej pracy do linii mety).

Znacząca część tej książki koncentruje się na budowaniu zrozumieniu tego, jak w nowoczesnym komputerze osiągane jest zaufanie (lub jego brak) i jak mogą zostać wykorzystane (nadużyte) różne warstwy i przejścia między nimi, aby unieważnić założenia poczynione przez kolejną warstwę. W unikatowy sposób zwraca to uwagę na dwa główne problemy związane z implementowaniem zabezpieczeń; dotyczą one: kompozycji (wiele warstw, gdzie poprawne funkcjonowanie każdej zależy od właściwego zachowania innej lub innych) oraz założeń (ponieważ warstwy muszą z natury zakładać, że poprzednia zachowuje się poprawnie). Autorzy dodatkowo dzielą się swoją wiedzą na temat narzędzi i podejść stosowanych w unikatowo trudnych analizach komponentów wczesnego rozruchu i głębszych warstw systemu operacyjnego. Samo to przekrojowe podejście warte było napisania książki, przez co powstała niejako książka wewnątrz książki. Jako czytelnik uwielbiam takie podejście „dwa w jednym”, które niewielu tylko autorów oferuje swoim czytelnikom.

Moje przekonania o naturze wiedzy jest takie, że jeśli naprawdę coś znamy, możemy to zhakować. Użycie inżynierii odwrotnej do zrozumienia kodu, który hakuje zwyczajne zachowanie systemu, to wspaniały techniczny wyczyn, który często odsłania wiele wiedzy. Możliwość uczenia się od profesjonalistów o wielkim dorobku w wykonywaniu tej ewolucji – wykorzystanie ich umiejętności, metod, zaleceń i ogólnej wiedzy specjalistycznej – przy podążaniu własną ścieżką jest unikatową okazją. Nie przeocz jej! Idź w działaniach dalej; użyj materiałów pomocniczych; ćwicz; zaangażuj społeczność, przyjaciół, a nawet wykładowców (którzy, mam nadzieję, dostrzegą wartość, jaką ta książka wnosi do nauczania). To nie jest tylko książka do czytania – to książka warta przestudiowania.

_Rodrigo Rubira Branco_

(BSDaemon)PODZIĘKOWANIA

Chcielibyśmy podziękować wszystkim czytelnikom, którzy zakupili wczesne wersje tej książki. Ich ciągłe wsparcie było bardzo motywujące do dalszej pracy; bez tego książka zapewne nigdy nie zostałaby ukończona. Dziękujemy wam wszystkim za cierpliwe oczekiwanie na to ostateczne wydanie!

Chcielibyśmy też podziękować ludziom, którzy wspierali nas we wczesnej fazie powstawania książki: to David Harley, Juraj Malcho i Jacub Debski.

Pracowników No Starch Press, którzy pomagali nam w ciągu pięciu lat pracy nad tą książką, jest zbyt wielu, aby ich wszystkich wymienić, zatem chcielibyśmy szczególnie podkreślić wkład Billa Pollocka (za jego cierpliwość i skupienie się na jakości) oraz Liz Chadwick i Laurel Chun (bez ich pomocy książka byłaby bardzo odmienna).

Doceniamy ogromnie wszystkie opinie, które otrzymaliśmy od takich osób, jak Alexandre Gazet, Bruce Dang, Nikolaj Schlej, Zeno Kovah, Alex Tereshkin i wszyscy inni czytelnicy wczesnych wersji, którzy przesłali nam swoje komentarze. Dziękujemy z wskazanie znalezionych przez was literówek i błędów oraz za sugestie i zachęty.

Ogromne podziękowania należą się Rodrigo Rubira Branco (_BSDaemon_) za jego nadzwyczajną pomoc, recenzję techniczną i przedmowę do tej książki.

Chcielibyśmy też podziękować Ilfakowi Gulfanovowi oraz zespołowi Hex-Rays za ich pomoc i świetne narzędzia, których użyliśmy przy analizach zagrożeń omawianych w tej książce.

Chciałbym podziękować mojej żonie, Swietłanie, za jej wsparcie, a zwłaszcza za cierpliwość, gdy spędzałem większość czasu na swoich badaniach.

_Alex Matrosov_

Chciałbym przekazać wielkie „dziękuję” mojej rodzinie: mojej żonie, Eugenii, oraz moim chłopcom, Olegowi i Leonowi, za pomoc, inspirację i zrozumienie.

_Eugene Rodionov_

Jestem wdzięczny wielu ludziom za możliwość wniesienia skromnego wkładu do tej książki: autorom i redaktorom z Phrack i Uninformed, badaczom z Phenoelit i THC, organizatorom i uczestnikom Recon, PH-Neutral, Toorcon, Troopers, Day-Con, Shmoocon, Rubi-Con, Berlinsides, H2HC, Sec-T, DEFCON i wielu innym. Specjalne podziękowania kieruję do Williama Polka, który pokazał mi, że hakerskie podejście wykracza poza komputery, i bez którego pomocy nie byłbym fizycznie w stanie pracować ani podróżować od lat. I oczywiście nic z tego nie mogłoby się zdarzyć bez miłości, cierpliwości i pomocy mojej żony, Anny.

_Sergey Bratus_SKRÓTY*

AES Advanced Encryption Standard

ACM Authenticated Code Module

ACPI Advanced Configuration and Power Interface

AMT Active Management Technology

APC _asynchronous procedure call_ – asynchroniczne wywołanie procedury

APIC Advanced Programmable Interrupt Controller

ARM Advanced RISC Machine

ATA Advanced Technology Attachment

BCD Boot Configuration Data

BDS Boot Device Selection

BIOS Basic Input/Output System

BMC Baseboard Management Controller

BPB BIOS Parameter Block

BPM _boot policy manifest_ – manifest zasady rozruchu

BSI _boot sector infector_ – infektor sektora rozruchowego

BSoD _Blue Screen of Death_ – „niebieski ekran śmierci”

C&C _command and control_ – serwer zarządzający złośliwego oprogramowania

CBC _cipher block chaining_ – wiązanie bloków zaszyfrowanych

CDO _control device object_ – obiekt urządzenia sterującego

CHS Cylinder Head Sector

CLR Common Language Runtime

COFF Common Object File Format

COM Component Object Model

CSM Compatibility Support Module

DBR DOS Boot Record

DDoS _distributed denial of service –_ rozproszona odmowa usługi

DGA _domain name generation algorithm_, algorytm generowania nazwy domenowej

DKOM Direct Kernel Object Manipulation

DLL _dynamic-link library_ – biblioteka łączona dynamicznie

DMA _direct memory access_ – bezpośredni dostęp do pamięci

DRAM _dynamic random access memory_ – dynamiczna pamięć o swobodnym dostępie

DRM _digital rights management_ – zarządzanie prawami cyfrowymi

DXE Driver Execution Environment

EC Embedded Controller

ECB Electronic Code Book

ECC Elliptic Curve Cryptography

EDK EFI Development Kit

EDR Endpoint Detection and Response

EFI Extensible Firmware Interface

ELAM Early Launch Anti-Malware

ELF Executable and Linkable Format/Extensible Linking Format

EPT Extended Page Tables

FEK _file encryption key_ – klucz szyfrowania pliku

FFS _firmware filesystem_ – system plików oprogramowania układowego

FIT Firmware Interface Table

FPF _field-programmable fuse_ – programowalna macierz bramek

GDB GNU Debugger

GDT Global Descriptor Table

GPT GUID Partition Table

GUID _global unique identifier_ – globalnie unikatowy identyfikator

HAL _hardware abstraction layer_ – warstwa abstrakcji sprzętu

HBA _host-based architecture_ – architektura oparta na hoście

HECI Host-Embedded Controller Interface

HIPS Host Intrusion Prevention System

HSFC _hardware sequencing flash control_ – kontrola sekwencjonowania sprzętowego pamięci flash

HSFS _hardware sequencing flash status_ – status sekwencjonowania sprzętowego pamięci flash

HVCI Hypervisor-Enforced Code Integrity

IBB _initial boot block_ – wstępny blok rozruchowy

IDT Interrupt Descriptor Table

IOCTL Input/Output Control

IPL Initial Program Loader

IRP _input/output request packet_ – pakiet żądania wejścia/wyjścia

ISH Integrated Sensor Hub

IV _initialization value_ – wartość inicjująca

IVT Interrupt Vector Table

KEK _key exchange key_ – klucz wymiany kluczy

KM _key manifest_ – manifest klucza

KPP Kernel Patch Protection

LBA _logical block address_ – adres bloku logicznego

LPE _local privilege escalation_ – lokalna eskalacja uprawnień

MBR Master Boot Record

ME Management Engine

MFT Master File Table

MIPS _millions of instructions per second_ – miliony instrukcji na sekundę

MSR _model-specific register_ – __ rejestr specyficzny dla modelu

NDIS Network Driver Interface Specification

NVRAM _nonvolatile random access memory_ – nieulotna pamięć o swobodnym dostępie

NX _no-execute_ – nie wykonanuj

OEM _original equipment manufacturer_ – oryginalny wytwórca sprzętu

OSI Open Systems Interconnection

PCH Platform Controller Hub

PCR Platform Configuration Register

PDO _physical device object_ – obiekt urządzenia fizycznego

PE Portable Executable

PEI Pre-EFI Initialization

PI _platform initialization_ – inicjowanie platformy

PIC Position-Independent Code

PK _platform key_ – klucz platformy

PKI _public key infrastructure_ – infrastruktura klucza publicznego

PMU Power Management Unit

PnP Plug and Play

PoC _proof of concept_ – dowód koncepcji, prototyp

POST Power-On Self-Test

PPI Pay-Per-Install

RCBA Root Complex Base Address

RCRB Root Complex Register Block

ROP _return-oriented programming_ – programowanie zwrotne

RVI Rapid Virtualization Indexing

SGX Software Guard Extensions

SLAT Second Level Address Translation

SMC System Management Controller

SMI System Management Interrupt

SMM System Management Mode

SMRAM _system management random access memory_ – pamięć o swobodnym dostępie zarządzania systemem

SPC Software Publisher Certificate

SPI Serial Peripheral Interface

SPIBAR SPI Base Address Register

SSDT System Service Descriptor Table

TBB Trusted Boot Board

TDI Transport Driver Interface

TE Terse Executable

TPM Trusted Platform Module

TSA Time Stamping Authority

UAC _User Account Control_ – kontrola konta użytkownika

UEFI Unified Extensible Firmware Interface

UID _unique identifier_ – unikatowy identyfikator

VBR Volume Boot Record

VBS _virtualization-based security_ – zabezpieczenia oparte na wirtualizacji

VDO _volume device object_ – obiekt urządzenia woluminu

VFAT Virtual File Allocation Table

VFS Virtual File System

VM _virtual machine_ – maszyna wirtualna

VMM _virtual machine manager_ – menedżer maszyn wirtualnych

VSM Virtual Secure Mode

WDK Windows Driver Kit

WHQL Windows Hardware Quality Labs

WMI Windows Management Instrumentation

* Nazwy własne podawane są w oryginalnym brzmieniu. Dla akronimów pochodzących od terminów potocznych podane jest rozwinięcie oryginału wraz z tłumaczeniem na język polski (_przyp. tłum._).WPROWADZENIE

Pomysł napisania tej książki powstał, gdy po opublikowaniu wielu artykułów i postów na blogach o rootkitach i bootkitach zdaliśmy sobie sprawę, że temat ten nie uzyskuje nawet ułamka uwagi, na którą zasługuje. Czuliśmy, że jest to szersze zagadnienie i pragnęliśmy książki, która pozwoli

nadać sens temu wszystkiemu – takiej, która uogólniłaby tę mieszankę sprytnych sztuczek, spostrzeżeń na temat architektur systemów operacyjnych i wzorców projektowych używanych w innowacjach napastników i obrońców. Rozglądaliśmy się za taką książką i nie znaleźliśmy żadnej, zatem zdecydowaliśmy się ją napisać – taką, jaką sami chcieliśmy przeczytać.

Zajęło nam to cztery i pół roku, dłużej niż planowaliśmy i, niestety, dużo dłużej, niż moglibyśmy oczekiwać, że nasi oczekiwani czytelnicy i pomocnicy wczesnych wydań zechcą z nami pozostać. Jeśli jesteś jedną z tych osób, które nas wspierały od początku i jednak czytasz tę książkę, jesteśmy zawstydzeni twoim nieustającym poświęceniem!

W tym czasie obserwowaliśmy wspólną ewolucję ataków i obrony przed nimi. W szczególności widzieliśmy, jak nowe mechanizmy ochrony Microsoft Windows sprawiły, że wiele głównych gałęzi rozwoju rootkitów i bootkitów stało się ślepymi uliczkami. Historię tę można znaleźć na stronach tej książki.

Widzieliśmy też pojawienie się nowych klas złośliwego oprogramowania, biorącego na cel BIOS i oprogramowanie chipsetu, poza zasięgiem bieżącego oprogramowania obronnego w Windows. Wyjaśnimy w książce, jak ta wspólna ewolucja się rozwijała i dokąd naszym zdaniem zaprowadzą nas jej kolejne kroki.

Innym tematem tej książki jest rozwój technik inżynierii odwrotnej, nakierowanej na wczesne fazy procesu rozruchu systemu operacyjnego. Tradycyjnie, im wcześniej w długim łańcuchu procesu rozruchowego komputera wchodzi do gry jakiś fragment oprogramowania, tym mniej jest on widoczny. Ten brak możliwości obserwacji przez długi czas był mylony z bezpieczeństwem. Jednak w miarę naszych badań nad bootkitami i implantami BIOS-u, które wywracały do góry nogami technologie systemu niskiego poziomu, takie jak Secure Boot, dostrzegamy, że podejście _security by obscurity_ sprawdza się tu nie lepiej niż w innych obszarach informatyki. Po krótkim czasie (który w czasach Internetu może się tylko skrócić jeszcze bardziej) podejście to staje się bardziej korzystne dla napastników niż dla obrońców. Ta koncepcja nie została dostatecznie omówiona w innych książkach na ten temat, zatem próbujemy wypełnić tę lukę.

Dlaczego warto przeczytać tę książkę?

Książkę pisaliśmy dla bardzo szerokiego kręgu badaczy bezpieczeństwa informatycznego, zainteresowanych tym, jak zaawansowane, trwałe zagrożenia (ataki APT) omijają zabezpieczenia poziomu systemu operacyjnego. Skupiliśmy się na tym, jak te zaawansowane zagrożenia można wykrywać i skutecznie je analizować. Każda część książki odzwierciedla nową fazę ewolucyjnego rozwoju zaawansowanych zagrożeń, od ich pojawienia się jako zawężonych dowodów koncepcji po ich późniejsze rozpowszechnienie wśród uczestników zagrożeń, aż po finalne włączenie do podstępnego arsenału ukierunkowanych ataków.

Chcielibyśmy jednak dotrzeć do szerszego grona odbiorców niż tylko analitycy złośliwego oprogramowania. W szczególności mamy nadzieję, że książka okaże się równie użyteczna dla twórców systemów wbudowanych i specjalistów zabezpieczeń chmurowych, biorąc pod uwagę, że zagrożenie rootkitami i innymi implantami może być ogromne dla ich ekosystemów.

Co znajdziemy w tej książce?

Rozpoczynamy od eksploracji rootkitów w części 1, w której przedstawiamy wewnętrzne mechanizmy jądra systemu Windows, które historycznie były miejscem działania rootkitów. Następnie w części 2 przenosimy uwagę w stronę procesu rozruchu systemu operacyjnego i bootkitów, które powstały po tym, gdy w systemie Windows zaczęto wzmacniać tryb jądra. Rozbieramy na części proces rozruchu z punktu widzenia napastnika, zwracając szczególną uwagę na nowe schematy oprogramowania układowego UEFI i na ich podatności. Na koniec, w części 3, skupiamy się na badaniach śledczych, zarówno dotyczących klasycznych ataków rootkitów systemu operacyjnego, jak i nowszych ataków bootkitów na BIOS i oprogramowanie układowe.

_Część 1: Rootkity_

W tej części koncentrujemy się na klasycznych rootkitach poziomu systemu operacyjnego w czasie ich największej świetności. Te historyczne przykłady rootkitów zapewniają wartościowy wgląd w to, jak napastnicy widzą wewnętrzne mechanizmy systemu operacyjnego i jak znajdują sposoby solidnego wbudowania do nich swoich implantów, wykorzystując własne struktury systemu.

Rozdział 1: Czym jest rootkit: studium przypadku TDL3

Poznawanie tego, jak działają rootkity, rozpoczynamy od opowieści o jednym z najbardziej interesujących rootkitów swoich czasów, opartej na naszych własnych spotkaniach z jego różnymi wariantami i naszych analizach tych zagrożeń.

Rozdział 2: Rootkit Festi: najbardziej zaawansowany bot spamu i DDoS

W tym rozdziale analizujemy pamiętny rootkit Festi, który wykorzystywał najbardziej zaawansowane techniki utajniania dostępne w jego czasach do rozsyłania spamu i ataków DDoS. Techniki te obejmowały utworzenie własnego stosu TCP/IP na poziomie jądra.

Rozdział 3: Obserwowanie infekcji rootkitami

Rozdział ten prowadzi nas w głąb jądra systemu operacyjnego, pokazując triki używane przez napastników w celu przejęcia kontroli nad głębszymi warstwami jądra, takie jak przechwytywanie zdarzeń i wywołań systemowych.

_Część 2: Bootkity_

Druga część przenosi naszą uwagę na ewolucję bootkitów, warunki, które napędzały tę ewolucję, oraz techniki inżynierii wstecznej takich zagrożeń. Zobaczymy tu, jak bootkity rozwinęły się w celu implantowania się wewnątrz BIOS-u i wykorzystywania podatności oprogramowania układowego UEFI.

Rozdział 4: Ewolucja bootkitów

Ten rozdział to głębokie zanurzenie w siły (ko)ewolucyjne, które powołały bootkity do istnienia i kierowały ich rozwojem. Przyjrzymy się niektórym z pierwszych odkrytych bootkitów, takich jak owiany złą sławą Elk Cloner.

Rozdział 5: Podstawy procesu rozruchu systemu operacyjnego

Omówimy tu wewnętrzne mechanizmy procesu rozruchowego Windows i jak się one zmieniały z upływem czasu. Zagłębimy się w takie szczegóły, jak Master Boot Record, tablice partycji, dane konfiguracyjne i moduł bootmgr.

Rozdział 6: Zabezpieczenia procesu rozruchu

Rozdział ten to wycieczka z przewodnikiem po technologiach ochrony systemu rozruchu Windows, takich jak moduły Early Launch Anti-Malware (ELAM), zasady podpisywania trybu jądra (Kernel-Mode Code Signing Policy) i ich słabości oraz nowsze techniki zabezpieczeń oparte na wirtualizacji.

Rozdział 7: Techniki infekcji bootkitów

W tym rozdziale rozłożymy na czynniki metody infekowania sektorów rozruchowych i przyjrzymy się ich ewolucji z upływem czasu. Jako przykładów użyjemy kilku dobrze znanych bootkitów: TDL4, Gapz oraz Rovnix.

Rozdział 8: Statyczna analiza bootkitu przy użyciu IDA Pro

Ten rozdział dotyczy metod i narzędzi analizy statycznej do badania infekcji bootkitami. Poprowadzimy w nim czytelnika przez analizę, używając bootkitu TDL4 jako przykładu, a także udostępniamy materiały do wykorzystania we własnych analizach, włącznie z obrazem dysku do pobrania.

Rozdział 9: Dynamiczna analiza bootkitu: emulacja i wirtualizacja

W tym miejscu przeniesiemy uwagę na metody analizy dynamicznej przy użyciu emulatora Bochs oraz wbudowanego w VMware debuggera GDB. Ponownie poprowadzimy czytelnika przez kolejne kroki dynamicznej analizy bootkitów MBR i VBR.

Rozdział 10: Ewolucja technik infekowania MBR i VBR: Olmasco

Prześledzimy tu ewolucję technik ukrywania się wykorzystywanych w celu przeniesienia bootkitów na niższe poziomy procesu rozruchu. Jako przykładu użyjemy Olmasco, zbadamy jego techniki infekcji i utrwalania, funkcjonalności złośliwego oprogramowania i wstrzykiwania payloadu.

Rozdział 11: Bootkity IPL: Rovnix i Carberp

W tym rozdziale zajrzymy pod maskę dwóch spośród najbardziej złożonych bootkitów, Rovnix i Carberp, wymierzonych w bankowość elektroniczną. Były to pierwsze bootkity atakujące IPL i unikające ówczesnego oprogramowania ochronnego. Do ich analizy wykorzystamy VMware oraz IDA Pro.

Rozdział 12: Gapz: zaawansowana infekcja VBR

Przedstawiamy tu szczytowe osiągnięcie ewolucji ukrywania się bootkitów: tajemniczy rootkit Gapz, który wykorzystywał najbardziej zaawansowane techniki swoich czasów do atakowania VBR.

Rozdział 13: Rozwój ransomware MBR

W tym rozdziale zobaczymy, jak bootkity znalazły sobie miejsce w zagrożeniach typu ransomware.

Rozdział 14: Rozruch UEFI a proces rozruchowy MBR/VBR

W tym miejscu poznamy proces rozruchu rozwiązań UEFI BIOS – informacje kluczowe dla wykrywania najnowszej ewolucji złośliwego oprogramowania.

Rozdział 15: Współczesne bootkity UEFI

Ten rozdział dotyczy naszych autorskich badań nad różnymi implantami BIOS-u, zarówno dowody koncepcji, jak i ich rozmieszczenie w środowisku naturalnym. Omówimy metody infekowania i utrwalania obecności w BIOS UEFI oraz przyjrzymy się przykładom złośliwego oprogramowania UEFI odkrytego w takim środowisku naturalnym jak Computrace.

Rozdział 16: Podatności oprogramowania układowego UEFI

W tym miejscu przedstawimy pogłębiony przegląd różnych klas podatności nowoczesnych układów BIOS-u, które umożliwiają wprowadzenie implantów. Jest to pogłębione studium podatności i eksploitów UEFI, włącznie ze studium przypadku.

_Część 3: Obrona i techniki śledcze_

Końcowa część książki dotyczy analiz śledczych bootkitów, rootkitów i innych zagrożeń dla BIOS-u.

Rozdział 17: Jak działa UEFI Secure Boot

Rozdział ten stanowi pogłębioną analizę działania technologii Secure Boot i jej ewolucji, podatności i skuteczności.

Rozdział 18: Podejścia do analizowania ukrytych systemów plików

Tu przedstawimy przegląd ukrytych systemów plików wykorzystywanych przez złośliwe oprogramowanie i metod ich wykrywania. Przeanalizujemy obraz ukrytego systemu plików, przedstawiając opracowane przez nas narzędzie HiddenFsReader.

Rozdział 19: Badania BIOS/UEFI: podejścia do zdobywania oprogramowania układowego i analizy

W tym końcowym rozdziale omówimy podejścia do wykrywania najbardziej zaawansowanych i wyrafinowanych zagrożeń. Przyjrzymy się podejściom sprzętowym i programowym oraz wykorzystaniu różnych narzędzi open source, takich jak UEFITool i Chipsec.

Jak czytać tę książkę

Wszystkie próbki zagrożeń omawianych w tej książce oraz inne materiały pomocnicze można znaleźć na stronie internetowej tej książki, _https://nostarch.com/rootkits/_. Witryna ta również wskazuje narzędzia używane w analizach bootkitów, takie jak kod źródłowy wtyczki IDA Pro, której używaliśmy w naszych autorskich badaniach.PRZYPISY

Rozdział 1

1 _http://static1.esetstatic.com/us/resources/white-papers/TDL3-Analysis.pdf._

2 Rodrigo Rubira Branco, Gabriel Negreira Barbosa i Pedro Drimel Neto, „Scientific but not academic overview of malware anti-debugging, anti-disassembly and anti-VM technologies” (dokument przedstawiony na konferencji Black Hat USA 2012, 21–26 czerwca, Las Vegas, Nevada), _https://media.blackhat.com/bh-us-12/Briefings/Branco/BH_US_12_Branco_Scientific_Academic_WP.pdf_.

3 _https://blogs.technet.microsoft.com/markrussinovich/2005/10/31/sony-rootkits-and-digital-rights-management-gone-too-far/._

4 Payload – kod, który wykonuje rzeczywistą szkodliwą pracę (_przyp. tłum_.).
mniej..

BESTSELLERY

Kategorie: