Уязвимость реализаций E2EE провоцирует утечки из облачных хранилищ

Уязвимость реализаций E2EE провоцирует утечки из облачных хранилищ

Уязвимость реализаций E2EE провоцирует утечки из облачных хранилищ

Университетские исследователи обнаружили серьезные уязвимости в системах сквозного шифрования (E2EE) пяти популярных провайдеров облачного хранения данных. Некоторые недочеты одинаковы для всех случаев реализации такой криптозащиты.

В целях проведения анализа угроза была смоделирована (PDF) как вредоносный сервер, способный считывать, изменять и внедрять данные по воле автора атаки. Подобный сценарий вполне реален для APT-групп и других хорошо обеспеченных взломщиков.

В качестве объектов PoC-атак были выбраны облачных хранилища Sync, pCloud, Icedrive, Seafile и Tresorit. Тестирование показало следующие результаты:

  1. В реализации E2EE для Sync отсутствует аутентификация по открытому ключу при расшаривании файлов, из-за этого их можно расшифровать. Автор атаки также может скрытно переименовать или переместить файлы и даже внедрять собственные папки в хранилище.
  2. В pCloud можно перезаписать закрытые ключи с целью получения доступа к содержимому файлов, а также проводить вредоносные инъекции, манипулировать метаданными (размер файла, дата изменения и т. п.), переставлять и стирать блоки данных.
  3. В Seafile с помощью вредоносного сервера можно откатить протокол, что облегчит брутфорс пользовательских паролей, а также внедрять файлы и изменять содержимое существующих.
  4. Реализованное в Icedrive шифрование в режиме CBC позволяет подменять содержимое загруженных файлов. Также обнаружена возможность сокращения и замены их имен.
  5. Аутентификация по открытому ключу в Tresorit полагается на сертификаты, контролируемые на стороне сервера. Злоумышленник может подменить их для получения доступа к файлам общего пользования. Проверка также выявила возможность изменения метаданных.

Все опробованные атаки были условно разделены на 10 классов. Степень сложности некоторых невысока, проведение не требует значительных ресурсов.

 

Отчеты об опасных находках были разосланы пяти облачным провайдерам еще в апреле. На запрос BleepingComputer о комментарии владелец платформы pCloud не отреагировал, а оператор Icedrive посчитал, что такие угрозы ему не страшны.

Провайдер Tresorit уверен, что легко исправит почти все поставленные на вид недостатки за счет существующих наработок. Идентификация по цифровым отпечаткам при расшаривании папок будет введена в будущем году.

ИБ-команда Sync закрыла возможность утечки по ссылкам и работает над устранением остальных найденных уязвимостей. Оператор платформы Seafile пообещал в скором времени решить проблему с откатом протокола.

Создатель Диспетчера задач объяснил, почему загрузка CPU в Windows врёт

Бывший инженер Microsoft Дэйв Пламмер, приложивший руку к таким знаковым вещам, как поддержка ZIP в Windows и меню «Пуск» в Windows NT, рассказал, как на самом деле Диспетчер задач считает загрузку процессора. И заодно объяснил, почему цифры в этом инструменте иногда кажутся немного странными, особенно если сравнивать их с тем, как компьютер ощущается в реальной работе.

По словам Пламмера, идея просто показать, насколько занят процессор на деле куда сложнее, чем кажется.

Вопросов тут сразу слишком много: занят чем именно, на одном ядре или на всех, прямо сейчас или в среднем за последние секунды, в пользовательском режиме или на уровне ядра? Как только начинаешь во всём этом разбираться, простая шкала загрузки уже перестаёт выглядеть такой уж простой.

Сам Диспетчер задач, как объяснил Пламмер, работает не в режиме мгновенного измерения. Он обновляет данные через определённые интервалы, то есть показывает скорее интерпретацию того, что происходило между обновлениями, а не живую картину в каждый конкретный момент. Поэтому цифры на экране — это всегда усреднённый результат, а не моментальный снимок состояния процессора.

Самым очевидным решением мог бы быть простой расчёт по времени между обновлениями интерфейса. Но Пламмер от такого подхода отказался: он посчитал, что полагаться на точность GUI-таймера — идея так себе. Он даже сравнил это с попыткой доверить точный ритм метронома, который едет в кузове пикапа по разбитой дороге.

Вместо этого он заложил в Диспетчер задач другой принцип. Утилита запрашивает, сколько процессорного времени каждый процесс суммарно использовал с момента запуска (отдельно в пользовательском и системном режимах).

Затем из нового значения вычитается предыдущее, полученное во время прошлого обновления. Так определяется, сколько CPU-времени процесс съел за конкретный промежуток. А дальше это сравнивается с общим объёмом процессорного времени, которое было израсходовано всеми процессами за тот же период.

Звучит не очень просто, но именно такой метод, по словам Пламмера, даёт более точный результат, чем грубый расчёт по таймеру. Проблема в другом: современные процессоры стали намного сложнее, чем во времена, когда создавался классический Диспетчер задач.

Сегодня на работу CPU влияют динамическое изменение частоты, турбобуст, тепловые ограничения, глубокие режимы простоя и другие механизмы. Из-за этого один и тот же процент загрузки уже не всегда означает один и тот же объём реально выполненной работы. Пламмер привёл образное сравнение: современная загрузка CPU больше похожа не на пройденное расстояние, а на загруженность шоссе. Полупустая трасса с быстрыми спорткарами может перевезти больше, чем полностью забитая дорога со старыми грузовиками.

Именно поэтому Диспетчер задач иногда может показывать вроде бы нестрашные цифры, хотя компьютер при этом ощутимо тормозит (или наоборот). Дело не обязательно в ошибке инструмента. Просто сам показатель загрузки процессора уже давно перестал быть идеальным универсальным маркером производительности.

RSS: Новости на портале Anti-Malware.ru