En intervju med OSTIF, teamet bakom OpenVPN-revisionen

[ware_item id=33][/ware_item]

OSTIF granskar OpenVPN till förmån för alla.


Contents

Du har precis avslutat din säkerhetsrevision av OpenVPN. Två personer arbetade i nästan två månader med detta projekt. Hur fungerar en sådan revision?

Det avslutade faktiskt tre forskare som arbetade totalt 50 dagar (cirka 1000 timmar) på säkerhetsgranskningen.

När vi planerar att granska en mjukvara, finns det en betydande mängd arbete som planerar tidpunkten för revisionen, vem som ska göra arbetet och vilka områden i programvaran vi ska täcka.

För OpenVPN väntade vi på att OpenVPN 2.4 släpptes med några större kodändringar. Vi kunde sedan utvärdera de nya funktionerna, liksom en hel del ändringar under huven.

Uppdateringar som innehåller betydande kodändringar är bra tider att utvärdera programvara eftersom kodfel kan göra det genom testning, eller regressioner på kantfunktioner kan glida genom sprickorna.

OpenVPN är en unik programvara genom att det är en monolitisk kod med många funktioner som måste vara kompatibla med äldre versioner. Att säkerställa äldre kompatibilitet bromsar processen för säkerhetsöversynen. Vi måste navigera i en komplex webb av funktioner snarare än i en modulär design där applikationen kan utvärderas i bitar. OpenVPN förlitar sig också på två olika bibliotek (OpenSSL och PolarSSL) för kryptering, vilket innebär att det finns två helt olika kryptomiljöer som driver säkerheten.

Ännu längre finns det OpenVPN 3.0 som är en unik version som inte är helt öppen källkod. OpenVPN 3.0 skapades på grund av licensproblem med Apple App store som förhindrar gratis programvara i butiken. OpenVPN 3.0-kod används för OpenVPN Connect för Android och iOS. Om vi ​​skulle utvärdera hela detta ekosystem skulle det ta många forskare många månader att kamma igenom alla dessa varianter av OpenVPN, och då måste de fortfarande ta hänsyn till alla olika nätverks- och hårdvarukonfigurationer som dessa olika appar kan möta. Komplexiteten och kostnaden skulle vara enorm.

Vi konsulterade experter och arbetade med OpenVPN-teamet och QuarksLab för att ta reda på vad vi ska fokusera på. Det beslutades att OpenVPN 2.4 för Windows och Linux täckte flest användare och skulle göra det bästa. De flesta kommersiella VPN-leverantörer använder OpenVPN 2.4-koden för sina anpassade VPN-klienter på grund av licensstrukturen runt den.

Vi beslutade också att fokusera på all kryptografi som skapats av OpenVPN själv, och programmets säkerhet. Detta innebär att du letar efter logikfel, minnesallokeringsfel, felaktig bufferthantering eller andra felaktiga felstillståndssårbarheter.

En separat granskning av OpenSSL skulle göra det möjligt för oss att utvärdera själva OpenVPN-kryptografin för att säkerställa att både kryptografin och applikationen är sunda. Det är viktigt att skapa en säker och svåranvänd applikation för användare att njuta av.

När det gäller själva granskningsprocessen gör QuarksLab ett utmärkt jobb med att dokumentera de processer och verktyg som används vid utvärdering av programvara. Vårt arbete fokuserar på att planera revisionsomfånget och sätta upp uppnåbara mål. Vi samlar sedan öppen källkod, säkerhet och sekretesssamhällen runt orsaken för att samla in pengar för att få det gjort.

Finns det några överraskande / anmärkningsvärda resultat från din revision som du skulle kunna dela med oss ​​nu?

Vi är i avbrytningsstadiet av granskningsprocessen för OpenVPN så jag kommer inte att kunna diskutera några detaljer som kan leda in människor till resultaten, men de kommer att vara tillgängliga mycket snart. Vi väntar på OpenVPN 2.4.2.

Vad är skälen för en sådan revision? Tippas du av till potentiella säkerhetshål eller vill du bara titta närmare på programvara som du regelbundet litar på?

Vår strategi som organisation är att täcka olika områden av säkerhet och integritet och välja applikationer som används mycket.

VeraCrypt var en eftertraktad efterträdare till TrueCrypt, som samhället starkt förlitade sig på, men de som kör projektet var relativt okända och tog på sig ett massivt projekt med komplex kod. Det var logiskt förnuftigt att närma sig den som vår första granskning eftersom vi kunde utvärdera ändringarna i koden som gick till TrueCrypt 7.1a och jämföra den med den aktuella versionen av VeraCrypt. Denna smala räckvidd gjorde det möjligt för oss att dramatiskt sänka kostnaderna och visa människor att organisationen är effektiv för att få resultat.

OpenVPN är vår första "breda" granskning av en applikation. Det krävde en mycket större budget men hade också en stor grupp VPN-leverantörer (som själva är integritetsaktivister). VPN-leverantörerna är intresserade av både användarnas integritet och är direkt berörda av säkerheten för OpenVPN som gjorde det möjligt för oss att samla in både från OpenVPN kommersiella intressen och privata användare samtidigt.

