księgarnia informatyczna aton.pl

Splątana sieć Przewodnik po bezpieczeństwie nowoczesnych aplikacji WWW

Wydawnictwo HELION

Cena:    54.90zł

Splątana sieć Przewodnik po bezpieczeństwie nowoczesnych aplikacji WWW


Autor: Michal Zalewski

ISBN: 978-83-246-4477-3

Ilość stron: 360

Data wydania: 09/2012

Oprawa: Miękka

Format: 170x230

Wydawnictwo: HELION


Dokładna i wyczerpująca analiza, przygotowana przez jednego z najpoważniejszych ekspertów od bezpieczeństwa przeglądarek.

Nowoczesne aplikacje WWW są jak splątany kłębek, złożony z powiązanych wzajemnie technologii, które powstawały w różnym czasie i których współpraca nie przebiega całkiem gładko. Użycie w stosie aplikacji WWW dowolnego elementu - od żądań HTTP, aż po skrypty działające w przeglądarce - pociąga za sobą ważne, choć subtelne konsekwencje związane z bezpieczeństwem. Twórcy aplikacji chcący chronić użytkowników muszą pewnie poruszać się w tym środowisku.

Michał Zalewski, jeden z czołowych ekspertów od bezpieczeństwa przeglądarek, prezentuje w Splątanej sieci porywające objaśnienie metod działania przeglądarek i powodów niedostatecznego poziomu ich bezpieczeństwa. Nie podaje uproszczonych porad dotyczących różnych podatności, ale przegląda cały model bezpieczeństwa i wskazuje jego słabe punkty. Pokazuje też sposoby poprawienia bezpieczeństwa aplikacji WWW.

Z książki dowiesz się, jak:

  • wykonać powszechne, a mimo to bardzo złożone zadania, takie jak parsowanie adresów URL i oczyszczanie kodu HTML
  • używać nowoczesnych funkcji bezpieczeństwa, takich jak Strict Transport Security, Content Security Policy oraz Cross-Origin Resource Sharing
  • wykorzystywać warianty reguły tego samego pochodzenia do bezpiecznego rozdzielania złożonych aplikacji WWW i ochrony danych użytkownika w przypadku wystąpienia błędów XSS
  • tworzyć aplikacje hybrydowe i wstawiać na stronę gadżety bez wpadania w pułapki wynikające z reguł nawigacji w ramkach
  • osadzać na stronie i udostępniać treści tworzone przez użytkowników bez uciekania się do mechanizmów wykrywania rodzajów tych treści

Unikalny podręcznik poświęcony bezpieczeństwu.

Rozdziały:

1. Bezpieczeństwo w świecie aplikacji WWW (19)

  • Podstawy bezpieczeństwa informacji (19)
    • Flirtowanie z rozwiązaniami formalnymi (20)
    • Zarządzanie ryzykiem (22)
    • Oświecenie przez taksonomię (24)
    • Rozwiązania praktyczne (26)
  • Krótka historia sieci WWW (27)
    • Opowieści z epoki kamienia: 1945 do 1994 (27)
    • Pierwsze wojny przeglądarek: 1995 do 1999 (30)
    • Okres nudy: 2000 do 2003 (31)
    • Web 2.0 i drugie wojny przeglądarek: 2004 i później (32)
  • Ewolucja zagrożeń (34)
    • Użytkownik jako problem bezpieczeństwa (34)
    • Chmura, czyli radość życia w społeczności (35)
    • Rozbieżność wizji (36)
    • Interakcje między przeglądarkami: wspólna porażka (37)
    • Rozpad podziału na klienta i serwer (38)

