ExpressVPN noplūdes pārbaudes rīki

Caur palielināmo stiklu parādīts noplūduša datora kabeļa attēls.

ExpressVPN noplūdes testēšanas rīki ir Python rīku paplašināms komplekts, kas paredzēts gan manuālai, gan automatizētai VPN lietojumprogrammu noplūdes pārbaudei..

Izstrādājuši ExpressVPN Privātuma pētījumu laboratorija, rīki sākotnēji tika veidoti diviem mērķiem:

  • Izturīgas, automatizētas ExpressVPN lietojumprogrammu regresijas testēšanas nodrošināšana
  • Noplūžu pārbaudes izmeklēšanas atvieglošana, lai turpinātu stiprināt šos lietojumus

Drīz vien sapratām, ka šie rīki faktiski var būt noderīgi plašākai VPN nozarei. Tādējādi mēs nolēmām padarīt tos pilnībā pieejamus atvērtā koda avotus ar MIT licenci.

Mēs ceram, ka šādi rīkojoties, mēs visiem VPN lietotājiem nodrošināsim privātāku un drošāku tiešsaistes pieredzi:

  • nodrošinot lietotājiem un trešajām personām neatkarīgu veidu, kā pārbaudīt VPN kvalitāti un novērtēt viņu privātuma un drošības riskus;
  • izveidot augstāku etalonu aizsardzībai pret noplūdēm visai VPN nozarei; un
  • apvienojot visas nozares zināšanas par noplūdes pārbaudēm

Darba sākšana ar instrumentiem

Rīkus var atrast vietnē GitHub vietnē: https://github.com/expressvpn/expressvpn_leak_testing.

Lai sāktu, izpildiet instrukcijas failā README.md. Kaut arī mēs sniedzam pārskatu par tālāk esošajiem rīkiem, GitHub repozitorijs vienmēr jāuzskata par vienīgo patiesības avotu dokumentācijai, kas attiecas uz rīkiem.

Ņemiet vērā, ka, lai ievērotu testēšanas instrukcijas, kas iekļautas mūsu Privacy Research Lab gadījumu izpētē, jums būs jāinstalē noplūdes rīki atbilstoši GitHub dokumentācijai. Tiek pieņemts, ka ikreiz, kad jūs vadāt kādu no gadījuma pētījumiem, rīku saknes direktorijs attiecas uz vietu, kur esat klonējis iepriekš minēto git krātuvi.

Instrumentu pārskats

Mēs izmantojam Python

Instrumenti galvenokārt tiek rakstīti Python valodā, vajadzības gadījumā ar dažiem palīgrīkiem citās valodās. Mēs izvēlējāmies Python vairāku iemeslu dēļ:

  • Tas ir daudzplatformisks un lielākajā daļā gadījumu tiek atbalstīts ārpus platformas
  • Tas ir labi zināms lielai daļai izstrādātāju, un tāpēc ir viegli pieejams
  • Tas ir ātri attīstāms - mums nav prasību par testēšanas ietvara veiktspēju
  • Tā ir izteiksmīga valoda, kas ļauj mums rakstīt viegli salasāmu kodu

Ņemiet vērā, ka mēs izmantojam Python 3, jo tas ātri kļūst par de facto standartu.

Tas ir tāpat kā vienības pārbaude

Rīki tika izstrādāti, lai darbotos kā vienības testēšanas komplekts. Komplekta palaišanai tiek izmantots viens skripts, kurš pēc tam palaiž virkni testu. Katrā pārbaudē tiek pārbaudīts noteikta veida noplūde īpašos apstākļos, piemēram, noteiktos tīkla apstākļos, pēc tam tiek ziņots par caurlaidi, kļūmi vai kļūdu.

Tests vai testa gadījums aptuveni atbilst vienam Python failam. Testa komplekts tika izveidots tā, lai būtu pazīstams izstrādātājiem, kas pieraduši darbam ar vienību testēšanas komplektiem, tāpēc katrs tests notiek pēc pazīstamā iestatīšanas (), testa () un nojaukšanas () modeļa.

Pārbaudes gadījumi ir veidoti pēc iespējas vispārīgākiem. Pārbaudes gadījumus var palaist ar dažādām VPN konfigurācijām, dažādām tīkla konfigurācijām un tā tālāk. Kad tie tiek palaisti, tiem tiek nodrošināta konfigurācija, kas norāda, kā tie darbosies konkrētajā testēšanas kārtā. Konfigurācijas fails tiek pārsūtīts uz testa komplektu, kurā uzskaitīti visi izpildāmie testi un to konfigurācijas.

Pārbaužu izpildes piemērs ir rīka saknes direktorijā izpildīt šādu komandu:

./run_tests.sh -c configs / case_studies / vanilla_leaks.py

Ierīces un tīkla konfigurācijas

Komplekts ir paredzēts, lai varētu veikt testus ar patvaļīgu ierīču un tīklu konfigurāciju. Jau pašā sākumā mēs zinājām, ka dažu VPN uzvedības aspektu pārbaudei būs nepieciešama vairāk nekā viena ierīce, tāpēc mēs izveidojām testa komplektu, lai tas būtu iespējams jau pašā sākumā..

