Návrh Školení

Den 1.

  • Zabezpečení IT a bezpečný kódování
    • Natura zabezpečení
    • Terminologie související s IT zabezpečením
    • Definice rizika
    • Různé aspekty IT zabezpečení
    • Požadavky pro různá aplikace oblasti
    • Zabezpečení IT vs. bezpečné kódování
    • Od ohrožení po botnety a kyberkriminalitu
      • Natura zabezpečovacích chyb
      • Důvody obtížnosti
      • Z infikovaného počítače k cíleným útokům
    • Klasifikace zabezpečovacích chyb
      • Landwehr’s taxonomie
      • The Seven Pernicious Kingdoms
      • OWASP Top Ten 2013
      • OWASP Srovnání Top Ten 2003 – 2013
  • Vstup do Microsoft® Security Development Lifecycle (SDL)
    • Agenda
    • Aplikace pod útokem...
      • Evoluce kyberkriminality
      • Útoky se zaměřují na aplikace
      • Většina ohrožení je ve menších ISV aplikacích
    • Původ Microsoft SDL...
      • Sekvence zabezpečení u Microsoft...
      • Které aplikace musí dodržovat SDL?
    • Microsoft Security Development Lifecycle (SDL)
      • Microsoft Security Development Lifecycle (SDL)
      • Před-SDL požadavky: Zabezpečení školení
      • Fáze jedna: Požadavky
      • Fáze dvě: Návrh
      • Fáze tři: Implementace
      • Fáze čtyři: Ověřování
      • Fáze pět: Výsledek – Reakční plán
      • Fáze pět: Výsledek – Poslední zabezpečená kontrola
      • Fáze pět: Výsledek – Archivace
      • Po-SDL požadavky: Reakce
      • Průvodce procesem SDL pro aplikace LOB
      • Průvodce Agile metodologií pro SDL
      • Běžné vylepšení procesu bezpečných softwarových rozvoj
  • Zásady bezpečného návrhu
    • Útočná plocha
      • Snížení útočné plochy
      • Útočná plocha – příklad
      • Analýza útočné plochy
      • Snížení útočné plochy – příklady
    • Soukromí
      • Soukromí
      • Pochopení chování aplikací a obav
    • Zásada hluboké obrany
      • SDL základní zásada: Hluboká obrana
      • Hluboká obrana – příklad
    • Zásada minimálních práv
      • Minimální pravomoci – příklad
    • Výchozí zabezpečení
      • Výchozí zabezpečení – příklady
  • Zásady bezpečné implementace
    • Agenda
    • Microsoft Security Development Lifecycle (SDL)
    • Bázové znalosti o přetečení bufferu
      • Intel 80x86 procesory – hlavní registry
      • Rozložení adres paměti
      • Mechanismus volání funkcí v C/C++ na x86
      • Lokální proměnné a rámec zásobníku
      • Přetečení zásobníku
        • Přetečení bufferu ve zásobníku
        • Cvičení – úvod
        • Cvičení BOFIntro
        • Cvičení BOFIntro – určení rozložení zásobníku
        • Cvičení BOFIntro – jednoduchý exploit
    • Ověřování vstupu
      • Koncepty ověřování vstupů
      • Problémy s celými čísly
        • Představení záporných celých čísel
        • Přetečení celých čísel
        • Aritmetické přetečení – hádejte výsledek!
        • Cvičení IntOverflow
        • Jaká je hodnota Math.Abs(int.MinValue)?
      • Zmírnění problémů s celými čísly
        • Zmírnění problémů s celými čísly
        • Úspěšné vyhnutí se aritmetickému přetečení – sčítání
        • Úspěšné vyhnutí se aritmetickému přetečení – násobení
        • Zjištění přetečení pomocí klíčového slova checked v C#
        • Cvičení – Použití klíčového slova checked v C#
        • Výjimky vyvolané přetečením v C#
      • Případ studie – Přetečení celých čísel v .NET
        • Skutečné přetečení celých čísel
        • Využití chyby přetečení celého čísla
      • Chyba procházení cesty
        • Zmírnění problémů s procházením cest