OpenSSL är större igen, men har branschstöd runtom, eftersom OpenSSL-koden (och andra bibliotek härrörande från den) driver cirka 70% av de bästa 1 000 000 webbplatserna. Detta ger oss en hel del affärsintressen som vi kan begära finansiering för att utvärdera OpenSSL 1.1.1, som kommer att vara den första OpenSSL-versionen med ny TLS 1.3-kod.

När vi går längre ner i listan över applikationer planerar vi att granska; det blir svårare att samla in pengar. Antingen för att samhällena som omger dem är mindre, eller för att det inte finns något intressant affärsintresse för att applikationen ska lyckas.

Vi hoppas att vi efter upprepade framgångar kommer att kunna säkra större företagsponsorer som gör det möjligt för oss att effektivare rikta pengar till dessa projekt utan att helt förlita oss på små offentliga donationer. Detta skulle också hjälpa oss starkt att etablera våra andra program, som involverar att arbeta med projekt för att göra deras applikationer lättare att använda, förbättra testmetoder och verktyg och skapa enkla att följa guider för sekretess- och säkerhetsprogramvara som vi stöder..

Kort sagt, just nu är det allt en del av en större strategi för att stödja en applikation från varje huvudområde av sekretess och säkerhet och sedan expandera därifrån. Våra kriterier är mjukvarans upplevda styrka i kombination med utbredd användning.

För ditt OpenVPN-projekt har du till stor del fått stöd från VPN-branschen. Har du förväntat dig stöd utöver det? Hur nöjd är du med detta stöd?

Vi fick också en stor mängd stöd från samhället, både muntligt och direkt.

Vårt mål överträffades förvånansvärt snabbt, eftersom vi ursprungligen trodde att fönstret på en månad som vi avsatte för insamling av pengar inte skulle vara tillräckligt. Men vi passerade vårt mål och höjde betydligt mer än planerat inom 20 dagar. Dessa pengar avsattes för bug-bounty-programmet som planeras starta under sommaren / hösten.

Jag blev förvånad över det positiva samhällsresponset och utkastet av stöd för projektet. Det var verkligen anmärkningsvärt! Jag är mycket nöjd med samhällsstödet för projektet, men blev också förvånad över antalet större organisationer som inte svarade på våra förfrågningar eller inte hade någon kontaktpunkt för deras ledning.

Men övergripande övervägde de goda de dåliga, och vi ser fram emot att samarbeta med alla våra supportrar på OpenVPN-initiativet och därefter!

Du har flyttat från en insamlingsmodell med poolade resurser till en direkt insamlingsmodell där du samlar in pengar för varje projekt separat. Det verkade ha fungerat bra för OpenVPN-projektet, där VPN-branschen gärna donerade. Förväntar du dig att framtida projekt kommer att finansieras på liknande sätt, och hur fungerar det för programvaruprojekt som inte har en kommersiell industri som omger dem, till exempel OTR?

Förändringen i finansieringsmodellen berodde på feedback från samhället angående klistermärkechock. Under vår första insamlingsrunda planerade vi ett år med aktiviteter och försökte sedan samla insatsen genom KickStarter. Detta ledde till ekonomiska hinder, som att erbjuda belöningar för donationer, KickStarter-avgifter och betaltjänster som skummar pengar från donationer. De åtta planerade projekten pressade också målet väl in i miljoner dollar. Som en nykomling i branschen utan meritlista, den enorma mängden pengar involverad, och efter några framträdande KickStarter-misslyckanden, var det dömt från början.

Vår strategiska förskjutning förde omkostnaderna och siffrorna till jorden och satte upp mer uppnåeliga mål, men det kräver också betydligt mer arbete för varje insamling. Vi hoppas att vi efter att ha byggt upp ett rykte om ansvar och effektivitet kommer att kunna säkra större givare som gör att vi kan fokusera mer på att göra saker och mindre på direkt anmodan om donationer. Större donationer kommer också att ha den extra fördelen att vi kan finansiera mindre kommersiellt intressanta projekt som OTR, Nginx, Tunnelblick och mer.

Hur ser du att sekretess- och säkerhetsförbättrande teknik utvecklas? Särskilt när det gäller mobiltelefoner och proprietära system?

Vi har upprepade gånger sett genom olika statliga byråläckor att om kryptografin kring informationen är bra kan de inte bryta den en massa.

Detta faktum inaktiverar åtminstone "lyssna på alla" -formen av massövervakning som har blivit genomgripande under de senaste åren. Eftersom dessa sekretessverktyg fortsätter att förbättras och krypto blir svårare att bryta och lättare att använda, ser vi avsevärt ökade ansträngningar att attackera och kompromettera enheter.

Det finns bevis på detta genom den enorma stölden av SIM-kortnycklar med Gemalto, enorma listor med pilferade RSA-nycklar i NSA-läckor, bakdörrar insatta i Cisco- och Juniper-system, och så vidare.

Säkerhetsgemenskapen har länge begärt en "full stack" med öppen källkod kring de enheter som har vår mest privata information. Det största hinderet just nu är att finansiera och organisera stödet för att faktiskt göra det.

Vissa företag verkar göra stort arbete på den egna sidan, men vi har upprepade gånger lärt oss att vi inte kan lita på en svart ruta med kod. Se månaderna överflödet i iOS: https://googleprojectzero.blogspot.com/2017/04/exception-oriented-exploitation-on-ios.html

Android har många ekosystemrelaterade problem relaterade till uppdateringar som ligger bakom och skapar miljoner utsatta enheter. Eller företag som oavsiktligt stoppar uppdateringar för sina telefoner när försäljningen slutar. Sedan finns det ännu djupare problem som sårbar Broadcom-radioprogramvara som aldrig kommer att fixas, vilket nyligen visats av Project Zero.

En verkligt öppen källkodstelefon är ett stort fråga, men vi kan verkligen försöka driva öppen källkodssamhälle i rätt riktning genom att utveckla delar av pusslet oberoende. Jag hoppas verkligen att vi kan komma dit, eftersom den nuvarande situationen är en röra. Jag är chockad över att det inte redan finns en smarttelefonbaserad Mirai som slår ut celltorn över hela världen med dataflöden.

Apple har gjort många positiva nyheter med sina egna system för säkerhet och integritet. Vad tror du kommer öppen källkodsprojekt att spela för att föra användbar teknik till massorna medan respekt för användarnas rättigheter?

Apple har lagt enorma resurser på att bygga ett telefonekosystem som fokuserar på säkerhet. Problemet är att Apple inte öppnar den här tekniken, så vi har att göra med samma problem som träffar kommersiell mjukvara, som Windows.

Vi har en svart ruta med miljoner rader med kod av okänd kvalitet, alla interagerar med varandra på kända sätt. Apple förlitar sig på oförmågan hos malware-tillverkare och säkerhetsforskare att omvända sin kod och hitta brister. En del av denna motivation är att låsa programvaran till telefonerna, så att iOS bara kan installeras på äkta Apple-hårdvara. En annan motivation är att låsa telefonerna till mjukvaran, så att du inte kan köpa en iPhone och sätta ett alternativt operativsystem på den, vilket bevarar deras förmåga att dra pengar genom app store med en fångad publik.

För att vara tydliga, just nu, gör de ett objektivt bättre jobb än Google är när det gäller allmän säkerhet. Problemet är att den här svarta rutan inte kan lita på. Den har buggar precis som all programvara gör - tusentals buggar. Eftersom den här programvaran är egenutvecklad och källan inte är tillgänglig, väntar dessa buggar på upptäckt av ett Apple-säkerhetsteam, eller någon annan i världen som hittar dem först.

Open Source-programvaran kan granskas. Det tar bort "bara lita på mig" -frågan som ingen person som är intresserad av sekretess objektivt kan acceptera.

Jag hoppas att Google rör sig i riktning mot Apple genom att uppdateringar tvingas över alla enheter oavsett leverantör, och hårdvarukraven måste skärpas för att det ska hända. Jag hoppas också att vi kan öppna källkod för de för närvarande stängda delarna av Googles firmware och dess relaterade drivrutiner så att vi kan lita på den fulla stacken som telefonen bygger på för säkerhet. Det skulle sätta en öppen lösning i stånd att leda marknaden med god säkerhets- och integritetspraxis.

Du tittar mycket på andras kod. Vilka vanliga misstag observerar du? Vilken typ av buggar är de vanligaste?

Jag gör faktiskt inte själva säkerhetsgranskningarna, det lämnas till de upphandlade revisorerna. Men de vanligaste problemen är problem med minneshantering och korrekt radering av säkerhetsrelaterade data när de inte längre används.

Det andra stora misstaget är att försöka skriva din egen kryptografi. Det är väldigt komplicerat, och det finns många, många sätt att besegra kryptografi som har uppfunnits under de senaste decennierna. Du måste noga överväga dem alla och följa många standarder för att skapa stark kryptografi. Genom att använda redan kompatibla bibliotek undviks detta säkerhetsgruv helt.

Har du några råd att dela med de många kodarna som läser detta?

Stöd ett open source-säkerhets- eller integritetsinitiativ. Det är oerhört värdefullt att ge dig tid och kunskap som en kodare, även om du bara gör ett enda engagemang per månad för ett värdigt projekt.

Summan av samhällets förmågor och tid lägger till applikationer som kan förändra internet och världen till det bättre. Om du inte har en säkerhetsbakgrund, gör en liten återkommande donation till en organisation som hjälper till att bygga och förbättra dessa verktyg och bibliotek. Jag talar inte bara om OSTIF, jag talar om Free Software Foundation eller någon av de donerade knappar du ser när du laddar ner en öppen källkodsprogram.

Du skulle bli chockad över hur mycket några dollar hjälper små projekt att fungera och förbättra. Små bidrag lägger till en bättre digital värld för oss alla.

En intervju med OSTIF, teamet bakom OpenVPN-revisionen
admin Author
Sorry! The Author has not filled his profile.