Som inžinier vo vzdelaní, ale viac komunikujem s podnikateľmi a riaditeľmi výrobných závodov. Pred časom sa na mňa obrátil majiteľ priemyselnej spoločnosti s prosbou o radu. Napriek tomu, že ide o veľkú firmu, založenú v 90. rokoch, vedenie a účtovníctvo fungujú zastaraným spôsobom v lokálnej sieti.
Je to dôsledok obáv o vlastný biznis a zvýšeného kontroly zo strany štátu. Zákony a predpisy môžu byť kontrolnými orgánmi vykladané veľmi široko. Napríklad môžeme spomenúť úpravy v daňovom kódexe, v prípade daňových porušení, fakticky ničiacich .
Výsledkom bolo, že majiteľ firmy začal hľadať riešenia na bezpečné uchovávanie informácií a bezpečný prenos dokumentov. Virtuálna „trezor“.
Úlohu sme prepracovali s interným systémovým administrátorom: je potrebná hlboká analýza existujúcich platforiem.
- služba by nemala byť cloudová, v klasickom slova zmysle, t.j. bez ukladania na kapacitách tretej strany. Iba vlastný server;
- potrebné je stabilné šifrovanie prenášaných a ukladaných údajov;
- musí byť zabezpečená možnosť núdzového odstránenia obsahu z akéhokoľvek zariadenia stlačením jedného tlačidla;
- riešenie je vyvinuté v zahraničí.
Štvrtý bod som navrhol vynechať, pretože ruské aplikácie majú oficiálne certifikáty. Riaditeľ priamo povedal, čo treba robiť s takýmito certifikátmi.
Výber možností
Vybral som tri riešenia (čím viac možností na výber, tým viac pochybností):
- Open Source — projekt , ktorý podporuje nadšenec vývojár Jacob Borg.
- , ktorý spravuje americká spoločnosť Resilio Inc. (predtým sa tento servis volal BitTorrent Sync).
- Projekt od aplikácia na synchronizáciu. Registrácia na Cypre.
Majiteľ spoločnosti sa slabšie orientuje v technických detailoch, takže som správu spracoval vo forme zoznamu výhod a nevýhod každej možnosti.
Závery analýzy
Syncthing
Výhody:
- Open source;
- Aktivita hlavného vývojára;
- Projekt existuje veľmi dlho;
- Bezplatný.
Nevýhody:
- Žiadny klient pre prostredie iOS;
- Pomalé Turn servery (sú zdarma, preto spomaľujú). Pre tých, ktorí
nie sú oboznámení, Turn sa používa pri nemožnosti pripojiť sa priamo; - Zložitá konfigurácia rozhrania (potrebné dlhoročné skúsenosti s programovaním);
- Nedostatok rýchlej komerčnej podpory.
Resilio
Výhody: podpora všetkých zariadení a rýchle Turn servery.
Nevýhody: Jeden a veľmi významný – úplné ignorovanie podpory akýchkoľvek dopytov. Nula reakcie, aj keď píšete z rôznych adries.
Pvtbox
Výhody:
- Podpora všetkých zariadení;
- Rýchle Turn servery;
- Možnosť stiahnuť súbor bez inštalácie aplikácie;
- Adekátna zákaznícka podpora, vrátane telefonickej.
Nevýhody:
- Mladý projekt (málo recenzií a dobrých hodnotení);
- Veľmi «technický» nie vždy zrozumiteľný rozhraní stránky;
- Nie je podrobná dokumentácia, pri mnohých otázkach je potrebné kontaktovať podporu.
Čo si objednávateľ vybral
Jeho prvá otázka: v čom je zmysel vyvíjať niečo zadarmo? Od Syncthing sa okamžite vzdali. Argumenty nefungovali.
Po niekoľkých dňoch objednávateľ kategoricky odmietol Resilio Sync kvôli nedostatku podpory, pretože nebolo jasné, kam sa obrátiť v mimoriadnych situáciách. Okrem toho nedôvera k americkej registrácii firmy.
Pre ďalšiu analýzu zostal Pvtbox Elektronický trezor. Uskutočnili sme kompletný technický audit tejto platformy so zameraním na možnosť zachytávania, dešifrovania dát a neoprávneného prenikania do informačného úložiska.
Proces auditu
Urobili sme analýzu pripojení pri štarte programu, počas činnosti a v pokojnom stave. Prenos podľa moderného štandardu spočiatku prebieha šifrovane. Pokúsime sa vykonať útok MITM a zameniť certifikát „za behu“ s pomocou Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. Na to nasadíme prostredníka medzi aplikáciou Pvtbox a serverom pvtbox.net (je tam výmena údajov so serverom pvtbox.net cez https spojenie).
Spúšťame aplikáciu, aby sme sa uistili, že program a synchronizácia súborov v ňom fungujú. V Linuxe je možné okamžite sledovať logovanie, ak spustíte program z terminálu.

