Kurzusleírás

Első nap

IT-biztonság és biztonságos kódolás

  • Biztonság természete
  • IT-biztonsággal kapcsolatos fogalmak
  • Kockázat meghatározása
  • Az IT-biztonság különböző aspektusai
  • Különböző alkalmazások igényei
  • IT-biztonság vs. biztonságos kódolás
  • A hibáktól a botnetek és ciberbűnözésig
    • Biztonsági hibák természete
    • Nehézség okaik
    • Az fertőzött számítógéptől az irányított támadásokig
  • Biztonsági hibák osztályozása
    • Landwehr taxonómiaja
    • A Hét Pernicios Birodalom
    • OWASP Top Ten 2013
    • OWASP Top Ten összehasonlítása 2003–2013 között

Bevezetés a Microsoft® Security Development Lifecycle (SDL)-be

  • Naptár
  • Támadás alatt álló alkalmazások...
    • Ciberbűnözés fejlődése
    • A támadások az alkalmazásokra összpontosítanak
    • A legtöbb hiba kisebb ISV alkalmazásokban van
  • Microsoft SDL eredete...
    • Biztonsági idővonal a Microsoft-nál...
    • Mely alkalmazásoknak követniük kell az SDL-t?
  • Microsoft Security Development Lifecycle (SDL)
    • Microsoft Security Development Lifecycle (SDL)
    • SDL előfeltételei: Biztonsági képzés
    • Fázis Egy: Követelmények
    • Fázis Két: Tervezés
    • Fázis Három: Implementáció
    • Fázis Négy: Ellenőrzés
    • Fázis Öt: Kiadás – Válaszadó terv
    • Fázis Öt: Kiadás – Végleges biztonsági ellenőrzés
    • Fázis Öt: Kiadás – Archiválás
    • SDL utáni követelmények: Válaszadás
    • SDL folyamatútmutató LOB alkalmazásokhoz
    • SDL útmutató agiles metódológiákhoz
    • Biztonságos szoftverfejlesztés folyamatjavításokat igényel

Biztonságos tervezési elvek

  • Támadási felület
    • Támadási felület csökkentése
    • Támadási felület – példa
    • Támadási felület elemzése
    • Támadási felület csökkentése – példák
  • Adatvédelem
    • Adatvédelem
    • Alkalmazás viselkedésének és aggodalmak megértése
  • Mélyebb védelem
    • SDL alapelve: Mélyebb védelem
    • Mélyebb védelem – példa
  • Minimális jogosultság elve
    • Minimális jogosultság – példa
  • Biztonságos alapértelmezések
    • Biztonságos alapértelmezések – példák

Biztonságos implementációs elvek

  • Naptár
  • Microsoft Security Development Lifecycle (SDL)
  • Buffer overflow alapjai
    • Intel 80x86 processzorok – fő regiszterek
    • A memóriacím elrendezése
    • A funkció hívási mechanizmus C/C++-ban az x86-on
    • A helyi változók és a stack keret
    • Stack overflow
      • Buffer overflow a stackon
      • Gyakorlatok – bevezetés
      • BOFIntro gyakorlat
      • BOFIntro gyakorlat – a stack elrendezésének meghatározása
      • BOFIntro gyakorlat – egyszerű exploit
  • Bemenet ellenőrzése
    • Bemenet ellenőrzési fogalmak
    • Egész számok problémái
      • Negatív egész számok reprezentációja
      • Egész szám átfutás
      • Aritmetikai átfutás – kitalálja a kimenetet!
      • IntOverflow gyakorlat
      • Math.Abs(int.MinValue) értéke mennyi?
    • Egész szám problémák enyhítése
      • Egész szám problémák enyhítése
      • Aritmetikai átfutás elkerülése – összeadás
      • Aritmetikai átfutás elkerülése – szorzás
      • C#-ban a checked kulcsszó használata átfutáscsökkentéshez
      • Gyakorlat – C#-ban a checked kulcsszó használata
      • Az átfutások által kiváltott kivételek C#-ban
    • Esetenkénti tanulmány – Egész szám átfutás a .NET-ben
      • Valós életbeli egész szám átfutási hiba
      • Az egész szám átfutási hiba kihasználása
    • Tervezési hiba a fájlutánzásban
      • Fájlutánzás enyhítése

Második nap

Biztonságos implementációs elvek

  • Injekció
    • Tipikus SQL injekciós támadási módszerek
    • Blind és időalapú SQL injekció
    • SQL injekció védelmi módszerek
    • Parancs injekció
  • Helytelen hitelesítés – jelszókezelés
    • Gyakorlat – Hashelt jelszavak gyenge pontja
    • Jelszókezelés és tárolás
    • Speciális hash algoritmusok a jelszavak tárolásához
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS injekció
    • Kihasználás: injekció más HTML-címkékön keresztül
    • XSS megelőzése
  • Hiányzó funkciószintű hozzáférés-vezérlés
    • Fájl feltöltések szűrése
  • Gyakorlati kriptográfia
    • Titkosítás biztonságának biztosítása szimmetrikus kriptográfia segítségével
    • Szimmetrikus titkosítási algoritmusok
    • Block ciphers – működési módok
    • Hash vagy üzenet összeg
    • Hash algoritmusok
    • Üzenetszintű hitelesítési kód (MAC)
    • Biztonság és hitelesítés biztosítása szimmetrikus kulccsal
    • Biztonság biztosítása nyilvános kulcsú titkosítással
    • Kézmozgás – Privát kulcs birtoklása
    • Tipikus hibák a jelszókezelésben
    • Gyakorlat – Kódolt jelszavak
    • Következtetések

Biztonságos ellenőrzési elvek

  • Funkcionális tesztelés vs. biztonsági tesztelés
  • Biztonsági hibák
  • Prioritásozás
  • Biztonsági tesztelés az SDLC-ben
  • A teszterkészítés lépései (kockázatanalízis)
  • Határozó és információgyűjtés
    • Érintelt felek
    • Birtoklások
    • A támadási felület
    • Tesztelési biztonsági célok
  • Támadásmodellzárás
    • Támadásmodellzárás
    • Támadó profilok
    • Támadásfák alapján történő támadásmodellzárás
    • Érvénytelen/rosszindulatú esetek alapján történő támadásmodellzárás
    • Érvénytelen/rosszindulatú esetek – egyszerű webáruház példa
    • STRIDE elemenkénti támadásmodellzárás – MS SDL
    • Biztonsági célok azonosítása
    • Rajzolás – DFD elemek példái
    • Adatfolyamdiagram – példa
    • Támadások felsorolása – MS SDL STRIDE és DFD elemek
    • Kockázatanalízis – támadások osztályozása
    • A DREAD támadási/kockázati rangsorozási modell
  • Biztonsági tesztelési technikák és eszközök
    • Általános tesztelési megközelítések
    • Technikák az SDLC különböző lépéseire
  • Kód átvizsgálás
    • Kód átvizsgálás a szoftverbiztonság szempontjából
    • Tárolt elemzés
    • Heurisztikák
  • Statikus kódanalízis
    • Statikus kódanalízis
    • Gyakorlat – Statikus kódanalízis eszközök használata
  • Implementáció tesztelése
    • Manuális futásidőbeli ellenőrzés
    • Manuális vs. automatizált biztonsági tesztelés
    • Penetrációs tesztelés
    • Stressztesztek
  • Fuzzing
    • Automatizált biztonsági tesztelés – fuzzing
    • A fuzzing kihívásai
  • Web-szcélszerűségi skannerek
    • Gyakorlat – Szcélláthatóságscanner használata
  • Környezet ellenőrzése és erősítése
    • Közös Szcélláthatóság Értékelési Rendszer – CVSS
    • Szcélláthatóságscannerek
    • Nyilvános adatbázisok
  • Esetenkénti tanulmány – Űrlap-hitelesítés kikerülése
    • NULL byte lezárása szcélláthatóság
    • A űrlaphitelesítés kikerülési szcélláthatóság a kódban
    • A űrlaphitelesítés kikerülése kihasználása

Tudástermelő források

  • Biztonságos kódolási források – indítócsomag
  • Szcélláthatóság adatbázisok
  • .NET biztonságos kódolási irányelvek az MSDN-n
  • .NET biztonságos kódolási gyorsútmutatók
  • Ajánlott könyvek – .NET és ASP.NET
 14 órák

Résztvevők száma


Ár per résztvevő

Vélemények (5)

Közelgő kurzusok

Rokon kategóriák