IT biztonság

A tantárgy angol neve: IT Security

Adatlap utolsó módosítása: 2022. augusztus 31.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnökinformatikus szak

BSc

kötelező

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIHIAC07 6 3/0/1/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Buttyán Levente,
4. A tantárgy előadója Dr. Buttyán Levente, docens, HIT
Dr. Ács Gergely, docens, HIT
Dr. Bencsáth Boldizsár, adjunktus, HIT
Dr. Biczók Gergely, docens, HIT
Dr. Holczer Tamás, adjunktus, HIT
Futóné Papp Dorottya, tanársegéd, HIT
Gazdag András Gábor, tanársegéd, HIT
Ládi Gergő, tudományos segédmunkatárs, HIT
5. A tantárgy az alábbi témakörök ismeretére épít Programozás alapjai (K3)
Java és C/C++ programozási nyelvek (K3/K4)
Operációs rendszerek (K2/K3)
Kommunikációs hálózatok (K2/K3)
6. Előtanulmányi rend
Ajánlott:
Kommunikációs hálózatok
7. A tantárgy célkitűzése A tárgy célja, hogy növelje a mérnök-informatikus hallgatók biztonságtudatosságát, formálja a biztonsággal kapcsolatos szemléletüket, valamint felkészítse őket az IT biztonsággal kapcsolatos gyakorlati kihívásokra, és áttekintést adjon a gyakorlatban használt IT biztonsági megoldásokról. Ennek érdekében, a tárgy bevezető szintű áttekintést nyújt az IT biztonság különböző területeiről, és leíró jelleggel bemutatja az egyes területek kihívásait és azok megoldásait. Néhány kiemelt területen (pl. szoftverbiztonság, webes rendszerek biztonsága, kriptográfia) gyakorlati feladatok megoldására is sor kerül laborkörnyezetben, így ezeken a területeken a tárgy az előadásokon elhangzott módszerek megértésén túl, azok alkalmazását is célul tűzi ki. A tárgy további célja, hogy alapozást nyújtson azon hallgatók számára, akik IT biztonsággal kapcsolatos ismereteiket az MSc program keretében szeretnék majd elmélyíteni.
8. A tantárgy részletes tematikája Az előadások részletes tematikája:
IT biztonsággal kapcsolatos alapfogalmak, az IT biztonság kockázat alapú megközelítése: alapvető biztonsági célok (CIA, AAA); támadó modellek, sérülékenységek, biztonsági mechanizmusok áttekintése; kockázatmenedzsment, security engineering és security operations folyamata; etikai kérdések az IT biztonságban. (2x45 perc)

A kriptográfia története: alapvető kriptográfiai fogalmak bevezetése történelmi példákon keresztül, egyúttal a kriptográfia története főbb mérföldköveinek bemutatása. Modern kriptográfiai algoritmusok: szimmetrikus és aszimmetrikus kulcsú rejtjelezés, hash függvények, üzenet hitelesítés, digitális aláírás, véletlenszám generálás, kulcscsere protokollok, PKI. Modern kriptográfiai alkalmazások áttekintése, a kriptográfiai rendszerek gyakorlati problémái. (6x45 perc)

Hitelesítés fogalma, módszerei, alkalmazása: a napjainkban használt tudás-, birtok- és tulajdonságalapú hitelesítési módszerek bemutatása. Ezek működési elvei, előnyei és hátrányai. Lehetséges támadások az egyes módszerekkel szemben, védekezés a támadások ellen. Két- és többfaktoros hitelesítés. Esettanulmányok. Néhány, hitelesítéssel kapcsolatos szabvány, keretrendszer és protokoll (pl. OpenID, Kerberos, FIDO) fogalmainak és működésének bemutatása. Engedélyezés fogalma, módszerei, alkalmazása: az engedélyezés célja, megközelítések. Néhány fontosabb, engedélyezéssel kapcsolatos szabvány, keretrendszer és protokoll (pl. OAuth, SAML) fogalmainak és működésének bemutatása; példák mindennapjainkból, esettanulmányok. (4x45 perc)

A hozzáférés-szabályzás és kapcsolódó fogalmai. A hozzáférés-szabályzás általános modellje és két fő megközelítése: DAC, MAC. Engedélyezés és hozzáférés-szabályzás Linux alapú operációs rendszereken: felhasználók, csoportok, engedélybitek; POSIX ACL-ek, SELinux, AppArmor. Engedélyezés és hozzáférés-szabályzás Windows operációs rendszereken: felhasználók, csoportok, fájlrendszer- és megosztásszintű engedélyek. (2x45 perc)

