Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00365 008346 11063092 na godz. na dobę w sumie
Hack Proofing Your Network. Edycja polska - książka
Hack Proofing Your Network. Edycja polska - książka
Autor: Liczba stron: 696
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-890-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hacking >> bezpieczeństwo sieci
Porównaj ceny (książka, ebook, audiobook).
Chcesz powstrzymać hakerów? Zostań jednym z nich.

Aby zabezpieczyć swoją sieć, spróbuj się do niej włamać.

Zaktualizowane i rozszerzone wydanie bestsellerowej książki, napisanej przez specjalistów od zabezpieczeń i... włamań do systemów komputerowych. Jej autorzy udowadniają, że nie można myśleć o zabezpieczeniach, jeśli nie pozna się najpierw zagrożeń.

  1. Podstawy bezpieczeństwa sieciowego
    Zapoznasz się ze wskazówkami dotyczącymi znajdowania luk w zabezpieczeniach istniejących i projektowanych systemów
  2. Siedem podstawowych kategorii ataków
    Odmowa obsługi, wyciek informacji, dostęp do systemu plików, dezinformacja, dostęp do plików specjalnych/baz danych, zdalne uruchomienie kodu i rozszerzenie uprawnień.
  3. Różnicowanie prewencyjne
    Dowiesz się, w jaki sposób porównywać pliki, biblioteki i programy oraz jakie informacje można w ten sposób uzyskać
  4. Typowe algorytmy szyfrujące
    Twoje zaszyfrowane dane i twoje zaszyfrowane hasła -- czy są rzeczywiście bezpieczne?
  5. Słaby punkt: łańcuchy formatujące
    Jedna z najnowszych technik włamań: włamania z użyciem łańcuchów formatujących.
  6. Bezpieczne tunele
    Naucz się tworzyć bezpieczne tunele służące do przesyłania danych i rozpoznawać użytkownika przy użyciu OpenSSH
  7. Zabezpiecz swój sprzęt
    Hardware także może stanowić słaby punkt. Poznaj techniki włamań sprzętowych
'Ryan Russell chce Ci przekazać ważne przesłanie: 'To, o czym nie wiesz, stanowi dla Ciebie zagrożenie'. W swojej książce przekazuje praktyczną wiedzę o technikach włamań do systemów, technikach, które mogą być wykorzystane także przeciwko Tobie'.
-- Kevin Mitnick

Omówione zagadnienia:

Dokładny opis technik włamań:

Wieści z podziemia
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI Hack Proofing KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Autor: praca zbiorowa T³umaczenie: Bart³omiej Garbacz, Przemys³aw Szeremiota ISBN: 83-7197-890-1 Tytu³ orygina³u: Hack Proofing Your Network, Second Edition Format: B5, stron: 696 Chcesz powstrzymaæ hakerów? Zostañ jednym z nich. Aby zabezpieczyæ swoj¹ sieæ, spróbuj siê do niej w³amaæ. Zaktualizowane i rozszerzone wydanie bestsellerowej ksi¹¿ki, napisanej przez specjalistów od zabezpieczeñ i… w³amañ do systemów komputerowych. Jej autorzy udowadniaj¹, ¿e nie mo¿na myġleæ o zabezpieczeniach, jeġli nie pozna siê najpierw zagro¿eñ. dotycz¹cymi znajdowania luk w zabezpieczeniach istniej¹cych i projektowanych systemów. • Podstawy bezpieczeñstwa sieciowego. Zapoznasz siê ze wskazówkami • Siedem podstawowych kategorii ataków. Odmowa obs³ugi, wyciek informacji, dostêp do systemu plików, dezinformacja, dostêp do plików specjalnych/baz danych, zdalne uruchomienie kodu i rozszerzenie uprawnieñ. • Ró¿nicowanie prewencyjne. Dowiesz siê, w jaki sposób porównywaæ pliki, biblioteki i programy oraz jakie informacje mo¿na w ten sposób uzyskaæ. • Typowe algorytmy szyfruj¹ce. Twoje zaszyfrowane dane i twoje zaszyfrowane • S³aby punkt: ³añcuchy formatuj¹ce. Jedna z najnowszych technik w³amañ: w³amania z u¿yciem ³añcuchów formatuj¹cych. • Bezpieczne tunele. Naucz siê tworzyæ bezpieczne tunele s³u¿¹ce do przesy³ania • Zabezpiecz swój sprzêt. Hardware tak¿e mo¿e stanowiæ s³aby punkt. Poznaj has³a — czy s¹ rzeczywiġcie bezpieczne? danych i rozpoznawaæ u¿ytkownika przy u¿yciu OpenSSH. techniki w³amañ sprzêtowych. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Ryan Russell chce Ci przekazaæ wa¿ne przes³anie: „To, o czym nie wiesz, stanowi dla Ciebie zagro¿enie . W swojej ksi¹¿ce przekazuje praktyczn¹ wiedzê o technikach w³amañ do systemów, technikach, które mog¹ byæ wykorzystane tak¿e przeciwko Tobie” — Kevin Mitnick. Spis treści Podziękowania...................................................n................................................. 11 Współautorzy...................................................n...................................................n 13 Słowo wstępne, wersja 1.5 ...................................................n.............................. 17 Słowo wstępne, wersja 1.0 ...................................................n.............................. 21 Rozdział 1. Włamywacz — któż to taki?...................................................n.......... 23 Wprowadzenie...................................................n...................................................n.............23 Co rozumiemy pod pojęciem „włamania”? ...................................................n...................23 Jaki jest cel włamywania?...................................................n........................................24 Czego należy się spodziewać po zawartości tej książki?..................................................25 Klimat i uwarunkowania prawne towarzyszące działalności hakerów.............................27 Podsumowanie ...................................................n...................................................n............29 Najczęściej zadawane pytania (FAQ) ...................................................n............................29 Rozdział 2. Reguły bezpieczeństwa ...................................................n................. 31 Wprowadzenie...................................................n...................................................n.............31 Znaczenie znajomości zasad bezpieczeństwa ...................................................n................32 Zabezpieczenia po stronie klienta są nieskuteczne ...................................................n........33 Strony komunikacji nie mogą bezpiecznie wymieniać klucnzy kryptograficznych bez dostępu do pewnej wspólnej informacji...................................................n................34 Nie można całkowicie zabezpieczyć się przed szkodliwym kodem .................................37 Każdy szkodliwy kod może zostać przekształcony w celu nuniemożliwienia jego detekcji na podstawie sygnatury ...................................................n..........................39 Zapory sieciowe nie stanowią pełnego zabezpieczenia przed atakami.............................41 Inżynieria społeczna...................................................n.................................................43 Ataki na serwery publiczne...................................................n......................................43 Bezpośredni atak na zaporę sieciową ...................................................n......................44 Luki po stronie klienta ...................................................n.............................................45 Każdy system wykrywania włamań (IDS) może zostać oszukany ...................................45 Tajne algorytmy kryptograficzne nie są bezpieczne ...................................................n......47 Szyfrowanie bez klucza nie jest szyfrowaniem — jest kodowaniem ...............................49 Hasła przechowywane po stronie klienta nie są bezpieczne, chyba że chroni je inne hasło ....50 System aspirujący do miana bezpiecznego musi być poddanny niezależnemu audytowi bezpieczeństwa ...................................................n.....................53 Zabezpieczanie przez ukrywanie jest nieskuteczne ...................................................n.......55 Podsumowanie ...................................................n...................................................n............56 Zagadnienia w skrócie...................................................n...................................................n.57 Najczęściej zadawane pytania (FAQ) ...................................................n............................59 4 Hack Proofing Your Network. Edycja polska Rozdział 3. Klasy ataków...................................................n................................ 61 Wprowadzenie...................................................n...................................................n.............61 Klasyfikacja ataków ...................................................n...................................................n....61 Odmowa obsługi ...................................................n...................................................n...62 Wyciek informacji ...................................................n...................................................n70 Dostęp do systemu plików ...................................................n.......................................75 Dezinformacja...................................................n...................................................n.......77 Dostęp do plików specjalnych i baz danych ...................................................n............81 Zdalne uruchomienie kodu ...................................................n......................................84 Rozszerzanie uprawnień ...................................................n..........................................86 Metody testowania systemów pod kątem luk w zabezpieczeniach...................................88 Dowód istnienia luki ...................................................n................................................88 Standardowe techniki analizy ...................................................n..................................92 Podsumowanie ...................................................n...................................................n..........100 Zagadnienia w skrócie...................................................n..................................................102 Najczęściej zadawane pytania (FAQ) ...................................................n..........................103 Rozdział 4. Metodologia ...................................................n............................... 105 Wprowadzenie...................................................n...................................................n...........105 Metodologie analizy luk w zabezpieczeniach...................................................n..............106 Analiza kodu źródłowego ...................................................n......................................106 Analiza kodu binarnego ...................................................n.........................................109 Znaczenie przeglądu kodu źródłowego...................................................n........................110 Wyszukiwanie niebezpiecznych funkcji...................................................n................110 Techniki inżynierii wstecznej...................................................n.......................................116 Deasemblery, dekompilatory, debuggery ...................................................n..............121 Czarne skrzynki...................................................n...................................................n.........125 Układy elektroniczne ...................................................n.............................................126 Podsumowanie ...................................................n...................................................n..........127 Zagadnienia w skrócie...................................................n..................................................128 Najczęściej zadawane pytania (FAQ) ...................................................n..........................129 Rozdział 5. Różnicowanie ...................................................n............................. 131 Wprowadzenie...................................................n...................................................n...........131 Na czym polega różnicowanie?...................................................n....................................131 Po co porównywać? ...................................................n...............................................134 Zaglądanie w kod źródłowy...................................................n...................................135 Narzędzia automatyzujące porównywanie plików...................................................n.......140 Narzędzia porównujące pliki ...................................................n.................................141 Edytory szesnastkowe...................................................n............................................143 Narzędzia monitorujące system plików ...................................................n.................146 W poszukiwaniu innych narzędzi ...................................................n..........................151 Utrudnienia...................................................n...................................................n................152 Sumy kontrolne i skróty...................................................n.........................................153 Kompresja i szyfrowanie ...................................................n.......................................154 Podsumowanie ...................................................n...................................................n..........155 Zagadnienia w skrócie...................................................n..................................................156 Najczęściej zadawane pytania (FAQ) ...................................................n..........................157 Rozdział 6. Kryptografia...................................................n................................ 159 Wprowadzenie...................................................n...................................................n...........159 Podstawy kryptografii ...................................................n..................................................160 Historia...................................................n...................................................n................160 Rodzaje kluczy szyfrujących ...................................................n.................................160 Standardowe algorytmy kryptograficzne ...................................................n.....................162 Algorytmy symetryczne...................................................n.........................................162 Algorytmy asymetryczne ...................................................n.......................................166 Spis treści 5 Metoda pełnego przeglądu ...................................................n...........................................168 Pełny przegląd — podstawy ...................................................n..................................169 Wykorzystanie metody pełnego przeglądu do odgadywania haseł ..........................170 Niewłaściwe zastosowanie poprawnych algorytmów...................................................n..173 Niepoprawna wymiana kluczy...................................................n...............................174 Generowanie skrótów z fragmentów informacji...................................................n....175 Korzystanie z krótkich haseł do generowania długich kluczy..................................176 Nieprawidłowe przechowywanie kluczy tajnych i prywatnych ...............................176 Amatorskie próby kryptograficzne...................................................n...............................178 Klasyfikacja szyfrogramu ...................................................n......................................178 Szyfry monoalfabetyczne...................................................n.......................................180 Inne sposoby ukrywania informacji...................................................n.......................181 Podsumowanie ...................................................n...................................................n..........186 Zagadnienia w skrócie...................................................n..................................................187 Najczęściej zadawane pytania (FAQ) ...................................................n..........................188 Rozdział 7. Nieoczekiwane dane wejściowe...................................................n... 191 Wprowadzenie...................................................n...................................................n...........191 Dlaczego nieoczekiwane dane wejściowe stanowią zagrożenie .....................................192 Identyfikacja sytuacji zagrożonych nieoczekiwanymi danymi.......................................193 Aplikacje i narzędzia lokalne...................................................n.................................193 HTTP i HTML ...................................................n...................................................n....193 Nieoczekiwane dane w zapytaniach SQL...................................................n..............196 Uwierzytelnianie aplikacji ...................................................n.....................................199 Kamuflaż...................................................n...................................................n.............203 Techniki wyszukiwania i eliminacji luk...................................................n.......................205 Testowanie metodą czarnej skrzynki ...................................................n.....................205 Korzystanie ze źródeł...................................................n.............................................209 Filtracja — odkażanie danych ...................................................n...............................210 Oznaczanie znaków specjalnych nie zawsze wystarcza ...........................................210 Perl ...................................................n...................................................n......................211 Cold Fusion (Cold Fusion Markup Language) ...................................................n......212 ASP ...................................................n...................................................n.....................212 PHP ...................................................n...................................................n.....................213 Ochrona zapytań SQL...................................................n............................................213 Usuwać po cichu czy informować o błędnych danych? ...........................................214 Funkcja obsługi niepoprawnych danych...................................................n................215 Zastępowanie żetonami...................................................n..........................................215 Korzystanie z zabezpieczeń oferowanych przez języki programowania ........................216 Perl ...................................................n...................................................n......................216 PHP ...................................................n...................................................n.....................217 ColdFusion (Cold Fusion Markup Language) ...................................................n.......218 ASP ...................................................n...................................................n.....................218 MySQL ...................................................n...................................................n...............219 Narzędzia związane z nieoczekiwanymi danymi wejściowymi .....................................219 Web Sleuth...................................................n...................................................n..........219 CGIAudit...................................................n...................................................n.............219 RATS ...................................................n...................................................n..................220 Flawfinder ...................................................n...................................................n...........220 Retina ...................................................n...................................................n..................220 Hailstorm...................................................n...................................................n.............220 Pudding ...................................................n...................................................n...............220 Podsumowanie ...................................................n...................................................n..........221 Zagadnienia w skrócie...................................................n..................................................221 Najczęściej zadawane pytania (FAQ) ...................................................n..........................223 6 Hack Proofing Your Network. Edycja polska Rozdział 8. Przepełnienie bufora...................................................n.................... 225 Wprowadzenie...................................................n...................................................n...........225 Działanie stosu ...................................................n...................................................n..........225 Obraz stosu...................................................n...................................................n..........229 Osobliwości stosu ...................................................n..................................................229 Ramka stosu ...................................................n...................................................n..............230 Wprowadzenie do ramki stosu...................................................n...............................230 Przykładowy program: przekazywanie parametrów do funkcji ...............................231 Ramki stosu i konwencje wywołania funkcji ...................................................n........235 Podstawowe techniki przepełnienia bufora...................................................n..................236 Przykładowy program: niekontrolowane przepełnienie bufora................................237 Pierwsze samodzielne przepełnienie bufora ...................................................n................241 Utworzenie programu podatnego na atak wykorzystujący przepełnienie bufora.....241 Atak...................................................n...................................................n.....................244 Przepełnienie bufora — techniki zaawansowane...................................................n.........271 Filtrowanie danych wejściowych...................................................n...........................272 Nadpisanie wskaźnika funkcji przechowywanego na stosie ....................................274 Przepełnienia sterty...................................................n................................................275 Konstruowanie ładunku — zagadnienia zaawansowane ................................................278 Korzystać z posiadanego...................................................n........................................278 Podsumowanie ...................................................n...................................................n..........281 Zagadnienia w skrócie...................................................n..................................................282 Najczęściej zadawane pytania (FAQ) ...................................................n..........................284 Rozdział 9. Ciągi formatujące ...................................................n....................... 287 Wprowadzenie...................................................n...................................................n...........287 Istota błędów ciągów formatujących...................................................n............................289 Gdzie i dlaczego występują błędy ciągów formatujących? ......................................292 Jak wyeliminować te błędy? ...................................................n..................................294 W jaki sposób ciągi formatujące są wykorzystywane przez włamywaczy?.............294 Przebieg ataków z użyciem ciągów formatujących ..................................................298 Co nadpisywać ...................................................n...................................................n....301 Analiza podatnego programu ...................................................n.......................................302 Testowanie wykorzystujące przypadkowe ciągi formatujące.........................................305 Atak z użyciem ciągu formatującego ...................................................n...........................308 Podsumowanie ...................................................n...................................................n..........316 Zagadnienia w skrócie...................................................n..................................................317 Najczęściej zadawane pytania (FAQ) ...................................................n..........................318 Rozdział 10. Monitorowanie komunikacji (sniffing) ............................................. 321 Wprowadzenie...................................................n...................................................n...........321 Istota monitorowania...................................................n...................................................n.322 Sposób działania ...................................................n...................................................n.322 Przedmiot monitorowania ...................................................n............................................323 Zdobywanie danych uwierzytelniających...................................................n..............323 Przechwytywanie innych danych ruchu w sieci ...................................................n....328 Popularne programy służące do monitorowania ...................................................n..........329 Ethereal ...................................................n...................................................n...............329 Network Associates Sniffer Pro...................................................n.............................330 NT Network Monitor ...................................................n.............................................332 WildPackets ...................................................n...................................................n........333 TCPDump ...................................................n...................................................n...........334 dsniff ...................................................n...................................................n...................334 Ettercap ...................................................n...................................................n...............337 Esniff.c ...................................................n...................................................n................337 Sniffit ...................................................n...................................................n..................337 Spis treści 7 Carnivore...................................................n...................................................n.............339 Dodatkowe zasoby ...................................................n.................................................341 Zaawansowane techniki monitorowania ...................................................n......................341 Ataki typu man-in-the-middle (MITM) ...................................................n.................341 Łamanie...................................................n...................................................n...............342 Sztuczki związane z przełącznikami...................................................n......................342 Zmiany wyboru tras ...................................................n...............................................343 Interfejsy API systemów operacyjnych...................................................n........................344 Linux ...................................................n...................................................n...................344 BSD...................................................n...................................................n.....................346 libpcap...................................................n...................................................n.................346 Windows ...................................................n...................................................n.............348 Ochronne środki zaradcze ...................................................n............................................349 Zapewnianie szyfrowania ...................................................n......................................349 Secure Sockets Layers (SSL)...................................................n.................................350 PGP and S/MIME ...................................................n..................................................351 Przełączanie ...................................................n...................................................n........351 Stosowanie technik wykrywania...................................................n..................................351 Wykrywanie lokalne ...................................................n..............................................351 Wykrywanie sieciowe...................................................n............................................352 Podsumowanie ...................................................n...................................................n..........354 Zagadnienia w skrócie...................................................n..................................................355 Najczęściej zadawane pytania (FAQ) ...................................................n..........................357 Rozdział 11. Przejmowanie sesji ...................................................n..................... 359 Wprowadzenie...................................................n...................................................n...........359 Istota przejmowania sesji ...................................................n.............................................359 Przejmowanie sesji TCP ...................................................n........................................361 Przejmowanie sesji TCP z blokowaniem pakietów ..................................................362 Przejmowanie datagramów UDP...................................................n...........................365 Przegląd dostępnych narzędzi ...................................................n......................................366 Juggernaut ...................................................n...................................................n...........367 Hunt...................................................n...................................................n.....................370 Ettercap ...................................................n...................................................n...............373 SMBRelay...................................................n...................................................n...........378 Programy nadzoru zakłóceń...................................................n...................................378 Ataki typu MITM w przypadku komunikacji szyfrowanej.............................................381 Ataki typu man-in-the-middle...................................................n................................382 Dsniff ...................................................n...................................................n..................383 Inne formy przejmowania ...................................................n......................................383 Podsumowanie ...................................................n...................................................n..........385 Zagadnienia w skrócie...................................................n..................................................385 Najczęściej zadawane pytania...................................................n......................................387 Rozdział 12. Podrabianie (spoofing): ataki na wiarygodną tożsamość.................. 389 Wprowadzenie...................................................n...................................................n...........389 Istota podrabiania ...................................................n...................................................n......389 Podrabianie jako fałszowanie tożsamości...................................................n..............390 Podrabianie jako atak aktywny ...................................................n..............................390 Możliwość podrabiania na poziomie wszystkich warstw komunikacji....................390 Podrabianie jako atak zawsze zamierzony...................................................n.............391 Różnice pomiędzy podrabianiem a zdradą ...................................................n............393 Podrabianie jako nie zawsze szkodliwe działanie ...................................................n.393 Podrabianie jako nienowa idea ...................................................n..............................394 Rys teoretyczny ...................................................n...................................................n.........394 Znaczenie tożsamości ...................................................n............................................395 8 Hack Proofing Your Network. Edycja polska Ewolucja zaufania ...................................................n...................................................n.....396 Asymetryczne podpisy wśród ludzi ...................................................n.......................396 Określanie tożsamości w sieciach komputerowych ...................................................n.....398 Powrót do nadawcy...................................................n................................................399 Na początku była… transmisja ...................................................n..............................400 Wezwania do przedstawienia uprawnień ...................................................n.....................400 Metodologie konfiguracji: tworzenie indeksu zaufanych uprawnień.......................413 Podrabianie w przypadku maszyn stacjonarnych...................................................n.........415 Plaga aplikacji wykonujących automatyczne aktualizacje .......................................415 Wpływ ataków podrabiania...................................................n..........................................417 Wyrafinowane metody podrabiania i sabotaż ekonomiczny ....................................418 „Brudna robota” — planowanie systemów podrabiania .................................................428 Tworzenie routera szkieletowego w obszarze użytkowników..................................428 Fałszowanie łączności poprzez asymetryczne zapory sieciowe ...............................447 Podsumowanie ...................................................n...................................................n..........454 Zagadnienia w skrócie...................................................n..................................................456 Najczęściej zadawane pytania...................................................n......................................459 Rozdział 13. Tunelowanie ...................................................n............................... 463 Wprowadzenie...................................................n...................................................n...........463 Strategiczne ograniczenia projektów tuneli ...................................................n.................465 Poufność: dokąd zmierzają moje dane?...................................................n.................467 Możliwość routowania: którędy mogą przejść dane?...............................................467 Możliwość wdrożenia: jak trudno wszystko zbudować i uruchomić?......................468 Elastyczność: w jakim celu można system wykorzystać? ........................................469 Jakość: jak kłopotliwe będzie utrzymywanie systemu w ruchu?..............................471 Projektowanie całościowych systemów tunelowania ...................................................n..472 „Drążenie” tuneli za pomocą SSH...................................................n.........................473 Uwierzytelnianie ...................................................n...................................................n.......477 Dostęp podstawowy: uwierzytelnianie przez hasło ..................................................477 Dostęp przezroczysty: uwierzytelnianie za pomocą klucza prywatnego..................478 Przekazywanie poleceń: bezpośrednie wykonywanie skryptów i używanie potoków.......483 Przekazywanie portów: dostęp do zasobów odległych sieci...........................................488 Lokalne przekazywanie portów ...................................................n.............................488 Dynamiczne przekazywanie portów ...................................................n......................490 Zdalne przekazywanie portów ...................................................n...............................498 Przechodzenie przez oporną sieć...................................................n..................................500 Dostęp do serwerów pośredniczących przez ProxyCommands................................500 Zamienianie swojego ruchu ...................................................n...................................503 Ograniczone uwierzytelnianie wobec ufortyfikowanej stacji bazowej ....................504 Eksportowanie dostępu SSHD...................................................n...............................506 Wzajemne łączenie maszyn umieszczonych za zaporami sieciowymi.....................508 Dalsze działania...................................................n...................................................n.........510 Standardowy transfer plików przez SSH ...................................................n...............510 Przyrostowy transfer plików przez SSH ...................................................n................512 Wypalanie płyt CD przez SSH ...................................................n..............................514 Przesyłanie danych audio przez TCP i SSH ...................................................n..........516 Podsumowanie ...................................................n...................................................n..........520 Zagadnienia w skrócie...................................................n..................................................522 Najczęściej zadawane pytania...................................................n......................................527 Rozdział 14. Włamania sprzętowe ...................................................n................... 529 Wprowadzenie...................................................n...................................................n...........529 Istota włamań sprzętowych ...................................................n..........................................530 Otwieranie urządzenia: ataki na obudowę i mechaniczne ..............................................530 Rodzaje mechanizmów zabezpieczających ...................................................n...........532 Interfejsy zewnętrzne ...................................................n.............................................537 Spis treści 9 Analiza protokołów...................................................n................................................538 Zakłócenia elektromagnetyczne i wyładowania elektrostatyczne ............................540 Analiza wewnętrznej budowy produktu: ataki na obwody elektryczne..........................541 Inżynieria wsteczna urządzenia ...................................................n.............................541 Podstawowe techniki: typowe formy ataku ...................................................n...........542 Techniki zaawansowane: usuwanie warstwy żywicy epoksyndowej oraz rozmywanie obudowy układu scalonego...................................................n.....546 Kryptoanaliza i metody zaciemniania...................................................n....................548 Potrzebne narzędzia...................................................n...................................................n...550 Zestaw początkowy...................................................n................................................550 Zestaw zaawansowany...................................................n...........................................551 Przykład: włamanie do nośnika danych uwierzytelniających iButton............................553 Eksperymentowanie z urządzeniem...................................................n.......................553 Inżynieria wsteczna odpowiedzi „losowej” ...................................................n...........554 Przykład: włamanie do akceleratora E-commerce NetStructure 7110 Accelerator........556 Otwarcie urządzenia...................................................n...............................................557 Pobranie systemu plików ...................................................n.......................................557 Inżynieria wsteczna generatora haseł...................................................n.....................560 Podsumowanie ...................................................n...................................................n..........561 Zagadnienia w skrócie...................................................n..................................................562 Najczęściej zadawane pytania (FAQ) ...................................................n..........................564 Rozdział 15. Wirusy, robaki i konie trojańskie ...................................................n. 567 Wprowadzenie...................................................n...................................................n...........567 Różnice pomiędzy wirusami, robakami oraz końmi trojańskimi....................................567 Wirusy...................................................n...................................................n.................568 Robaki ...................................................n...................................................n.................569 Makrowirusy ...................................................n...................................................n.......569 Konie trojańskie ...................................................n...................................................n..570 Żarty...................................................n...................................................n....................571 Anatomia wirusa ...................................................n...................................................n.......571 Propagacja...................................................n...................................................n...........572 Treść zasadnicza ...................................................n...................................................n.573 Inne wybiegi...................................................n...................................................n........574 Kwestie wieloplatformowości...................................................n......................................575 Java ...................................................n...................................................n.....................575 Makrowirusy ...................................................n...................................................n.......576 Rekompilacja ...................................................n...................................................n......576 Shockwave Flash ...................................................n...................................................n576 Fakty, którymi należy się martwić ...................................................n...............................576 Robak Morris ...................................................n...................................................n......577 ADMw0rm...................................................n...................................................n..........577 Melissa oraz I Love You...................................................n........................................577 Robak Sadmind...................................................n...................................................n...582 Robaki Code Red ...................................................n...................................................n583 Robak Nimda ...................................................n...................................................n......584 Tworzenie własnego złośliwego kodu ...................................................n.........................586 Nowe metody dostarczania ...................................................n....................................586 Metody szybszej propagacji...................................................n...................................587 Inne przemyślenia na temat tworzenia nowych odmian złośliwego kodu................588 Sposoby zabezpieczeń przed złośliwym oprogramowaniem ..........................................589 Oprogramowanie antywirusowe ...................................................n............................589 Uaktualnienia i programy korygujące...................................................n....................590 Bezpieczeństwo przeglądarki internetowej...................................................n............591 Badania antywirusowe ...................................................n...........................................591 10 Hack Proofing Your Network. Edycja polska Podsumowanie ...................................................n...................................................n..........592 Zagadnienia w skrócie...................................................n..................................................592 Najczęściej zadawane pytania (FAQ) ...................................................n..........................594 Rozdział 16. Pokonywanie systemów wykrywania włamań .................................. 595 Wprowadzenie...................................................n...................................................n...........595 Istota działania systemów wykrywania włamań opartych na sygnaturach .....................595 Określanie wyników fałszywie pozytywnych i negatywnych ..................................598 Przeciążanie alarmami ...................................................n...........................................598 Wykorzystanie metod pokonywania na poziomie pakietów...........................................599 Opcje nagłówka IP...................................................n.................................................601 Fragmentacja pakietu IP ...................................................n........................................601 Nagłówek TCP...................................................n...................................................n....603 Synchronizacja TCP...................................................n...............................................604 Wykorzystanie pakietów Fragrouter oraz Congestant..............................................606 Środki zaradcze...................................................n...................................................n...608 Wykorzystanie metod pokonywania w protokołach warstwy aplikacji..........................609 Bezpieczeństwo jako refleksja...................................................n...............................609 Unikanie dopasowania ...................................................n...........................................610 Techniki ataku z poziomu sieci WWW ...................................................n.................611 Środki zaradcze...................................................n...................................................n...612 Wykorzystanie metod pokonywania poprzez morfingu kodu.........................................612 Podsumowanie ...................................................n...................................................n..........615 Zagadnienia w skrócie...................................................n..................................................616 Najczęściej zadawane pytania (FAQ) ...................................................n..........................617 Rozdział 17. Zautomatyzowane badanie systemów zabezpieczeń oraz narzędzia ataku ...................................................n................... 619 Wprowadzenie...................................................n...................................................n...........619 Podstawowe wiadomości na temat narzędzi zautomatyzowanych .................................620 Narzędzia komercyjne ...................................................n...........................................623 Narzędzia darmowe ...................................................n...............................................628 Wykorzystanie narzędzi zautomatyzowanych do celów testowania penetracyjnego .....631 Testowanie za pomocą narzędzi komercyjnych ...................................................n....632 Testowanie za pomocą narzędzi darmowych ...................................................n........635 Kiedy narzędzia nie wystarczą...................................................n.....................................638 Nowe oblicze testowania luk systemów zabezpieczeń.............................................639 Podsumowanie ...................................................n...................................................n..........640 Zagadnienia w skrócie...................................................n..................................................641 Najczęściej zadawane pytania (FAQ) ...................................................n..........................642 Rozdział 18. Raportowanie o problemach związanych z bezpieczeństwem............ 643 Wprowadzenie...................................................n...................................................n...........643 Zasadność raportowania o problemach związanych z bezpieczeństwem .......................644 Ujawnienie zupełne...................................................n................................................645 Określanie terminu przesłania oraz adresata raportu o problemie ..................................648 Określanie adresata raportów o problemach...................................................n..........648 Określanie szczegółowości przekazywanych informacji................................................651 Publikowanie kodu wykorzystującego lukę...................................................n...........652 Problemy ...................................................n...................................................n.............653 Podsumowanie ...................................................n...................................................n..........655 Zagadnienia w skrócie...................................................n..................................................656 Najczęściej zadawane pytania (FAQ) ...................................................n..........................657 Skorowidz...................................................n...................................................n... 661 Rozdział 9. Ciągi formatujące Wprowadzenie Na początku lata 2000 roku świat bezpieczeństwa komputerowego został brutalnie powiadomiony o istnieniu nowego typu luk w oprogramowaniu. Ta podklasa luk, znana jako błędy ciągów formatujących, została przedstawiona szerokiej publiczności 23 czerw- ca 2000 roku, wraz z przesłaniem na listę dystrybucyjną Bugtraq exploita demona usłu- gi FTP o nazwie WU-FTPD (Washington University FTP Daemon). Atak wykorzystu- jący opublikowany exploit umożliwiał zdalnemu włamywaczowi uzyskanie dostępu do systemu w trybie administracyjnym na węzłach obsługujących demona WU-FTPD i to z pominięciem jakiegokolwiek uwierzytelniania, o ile konfiguracja serwera dopuszczała anonimowe transmisje FTP (co jest w przypadku większości systemów opcją domyśl- ną). Atak był groźny, ponieważ serwery WU-FTPD były powszechnie stosowanymi serwerami FTP w Internecie. Ale główną przyczyną szoku świata komputerowego nie była bynajmniej świadomość, że w Internecie działały dziesiątki tysięcy węzłów podatnych na ataki umożliwiające uzyskanie dostępu zdalnego i przejęcie całkowitej kontroli nad systemem. Prawdziwym powodem była natura samej luki i jej powszechność w oprogramowaniu komputero- wym dowolnego przeznaczenia. Świat ujrzał więc zupełnie nową metodę wykorzysty- wania błędów programistycznych uważanych wcześniej za mało znaczące. Zademon- strowano, że możliwe są ataki wykorzystujące błędy ciąkgów formatujących. Luka związana z ciągiem formatującym pojawia się wówczas, gdy programista prze- kazuje dane pobrane z zewnątrz do funkcji RTKPVH jako parametr definiujący postać ciągu formatującego funkcji (lub jego fragmentu). W przypadku WU-FTPD parametr po- lecenia SITE EXEC protokołu FTP był przekazywany bezpośrekdnio do funkcji RTKPVH . Trudno było o lepszy zarys koncepcji ataku: atakujący mógł natychmiast i automatycz- nie pozyskać uprawnienia administracyjne na podatnych węzłach. 288 Hack Proofing Your Network. Edycja polska Wieści z podziemia… Błędy ciągów formatujących kontra błędy przepełnienia bufoora Z pozoru oba rodzaje błędów są bardzo podobne. Nietrudno więc zaklasyfikować je do tej samej kategorii luk w zabezpieczeniach. Choć w obu przypadkach efektem ata- ku może być nadpisanie wskaźnika funkcji i zmiana przepływu sterowania programu, problem ciągów formatujących różni się od problemu przepełnienia bufora w sposób zasadniczy. W przypadku luki wynikającej z błędu przepełnienia bufora błąd w oprogramowaniu polega na tym, że wrażliwa funkcja, taka jak kopiowanie bloków pamięci, przyjmuje rozmiar zewnętrznego, niekontrolowanego przez aplikację źródła danych jako ograni- czenie operacji kopiowania. Przykładowo, większość błędów przepełnienia bufora wynika z zastosowania funkcji bibliotecznej języka C kopiującej ciągi znakowe. W ję- zyku C ciągi znakowe reprezentowane są przez zmiennej długości tablice bajtów za- kończone bajtem zerowym. Funkcja UVTER[ (od ang. string copy) wchodząca w skład biblioteki standardowej języka C kopiuje kolejne bajty ciągu źródłowego do wskazane- go bufora docelowego; operacja kopiowania zatrzymywana jest w momencie napo- tkania w ciągu źródłowym bajtu zerowego. Jeżeli ciąg ten jest podawany z zewnątrz i ma długość większą od rozmiaru bufora docelowego, funkcja UVTER[ nadpisze również obszar pamięci sąsiadujący z buforem docelowym — aż do skopiowania ostatniego bajtu ciągu źródłowego. Atak wykorzystujący przepełnienie bufora opiera się na możliwości nadpisania przez atakującego danych krytycznych dla dalszego działania programu (przechowywanych w sąsiedztwie bufora docelowego) własnymi danymi, przekazanymi do operacji kopiowania. W przypadku błędów ciągów formatujących problem polega na tym, że pobierane z ze- wnątrz dane włączane są do parametru definiującego ciąg formatujący funkcji. Należy to traktować jako błąd walidacji danych wejściowych, nie mający nic wspólnego z błę- dami polegającymi na przekroczeniu rozmiaru bufora docelowego operacji kopiowania. Hakerzy wykorzystują błędy ciągów formatujących w celu zapisania określonych war- tości w konkretnych obszarach pamięci. W przypadku ataków przepełniających bufor atakujący nie może dowolnie wybrać obszaru docelowedgo dla danych wejściowych. Innym źródłem nieporozumień jest to, że błędy ciągów formatujących i błędy przepeł- nienia bufora mogą występować równocześnie, kiedy w programie wykorzystywana jest funkcja URTKPVH . Aby zrozumieć różnicę pomiędzy tymi błędami, ważne jest uświa- domienie sobie sposobu działania funkcji URTKPVH . Funkcja ta umożliwia programi- ście utworzenie sformatowanego (na podobieństwo formatu ciągów funkcji RTKPVH ) ciągu znakowego i umieszczenie go w buforze. Błąd przepełnienia bufora występuje wówczas, gdy utworzony ciąg jest dłuższy od docelowego bufora. Jest to zwykle rezul- tatem zastosowania w ciągu specyfikatora U, który powoduje umieszczenie w danym miejscu konstruowanego ciągu innego ciągu znakowego, zakończonego bajtem zero- wym. Jeżeli zmienna wprowadzana w miejsce specyfikatora U jest pobierana z zewnątrz i nie jest obcinana do pewnego rozmiaru, może spowodować rozciągnięcie tworzonego ciągu tak, że nie będzie się on mieścił w buforze docelowym. Luki spowodowane niewłaściwym zastosowaniem funkcji URTKPVH wynikają z czego innego — z inter- pretowania danych pobieranych spoza aplikacji jako fdragmentu ciągu formatującego. Zanim exploit ujrzał światło dzienne, błędy związane z ciągami formatującymi uważane były za co najwyżej złą aczkolwiek nieszkodliwą praktykę programistyczną — nie- eleganckie uproszczenie wynikające z pośpiechu — słowem nic, co mogłoby zagrażać bezpieczeństwu. Do tej pory błąd tego rodzaju mógł w najgorszym razie spowodować Rozdział 9. ♦ Ciągi formatujące 289 załamanie demona usługi, równoznaczne z atakiem odmowy obsługi. Światek ludzi zwią- zanych z zabezpieczeniami dostał nauczkę. Błędy te przyczyniły się do zaatakowania nie- zliczonej liczby serwerów sieciowych. Jak już wspomniano, luki związane z ciągami formatującymi zostały ujawnione po raz pierwszy w czerwcu 2000 roku. Exploit WU-FTPD został napisany przez osobnika zna- nego pod pseudonimem tf8 i był datowany 15 października 1999. Przy założeniu, że dzię- ki temu exploitowi niektórzy hakerzy uświadomili sobie rolę niepoprawnego wykorzysta- nia ciągów formatujących, mieli oni ponad 8 miesięcy na opracowanie i napisanie kodu exploitów wymierzonych w inne oprogramowanie, niekoniecznie w serwery WU-FTPD. To zresztą tylko ostrożne szacunki, oparte na założeniu, że opublikowany exploit de- mona WU-FTPD był pierwszym tego rodzaju atakiem. Nie ma jednak na to żadnych dowodów; komentarze, którymi opatrzony był exploit nie wskazywały bynajmniej, aby autor odkrył nową metodę ataków. Krótko po ujawnieniu słabości wynikających z błędnego stosowania ciągów forma- tujących pojawiło się kilka exploitów atakujących innego typu aplikacje. W czasie pisa- nia tej książki opublikowano już dziesiątki scenariuszy ataków wykorzystujących cią- gi formatujące. Należy do tej liczby dodać nieznaną likczbę ataków nieujawnionych. Według oficjalnej klasyfikacji błędy ciągów formatujących nie zasługują na wydzielenie dla nich osobnej kategorii i plasowane są wśród pozostałych błędów programistycznych, takich jak błędy przepełnienia bufora czy hazard wykonania. Błędy ciągów formatują- cych można zakwalifikować jako błędy walidacji danych wejściowych; zasadniczo są one skutkiem nadmiernej wiary programistów w poprawność danych pochodzących spoza aplikacji i przekazywania tych danych jako parametrów definiujących ciąg formatują- cy funkcji operującej na ciągach znakowych. W tym rozdziale Czytelnik zostanie wprowadzony w problematykę błędów ciągów formatujących, zapozna się z ich przyczynami i pozna sposoby ich wykorzystania przez włamywaczy. W rozdziale zaprezentowane zostaną konkretne luki tego rodzaju występujące w rzeczywistych systemach; Czytelnik zapozna się też z procesem przy- gotowywania i przeprowadzania ataku — wykorzystującego ciąg formatujący — na węzeł zdalny. Istota błędów ciągów formatujących Zrozumienie istoty błędów związanych z ciągami formatującymi wiąże się z funkcją RTKPVH i sposobem jej działania. Programiści systemów komputerowych bardzo często stają w obliczu konieczności dynamicznego tworzenia ciągów znakowych. Ciągi te mogą zawierać znakową repre- zentację zmiennych różnego typu; liczba i typ wszystkich zmiennych reprezentowa- nych ciągiem znakowym niekoniecznie muszą być znane programiście na etapie tworzenia kodu źródłowego. Powszechna konieczność dynamicznej i elastycznej kon- strukcji ciągów znakowych i konieczność stosowania procedur formatujących w naturalny 290 Hack Proofing Your Network. Edycja polska sposób zaowocowała opracowaniem rodziny funkcji RTKPVH . Funkcje typu RTKPVH konstruują i umieszczają na wyjściu ciągi znakowe formatowane dynamicznie, w fazie wykonania programu. Funkcje te wchodzą w skład biblioteki standardowej języka C. Podobne funkcje implementowane są również w innych językkach (np. w języku Perl). Funkcje z rodziny RTKPVH pozwalają programiście na tworzenie ciągów znakowych na podstawie ciągu formatującego i zmiennej liczby parametrów. Ciąg formatujący to jakby szkielet przyszłego ciągu, definiujący jego podstawową strukturę oraz rozmiesz- czenie elementów leksykalnych; na podstawie tego ciągu i wartości parametrów funkcja RTKPVH konstruuje ciąg wynikowy. Elementy leksykalne ciągu formatującego okre- ślane są również mianem specyfikatorów formatujących. Oba pojęcia będą stosowane w dalszej części rozdziału. Narzędzia i pułapki… Funkcje rodziny printf() Oto lista standardowego zestawu funkcji z rodziny RTKPVH zdefiniowanego w ramach biblioteki standardowej języka C. Każda z tych funkcji (niewłaściwie stosowana) może stać się ofiarą ataku wykorzystującego błąd ciągu fdormatującego.     RTKPVH funkcja ta umożliwia konstrukcję sformatowanego cidągu znakowego i jego zapis do standardowego strumienia wyjściowegdo programu. HRTKPVH funkcja ta umożliwia konstrukcję sformatowanego cidągu znakowego i jego zapis do wskazanego strumienia plikowego (stdrumienia FILE w rozumieniu biblioteki libc). URTKPVH funkcja ta umożliwia konstrukcję sformatowanego cidągu znakowego i jego zapis do bufora utworzonego w pamięci progradmu. Niepoprawne stosowanie tej funkcji prowadzi często do błędów przepełnieniad bufora. UPRTKPVH funkcja ta umożliwia konstrukcję sformatowanego cidągu znakowego i zapis określonej jego części do bufora utworzonegod w pamięci programu. W kontekście błędów przepełnienia bufora funkcję tę dmożna traktować jako zabezpieczony odpowiednik funkcji URTKPVH . Biblioteka standardowa C zawiera ponadto funkcje XRTKPVH , XHRTKPVH , XURTKPVH oraz XUPRTKPVH . Funkcje te spełniają te same zadania co ich wyżej wymienione od- powiedniki, różniące się od nich tym, że przyjmują na wejście wskaźnik do listy pa- rametrów (nie są one przekazywane przez stos). Zasada działania funkcji RTKPVH może zostać zilustrowana prostym przykładem: KPVOCKP ] KPVKPVGIGT RTKPVH 1VQUMKGNGVRT[UNGIQEKCIWKKPVPGIGT  _ W powyższym przykładowym kodzie programista wywołuje kfunkcję RTKPVH z dwoma parametrami: ciągiem formatującym i zmienną, której znakowa reprezentacja ma zo- stać wstawiona do ciągu wynikowego konstruowanego pkrzez RTKPVH . 1VQUMKGNGVRT[UNGIQEKCIWK Rozdział 9. ♦ Ciągi formatujące 291 Powyższy ciąg formatujący składa się ze statycznej porcji tekstu i symbolu elementu leksykalnego (K), oznaczającego miejsce wstawienia wartości zmiennej. W prezento- wanym przykładzie w wyniku wywołania funkcji do wyświetlanego na ekranie ciągu wynikowego w miejsce specyfikatora K wstawiona zostanie wartość zmiennej KPVGIGT w formacie Base10. Najlepszą ilustracją będzie wydruk prezentujący efekt wykonania przykładowego pro- gramu (pamiętamy, że zmienna KPVGIGT ma wartość 10): =FOC XKEVKOUGTXGT?HQTOCVAGZCORNG 1VQUMKGNGVRT[UNGIQEKCIW Ponieważ funkcja „nie wie” ile parametrów otrzyma, są one odczytywane ze stosu pro- cesu w miarę postępu przetwarzania ciągu formatującego (czyli po napotkaniu kolej- nego specyfikatora formatu), przy czym rozmiar pobieranej ze stosu wartości uzależ- niony jest od określanego specyfikatorem typu danych. W poprzednim przykładzie w ciągu formatującym osadzony został pojedynczy element symbolizujący zmienną ty- pu całkowitego. Funkcja „spodziewa się”, że drugim przekazanym do funkcji para- metrem będzie zmienna korespondująca z elementem K. W komputerach opartych na architekturze Intel 0x86 (ale nie tylko) parametry wywołania funkcji wstawiane są na stos podczas tworzenia ramki stosu dla wywoływanej funkcji. Kiedy funkcja odwołuje się do parametrów wywołania, odwołuje się do danych umieszczonych na stosie po- niżej ramki stosu. W poprzednim akapicie pojawił się termin poniżej; ma on opisywać lokalizację da- nych, które zostały umieszczone na stosie przed umieszczeniem na nim danych, o których powiedzielibyśmy, że znajdują się powyżej. W procesorach Intel 0x86 stos rośnie w dół. Dlatego w tej i podobnych architekturach adres szczytu stosu zmniejsza się w miarę jego rozbudowy. W takich architekturach dane lokalizowane jako umieszczone poniżej innych danych będą miały wyższe od nich adresy. Fakt, że numerycznie wyższe adresy pamięci mogą znajdować się w niższych par- tiach stosu powoduje częste nieporozumienia. Należy zapamiętać, że pozycja na stosie opisyw
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Hack Proofing Your Network. Edycja polska
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: