Intervija ar OSTIF, OpenVPN audita komandu

OSTIF revidē OpenVPN visu labā.

Contents

Jūs tikko esat pabeidzis OpenVPN drošības auditu. Divi cilvēki gandrīz divus mēnešus strādāja pie šī projekta. Kā šāds audits darbojas??

Tas faktiski tika likvidēts, jo trīs pētnieki drošības pārskatā strādāja kopumā 50 dienas (apmēram 1000 stundas).

Kad mēs plānojam revidēt kādu programmatūras daļu, ir jāveic ievērojams darbs, kas saistīts ar revīzijas laika plānošanu, kurš veiks darbu un kuras programmatūras jomas mēs iekļausim.

OpenVPN gadījumā mēs gaidījām līdz OpenVPN 2.4 izlaišanai, kurā bija redzamas dažas būtiskas koda izmaiņas. Pēc tam mēs varētu novērtēt jaunās funkcijas, kā arī daudz pārmaiņu, kas atrodas zem skata.

Atjauninājumi, kas satur būtiskas koda izmaiņas, ir labs laiks programmatūras novērtēšanai, jo kodēšanas kļūdas to var radīt, veicot testēšanu, vai malu funkciju regresijas var izslīdēt plaisās.

OpenVPN ir unikāls programmatūras gabals, jo tas ir monolīts kods ar daudzām funkcijām, kurām jābūt savietojamām ar vecākām versijām. Mantotās savietojamības nodrošināšana palēnina drošības pārskatīšanas procesu. Mums ir jāpārvietojas sarežģītā funkciju tīklā, nevis modulārā dizainā, kur lietojumprogrammu var novērtēt gabalos. OpenVPN arī paļaujas uz divām dažādām bibliotēkām (OpenSSL un PolarSSL) šifrēšanai, kas nozīmē, ka ir divas pilnīgi atšķirīgas šifrēšanas vides, kas darbina drošību.

Vēl vairāk, tur ir OpenVPN 3.0, kas ir unikāla versija, kas nav pilnībā atvērta avota. OpenVPN 3.0 tika izveidots licencēšanas problēmu dēļ ar Apple App veikalu, kas neļauj veikalā izveidot bezmaksas programmatūru. OpenVPN 3.0 kods tiek izmantots OpenVPN Connect operētājsistēmai Android un iOS. Ja mēs novērtētu visu šo ekosistēmu, daudziem pētniekiem vajadzēs daudzus mēnešus, lai izpētītu visas šīs OpenVPN variācijas, un tad viņiem joprojām būs jāapsver visas dažādās tīkla un aparatūras konfigurācijas, ar kurām šīs dažādās lietotnes var saskarties. Sarežģītība un izmaksas būtu milzīgas.

Mēs konsultējāmies ar ekspertiem un sadarbojāmies ar OpenVPN komandu un QuarksLab, lai izdomātu, kam pievērsties. Tika nolemts, ka OpenVPN 2.4 operētājsistēmai Windows un Linux sedz visvairāk lietotāju un darīs vislabāko. Lielākā daļa komerciālo VPN pakalpojumu sniedzēju saviem pielāgotajiem VPN klientiem izmanto OpenVPN 2.4 kodu licences struktūras dēļ ap to.

Mēs arī nolēmām pievērsties jebkurai kriptogrāfijai, ko izveidojis pats OpenVPN, un lietojumprogrammas drošībai. Tas nozīmē loģisko kļūdu, atmiņas piešķiršanas kļūdu, nepareizas bufera apstrādes vai citu nepareizu kļūdu stāvokļu ievainojumu meklēšanu.

Atsevišķs OpenSSL audits ļaus mums cieši novērtēt pašu OpenVPN kriptogrāfiju, lai pārliecinātos, ka gan kriptogrāfija, gan lietojumprogramma ir pareiza. Ir svarīgi izveidot drošu un grūti izmantojamu lietojumprogrammu, kas lietotājiem patīk.

