„Kódolás és IT biztonság” változatai közötti eltérés
→Előadás: Óra anyagának hozzáadása |
→Előadás: Óra anyagának hozzáadása |
||
(23 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva) | |||
24. sor: | 24. sor: | ||
=== A szorgalmi időszakban === | === A szorgalmi időszakban === | ||
*A '''labor'''on megjelenés kötelező. Ha a félévben 12 labor van, abból 8-at kell teljesíteni, ha 11 van, akkor 7-et. | *A '''labor'''on megjelenés kötelező. Ha a félévben 12 labor van, abból 8-at kell teljesíteni, ha 11 van, akkor 7-et. | ||
* | **A laborok elején beugrók vannak, ahol 5 kérdésből 3-at helyesen kell megválaszolni, különben a labor sikertelen. A sikeres beugróval 1 pont szerezhető. | ||
*A | **A labor vezetett és önálló feladatokból áll, amik külön vannak értékelve. A vezetett részért 1 és az önállóért 2 pont szerezhető. | ||
**A laboronkénti pontszámítás: 1 + szerzett pontok (max: 5) | |||
**A sikeres laborért minimum 2 pontot kell elérni. | |||
**A mulasztott laborjelenlét sikertelen labornak számít. | |||
*'''Pótlási lehetőségek:''' | *'''Pótlási lehetőségek:''' | ||
43. sor: | 46. sor: | ||
=== Előadás === | === Előadás === | ||
A prezentációk a Moodle-re vannak feltöltve. | A prezentációk a [https://edu.vik.bme.hu/course/view.php?id=10810 Moodle-re] vannak feltöltve. | ||
* [[Media:kripto_ea-01_20230907_Intro2ITsec_lowres.pdf | 1. hét (Dr. Buttyán Levente)]]: bevezetés: biztonsági fogalmak (sérülékenység, rendszerkompromittálódás), CIA, AAA, security engineering & operations; támadó: -profilok, ökoszisztéma, támadáspéldák (APT1, Stuxnet, Duqu), zero-day exploit, osztályozás (CAPEC); sérülékenységek: típusai, osztályozás (CWE), publikáció (CVE), zero-day exploit; ellenintézkedések (NIST SP800-53); biztonsági incidensek kezelése: célok, lépések (NIST SP800-61) | * [[Media:kripto_ea-01_20230907_Intro2ITsec_lowres.pdf | 1. hét (Dr. Buttyán Levente)]]: bevezetés: biztonsági fogalmak (sérülékenység, rendszerkompromittálódás), CIA, AAA, security engineering & operations; támadó: -profilok, ökoszisztéma, támadáspéldák (APT1, Stuxnet, Duqu), zero-day exploit, osztályozás (CAPEC); sérülékenységek: típusai, osztályozás (CWE), publikáció (CVE), zero-day exploit; ellenintézkedések (NIST SP800-53); biztonsági incidensek kezelése: célok, lépések (NIST SP800-61) | ||
* [[Media:kripto_ea-02_20230914_SecSWDev.pdf | 2. hét (Gazdag András)]]: szoftverbiztonság; biztonságos fejlesztési életciklus: Microsoft SDL: előtte, közben (követelmények, tervezés, implementáció, verifikáció (statikus és dinamikus elemzés, fuzzing, sérülékenységszkennelés, penetrációs tesztelés), kiadás), utána (válasz) | * [[Media:kripto_ea-02_20230914_SecSWDev.pdf | 2. hét (Gazdag András)]]: szoftverbiztonság; biztonságos fejlesztési életciklus: Microsoft SDL: előtte, közben (követelmények, tervezés, implementáció, verifikáció (statikus és dinamikus elemzés, fuzzing, sérülékenységszkennelés, penetrációs tesztelés), kiadás), utána (válasz) | ||
* [[Media:.pdf | 3. hét (Nagy Roland)]]: memory corruption: buffer overflow (stack-based) és védekezés (DEP, kanári, ASLR), integer overflow | * [[Media:kripto_előadás_03_20230921_MemorySec.pdf | 3. hét (Nagy Roland)]]: memory corruption: buffer overflow (stack-based) és védekezés (DEP, kanári, ASLR), integer overflow | ||
* [[Media:kripto_előadás_04_20230928_WebSec.pdf | 4. hét (Gazdag András)]]: URL, URI, HTTP, HTML, DOM; szerveroldali architektúra (klasszikus / eseményalapú), OWASP top 10; támadások és kivédésük: szerveroldali: SQL injection (típusai, megelőzés), kliensoldali: same origin policy, JavaScript (scope, futtatás, kliensoldali kód, obfuszkáció), XSS (típusai, megelőzés, védekezés); web security scanners, bug bounty | |||
* [[Media:kripto_előadás_05_20231005_AAA.pdf | 5. hét (Ládi Gergő)]]; [[Media:kripto_előadás_05_20231005_L07_Intro.pdf | összefoglalás]], [https://www.youtube.com/watch?v=qecJTIL7pRA videó]: AAA: authentication (knowledge-based, posession-based, inheritence-based), authorization (DAC: ACL és UAC, UID és GID; MAC, SAM; chmod, chown, chgrp) | |||
* [[Media:kripto_előadás_06_20231012_NetSec_hu.pdf | 6. hét (Dr. Holczer Tamás)]]: tűzfal: csoportosítás (csomagszűrő, állapotalapú, alkalmazásszintű), DMZ, IDS (típusai detekció és elhelyezkedés alapján), IPS (snort), SIEM (összefüggések vizsgálata), VPN | |||
* [[Media:kripto_előadás_07_20231019_Malware.pdf | 7. hét (Dr. Bencsáth Boldizsár)]]; videók ([https://youtu.be/glo01SJpnAE 1], [https://youtu.be/ZAMS8U3NrQs 2], [https://youtu.be/waFUGcBfyJk 3]): malware: típusai (vírus, féreg, trójai), története, példák | |||
* [[Media:kripto_előadás_08_20231026_CryptoCoding1.pdf | 8. hét (Dr. Biczók Gergely)]]: kriptográfia: kulcsprobléma, Caesar-rejtjelező, kulcstér, Enigma; modern kódolások típusai (RSA, AES), one-time pad, kulcsfolyamrejtjelező (GSM, Bluetooth), blokkrejtjelező (ECB; CBC: IV, padding; CTR); támadások (Kerckhoff-elv); aszimmetrikus kulcsú / hibrid kódolás; könyvtárak | |||
* 9. hét (Dr. Buttyán Levente): előző heti anyag ismétlése és folytatása: PyCryptodome (RSA(-OAEP) (de)kódolás, kulcspárexportálás); [[Media:kripto_előadás_09_20231102_CryptoCoding2.pdf | kriptográfia, folytatás]]: (H)MAC, hashfüggvények (ütközésellenállóság); digitális aláírás (hash-and-sign); kulcsok: generálás (PRNG, hashing, salting, PBKDF2), tárolás | |||
* [[Media:kripto_előadás_10_20231109_Veszteségmentes_tömörítés.pdf | 10. hét (Dr. Vajda István)]]: veszteségmentes tömörítés: célja, Huffmann-kódolás (.gz, .zip, .bz2, .jpeg (részalgoritmusa)): (kódszavak) bináris fája; LZW (.gif, .pdf): könyvtár | |||
* 11. hét: ''szünet'' | |||
* [[Media:kirpto_előadás_12_20231123_Veszteséges_tömörítés.pdf | 12. hét (Dr. Vajda István)]]: veszteséges tömörítés: JPEG: DCT (Fourier-transzformáció), kvantálás, DPCM, RLC, Huffman-kódolás; MPEG: mozgáspredikció (kódolás, hiba, mozgásvektor), I- / P- / B-frame | |||
* [[Media:kripto_előadás_13_20231130_Hibakontroll.pdf | 13. hét (Dr. Vajda István)]]: hibadetekció és -korrekció: Hamming-kódolás, -távolság és -súly, lineáris kód, generátor- és paritásellenőrző mátrix, paritásellenőrzó kód, CRC, szindróma-dekódolás, Reed–Solomon-kód | |||
=== Labor === | === Labor === | ||
53. sor: | 66. sor: | ||
A laborok 3 részre bonthatóak: beugró/"tudáspróba", vezetett rész és önálló rész. | A laborok 3 részre bonthatóak: beugró/"tudáspróba", vezetett rész és önálló rész. | ||
A | A feladatok a [https://edu.vik.bme.hu/course/view.php?id=10810 Moodle-re] vannak feltöltve, és ott is kell beadni a megoldásokat. | ||
* 1. hét: ''elmaradt'' | * 1. hét: ''elmaradt'' | ||
* 2. hét: ''szünet'' | * 2. hét: ''szünet'' | ||
* 3. hét: [[Media: kripto_Lab0_20230919_Briefing.pdf | tudnivalók]], [[Media:kripto_gyak-03_20230919_INTRO_CHALLENGES.pdf | labor]]: Unix-parancsok ismétlése (apt(-get), ls, cat, vim, top, jobs, chmod, ll, sudo !!) és | * 3. hét: [[Media: kripto_Lab0_20230919_Briefing.pdf | tudnivalók]], [[Media:kripto_gyak-03_20230919_INTRO_CHALLENGES.pdf | labor]] ([https://www.youtube.com/watch?v=0JpuHeo-QPs videó]): Unix-parancsok ismétlése (apt(-get), ls, cat, vim, top, jobs, chmod, ll, sudo !!) és Juice Shop (npm, nginx, symlink, wget, mv, ln, service, tail, .conf, grep) | ||
* [[Media:kripto_labor_04_20230926_doc_input_validation.pdf | 4. hét]]: CrySyS Image File Format; property, decorator; debugging | |||
* [[Media:kripto_labor_05_20231003_TEST_challenges.pdf | 5. hét]]: type hinting: mypy; unit test: pytest (fixture) | |||
* [[Media:kripto_labor_06_20231010_WEB-SERVER_challenges.pdf | 6. hét]] ([https://www.youtube.com/watch?v=Bs9yV7ZGZZc videó]): Juice Shop: SQL injection, sleep(), social engineering | |||
* [[Media:kripto_labor_07_20231017_WEB-CLIENT_challenges.pdf | 7. hét]] ([https://www.youtube.com/watch?v=eLdCojOCulY videó]): Juice Shop: XSS (reflected, DOM-based, persistent) | |||
* [[Media:kripto_labor_08_20231024_doc_pcap_student.pdf | 8. hét]]: Wireshark: FTP, HTTP (TLS) | |||
* [[Media:kripto_labor_09_20231031_AccessControl_Challenges-1.pdf | 9. hét]] ([https://www.youtube.com/watch?v=KNPvhI7pFsA videó]): AAA | |||
* [[Media:kripto_labor_10_20231107_pent_meresi_utmutato.pdf | 10. hét]] ([https://www.youtube.com/watch?v=oPsCpOaV3X4 videó]): penetration testing: logok ([[Media:kripto_labor_10_20231107_pent_etc.tgz |1]], [[Media:kripto_labor_10_20231107_pent_log.tgz | 2]], [[Media:kripto_labor_10_20231107_pent_lslar.gz | 3]]) elemzése | |||
* [[Media:kripto_labor_11_20231114_doc_malware.pdf | 11. hét]]: [[Media:kripto_labor_11_20231114_suspicious.zip | malware]] adatainak vizsgálata a [https://www.virustotal.com/ VirusTotal]-on | |||
* [[Media:kripto_labor_12_20231121_CRYPTO_challenges.pdf | 12. hét]]: pycryptodome ([[Media:kripto_labor_12_20231121_CRYPTO_challenges.zip |kiindulófájlok]]): PKCS7, PBKDF2, AES, IV, CBC, ECB, RSA-OAEP | |||
* [[Media:kripto_labor_13_20231128_L11_Challenges.pdf | 13. hét]] ([[Media:kripto_labor_13_20231128_COMPRESS_challenges.zip |kiindulófájlok]]): zlib (.zip), OpenCV, .jpeg, PSNR, RGB (BGR), .png, Y'CbCr | |||
* [[Media:kodesit_labor_2020_12.pdf | 12. labor]]: [https://www.youtube.com/watch?v=VSBE91qBEpg vezetett rész], [[:File:kodesit_labor_2020_12_src.zip | src]] | * [[Media:kodesit_labor_2020_12.pdf | 12. labor]]: [https://www.youtube.com/watch?v=VSBE91qBEpg vezetett rész], [[:File:kodesit_labor_2020_12_src.zip | src]] | ||
A lap jelenlegi, 2024. február 22., 09:02-kori változata
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.
Követelmények
Előtanulmányi rend
- A tárgy felvételéhez a Hálózatok alapjai és üzemeltetése és a Operációs rendszerek előzetes vagy egyidejű felvétele szükséges.
A szorgalmi időszakban
- A laboron megjelenés kötelező. Ha a félévben 12 labor van, abból 8-at kell teljesíteni, ha 11 van, akkor 7-et.
- A laborok elején beugrók vannak, ahol 5 kérdésből 3-at helyesen kell megválaszolni, különben a labor sikertelen. A sikeres beugróval 1 pont szerezhető.
- A labor vezetett és önálló feladatokból áll, amik külön vannak értékelve. A vezetett részért 1 és az önállóért 2 pont szerezhető.
- A laboronkénti pontszámítás: 1 + szerzett pontok (max: 5)
- A sikeres laborért minimum 2 pontot kell elérni.
- A mulasztott laborjelenlét sikertelen labornak számít.
- Pótlási lehetőségek:
- A laborok nem pótolhatóak.
A vizsgaidőszakban
- A vizsga legalább elégséges (40%) teljesítése szükséges.
Félévvégi jegy
- A félévvi eredmény kiszámítása: 0,5 * L + 0,5 * V
- L: beszámítandó laboratóriumra kapott osztályzatok átlaga
- V: vizsgára kapott osztályzat
- Felfelé van kerekítve (pl.: 4es laborjegy és 3as vizsga esetén a végjegy 4es)
Tematika
A kari Moodle-ben fent van minden ami kell a tárgyhoz, legyen az labor vagy előadás.
Előadás
A prezentációk a Moodle-re vannak feltöltve.
- 1. hét (Dr. Buttyán Levente): bevezetés: biztonsági fogalmak (sérülékenység, rendszerkompromittálódás), CIA, AAA, security engineering & operations; támadó: -profilok, ökoszisztéma, támadáspéldák (APT1, Stuxnet, Duqu), zero-day exploit, osztályozás (CAPEC); sérülékenységek: típusai, osztályozás (CWE), publikáció (CVE), zero-day exploit; ellenintézkedések (NIST SP800-53); biztonsági incidensek kezelése: célok, lépések (NIST SP800-61)
- 2. hét (Gazdag András): szoftverbiztonság; biztonságos fejlesztési életciklus: Microsoft SDL: előtte, közben (követelmények, tervezés, implementáció, verifikáció (statikus és dinamikus elemzés, fuzzing, sérülékenységszkennelés, penetrációs tesztelés), kiadás), utána (válasz)
- 3. hét (Nagy Roland): memory corruption: buffer overflow (stack-based) és védekezés (DEP, kanári, ASLR), integer overflow
- 4. hét (Gazdag András): URL, URI, HTTP, HTML, DOM; szerveroldali architektúra (klasszikus / eseményalapú), OWASP top 10; támadások és kivédésük: szerveroldali: SQL injection (típusai, megelőzés), kliensoldali: same origin policy, JavaScript (scope, futtatás, kliensoldali kód, obfuszkáció), XSS (típusai, megelőzés, védekezés); web security scanners, bug bounty
- 5. hét (Ládi Gergő); összefoglalás, videó: AAA: authentication (knowledge-based, posession-based, inheritence-based), authorization (DAC: ACL és UAC, UID és GID; MAC, SAM; chmod, chown, chgrp)
- 6. hét (Dr. Holczer Tamás): tűzfal: csoportosítás (csomagszűrő, állapotalapú, alkalmazásszintű), DMZ, IDS (típusai detekció és elhelyezkedés alapján), IPS (snort), SIEM (összefüggések vizsgálata), VPN
- 7. hét (Dr. Bencsáth Boldizsár); videók (1, 2, 3): malware: típusai (vírus, féreg, trójai), története, példák
- 8. hét (Dr. Biczók Gergely): kriptográfia: kulcsprobléma, Caesar-rejtjelező, kulcstér, Enigma; modern kódolások típusai (RSA, AES), one-time pad, kulcsfolyamrejtjelező (GSM, Bluetooth), blokkrejtjelező (ECB; CBC: IV, padding; CTR); támadások (Kerckhoff-elv); aszimmetrikus kulcsú / hibrid kódolás; könyvtárak
- 9. hét (Dr. Buttyán Levente): előző heti anyag ismétlése és folytatása: PyCryptodome (RSA(-OAEP) (de)kódolás, kulcspárexportálás); kriptográfia, folytatás: (H)MAC, hashfüggvények (ütközésellenállóság); digitális aláírás (hash-and-sign); kulcsok: generálás (PRNG, hashing, salting, PBKDF2), tárolás
- 10. hét (Dr. Vajda István): veszteségmentes tömörítés: célja, Huffmann-kódolás (.gz, .zip, .bz2, .jpeg (részalgoritmusa)): (kódszavak) bináris fája; LZW (.gif, .pdf): könyvtár
- 11. hét: szünet
- 12. hét (Dr. Vajda István): veszteséges tömörítés: JPEG: DCT (Fourier-transzformáció), kvantálás, DPCM, RLC, Huffman-kódolás; MPEG: mozgáspredikció (kódolás, hiba, mozgásvektor), I- / P- / B-frame
- 13. hét (Dr. Vajda István): hibadetekció és -korrekció: Hamming-kódolás, -távolság és -súly, lineáris kód, generátor- és paritásellenőrző mátrix, paritásellenőrzó kód, CRC, szindróma-dekódolás, Reed–Solomon-kód
Labor
A végleges laborjegy az a 8 legjobban sikerült labor jegyének az átlagából adódik össze (.5-től felfelé kerekítve). A laborok 3 részre bonthatóak: beugró/"tudáspróba", vezetett rész és önálló rész.
A feladatok a Moodle-re vannak feltöltve, és ott is kell beadni a megoldásokat.
- 1. hét: elmaradt
- 2. hét: szünet
- 3. hét: tudnivalók, labor (videó): Unix-parancsok ismétlése (apt(-get), ls, cat, vim, top, jobs, chmod, ll, sudo !!) és Juice Shop (npm, nginx, symlink, wget, mv, ln, service, tail, .conf, grep)
- 4. hét: CrySyS Image File Format; property, decorator; debugging
- 5. hét: type hinting: mypy; unit test: pytest (fixture)
- 6. hét (videó): Juice Shop: SQL injection, sleep(), social engineering
- 7. hét (videó): Juice Shop: XSS (reflected, DOM-based, persistent)
- 8. hét: Wireshark: FTP, HTTP (TLS)
- 9. hét (videó): AAA
- 10. hét (videó): penetration testing: logok (1, 2, 3) elemzése
- 11. hét: malware adatainak vizsgálata a VirusTotal-on
- 12. hét: pycryptodome (kiindulófájlok): PKCS7, PBKDF2, AES, IV, CBC, ECB, RSA-OAEP
- 13. hét (kiindulófájlok): zlib (.zip), OpenCV, .jpeg, PSNR, RGB (BGR), .png, Y'CbCr
Vizsga
A vizsga 50 pontos, és 20 pontot el kell érni az elégségeshez. A jegyszámítás az alábbi (valójában ugyanaz, mintha az átlagos jegy százalékokat nézed, csak 2vel elosztva):
Pont Jegy 0 - 19 1 20 - 27 2 28 - 34 3 35 - 42 4 43 - 50 5
Kedvcsináló
A tárgyat nagyon érdekesen tartják, és a laborok egyediek egy jó módon (mondjuk a stílusa hasonlít a HAU-ra). Ha valaki a félév közben aktívan készül és csinálja a laborokat, akkor az 5ös megszerzése nem jelent nagy gondot.
1. félév | |
---|---|
2. félév | |
3. félév | |
4. félév | |
5. félév | |
6. félév |