Jam inxhinier nga arsimi, por komunikoj më tepër me ndërmarrës dhe drejtorë prodhimesh. Disa kohë më parë, pronari i një kompanie industriale iu drejtua për këshilla. Pavarësisht se ndërmarrja është e madhe dhe është krijuar në vitet '90, menaxhimi dhe kontabiliteti funksionojnë në mënyrë të vjetër në një rrjet lokal.
Kjo është pasojë e frikës për biznesin e tij dhe forcimit të kontrollit nga shteti. Ligjet dhe rregulloret mund të interpretohen shumë gjerësisht nga organet inspektuese. Një shembull mund të jetë ndryshimet në Kodin e Tatimeve, për shkeljet e tatimeve, shkatërrimin e vërtetë .
Si rezultat, pronari i ndërmarrjes filloi të kërkonte zgjidhje për ruajtjen e besueshme të informacionit dhe transmetimin e sigurt të dokumenteve. Një "saf" virtual.
Kemi punuar për këtë detyrë me administratorin sistemor të kompanisë: nevojitet një analizë e thellë e platformave ekzistuese.
- shërbimi duhet të jetë jo në re, në kuptimin klasik të kësaj fjale, pra, pa ruajtje në kapacitetet e një organizate të tretë. Vetëm serveri ynë;
- ka nevojë për enkriptim të qëndrueshëm të të dhënave të përcjella dhe të ruajtura;
- është e domosdoshme që të ketë mundësinë për të fshirë menjëherë përmbajtjen nga çdo aparat me një klik të vetëm;
- zgjidhja është zhvilluar jashtë vendit.
Pika e katërt e propozova të hiqet, pasi aplikacionet ruse kanë çertifikata zyrtare. Drejtori tha hapur se çfarë duhej të bëhej me këto çertifikata.
Po zgjedhim mundësi
Unë kam përzgjedhur tre zgjidhje (sa më shumë mundësi përzgjedhjeje, aq më shumë dyshime):
- Open Source â projekt , i mbĂ«shtetur nga entuziasti-developer Jacob Borg.
- , i mbikëqyrur nga Resilio Inc. amerikan (ndërsa ky shërbim ishte quajtur më parë BitTorrent Sync).
- Projekti nga aplikacione për sinkronizim. Regjistrim në Qipro.
Pronari i kompanisë kupton pak për detajet teknike, prandaj unë e kam hartuar raportin në formë listes të përfitimeve dhe disavantazheve për çdo mundësi.
Përmbledhjet e analizës
Syncthing
Pikat pozitive:
- Open source;
- Aktiviteti i zhvilluesit kryesor;
- Projekti ekziston qysh prej shumë kohësh;
- Falë.
Disavantazhet:
- Nuk ka klient për pamjen iOS;
- Serverët Turn të ngadalshëm (ata janë falas, prandaj ngadalësohen). Për ata që
nuk e dinë, Turn përdoret në rastin e pamundësisë për të u lidhur drejtpërsëdrejti; - Konfigurim i komplikuar i ndërfaqes (do të kërkohet përvojë shumëvjeçare në programim);
- Mungesa e një mbështetje komerciale të shpejtë.
Resilio
Avantazhet: mbështetje për të gjitha paisjet dhe servera të shpejtë Turn.
Disavantazhet: NjĂ« dhe shumĂ« thelbĂ«sor â injorimi i plotĂ« nga shĂ«rbimi i mbĂ«shtetjes pĂ«r çdo kĂ«rkesĂ«. Zero reagim, madje edhe nĂ«se shkruan nga adresa tĂ« ndryshme.
Pvtbox
Avantazhet:
- Mbështetje për të gjitha paisjet;
- Servera të shpejtë Turn;
- Mundësia për të shkarkuar skedarin pa instaluar aplikacionin;
- Shërbim mbështetjeje adekuat, përfshirë edhe për telefon.
Disavantazhet:
- Projekt i ri (pak komente dhe përmbledhje të mira);
- Një ndërfaqe e shumë 'teknike' që nuk është gjithmonë e qartë;
- Nuk ka dokumentacion të detajuar, për shumë çështje duhet të kontaktojmë mbështetjen.
ĂfarĂ« zgjodhi klienti
Pyetja e tij e parë: çfarë kuptimi ka të zhvillosh diçka falas? Nga Syncthing u hodhën poshtë menjëherë. Argumentet nuk funksionuan.
Pas disa ditësh klienti refuzoi kategorikisht Resilio Sync për shkak të mungesës së mbështetjes, sepse nuk ishte e qartë se ku të drejtohej në një situatë jashtëzakonshme. Plus, mungesa e besimit në regjistrimin amerikan të firmës.
Për analizë të mëtejshme ka mbetur Pvtbox, një thesar elektronik. Kemi bërë një audit të plotë teknik të kësaj platforme me fokus në mundësinë e përhapjes, dekodimit të të dhënave dhe hyrjes së paautorizuar në depozitën informative.
Procesi i auditit
Kemi bërë një analizë të lidhjeve në fillim të programit, gjatë punës dhe në gjendje të qetë. Trajti sipas standardeve moderne fillimisht qarkullon e enkriptuar. Do të përpiqemi të kryejmë një sulm MITM dhe të zëvendësojmë certifikatën 'në fluturim' me ndihmën e Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Për këtë do të vendosim një ndërmjetës mes aplikacionit Pvtbox dhe serverit pvtbox.net (ka shkëmbim të të dhënave me serverin pvtbox.net përmes një lidhjeje https).
Nisemi me aplikacionin për të siguruar që programi dhe sinkronizimi i skedarëve punojnë. Në Linux mund të shohim menjëherë logimin, nëse nisemi programin nga terminali.

