Biztonságos programozás PHP környezetben
565150 Ft – 571500 Ft
Tisztelt Érdeklődő!
Jelenleg a tanfolyamnak nincs konkrét időpontja. Amennyiben érdeklődőként regisztrálja magát, elősegíti
a tanfolyam mielőbbi megszervezését.
Várjuk jelentkezését!
Leírás
Óraszám: nap; tanóra
Minimum létszám: fő
A képzés nyelve: magyar
Tandíj: Ft /fő + ÁFA
A képzés rövid leírása:
A képzés célja bemutatni a PHP-ban írt webalkalmazásoknak, azok környezetének és a mögöttük működő adatbázisoknak a gyenge pontjait. A gyakorlatok elsősorban a LAMP (azaz Linux-Apache-PHP-MySQL) alapú fejlesztői környezetre épülnek, de maga a képzés minden PHP-alapú környezetre releváns tudást nyújt. A biztonsági funkciók megvalósítására alkalmazható eszközök megismerésével a fejlesztők hatékonyabban lesznek képesek biztonságos alkalmazásokat készíteni.
A tanfolyam olyan alapvető készségeket biztosít PHP fejlesztők számára, amelyek nélkül ma már nem lehet webalkalmazásokat fejleszteni. Az általános webes sérülékenységeket az OWASP top tízes listája alapján PHP-ban megvalósított példaprogramokon keresztül ismertetjük. A PHP-specifikus sérülékenységeket a standard Fortify kategóriák szerint végighaladva taglaljuk.
Különleges figyelmet kapnak a kliensoldali kérdések is, mint például a JavaScript, az Ajax és a HTML5 biztonsága. A PHP standard biztonsági szolgáltatásait és biztonsági kiterjesztéseit is bemutatjuk, mint pl. az mcrypt, az OpenSSL, a Ctype vagy a HTML Purifier. Külön fejezetet kap a futtató környezet paramétereinek a beállítása biztonsági szemszögből. Végül foglalkozunk a biztonsági teszteléssel is, bemutatva a különböző bevethető módszereket és eszközöket.
Az egyes sérülékenységek, támadás módok, védekezési technikák bemutatása, valamint a különböző programkönyvtárak és tesztelő eszközök használata számos gyakorlati példa formájában kerül bemutatásra, amelyeket a részvevők aktív közreműködésével hajtunk végre.
A képzés programozóknak, fejlesztőknek, szoftvertervezőknek, biztonsági szakembereknek ajánljuk, akik szeretnék megismerni a minél biztonságosabb programok, alkalmazások készítésének professzionális technikáit PHP környezetben. A képzés egyedi formában is elérhető más fejlesztői környezettel, technológiával összevonva.
Képzési tematika:
- Az IT biztonságtól a biztonságos programozásig: általános vs. IT biztonság, biztonsági fogalmak, a kockázat fogalma, biztonsági követelmények, biztonságos programozás, a sérülékenységektől a szervezett bűnözésig, a biztonsági rések jellege, kategóriái.
- Webalkalmazások sérülékenységei: SQL injection a gyakorlatban, védekezés; általános command injection, CSS injection, cookie injection; persistent és reflected Cross-Site Scripting (XSS), védekezés; Cross Site Request Forgery (CSRF), védekezés; rosszindulatú állomány-feltöltés, veszélyes közvetlen hivatkozások, session kezelés problémai, URL hozzáférés szabályozás.
- Bemenet-ellenőrzési hibák: bemenet ellenőrzési funkciók PHP-ban, távoli kód végrehajtás – a Santy worm példája, path traversal, adatellenőrzés MySQL-ben, változó hozzáférés hibák PHP-ban, változó szennyezés, file feltöltési problémák, captcha használata, környezeti beállítások manipulációja.
- Kliensoldali biztonság: JavaScript biztonság, Same Origin Policy, Global Object, authentikáció és jelszó management, JavaScript védelme (obfuscation), clickjacking és védelmi módok; Ajax biztonság (CSRF Ajaxban, a MySpace worm, védelmi javaslatok); HTML5 biztonság (új XSS lehetőségek HTML5-ben, HTML5 clickjacking, form tampering, cross-origin kérések, cross-document üzenetküldés, port scanning)
- A PHP biztonsági szolgáltatásai: kriptográfiai kiterjesztések (hash, mcrypt, openssl), bemenet-ellenőrzési könyvtárak (CType, ext/filter), HTML Purifier, egyéb API-k és eszközök.
- A PHP környezet biztonsága: szerveroldali konfiguráció, LAMP verziók, szerver erőforrások, webszerver konfigurációs sérülékenységek PHP-ban, Apache beállítások. PHP konfigurációs beállítások biztonsága, php.ini beállítások: információ közzététel, erőforrás korlátozások, session kezelés, egyéb beállítások, használaton kívül helyezett beállítások; Safe Mode; veszélyes PHP függvények és osztályok. Futtatási környezet biztonsága: Apache konfiguráció, MIME típusok beállításai. Hardening: szerver virtualizáció, platformok különbözősége, Suhosin, konfiguráció management.
- Biztonsági módszerek helytelen használata: biztonságos véletlenszám generálás PHP-ban, jelszó menedzsment tipikus problémái, authentikáció, személyes adatok védelme (privacy).
- Hiba- és kivételkezeléssel kapcsolatos biztonsági problémák: hibás kivételjelzés és elkapás, PHP adat-összehasonlítási szabályai, információszerzés hibajelentésekből.
- Időzítéses és állapotkezelési hibák: konkurens file hozzáférés, dupla submit probléma, session kezelési kérdései, az open_basedir megoldás sérülékenysége, konkurens hozzáférés az adatbázisokhoz, denial of service előidézése mágikus float konstanssal, hashtable collision támadás és kivédése.
- Biztonsági tesztelés módszertana és eszközei: funkcionális vs. biztonsági tesztelés, tesztesetek tervezése. Módszerek biztonsági tesztelésre: kód ellenőrzés, penetration testing, kézi run-time ellenőrzés, automatikus tesztelés, fuzzing. Biztonsági tesztelési eszközök: web sérülékenység scanner-ek, SQL injection kereső eszközök, publikus adatbázisok, keresőmotorral támogatott támadás, proxy szerverek és sniffer-ek, statikus kód analízis (Rips használata).
- Tanácsok és elvek: fejlesztőknek és üzemeltetőknek, Saltzer és Schröder 8 elve, Matt Bishop robusztus programozási elvei, referenciák, további források, sérülékenység adatbázisok, összefoglaló.
Belépési feltételek:
Programozási ismeretek és legalább két éves gyakorlat PHP nyelven. Tapasztalat Linux, Apache és MySQL használatában, alap web alkalmazásfejlesztési gyakorlat. 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.
Igazolás: Tanúsítvány
További információk
Indulás | 2019.11.07., 2020.01.08., 2020.04.16. |
---|