Szoftverekkel kapcsolatos biztonsági kihívások: a tervezés, fejlesztés, tesztelés és üzemeltetés során felmerülő lehetséges problémák és azok megoldásai. Az alkalmazás fejlesztési folyamat lépései során megjelenő biztonsági kihívások bemutatása; a tervezés biztonsági kihívásai; szoftverek biztonsági elemzése és tesztelése (code review, architekturális kockázatelemzés, software penetration testing, fuzzing), néhány tesztelést segítő eszköz bemutatása. Implementációs kihívások alacsony szintű programozási nyelvek esetén: memória korrupciós hibák oka és kihasználása (a programozási hibákból származó biztonsági problémák típusai, a hibákat kihasználó exploit technikák működése, illusztratív példák, pl: buffer overflow, heap overflow, format string, ROP, stb.); a támadásokat megnehezítő védelmi megoldások bemutatása. Implementációs kihívások webes rendszerekben: az alkalmazásokra veszélyt jelentő kliens és szerver oldali támadások (SQL injection, XSS, CSRF, stb.) és a lehetséges védelmi megoldások (SOP, CSP, stb.) bemutatása. (8x45 perc)

Hálózatbiztonsági kihívások: tipikus hálózati támadás fázisai (felderítés, behatolás, backdoor telepítés, lateral movement és priviledge escalation, root-ra törés), az egyes fázisokban alkalmazott módszerek és eszközök; hálózatok biztonsági tesztelése (penetration testing, etikus hacking). (2x45 perc)

Hálózatbiztonsági megoldások: határvédelem tűzfalakkal, tűzfalak típusai, működésük, tipikus konfigurációs beállítások, és tipikus hibák; behatolás detektáló és SIEM rendszerek fajtái, működésük, virtuális magánhálózatok. (4x45 perc)

Kártékony programok (malware) fogalma, működése: Rosszindulatú szoftverek típusai (vírusok, férgek, trójaiak, stb.), működésük, terjedési és rejtőzködési technikák (rootkit-ek), alkalmazások (kiberbűnözés, botnetek, célzott támadások). Kártékony programok detekciója. (2x45 perc)

IT rendszerek biztonságának üzemeltetési kérdéssei: Sérülékenységek menedzsmentje, frissítés, back-up. Biztonsági incidensek kezelése: malware fertőzések detektálása, malware alapú incidensek kezelése, logelemzés, memória és disk forensics alapjai. (2x45 perc)

Személyes adatok védelme (privacy): Adatvédelem (privacy) és a személyes adat fogalma, motivációs példák. Webes nyomonkövetési technikák (pl. browser fingerprinting, third party cookie-k). Anonim kommunikációs rendszerek működése, alkalmazási területek. Query auditing. Anonimizáció, pszichológiai profilozás. (2x45 perc)

A gépi tanulás biztonsági kihívásai: Motivációs példák. CIA (confidentiality, integrity, availability) problémák a gépi tanulásban, gépi modellek auditálása, jogi háttér. Confidentiality: Modell inverzió, Membership támadás. Integrity: Támadó minták (evasion), tanulóadat szennyezése (targeted pollution). Availability: Sponge minták generálása, nem célzott szennyezés (untargeted pollution). (4x45 perc)

A biztonság és a privacy közgazdasági megközelítése: Egyéni és szervezeti gazdasági ösztönzők szerepe az információbiztonságban. Aszimmetrikus információ: kontraszelekció, erkölcsi kockázat, tragacspiac. Ösztönzők összehangolásának hiánya: példák, IT biztonsági eszközök és szolgáltatások piaca. Externáliák: biztonság mint externália, biztonsági keresztfüggések. Sérülékenységek gazdaságtana. Kiberbiztosítás. Privacy gazdasági kérdései, privacy keresztfüggések, példák: Facebook, Google, genom, lokáció, k-anonim rendszerek. (4x45 perc)
Amennyiben a félév során elmarad egy előadás (pl. ünnepnap miatt), az utolsó téma (economics of security and privacy) összevonva, rövidítve, egy előadáson hangzik el.

A gyakorlatok/laborok részletes tematikája
1. labor: Kriptográfiai programkönyvtár használata: Kriptográfiai mechanizmusokat (rejtjelezés, digitális aláírás) használó programok készítése alkalmas kriptográfiai programkönyvtár használatával.

