460-4054/06 – Počítačové viry a bezpečnost počítačových systémů (PVBPS)

Garantující katedraKatedra informatikyKredity6
Garant předmětuprof. Ing. Ivan Zelinka, Ph.D.Garant verze předmětuprof. Ing. Ivan Zelinka, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinný
Ročník2Semestrzimní
Jazyk výukyčeština
Rok zavedení2018/2019Rok zrušení
Určeno pro fakultyFEIUrčeno pro typy studianavazující magisterské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
KNE0044 Ing. Ondřej Knebl
PLU042 Ing. Jan Plucar, Ph.D.
REC0021 Ing. Radovan Rečka
ZEL01 prof. Ing. Ivan Zelinka, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Cílem předmětu je seznámení jeho posluchačů s problematikou počítačových virů, jejich definicí a klasifikací, způsobem šíření v počítačových systémech a možným zneužitím k průniku do počítačových systémů. Součástí kurzu je rovněž práce s ostrým malware a konstrukce ukázkových typů malware a jeho hybridizace s umělou inteligencí. Absolvent získá přehled o moderních typech malware, jeho použití jako spyware a kybernetické zbraně. Po úspěšném absolvování kurzu bude absolvent schopen aplikovat opatření zvyšující bezpečnost počítačových systémů.

Vyučovací metody

Přednášky
Cvičení (v učebně)
Projekt

Anotace

V rámci předmětu se bude probírat širší spektrum technik tzv. škodlivého kódu. Budou zmíněny jak historicky klasické techniky, tak moderní postupy a algoritmy. Dále budou probírány na úvodní úrovni počítačové viry, jejich klasifikace a způsoby šíření, práce s ostrým malware a konstrukce ukázkových typů malware a jeho hybridizace s umělou inteligencí. Moderní typy malware a jeho použití jako spyware a kybernetické zbraně. Student by měl mít po absolvování kurzu ucelené znalosti z výšezmíněných oblastí, včetně možnosti aplikací protiopatření, zvyšujících bezpečnost počítačových systémů. Součástí kurzu budou i samostatné úkoly plynoucí z přednášek (příp. cvičení). Jejich kontrola a prezentace bude součástí přednášek.

Povinná literatura:

1. Zelinka I., Merhaut F., Úvod do počítačové bezpečnosti, Fakulta elektrotechniky a informatiky VŠB-TU Ostrava, 2018 2. Peter Szor, Počítačové viry - analýza útoku a obrana, Zoner Press

Doporučená literatura:

3. Pokorný J., Hacking - umění exploitace, Zoner Press Lance J., Phishing bez záhad, Grada, 2007

Další studijní materiály

Forma způsobu ověření studijních výsledků a další požadavky na studenta

Kontrola je založena na vypracovávání protokolů předmětu, pomocí kterých student prokazuje nejen pochopení informací z přednášek, ale i schopnost jejich implementace v daném programovém prostředí. K získání zápočtu je nutno odevzdat cvičícímu všechny požadované protokoly a mít alespoň 80% fyzické účasti na laboratořích. Zápočet je podmínkou NUTNOU k připuštění ke zkoušce. Zkouška je ústní.

E-learning

Další požadavky na studenta

Je požadována schopnost tvořit programy v některém z používaných programovacích jazyků a aplikovat získané znalosti do tvorby algoritmů. Další požadavky na studenta nejsou kladeny.

Prerekvizity

Předmět nemá žádné prerekvizity.

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

