Jag Àr ingenjör till utbildningen, men jag kommunicerar mest med entreprenörer och produktionschefer. För en tid sedan vÀnde sig Àgaren av ett industriföretag till mig för rÄd. Trots att företaget Àr stort och bildades pÄ 90-talet, fungerar förvaltningen och redovisningen pÄ gammaldags sÀtt i ett lokalt nÀtverk.
Detta Àr en följd av oro för sin verksamhet och ökat statligt översyn. Lagar och regler kan tolkas mycket brett av tillsynsorgan. den faktiska nedmonteringen .
Som ett resultat började företagsinnehavaren söka lösningar för sÀker lagring av information och trygg överföring av dokument. En virtuell "valv".
Vi arbetade med uppgiften tillsammans med den anstÀllde systemadministratören: en djupgÄende analys av de befintliga plattformarna behövdes.
- tjÀnsten ska inte vara molnbaserad i klassisk mening, det vill sÀga utan lagring pÄ en extern organisations utrustning. Endast en egen server;
- stabil kryptering av överförda och lagrade data krÀvs;
- det mÄste finnas möjlighet att omedelbart ta bort innehÄll frÄn vilken enhet som helst med ett knapptryck;
- lösningen Àr utvecklad utomlands.
Jag föreslog att ta bort den fjÀrde punkten, eftersom ryska applikationer har officiella certifikat. Direktören sa rakt ut vad man bör göra med sÄdana certifikat.
Vi vÀljer alternativ.
Jag har valt tre lösningar (ju fler val, desto fler tveksamheter):
- Open Source â projektet , stödd av entusiasten och utvecklaren Jacob Borg.
- , övervakat av amerikanska Resilio Inc. (detta tjÀnst kallades tidigare BitTorrent Sync).
- Projektet frÄn applikationer för synkronisering. Registrerad pÄ Cypern.
Företagsinnehavaren har dÄlig förstÄelse för de tekniska detaljerna, sÄ jag skapade en rapport i form av listor med för- och nackdelar för varje alternativ.
Analyserapport
Syncthing
Fördelar:
- Ăppen kĂ€llkod;
- Aktiviteten hos huvudutvecklaren;
- Projektet har funnits lÀnge;
- Kostnadsfritt.
Nackdelar:
- Ingen klient för iOS-grÀnssnitt;
- LÄngsamma Turn-servrar (de Àr gratis, dÀrför saktar de ner). För dem som
inte Àr medvetna, Turn anvÀnds nÀr direkt anslutning inte Àr möjlig; - Komplex konfiguration av grÀnssnittet (en lÄng erfarenhet inom programmering krÀvs);
- Avsaknad av snabb kommersiell support.
Resilio
Fördelar: support för alla enheter och snabba Turn-servrar.
Nackdelar: En stor och avgörande punkt â totalt ignorande av supporttjĂ€nsten gĂ€llande alla förfrĂ„gningar. Ingen reaktion, inte ens om man skriver frĂ„n olika adresser.
Pvtbox
Fördelar:
- Support för alla enheter;
- Snabba Turn-servrar;
- Möjlighet att ladda ner filer utan att installera applikationen;
- AnstÀndig supporttjÀnst, inklusive telefonstöd.
Nackdelar:
- Ungt projekt (fÄ recensioner och goda omdömen);
- Mycket "teknisk", ibland otydlig webbplatsgrÀnssnitt;
- Ingen detaljerad dokumentation, mÄnga frÄgor krÀver att man kontaktar supporten.
Vad kunden valde
Hans första frÄga: vad Àr poÀngen med att utveckla nÄgot gratis? De avvisades direkt frÄn Syncthing. Argumenten fungerade inte.
Efter nÄgra dagar avfÀrdade kunden kategoriskt Resilio Sync pÄ grund av avsaknaden av support, eftersom det var oklart vart man skulle vÀnda sig i en nödsituation. Plus, det fanns en misstro mot det amerikanska företagsadressen.
För vidare analys Äterstod Pvtbox, den elektroniska sÀkerhetsboxen. Vi genomförde en fullstÀndig teknisk revision av plattformen med fokus pÄ möjligheten till dataintrÄng, dekryptering och obehörig Ätkomst till informationslagret.
Revisionsprocessen
Vi analyserade anslutningar vid programstart, under drift och i ett vilotillstÄnd. Trafiken Àr frÄn början krypterad enligt moderna standarder. Vi ska försöka genomföra en MITM-attack och byta certifikat "on-the-fly" med hjÀlp av Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. För detta kommer vi att införa en mellanhand mellan applikationen Pvtbox och servern pvtbox.net (det finns datautbyte med servern pvtbox.net via https-anslutning).
Vi startar applikationen för att se till att programmet och filsynkroniseringen fungerar. I Linux kan man omedelbart se loggning om man startar programmet frÄn terminalen.

Vi stÀnger av applikationen och byter vÀrdadressen pvtbox.net i filen /etc/hosts med superanvÀndarprivilegier. Vi byter adress till vÄr proxyservers adress.

Nu förbereder vi vÄr proxyserver för MITM-attacken pÄ en dator med adressen 192.168.1.64 i vÄrt lokala nÀtverk. För detta installerar vi paketet mitmproxy version 4.0.4.
Vi startar proxyservern pÄ port 443:
$ sudo mitmproxy -p 443
Vi startar programmet Pvtbox pÄ den första datorn, ser pÄ utdata frÄn mitmproxy och applikationens loggar.

Mitmproxy det meddelar att kunden inte litar pÄ den falska certifikatet frÄn proxyservern. I applikationens loggar ser vi ocksÄ att proxyserverns certifikat inte gÄr igenom verifikationen och programmet vÀgrar att fungera.
Vi installerar proxyservercertifikatet mitmproxy pÄ datorn med applikationen Pvtbox för att göra certifikatet "betrott". PÄ datorn installerar vi paketet ca-certificates. Sedan kopierar vi certifikatet mitmproxy-ca-cert.pem frÄn .mitmproxy-katalogen pÄ proxyservern till katalogen /usr/local/share/ca-certificates pÄ datorn med applikationen Pvtbox.
Vi kör kommandona:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates

Vi startar applikationen Pvtbox. Certifikatet misslyckas Äterigen med att gÄ igenom verifikationen, programmet vÀgrar att fungera. Förmodligen anvÀnder applikationen en sÀkerhetsmekanism Certificate pinning.
En liknande attack genomfördes pÄ vÀrden signalserver.pvtbox.net, och Àven pÄ sjÀlva peer-to-peer-anslutningen mellan noderna. Utvecklaren anger att applikationen för att upprÀtta peer-to-peer-anslutningar anvÀnder ett öppet protokoll webrtc dÀr slut-till-slut kryptering anvÀnds med protokollet DTLSv1.2.
Nycklar genereras för varje anslutning och skickas över en krypterad kanal via signalserver.pvtbox.net.
Teoretiskt skulle det vara möjligt att fÄnga upp offer- och answer-meddelanden för webrtc, byta ut krypteringsnycklarna dÀr och fÄ möjlighet att dekryptera alla inkommande webrtc-meddelanden. Men en mitm-attack pÄ signalserver.pvtbox.net lyckades inte, varför möjligheten att fÄnga och byta ut meddelanden som skickas via signalserver.pvtbox.net inte finns.
DÀrför Àr det inte möjligt att genomföra denna attack pÄ peer-to-peer-anslutningarna.
Det har ocksĂ„ upptĂ€ckts en fil med certifikat som levereras med programmet. Filen finns pĂ„ vĂ€gen /opt/pvtbox/certifi/cacert.pem. Denna fil byttes ut mot en fil som innehĂ„ller ett betrott certifikat frĂ„n vĂ„r proxyserver mitmproxy. Resultatet Ă€ndrades inte â programmet vĂ€grade att ansluta till systemet, i loggen observerades samma fel,
att certifikatet inte gÄr igenom verifikationen.
Slutord om revisionen
Jag lyckades inte fÄnga upp eller byta ut trafiken. Filnamn, och Ànnu mindre deras innehÄll, skickas i krypterad form, och slut-till-slut kryptering anvÀnds. Programmet har implementerat ett antal skyddsmekanismer som förhindrar avlyssning och injektion.
Som ett resultat har företaget köpt tvÄ dedikerade servrar (fysiskt pÄ olika platser) för konstant Ätkomst till information. Den första servern anvÀnds för mottagning, behandling och lagring av information, medan den andra anvÀnds för sÀkerhetskopiering.
Det individuella molnet kopplades till direktörens arbetsstation och en iOS-mobiltelefon. Andra anstÀllda kopplades till via den interna systemadministratören och supporten frÄn Pvtbox.
Under den tid som gÄtt har jag inte fÄtt nÄgra klagomÄl frÄn min bekant. Jag hoppas att min recension hjÀlper lÀsare pÄ Habr i en liknande situation.
KĂ€lla: habr.com
