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

Garantující katedraKatedra informatikyKredity4
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ík1Semestrzimní
Odkaz na webhttp://www.ivanzelinka.eu/hp/PVB.htmlJazyk výukyčeština
Rok zavedení2016/2017Rok 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í
PLU042 Ing. Jan Plucar, Ph.D.
ZAT108 Ing. Filip Zatloukal
ZEL01 prof. Ing. Ivan Zelinka, Ph.D.
ZNO0011 Ing. Jiří Znoj
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2
kombinovaná Zápočet a zkouška 10+0

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ěž definice problematiky phishingu, spamu a crackingu a hackingu s demonstrací průniku do předinstalovaných operačních systémů. Absolvent získá přehled o moderních postupechprůniku do počítačových systémů a možnostech jejich omezení. 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ě)

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í, nejznámější hackerské techniky, včetně problematiky phishingu, spamu, apod. 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ů.

Povinná literatura:

1. Zelinka I., Merhaut F., Úvod do počítačové bezpečnosti, Fakulta aplikované informatiky, UTB ve Zlíně, Zlín, 2009 2. PeterSzor, Počítačovéviry - analýza útoku a obrana, Zoner Press

Doporučená literatura:

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

Způsob průběžné kontroly znalostí během semestru

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.

Minimální znalostní požadavky

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. Základy phishingu, spamu a antispamu. Spam, definice a historie. Nástroje pro boj se spamem. Antispamové strategie a nástroje pro Windows a Linux. Bayesovský klasifikátor a SpamAssassin. Poštovní klient a filtry. Phishing. Phishing jako podkategorie spamu.,Phishing a spyware. Fals identity, přesměrování a falešná identita. Phishing a Malware. 12. Kybernetická bezpečnost a úvod do hackingu - základní pojmy a postupy. 13. Zálohování. Základní zálohovací systémy a postupy 14. Bitcoiny a 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. DLL injection: Maskování běhu malware za použití této techniky. Přes Vaši aplikaci proveďte DLL injection vytvořené knihovny do zamýšleného (běžícího) procesu. 5. Symetrické šifrování: Malware šifrující soubory - využití např. u ransomwaru. Svůj malware z předchozích cvičení rozšiřte o šifrování a dešifrování souboru, do kterého se ukládají stisknuté klávesy z keyloggeru. 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) Studentské prezentace

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

Prezenční forma (platnost od: 2016/2017 zimní semestr, platnost do: 2017/2018 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet 30  15
        Zkouška Zkouška 70  35
Rozsah povinné účasti:

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramOborSpec.FormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2018/2019 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P čeština Ostrava 2 volitelný odborný stu. plán
2018/2019 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (1801T064) Informační a komunikační bezpečnost P čeština Ostrava 1 povinný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P čeština Ostrava 2 volitelný odborný stu. plán
2017/2018 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika P čeština Ostrava 2 volitelný odborný stu. plán
2016/2017 (N2647) Informační a komunikační technologie (2612T025) Informatika a výpočetní technika K čeština Ostrava 2 volitelný odborný stu. plán
2016/2017 (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