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 sú 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 sú rozdelení do skupín a projekty sú 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. až 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. až 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) sú vítané, žiadna vata. Odporúčame použiť štruktúrovaný text. Správu napíšte v slovenskom alebo v anglickom jazyku. Plagiáty nie sú 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).
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. až 7. týždeň – 1. Progress report podľa
harmonogramu, prezentáciu uložiť do AIS v deň konania cvičenia
8. až 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