Master's Thesis

Vulnerability Assessment of Container Images

Final Thesis 2.45 MB

Author of thesis: Ing. Michal Findra

Acad. year: 2023/2024

Supervisor: Ing. Jiří Pavela

Reviewer: Mgr. Kamil Malinka, Ph.D.

Abstract:

The work focuses on the problem of automated security analysis of container images in a distributed environment. It describes present vulnerabilities in these environments and tools that deal with the analysis of container images that serve as a template for deploying a specific container. The process involves acquiring an environment description and subsequently processing it into a format meaningful for Vulntron tool developed as part of this thesis. Vulntron automates this process, performs a security analysis of individual components of the container image, and generates a report in a visually and technically processable format. The thesis also includes practical integration in form of Vulntron deployment into various types of development processes within the Red Hat company.

Keywords:

Vulntron, Container image, Container security, Security analysis, Grype, Syft, SBOM, Vulnerability detection, CI-CD

Date of defence

17.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných, např. ohledně případné zranitelnosti realizovaného řešení, význam grafu paměťové náročnosti ukázaného v prezentaci či možností grafické vizualizace více měření a z něho plynoucí analýzy . Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B - velmi dobře.

Topics for thesis defence

 

  1. Můžete blíže popsat, jaké byly požadavky na Vámi vyvíjené řešení?
  2. V kap 3.2 jste uvedl několik zranitelností. Proč jste vybral zrovna tyto?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Cybersecurity (NSEC)

Composition of Committee

doc. Dr. Ing. Petr Hanáček (předseda)
doc. Ing. Michal Bidlo, Ph.D. (člen)
doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
doc. Ing. Petr Matoušek, Ph.D., M.A. (člen)
Mgr. Kamil Malinka, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Pavela

Jedná se o velmi zdařile vypracované zadání s realizačním výstupem, který bude nasazený v praxi v rámci Red Hat OpenShift platformy. Student byl v průběhu řešení práce velmi aktivní a motivovaný, což potvrdil i technický konzultant za Red Hat, Gábor Burges, jehož vyjádření přikládám v originálním znění níže.


 


Michal wrote a Golang app that gathers vulnerabilities of running apps on Openshift clusters and generates vulnerability reports and SBOMs of all the components present on the cluster.


He also connected it to DefectDojo for frontend, and implemented several improvements and integrations. This has been a painpoint for the platform security team for several years, but this work has never been prioritized. Having this is a great boon, as it automates a lot of manual work and testing, implements desired vulnerability scanners and databases, and simplifies visualization and integration into existing workflows. This app will be used in all of our clusters, and passively used by all 45 teams within our organization (~500 people), but thanks to the easy portability, it’s easily adoptable by other organizations. It also alleviates a lot of churn for the security teams, and inspires trust towards the larger product security. So even more people will benefit from it than just the direct users.


Michal did a great job, was very flexible in the planning, listened and asked for feedback, and promptly implemented the changes requested. The app is working great, and Michal added extra features that we planned for future iterations. The code is clean, and easily readable. The documentation is clear, and well done, I had no trouble trying it out in a test environment.


The tool is already in use in our development environment, and we already proposed and received managerial approval for production implementation. It will be the standard tool for us in the future.

Evaluation criteria Verbal classification
Informace k zadání

Jedná se spíše o průměrně obtížné zadání vytvořené ve spolupráci s firmou Red Hat. Obtížnost spočívala především v nutnosti nastudovat a integrovat větší množství existujících technologií používaných ve firmě Red Hat do výsledného nástroje Vulntron, případně s nástroji komunikovat přes jimi definované rozhraní.

Aktivita při dokončování

Práce byla dokončena s dostatečnou rezervou. V průběhu posledního týdne a půl už student jen zapracovával poznámky a zpětnou vazbu.

Publikační činnost, ocenění

Nástroj není pro veřejnost dostupný ve formě open-source.

Práce s literaturou

Student byl schopen si samostatně vyhledávat a studovat relevantní literaturu.

Aktivita během řešení, konzultace, komunikace

Student byl velmi motivovaný, aktivní a samostatný hned od počátku řešení práce. Jedná se o zadání ve spolupráci s firmou Red Hat a student tak ohledně technických záležitostí komunikoval převážně se svým technickým konzultantem. Nicméně i tak mě pravidelně informoval o dosaženém postupu a plánoval konzultace s ukázkami současného stavu řešení práce.

Points proposed by supervisor: 95
Display more

Grade proposed by supervisor: A

Reviewer’s report
Mgr. Kamil Malinka, Ph.D.

Myslím si, že práce by se měla více orientovat na vysvětlení architektury, motivací návrhu a popisem prostředí ve kterém má být nasazena. Uchopení práce, kdy autor popisuje technické oblasti bez snahy o začlenění do ucelené práce mi nepřijde vhodné. Nicméně textovou část vyvažuje technické zpracování, které je na velmi dobré úrovni. Pozitivně hodnotím i zpracován v angličtině a připravenost řešení na nasazení v praxi (to teď vázne už jen na interních procesech).

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Práce splnila všechny body zadání ve velmi dobré kvalitě. 

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah technické zprávy je v obvyklém rozsahu.

Prezentační úroveň technické zprávy

Práce spíše než závěrečnou práci připomíná technickou dokumentaci produktu a tomu odpovídá i nedostatečná logická úroveň práce. Kap. 2 a 3 představují obecně problematiku kontejnerizace, orchestrace kontejnerů a detekce zranitelností. Obě kapitoly vychází z několika málo zdrojů, což mimo jiné vede k přílišné obecnosti textu. Zmíněné informace v podstatě nejsou v dalších kapitolách využity. Obdobně je pak zpracováno popsání relevantních nástrojů, které je opět velmi obecné. Chybí snaha takto přeformulované obecné texty vztáhnout k vlastnímu řešení práce.

Zcela chybí popis firemního prostředí, kam se měl nástroj nasazovat a alespoň základní popis požadavků na řešení. Pak je obtížné se vyjádřit, zda vlastně bylo zadání splněno. Nevyváženě také působí návrh, který je extrémně stručný a spoustu věcí nezmiňuje. Nicméně část návrhových rozhodnutí je pak alespoň popsána v implementaci. Ten je na dobré úrovni, jedná se v podstatě  o regulérní dokumentaci vč. např. jednotlivých kroků pro nasazení nástroje. Část týkající se testování je stručná.

75
Formální úprava technické zprávy

Jazyková a stylistická stránka práce i úroveň typografie je na velmi dobré úrovni. Práce obsahuje jen malé množství typografických chyb, jako je např. obrázek 2.1, který  je bezdůvodně umístěn v textu až výrazně později než je odkazován, nebo stejná název kap. 3.4. a podkapitoly 3.4.1. Část textu v obrázcích je nečitelná.

95
Práce s literaturou

Práce obsahuje spíše menší množství odkazovaných zdrojů, které jsou však relevantní tématu a vhodně vybrány.  Nízký počet referencí je patrně způsoben tím, že kap. 2 a 3 jsou primárně postaveny na jednom až dvou zdrojích. Toto řešení mi nepřijde vhodné, očekával bych větší zaměření se na potřebné případy užití.

75
Realizační výstup

Realizační výstup je na velmi dobré úrovni, vše je funkční. Návrh integrace jednotlivých komponent a způsob práce je na velmi dobré úrovni. Práce mi byla demonstrována. Vše bylo řádně otestováno, výkonnostní testy ukázaly, že řešení je vhodně dimenzováno. Jsou připraveny komponenty pro další integraci do prostředí RedHat. 

95
Využitelnost výsledků

Práce byla řešená v rámci spolupráce s RedHat a je v plánu nasazení řešení do produkce.

Náročnost zadání

Evaluation level: průměrně obtížné zadání

Jedná se o implementační DP s jasně ohraničeným rámcem.

Topics for thesis defence:
  1. Můžete blíže popsat, jaké byly požadavky na Vámi vyvíjené řešení?
  2. V kap 3.2 jste uvedl několik zranitelností. Proč jste vybral zrovna tyto?
Points proposed by reviewer: 80
Display more

Grade proposed by reviewer: B