Cvičenia z predmetu Princípy informačnej bezpečnosti

Exercises from the Principles of information security subject

 

 

 

Cvičenia z predmetu Princípy informačnej bezpečnosti sa realizujú spracovaním individuálneho projektu na vybratú tému. Projekt okrem analytickej časti musí obsahovať aj experimentálnu časť s vybratým bezpečnostným nástrojom. Experimentovanie s bezpečnostným nástrojom vykoná študent na svojich prostriedkoch. V prípade, že študent nedisponuje vhodným prostriedkom na experimentovanie, bude mu pridelený virtuálny stroj s platformou Linux v cloude. Materiály na spracovanie projektu získajú študenti najmä prostredníctvom Internetu. Na projekty vypísané nižšie uvedené témy. Po dohode s cvičiacim môžu byť akceptované aj iné aktuálne témy z princípov informačnej bezpčnosti. Študenti rozdelení do skupín a projekty riešené individuálne. V každej skupine je najviac 6 študentov a každý student rieši iný projekt. Rozdelenie študentov do skupín v rámci cvičení vykoná cvičiaci.

Exercises from the Principles of information security subject are implemented by processing an individual project on a selected topic. In addition to the analytical part, the project must also contain an experimental part with the selected security tool. Experimentation with the security tool will be done by the student on his own resources. If the student does not have suitable means for experimentation, he will be assigned a virtual machine with a Linux platform in the cloud. Materials for processing the project will be obtained by students mainly via the Internet. The following topics are listed for the projects. Upon agreement with the instructor, other current topics from the principles of information security may also be accepted. Students are divided into groups and projects are solved individually. Each group has a maximum of 6 students and each student solves a different project. The division of students into groups within the exercises is carried out by the instructor.

 

Témy projektov / Project topics :


1. Škodlivý kód, jeho formy a identifikácia (Windows, Android)

·         analýza existujúcich typov škodlivého kódu na vybranej platforme. Literatúra: Michael Sikorski and Andrew Honig. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. No Starch Press, San Francisco, CA, USA, 1st edition, 2012. 

·         návrh a vytvorenie jednoduchého škodlivého kódu

·         identifikácia voľne dostupným antivírusovým softvérom (Top 10 free AV)

1. Malicious code, its forms and identification (Windows, Android)

·         analysis of existing types of malicious code on the selected platform. Literature: Michael Sikorski and Andrew Honig. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. No Starch Press, San Francisco, CA, USA, 1st edition, 2012.

·         design and creation of simple malicious code

·         identification by freely available antivirus software (Top 10 free AV)

 

2. Ochrana pred útokmi SQL injection

·         analýza SQL injection, realizácia takéhoto útoku na testovacej stránke

·         analýza možných spôsobov ochrany pred SQL injection - manuálna ochrana, ochrana v nejakom webovom frameworku

·         zabezpečenie testovacej stránky a overenie rovnakými útokmi ako v prvom bode

2. Protection against SQL injection attacks

·         SQL injection analysis, implementation of such an attack on the test page

·         analysis of possible methods of protection against SQL injection - manual protection, protection in some web framework

·         security of the test page and verification with the same attacks as in the first point

 

3. Email, bezpečná pošta, jeho hrozby, detekcia (spoofed, phishing email, ...)

·         analýza hrozieb / útokov realizovaných pomocou elektronickej pošty

·         metódy bezpečnej pošty

·         analýza e-mailu (hlavička a jeho súčasti)

·         realizácia vybraného útoku

·         návrh identifikácie / procesu odhalenia takýchto útokov

3. Email, secure mail, its threats, detection (spoofed, phishing email, ...)

·         analysis of threats / attacks carried out using electronic mail

·         secure mail methods

·         e-mail analysis (header and its components)

·         execution of the selected attack

·         design of the identification / detection process of such attacks

 

4. Webové aplikačné brány (web application firewalls)

·         analýza existujúcich (voľne dostupných) riešení (možnosti identifikácie hrozieb) Zoznam open source WAF

·         nasadenie vo virtuálnom prostredí

·         demonštrácia jednoduchého útoku a jeho detekcia  

4. Web application firewalls

·         analysis of existing (freely available) solutions (threat identification options) List of open source WAF

·         deployment in a virtual environment

·         demonstration of a simple attack and its detection

 

5. Infraštruktúra verejného kľúča

·         princíp asymetrickej kryptografie, PKI, X.509, certificate transparency logs

·         vytvorenie jednoduchej CA

·         vytvorenie CSR, vydanie certifikátu a nasadenie certifikátu na webový server 