Runājot par reālo procesu, QuarksLab veic izcilu darbu, dokumentējot procesus un rīkus, ko izmanto programmatūras novērtēšanā. Mūsu darbs ir vērsts uz revīzijas apjoma plānošanu un sasniedzamo mērķu izvirzīšanu. Pēc tam mēs apkopojam atvērtā koda, drošības un privātuma kopienas, kuru mērķis ir piesaistīt naudu, lai to izdarītu.

Vai jūsu revīzijā ir kādi pārsteidzoši / ievērības cienīgi atklājumi, kurus jūs tagad varētu koplietot ar mums??

Mēs atrodamies OpenVPN revīzijas procesa aptumšošanas posmā, tāpēc es nevarēšu apspriest specifiku, kas varētu cilvēkus piesaistīt rezultātiem, taču tie drīz būs publiski pieejami. Mēs gaidām OpenVPN 2.4.2.

Kāds ir šādas revīzijas pamatojums? Vai jūs tiek aizkavēts ar iespējamiem drošības trūkumiem, vai arī jūs vienkārši vēlaties tuvāk izpētīt programmatūru, uz kuru regulāri paļaujaties?

Mūsu kā organizācijas stratēģija ir aptvert dažādas drošības un privātuma jomas un atlasīt plaši izmantotas lietojumprogrammas.

VeraCrypt bija ļoti vajadzīgs TrueCrypt pēctecis, uz kuru sabiedrība ļoti paļāvās, bet cilvēki, kuri vadīja projektu, bija salīdzinoši nezināmi un sāka masveida projektu ar sarežģītu kodu. Bija loģiski to uzskatīt par mūsu pirmo auditu, jo mēs varējām novērtēt koda izmaiņas, kas iegāja TrueCrypt 7.1a, un salīdzināt to ar pašreizējo VeraCrypt versiju. Šī šaurā darbības joma ļāva mums dramatiski samazināt izmaksas un parādīt cilvēkiem, ka organizācija efektīvi gūst rezultātus.

OpenVPN ir mūsu pirmais “plašais” lietojumprogrammas audits. Tam bija vajadzīgs daudz lielāks budžets, bet tajā bija arī liela VPN pakalpojumu sniedzēju kopiena (kuri paši ir privātuma aktīvisti). VPN sniedzēji ir ieinteresēti gan savu lietotāju privātumā, gan tieši saistīti ar OpenVPN drošību, kas ļāva mums vienlaikus iegūt līdzekļus gan no OpenVPN komerciālajām interesēm, gan no privātajiem lietotājiem.

OpenSSL atkal ir lielāks, taču tam visam apkārt ir nozares atbalsts, jo OpenSSL kods (un citas no tā iegūtās bibliotēkas) nodrošina apmēram 70% no pirmajām 1 000 000 vietnēm. Tas mums rada daudz biznesa interešu, kurām mēs varam lūgt finansējumu, lai palīdzētu novērtēt OpenSSL 1.1.1, kas būs pirmā OpenSSL versija ar jauno TLS 1.3 kodu.

Ejot tālāk to pieteikumu sarakstā, kurus plānojam revidēt; ir grūtāk piesaistīt līdzekļus. Vai nu tāpēc, ka viņus ieskaujošās kopienas ir mazākas, vai arī tāpēc, ka pieteikuma panākumi nav ieinteresēti uzņēmējdarbībā.

Mēs ceram, ka pēc atkārtotiem panākumiem mēs spēsim iegūt lielākus korporatīvos sponsorus, kas mums ļaus efektīvāk novirzīt līdzekļus šiem projektiem, pilnībā nepaļaujoties uz nelieliem sabiedrības ziedojumiem. Tas arī ļoti palīdzētu mums izveidot citas mūsu programmas, kas ietver darbu ar projektiem, lai padarītu to lietojumus vieglāk lietojamus, testēšanas metožu un rīku uzlabošanu, kā arī viegli sekojošu rokasgrāmatu izveidi privātuma un drošības programmatūrai, kuru mēs atbalstām..

Īsāk sakot, šobrīd tā ir daļa no lielākas stratēģijas, lai atbalstītu vienu lietojumprogrammu no katras galvenās privātuma un drošības jomas, pēc tam izvērstu to no turienes. Mūsu kritērijs ir programmatūras uztvertais stiprums apvienojumā ar plašu izmantošanu.

Jūsu OpenVPN projektam jūs esat saņēmis atbalstu galvenokārt no VPN nozares. Vai jūs gaidījāt atbalstu pēc tam? Cik esat apmierināts ar šo atbalstu?

No sabiedrības saņēmām arī lielu atbalstu gan mutiski, gan tiešos ziedojumos.

Mūsu mērķis tika pārspēts pārsteidzoši ātri, jo sākotnēji uzskatījām, ka 1 mēneša periods, ko mēs atvēlējām līdzekļu vākšanai, būs nepietiekams. Bet mēs izpildījām savu mērķi un 20 dienu laikā izvirzījām ievērojami vairāk, nekā plānots. Šī nauda tika atvēlēta kļūdu novēršanas programmai, kuru plānots sākt vasarā / rudenī.

Es biju pārsteigts par pozitīvo sabiedrības reakciju un atbalsta izliešanu projektam. Tas tiešām bija izcils! Es esmu ļoti priecīgs par sabiedrības atbalstu projektam, bet arī biju pārsteigts par to, ka ir daudz lielākas organizācijas, kuras neatbildēja uz mūsu pieprasījumiem vai kurām nebija nekādas kontaktpersonas to vadībai.

Tomēr kopumā labais pārsniedza slikto, un mēs ceram sadarboties ar visiem mūsu atbalstītājiem OpenVPN iniciatīvās un ārpus tām!

Jūs esat pārcēlies no līdzekļu vākšanas modeļa ar apvienotiem resursiem uz tieša līdzekļu vākšanas modeli, kurā jūs piesaistāt līdzekļus katram projektam atsevišķi. Liekas, ka tas labi darbojās OpenVPN projektā, kur VPN nozare labprāt ziedoja. Vai jūs domājat, ka nākamie projekti tiks finansēti līdzīgi, un kā tas darbosies programmatūras projektos, kuru apkārtnē nav komerciālas nozares, piemēram, OTR?

Finansēšanas modeļa izmaiņas bija saistītas ar sabiedrības atsauksmēm par uzlīmju triecienu. Pirmajā līdzekļu vākšanas kārtā mēs plānojām aktivitāšu gadu un pēc tam centāmies piesaistīt pūles caur KickStarter. Tas izraisīja finansiālus šķēršļus, piemēram, atlīdzību par ziedojumiem piedāvāšanu, KickStarter maksu un maksājumu pakalpojumiem, kas novirzīja ziedojumus. Arī 8 plānotie projekti kopā sekmīgi izvirzīja šo mērķi miljonos dolāru. Kā nozares jaunpienācējs bez iepriekšējiem sasniegumiem, iesaistītā milzīgā naudas summa, un pēc dažām ievērojamām KickStarter neveiksmēm tas bija lemts jau no paša sākuma.

Mūsu pārmaiņas stratēģijā samazināja galvassāpes un skaitļus uz zemes un izvirzīja sasniedzamākus mērķus, taču tas prasa arī ievērojami lielāku darbu pie katra līdzekļu vākšanas. Mēs ceram, ka pēc atbildības un efektivitātes reputācijas veidošanas mēs varēsim nodrošināt lielākus ziedotājus, kas mums vairāk ļaus koncentrēties uz lietu izdarīšanu un mazāk uz ziedojumu tiešu lūgšanu. Lielākiem ziedojumiem būs arī papildu ieguvums, ļaujot mums finansēt mazāk komerciāli interesantus projektus, piemēram, OTR, Nginx, Tunnelblick un citus.

