Mem2Graph: heap-dump embedding for ML
Predicting OpenSSH key locations in raw heap dumps with memory graphs and machine learning, my double-master project at Universität Passau.
Mem2Graph is the umbrella for my double-master research project at Universität Passau (PhD-track M.Sc., 2022 to 2023, joint with INSA Lyon): predicting the location of OpenSSH keys inside raw heap dumps using machine learning.
The core tool, mem2graph, is written in Rust. It converts a raw heap dump file into memory graph representations and generates embeddings from them. On top of it, Python pipelines handle feature engineering, classic ML baselines, and graph convolutional networks (GCN) operating directly on the memory graphs.
This work led to a paper at IFIP SEC 2024, Large Scale Heap Dump Embedding for Machine Learning: Predicting OpenSSH Key Locations, and to my master thesis. See Publications for the academic record, and the IFIP SEC 2024 event page for the conference where I presented it.
Links
- mem2graph (GitHub)https://github.com/passau-masterarbeit-2023/mem2graph
- Memory-graph GCN pipelines (GitHub)https://github.com/passau-masterarbeit-2023/memory_graph_gcn
- Feature engineering and ML pipelines (GitHub)https://github.com/passau-masterarbeit-2023/data_processing
- Embedding pipelines (GitHub)https://github.com/passau-masterarbeit-2023/phdtrack_openssh_memory_embedding
- Master thesis report (GitHub)https://github.com/passau-masterarbeit-2023/masterarbeit_report_onyr
- Smart and naive SSH key extraction (GitHub)https://github.com/0nyr/Smart-and-Naive-SSH-Key-Extraction