Канфідэнцыйнае "воблака". Шукаем альтэрнатыву адкрытым рашэнням

Я інжынер па адукацыі, але маю зносіны больш з прадпрымальнікамі і дырэктарамі вытворчасцей. Некаторы час таму за парадай звярнуўся ўладальнік прамысловай кампаніі. Нягледзячы на ​​тое, што прадпрыемства буйное, і створана ў 90-х, кіраванне і бухгалтэрыя працуюць па даўніне ў лакальнай сетцы.

Гэтае следства асцярог за свой бізнэс і ўзмацненні кантролю з боку дзяржавы. Законы і нарматывы могуць тлумачыцца правяраючымі органамі вельмі шырока. У прыклад можна прывесці папраўкі ў НК, якія ліквідуюць тэрмін даўнасці па падатковых парушэннях, фактычнае разбурэнне банкаўскай і аўдытарскай таямніцы.

У выніку ўладальнік прадпрыемства пачаў шукаць рашэнні для надзейнага захоўвання інфармацыі і бяспечнай перадачы дакументаў. Віртуальны "сейф".

Задачу прапрацавалі са штатным сістэмным адміністратарам: патрэбен глыбокі аналіз існуючых платформаў.

  • сэрвіс павінен быць не хмарны, у класічным разуменні гэтага слова, г.зн. без захавання на магутнасцях іншай арганізацыі. Толькі свой сэрвер;
  • патрабуецца ўстойлівае шыфраванне перадаюцца і захоўваемых дадзеных;
  • абавязковая магчымасць экстранага выдалення кантэнту з любой прылады па націску адной кнопкі;
  • рашэнне распрацавана за мяжой.

Чацвёрты пункт я прапанаваў прыбраць, т.я. расійскія прыкладанні маюць афіцыйныя сертыфікаты. Дырэктар прама сказаў, што трэба рабіць з такімі сертыфікатамі.

Выбіраемы варыянты

Я адабраў тры рашэнні (чым больш варыянтаў выбару, тым больш сумневаў):

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

Уладальнік кампаніі слаба разбіраецца ў тэхнічных тонкасцях, таму я аформіў справаздачу ў выглядзе спісаў плюсаў і мінусаў кожнага варыянта.

Вынікі аналізу

Syncthing

Плюсы:

  • Адкрыты зыходны код;
  • Актыўнасць галоўнага распрацоўшчыка;
  • Праект існуе вельмі даўно;
  • Бясплатны.

Мінусы:

  • Няма кліента для абалонкі iOS;
  • Павольныя Turn сервера, (яны бясплатныя, таму тармозяць). Для тых хто
    не ў курсе, Turn выкарыстоўваецца пры немагчымасці падлучыцца напрамую;
  • Складаная настройка інтэрфейсу (патрэбен шматгадовы вопыт у праграмаванні);
  • Адсутнасць хуткай камерцыйнай падтрымкі.

Рэзіліё

Плюсы: падтрымка ўсіх прылад і шустрыя Turn сервера.

Мінусы: Адзін і вельмі істотны - поўнае ігнараванне службай падтрымкі любых зваротаў. Нуль рэакцыі, нават калі пісаць з розных адрасоў.

Pvtbox

Плюсы:

  • Падтрымка ўсіх прылад;
  • Хуткія Turn сервера;
  • Магчымасць спампаваць файл без усталёўкі прыкладання;
  • Адэкватная служба падтрымкі, у т.л. па тэлефоне.

Мінусы:

  • Малады праект (мала водгукаў і добрых аглядаў);
  • Вельмі "тэхнарскі" не заўсёды зразумелы інтэрфейс сайта;
  • Няма дасканала падрабязнай дакументацыі, па многіх пытаннях даводзіцца тузаць падтрымку.

Што абраў заказчык

Яго першае пытанне: у чым сэнс распрацоўваць нешта бясплатна? Ад Syncthing адмовіліся адразу. Аргументы не працавалі.

Праз пару дзён замовец катэгарычна адмёў Resilio Sync з-за адсутнасці падтрымкі, т.я. незразумела, куды звяртацца ў няштатнай сітуацыі. Плюс недавер да амерыканскай прапіскі фірмы.

Для далейшага аналізу застаўся Pvtbox Электронны сейф. Правялі поўны тэхнічны аўдыт гэтай платформы з упорам на магчымасць перахопу, расшыфроўкі дадзеных і несанкцыянаванага пранікнення ў інфармацыйнае сховішча.

Працэс аўдыту

Зрабілі аналіз злучэнняў пры старце праграмы, у працэсе працы і ў спакойным стане. Трафік па сучасным стандарце першапачаткова ходзіць зашыфраваны. Паспрабуем правесці атаку MITM і падмяніць сертыфікат "на лёце" з дапамогай Linux (Xubuntu Linux 18.04/XNUMX), Wireshark, Mitmproxy. Для гэтага укарэнім пасярэдніка паміж прыкладаннем Pvtbox і серверам pvtbox.net (ёсць абмен дадзенымі з серверам pvtbox.net па https злучэнню).

Запускаем дадатак, каб пераканацца, што праграма і сінхранізацыя файлаў у ім працуе. У Linux можна адразу назіраць лагіраванне, калі запусціць праграму з тэрмінала.
Канфідэнцыйнае "воблака". Шукаем альтэрнатыву адкрытым рашэнням

Выключаем прыкладанне і падмяняем адрас хаста pvtbox.net у файле / Etc / хастоў з прывілеямі суперкарыстальніка. Адрас падмяняем на адрас нашага проксі-сервера.
Канфідэнцыйнае "воблака". Шукаем альтэрнатыву адкрытым рашэнням

Зараз падрыхтуем наш проксі-сервер для 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 проксі-сервера на кампутар з прыкладаннем Pvtbox у каталог /usr/local/share/ca-certificates.

Выконваем каманды:
$ 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

Дадаць каментар