Vypíname aplikáciu a meníme adresu hostiteľa pvtbox.net v súbore /etc/hosts s právami superužívateľa. Adresu meníme na adresu našich proxy serverov.

Teraz pripravíme náš proxy server na útok MITM na počítači s adresou 192.168.1.64 v našej lokálnej sieti. Na to nainštalujeme balík mitmproxy verzie 4.0.4.
Spúšťame proxy server na porte 443:
$ sudo mitmproxy -p 443
Spúšťame na prvom počítači program Pvtbox, sledujeme výstup mitmproxy a logy aplikácie.

Mitmproxy oznámenie, že klient nedôveruje falošnému certifikátu z proxy servera. V logoch aplikácie tiež vidíme, že certifikát proxy servera neprešiel overením a program odmieta pracovať.
Inštalujeme certifikát proxy servera mitmproxy na počítač s aplikáciou Pvtbox, aby sme certifikát urobili 'dôveryhodným'. Na počítači nainštalujeme balík ca-certificates. Potom zkopírujeme certifikát mitmproxy-ca-cert.pem z adresára .mitmproxy proxy servera na počítač s aplikáciou Pvtbox do adresára /usr/local/share/ca-certificates.
Vykonávame príkazy:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates

Spúšťame aplikáciu Pvtbox. Certifikát opäť neprešiel overením, program odmieta pracovať. Pravdepodobne aplikácia používa ochranný mechanizmus Certificate pinning.
Podobný útok bol vykonaný na hostiteľ signalserver.pvtbox.net, ako aj na samo peer-2-peer spojenie medzi uzlami. Vývojár uvádza, že aplikácia na nastavenie peer-2-peer spojení používa otvorený protokol webrtc, v ktorom sa využíva end-to-end šifrovanie podľa protokolu DTLSv1.2.
Kľúče sa generujú pre každé nastavenie spojení a prenášajú sa cez zašifrovaný kanál prostredníctvom signalserver.pvtbox.net.
Teoreticky by bolo možné zachytiť ponukové a odpovedné správy webrtc, zmeniť tam šifrovacie kľúče a mať tak možnosť dešifrovať všetky správy prichádzajúce prostredníctvom webrtc. Ale zrealizovať mitm útok na signalserver.pvtbox.net sa nepodarilo, a preto ani možnosť zachytiť a zmeniť správy odosielané cez signalserver.pvtbox.net neexistuje.
Príslušne nie je možné vykonať tento útok na peer-2-peer spojenia.
Taktiež bol objavený súbor s certifikátmi dodávaný s programom. Súbor sa nachádza na ceste /opt/pvtbox/certifi/cacert.pem. Tento súbor bol nahradený súborom, ktorý obsahuje dôveryhodný certifikát z nášho proxy servera mitmproxy. Výsledok sa nezmenil — program odmietal pripojiť sa k systému, v logu sa zaznamenala tá istá chyba,
že certifikát neprešiel overením.
Závery auditu
Zachytiť alebo zmeniť traffic sa mi nepodarilo. Názvy súborov, a už vôbec nie ich obsah, sú prenášané zašifrovane, je použité koncové end-to-end šifrovanie. V aplikácii sú implementované viaceré ochranné mechanizmy, ktoré bránia odpočúvaniu a infiltrácii.
Spoločnosť zakúpila dva dedikované servery (fyzicky na rôznych miestach) na trvalý prístup k informáciám. Prvý server slúži na prijímanie, spracovanie a ukladanie informácií, druhý – na zálohovanie.
K získanému individuálnemu cloudu sme pripojili pracovný terminál riaditeľa a mobilný telefón na iOS. Ostatných zamestnancov pripojil interný administrátor a technická podpora Pvtbox.
Doteraz som od známeho nemal žiadne sťažnosti. Dúfam, že moja recenzia pomôže čitateľom Habra v podobnej situácii.
Zdroj: habr.com
