Towards Blocking---resistant Communication on the Internet SLUTRAPPORT Stefan Lindskog Karlstads universitet SE---651 88 Karlstad stefan.lindskog@kau.se
2
Innehållsförteckning Innehållsförteckning... 3 1. Inledning... 5 2. Mål och syfte... 6 3. Projektbeskrivning... 6 4. Leverabler... 7 5. Resultat... 7 6. Utvärdering och analys... 8 6.1. Utvärdering av resultat... 9 6.2. Förslag på förbättringar... 9 7. Framtida arbeten... 9 Appendix... 10 3
1. Inledning Fri och öppen kommunikation på Internet är inte en självklarhet och censurering förekommer. Frekvent används så kallad Deep Packet Inspection (DPI)---teknologi för att bl a censurera icke önskvärd kommunikation. DPI möjliggör finkornig och kostnadseffektiv censurering av kommunikation i hela länder och idag använder ett flertal länder sådan teknologi för att bedriva övervakning och/eller blockera tillgången till exempelvis Tor---nätverket 1, som i sin tur används för att kommunicera anonym över Internet. Blockering av åtkomst till Tor---nätverket har ingående studerats i projektet How the Great Firewall of China is Blocking Tor. En detaljerad beskrivning av projektet och dess resultat finns redovisat på http://www.cs.kau.se/philwint/static/gfc/. I den här rapporten beskriver vi genomförandet och utfallet av projektet Towards Blocking---resistant Communication on the Internet, som i huvudsak har finansierats av Internetfonden. Projektet har ingen svensk titel, men huvudsyftet har varit att studera tekniker för att undvika att kommunikation på Internet censureras. Projektet har fokuserat på att undvika blockering av åtkomst till Tor---nätverket. En översiktlig bild av Tor och dess ingående komponenter visas i Figur 1. Figur 1: Övergripande bild över Tor---nätverket och dess komponenter I projektet har relaterat arbete studerats och utvärderats. Vidare har ett nytt transportprotokoll kallat ScrambleSuit konstruerats, implementerats och utvärderats. Relaterat arbete och konstruktionen av ScrambleSuit finns beskrivet i en teknisk rapport samt i två vetenskapliga konferensartiklar. Såväl den tekniska 1 Se https://www.torproject.org. 4
rapporten som de vetenskapliga artiklarna finns tillgängliga på projektets webb--- sida, se http://www.cs.kau.se/philwint/scramblesuit/. Där finns även källkoden för ScrambleSuit---protokollet tillgänglig som öppen källkod. Under projektets gång har vi samarbetat med ett antal aktörer utanför projektet. Från personer inom Tor---projektet har vi fått värdefull återkoppling på idéer relaterade till projektet i allmänhet och ScrambleSuit i synnerhet. Vid konstruktion och implementation av ScrambleSuit har Tobias Pulls vid Karlstads universitet och Juergen Fuss vid Upper Austria University of Applied Sciences i Hagenberg, Österrike bidragit med värdefull expertis. 2. Mål och syfte Det övergripande syftet med projektet har varit att studera hur censurering av kommunikation på Internet kan undvikas. Projektets två delmål har varit att: 1. Utvärdera existerande blockeringsresistenta protokoll samt DPI---programvara 2. Konstruera, implementera och utvärdera nya blockeringsresistenta protokoll Båda delmålen har uppnåtts i projektet. Arbetet med delmål 1 har redovisats i projektets tre publikationer. Delmål 2 redovisas också i de tre publikationerna. Programkoden för ScrambleSuit finns dessutom tillgänglig som öppen källkod. Vidare har en miljö som förenklar testning av protokollet tillhandahållits. 3. Projektbeskrivning Projektet har pågått under hela 2013 och bemannats av följande tre personer vid Karlstads universitet: Stefan Lindskog Philipp Winter Simone Fischer---Hübner Stefan Lindskog har varit projektledare för projektet och därmed ansvarar för koordinering, rapportering och ekonomin i projektet. Merparten av det praktiska arbetet har genomförts av Philipp Winter med handledning av Stefan Lindskog och Simone Fischer---Hübner. Samarbetet med personer från Tor---projektet samt med Tobias Pulls oh Juergen Fuss har initierats och hanterats av Philipp. Philipp har vidare skrivit merparten av koden för ScrambleSuit samt genomfört de experimentella utvärderingarna. Projektet har i stort fortlöpt enligt plan. Detta framgår bland annat av månadsrapporterna som har skickats till Internetfonden. Implementationen av ScrambleSuit har genomförts i ett antal iterationer och för varje iteration har diverse förbättringar och förfiningar införts. Den aktuella versionen av protokollet är stabil, men koden utvecklas fortlöpande. Genom att koden har tillhandahållits 5
som öppen källkod har utomstående dels kunnat granska koden, dels kunnat testa dess funktion. Testningen har underlättats av att vi också har tillhandahållit en fungerande testmiljö. Den vetenskapliga produktionen i form av en teknisk rapport och två konferensartiklar måste anses som god. De två konferensartiklarna ingår i Philipps licentiatavhandling som är en sammanläggningsavhandling bestående av totalt tre artiklar. Avhandlingen kommer att diskuteras vid ett licentiatseminarium på Karlstads universitet den 27 februari. Diskussionsledare vid seminariet är Steven Murdoch från universitet i Cambridge, England. 4. Leverabler Projektets progression har rapporterats till Internetfonden genom skriftliga månadsrapporter och den här rapporten utgör slutrapporten för projektet. En webb---sida för att kommunicera projektets resultat har också skapats och underhållits under projektets gång. Projektet har, som nämndes i föregående sektion, resulterat i en teknisk rapport och två vetenskapliga konferensartiklar. I dessa beskrivs bland annat konstruktion, implementation och utvärdering av ScrambleSuit. Även relaterat arbete framgår av dokumentationen. Samtliga rapporter finns tillgängliga på projektet officiella webb--- sida. Projektet har också resulterat i en fungerande protokollimplementation, som sedan en tid tillbaks finns tillgänglig som öppen källkod. En länk till koden finns på projektets webb---sida. Aktuell versionen per den 27 januari 2014 är 2014.01.a. Versionen är stabil, men koden utvecklas fortfarande kontinuerligt. På projektets webb---sida finns också en beskrivning av en testmiljö som vi tillhandahåller för att underlätta för utomstående att testa och ge återkoppling på protokollet. 5. Resultat Ett nytt transportprotokoll, kallat ScrambleSuit, har konstruerats, implementerats och utvärderats. Huvudtanken med ScrambelSuit är att försvåra identifiering och senare censurering av kommunikation med Tor---nätverket med hjälp av DPI--- teknologi. Figur 1 visar en övergripande bild över ScrambleSuits arkitektur. 6
Figur 2: Schematisk bild av ScrambleSuits arkitektur ScrambleSuit har konstruerats med hjälp av en uppsättning Python---moduler för obfsproxy. Obfsproxy är ett ramverk för förklädnad av kommunikation, som har utvecklats av Tor---projektet. Både klienten och servern kör obfsproxy tillsammans med ScrambleSuit, se Figur 2. Detta möjliggör att trafiken som utbytes krypteras, autentiseras och förkläds. Tekniskt sett tillhandahåller ScrambleSuit två kärnfunktioner: 1. ScrambleSuit skyddar användare mot aktiva sonderingsangrepp. Sådana angrepp har nyligen visat sig, se exempelvis http://www.cs.kau.se/philwint/static/gfc/, vara både billiga och effektiva att genomföra med DPI---teknologi. 2. ScrambleSuit använder sig också av förklädnadstekniker för att undvika att skapa signaturer och mönster som är enkla att identifiera för DPI---boxar. Såväl paketstorlekar som sändningstider för paket alterneras av protokollet. I Figur 3 visas ScrambleSuits relation till andra protokoll i protokollstacken. Tor VPN SOCKS ScrambleSuit TCP IP Figure 3: ScrambleSuits protokollstack Som kan ses i figuren är ScrambleSuit implementerat som ett (tunt) skikt ovanpå TCP. Värt att notera är att ScrambleSuit är oberoende av applikationsprotokoll och kan överföra data för alla typer av applikationer som stödjer SOCKS. Detta inkludera Tor, VPN, SSH och många andra protokoll. 6. Utvärdering och analys Nedan ges en kort utvärdering av projektets resultat i punktform. 7
6.1. Utvärdering av resultat 1. Samtliga specificerade leverabler har levererats. 2. Vetenskapliga resultat har presenterats vid vetenskapliga konferenser och redovisats skriftligt i en teknisk rapport och två konferensartiklar. 3. Arbetet i projektet har presenterats på Swedish IT Security Network for PhD Students (SWITS) ---seminariet i Malmö i 3---4 juni 2013. 4. Nya kontakter med forskare runt om i världen har knutits och nya samarbetsprojekt har initierats. 5. Delar av forskningsarbetet har presenterats i kursen Topics in Computer Security. 6. Idéer och resultat har spridits till medlemmar i Tor---projektet. 7. Källkoden för ScrambleSuit tillhandahålls som öppen källkod. 6.2. Förslag på förbättringar Projektet har i stort fungerat mycket väl. Det som möjligen hade kunnat förbättra resultatet ytterligare hade varit om vi kunnat tillhandahålla en utgångsnod i Tor--- nätverket, se Figur 1, men vi fick inte tillstånd till det. 7. Framtida arbeten Även om ett väl fungerade transportprotokoll för att undvika att kommunikation med Tor---nätverket har utvecklats, så är lösningen inte helt optimal. Mer sofistikerade detektionsmetoder som bygger på DPI---teknologi utvecklas ständigt. Detta får till följd att även ScrambleSuit kontinuerligt måste förbättras för att kommunikationen inte ska gå att upptäcka och därmed kunna censureras. Värt att notera är att vi för närvarande arbetar med att integrera ScrambleSuit i obfsproxy, se https://bugs.torproject.org/10598. Genom framgångarna i det aktuella projektet har nya kontakter skapats med forskningsgrupper och utvecklare runt om i världen. Ett konkret exempel är ett nyligen initierat samarbete kring censurering med en forskargrupp i New Mexico, USA. Förhoppningen är att detta samarbete ska resultera i nya banbrytande idéer för att försvåra censurering av kommunikation på Internet. Ett annat viktigt arbete relaterat till Tor och dess funktionalitet är att upptäcka illasinnade utgångsnoder. Identifiering och rapporteringen av sådana noder måste göras regelbundet och helst bör detta ske per automatik. I ett nyligen initierat projekt Exposing Malicious Tor Exit Relays arbetar vi med att utveckla metoder för att snabbt och effektivt kunna upptäcka illasinnade utgångsnoder. Även detta projekt finansieras av Internetfonden. En mer utförlig beskrivning av projektet och dess initiala resultat finns på http://www.cs.kau.se/philwint/spoiled_onions/. Värt att noterat är att trots att projektet endast har pågått i lite knappt en månad, så har det redan fått stor uppmärksamhet i såväl nationell som internationell press. För att åstadkomma ännu bättre forskning kring anonymitet i allmänhet och Tor i synnerhet uppvaktar vi nu vår rektor för att få ett tillstånd att kunna tillhandahålla 8
en utgångsnod för Tor---nätverket. Med en egen utgångsnod kommer vi dels att få praktisk erfarenhet av att hantera sådana noder, dels kunna skapa en plattform för att identifiera och formulera nya, spännande forskningsfrågor kring Tor. En egen utgångsnod skulle således vara en viktig pusselbit i Datavetenskaps ambition att bli en världsledande forskningsgrupp inom nätverk och säkerhet. 10