Систему шифрования Mega раскритиковали
К главному достоинству файлообменника Mega, запущенному на прошлой неделе, стоит отнести надежную шифровку контента, которая происходит в режиме реального времени прямо в браузере. На презентации сервиса Ким Дотком уделил много внимания перспективам своего нового проекта, но практически ничего не рассказал о том, как защищаются файлы.
Попытку разобраться в тонкостях шифрования сделало издание Ars Technica. Как говорится в документации хостинга, структура хранилища такая же, как и у локальной файловой системы. Пользователи могут создавать папку, помещать в нее файл или еще одну подпапку. Каждый узел (название файла / папки и их содержимое) шифруется отдельно по криптоалгоритму AES (Advanced Encryption Standard) с ключом длиной 128 бит.
Алгоритм AES симметричен. Такая схема требует меньше вычислений, чем асимметричная, но она менее надежна, поскольку для шифровки и дешифровки применяется один и тот же ключ. В случае с Mega он хранится на серверах, а не на стороне клиента. Мастер-ключ AES-128 зашифрован с помощью пользовательского пароля, поэтому запомнить его крайней важно. Если вы потеряете пароль, то не сможете не только войту в систему (восстановить его нельзя), но и получить доступ к своим файлам обратно.
Также в Mega используется еще один, 2048-битный ключ RSA. Он формируется при регистрации, когда вас просят подвигать мышкой и понажимать на кнопки, и применяется для передачи личных сообщений и файлов другим пользователям.
Таким образом, со стороны система безопасности Mega кажется довольно сильной (насколько — покажет время), но эксперты уже начали подвергать ее надежность сомнению. Метод шифрования хостинга, например, раскритиковал Независимый разработчик Надим Кобейсси, известный по созданию защищенного чата Cryptocat. Он заметил, что в составлении RSA-ключа участвует функция JavaScript math.random, генерирующая псведослучайные цифры. В результате расшифровать весь RSA-ключ становится легче.
Кроме того, хакерам удалось выявить несколько XSS-уязвимостей (когда вредоносный код вводится в поле или адресную строку браузера), с помощью которых можно теоретически перехватить cookie-файлы и получить доступ к аккаунт. Также в правилах Mega есть подозрительная фраза о том, что сервис имеет право автоматически удалить файл, если его точная копия уже есть на сайте.