diplomová práce

Detekce zranitelností v kontejnerových obrazech

Text práce 2.45 MB

Autor práce: Ing. Michal Findra

Ak. rok: 2023/2024

Vedoucí: Ing. Jiří Pavela

Oponent: Mgr. Kamil Malinka, Ph.D.

Abstrakt:

Práca sa zaoberá automatizovaným bezpečnostným rozborom kontajnerových obrazov v distribuovanom prostredí. Popísané sú aktuálne zraniteľnosti v týchto prostrediach a nástojenie, ktoré sa zaoberajú analýzou kontajnerových obraz, slúžiacich ako vzor na vytvorenie daného kontajneru. Popísané je získanie popisu prostredia, následného spracovania do formátu zmysluplného pre vyvíjaný nástroj Vulntron. Vulntron slúži na automatizáciu tohoto procesu, bezpečnostnú analýzu jednotlivých komponentov kontajnerového obrazu a následný report do vizuálnej aj technicky ďalej spracovateľnej podoby. Súčasťou implementácie bude aj praktické nasadenie nástroja do rôznych typov vývojového procesu vrámci firmy Red Hat.

Klíčová slova:

Vulntron, Kontajnerový obraz, Kontajnerová bezpečnosť, Bezpečnostná analýza, Grype, Syft, SBOM, Detekcia zraniteľností, CI-CD

Termín obhajoby

17.06.2024

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

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.

Otázky k obhajobě

 

  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?

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie a umělá inteligence (MITAI)

Specializace

Kybernetická bezpečnost (NSEC)

Složení komise

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)

Posudek vedoucího
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.

Kritérium hodnocení Slovní hodnocení
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.

Výsledný počet bodů navržený vedoucím: 95
Zobrazit více

Známka navržená vedoucím: A

Posudek oponenta
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).

Kritérium hodnocení Slovní hodnocení Body
Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

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

Rozsah technické zprávy

Stupeň hodnocení: 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í

Stupeň hodnocení: průměrně obtížné zadání

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

Otázky k obhajobě:
  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?
Výsledný počet bodů navržený oponentem: 80
Zobrazit více

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová