Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Plan Szkolenia
Dzień 1
- Bezpieczeństwo IT i bezpieczne kodowanie
- Charakter bezpieczeństwa
- Terminy związane z bezpieczeństwem IT
- Definicja ryzyka
- Różne aspekty bezpieczeństwa IT
- Wymagania różnych obszarów zastosowań
- Bezpieczeństwo IT a bezpieczne kodowanie
- Od luk w zabezpieczeniach po botnety i cyberprzestępczość
- Charakter luk w zabezpieczeniach
- Przyczyny trudności
- Od zainfekowanego komputera po ataki ukierunkowane
- Klasyfikacja luk bezpieczeństwa
- Taksonomia Landwehry
- Siedem zgubnych królestw
- OWASP Pierwsza dziesiątka 2013
- OWASP Porównanie pierwszej dziesiątki lat 2003 – 2013
- Wprowadzenie do cyklu życia Microsoft® Security Development (SDL)
- Porządek obrad
- Aplikacje zagrożone...
- Ewolucja cyberprzestępczości
- Ataki koncentrują się na aplikacjach
- Większość luk występuje w mniejszych aplikacjach niezależnych dostawców oprogramowania
- Początki Microsoft SDL...
- Oś czasu zabezpieczeń w Microsoft...
- Które aplikacje muszą przestrzegać SDL?
- Microsoft Cykl rozwoju zabezpieczeń (SDL)
- Microsoft Cykl rozwoju zabezpieczeń (SDL)
- Wymagania wstępne SDL: szkolenie w zakresie bezpieczeństwa
- Faza pierwsza: Wymagania
- Faza druga: projektowanie
- Faza trzecia: wdrożenie
- Faza czwarta: Weryfikacja
- Faza piąta: Uwolnienie – Plan reakcji
- Faza piąta: Wydanie – końcowy przegląd bezpieczeństwa
- Faza piąta: Wydanie – Archiwum
- Wymóg post-SDL: Odpowiedź
- Wytyczne dotyczące procesu SDL dla aplikacji LOB
- Wytyczne SDL dotyczące metodologii Agile.
- Bezpieczne tworzenie oprogramowania wymaga ulepszenia procesów
- Bezpieczne zasady projektowania
- Powierzchnia ataku
- Redukcja powierzchni ataku
- Powierzchnia ataku – przykład
- Analiza powierzchni ataku
- Redukcja powierzchni ataku – przykłady
- Prywatność
- Prywatność
- Zrozumienie zachowań i problemów aplikacji
- Obrona w głębi
- Podstawowa zasada SDL: głęboka obrona
- Obrona głęboka – przykład
- Zasada najmniejszych przywilejów
- Najmniejsze uprawnienia – przykład
- Bezpieczne ustawienia domyślne
- Bezpieczne ustawienia domyślne – przykłady
- Powierzchnia ataku
- Bezpieczne zasady wdrażania
- Porządek obrad
- Microsoft Cykl rozwoju zabezpieczeń (SDL)
- Podstawy przepełnienia bufora
- Procesory Intel 80x86 – rejestry główne
- Układ adresu pamięci
- Mechanizm wywoływania funkcji w C/C++ na x86
- Zmienne lokalne i ramka stosu
- Przepełnienie stosu
- Przepełnienie bufora na stosie
- Ćwiczenia – wprowadzenie
- Ćwicz BOFIntro
- Ćwiczenie BOFIntro – określ układ stosu
- Ćwiczenie BOFIntro – prosty exploit
- Walidacja danych wejściowych
- Koncepcje walidacji danych wejściowych
- Problemy całkowite
- Reprezentacja ujemnych liczb całkowitych
- Całkowitą przepełnienie
- Przepełnienie arytmetyczne – zgadnij wynik!
- Ćwicz IntOverflow
- Jaka jest wartość Math.Abs(int.MinValue)?
- Łagodzenie problemu liczb całkowitych
- Łagodzenie problemu liczb całkowitych
- Unikanie przepełnienia arytmetycznego – dodawanie
- Unikanie przepełnienia arytmetycznego – mnożenie
- Wykrywanie przepełnienia zaznaczonym słowem kluczowym w C#
- Ćwiczenie – Używanie zaznaczonego słowa kluczowego w C#
- Wyjątki wywołane przepełnieniami w C#
- Studium przypadku – Przepełnienie liczb całkowitych w .NET
- Luka w zabezpieczeniach związana z przepełnieniem liczb całkowitych w świecie rzeczywistym
- Wykorzystanie luki w zabezpieczeniach związanej z przepełnieniem liczb całkowitych
- Luka w przechodzeniu ścieżki
- Łagodzenie przechodzenia przez ścieżkę
Dzień 2
- Bezpieczne zasady wdrażania
- Zastrzyk
- Typowe SQL Metody ataku wtryskowego
- Zastrzyk ślepy i czasowy SQL.
- SQL Metody zabezpieczenia wtryskowego
- Wstrzyknięcie polecenia
- Zepsute uwierzytelnianie - zarządzanie hasłami
- Ćwiczenie – Słabość hashowanych haseł
- Zarządzanie hasłami i ich przechowywanie
- Algorytmy mieszające specjalnego przeznaczenia do przechowywania haseł
- Skrypty między witrynami (XSS)
- Skrypty między witrynami (XSS)
- CSS wtrysk
- Eksploatacja: wstrzykiwanie poprzez inne HTML tagi
- Zapobieganie XSS
- Brak kontroli dostępu na poziomie funkcji
- Filtrowanie przesyłanych plików
- Praktyczna kryptografia
- Zapewnienie poufności dzięki kryptografii symetrycznej
- Algorytmy szyfrowania symetrycznego
- Szyfry blokowe – sposoby działania
- Hash lub skrót wiadomości
- Algorytmy mieszające
- Kod uwierzytelnienia wiadomości (MAC)
- Zapewnienie integralności i autentyczności za pomocą klucza symetrycznego
- Zapewnienie poufności dzięki szyfrowaniu klucza publicznego
- Praktyczna zasada – posiadanie klucza prywatnego
- Typowe błędy w zarządzaniu hasłami
- Ćwiczenie – hasła zakodowane na stałe
- Wniosek
- Zastrzyk
- Bezpieczne zasady weryfikacji
- Testowanie funkcjonalne a testowanie bezpieczeństwa
- Luki w zabezpieczeniach
- Priorytetyzacja
- Testowanie bezpieczeństwa w SDLC
- Etapy planowania testów (analiza ryzyka)
- Scoring i zbieranie informacji
- Interesariusze
- Aktywa
- Powierzchnia ataku
- Cele bezpieczeństwa dla testowania
- Modelowanie zagrożeń
- Modelowanie zagrożeń
- Profile napastników
- Modelowanie zagrożeń w oparciu o drzewa ataków
- Modelowanie zagrożeń w oparciu o przypadki niewłaściwego użycia/nadużycia
- Przypadki nadużyć/nadużyć – prosty przykład sklepu internetowego
- Podejście perelementowe STRIDE do modelowania zagrożeń – MS SDL
- Identyfikacja celów bezpieczeństwa
- Diagramowanie – przykłady elementów DFD
- Schemat przepływu danych – przykład
- Wyliczanie zagrożeń – elementy STRIDE i DFD MS SDL
- Analiza ryzyka – klasyfikacja zagrożeń
- Model rankingu zagrożeń/ryzyka DREAD
- Techniki i narzędzia testowania bezpieczeństwa
- Ogólne podejścia do testowania
- Techniki różnych etapów SDLC
- Przegląd kodu
- Przegląd kodu pod kątem bezpieczeństwa oprogramowania
- Analiza skażenia
- Heurystyka
- Analiza kodu statycznego
- Analiza kodu statycznego
- Analiza kodu statycznego
- Ćwiczenie – Korzystanie z narzędzi do analizy kodu statycznego
- Testowanie wdrożenia
- Ręczna weryfikacja czasu działania
- Ręczne a automatyczne testowanie bezpieczeństwa
- Testy penetracyjne
- Testy warunków skrajnych
- Fuzowanie
- Automatyczne testowanie bezpieczeństwa – fuzzing
- Wyzwania fuzzingu
- Skanery podatności sieci
- Ćwiczenie – Korzystanie ze skanera podatności
- Sprawdzanie i wzmacnianie środowiska
- Wspólny system punktacji podatności na ataki – CVSS
- Skanery podatności
- Publiczne bazy danych
- Studium przypadku – obejście uwierzytelniania za pomocą formularzy
- Luka w zabezpieczeniach związana z zakończeniem bajtu NULL
- Luka w kodzie związana z obejściem uwierzytelniania formularzy
- Wykorzystanie obejścia uwierzytelniania za pomocą formularzy
- Źródła wiedzy
- Bezpieczne źródła kodowania – zestaw startowy
- Bazy danych o podatnościach
- Wytyczne dotyczące bezpiecznego kodowania .NET w MSDN
- Ściągawki dotyczące bezpiecznego kodowania .NET
- Polecane książki – .NET i ASP.NET
14 godzin