Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Kódolás és IT biztonság

    A tantárgy angol neve: Coding and IT Security

    Adatlap utolsó módosítása: 2018. június 25.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Üzemmérnök-informatikus szak, BProf képzés
    közös tárgy
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIHIBB01 3 2/0/2/v 5  
    3. A tantárgyfelelős személy és tanszék Dr. Buttyán Levente, Hálózati Rendszerek és Szolgáltatások Tanszék
    4. A tantárgy előadója

    Név

    Beosztás

    Tanszék

    Dr. Buttyán Levente

    docens

    Hálózati Rendszerek és Szolgáltatások Tanszék

    Dr. Bencsáth Boldizsár

    adjunktus

    Hálózati Rendszerek és Szolgáltatások Tanszék

    Dr. Holczer Tamás

    adjunktus

    Hálózati Rendszerek és Szolgáltatások Tanszék

    Gazdag András

    tud.s.munkatárs

    Hálózati Rendszerek és Szolgáltatások Tanszék

    Dr. Vajda István

    egyetemi tanár

    Hálózati Rendszerek és Szolgáltatások Tanszék

    5. A tantárgy az alábbi témakörök ismeretére épít

    Hálózatok alapjai és üzemeltetése, Operációs rendszerek, A programozás alapjai

    6. Előtanulmányi rend
    Kötelező:
    Training.Code=("5N-A9") ÉS
    (TárgyEredmény("BMEVIHIBA01", "FELVETEL", _) > 0
    VAGY TárgyEredmény( "BMEVIHIBA01" , "aláírás" , _ ) = -1 )
    ÉS
    (TárgyEredmény("BMEVIMIBA01", "FELVETEL", _) > 0
    VAGY TárgyEredmény( "BMEVIMIBA01" , "aláírás" , _ ) = -1 )

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    7. A tantárgy célkitűzése

    A tárgy célja az információs és kommunikációs rendszerekben használt kódolási módszerek alapelveinek ismertetése, valamint néhány jellemző kódolási eljárás, algoritmus gyakorlati alkalmazási készségének kialakítása, különös tekintettel az IT biztonság céljait szolgáló kódolási technikákra (adatok rejtjelezése, integritásvédelme és hitelesítése). A tárgy célja továbbá az IT biztonság kódoláson túlmutató területeinek bemutatása, különböző rendszer-, hálózat- és szoftverbiztonsági problémák és az azok kiküszöbölését szolgáló módszerek alapelveinek ismertetése, és alkalmazási készség kialakítása a gyakorlatban használt védelmi megoldások kiválasztása, konfigurálása, és üzemeltetése területén.

    A tárgyat elvégző hallgatótól elvárható, hogy

    Ismeret tudásszinten (K1) ismeri az információs és kommunikációs rendszerek felépítését, működését, megvalósítását; alapvető kódolási ismeretekkel bír mind a három kódolási területen (hibajelző, hibajavító, és kriptográfiai kódolás); ismeri az információs és kommunikációs rendszerek biztonsági problémáit és az alapvető IT biztonsági célokat;

    Megértés tudásszinten (K2) képes IT biztonsági problémák azonosítására; képes létező IT biztonsági megoldások hiányosságainak azonosítására;

    Alkalmazás tudásszinten (K3) képes a létező kódolási technikák gyakorlati alkalmazására; képes létező IT biztonsági megoldások telepítésére és üzemeltetésére;

    Konstrukciós tudásszinten (K4) képes adott feladatra alkalmas IT biztonsági megoldások kiválasztására.

    8. A tantárgy részletes tematikája

    Az előadások tematikája:

    Előadás

    Előadás anyaga

    1.

    Bevezetés a kódolástechnikába: motivációk, példák, a terület felosztása, áttekintése.

    2.

    Veszteségmentes forrákódolás (tömörítés): átlagos kódszóhossz, entrópia, optimális kódok,   Huffman algoritmus, Lempel-Ziv algoritmus.

    3.

    Veszteséges forráskódolás (tömörítés): kvantálás, transzformációs kódolás, prediktív kódolás. Gyakorlati példák: beszéd- és hangtömörítés, kép- és videótömörítés (GIF, JPEG, MPEG algoritmusok)

    4.

    Csatornakódolás (hibajelző és -javító kódok): Zajos kommunikációs csatorna, kódolási nyereség. Alapfogalmak: hibázás, javítás, detektálás, kódszó, kód, kódtávolság, kódparaméterek, előreirányú és nyugtázásos kódolás. Hibajavítás: Lineáris bináris blokk kód, ciklikus bináris kód. Hibadetekció: CRC hibadetekciós technika. Alkalmazási területek: cellás mobil, VSAT, CDMA.

    5.

    Kriptográfiai kódolás: Szimmetrikus kulcsú algoritmusok: kulcsfolyam- és blokkrejtjelezők, kriptográfiai hash függvények és MAC függvények. Aszimmetrikus kulcsú rejtjelezés és digitális aláírás.

    6.

    Kulcsmenedzsment: véletlenszám-generálás, kulcscsere protokollok és a nyilvános kulcs infrastruktúra (PKI) alapjai.

    7.

    Kriptográfiai protokollok mint alkalmazási példák: WiFi biztonság, TLS, SSH.

    8.

    Bevezetés az IT biztonságba: Motivációk, példák, a terület felosztása, áttekintése.

    9.

    Szoftverbiztonság 1: Webes alkalmazások biztonsági problémái (SQL injection, XSS, CSRF, stb.) és javasolt megoldások.

    10.

    Szoftverbiztonság 2: Alacsony szintű programozási nyelvek biztonsági problémái, támadási módszerek (stack overflow, ROP, heap overflow, integer overflow, race conditions) és védekezési technikák (pl. stack kanári, DEP, ASLR).

    11.

    Szoftverbiztonság 3: Szoftverek biztonsági elemzése és tesztelése (code review, software penetration testing, fuzzing), biztonságos szoftverfejlesztési módszertanok illusztratív példákkal (pl. MS SDL).

    12.

    Rosszindulatú szoftverek: fajtái, működésük, terjedési és rejtőzködési technikák, malware fertőzések detektálása, incidenskezelés.

    13.

    Felhasználóhitelesítés és hozzáférésvédelem: jelszavak, token alapú hitelesítés, biometria, jogosultságkezelés és hozzáférésvédelem különböző rendszerekben (Linux, Windows, Android).

    14.

    Hálózatbiztonság: Tipikus hálózati támadás fázisai, az egyes fázisokban alkalmazott módszerek és eszközök. 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. IDS és SIEM rendszerek fajtái, működésük, konfiguráció. Logelemzés.

    A gyakorlatok (laborok) tematikája:

    Labor

    Labor anyaga

    1.

    Speciális veszteségmentes kódolási eljárás implementálása

    2.

    Médiakódolási eljárások

    3.

    Adatátvitel szimulált zajos csatornán

    4.

    Kriptográfiai programkönyvtár használata

    5.

    Véletlenszám generátorok vizsgálata

    6.

    Tanúsítvány alapú hitelesítés webes környezetben

    7.

    Web biztonság labor

    8.

    Memória korrupciós támadások

    9.

    Szoftver biztonsági tesztelés, fuzzing

    10.

    Rosszindulatú programok visszafejtése, elemzése

    11.

    Hozzáférésvédelem, jogosultság kezelés operációs rendszerekben

    12.

    Etikus hacking módszerek, hálózati logelemzés

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Előadás és laboratóriumi gyakorlatok. Az előadásokon az ismeretek átadásának hatékonyságát szemléletes példákkal és valós életből vett esetek tanulmányozásával igyekszünk növelni. Az alkalmazési készségek fejlesztése a labor gyakorlatokon történik, fokozatosan nehezedő, didaktikusan felépített feladatsorok megoldásával. A feladatok az adott alkalmazási környezetben működő rendszer működésének egyszerű megfigyelésétől, a megfigyelt jelenségek elemzésén keresztül, a konstruktív hibajavításig vagy tervezésig terjednek. 

    10. Követelmények

    A szorgalmi időszakban:

    A laboratóriumi gyakorlatok elején a felkészültséget teszteljük és a gyakorlaton végzett önálló munkát értékeljük. A laboratóriumi gyakorlatok lefelé kerekített kétharmadát kell sikeresen teljesíteni. A sikeres teljesítés az adott laboróriumi gyakorlat során maximálisan elérhető pontszám legalább 40%-ának elérését jelenti. A mulasztott laboratóriumi gyakorlat sikertelennek számít.

    A félév végi aláírás feltételei:

    12 laboratóriumi gyakorlat esetén legalább 8-at, ha a szorgalmi időszakban hétközi munkaszüneti nap, vagy oktatási szünet miatt laboratóriumi gyakorlat elmarad, akkor 11 laboratóriumi gyakorlat esetén 7-et kell sikeresen teljesíteni az aláírás megszerzéséhez.

    A vizsgaidőszakban:

    Sikeres írásbeli vizsga, mely a vizsga során maximálisan elérhető pontszám legalább 40%-ának elérését jelenti.

    Az osztályzat megállapításának módja:

    0,5 * L + 0,5*V a legközelebbi egészre kerekítve, ahol L a beszámítandó laboratóriumi gyakorlatokra kapott osztályzatok átlaga, V pedig a sikeres vizsgára kapott osztályzat. A beszámítandó laboratóriumi gyakorlatok halmaza az összes laboratóriumi gyakorlat legjobban sikerült kétharmadát tartalmazza (pl. 12 laboratóriumi gyakorlat esetén a legjobban sikerült 8 sikeres laboratóriumi gyakorlatot).  

    11. Pótlási lehetőségek

    A sikertelen (mulasztott vagy nem teljesített) laboratóriumi gyakorlatok nem pótolhatók.

    12. Konzultációs lehetőségek

    Oktatókkal egyénileg előre egyeztetett időpontokban.

    13. Jegyzet, tankönyv, felhasználható irodalom

    Buttyán L., Györfi L, Györi S., Vajda I.: Kódolástechnika (elektronikus jegyzet), BME, 2006.

    Buttyán L., Vajda I.: Kriptográfia és alkalmazásai, TypoTeX, 2004.

    + órán kiadott elektronikus segédanyag

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra56
    Készülés előadásokra
    14
    Készülés gyakorlatra
     -
    Készülés laborra
    40
    Készülés zárthelyire
     -
    Házi feladat elkészítése -
    Önálló tananyag-feldolgozás -
    Vizsgafelkészülés40
    Összesen150
    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Buttyán Levente

    docens

    Hálózati Rendszerek és Szolgáltatások Tanszék

    Dr. Vajda István

    egyetemi tanár

    Hálózati Rendszerek és Szolgáltatások Tanszék