Számítógép-biztonság (VIHIMA06)

A tárgy az IT biztonság MSc mérnök-informatikus mellékspecializáció keretén belül kerül előadásra az őszi félévben. A hivatalos tantárgyi adatlap és tárgykövetelmények a kar szerverén találhatók. Erről az oldalról a tárggyal kapcsolatos legfrisseb adminisztratív információkat és egyéb fontos tudnivalókat lehet letölteni illetve elérni.

Célkitűzés

Objectives

A tárgy célja a számítógépekhez kapcsolódó főbb biztonsági problémák ismertetése, és az azok megoldását szolgáló elvek és a gyakorlatban használt módszerek és eszközök bemutatása. Számítógép alatt különböző típusú számítástechnikai eszközöket értünk (pl. személyi számítógépeket, szervereket, mobil eszközöket, beágyazott számítógépeket, stb). A tárgy lefedi ezen eszközök fizikai és operációs rendszer szintű biztonságát, valamint az eszközökön futó alkalmazások biztonsági kérdéseit; foglalkozik a biztonságot érintő programozási hibákkal, a biztonságos szoftverfejlesztés módszereivel, és a rosszindulatú szoftverekkel (malware).

Lecturers

Előadók

Kiadott anyagok

Course materials

A kiadott anyagokat a Moodle rendszeren keresztül lehet letölteni.

The course materials can be downloaded from the Moodle sytem.

Követelmények

Requirements

A szorgalmi időszakban

2 db házi feladat.

A vizsga időszakban

Szóbeli vizsga.

A félévvégi érdemjegy számítása

P = V + HF1 + HF2, ahol V a vizsgán kapott pontszám (min 24, max 60 pont), HF1 és HF2 a házi feladatokra kapott pontok (házinként min 8, max 20 pont).
Ponthatárok:
- jeles: P >= 85 pont
- jó: P >= 70 pont
- közepes: P >= 55 pont
- elégséges: P >= 40 pont
- elégtelen: P < 40 pont.

Órák ideje és helye

Time and location of classes

Előadás

Lecture

  • szerda, 8:15-10:00, E1A

Gyakorlat

Practise

  • páros hét szerda, 16:15-18:00, QBF08

Konzultáció

Megbeszélés szerint, az előadóval előre egyeztetett időpontban.

Office hours

Please contact the lecturer to schedule an appointment.

Előadások

Lectures

Dátum Téma Előadó
2021.09.08. Secure software development guidelines Futóné Papp D.
2021.09.15. ELMARAD (egyetemi sportnap)
2021.09.22. Security testing Futóné Papp D.
2021.09.29. Memory corruption I Gazdag A.
2021.09.29. Security coding exercise Futóné Papp D.
2021.10.06. Memory corruption II Gazdag A.
2021.10.13. Malware I Bencsáth B.
2021.10.13. Security testing exercise Futóné Papp D.
2021.10.20. Malware II Futóné Papp D.
2021.10.27. OS security Buttyán L.
2021.10.27. Memory corruption exercise Gazdag A.
2021.11.03. Virtualization and container security Ládi G. és Gazdag A.
2021.11.10. Firmware security Buttyán L.
2021.11.10. Windows security and hardening Ládi G.
2021.11.17. Physical attacks and tamper resistant devices Buttyán L.
2021.11.24. Trusted Computing (TPM, SGX, TEEs) Buttyán L.
2021.11.24. Linux security and hardening Ládi G.
2021.12.01. Mobile platform security - Android Ládi G.
2021.12.08. Mobile platform security - iOS Gazdag A.
2021.12.08. Android security exercise Ládi G.

Házi feladat

Homework

Általános leírás

A félév során egy open source alkalmazást kell elkészíteni csapatokban. A projekt célja a tanult módszerek alkalmazása a gyakorlatban, egy biztonságkritikus szoftver teljes tervezési, fejlesztési, és tesztelési folyamatának az elvégzése. Egy olyan online áruházat kell készíteni, amiben egyedi formátumú animált képeket lehet vásárolni. A szoftvernek a CAFF (CrySyS Animated File Format) formátumot kell támogatnia. A teljes rendszer kell, hogy tartalmazzon egy HTTP(S) protokollon elérhető távoli szolgáltatást, valamint az ahhoz tartozó webes vagy mobil klienst.

Felhasznált formátumok:

Követelmények:

  • Funkcionalitás
    • felhasználóknak kell tudni regisztrálni és belépni
    • felhasználóknak kell tudni CAFF fájlt feltölteni, letölteni, keresni
    • felhasználóknak kell tudni CAFF fájlhoz megjegyzést hozzáfűzni
    • a rendszerben legyen adminisztrátor felhasználó, aki tud adatokat módosítani, törölni
  • Szerver oldali funkciókövetelmények
    • CAFF feldolgozási képesség
    • teljesítménymegfontolásokból C/C++ nyelven kell implementálni
    • feladat: a CAFF fájlból egy előnézet generálása a webshopban megjelenítéshez
  • Kliens oldali követelmények
    • vagy egy webes vagy iOS vagy Android implementáció

A félév során a projektet folyamatosan verziókövetve githubon kell fejleszteni. Az egyes mérföldkövek beadása az elkészült commithoz tartozó link leadása lesz a moodle rendszerben. 3 (+1) fázisban lesz a beadás.

Csapatok

A feladatot 4-5 fős csapatokban kell elvégezni. Javasoljuk, hogy úgy álljanak össze a tagok, hogy lehetőleg a szükséges technológiák mindegyikét valaki ismerje. A kialakított csapatok névsorát a kari Moodle rendszerben, a tárgy oldalán, az erre kijelölt beadófelületen kell beadni a második oktatási hét végéig.

Deadlines

Határidő

2021.09.22.

Tervezés

Az első fázis során a tervezésen van a hangsúly. Ebben a részben a rendszer architektúraterveit kell elkészíteni. A beadáskor az SDL folyamat requirements és design fázisaihoz tartozó dokumentumokat, valamint egy tesztelési tervet kell leadni. Ezeket az anyagokat a projekt wiki oldalán kell elkészíteni. (A beadás a wiki git commit.)

Deadlines

Határidő

2021.10.20.

Natív komponens

A második fázisban a szerver oldali komponensek közül a natív nyelven implementált C/C++ parsert kell leadni a hozzá tartozó Makefile-lal együtt.

Deadlines

Határidő

2021.11.10.

Implementáció és tesztelés

A harmadik fázis a végleges projektleadás. Ekkorra a rendszer egészének működőképesnek kell lennie (gitben), és az ehhez tartozó dokumentumoknak is el kell készülniük (wikiben). A projektet a félév végén be kell mutatni működés közben. A leadás előtt várunk egy felosztást (százalékban), hogy melyik csapattag mennyit dolgozott a projekten, ami alapján a végső pontszámból részesülni fog.

Deadlines

Határidő

2021.12.01.

Kiegészítő források

Readings

Korábbi évek

Previous Years