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.

Távoktatás
A tárgy oktatását a 2020/21-es tanév őszi félévében az alábbiak szerint tervezzük:

Az előadásokat és gyakorlatokat előre rögzítjük és video formájában elérhetővé tesszük a YouTube-on. A videókra mutató linkeket, az előadások fóliáit, a gyakorlatok segédanyagait a kari Moodle rendszerben osztjuk meg veletek.

A tárgy órarendi sávjában on-line élő konzultációt tartunk MS Teams-en keresztül. Aki ezen hatékonyan szeretne résztvenni, annak célszerű előtte megismerkedni az anyaggal a fentiekben leírtak szerint, és a konzultációt arra használni, hogy a kérdéseit feltegye. Kérdéseket esetleg előre is lehet küldeni a vihima06@crysys.hu címre. Az előre feltett kérdésekre az előadó fel tud készülni, és ezek megválaszolásával kezdi a konzultációt, majd ezután következhetnek további kérdések, melyeket tipikusan a Teams meeting chat paneljén lehet írásban beküldeni. A konzultáció az órarendi sáv második 45 percében lesz megtartva, azaz előadások esetében szerdánként 9:15-10:00 között, gyakorlatok esetében szerdánként (minden második héten) 17:15-18:00 között. Az első 45 perc így használható az előre feltöltött anyagok átnézésére. A konzultáción való részvétel nem kötelező, jelenlétet nem ellenőrzünk. A tárgy neve a Teams rendszerben: Számítógép-biztonság - BMEVIHIMA06-HU.

Lecturers

Előadók

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).

Kiadott anyagok

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

Course materials

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 9:15-10:00, IE.007 on-line (Teams)

Gyakorlat

Practise

  • páros hét szerda, 16:15-18:00 17:15-18:00, QBF.13, QBF.09, QBF.11 on-line (Teams)

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ó
2020.09.09. Secure software development guidelines Futóné Papp D.
2020.09.16. Security testing Futóné Papp D.
2020.09.16. Security coding exercise Futóné Papp D.
2020.09.23. ELMARAD (egyetemi sportnap)
2020.09.30. Memory corruption I Gazdag A.
2020.09.30. Security testing exercise Futóné Papp D.
2020.10.07. Memory corruption II Gazdag A.
2020.10.14. Malware I Bencsáth B.
2020.10.14. Memory corruption exercise Gazdag A.
2020.10.21. Malware II Futóné Papp D.
2020.10.28. OS security Buttyán L.
2020.10.28. Windows security and hardening Ládi G.
2020.11.04. Virtualization and container security Ládi G. és Gazdag A.
2020.11.11. Rektori szünet
2020.11.18. Firmware security Buttyán L.
2020.11.25. Physical attacks and tamper resistant devices Buttyán L.
2020.11.25. Linux security and hardening Ládi G.
2020.12.02. Trusted Computing (TPM, SGX, TEEs) Buttyán L.
2020.12.09. Mobile platform security - Android & iOS Ládi G. és Gazdag A.
2020.12.09. 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ő

2020.09.20.

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ő

2020.10.18.

Natív komponens

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

Deadlines

Határidő

2020.11.08.

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ő

2020.11.29.

Kiegészítő források

Readings

Korábbi évek

Previous Years