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
  • 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
  • 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

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (5)

Propozycje terminów

Powiązane Kategorie