CZĘŚĆ I: ANATOMIA SIECI WWW (41)
2. Wszystko zaczyna się od adresu (43)

  • Struktura adresu URL (44)
    • Nazwa schematu (44)
    • Jak rozpoznać hierarchiczny adres URL? (45)
    • Dane uwierzytelniające dostęp do zasobu (46)
    • Adres serwera (47)
    • Port serwera (48)
    • Hierarchiczna ścieżka do pliku (48)
    • Tekst zapytania (48)
    • Identyfikator fragmentu (49)
    • A teraz wszystko razem (50)
  • Znaki zarezerwowane i kodowanie ze znakiem procenta (52)
    • Obsługa znaków spoza podstawowego zestawu ASCII (54)
  • Typowe schematy adresów URL i ich funkcje (58)
    • Obsługiwane przez przeglądarkę protokoły pobierania dokumentów (59)
    • Protokoły obsługiwane przez aplikacje i wtyczki firm trzecich (59)
    • Pseudoprotokoły niehermetyzujące (60)
    • Pseudoprotokoły hermetyzujące (60)
    • Ostatnia uwaga na temat wykrywania schematów (61)
  • Rozwiązywanie względnych adresów URL (61)
  • Ściąga (64)
    • Podczas tworzenia nowych adresów URL na podstawie danych otrzymanych od użytkownika (64)
    • Podczas projektowania filtrów adresów URL (64)
    • Podczas dekodowania parametrów otrzymanych w adresach URL (64)

3. Protokół HTTP (65)

  • Podstawowa składnia ruchu sieciowego HTTP (66)
    • Konsekwencje utrzymywania obsługi standardu HTTP/0.9 (68)
    • Dziwna obsługa znaków nowego wiersza (69)
    • Żądania proxy (70)
    • Obsługa konfliktujących lub podwójnych nagłówków (72)
    • Wartości nagłówków rozdzielane średnikami (73)
    • Zestaw znaków nagłówka i schematy kodowania (74)
    • Zachowanie nagłówka Referer (76)
  • Typy żądań HTTP (77)
    • GET (77)
    • POST (78)
    • HEAD (78)
    • OPTIONS (78)
    • PUT (79)
    • DELETE (79)
    • TRACE (79)
    • CONNECT (79)
    • Inne metody HTTP (79)
  • Kody odpowiedzi serwera (80)
    • 200 - 299: Sukces (80)
    • 300 - 399: Przekierowanie i inne komunikaty o stanie (80)
    • 400 - 499: Błędy po stronie klienta (81)
    • 500 - 599: Błędy po stronie serwera (82)
    • Spójność sygnałów wynikających z kodów HTTP (82)
  • Sesje podtrzymywane (82)
  • Przesyłanie danych w częściach (84)
  • Pamięć podręczna (85)
  • Semantyka ciasteczek HTTP (87)
  • Uwierzytelnianie HTTP (90)
  • Szyfrowanie na poziomie protokołu i certyfikaty klientów (91)
    • Certyfikaty rozszerzonej kontroli poprawności (93)
    • Reguły obsługi błędów (93)
  • Ściąga (95)
    • Przy obsłudze nazw plików podanych przez użytkownika oraz nagłówków Content-Disposition (95)
    • Przy umieszczaniu danych użytkownika w ciasteczkach HTTP (95)
    • Przy wysyłaniu kontrolowanych przez użytkownika nagłówków Location (95)
    • Przy wysyłaniu kontrolowanych przez użytkownika nagłówków Redirect (95)
    • Przy konstruowaniu innych rodzajów żądań i odpowiedzi kontrolowanych przez użytkownika (96)

4. Język HTML (97)

  • Podstawowe pojęcia używane w dokumentach HTML (98)
    • Tryby parsowania dokumentu (99)
    • Walka o semantykę (101)
  • Poznać zachowanie parsera HTML (102)
    • Interakcje pomiędzy wieloma znacznikami (103)
    • Jawne i niejawne instrukcje warunkowe (104)
    • Przydatne wskazówki do parsowania kodu HTML (105)
  • Kodowanie encji (105)
  • Semantyka integracji HTTP/HTML (107)
  • Hiperłącza i dołączanie treści (108)
    • Proste łącza (109)
    • Formularze i uruchamiane przez nie żądania (109)
    • Ramki (112)
    • Dołączanie treści określonego typu (112)
    • Uwaga dotycząca ataków międzydomenowego fałszowania żądań (114)
  • Ściąga (116)
    • Zasady higieny we wszystkich dokumentach HTML (116)
    • Podczas generowania dokumentów HTML z elementami kontrolowanymi przez atakującego (116)
    • Podczas przekształcania dokumentu HTML w zwykły tekst (117)
    • Podczas pisania filtra znaczników dla treści tworzonych przez użytkownika (117)