Ierīci, no kuras tiek veikti testi, sauc par testa orķestris. Visas citas ierīces vienkārši sauc par testa ierīces.

Vienkāršākais testa veids tiek veikts ar vienu ierīci (vienas ierīces testi) un noplūžu pārbaude tieši šajā ierīcē. Piemēram, var veikt plašu Windows noplūdes testu klasi tieši Windows ierīcē. Šajā gadījumā testa orķestris faktiski ir arī testa ierīce. Sarežģītāki testi (vairāku ierīču testi) var ietvert testa ierīci, kurā darbojas VPN, maršrutētāju un pakešu uztveršanas ierīci..

Automatizācija

Testa komplekts tika izveidots, lai pilnībā atbalstītu testu automatizāciju. Tomēr testiem vienmēr būs nepieciešama manuāla mijiedarbība. Ikreiz, kad ir nepieciešama mijiedarbība, testa komplekts skaidri uzvedīs lietotāju un pateiks, kā rīkoties.

Viena no grūtākajām testu automatizācijas sastāvdaļām ir VPN lietojumprogrammu kontrole. Patiešām, daudzos testos tas ir vienīgais mīkla, kas nav automatizēta. Pašlaik mēs neplānojam piedāvāt krātuvē atbalstu VPN lietojumprogrammu vadības automatizēšanai. Šāda atbalsta pievienošanu tomēr atbalsta komplekta arhitektūra.

Ņemiet vērā, ka iekšēji mēs esam ieviesuši pilnīgu mūsu pašu lietojumprogrammu automatizāciju, lai atvieglotu nepārtrauktu integrācijas pārbaudi. Mēs neplānojam šos automatizācijas rīkus padarīt pieejamus kā atvērtā pirmkoda krātuves daļu.

Instrumentu iestatīšana

Sīki izstrādātas instrukcijas par testa ierīču iestatīšanu ir sniegtas GitHub repo. Šeit sniegts tikai pārskats par to, kas sagaidāms, iestatot ierīces.

Pārbaudes komplekts tiek atbalstīts Linux, macOS un Windows ierīcēs (t.i., Python komplektu var instalēt un tieši palaist šajās ierīcēs). Rīki atbalsta arī mobilās ierīces, taču pats komplekts nekad netiks darbināts tieši šajās ierīcēs.

Mēs iesakām pēc iespējas vairāk izmantot virtuālās mašīnas (VM), īpaši vienas ierīces testiem. VM piedāvā vairākas priekšrocības:

  • Viegli izveidot un konfigurēt jaunas tīkla saskarnes
  • Ļauj uzturēt savu resursdatoru neskartu no daudzajām trešo personu programmatūras instalācijām, kuras ir nepieciešamas testiem
  • Satiksmes uztveršana, izejot no VM, ir vienkāršāka nekā satiksmes uztveršana, atstājot reālu, fizisku ierīci
  • Viegli iepriekš konfigurēt momentuzņēmumus un pēc nepieciešamības tos atjaunot

Nopietnai padziļinātai pārbaudei vienmēr iesakām veikt testus arī ar reālu fizisko aparatūru, lai izslēgtu iespējamās atšķirības starp virtualizēto un reālo aparatūru..

Ņemiet vērā, ka lielākajai daļai testu ir nepieciešamas root (administratora) atļaujas, tāpēc, lai lietas vienkāršotu, viss komplekts darbosies kā root.

Uzziniet vairāk par noplūdes scenārijiem, kuriem paredzēts rīku tests

Šie gadījumu pētījumi sniedz vairāk informācijas par dažiem noplūdes scenārijiem, kurus šie rīki pārbauda, ​​paskaidrojot, kā tie varētu ietekmēt jūsu privātumu un drošību, kā arī aprakstīts, kā izmantot attiecīgo rīku:

  • 1. gadījuma izpēte: “Vaniļa” noplūst
  • 2. gadījuma izpēte: WebRTC noplūde
  • 3. gadījuma izpēte: Tīkla pārejas noplūdes
  • 4. gadījuma izpēte: nepieejama VPN servera noplūde
  • 5. gadījuma izpēte: VPN procesa avārijas noplūdes

Ieguldījums instrumentos

Mēs esam priecīgi saņemt ieguldījumu rīkos, neatkarīgi no tā, vai tie ir kļūdu labojumi, uzlabojumu ieteikumi vai pilnīgi jauni pārbaudes gadījumi. Jūs varat iesniegt atsauksmes, izmantojot GitHub piesaistīšanas pieprasījumus.

Sazinieties ar mums par instrumentiem

Par instrumentiem varat sazināties ar mums pa e-pastu [email protected]

Ņemiet vērā, ka instrumenti pašlaik atrodas alfa stāvoklis un, iespējams, bieži mainīsies. Tomēr mēs centīsimies nodrošināt, lai instrumenti vienmēr būtu izmantojamā stāvoklī.

ExpressVPN noplūdes pārbaudes rīki
admin Author
Sorry! The Author has not filled his profile.