Skip to content

Repository files navigation

🎓 Master's Degree Portfolio — Computer Science @ Unimore

Java Python C++ ROS Security

The coursework, projects and study material from my Laurea Magistrale in Informatica at the University of Modena and Reggio Emilia, with a specialisation built around computer security and distributed systems.

Each directory is a self-contained course record: what I built, the techniques behind it, and the written reports. Security course labs live in standalone repositories, listed at the bottom.

📊 Courses in this repository

Course CFU Grade What's inside
Kernel Hacking 6 30/30 cum laude Two upstream Linux patches — an XFS lockdep fix for a syzkaller bug, and a WireGuard KCSAN data race — with the assembly-level analysis behind them
IoT Systems 6 30/30 cum laude Course theory in Typst, and a redacted security assessment of 13 consumer IoT devices — 26 findings grouped by vulnerability class
Computer Security 9 30/30 cum laude 109-page course handbook, exam questions, buffer overflow / SQLi / XSS labs
Distributed Systems 9 30/30 Full theory notes + DTIP, a P2P threat intelligence platform in Java RMI
Privacy & Data Protection 6 30/30 GDPR, DPIA, cybercrime notes and a regulatory quick-reference table
Autonomous Driving 6 27/30 6 assignments: vehicle dynamics, MPC/Stanley/Pure Pursuit, PCL clustering, Kalman & Particle Filters
Cryptography Algorithms 6 23/30 Symmetric/asymmetric algorithm summaries and exam question bank
CS Tutoring 9 lecture decks I authored as an academic tutor

Courses without a directory here

Course CFU Grade Where it lives
Sviluppo di Software Sicuro 9 30/30 secure-software-development
Metodologie di Sviluppo Software 6 30/30 No archived material
High Performance Computing 9 27/30 No archived material

🏆 Highlights

Kernel Hacking — two upstream Linux patches A fix for syzkaller bug 5eb0d61dfb76ca12670c: an inconsistent lock state on inode->i_lock in XFS, where igrab() took a plain spinlock on a path reachable from softirq. Backed by a recursive expansion of igrab() vs ihold() down to x86-64 assembly and a proof that i_count > 0 holds at every call site. Plus a WireGuard READ_ONCE/WRITE_ONCE annotation closing a KCSAN-reported data race.

DTIP — Distributed Threat Intelligence Platform A peer-to-peer network for real-time sharing and analysis of Indicators of Compromise. Implements Fidge/Mattern vector clocks, Ricart–Agrawala distributed mutual exclusion, pluggable threat analyzers (heuristic, Gemini, Ollama) and a Python TUI dashboard on top of Java RMI. Ships with UML protocol models, an architecture document and a full operator guide.

Autonomous Driving — Perception & Control Six graded assignments in C++ and Python: a Frenet trajectory planner with static obstacle avoidance, an MPC controller benchmarked against Pure Pursuit and Stanley at up to 25 m/s, a PCL/RANSAC Euclidean clustering pipeline for LiDAR object detection, a Kalman Filter multi-object tracker, and a Particle Filter localiser running on ROS.

IoT Systems — home network security assessment Twenty-six findings across thirteen consumer IoT devices, every one of them scored AV:A/AC:L/PR:N — adjacent network, no privileges, no user interaction. One device family is under coordinated disclosure with the manufacturer's PSIRT, so what's published here is a redacted rewrite organised by vulnerability class rather than by product.

Computer Security A handbook I wrote covering the entire course — from CVE/CVSS classification and memory corruption through to PKI, intrusion detection and ISO 27000 risk management — including worked solutions for every lab exercise.

🛡️ Dedicated security repositories

Practical security work is kept in standalone repositories so it stays immediately visible:

🛠️ Tech stack & concepts

  • Languages — Java, Python, C++, C
  • Frameworks & tools — ROS, PCL (Point Cloud Library), OpenCV, Java RMI, GDB, sqlmap, Burp Suite
  • Security — OWASP Top 10, memory corruption, cryptography & PKI, intrusion detection, SIEM/SOC, ISO 27000 risk management, GDPR compliance
  • Distributed systems — consensus and Byzantine fault tolerance, vector clocks, distributed mutual exclusion, DHTs, leader election
  • Robotics & control — Kalman and Particle Filters, MPC, Frenet planning, point cloud segmentation

📝 Conventions

Files and directories use snake_case and are named in English, for consistency and programmatic access. Repository topic: unimore-informatica.


Personal academic archive — University of Modena and Reggio Emilia.

About

Coursework and projects from my MSc in Computer Science at Unimore — computer security, distributed systems, Linux kernel internals and autonomous vehicle perception

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages