Biztonságos webes alkalmazások készítése és biztonság tesztelése

CL-WDT

Képzési forma:
Képzés hossza:
3 nap (24 óra)
Képzés nyelve:
Magyar/Angol
2023.
november
06.
Normál
Képzési forma:
Normál
Képzés hossza:
3 nap (24 óra)
Képzés nyelve:
Magyar/Angol
2023.
november
06.

Ismertető

A webes alkalmazások jellegükből fakadóan nyíltak és az Interneten elérhetőek, így folyamatosan támadásoknak vannak kitéve. Ennek megfelelően a fejlesztőknek különösen elővigyázatosnak kell lenniük a különböző technológiák használatakor és tisztában kell lenniük a biztonságos programozás buktatóival, míg a tesztelők feladata az esetleges biztonsági hibák hatékony feltárása.

A tanfolyam az OWASP Top 10-es lista alapján veszi sorra a webes alkalmazások specifikus sérülékenységeit és ezek elkerülési módjait, valamint bemutatja a webes alkalmazások fejlesztése során használt különböző fejlesztőeszközök biztonsági megoldásait. A részvevők ugyancsak megismerkedhetnek a biztonsági tesztelés általános módszertanával, valamint a különböző technikákkal, amelyek segítségével az egyes sérülékenységek a leghatékonyabban tárhatóak fel. Ennek kapcsán ugyancsak sorra vesszük azokat a szoftver eszközöket, amelyekkel a biztonsági tesztelés egyes lépései automatizálhatóak. A kurzus átfogó képet ad a szoftver-biztonságról webalkalmazások területén, egyaránt célozva a szoftverfejlesztőket és a tesztelőket is.

Fontos! A tanfolyam elsősorban Java környezetre és fejlesztőeszközökre készült, ezért elsősorban Java környezetben dolgozó gyakorlott fejlesztők, tesztelők, biztonsági szakértők számára ajánlott. A képzés természetesen számos platformfüggetlen technikát és megoldást is tartalmaz, ami akár más platformon programozó szakemberek számára is hasznos lehet.

Az oktatásokon számos egyszerűen érthető gyakorlatot hajtunk végre sérülékeny példaprogramokon. Ezek során a részvevők az oktató vezetésével elemezhetik ki az egyes sérülékenységeket, majd végezhetik el a támadásokat ezek kihasználásával, ami a leghatékonyabb módja annak, hogy megértsék az egyes problémák gyökerét. Minden gyakorlatot “plug-and-play” módon egy előre elkészített virtuális gépben teszünk közzé, amelyek egységes környezetet biztosítanak minden részvevő számára.

Főbb témakörök:
  • Sérülékenységek, támadások és a hibák elkerülése
  • OWASP Top 10 és további gyakori hibák: SQL Injection és egyéb injection hibák
  • Cross-Site Scripting: perzisztens and reflektált XSS, Cross-Site Request Forgery (CSRF), rosszindulatú fájl végrehajtása, Insecure Direct Object Reference, futtatható fájlok feltöltése, biztonsági megoldások helytelen használata, a jelszó tárolás kihívásai, hash-elt jelszavak törése; a fejlesztőkörnyezet architekturális biztonsági megoldásai.
  • Kliensoldali biztonság: JavaScript same origin policy, authentikáció és jelszavak kezelése JavaScriptben, JavaScript obfuszkáció, előzmények ellopása, XSS DOM JavaScript-ben, ClickJacking. Ajax biztonság, XSS és CSRF Ajax-ban, XSS és ClickJacking HTML5-ben, form tampering, history tampering; további sérülékenységek.
  • Webszolgáltatások: SOAP és REST biztonsága; biztonságos kommunikáció és csatorna-szintű biztonság (TLS/SSL), authentikáció és authorizáció; End-to-end biztonság; Web Services Security (WSS), XML digitális aláírás (XML Sig) és titkosítás (XML Enc)
  • Biztonsági tesztelés: biztonsági audit, biztonsági kiértékelés vs. penetrációs tesztelés és etikus hekkelés; veszélyforrás modellezés és kockázatelemzés
  • STRIDE model: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege
  • Webalkalmazások biztonsági tesztelése: white-box, black-box és grey-box tesztelés; strukturált kódellenőrzés, alkalmazott védelmi megoldások ellenőrzése, konfiguráció ellenőrzés;
  • Tesztelési eszközök és módszerek: biztonsági szkennelők (Nikto/Wikto, Nessus, Netsparker), SQL injection eszközök (SqlMap, SqlNinja, Safe3 SQL Injector), sérülékenység adatbázisok (CVE, NVD, BSI, SHIELDS), biztonsági rések keresése (Google hacking, SiteDigger, FSDB, GHDB), sniffer eszközök (Tcpdump, Ngrep, Wireshark), proxy-k (BurpSuite, Paros proxy), fuzz tesztelés, robusztusság és biztonsági tesztelő eszközök, statikus forráskód-elemzők (FlawFinder, FindBugs, RIPS, Pixy, Fortify).

Gyakorlatok:

  • SQL injection kihasználása lépésenként
  • Cross-Site Scripting támadás reflective és persistent XSS kihasználásával
  • Cross-Site Request Forgery (CSRF)
  • Rosszindulatú fájl futtatás
  • Insecure direct object reference kihasználása
  • Futtatható állomány feltöltése és végrehajtása
  • Keresők használata hash-elt értekek visszafejtésére
  • Információszivárgás a hibaüzeneteken keresztül
  • Biztonsági tesztelő eszközök és módszerek használata: fuzz tesztelés, NetSparker használata, Safe3 SQL Injector használata, sérülékenység adatbázisok pásztázása, google hacking, SiteDigger, hálózati forgalom lehallgatása, WireShark és Burp Suite proxy segítségével, FindBugs statikus forráskód elemző használata.

A tanfolyam elsősorban Java környezetre és fejlesztőeszközökre készült, ezért Java környezetben dolgozó gyakorlott fejlesztők, tesztelők, biztonsági szakértők számára ajánlott. A képzés természetesen számos platformfüggetlen technikát és megoldást is tartalmaz, így a képzés más platformon (ASP.NET, HTML5, PHP) programozó szakemberek, webes szakemberek számára is hasznos lehet.

Szükséges előképzettség: legalább egyéves gyakorlat webes alkalmazások illetve front-end fejlesztésében (javasoltan Java környezetben), és biztonsági alapfogalmak ismerete. Mivel a tananyagok és forrásanyagok angol nyelvűek, ezért az angol nyelv legalább alapfokú, dokumentumolvasás szintű ismerete szükséges. Az előadás magyar nyelven zajlik.