Course detail

Development of Secure Applications

FEKT-BPC-VBAAcad. year: 2023/2024

Not applicable.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

Not applicable.

Rules for evaluation and completion of the course

Not applicable.

Aims

Not applicable.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

Not applicable.

Elearning

Classification of course in study plans

  • Programme BPC-IBE Bachelor's 2 year of study, summer semester, compulsory

Type of course unit

 

Lecture

13 hod., optionally

Teacher / Lecturer

Syllabus

1. Metodika vývoje software, RAD, SCRUM, apod.
2. Generace privátního a veřejného klíče, generování klíče pro symetrické šifrování. Certifikační autorita, distribuce klíčů, revokace certifikátů.
3. Správa přihlašovacích údajů, certifikátů a klíčů, kernel keyrings, windows credential manager/certutil - jak a kde přidat certifikát autority v různých systémech.
4. Zranitelnost kompilovaných jazyků - správa paměti, útoky typu buffer overflow, integer overflow.
5. Dynamická analýza kódu, nástroje pro analýzu kódu.
6. Bezpečné zavádění software - secure boot, podpisy ovladačů, TPM (Trusted Platform Module).  

Exercise in computer lab

39 hod., compulsory

Teacher / Lecturer

Syllabus

1. Organizace kurzu, vývojové prostředí, rozdělení do skupin.
2. Správa zdrojových souborů, systém GIT, synchronizace repozitářů.
3. Jednotkové testy (cunit), vytváření testů, spouštění, analýza pokrytí kódu (gcov).
4. Bezpečný přístup k souborovému systému, oprávnění souborů a adresářů.
5. Bezpečné generování náhodných čísel.
6. Bezpečné generování kontrolních součtů.
7. Bezpečné ukládání hesel, kontrola hesel.
8. Generace certifikátů, využití knihoven OpenSSL.
9. Zranitelnosti kompilovaných jazyků, buffer overrun, integer overflow, apod.
10. Databáze chyb, CVE, hledání známých zranitelností, Valgrind, apod.
11.Samostatný projekt.
12. Samostatný projekt.
13.Odevzdání samostatného projektu.

Elearning