Jag sprang precis på en av de mer spännande och oväntade sidoattackerna jag sett: Hur man att attackerar anonymiseringsnätverk genom temperaturpåverkan. Tidigare har det kommit tidsbaserade sidoattacker för att spåra VoIP-trafik genom ett anonymiseringsnät. Men nu har Steven J Murdoch upptäckt att det går att leta reda på vilka maskiner som kör en anonymiseringstjänst genom att påverka datorns temperatur och sedan observera trafikbeteendet(!).
I ett anonymiseringsnätverk som Tor finns det inte bara skydd för användaren och trafiken som skickas mellan servrar, nej även vilka servrarna är och var dom finns går att gömma undan. Syftet med denna anonymisering av servrarna är att försvåra möjligheten att slå ut nätverket genom att ge sig på dom fysiska datorer där servrarna körs.
Klockfrekvensen i en dator genereras av en kristallbaserad klocka. Vad som är känt sedan tidigare är att klockfrekvensen är temperaturberoende. Det Steven upptäckte, undersökte och visar i sin artikel är att denna effekt aktivt går att använda som en sidoattack för att avslöja vilken maskin som är värd för en anonymiseringsserver. Metoden som Steven använder består av följande steg:
- Upprepat koppla upp sig mot den anonyma servern och därigenom tvinga fram en temperaturbaserad påverkan på klockfrekvensen genom den ökande arbetsbelastningen för datorn.
- Begära ut och jämföra tidsstämplar från de datorer som misstänks vara värd för den anonyma servern.
I ett kontrollerat försök hittar Steven en klar korrelation mellan påverkan på last och påverkan på tidsstämplarna. Följande figur visar korrelationen:

(Dom gula cirkarna är accesser till den anonyma servern och dom blå trianglarna varians på tidsstämplar.)
Nu finns det några klara invändningar vad gäller tillämpbarheten i verkligheten av Stevens resultat:
- Man behöver ha access till det anonymiseringsnätverk man vill attackera.
- Man behöver ha access till de maskiner där man misstänker att den anonyma servern finns.
- Maskinerna måste innehålla en tidsstämplingsserver, och den får inte ljuga.
Men, jag tycker ändå att detta är mycket intressant. Stevens artikel visar att sidoattacker kan vara väldigt användbara, att små effekter som några graders temperaturskillnad i datorn går att utnyttja på oväntade sätt, samt att skydda sig mot upptäckt är mycket, mycket svårare än man kan tro. Protokoll, algoritmer och implementation räcker inte, utan man behöver titta på hela systemet inklusive dess miljö.
Stevens artikel Hot or Not: Revealing Hidden Services by their Clock Skew finns att ladda ner här och Stevens blogginlägg om artikeln och hur han upptäckte fenomenet finns här.