Comments 80
Вопрос: зачем коммерческая компания тратит много денег на этот сервис, который не окупается? Ответ: чтобы
— не нужно искать и ставить приложение для шифрования (получателю тоже);
— не нужно его использовать;
— не нужно искать сервис который позволяет надежно обмениваться файлами «без регистрации и смс».
Те, кто этим занят постоянно и круг получателей постоянный, могут конечно использовать заранее согласованные способы и сервисы, но вот так «вдруг» — сервис удобнее, не говоря уже о том что далеко не все достаточно продвинуты чтобы правильно выбрать нужные способы.
Что касается второго вопроса — поскольку шифрование end-to-end, и это легко проверяется на стороне клиента, то «посмотреть файлы» не получится. Компания тратит «много денег» (на самом деле не очень) по как минимум одной простой причине — это формирует положительный образ компании, о ней говорят, она становится более известной.
Кстати, про пароль в письме (шифрованный отчет в приложении):
From: «ОТКРЫТИЕ – Брокер (Депозитарий)» <depo@open.ru>
Date: чт, 14 мар. 2019 г. в 21:02
Subject: Отчет Депозитария
To: <>
Отчет Депозитария Уважаемый клиент, обращаем ваше внимание: ПАРОЛЕМ для открытия файла является АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ клиента (ДЕПОНЕНТА, т.е. владельца счёта депо). Мы работаем над улучшением условий конфиденциальности рассылаемых отчетов.
Т. к. шифрование может быть реализовано с ошибками, либо параметры работы алгоритма подобраны таким образом, чтобы его проще было вскрыть.
А то, что некоммерческая организация… Если придут люди из трёхбуквенной конторы, то без разницы, коммерческая это организация или нет.
Конечно, чисто теоретически, можно представить что кто-то и поставит бэкдор в js, но это кто-нибудь да обнаружит (js ведь не скрыть) — рано или поздно. Теперь вопрос — рискнет ли Mozilla своей репутацией?
Вот решили вы проверить исходники, отследили запрос, проверили на гитхабе — все нормально, начали применять в своих делах.
А вот уже вас решили «проверить». На сервере приняли запрос на js-файл, сняли с него метрики, чтоб подтвердить что это именно вы, (есть куча разных способов это сделать), и отправили вам «правильный» js)))
К чему это? Если прятать некритичную инфу, а так — фото из окон соседнего дома, то сервис подойдет. Для чего-то более менее серьезного — весьма так себе способ.
Функции шифрования работают только когда они загруженны оффлайн, проверенны хэшсуммами, скомпилированны и загружаются только со стороны клиента.
На сервере приняли запрос на js-файл, сняли с него метрики, чтоб подтвердить что это именно вы, (есть куча разных способов это сделать)
Нет «кучи способов», если не следить за отправителем. Я могу это сделать откуда угодно — к примеру, интернет-кафе, из гостей etc — и если кто-то физически не отслеживает мои перемещения, определить что я это я — нереально. Но если за мной реально следят, то у меня гораздо более серьезные проблемы.
Если прятать некритичную инфу, а так — фото из окон соседнего дома, то сервис подойдет.
Так он для этого и создавался — вовсе не для отправки жутко важных и секретных данных, за которыми будут следить трёхбуквенные организации.
Функции шифрования работают только когда они загруженны оффлайн, проверенны хэшсуммами, скомпилированны и загружаются только со стороны клиента.
Если уж вы так глубоко копаете — не останавливайтесь на этом. Сами создайте все компоненты, на которых эти функции выполняются, а то ж нет гарантий что процессор, память, монитор, клавиатура или SSD/HDD не содержат в себе закладок, которые тайно, с помощью нейтринной связи (чтобы не обнаружили) передают всё куда надо ещё до шифрования. Причём вам придётся убедится, что получатель тоже пользуется вашими «чистыми» компонентами, и что каналы связи по дороге абсолютно защищены, и ещё… ну вы понимаете :)
Например, есть класс атак, называемый «атака на цепочку поставки». И комментаторы выше правы — в результате вам в браузер может прилетать несколько модифицированный Javascript, не такой, как выложен в репозитории.
Отдельным клиентам, в которых заинтересованы
Также есть атаки на сам браузер, и потенциально есть возможность изменить код прямо в клиентском браузере, ослабив шифрование
В общем, обмениваясь реально значимой секретной информацией, нужно подобные риски иметь в виду. В целом, для меня анонс такого сервиса выглядит несколько странным, т. к. есть штуки типа Seafile, Ownckoud/Nextcloud, где этот функционал тоже есть, среди прочего, а также есть возможность отправки шифрованных сообщений по e-mail, да даже зашифрованные архивы, в конце концов, которые тоже расколоть не так уж просто.
Плюс если раздавать зашифрованные архивы, они не скапливаются на каком-то одном конкретном стороннем сервисе, а пользователь можей выбрать любой файлообменник (или почту), поди ещё слови этот архив. А тут — заявляется, что «вот, у нас секурная организация файлообмена, кидайте нам свои файлы!». И к бабке не ходи, файлы не будут физически удаляться после истечения срока их размещения, т. к. это накладная операция на больших объёмах. Фейсбук или VK не удаляют, например. Точнее, удаляют, но в рамках процедур housekeeping, и по факту «удалённые» файлы физически лежат на месте и теоретически могут быть доступны по несколько месяцев.
Также есть атаки на сам браузер, и потенциально есть возможность изменить код прямо в клиентском браузере, ослабив шифрование или заменив его на XOR.
Это нужно делать и у получателя тоже — иначе он не сможет расшифровать и, как следствие, обратит на это внимание. Если же кто-то настолько крут что может это сделать вовремя и с отправителем, и получателем, только с ними и именно тогда когда нужно — возникает естественный вопрос — а не проще ли ему получить доступ к файлу другим способом, с такими возможностями?
Нет, я не утверждаю что риска нет — просто это ну очень маловероятно.
есть штуки типа Seafile, Ownckoud/Nextcloud, где этот функционал тоже есть
end-to-end между отправителем и получателем? Разве? Не говоря уже о том что эти сервисы нужно где-то разворачивать и поддерживать, что имеет смысл только если кто-то регулярно раздаёт что-то стабильному кругу лиц.
Сервис мозиллы же, с другой стороны, вряд-ли расчитан на тех кто профессионально (если можно так выразиться) хочет секретно что-то передавать — это скоре для обычных пользователей, которые шибко секретные вещи не передают, делают это спонтанно и из любой точки.
И к бабке не ходи, файлы не будут физически удаляться после истечения срока их размещения, т. к. это накладная операция на больших объёмах.
Удаление файла по любому на порядки быстрее чем его закачка и передача, а хранилище явно не резиновое — зачем на нём просто так держать петабайты зашифрованных данных?
Я бы ещё понял если бы расчёт был на то что сервис создан для (к примеру) шпионов, которых будут убеждать передавать с его помощью секретные данные, но он явно не на таких расчитан, поэтому минимизация расходов будет далеко не на последнем месте — а это, с высокой вероятностью, приведет к удалению всего что просрочено сразу как оно просрочено.
Фейсбук или VK не удаляют, например.
Есть пруфы или это так, предположения?
То, что удаление приводит к фрагментации, не очень большая проблема — есть десятки способов это минимизировать. Разумеется, я не утверждаю что данные физически удаляются с носителей сразу после «логического» удаления, но то что они как минимум отмечаются удалёнными и выделенное им пространство может в любой момент быть переиспользовано — это однозначно.
Так что формально — да, вы правы — они какое-то время остаются там (как и удаленный файл в «обычной» FS), но вот вероятность того что они хранятся намеренно, «вечно» (или просто долго) и с возможностью восстановления «одним кликом» (включая метаданные) — очень мала, слишком уж накладно будет наращивать мощности вместо их переиспользования, объемы сами знаете какие (с учётом фото и видео), а польза от такого хранения — близка к нулю.
Вроде не раз уже писали, что все загруженное в вк уже не удалить. Раньше даже фотки удаленные были доступны по прямым ссылкам, сейчас не в курсе.
Ну и, не удивлюсь, учитывая текущего владельца ВК, что на профиль при удалении по факту просто ставится флаг deleted = 1, а на деле все на месте.
Например, вот:
habr.com/ru/post/120918
habr.com/ru/company/oleg-bunin/blog/313364
В целом я с Вами согласен, просто рассматривал использование такого сервиса с точки зрения рисков для ИБ.
Seafile, кстати, довольно стабильная штука. Я эксплуатирую несколько инстансов (домашнее облака и два корпоративных) — вообще никаких проблем. Обновления плановые провожу, не более. Хотя корпоративными пользуются человек 500, наверное, и суммарный объём уже с десяток терабайт.
Удаление файла по любому на порядки быстрее чем его закачка и передача, а хранилище явно не резиновое — зачем на нём просто так держать петабайты зашифрованных данных?
обычно просто место помечается, как свободное, большинство (если не все) файловых систем и баз так делают, равно как и SSD, например
истинное удаление равно записи
Его никто никогда не удалит. И постепенно все захламляется до невозможности.
Есть разные способы решения этой проблемы, например github.com/nextcloud/files_retention
Суть подобных сервисов — простота и доступность в сочетании с безопасностью — не нужно ничего ставить, регистрироваться etc, можно использовать любой браузер (с js) в любой системе в любой момент.
простота и доступность в сочетании с безопасностью
Если действительно важна безопасность, то придётся файл шифровать самому, потому что мало ли какой javascript отдал сервер браузеру на этот раз.
Зато простота, бесплатность и доступность без регистрации, это конечно большой +, даже вообще без шифрования. Но оно ж денег стоит — если дело ограничится рекламой, то прекрасно.
wtpltd
этот файл навсегда осядет в облаке. Его никто никогда не удалит. И постепенно все захламляется до невозможности.
Есть приложение для nextcloud docs.nextcloud.com/server/12/admin_manual/file_workflows/retention.html
— когда конкуренции у какого-то продукта нет, многие (вполне обоснованно) жалуются на то, что этот продукт не имеет каких-то возможностей, а также (тоже совершенно обоснованно) ругают разработчиков/владельцев сервиса монополистами, но пользоваться продолжают,
— стоит появиться конкурирующему продукту, о первом резко забывают, и начинается недоумевающее нытьё «а зачем нужен еще один продукт, ведь и так есть XXX и YYY».
Как-то это второе в контексте первого предельно близоруко и непоследовательно.
Мне ещё у mega понравилась обратная фишка, когда тебе кто-то хочет скинуть файл, ты просто присылаешь ему ссылку на открытую папку, куда пользователь без регистрации может залить файл тебе в облако.
Странно видеть нападки на лиса, особенно со словами «коммерческая компания тратит много денег на этот сервис».
Я не нападал ни на какую лису. Я задал конкретные вопросы. В чём реальные достоинства этого файлообменника? Шифрование вроде как и не достоинство. Облачные хранилища тоже есть есть. Ну ок. Получается, просто рекламный пост.
Надеюсь, вы уже успели дизлайкнуть меня, чтобы я не смог ответить.
К слову в проекте используется AES-GCM.
А ещё логами с чувствительной инфой можно перекидываться
А чем проблема обмена шифрованными файлами? Зачем нужен какой-то сервис? Берите OpenSSL, NSS, Gpg и т.д., шифруйте и обменивайтесь. А то доверять какому-то сервису стремно.
Еще как! И это будет намного для них проще чем общение с каким-то сервисом. Я уж постараюсь им все настроить, чтобы было комфортно, не сомневайтеся.
А по факту — 1 загрузка и 1 сутки или менее (1 час или 5 минут) для тех, у кого нет аккаунта ФФ, а все остальные радости только для зарегистрированных.
Мне стыдно. И за публикацию, не раскрывшую эти особенности, и за вас, хабралюди.
Существует неписаный свод правил презентаций стартапов, который я нарушил, когда спросил у лидера группы «молодых и энергичных fullstack-developer'ов» (которые делают проект с закрытым кодом и не проводили ни одного аудита безопасности) про «что у вас с безопасностью»? Признать, что даже после пары раундов инвестиций в свой продукт команда так и не озаботилась ключевой проблемой (которую продукт вообще-то и должен был решать) — это «по самые гланды»?
И да, чтоб избежать додумываний, сразу уточню, что на презентации было продемонстрированно несколько красивых картинок со схемами вроде «ваш бизнес <-> мы <-> бизнес ваших партнеров», но никаких конкретных деталей не было даже упомянуто, что, собственно, и побудило меня задать мой вопрос.
Мне это показалось просто забавной особенностью современного мира стартапов, теперь же оказывается что тут был целый подтекст, который прошел мимо меня.
Что иронично, браузер Firefox. В Chrome всё хорошо.
безопасный сервис обмена зашифрованными файлами
Только роскомнадзору не говорите.
Пробовал, когда крутилось в бете. В итоге лиса съела всю память на мобильном (файл ~1ГБ, всего памяти 2ГБ) и была прибита OOM-killer'ом.
Если я правильно понял, они пихают весь файл разом в память? Или даже два файла — шифрованный и нешифрованный?
Отправитель:
1. Генерируется случайный мастер-ключ (на клиенте, разумеется);
2. Он используется для создания ещё трёх:
— ключ для самого файла;
— ключ для метаданных;
— ключ для подписи nonce;
3. Файл с метаданными шифруются первыми двумя;
4. Их зашифрованные версии передаются на сервер вместе с третьим ключом;
5. Сервер отдает токен владельца и URL для отправки (они записываются в local storage);
6. Вы получаете URL (сгенерированный сервером) с мастер-ключём (как #фрагмент в URL).
Получатель:
1. Запрашивает у сервера URL, в ответ сервер включает nonce.
2. Берет мастер-ключ из фрагмента (который, разумеется, на сервер не попадает);
3. Получает из него 3 ключа как в шаге 2 у отправителя;
4. Отданный в шаге 1 nonce подписывается третьим ключём (HMAC SHA-256) и отправляется на сервер вместе с запросом на метаданные;
5. Сервер отдает метаданные (если nonce подписан правильно), которые дешифруются клиентом с помощью второго ключа и показываются пользователю;
6. Клиент отправляет запрос на сам файл (тоже с подписанным nonce);
7. Собственно, файл отдается и дешифруется клиентом с помощью первого ключа;
8. Profit :)
где файлы будут лежать?
на чьем то диске на каком то стороннем сервисе?
просто так забесплатно?
Бэкдоры можно встроить куда угодно. Однако бэкдор, встроенный в приложение с открытым кодом, будет через некоторое время обнаружен. Броузерный скрипт может быть разным для разных пользователей (например, по IP-адресу): для одних чистый, для целевых с бэкдором. В том числе поэтому шифрованием должно заниматься приложение с открытым кодом, а не броузерный скрипт.
Миф о сложности PGP-шифрования вызван тем, как о нём обычно рассказывают. Вот инструкция для чайников по настройке PGP-шифрования в Громоптице.
Firefox Send: свободный сервис обмена шифрованными файлами