Den 2.

  • Zásady bezpečné implementace
    • Injektion
      • Běžná metoda injektivního útoku SQL
      • Slepé a časově založené SQL injektory
      • Metody ochrany před SQL injekcí
      • Injektion příkazů
    • Poškozená autentizace - správa hesel
      • Cvičení – Slabost hashovaných hesel
      • Správa a ukládání hesel
      • Vysoce specializované algoritmy pro ukládání hesel
    • Křížová skriptní inženýrství (XSS)
      • Křížová skriptní inženýrství (XSS)
      • CSS injektion
      • Využití: injektion prostřednictvím dalších HTML tagů
      • Ochrana před XSS
    • Chybějící ovládání funkční úrovně přístupu
      • Filtrování nahrávaných souborů
    • Správné kryptografie
      • Zajištění důvěrnosti symetrickou kryptografií
      • Algoritmy symetrické šifry
      • Blokové cifry – režimy operací
      • Hášení nebo zpráva sestřídaná vodítka
      • Algoritmy hashování
      • Kód autentizace zprávy (MAC)
      • Zajištění integrity a pravdivosti symetrickým klíčem
      • Zajištění důvěrnosti asymetrickou šifrovací kryptografií
      • Pravidlo – držení privátního klíče
      • Běžné chyby správy hesel
      • Cvičení – Výchozí hesla
      • Závěr
  • Zásady bezpečných kontrol
    • Funkční testování vs. zabezpečené testování
    • Bezpečnostní ohrožení
    • Prioritizace
    • Zabezpečené testování v SDLC
    • Kroky plánování testu (analýza rizika)
    • Ohraničování a sběr informací
      • Stakeholdery
      • Aktiva
      • Útočná plocha
      • Cíle zabezpečení pro testování
    • Hrozívý modelování
      • Hrozívé modelování
      • Profily útočníků
      • Hrozivá modelování na základě stromu útoků
      • Hrozívé modelování na základě misuse/abuse cases
      • Misuse/abuse cases – jednoduchý příklad webshopu
      • STRIDE element přístup k hrozívému modelování – MS SDL
      • Zjištění cílů zabezpečení
      • Návrh diagramů – příklady prvků DFD
      • Data flow diagram – příklad
      • Hrozívé enumerace – STRIDE a prvků DFD v MS SDL
      • Analýza rizika – klasifikace hrozeb
      • DREAD model hodnocení hrozeb/rizik
    • Zabezpečené testovací techniky a nástroje
      • Běžné přístupy k testování
      • Techniky pro různé kroky SDLC
    • Hodnocení kódu
      • Hodnocení kódu pro zabezpečení softwaru
      • Taint analýza
      • Heuristiky
    • Statická analýza kódu
      • Statická analýza kódu
      • Cvičení – Použití nástrojů pro statickou analýzu kódu
    • Otestování implementace
      • Ruční verifikace běhu
      • Ruční vs. automatické testy zabezpečení
      • Testování infiltrací
      • Sila testů
    • Fuzzing
      • Automatizovaná kontrola zabezpečení - fuzzing
      • Výzvy fuzzingu
    • Web scanery ohrožeností
      • Cvičení – Použití skeneru ohroženosti
    • Kontrola a posílení prostředí
      • Běžný systém hodnocení ohrožení - CVSS
      • Skenery ohrožeností
      • Všeobecné databáze
    • Případ studie – Omluvení prohlášení o autentizaci
      • Nulový byte koncového oddělovače ohroženosti
      • Ohrožení omluvení prohlášení o autentizaci v kódu
      • Využití omluvení prohlášení o autentizaci
  • Zdroje znalostí
    • Zdroje bezpečného programování – nástroj na začátek
    • Databáze ohroženosti
    • .NET pokyny pro bezpečné kódování v MSDN
    • .NET zkratky pro bezpečné kódování
    • Rekomendované knihy – .NET a ASP.NET
 14 hodiny

Počet účastníků


Price per participant

Reference (5)

Upcoming Courses

Související kategorie