5. Kaskadowe arkusze stylów (119)

  • Podstawy składni CSS (120)
    • Definicje właściwości (121)
    • Dyrektywy @ i wiązania XBL (122)
    • Interakcje z językiem HTML (122)
  • Ryzyko ponownej synchronizacji parsera (123)
  • Kodowanie znaków (124)
  • Ściąga (126)
    • Podczas ładowania zdalnych arkuszy stylów (126)
    • Gdy wstawiasz do kodu CSS wartości podane przez atakującego (126)
    • Podczas filtrowania stylów CSS podanych przez użytkownika (126)
    • Gdy umieszczasz w znacznikach HTML wartości klas podane przez użytkownika (127)

6. Skrypty działające w przeglądarce (129)

  • Podstawowe cechy języka JavaScript (130)
    • Model przetwarzania skryptów (131)
    • Zarządzanie wykonaniem kodu (135)
    • Możliwości badania kodu i obiektów (136)
    • Modyfikowanie środowiska uruchomieniowego (137)
    • JSON i inne metody serializacji danych (139)
    • E4X i inne rozszerzenia składni języka (142)
  • Standardowa hierarchia obiektów (143)
    • Model DOM (145)
    • Dostęp do innych dokumentów (148)
  • Kodowanie znaków w skryptach (149)
  • Tryby dołączania kodu i ryzyko zagnieżdżania (150)
  • Żywy trup: Visual Basic (152)
  • Ściąga (153)
    • Podczas ładowania zdalnego skryptu (153)
    • Podczas parsowania danych JSON otrzymanych od serwera (153)
    • Gdy umieszczasz dane przesłane przez użytkownika w blokach JavaScriptu (153)
    • Podczas interakcji z obiektami przeglądarki po stronie klienta (154)
    • Jeżeli chcesz pozwolić na działanie skryptów użytkownika na swojej stronie (154)

7. Dokumenty inne niż HTML (155)

  • Pliki tekstowe (155)
  • Obrazy bitmapowe (156)
  • Audio i wideo (157)
  • Dokumenty związane z formatem XML (158)
    • Ogólny widok XML (159)
    • Format SVG (160)
    • MathML (161)
    • XUL (161)
    • WML (162)
    • Kanały RSS i Atom (163)
  • Uwaga na temat nierysowanych typów plików (163)
  • Ściąga (165)
    • Udostępniając dokumenty w formacie wywiedzionym z XML (165)
    • W przypadku wszystkich typów dokumentów nie-HTML (165)

8. Rysowanie treści za pomocą wtyczek przeglądarki (167)

  • Wywoływanie wtyczki (168)
    • Zagrożenia w obsłudze wartości nagłówka Content-Type we wtyczkach (169)
  • Funkcje wspomagające rysowanie dokumentu (171)
  • Platformy aplikacji wykorzystujące wtyczki (172)
    • Adobe Flash (172)
    • Microsoft Silverlight (175)
    • Sun Java (176)
    • XBAP (177)
  • Kontrolki ActiveX (178)
  • Inne wtyczki (179)
  • Ściąga (181)
    • Gdy udostępniasz pliki obsługiwane za pomocą wtyczek (181)
    • Gdy osadzasz w stronach pliki obsługiwane przez wtyczki (181)
    • Jeżeli chcesz napisać nową wtyczkę dla przeglądarek albo kontrolkę ActiveX (182)