5. Public Key Infrastructure

·         principle of asymmetric cryptography, PKI, X.509, certificate transparency logs

·         creation of a simple CA

·         creating a CSR, issuing a certificate and deploying the certificate on the web server

 

6. Ochrana údajov v počítačových systémoch

·         analýza možností obnovy hesla do OS na zvolenej platforme

·         analýza nástrojov na ochranu pred neoprávneným prístupom k údajom v počítačovom systéme (napr. zabezpečenie bootloadera, šifrovanie…)

·         obnova hesla na testovacom systéme zvolenej platformy

·         zabezpečenie testovacieho systému zvoleným nástrojom/nástrojmi a overenie funkčnosti ochrany

6. Data protection in computer systems

·         analysis of password recovery options for the OS on the selected platform

·         analysis of tools to protect against unauthorized access to data in the computer system (e.g. bootloader security, encryption...)

·         password recovery on the test system of the selected platform

·         securing the test system with the selected tool/tools and verifying the functionality of the protection

 

7. Voľne šíriteľné nástroje na obnovu zmazaných súborov

·         analýza súborových systémov

·         analýza voľne dostupných nástrojov na obnovu údajov (napr. testdisk)

·         experimentovanie so zvoleným nástrojom na obnovu údajov

7. Freely distributed tools for recovering deleted files

·         analysis of file systems

·         analysis of freely available data recovery tools (e.g. testdisk)

·         experimenting with the chosen data recovery tool

 

8. Voľne šíriteľné nástroje na rozbitie hesiel

·         analýza metód a algoritmov na zisťovanie hesiel

·         analýza nástrojov na odhalenie hesiel (napr. John the ripper)

·         vykonanie experimentov a porovnanie výsledkov pre rôzne silné heslá

8. Freely distributed password cracking tools

·         analysis of methods and algorithms for detecting passwords

·         analysis of password cracking tools (e.g. John the ripper)

·         performing experiments and comparing results for different strong passwords

 

9. Voľne šíriteľné nástroje na hľadanie zraniteľností

·         definícia, klasifikácia a charakteristika zraniteľností

·         analýza nástrojov na hľadanie zraniteľností (napr. Nmap)

·         aplikácia vybraných nástrojov na konkrétnom systéme a porovnanie ich výkonnosti

9. Freely distributable tools for finding vulnerabilities

·         definition, classification and characteristics of vulnerabilities

·         analysis of tools for finding vulnerabilities (e.g. Nmap)

·         application of selected tools on a specific system and comparison of their performance

 

10. Zvýšenie odolnosti webových aplikácii proti útokom typu DDoS, za pomoci horizontálneho škálovania

·         analýza možností využitia loadbalancera (haproxy, nginx,...)

·         loadbalancer vs. stateless/statefull spojenia

·         zabezpečenie loadbalancera voči známym typom útokov (slowloris,...), zamedzenie inventarizácii architektúry (čo prezradia HTTP hlavičky?)

·         autentifikácia&autorizácia (heslá, X.509, ACL, staging&production env)

·         možnosti monitoringu loadbalancera (štatistiky, analýza logov, existencia rozšírení do monitorovacích systémov Zabbix,Nagios,...)

·         vykonanie záťažových testov(ab,...), vyhodnotenie nameraných hodnôt a efektu horizontálneho škálovania

10. Increasing the resistance of web applications against DDoS attacks, with the help of horizontal scaling

·         analysis of load balancer usage options (haproxy, nginx,...)

·         load balancer vs. stateless/statefull connections

·         securing the load balancer against known types of attacks (slowloris,...), preventing inventory of the architecture (what do the HTTP headers reveal?)

·         authentication&authorization (passwords, X.509, ACL, staging&production env)

·         load balancer monitoring options (statistics, log analysis, existence of extensions to monitoring systems Zabbix, Nagios,...)

·         execution of load tests (ab,...), evaluation of measured values and the effect of horizontal scaling

 

11. Zvýšenie odolnosti webových aplikácii proti útokom typu DDoS, za pomoci vyuzitia cache

·         analýza hrozieb preťaženia systému - hľadanie úzkeho hrdla a limitov systému (metódou blackbox/whitebox testing), možnosti profilácie (aplikacia, db)

·         analýza možností optimalizácii na jednotlivých vrstvách (db, webserver,...)

·         možnosti použitia cache vs. statický, pseudo statický a dynamicky obsah

·         analýza dostupných riešení pre cache obsahu (varnish,...)

·         nasadenie cache obsahu pre Vami zvolený system (voľne dostupné CMS, Eshop)

