← back

A mix of thesis work, coursework, and side tinkering

$ ls masters/

Securing FIDO2 Credentials Using Intel SGX

Master's Thesis · 2025–2026

Virtual FIDO2 authenticator backed by an Intel SGX enclave: sealed SQLite credential store, CTAP2 with discoverable credentials, HID interface forwarding to the enclave service, and DCAP-based remote attestation. Supports cross-device credential migration.

CIntel SGXFIDO2 / CTAP2SQLiteDCAPEDL/ECALL

Attacks on FIDO2 CTAP — Survey & PoC

Seminar

Researched MitM attacks on CTAP DH key exchange and insecure option abuse. Built a custom CTAP client to reproduce session hijacking against real authenticators (YubiKey, Feitian).

PythonCTAPCBORMitM

Selective Identity Disclosure

Applied Cryptography · 19.5/20

Four-app system for Digital Citizen Card holders to selectively disclose identity attributes. Handles issuance, selective DCC generation, digital signatures, and attribute hashing.

PythonRSAX.509PyKCS11

Shuffle AES Implementation

Applied Cryptography · 17/20

Modified AES variant in C, then reproduced using NI assembly instructions. Validated against OpenSSL; PBKDF2 for key derivation.

CAES-NIAssemblyOpenSSL

Vulnerable Social Network

Vuln. Analysis · 18/20

Intentionally introduced XSS, SQLi, CSRF, template injection, and crypto weaknesses into a social network app; then performed offensive analysis of other groups' apps.

Web SecurityOWASPOffensive

Malware Analysis — Tampered Linux ELF

Reverse Engineering · 19/20

Static analysis and code inspection to uncover hidden payloads and evasion techniques in a Linux binary disguised as a game. Analysed execution flow, network activity, and API usage.

Ghidrastraceltraceobjdump

Malicious Android App Reverse

Reverse Engineering · 16/20

Static and dynamic analysis of a trojanised Aveiro tourism app. Uncovered hidden functionality via permission analysis, execution flow tracing, and API monitoring.

FridaAPKToolJEBOWASP ZAP

Embedded Thermal Controller RE

Lab Project · 16/20

Reverse-engineered a PIC32MX-based thermal chamber: temperature regulation logic, RS-232 protocol, EEPROM usage, and dual-zone heating via OC1/OC2 outputs.

CPIC32MXRS-232EEPROM

Redundant Network Infrastructure

Networking · 20/20

High-availability network with load balancers, stateful firewalls, VLANs, DMZ, and Internet connectivity in GNS3. Validated redundancy, traffic segmentation, and DDoS mitigation.

GNS3pfSenseHAProxyCisco IOS

CTF — pwn & web

Vuln. Analysis · 17/20

First hands-on CTF as part of the master's programme. Solved pwn and web challenges; first exposure to CTF-style offensive security.

GDBBurp SuiteKali Linux

$ ls bachelors/

Website Detective

Final Degree Project · 18/20

Full-stack domain analyser returning a quality/trust score. Distributed workers cover blocklists, cookies, SSL/TLS, security.txt, page rank, carbon footprint. ML classifier labels domains Good/Bad.

PythonDjangoReactMongoDBCeleryDocker

URL Malicious/Benign Classifier

Machine Learning · 16.5/20

URL classification using page content vectors and sentiment polarity. Evaluated LR, NN, Gradient Boosting, Random Forest, and KNN with confusion matrices and learning curves.

Pythonscikit-learnML

Face Detection via Transfer Learning

Machine Learning · 17.1/20

Pre-trained CNN fine-tuned to detect faces and predict bounding boxes from varied real-world images. Replaced initial custom CNN due to compute constraints.

PythonCNNTransfer Learning

DigDug AI Agent

Artificial Intelligence · 16.8/20

A* agent for DigDug. At each step a graph is constructed, shortest paths to enemies computed, and undesired positions penalised with increased traversal costs.

PythonA*Game AI

Sunday Crypto

Full-Stack · 16/20

Real-time cryptocurrency tracker with buy/sell and automated price-triggered actions. CoinGecko API, Spring Boot, MySQL, RabbitMQ, WebSockets, Docker.

JavaSpring BootRabbitMQWebSockets

Karaoke — Distributed Audio System

Distributed Systems · 14/20

Client-server audio source separation. Chunks distributed to clients for processing (bass, vocals, drums); results reassembled server-side for download.

PythonSocketsFlask