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
Vélemények (5)
Több példa minden modulra és kiváló tudás a képzőtől.
Sebastian - BRD
Kurzus - Secure Developer Java (Inc OWASP)
Gépi fordítás
Modul 3 Alkalmazások támadásai és kihasználásai, XSS, SQL-injekció Modul 4 Szerverek támadásai és kihasználásai, DOS, BOF
Tshifhiwa - Vodacom
Kurzus - How to Write Secure Code
Gépi fordítás
Általános tanfolyami információk
Paulo Gouveia - EID
Kurzus - C/C++ Secure Coding
Gépi fordítás
A képző szakmai ismeretei kiválók voltak, és a műfuttatásokat úgy rendezték el, hogy a résztvevők könnyen követhetik őket, ami nagyban hozzájárult az ismeretek megalapozódásához, nem csak egy passzív figyeléshez képest.
Jack Allan - RSM UK Management Ltd.
Kurzus - Secure Developer .NET (Inc OWASP)
Gépi fordítás
Semmi, az volt tökéletes.
Zola Madolo - Vodacom
Kurzus - Android Security
Gépi fordítás