Lépjen kapcsolatba velünk

Kurzusleírás

1. nap

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

  • A biztonság természete
  • Az informatikai biztonsággal kapcsolatos fogalmak
  • A kockázat meghatározása
  • Az informatikai biztonság különböző aspektusai
  • Különböző alkalmazási területek követelményei
  • Informatikai biztonság kontra biztonságos kódolás
  • A sérülékenységektől a botnetekig és a kiberbűnözésig
    • A biztonsági hibák természete
    • A nehézségek okai
    • A 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 ártalmas királyság (The Seven Pernicious Kingdoms)
    • OWASP Top Ten 2013
    • OWASP Top Ten összehasonlítás 2003 – 2013

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

  • Napirend
  • Támadás alatt álló alkalmazások...
    • A kiberbűnözés evolúciója
    • A támadások az alkalmazásokra összpontosítanak
    • A legtöbb sérülékenység kisebb független szoftvergyártók alkalmazásaiban található
  • A Microsoft SDL eredete...
    • Biztonsági idővonal a Microsoftnál...
    • Mely alkalmazásoknak kell követniük 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 – Reagálási terv
    • Ö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: Reagálás
    • SDL folyamatirányelvek üzleti alkalmazásokhoz
    • SDL irányelvek agilis módszertanokhoz
    • A biztonságos szoftverfejlesztés folyamatfejlesztést igényel

Biztonságos tervezési alapelvek

  • Támadási felület
    • Támadási felület csökkentése
    • Támadási felület – egy 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ás viselkedésének és aggályainak megértése
  • Mélységi védelem
    • Az SDL alapelve: Mélységi védelem
    • Mélységi védelem – példa
  • A legkisebb jogosultság elve
    • Legkisebb jogosultság – példa
  • Biztonságos alapértelmezések
    • Biztonságos alapértelmezések – példák

Biztonságos implementációs alapelvek

  • Napirend
  • Microsoft Security Development Lifecycle (SDL)
  • A puffertúlcsordulás alapjai
    • Intel 80x86 processzorok – fő regiszterek
    • A memóriacímek elrendezése
    • A függvényhívási mechanizmus C/C++ nyelven x86-on
    • A lokális változók és a veremkeret
    • Veremtúlcsordulás
      • Puffertúlcsordulás a veremben
      • Gyakorlatok – bevezetés
      • BOFIntro gyakorlat
      • BOFIntro gyakorlat – a verem elrendezésének meghatározása
      • BOFIntro gyakorlat – egy egyszerű exploit
  • Bemenet-ellenőrzés
    • Bemenet-ellenőrzési koncepciók
    • Egész számokkal kapcsolatos problémák
      • Negatív egész számok ábrázolása
      • Egész szám túlcsordulása
      • Aritmetikai túlcsordulás – találd ki a kimenetet!
      • IntOverflow gyakorlat
      • Mi 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
      • Gyakorlat – A checked kulcsszó használata C#-ban
      • Túlcsordulás által kiváltott kivételek C#-ban
    • Esettanulmány – Egész szám túlcsordulás .NET-ben
      • Egy valós egész szám túlcsordulási sérülékenység
      • Az egész szám túlcsordulási sérülékenység kihasználása
    • Útvonalbejárási sérülékenység
      • Útvonalbejárás enyhítése

2. nap

Biztonságos implementációs alapelvek

  • Injekció
    • Tipikus SQL-injekciós támadási módszerek
    • Vak és időalapú SQL-injekció
    • SQL-injekció elleni védelmi módszerek
    • Parancsinjekció
  • Sérült hitelesítés – jelszókezelés
    • Gyakorlat – Hashelt jelszavak gyengesége
    • Jelszókezelés és -tárolás
    • Speciális célú hash-algoritmusok jelszavak tárolására
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS-injekció
    • Kihasználás: injekció más HTML-címkéken keresztül
    • XSS-megelőzés
  • Hiányzó funkciószintű hozzáférés-szabályozás
    • Fájlfeltöltések szűrése
  • Gyakorlati kriptográfia
    • Titkosság biztosítása szimmetrikus kriptográfiával
    • Szimmetrikus titkosítási algoritmusok
    • Blokkrejtjelek – működési módok
    • Hash vagy üzenetkivonat
    • Hash-algoritmusok
    • Üzenet-hitelesítési kód (MAC)
    • Integritás és hitelesség biztosítása szimmetrikus kulccsal
    • Titkosság biztosítása nyilvános kulcsú titkosítással
    • Ökölszabály – a privát kulcs birtoklása
    • Tipikus hibák a jelszókezelésben
    • Gyakorlat – Beégetett jelszavak
    • Összegzés

Biztonságos ellenőrzési alapelvek

  • Funkcionális tesztelés kontra biztonsági tesztelés
  • Biztonsági sérülékenységek
  • Priorizálás
  • Biztonsági tesztelés az SDLC-ben
  • A tesztek tervezésének lépései (kockázatelemzés)
  • Hatókör-meghatározás és információgyűjtés
    • Érintettek
    • Eszközök
    • A támadási felület
    • A tesztelés biztonsági célkitűzései
  • Fenyegetésmodellezés
    • Fenyegetésmodellezés
    • Támadói profilok
    • Támadási fákon alapuló fenyegetésmodellezés
    • Visszaélési eseteken alapuló fenyegetésmodellezés
    • Visszaélési esetek – egy egyszerű webáruház példája
    • STRIDE elemenkénti megközelítés a fenyegetésmodellezéshez – MS SDL
    • Biztonsági célkitűzések azonosítása
    • Diagramkészítés – példák DFD-elemekre
    • Adatfolyam-diagram – példa
    • Fenyegetések felsorolása – az MS SDL STRIDE és DFD elemei
    • Kockázatelemzés – a fenyegetések osztályozása
    • A DREAD fenyegetés-/kockázatértékelé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ódellenőrzés
    • Kódellenőrzés a szoftverbiztonságért
    • Adatfolyam-elemzés (Taint analysis)
    • Heurisztikák
  • Statikus kódelemzés
    • Statikus kódelemzés
    • Gyakorlat – Statikus kódelemző eszközök használata
  • Az implementáció tesztelése
    • Manuális futásidejű ellenőrzés
    • Manuális kontra automatizált biztonsági tesztelés
    • Behatolási tesztelés
    • Stressztesztek
  • Fuzzing
    • Automatizált biztonsági tesztelés – fuzzing
    • A fuzzing kihívásai
  • Webes sérülékenység-szkennerek
    • Gyakorlat – Sérülékenység-szkenner használata
  • A környezet ellenőrzése és megerősítése
    • Common Vulnerability Scoring System – CVSS
    • Sérülékenység-szkennerek
    • Nyilvános adatbázisok
  • Esettanulmány – Forms Authentication megkerülése
    • NULL bájt lezárási sérülékenység
    • A Forms Authentication megkerülési sérülékenység a kódban
    • A Forms Authentication megkerülésének kihasználása

Tudásforrások

  • Biztonságos kódolási források – kezdőcsomag
  • Sérülékenység-adatbázisok
  • .NET biztonságos kódolási irányelvek az MSDN-en
  • .NET biztonságos kódolási gyorsreferenciák
  • Ajánlott könyvek – .NET és ASP.NET
 14 Órák

Résztvevők száma


Ár per résztvevő

Vélemények (3)

Közelgő kurzusok

Rokon kategóriák