CZĘŚĆ II: FUNKCJE BEZPIECZEŃSTWA PRZEGLĄDAREK (183)
9. Logika izolacji treści (185)

  • Reguła tego samego pochodzenia w modelu DOM (186)
    • document.domain (187)
    • postMessage(...) (188)
    • Interakcje z danymi uwierzytelniającymi (190)
  • Reguła tego samego pochodzenia i API XMLHttpRequest (191)
  • Reguła tego samego pochodzenia w technologii Web Storage (193)
  • Reguły bezpieczeństwa dla ciasteczek (194)
    • Wpływ ciasteczek na regułę tego samego pochodzenia (196)
    • Problemy z ograniczeniami domen (197)
    • Nietypowe zagrożenie wynikające z nazwy "localhost" (198)
    • Ciasteczka i "legalna" kradzież domen (199)
  • Reguły bezpieczeństwa wtyczek (200)
    • Adobe Flash (201)
    • Microsoft Silverlight (204)
    • Java (205)
  • Obsługa dwuznacznego lub nieoczekiwanego pochodzenia (206)
    • Adresy IP (206)
    • Nazwy hostów z dodatkowymi kropkami (207)
    • Nie w pełni kwalifikowane nazwy hostów (207)
    • Pliki lokalne (208)
    • Pseudoadresy URL (209)
    • Rozszerzenia przeglądarek i interfejsu użytkownika (209)
  • Inne zastosowania koncepcji pochodzenia (210)
  • Ściąga (211)
    • Prawidłowa higiena reguł bezpieczeństwa dla wszystkich witryn (211)
    • Gdy używasz ciasteczek HTTP w procesie uwierzytelniania (211)
    • Podczas międzydomenowej komunikacji w skryptach JavaScript (211)
    • Podczas wstawiania na stronę pochodzących z zewnętrznych źródeł aktywnych treści obsługiwanych przez wtyczki (211)
    • Gdy udostępniasz własne treści obsługiwane przez wtyczki (212)
    • Gdy tworzysz własne rozszerzenia dla przeglądarek (212)

10. Dziedziczenie pochodzenia (213)

  • Dziedziczenie pochodzenia dla stron about:blank (214)
  • Dziedziczenie pochodzenia dla adresów data: (216)
  • Dziedziczenie w przypadku adresów javascript: i vbscript: (218)
  • Uwagi na temat ograniczonych pseudoadresów URL (219)
  • Ściąga (221)

11. Życie obok reguły tego samego pochodzenia (223)

  • Interakcje z oknami i ramkami (224)
    • Zmiana lokalizacji istniejących dokumentów (224)
    • Mimowolne umieszczanie w ramkach (228)
  • Międzydomenowe wstawianie treści (232)
    • Uwaga do międzydomenowych podzasobów (235)
  • Kanały poboczne wpływające na prywatność (236)
  • Inne luki w regule SOP i sposoby ich wykorzystania (238)
  • Ściąga (239)
    • Prawidłowa higiena bezpieczeństwa dla wszystkich witryn (239)
    • Gdy włączasz na stronę zasoby z innych domen (239)
    • Gdy tworzysz międzydomenową komunikację w skryptach JavaScript (239)

12. Inne funkcje bezpieczeństwa (241)

  • Nawigowanie do wrażliwych schematów (242)
  • Dostęp do sieci wewnętrznych (243)
  • Porty zakazane (245)
  • Ograniczenia nakładane na ciasteczka stron trzecich (247)
  • Ściąga (250)
    • Podczas tworzenia aplikacji WWW w sieciach wewnętrznych (250)
    • Podczas uruchamiania usług nie-HTTP, w szczególności działających na niestandardowych portach (250)
    • Gdy używasz ciasteczka stron trzecich w różnych gadżetach lub treściach umieszczanych w piaskownicy (250)