2. labor: Inputvalidáció: A támadási felületen át érkező adatok megfelelő ellenőrzésenek elsajátítása olyan alkalmazás készítésével, mely képes a megadott, potenciálisan veszélyes bemeneteket helyesen kezelni.

3. labor: Szoftverek biztonsági tesztelése: A különböző technológiákkal fejlesztett alkalmazások esetén felmerülő tesztelési módszerek megismerése és elsajátítása, kiemelt hangsúllyal az alacsony szintű nyelveken fejlesztett alkalmazásokra.

4. labor: Webes rendszerek biztonsága: Webes alkalmazásokat fenyegető támadások megértése és kipróbálása; a támadásokat megállító lehetséges védelmek kiválasztása vagy alkalmazása.

5. labor: Incidens kezelés, digitális elemzés (forensics): Logelemzés, rögzített hálózati forgalom (packet capture) elemzése, memóriakép és háttértár digitális elemzése (memory and disk forensics).

6. labor: Személyes adatok védelme (privacy): Query auditor fejlesztése alkalmas lineáris algebra könyvtár használatával.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és laboratórium:
•    Elméleti tananyag: frontális előadások (illusztratív példákkal, esettanulmányokkal), illetve kiadott írásos anyag útmutató kérdések/szempontrendszer segítségével történő önálló feldolgozása (reading assignment)
•    Gyakorlati ismeretek: távolról vagy egyetemi laborban végzet laboratóriumi gyakorlatok önálló feladat-megoldással, illetve a gyakorlati feladatok megoldását segítő, előre kiadott írott anyag (mérési segédlet) laboratóriumi gyakorlat előtt történő önálló feldolgozása
10. Követelmények Szorgalmi időszakban:
•    1 db nagy zárthelyi (sikeres teljesítés feltétele: a zárthelyin megszerezhető pontszám min. 40%-nak elérése)
•    6 db labor esetén legalább 4 db labor sikeres teljesítése (ha a félév során valamelyik labor elmarad, akkor 3 db labor sikeres teljesítése) szükséges az aláírás megszerzéséhez (sikeres teljesítés feltétele: a labor gyakorlat során megszerezhető pontszám min. 50%-nak elérése)

Vizsgaidőszakban:
•    Írásbeli vizsga (sikeres teljesítés feltétele: a vizsgán megszerezhető pontszám min. 40%-nak elérése)

A félév végi osztályzat megállapításának módja:
1/3 * ZH + 2/3 * V a legközelebbi egészre kerekítve, ahol ZH a sikeres nagy zárthelyi, V pedig a sikeres vizsga osztályzata

11. Pótlási lehetőségek A sikertelen (mulasztott vagy nem teljesített) laboratóriumi gyakorlatok nem pótolhatók (ezért nem kötelező a 6 laborból csak 4-et sikeresen teljesíteni).
A sikertelen (mulasztott vagy nem teljesített) nagy zárthelyi a szorgalmi időszakban egyszer pótolható.
12. Konzultációs lehetőségek Oktatókkal egyeztetett alkalmi időpontban.
13. Jegyzet, tankönyv, felhasználható irodalom •    Előadásokhoz rendelt online olvasnivalók (könyvfejezetek, cikkek, blogsorozatok)
•    The Cyber Security Body Of Knowledge (CyBOK) on-line gyűjtemény fejezetei (https://www.cybok.org/)
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra20
Felkészülés zárthelyire20
Házi feladat elkészítése0
Kijelölt írásos tananyag elsajátítása14
Vizsgafelkészülés40
Összesen150
15. A tantárgy tematikáját kidolgozta Dr. Buttyán Levente, docens, HIT
Dr. Ács Gergely, docens, HIT
Dr. Bencsáth Boldizsár, adjunktus, HIT
Dr. Biczók Gergely, docens, HIT
Dr. Holczer Tamás, adjunktus, HIT
Futóné Papp Dorottya, tanársegéd, HIT
Gazdag András Gábor, tanársegéd, HIT
Ládi Gergő, tudományos segédmunkatárs, HIT
IMSc tematika és módszer Online módon elérhető, IT biztonsággal kapcsolatos gyakorlati feladatok (pl. saját vagy más által szervezett CTF versenyek feladatainak) megoldásával lehet IMSc pontokat szerezni. Az ehhez szükséges ismeretek önálló elsajátítását útmutatóval (study guide) segítjük.
IMSc pontozás Alkalomszerűen megállapított pontozás. Maximum 25 IMSc pont szerezhető.