Kā jūs redzat, kā attīstās privātumu un drošību uzlabojoša tehnoloģija? Īpaši attiecībā uz mobilajiem tālruņiem un patentētajām sistēmām?

Izmantojot dažādas valdības aģentūru noplūdes, mēs vairākkārt esam redzējuši, ka, ja informācijas kriptogrāfija ir laba, viņi to nevar masveidā sadalīt.

Šis fakts vismaz atspējo masveida novērošanas “ieklausīšanās ikvienā” formu, kas pēdējos gados ir kļuvusi izplatīta. Tā kā šie konfidencialitātes rīki turpina uzlaboties un kriptogrāfijas kļūst grūtāk salauzt un vieglāk lietojamas, mēs redzēsim ievērojami pastiprinātus centienus uzbrukt un kompromitēt ierīces.

Par to liecina masveida SIM karšu atslēgu zādzības ar Gemalto, milzīgi sašaurinātu RSA atslēgu saraksti NSA noplūdēs, aizmugures durvis, kas ievietotas Cisco un Juniper sistēmās utt..

Drošības kopiena jau sen ir aicinājusi uz “pilnu kaudzīti” atvērtā pirmkoda, kas apņem ierīces, kuras satur mūsu privātāko informāciju. Pašreiz lielākais šķērslis ir finansēšana un atbalsta organizēšana, lai to faktiski izdarītu.

Šķiet, ka daži uzņēmumi veic lielu darbu patentētajā pusē, taču mēs vairākkārt esam iemācījušies, ka mēs nevaram uzticēties melnajai kodu kastītei. Skatiet šo mēnešu lielo pārpildījumu iOS: https://googleprojectzero.blogspot.com/2017/04/exception-oriented-exploitation-on-ios.html

Android ir daudz ar ekosistēmām saistītu problēmu, kas saistītas ar atjauninājumiem, kas atpaliek, radot miljoniem neaizsargātu ierīču. Vai arī uzņēmumi nevērīgi pārtrauc savu tālruņu atjaunināšanu, tiklīdz pārdošanas apstājas. Pēc tam ir vēl dziļākas problēmas, piemēram, neaizsargāta Broadcom radio programmaparatūra, kas nekad netiks labota, kā nesen parādīja Project Zero.

Patiesi atvērtā koda tālrunis ir liels jautājums, taču mēs noteikti varam mēģināt virzīt atvērtā pirmkoda kopienu pareizajā virzienā, patstāvīgi izstrādājot mīkla gabalus. Es patiešām ceru, ka mēs varēsim tur nokļūt, jo pašreizējā situācija ir juceklīga. Esmu satriekts, ka vēl nav neviena viedtālruņu bāzes Mirai, kas visā pasaulē ar datu plūdiem iznīcina šūnu torņus..

Apple ar savām patentētajām sistēmām ir sniedzis daudz pozitīvu ziņu par drošību un privātumu. Kā jūs domājat, kādi būs atvērtā pirmkoda projekti, kas nodrošinās plašas masas lietojamu tehnoloģiju, vienlaikus ievērojot lietotāju tiesības?

Apple ir ieguldījis milzīgus resursus tālruņu ekosistēmas izveidē, kas koncentrējas uz drošību. Problēma ir tā, ka Apple neatver šo tehnoloģiju, tāpēc mēs risinām to pašu problēmu, kas skar komerciālo programmatūru, piemēram, Windows.

Mums ir melnā kaste ar miljoniem nezināmas kvalitātes koda rindiņu, kas visi savstarpēji mijiedarbojas zināmos veidos. Apple paļaujas uz ļaunprātīgas programmatūras izstrādātāju un drošības pētnieku nespēju pārveidot savu kodu un atrast trūkumus. Daļa no šīs motivācijas ir programmatūras bloķēšana tālruņiem, lai iOS varētu instalēt tikai oriģinālajā Apple aparatūrā. Vēl viena motivācija ir tālruņu bloķēšana programmatūrai, tāpēc jūs nevarat iegādāties iPhone un ievietot tajā alternatīvu operētājsistēmu, saglabājot viņu iespēju piesaistīt naudu lietotņu veikalā ar piesaistītu auditoriju..

Skaidri sakot, ka šobrīd viņi dara objektīvi labāku darbu nekā Google, kad runa ir par vispārējo drošību. Problēma ir tā, ka šai melnajai kastei nevar uzticēties. Tam ir kļūdas, tāpat kā visai programmatūrai, tūkstošiem kļūdu. Tā kā šī programmatūra ir patentēta un avots nav pieejams, šīs kļūdas tiek gaidītas, kad to atklāj Apple drošības komanda vai kāds cits pasaulē, kurš tos atrod vispirms.

Atvērtā koda programmatūru var pārskatīt. Tas atceļ prasību “vienkārši uzticieties man”, ko objektīvi nevar pieņemt neviena privātumu ieinteresētā persona.

Es ceru, ka Google virzās Apple virzienā, jo atjauninājumi būs jāpiespiež visās ierīcēs neatkarīgi no pārdevēja, un, lai tas notiktu, būs jāpieliek stingrākas prasības attiecībā uz aparatūru. Es arī ceru, ka mēs varam atvērt atvērtā koda pašreiz slēgtās Google programmaparatūras daļas un ar to saistītos draiverus, lai mēs varētu uzticēties pilnīgai kaudzei, uz kuru tālrunis paļaujas drošības nolūkos. Tas radītu atvērtu risinājumu situācijā, kurā tirgū var vadīties ar labu drošības un privātuma praksi.

Jūs daudz skatāties uz citu cilvēku kodu. Kādas izplatītas kļūdas jūs novērojat? Kāda veida bugs ir visizplatītākais?

Es faktiski pats neveicu drošības pārbaudes, tas ir atstāts nolīgto auditoru ziņā. Bet visbiežāk sastopamās problēmas ir atmiņas pārvaldības problēmas un ar drošību saistītu datu pareiza dzēšana, kad tie vairs netiek izmantoti.

Otra lielā kļūda ir mēģinājums uzrakstīt pats savu kriptogrāfiju. Tas ir mežonīgi sarežģīti, un ir daudz, daudz veidu, kā sakaut kriptogrāfiju, kas tika izgudrota pēdējās desmitgadēs. Lai izveidotu spēcīgu kriptogrāfiju, jums tie visi rūpīgi jāizvērtē un stingri jāievēro daudzi standarti. Izmantojot jau saderīgas bibliotēkas, pilnībā tiek novērsts šis drošības mīnu lauks.

Vai jums ir kāds padoms, ko padalīties ar daudzajiem kodētājiem, lasot šo?

Atbalstiet atvērtā koda drošības vai privātuma iniciatīvu. Brīvprātīgais jūsu laika un zināšanu kā kodētāja darbs ir ārkārtīgi vērtīgs, pat ja jūs mēnesī tikai vienu reizi apņematies cienīgu projektu.

Kopienu spēju un laika summa tiek pievienota lietojumprogrammām, kas var mainīt internetu un pasauli uz labo pusi. Ja jums nav drošības fona, veiciet nelielu atkārtotu ziedojumu organizācijai, kas palīdz veidot un uzlabot šos rīkus un bibliotēkas. Es nerunāju tikai par OSTIF, es runāju par Brīvās programmatūras fondu vai jebkuru no tām ziedojumu pogām, kuras redzat, lejupielādējot atvērtā pirmkoda programmatūru.

Jūs būtu šokēts, cik daudz dolāru palīdz maziem projektiem darboties un uzlabot. Nelieli ieguldījumi rada labāku digitālo pasauli mums visiem.

Intervija ar OSTIF, OpenVPN audita komandu
admin Author
Sorry! The Author has not filled his profile.