Přednášky: 1. Umělá inteligence a umělý život, sebereplikující se struktury (hra života, Fredkinovy sebereplikující se struktury, von Neumann a teorie sebereplikujících se automatů). Umělý život a virtuální univerza (Tierra, biomorfové, SBEAT, SBART, EDEN, SWIMBOOT). Umělý život a komplexní systémy. 2. Historie počítačového malware, vznik, a postupný vývoj. 3. Sebereplikující se struktury, konečné automaty a Turingovy stroje. Počítačový malware z hlediska teoretické informatiky. 4. Definice viru, společné a rozdílné rysy s virem biologickým. Klasifikace škodlivého kódu (viry, adware, spyware, červi,...) a jeho šíření kódu. HOAX. Generátory virů. Základní způsoby šíření. Antimalwerové desatero. 5. Podrobné metody infekce, Metody infekce. Infekce souborů (com, exe, API, MBR, DBR, ...), techniky infekce (přepisující viry, připojující se viry, dutinové viry, utajený bod...). Infekce paměti, využívání přerušení, swapovací viry. 6. Škodlivý kód a jeho závislost na prostředí (t.j. na OS, souborovém formátu, procesoru, architektuře, překladačích, ...). Počítačoví červi, životní cyklus a payload. 7. Základní obranné strategie virů. Skenování v paměti, trasování, ochrana proti ladění, obrněné viry, retroviry, obrana proti heuristické analýze, emulaci a disassemblování, použití nedokumentovaných funkcí. 8. Tvorba a generování virů. Kód viru, zakódované viry (dekryptory, nelineární dekódování, W95/fono, W95/Mad2736), oligomorfní viry, polymorfní viry, metamorfní viry. Generátory virů. 9. Reverzní inženýrství škodlivého kódu, disasemblovací technologie. Základy crackingu. Analýza přepisujícího a připojujícího se viru v jazyce C a jeho disassemblování. 10. Evoluční teorie a nekonvenční vývoj malware. Evoluční vývoj virů, botnet a hejnový virus. 11. Počítačový červ a jeho konstrukce. 12. Spyware a kyberneticke zbraně. 13. Zálohování. Základní zálohovací systémy a postupy 14. Dark web. Cvičení v PC učebnách 1. Keylogger: Studenti si vytvoří základní program malwaru, který bude sloužit jako jednoduchý keylogger. Seznamte se s problematikou tvorby keyloggeru. 2. Windows API, registry, oprávnění: Výuka ovládání Windows API a programová práce s registry Windows. Pomocí registrů Windows zajistěte, aby se Váš keylogger spouštěl při startu systému. 3. PowerShell, Alternate stream: Skrytí malware do alternativního streamu, ukázka práce s PowerShellem. Seznamte se s mechanismy „streamů“, které jsou součástí NTFS file systému. Seznamte se se základy PowerShellu a s kódováním base64. 4. Podrobné metody infekce: Implementace často využívaných metod infekce systému malwarem. 5. Základní obranné strategie virů: Skenování prostředí, obfuskace a ochrana proti ladění. 6. Statická analýza malware 1: Úvod do analýzy malware - integrita souborů, extrakce stringů. Ověřování integrity a získávání dat ze software: Seznamte se s technikami užívanými k ověřování itegrity souborů. Seznamte se s nástroji pro extrakci řetězců (stringů) z exe souborů. Seznamte se s on-line službou https://www.virustotal.com/. 7. Statická analýza malware 2: Práce s PE hlavičkami, odhalení obfuskačních technik u malware. Nastudujte různé techniky, jež se užívají ke skrytí těla malware. Především pak techniky typu „obfuscation“ a „packing“. Detailně se seznamte s hlavičkami užívanými u spustitelných souborů – především pak PE a DOS hlavičkou. 8. Dynamická analýza malware: Debuggování dodaného malware v assembleru, úprava kódu v assembleru. Debugging a Cracking: Seznamte se s procesem debuggování binárních souborů. Crackněte dodanou aplikaci. 9. Praktická analýza malware: Studentům bude dodán kód aktuálního malware, samostatně si pak vyzkouší manuální analýzu, při které by měli uplatnit nabyté vědomosti. Proveďte důkladnou analýzu dodaného vzorku, na internetu najděte o malware různé zajímavé informace a zodpovězte přiložené otázky. 10. Automatická analýza malware za pomocí Cuckoo Sandbox: Instalace Cuckoo sandboxu, analýza malware za použití automatizovaných nástrojů. Nainstalujte si vlastní instanci Cuckoo Sandboxu. Přes Cuckoo Sandbox analyzujte dodané vzorky. Následně také proveďte analýzu keyloggeru, který jste vytvářeli v rámci cvičení. 11. Evoluční teorie a nekonvenční vývoj malware: Evoluční vývoj malware a modifikace chování komunikace botů v botnet síti. 12. Hejnový malware: Experiment s poskytnutým vzorkem hejnového malware. Anylýza charakteristik chování hejnového malware v porovnání s běžným malware. 13. Dark web: prevence kyber kriminality, detekce škodlivých služeb a monitorování provozu. Součástí kurzu budou i samostatné úkoly plynoucí z přednášek (příp. cvičení). Jejich kontrola a prezentace bude součástí přednášek.

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2018/2019 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodůMax. počet pokusů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 45  21
        Zkouška Zkouška 55  30 3
Rozsah povinné účasti: K získání zápočtu: 80% účasti v laboratořích, odevzdání všech protokolů a absolvování zkoušky podle podmínek přednášejícího.

Zobrazit historii

Podmínky absolvování předmětu a účast na cvičeních v rámci ISP: Splnění všech povinných úkolů v individuálně dohodnutých termínech.

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2025/2026 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2024/2025 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2024/2025 (N0714A060020) Komunikační a informační technologie P čeština Ostrava 2 volitelný odborný stu. plán
2023/2024 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2023/2024 (N0714A060020) Komunikační a informační technologie P čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (N0714A060020) Komunikační a informační technologie P čeština Ostrava 2 volitelný odborný stu. plán
2022/2023 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2021/2022 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2020/2021 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2020/2021 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 2 povinný stu. plán
2019/2020 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 2 povinný stu. plán
2019/2020 (N0612A140004) Informační a komunikační bezpečnost IKB P čeština Ostrava 2 povinný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky



2023/2024 zimní
2022/2023 zimní
2021/2022 zimní
2020/2021 zimní
2018/2019 letní