Kurzusleírás

1. nap

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

  • A biztonság természete
  • IT biztonsággal kapcsolatos kifejezések
  • A kockázat definíciója
  • Az IT biztonság különböző szempontjai
  • Különböző alkalmazási területek követelményei
  • IT biztonság vs. biztonságos kódolás
  • A sebezhetőségektől a botnetekig és a kiberbűnözésig
    • A biztonsági hibák természete
    • A nehézségek okai
    • Egy fertőzött számítógéptől a célzott támadásokig
  • A biztonsági hibák osztályozása
    • Landwehr taxonómiája
    • A Hét Pusztító Királyság
    • OWASP Top 10 2013
    • OWASP Top 10 összehasonlítás 2003 – 2013

Bevezetés a Microsoft® Security Development Lifecycle (SDL) világába

  • Agenda
  • Alkalmazások támadás alatt...
    • A kiberbűnözés fejlődése
    • A támadások az alkalmazásokra fókuszálnak
    • A legtöbb sebezhetőség a kisebb ISV alkalmazásokban található
  • A Microsoft SDL eredete...
    • A biztonsági idővonal a Microsoftnál...
    • Mely alkalmazásoknak kell követni az SDL-t?
  • Microsoft Security Development Lifecycle (SDL)
    • Microsoft Security Development Lifecycle (SDL)
    • SDL előtti követelmények: Biztonsági képzés
    • Első fázis: Követelmények
    • Második fázis: Tervezés
    • Harmadik fázis: Implementáció
    • Negyedik fázis: Ellenőrzés
    • Ötödik fázis: Kiadás – Választerv
    • Ötödik fázis: Kiadás – Végső biztonsági felülvizsgálat
    • Ötödik fázis: Kiadás – Archiválás
    • SDL utáni követelmény: Válasz
    • SDL folyamatútmutató LOB alkalmazásokhoz
    • SDL útmutató agilis módszertanokhoz
    • A biztonságos szoftverfejlesztés folyamatfejlesztést 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
    • Az alkalmazások viselkedésének és aggodalmainak megértése
  • Mélyreható védelem
    • SDL alapelv: Mélyreható védelem
    • Mélyreható védelem – példa
  • Legkevesebb jogosultság elve
    • Legkevesebb jogosultság – példa
  • Biztonságos alapbeállítások
    • Biztonságos alapbeállítások – példák

Biztonságos implementációs elvek

  • Agenda
  • Microsoft Security Development Lifecycle (SDL)
  • Puffer túlcsordulás alapjai
    • Intel 80x86 processzorok – fő regiszterek
    • A memória címkiosztása
    • A függvényhívási mechanizmus C/C++ nyelven x86 architektúrán
    • A lokális változók és a veremkeret
    • Verem túlcsordulás
      • Puffer túlcsordulás a veremben
      • Feladatok – bevezetés
      • Feladat BOFIntro
      • Feladat BOFIntro – a verem elrendezésének meghatározása
      • Feladat BOFIntro – egy egyszerű exploit
  • Bemeneti adatok validálása
    • Bemeneti adatok validálásának alapjai
    • Egész számokkal kapcsolatos problémák
      • Negatív egész számok ábrázolása
      • Egész szám túlcsordulás
      • Aritmetikai túlcsordulás – tippeld meg a kimenetet!
      • Feladat IntOverflow
      • Mennyi a Math.Abs(int.MinValue) értéke?
    • Egész szám problémák enyhítése
      • Egész szám problémák enyhítése
      • Aritmetikai túlcsordulás elkerülése – összeadás
      • Aritmetikai túlcsordulás elkerülése – szorzás
      • Túlcsordulás észlelése a checked kulcsszóval C#-ban
      • Feladat – A checked kulcsszó használata C#-ban
      • Kivételek túlcsordulás esetén C#-ban
    • Esettanulmány – Egész szám túlcsordulás .NET-ben
      • Egy valós világbéli egész szám túlcsordulási sebezhetőség
      • Az egész szám túlcsordulási sebezhetőség kihasználása
    • Útvonalbejárási sebezhetőség
      • Útvonalbejárási sebezhetőség enyhítése

2. nap

Biztonságos implementációs elvek

  • Injekció
    • Tipikus SQL injekciós támadási módszerek
    • Vak és időalapú SQL injekció
    • SQL injekció elleni védelmi módszerek
    • Parancs injekció
  • Hibás hitelesítés – jelszókezelés
    • Feladat – A hashelt jelszavak gyengesége
    • Jelszókezelés és tárolás
    • Speciális célú hash algoritmusok jelszó tárolására
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS injekció
    • Kihasználás: injekció más HTML címkék keresztül
    • XSS megelőzés
  • Hiányzó függvényszintű hozzáférés-vezérlés
    • Fájlfeltöltések szűrése
  • Gyakorlati kriptográfia
    • Bizalmas adatok védelme szimmetrikus kriptográfiával
    • Szimmetrikus titkosítási algoritmusok
    • Blokk titkosítások – működési módok
    • Hash vagy üzenetkivonat
    • Hash algoritmusok
    • Üzenethitelesítési kód (MAC)
    • Integritás és hitelesség biztosítása szimmetrikus kulccsal
    • Bizalmas adatok védelme nyilvános kulcsú titkosítással
    • Ökölszabály – a titkos kulcs birtoklása
    • Tipikus hibák a jelszókezelésben
    • Feladat – Keményen kódolt jelszavak
    • Összegzés

Biztonságos ellenőrzési elvek

  • Funkcionális tesztelés vs. biztonsági tesztelés
  • Biztonsági sebezhetőségek
  • Prioritizáció
  • Biztonsági tesztelés az SDLC-ben
  • Teszttervezés lépései (kockázatelemzés)
  • Hatáskör és információgyűjtés
    • Érintett felek
    • Eszközök
    • A támadási felület
    • Biztonsági célok a teszteléshez
  • Fenyegetésmodellezés
    • Fenyegetésmodellezés
    • Támadói profilok
    • Fenyegetésmodellezés támadási fák alapján
    • Fenyegetésmodellezés visszaélési/visszaélési esetek alapján
    • Visszaélési/visszaélési esetek – egy egyszerű webshop példa
    • STRIDE per elem módszer a fenyegetésmodellezéshez – MS SDL
    • Biztonsági célok azonosítása
    • Diagramkészítés – példák DFD elemekre
    • Adatáramlási diagram – példa
    • Fenyegetések felsorolása – MS SDL STRIDE és DFD elemek
    • Kockázatelemzés – fenyegetések osztályozása
    • A DREAD fenyegetés/kockázat rangsorolá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éseihez
  • Kód áttekintés
    • Kód áttekintés szoftverbiztonság érdekében
    • Szennyezés elemzése
    • Heurisztikák
  • Statikus kódelemzés
    • Statikus kódelemzés
    • Feladat – Statikus kódelemzési eszközök használata
  • Az implementáció tesztelése
    • Kézi futási időbeli ellenőrzés
    • Kézi vs. automatizált biztonsági tesztelés
    • Behatolási tesztelés
    • Terhelési tesztek
  • Fuzzing
    • Automatizált biztonsági tesztelés - fuzzing
    • A fuzzing kihívásai
  • Webes sebezhetőségi szkennerek
    • Feladat – Egy sebezhetőségi szkanner használata
  • Környezet ellenőrzése és megerősítése
    • Common Vulnerability Scoring System – CVSS
    • Sebezhetőségi szkennerek
    • Nyilvános adatbázisok
  • Esettanulmány – Forms Authentication Bypass
    • NULL bájt lezárási sebezhetőség
    • A Forms Authentication Bypass sebezhetőség a kódban
    • A Forms Authentication Bypass kihasználása

Tudásforrások

  • Biztonságos kódolási források – kezdőkészlet
  • Sebezhetőségi adatbázisok
  • .NET biztonságos kódolási irányelvek az MSDN-en
  • .NET biztonságos kódolási segédletek
  • 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