CL-WSC
Új Webes alkalmazások biztonsága
Ismertető
Jelentkezzen Webes alkalmazások biztonsága tanfolyamunkra, és ismerje meg hogyan kell biztonságosan webalkalmazást készíteni, és melyek azok a biztonsági szempontból releváns hibák, amelyek a webalkalmazás készítése során felléphetnek, hogyan kell védekezni ellenük, illetve hogyan lehet őket elkerülni.
Ennek megfelelően a tanfolyam egyrészt gyakorlatokkal alátámasztva lépésenként bemutatja a webalkalmazások biztonsági felépítményét, megmutatja az egyes szolgáltatások helyes használatát és kitér a megoldások kriptográfiai hátterére is. Másrészt bemutatjuk és elmagyarázzuk a webalkalmazások leggyakoribb és legveszélyesebb sérülékenységeit. Az egyes hibákat a támadási módok bemutatásával demonstráljuk, amit minden esetben a helyes gyakorlati és a védelmi módok ismertetése követ.
A képzés programozóknak, fejlesztőknek, szoftvertervezőknek, tesztelőknek, biztonsági szakembereknek ajánljuk, akik szeretnék megismerni a minél biztonságosabb programok, alkalmazások készítésének technikáit webalkalmazásuk elkészítéséhez.
Tematika
- Az IT biztonságtól a biztonságos programozásig: A biztonság természete, Mi a kockázat? 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 fertőzött számítógéptől a célzott támadásokig, a biztonsági hibák osztályozása.
- Webalmazások biztonsága: Injection: alapelvek, SQL injection (tipikus SQL injection támadási módszerek, Blind és time-based SQL injection, SQL injection védelmi módszerek), egyéb injection hibák (parancs injection). Broken authentication: Munkamenet kezelési veszélyek, a munkamenetkezelés legjobb gyakorlatai, Cookie-attribútumok beállítása, Oldalközi kérés meghamisítása - CSRF (login CSRF és CSRF megelőzés). Érzékeny adatok kitettsége: szállítási réteg biztonsága, HTTPS érvényesítés. XML külső entitás (XXE): XML entitás bevezetése, XML külső entitással kapcsolatos támadás (XXE) (erőforrás bevonása, URL meghívás, paraméter entitás, megelőzés). Broken access control: Tipikus hozzáférés-szabályozási gyengeségek, bizonytalan közvetlen objektumhivatkozás (IDOR), védelem az IDOR ellen. Biztonsági félrekonfigurálás: a környezet konfigurálása, bizonytalan fájlfeltöltés, fájlfeltöltések szűrése - érvényesítés és konfiguráció. Cross-Site Scripting (XSS): állandó, visszavert, DOM-alapú, CSS injection, injection the tag, XSS megelőzés. Insecure deserialization: a Serialization és a deserialization alapjai, biztonsági kihívások, a deserialization-al kapcsolatos problémák – JSON. Ismert sebezhetőségű komponensek használata: sebezhetőségi attribútumok, Common Vulnerability Scoring System – CVSS. Elégtelen naplózás és felügyelet: észlelés és válaszadás, naplózás és naplóelemzés, behatolásérzékelő rendszerek és webalkalmazás-tűzfalak.
- Ügyféloldali biztonság: JavaScript biztonság, azonos eredetpolitika, egyszerű kérések, Preflight kérések, Javascript használat, veszélyek és globális objektum, ügyféloldali hitelesítés és jelszókezelés, Javascript kód védelme. Clickjacking (Clickjacking elleni védelem, keretfeltörés elleni védelem - védelmi szkriptek elutasítása, védelem a frame-busting ellen). AJAX biztonság: XSS az AJAX-ban, szkript injection támadás AJAX-ban, XSS elleni védelem AJAX-ban, CSRF védelem AJAX-ban, MySpace worm, AJAX biztonsági iránymutatások. HTML5 biztonság: Új XSS lehetőségek a HTML5-ben, ügyféloldali tartós adattárolás, HTML5 clickjacking támadás - szöveges mező injection és tartalomkivonás, formanyomtatványok manipulálása, Cross-origin kérések, HTML proxy cross-origin kérésekkel.
- Gyakorlati kriptográfia: a kriptográfia megvalósításának első szabálya, kriptoszisztémák: kiptorendszer elemei. Szimmetrikus kulcsú kriptográfia: bizalmasság biztosítása, szimmetrikus kriptográfiával, szimmetrikus titkosítási algoritmusok, működési módok. Egyéb kriptográfiai algoritmusok: Hash vagy message digest, Hash algoritmusok, SHAttered, Message Authentication Code (MAC), integritás és hitelesség biztosítása szimmetrikus kulccsal, véletlenszám-generálás (véletlenszámok és kriptográfia, kriptográfiailag erős PRNG-k, hardveralapú TRNG-k). Aszimmetrikus (nyilvános kulcsú) kriptográfia: titoktartás biztosítása nyilvános kulcsú titkosítással, Ökölszabály - a magánkulcs birtoklása, az RSA algoritmus: bevezetés, titkosítás RSA-val, szimmetrikus és aszimmetrikus algoritmusok kombinálása, digitális aláírás RSA-val. Nyilvános kulcsú infrastruktúra (PKI): Man-in-the-Middle (MitM) támadás, digitális tanúsítványok MitM-támadás ellen, tanúsítványhivatalok a nyilvános kulcsú infrastruktúrában, X.509 digitális tanúsítvány.
- Biztonsági protokollok: a TLS protokoll (SSL és TLS, használati lehetőségek, a TLS biztonsági szolgáltatásai, SSL/TLS kézfogás), protokollszintű sebezhetőségek (BEAST, CRIME, IDŐ, IDŐ MitM nélkül, BREACH, Védelem a CRIME/TIME/BREACH ellen, FREAK, FREAK – SSL/TLS elleni támadás, logjam attack), padding oracle támadások (adaptív választott kódszöveges támadások, Padding oracle támadás, CBC visszafejtés, Padding oracle példa, Lucky Thirteen, POODLE.
- A webszolgáltatások biztonsága: a webszolgáltatások védelme - két általános megközelítés, SOAP - egyszerű objektum-hozzáférési protokoll, a RESTful webszolgáltatások biztonsága (a felhasználók hitelesítése RESTful webszolgáltatásokban, hitelesítés JSON Web Tokens-el (JWT), engedélyezés REST-tel, a RESTtel kapcsolatos sebezhetőségek), XML biztonság (bevezetés, elemzés, injection: (ab)using CDATA to store XSS payload in XML, védelem szanálással és XML-érvényesítéssel, XML-bomba). XML aláírás (bevezetés, felépítés, Hash ütközés az XML digitális aláírással, kanonikalizáció, dokumentumok aláírása, Signature Wrapping (XSW) támadás, Signature Wrapping ellenintézkedések), JSON biztonság: beágyazása szerveroldalon, injection, eltérés, XSS hamisított JSON elemen keresztül.
- Gyakori kódolási hibák és sebezhetőségek: a biztonsági funkciók helytelen használata, a biztonsági funkciók használatával kapcsolatos tipikus problémák, jelszókezelés (a hashed jelszavak gyengeségei, jelszókezelés és -tárolás, Brute forcing, különleges célú hash-algoritmusok jelszavak tárolására, tipikus hibák a jelszókezelés során), elégtelen automatizálás elleni védelem (Captcha – gyenge pontok).
- Szolgáltatásmegtagadás: DoS bevezetése, aszimmetrikus DoS, szolgáltatásmegtagadás ICD-k ellen (szolgáltatásmegtagadás: az akkumulátor lemerülése), ReDos a Stack Exchange-ben, Hashtable ütközéses támadás (Hashtáblák használata adatok tárolására és ütköztetés).
- A biztonság és a biztonságos kódolás alapelvei: Matt Bishop robusztus programozásának alapelvei és Saltzer és Schroeder biztonsági elvei.
Szükséges előképzettség
Legalább kétéves gyakorlat általános webes alkalmazásfejlesztésben. Alapvető kriptográfiai fogalmak és módszerek alapfokú gyakorlati ismerete ajánlott. Mivel a tananyag angol nyelvű, ezért alapfokú, dokumentumolvasás szintű angol nyelvtudás szükséges. Az előadás magyar nyelven zajlik.