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,
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