13. Mechanizmy rozpoznawania treści (251)

  • Logika wykrywania rodzaju dokumentu (252)
    • Nieprawidłowe typy MIME (253)
    • Wartości dla specjalnych rodzajów treści (254)
    • Nierozpoznane rodzaje treści (256)
    • Ochronne zastosowanie nagłówka Content-Disposition (258)
    • Dyrektywy Content dotyczące podzasobów (259)
    • Pobrane pliki i inne treści nie-HTTP (260)
  • Obsługa zestawów znaków (262)
    • Znacznik kolejności bajtów (264)
    • Dziedziczenie i pokrywanie zestawu znaków (265)
    • Zestaw znaków przypisany znacznikiem do zasobu (266)
    • Wykrywanie zestawu znaków w plikach przesłanych protokołem innym niż HTTP (267)
  • Ściąga (269)
    • Prawidłowe praktyki bezpieczeństwa dla witryn (269)
    • Gdy generujesz dokumenty zawierające treści kontrolowane przez atakującego (269)
    • Gdy przechowujesz pliki wygenerowane przez użytkownika (269)

14. Walka ze złośliwymi skryptami (271)

  • Ataki odmowy świadczenia usługi (DoS) (272)
    • Ograniczenia czasu wykonania i wykorzystania pamięci (273)
    • Ograniczenie liczby połączeń (274)
    • Filtrowanie wyskakujących okienek (275)
    • Ograniczenia użycia okien dialogowych (277)
  • Problemy z wyglądem i pozycją okien (278)
  • Ataki czasowe na interfejs użytkownika (282)
  • Ściąga (285)
    • Gdy umożliwiasz umieszczanie na swojej stronie gadżetów użytkownika zamkniętych w ramkach IFRAME (285)
    • Gdy tworzysz bezpieczne interfejsy użytkownika (285)

15. Uprawnienia witryn (287)

  • Uprawnienia witryn definiowane w przeglądarkach i wtyczkach (288)
    • Z góry zdefiniowane domeny (289)
  • Menedżery haseł (289)
  • Model stref Internet Explorera (291)
    • Mechanizmy mark of the web i Zone.Identifier (294)
  • Ściąga (296)
    • Gdy żądasz podniesienia uprawnień dla aplikacji WWW (296)
    • Gdy tworzysz wtyczki lub rozszerzenia korzystające z uprzywilejowanego pochodzenia (296)

CZĘŚĆ III: SPOJRZENIE W PRZYSZŁOŚĆ (297)
16. Planowane nowe funkcje bezpieczeństwa (299)

  • Metody rozbudowy modelu bezpieczeństwa (300)
    • Żądania międzydomenowe (300)
    • XDomainRequest (304)
    • Inne zastosowania nagłówka Origin (305)
  • Schematy ograniczeń modelu bezpieczeństwa (306)
    • Reguła bezpieczeństwa treści (307)
    • Ramki w piaskownicy (312)
    • Strict Transport Security (314)
    • Tryby przeglądania prywatnego (316)
  • Pozostałe projekty (316)
    • Porządkowanie kodu HTML w przeglądarce (317)
    • Filtrowanie XSS (318)
  • Ściąga (320)

17. Inne mechanizmy przeglądarek (321)

  • Propozycje zmian w adresach URL i protokołach (322)
  • Funkcje na poziomie treści (324)
  • Interfejsy wejścia-wyjścia (326)

18. Typowe podatności sieci WWW (329)

  • Podatności aplikacji WWW (330)
  • Problemy, o których trzeba pamiętać podczas projektowania aplikacji WWW (332)
  • Typowe problemy związane z kodem działającym po stronie serwera (334)
      Cena:    54.90zł


      Splątana sieć Przewodnik po bezpieczeństwie nowoczesnych aplikacji WWWKsiążka informatyczna: Splątana sieć Przewodnik po bezpieczeństwie nowoczesnych aplikacji WWW
      Księgarnia informatyczna aton.pl

      Tutaj możesz kupić tę książkę w dobrej cenie. Zapraszamy na zakupy do naszej księgarni internetowej.