·         možnosti monitoringu cache (nástroje na získanie štatistík, analýza logov, existencia rozšírení do monitorovacích systemov Zabbix,Nagios,...)

·         vykonanie zaťažových testov(ab,...), vyhodnotenie nameraných hodnôt a efektu cache(web developer toolbar)

11. Increasing the resistance of web applications against DDoS attacks, using cache

·         analysis of system overload threats - search for bottlenecks and system limits (using the blackbox/whitebox testing method), profiling options (application, db)

·         analysis of optimization options on individual layers (db, webserver,...)

·         options for using cache vs. static, pseudo static and dynamic content

·         analysis of available solutions for content cache (varnish,...)

·         deployment of content cache for your chosen system (freely available CMS, Eshop)

·         cache monitoring options (tools for obtaining statistics, log analysis, existence of extensions to monitoring systems Zabbix, Nagios,...)

·         performance of load tests (ab,...), evaluation of measured values and cache effect (web developer toolbar)

 

12. Zraniteľnosti softvéru a bezpečné programovanie

·         koncepty fungovania moderných výpočtových systémov (virtuálna pamäť, stack, heap, volanie funkcií…)

·         analýza zraniteľností zdrojového kódu umožňujúcich útoky zneužitia pamäte (memory exploitation - napr. stack overflow)

·         vytvorenie jednoduchého programu obsahujúceho zraniteľnosť (napr. využitie známych zraniteľných funkcií - format string attack, nekontrolovanie hraníc pri práci s pamäťou...) alebo aspoň memory leak

·         voliteľné: experimentovanie s programom vo virtuálnom prostredí (s vypnutými ochranami pamäte a optimalizáciami - NX, ASLR…), (pomôcka: python –c ‘print "A"*100’ | program)

·         analýza voľne dostupných nástrojov na hľadanie chýb v kóde (SAST), prípadne v programoch (napr. Valgrind), analyzovanie vytvoreného programu zvoleným nástrojom

·         vytvorenie odporúčaní pre bezpečné programovanie na základe experimentu s nástrojom

12. Software vulnerabilities and secure programming

·         concepts of the functioning of modern computing systems (virtual memory, stack, heap, function calls...)

·         analysis of source code vulnerabilities enabling memory exploitation attacks (memory exploitation - e.g. stack overflow)

·         creating a simple program containing a vulnerability (e.g. use of known vulnerable functions - format string attack, not checking boundaries when working with memory...) or at least a memory leak

·         optional: experimenting with the program in a virtual environment (with disabled memory protections and optimizations - NX, ASLR...), (utility: python –c 'print "A"*100' | program)

·         analysis of freely available tools for finding errors in the code (SAST), or in programs (e.g. Valgrind), analysis of the created program with the selected tool

·         creating recommendations for secure programming based on experimentation with the tool

 

 

Rámcový harmonogram riešenia a odovzdania projektu:

Framework schedule for the solution and handover of the project:

Študent si tému projektu vyberie na cvičení v 1. týždni, jej obsah a prípadné zdroje konzultuje s cvičiacim. V danej skupine si jednu tému môže vybrať iba jeden študent. Po dohode s cvičiacim môžu byť akceptované aj iné aktuálne vlastné témy. Konzultácie k témam pokračujú aj 2. a 3. týždeň. 

Jeden deň pred konaním cvičenia do 12.00 hod v 3. týždni študent vypracuje a odovzdá do AIS špecifikáciu projektu (zadanie) v rozsahu maximálne 3 strany A4 (500-900 slov) vo formáte PDF. V špecifikácii študent spresní okruhy témy, ktorým sa bude venovať a očakávané výstupy jeho práce (analýza oblasti predmetu projektu, výkonové alebo iné porovnanie, prezentácia nástroja/techniky, experimentovanie s nástrojom/technikou, vlastný nástroj, best practices / checklist, ...).

V 4. 7. týždni študent podľa harmonogramu na cvičení prednesie 1. progess report o riešení projektu. Harmonogram prezentácií stanoví cvičiaci. Na prezentáciu progress reportu si študent pripraví  prezentáciu v Powerpointe, prezentácia každého poslucháča bude trvať 15 minút. Po prezentácii ešte v deň konania cvičenia študent odovzdá do AIS svoju prezentáciu.

V 8. 11. týždni študent podľa harmonogramu prednesie na cvičení 2. progess report o riešení projektu. Harmonogram prezentácií stanoví cvičiaci. Na prezentáciu progress reportu si študent pripraví  prezentáciu v Powerpointe, prezentácia každého poslucháča bude trvať 15 minút. Po prezentácii ešte v deň konania cvičenia študent odovzdá do AIS svoju prezentáciu.

