Bakgrund: Website fingerprinting (identifiering av webbplatser via fingeravtryck) är en grupp metoder som syftar till att identifiera vilka webbsidor en användare besöker genom en krypterad tunnel, till exempel VPN eller Tor. Ett vanligt scenario är att en angripare avlyssnar länken mellan användarens dator och tunnelns ingångspunkt, fångar in den krypterade trafiken och listar ut vilken webbsida trafiken motsvarar med hjälp av klassificeringsmodeller. Detta är möjligt på grund av att trafiken, trots krypteringen, innehåller mönster/signaler som kännetecknar den underliggande webbsidan. Vissa åtgärder, så kallade försvar, går ut på att dessa mönster kan förändras och göras oidentifierbara genom att skicka padding-paket som inte tillhör den riktiga data som webbläsaren behöver för att visa upp webbsidan. De kallas padding-baserade försvar.
Tor har implementerat ett circuit-padding framework i sin C-kod. Det representar padding-baserade försvar med icke-deterministiska ändliga tillståndsmaskiner, där event beskriver händelser i anslutningen och handlingar resulterar i att padding-paket skickas. Ramverket är dock begränsat vad gäller sitt stöd för olika försvar — det finns till och med padding-baserade försvar som inte kan implementeras — och tidigare arbete pekar på att det vore önskvärt att koda in funktioner som möjliggör avsiktlig artificiell fördröjning för att skapa bättre skydd mot trafikanalys och stödja flera försvar. Ramverket Maybenot har sitt ursprung i dessa idéer. Det är ett självständigt bibliotek skrivet i Rust som kan inkluderas i vilket program som helst och erbjuder en förbättrad modell som kan representera både padding- och fördröjningsbaserade försvar som probabilistiska ändliga tillståndsmaskiner.
Beskrivning: Artikeln beskriver Maybenot, en enkel simulator för preliminär utvärdering och ett par försvar från min kandidatuppsats. En teknisk rapport som specificerar ramverket i större detalj är tillgänglig på arXiv.