Ndalim aplikacionin dhe zëvendësojmë adresën e hostit pvtbox.net në skedarin /etc/hosts me privilegje superpërdoruesi. Zëvendësojmë adresën me adresën e serverit tonë proxy.

Tani do të përgatisim serverin tonë proxy për sulmin MITM në një kompjuter me adresën 192.168.1.64 në rrjetin tonë lokal. Për këtë do të instalojmë paketën mitmproxy version 4.0.4.
Nisim serverin proxy në portin 443:
$ sudo mitmproxy -p 443
Nisim programin Pvtbox në kompjuterin e parë, shohim daljen e mitmproxy dhe logët e aplikacionit.

Mitmproxy raporton se klienti nuk beson në certifikatën e rreme nga serveri proxy. Në log-et e aplikacionit gjithashtu shohim se certifikata e serverit proxy nuk kalon verifikimin dhe programi refuzon të funksionojë.
Instaloni certifikatën e serverit proxy mitmproxy në kompjuterin me aplikacionin Pvtbox, për ta bërë certifikatën "të besueshme". Në kompjuter do të instalojmë paketën ca-certificates. Më pas do të kopjojmë certifikatën mitmproxy-ca-cert.pem nga katalogu .mitmproxy i serverit proxy në kompjuterin me aplikacionin Pvtbox në katalogun /usr/local/share/ca-certificates.
Ekzekutoni komandat:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates

Nisni aplikacionin Pvtbox. Certifikata përsëri nuk kaloi verifikimin, programi refuzon të funksionojë. Me sa duket, aplikacioni përdor një mekanizëm mbrojtës Certificate pinning.
Një sulm i ngjashëm është kryer ndaj host-it signalserver.pvtbox.net, si edhe ndaj vetë lidhjes peer-to-peer midis nyjeve. Zhvilluesi tregon se aplikacioni për vendosjen e lidhjeve peer-to-peer përdor një protokoll të hapur webrtc në të cilin përdoret enkriptimi end-to-end sipas protokollit DTLSv1.2.
ĂelĂ«sat gjenerohen pĂ«r çdo vendosje lidhjesh dhe dĂ«rgohen pĂ«rmes njĂ« kanali tĂ« enkriptuar pĂ«rmes signalserver.pvtbox.net.
Teoretikisht do të ishte e mundur të kapnim mesazhet oferte dhe përgjigje webrtc, të ndryshonim çelësat e enkriptimit dhe të kishim mundësi të deshifronim të gjitha mesazhet që vijnë përmes webrtc. Por nuk doli të ishte e mundur të kryhej një sulm mitm ndaj signalserver.pvtbox.net, prandaj as mundësia për të kapur dhe ndryshuar mesazhet e dërguara përmes signalserver.pvtbox.net nuk ekziston.
Prandaj, për lidhjet peer-to-peer, ky sulm nuk është i mundur.
Gjithashtu u zbulua një skedar me certifikata, i shoqëruar me programin. Skedari ndodhet në rrugën /opt/pvtbox/certifi/cacert.pem. Ky skedar u zëvendësua me një skedar që përmban një certifikatë të besuar nga serveri ynë proxy mitmproxy. Rezultati nuk u ndryshua - programi refuzonte të lidhej me sistemin, në log gjithashtu dukej e njëjta gabim,
se certifikata nuk kalon verifikimin.
Përmbledhja e auditit
Nuk arrita të kap dhe të ndryshoj trafik. Emrat e skedarëve, dhe aq më tepër përmbajtja e tyre, dërgohen në një mënyrë të enkriptuar, duke përdorur enkriptimin përfundimtar end-to-end. Në aplikacion janë realizuar një sërë mekanizmash mbrojtës që pengojnë dëgjimin dhe sekuencimin.
Si pasojĂ«, kompania bleu dy serverĂ« tĂ« dedikuar (fizikisht nĂ« vende tĂ« ndryshme) pĂ«r qasje tĂ« pĂ«rhershme nĂ« informacion. Serveri i parĂ« pĂ«rdoret pĂ«r marrjen, pĂ«rpunimin dhe ruajtjen e informacionit, ndĂ«rsa i dyti â pĂ«r kopjim rezervĂ«.
Në cloud-in individual të marrë, u lidh terminali i punës së drejtorit dhe telefoni mobil në iOS. Punonjësit e tjerë u lidhën nga administratori i sistemit dhe mbështetja teknike e Pvtbox.
Gjatë kësaj periudhe, nuk kam marrë pretendime nga njohësi. Shpresoj se rishikimi im do t'i ndihmojë lexuesit e Habrës në një situatë të ngjashme.
Burimi: habr.com
