Po pierwsze: bezpieczeństwo Włocławek

Bezpieczeństwo oprogramowania jest niezwykle ważnym i złożonym zagadnieniem. Proste i zawsze sprawdzające się zasady właściwie nie istnieją. Aby zapewnić systemom IT bezpieczeństwo, trzeba zacząć o nim myśleć już na wstępnym etapie projektowania oprogramowania i zaangażować w ten proces cały …

od 43,45 Najbliżej: 31 km

Liczba ofert: 1

Oferta sklepu

Opis

Bezpieczeństwo oprogramowania jest niezwykle ważnym i złożonym zagadnieniem. Proste i zawsze sprawdzające się zasady właściwie nie istnieją. Aby zapewnić systemom IT bezpieczeństwo, trzeba zacząć o nim myśleć już na wstępnym etapie projektowania oprogramowania i zaangażować w ten proces cały zespół, od najwyższego kierownictwa, przez architektów, projektantów, po testerów, a nawet przyszłych użytkowników systemu. Często się okazuje, że świadomość wagi problemów bezpieczeństwa jest w takim zespole niewielka, a wiedza - fragmentaryczna. Ta książka powstała z myślą o architektach oprogramowania, projektantach, programistach i dyrektorach do spraw technicznych. Zwięźle i przystępnie opisano w niej, jak zadbać o bezpieczeństwo na wczesnym etapie projektowania oprogramowania i jak zaangażować w ten proces cały team. Najpierw zaprezentowano podstawowe pojęcia, takie jak zaufanie, zagrożenia, łagodzenie skutków, bezpieczne wzorce projektowe i kryptografia. Omówiono też szczegółowo proces tworzenia projektu oprogramowania i jego przegląd pod kątem bezpieczeństwa. Wyjaśniono, jakie błędy najczęściej pojawiają się podczas kodowania i w jaki sposób powodują powstawanie luk w zabezpieczeniach. Poszczególne zagadnienia zostały uzupełnione obszernymi fragmentami kodu w językach C i Python. W książce: identyfikacja ważnych zasobów, obszarów ataku i granic zaufania w systemie ocena skuteczności różnych technik łagodzenia zagrożeń wzorce projektowe ułatwiające zapewnianie bezpieczeństwa podatności, w tym XSS, CSRF i błędy związane z pamięcią testy bezpieczeństwa ocena projektu oprogramowania pod kątem bezpieczeństwa Troska o bezpieczeństwo jest najlepszą praktyką! Spis treści: Słowo wstępne Przedmowa Podziękowania Wprowadzenie Kto powinien przeczytać tę książkę? Jakie tematy są omawiane w książce? Część I: Koncepcje Część II: Projektowanie Część III: Implementacja Posłowie Dodatki Dobra, bezpieczna zabawa Część I. Koncepcje 1. Podstawy Zrozumieć bezpieczeństwo Zaufanie Obdarzanie zaufaniem Nie możesz zobaczyć bitów Kompetencja i niedoskonałość Poziomy zaufania Decyzje dotyczące zaufania Komponenty, którym ufamy w sposób pośredni Bycie wiarygodnym Klasyczne zasady Bezpieczeństwo informacji - C-I-A Złoty standard Prywatność 2. Zagrożenia Perspektywa napastnika Cztery pytania Modelowanie zagrożeń Praca na bazie modelu Identyfikacja aktywów Identyfikacja obszarów ataku Określanie granic zaufania Identyfikacja zagrożeń Łagodzenie zagrożeń Rozważania o ochronie prywatności Modelowanie zagrożeń w każdym miejscu 3. Łagodzenie Przeciwdziałanie zagrożeniom Strukturalne strategie łagodzenia skutków Minimalizuj obszary ataku Zawężanie okienka podatności Zminimalizuj ekspozycję danych Polityka dostępu i kontrola dostępu Interfejsy Komunikacja Przechowywanie danych 4. Wzorce Cechy projektu Ekonomia projektowania Przejrzysty projekt Minimalizacja narażenia Najmniejsze przywileje Jak najmniej informacji Bezpieczny z założenia Listy dozwolonych zamiast List zabronionych Unikaj przewidywalności Bezpieczna awaria Zdecydowane egzekwowanie reguł Pełna mediacja Jak najmniej współdzielonych mechanizmów Nadmiarowość Wielowarstwowa obrona Rozdzielanie przywilejów Zaufanie i odpowiedzialność Zasada ograniczonego zaufania Przyjmij odpowiedzialność za bezpieczeństwo Antywzorce Reprezentant wprowadzony w błąd Przepływ zwrotny zaufania Haczyki innych firm Komponenty, których nie da się załatać 5. Kryptografia Narzędzia kryptograficzne Liczby losowe Liczby pseudolosowe Kryptograficznie bezpieczne liczby pseudolosowe Kody uwierzytelniania komunikatów Używanie MAC do zapobiegania manipulacjom Ataki metodą powtórzenia Bezpieczna łączność z użyciem MAC Szyfrowanie symetryczne Jednorazowy bloczek Zaawansowany standard szyfrowania Używanie kryptografii symetrycznej Szyfrowanie asymetryczne Kryptosystem RSA Podpisy cyfrowe Certyfikaty cyfrowe Wymiana kluczy Korzystanie z kryptografii Część II. Projekt 6. Projektowanie z uwzględnieniem bezpieczeństwa Uwzględnianie bezpieczeństwa w projektowaniu Zadbaj o wyraźne doprecyzowanie założeń projektowych Określanie zakresu Określanie wymagań dotyczących bezpieczeństwa Modelowanie zagrożeń Wprowadzanie środków łagodzących Projektowanie interfejsów Projektowanie obsługi danych Uwzględnianie prywatności w projekcie Planowanie pełnego cyklu życia oprogramowania Osiąganie kompromisów Prostota projektu 7. Przeglądy bezpieczeństwa Logistyka SDR Po co przeprowadzać SDR? Kiedy należy przeprowadzić SDR? Dokumentacja jest niezbędna Proces SDR 1. Przestudiuj projekt 2. Pytaj 3. Identyfikuj 4. Współpracuj 5. Pisz 6. Śledź dokonywane zmiany Ocena bezpieczeństwa projektu Wykorzystanie czterech pytań jako wskazówek Na co zwracać uwagę Przegląd związany z prywatnością Przeglądy aktualizacji Zarządzanie różnicą zdań Komunikuj się w taktowny sposób Studium przypadku: trudny przegląd Eskalowanie braku porozumienia Ćwicz, ćwicz, ćwicz Część III. Implementacja 8. Programowanie z uwzględnieniem aspektów bezpieczeństwa Wyzwania Złośliwe działanie Podatności na ataki są błędami Łańcuchy podatności na zagrożenia Błędy i entropia Czujność Studium przypadku: GotoFail Jednolinijkowa podatność Uwaga na "strzał w stopę" Wnioski z GotoFail Podatność na błędy w kodowaniu Niepodzielność Ataki związane z pomiarem czasu Serializacja Typowi podejrzani 9. Błędy w niskopoziomowym programowaniu Podatności związane z arytmetyką Błędy w zabezpieczeniach dla liczb całkowitych o stałej szerokości Luki w zabezpieczeniach precyzji zmiennoprzecinkowej Przykład: niedomiar wartości zmiennoprzecinkowych Przykład: przepełnienie liczby całkowitej Bezpieczna arytmetyka Luki w zabezpieczeniach dostępu do pamięci Zarządzanie pamięcią Przepełnienie bufora Przykład: podatność alokacji pamięci Studium przypadku: Heartbleed 10. Niezaufane dane wejściowe Walidacja Poprawność danych Kryteria walidacji Odrzucanie nieprawidłowych danych wejściowych Poprawianie nieprawidłowych danych wejściowych Podatności w łańcuchach znaków Problemy z długością Problemy z kodowaniem Unicode Podatność na wstrzyknięcia Wstrzyknięcie SQL Trawersowanie ścieżek Wyrażenia regularne Niebezpieczeństwa związane z językiem XML Łagodzenie ataków typu wstrzyknięcie 11. Bezpieczeństwo sieci Web Buduj, korzystając z gotowych frameworków Model bezpieczeństwa sieciowego Protokół HTTP Certyfikaty cyfrowe i HTTPS Zasada tego samego pochodzenia Cookies Często spotykane podatności w sieci Web Skrypty międzywitrynowe (XSS) Fałszowanie żądania pomiędzy stronami (CSRF) Więcej podatności i środków łagodzących 12. Testowanie bezpieczeństwa Czym jest testowanie bezpieczeństwa? Testowanie bezpieczeństwa na przykładzie podatności GotoFail Testy funkcjonalne Testy funkcjonalne z wykorzystaniem podatności Przypadki testowe do testowania bezpieczeństwa Ograniczenia testów bezpieczeństwa Pisanie przypadków testowych do testów bezpieczeństwa Testowanie walidacji danych wejściowych Testowanie podatności na ataki XSS Testowanie odporności na błędne dane Testy regresji bezpieczeństwa Testowanie dostępności Zużycie zasobów Badanie progu Rozproszone ataki typu Denial-of-Service Najlepsze praktyki w testowaniu zabezpieczeń Rozwój oprogramowania oparty na testach Wykorzystanie testów integracyjnych Testy bezpieczeństwa - nadrabianie zaległości 13. Najlepsze praktyki w tworzeniu bezpiecznych projektów Jakość kodu Higiena kodu Obsługa wyjątków i błędów Dokumentowanie bezpieczeństwa Przeglądy kodu pod kątem bezpieczeństwa Zależności Wybieranie bezpiecznych komponentów Zabezpieczanie interfejsów Nie wymyślaj na nowo koła w bezpieczeństwie Postępowanie z przestarzałymi zabezpieczeniami Klasyfikowanie zagrożeń Oceny DREAD Tworzenie działających exploitów Podejmowanie decyzji w triażu Zabezpieczanie środowiska programistycznego Oddzielenie prac rozwojowych od produkcji Zabezpieczanie narzędzi programistycznych Wypuszczanie produktu na rynek Posłowie Wezwanie do działania Bezpieczeństwo to zadanie każdego z nas Zaprawiony w bezpieczeństwie Bezpieczeństwo w przyszłości Poprawa jakości oprogramowania Zarządzanie złożonością Od minimalizowania do maksymalizowania przejrzystości Zwiększanie autentyczności, zaufania i odpowiedzialności oprogramowania Dostarczanie na ostatnim kilometrze Wnioski A. Przykładowa dokumentacja projektowa Tytuł: dokument projektowy komponentu rejestrującego prywatne dane Spis treści Sekcja 1. Opis produktu Sekcja 2. Przegląd 2.1. Cel 2.2. Zakres 2.3. Pojęcia 2.4. Wymagania 2.5. Cele poza zakresem projektu 2.6. Nierozstrzygnięte kwestie 2.7. Alternatywne rozwiązania Sekcja 3. Przypadki użycia Sekcja 4. Architektura systemu Sekcja 5. Projekt danych Sekcja 6. Interfejsy API 6.1. Żądanie Witaj 6.2. Żądanie definicji schematu 6.3. Żądanie dziennika zdarzeń 6.4. Żądanie Żegnaj Sekcja 7. Projekt interfejsu użytkownika Sekcja 8. Projekt techniczny Sekcja 9. Konfiguracja Sekcja 10. Odwołania B. Słowniczek C. Ćwiczenia D. Ściągi O autorze: Loren Kohnfelder programuje od ponad pół wieku. Zajmował się wieloma dziedzinami programowania. W firmie Microsoft pracował nad zagadnieniami związanymi z bezpieczeństwem, przyczynił się do powstania pierwszej metodologii jego proaktywnego zapewniania. Ostatnio pracował w zespole do spraw prywatności w Google. Przeprowadził ponad sto przeglądów bezpieczeństwa projektów systemów komercyjnych o dużej skali.

Specyfikacja

Podstawowe informacje

Autor
  • Loren Kohnfelder
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Format
  • 16.5x22.8cm
Rok wydania
  • 2022
Ilość stron
  • 336
Tematyka
  • Hacking
ISBN
  • 9788328394322