V 12. týždni študent odovzdá do začiatku cvičenia záverečnú správu z riešenia projektu. Správa z riešenia projektu bude v rozsahu najmenej 20 strán A4 a odovzdá ju do AIS vo formáte PDF. Obrázky (screenshoty) vítané, žiadna vata. Odporúčame použiť štruktúrovaný text. Správu napíšteslovenskom aleboanglickom jazyku. Plagiáty nie akceptované. Správa musí obsahovať zoznam zdrojov (aj internetových), z ktorých študent čerpal (bibliografia).

The student chooses the topic of the project during the exercise in the 1st week, consults its content and possible sources with the instructor. Only one student can choose one topic in a given group. Upon agreement with the instructor, other current own topics may also be accepted. Consultations on topics continue in the 2nd and 3rd week.

One day before the exercise by 12:00 in the 3rd week, the student prepares and submits to AIS (Academic Information System) the project specification (assignment) in the scope of a maximum of 3 A4 pages (500-900 words) in PDF format. In the specification, the student specifies the scope of the topic to be addressed and the expected outputs of his work (analysis of the subject area of the project, performance or other comparison, presentation of the tool/technique, experimentation with the tool/technique, own tool, best practices/checklist, ...) .

In the 4th to 7th week, according to the schedule, the student will present the 1st progress report on the solution of the project. The schedule of presentations is determined by the instructor. For the presentation of the progress report, the student will prepare a Powerpoint presentation, each student's presentation will last 15 minutes. After the presentation, on the day of the exercise, the student submits his presentation to AIS.

In the 8th to 11th week, according to the schedule, the student will present the 2nd progress report on the solution of the project at the exercise. The schedule of presentations is determined by the instructor. For the presentation of the progress report, the student will prepare a Powerpoint presentation, each student's presentation will last 15 minutes. After the presentation, on the day of the exercise, the student submits his presentation to AIS.

In the 12th week, the student submits a final report from the project solution before the beginning of the exercise. The project solution report will be at least 20 A4 pages long and will be submitted to AIS in PDF format. Pictures (screenshots) welcome, no fluff. We recommend using structured text. Write the report in Slovak or English. Plagiarism is not accepted. The report must contain a list of sources (also online) from which the student drew (bibliography).

 

Očakávané výstupy od študentov:

Expected outputs from students:

1. týždeň - výber témy projektu - na cvičení, oznámiť cvičiacemu

3. týždeň - špecifikácia projektu – AIS, jeden deň pred konaním cvičenia do 12.00

4. 7. týždeň – 1. Progress report podľa harmonogramu, prezentáciu uložiť do AIS v deň konania cvičenia

8. 11. týždeň – 2. Progress report podľa harmonogramu, prezentáciu uložiť do AIS v deň konania cvičenia

12. týždeňodovzdanie záverečnej správy do AIS do začiatku cvičenia

1st week - selection of the project topic - at the exercise, inform the instructor

3rd week - project specification - AIS, one day before the exercise until 12.00

4th to 7th week – 1. Progress report according to the schedule, save the presentation in AIS on the day of the exercise

8th to 11th week – 2. Progress report according to the schedule, save the presentation in AIS on the day of the exercise

12th week – submission of the final report to AIS before the start of the exercise

 

Požiadavky na špecifikáciu projektu:

Project specification requirements:

Tému si treba doplniť a bližšie špecifikovať. Mohla obsahovať napríklad:

The topic needs to be supplemented and specified in more detail. It could contain, for example:

 

Hodnotenie:

Evaluation:

Špecifikácia projektu – max. 4 body

1. Progess report – max. 3 bodov

2. Progess report – max. 3 bodov

Záverečná správa z riešenia projektu a ďalšia dokumentácia – max. 10 bodov.

Hodnotenie sa bude vykonávať s granularitou 0,5 boda.

Nedochvílnosť sa bude penalizovať.

Na úspešné absolvovanie cvičení a pripustenie ku skúške musí študent dosiahnuť z cvičení aspoň 11 bodov.

Project specification - max. 4 points

1. Progress report – max. 3 points

2. Progress report – max. 3 points

Final report from the project solution and other documentation - max. 10 points.

The evaluation will be done with a granularity of 0.5 points.

Lateness will be penalized.

To successfully complete the exercises and be admitted to the exam, the student must achieve at least 11 points from the exercises.

 

Doc. Ing. Ladislav Hudec, CSc., garant predmetu / subject guarantor