Конфиденциално „облако“. Търсим алтернатива на отворените решения

Аз съм инженер по образование, но общувам най-вече с предприемачи и директори на производства. Преди време мe потърси за съвет собственик на промишлена компания. Въпреки че фирмата е голяма и е основана през 90-те, управлението и счетоводството работят по старомоден начин в локална мрежа.

Това е следствие от опасения за собствения бизнес и засиления контрол от страна на държавата. Закони и нормативи могат да бъдат тълкувани много широко от проверяващите органи. Например, измененията в НК, премахващи срока на давност по данъчни нарушения, фактическото разрушаване на банковата и одиторската тайна.

В резултат на това собственикът на предприятието започна да търси решения за надеждно съхранение на информация и безопасна предаване на документи. Виртуален „сейф“.

Задачата проработихме с щатния системен администратор: необходим е дълбок анализ на съществуващите платформи.

  • услугата не трябва да бъде облачна в класическия смисъл на тази дума, т.е. без съхранение на мощностите на трета страна. Само собствен сървър;
  • нужно е устойчиво криптиране на предаваните и съхраняваните данни;
  • задължително е възможността за спешно изтриване на съдържание от всяко устройство с натискане на един бутон;
  • решението е разработено в чужбина.

Четвъртата точка предложих да се премахне, тъй като руските приложения имат официални сертификати. Директорът директно каза какво да правим с такива сертификати.

Избираме варианти

Подбрах три решения (колкото повече варианти за избор, толкова повече съмнения):

  • Open Source — проект Syncthing.net , поддържан от ентусиаста-разработчик Джейкоб Борг.
  • Resilio.com, куриран от американската компания Resilio Inc. (преди този сервис се наричаше BitTorrent Sync).
  • Проект Pvtbox електронен сейф от pvtbox.net приложение за синхронизация. Кипърска регистрация.

Собственикът на компанията не разбира добре техническите детайли, затова подготвих отчета под формата на списъци с плюсове и минуси на всеки вариант.

Резултати от анализа

Syncthing

Плюсове:

  • Open source;
  • Активност на главния разработчик;
  • Проектът съществува от много време;
  • Безплатен.

Недостатъци:

  • Няма клиент за iOS;
  • Бавни Turn сървъри (те са безплатни, затова забавят). За тези, които
    не знаят, Turn се използва, когато не може да се свържете директно;
  • Сложна настройка на интерфейса (необходим много опит в програмирането);
  • Липса на бърза бизнес поддръжка.

Resilio

Плюсове: поддръжка на всички устройства и бързи Turn сървъри.

Недостатъци: Един много важен аспект – пълно игнориране от страна на поддръжката на всички запитвания. Нула реакция, дори когато се пише от различни адреси.

Pvtbox

Плюсове:

  • Поддръжка на всички устройства;
  • Бързи Turn сървъри;
  • Възможност за изтегляне на файл без инсталация на приложение;
  • Адекватна служба за поддръжка, включително по телефона.

Недостатъци:

  • Млад проект (малко отзиви и добри ревюта);
  • Много 'техничен' и не винаги разбираем интерфейс на сайта;
  • Липсва детайлна документация, по много въпроси се налага да се свързваме с поддръжката.

Какво избра клиентът

Неговият първи въпрос: какъв е смисълът да се разработва нещо безплатно? Отказаха се веднага от Syncthing. Аргументите не работиха.

След няколко дни клиентът категорично отхвърли Resilio Sync поради липса на поддръжка, тъй като не е ясно къде да се обърне в неконвенционални ситуации. Освен това имаше недоверие към американската регистрация на фирмата.

За по-нататъшен анализ остана Pvtbox. Проведохме пълен технически одит на тази платформа, със специален акцент върху възможността за прихващане, декриптиране на данни и неавторизирано проникване в информационното хранилище.

Процес на одит

Анализирахме връзките при стартиране на програмата, по време на работа и в спокойно състояние. Трафикът по съвременните стандарти поначало е криптиран. Ще направим опит за MITM атака и да заменим сертификата 'на летящо' с помощта на Linux (Xubuntu Linux 18.04), Wireshark, Mitmproxy. За това ще внедрим посредник между приложението Pvtbox и сървъра pvtbox.net (има обмен на данни със сървъра pvtbox.net по https връзка).

Стартираме приложението, за да се уверим, че програмата и синхронизацията на файлове работят. В Linux може веднага да се наблюдава логването, ако стартирате програмата от терминала.
Конфиденциално „облако“. Търсим алтернатива на отворените решения

Изключваме приложението и заменяме адреса на хоста pvtbox.net в файла /etc/hosts с привилегии на суперпотребител. Заменяме адреса с адреса на нашия прокси-сървър.
Конфиденциално „облако“. Търсим алтернатива на отворените решения

Сега подготвяме нашия прокси-сървър за MITM атака на компютър с адрес 192.168.1.64 в нашата локална мрежа. За това инсталираме пакета mitmproxy версия 4.0.4.

Стартираме прокси-сървъра на порт 443:
$ sudo mitmproxy -p 443

Стартираме програмата Pvtbox на първия компютър, гледаме изхода на mitmproxy и логовете на приложението.
Конфиденциално „облако“. Търсим алтернатива на отворените решения

Mitmproxy съобщава, че клиентът не доверява на подменения сертификат от прокси-сервера. В логовете на приложението също наблюдаваме, че сертификатът на прокси-сервера не минава проверка и програмата отказва да работи.

Инсталираме сертификат на прокси-сервера mitmproxy на компютър с приложението Pvtbox, за да направим сертификата "доверен". На компютъра инсталираме пакета ca-certificates. След това копираме сертификата mitmproxy-ca-cert.pem от каталога .mitmproxy на прокси-сервера в каталога /usr/local/share/ca-certificates на компютъра с приложението Pvtbox.

Изпълняваме следните команди:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -inform PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates
Конфиденциално „облако“. Търсим алтернатива на отворените решения

Стартираме приложението Pvtbox. Сертификатът отново не минава проверка, програмата отказва да работи. Вероятно приложението използва защитен механизъм Certificate pinning.

Подобна атака беше проведена на хост signalserver.pvtbox.net, както и на самото peer-2-peer свързване между нодовете. Разработчикът посочва, че приложението за установяване на peer-2-peer свързвания използва отворен протокол webrtc, в който се използва end-to-end криптиране по протокол DTLSv1.2.

Ключовете се генерират за всяко установяване на връзка и се предават през криптиран канал през signalserver.pvtbox.net.

Теоретично можеше да се перехване offer и answer съобщенията на webrtc, да се подменят ключовете за криптиране и да се има възможност да се декриптират всички постъпващи съобщения по webrtc. Но не успяхме да проведем mitm атака на signalserver.pvtbox.net, затова и нямаше възможности да се перехващат и подменят съобщенията, изпращани през signalserver.pvtbox.net.

Съответно, на peer-2-peer свързванията такава атака не може да се проведе.

Също беше открит файл със сертификати, предоставян с програмата. Файлът се намира на пътя /opt/pvtbox/certifi/cacert.pem. Този файл беше заменен с файл, който съдържа доверения сертификат от нашия прокси-сервер mitmproxy. Резултатът не се промени — програмата отказваше да се свърже със системата, в логовете се наблюдаваше същата грешка,
че сертификатът не минава проверка.

Резюме на одита

Не успях да проведа перехват или подмяна на трафика. Имената на файловете, а още повече тяхното съдържание се предават в криптиран вид, използва се крайно end-to-end криптиране. В приложението са реализирани редица защитни механизми, предотвратяващи подслушване и внедряване.

В резултат на това компанията закупи два выделени сървъра (физически на различни места) за постоянно достъпване на информация. Първият сървър се използва за приемане, обработка и съхранение на информация, вторият – за резервно копиране.

Към полученото индивидуално облако бяха свързани работния терминал на директора и мобилен телефон с iOS. Другите служители бяха свързани от системния администратор и техническата поддръжка на Pvtbox.

През миналото време няма подадени оплаквания от познатия. Надявам се, че моят преглед ще помогне на читателите на Хабра в подобна ситуация.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster