460-4054/06 – Počítačové viry a bezpečnost počítačových systémů (PVBPS)
Garantující katedra | Katedra informatiky | Kredity | 6 |
Garant předmětu | prof. Ing. Ivan Zelinka, Ph.D. | Garant verze předmětu | prof. Ing. Ivan Zelinka, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 2 | Semestr | zimní |
| | Jazyk výuky | čeština |
Rok zavedení | 2018/2019 | Rok zrušení | |
Určeno pro fakulty | FEI | Určeno pro typy studia | navazující magisterské |
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
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky