Баги в мессенджере Signal портят вложения, ведут к отказу

Тема в разделе "Новости", создана пользователем Wulk@n, 23 сен 2016.

  1. Wulk@n

    Wulk@n Администратор Команда форума Админ

    171
    100.007
    1.087
    1.jpg

    В Android-версии мобильного IM-клиента Signal пропатчены уязвимости, позволявшие искажать зашифрованные вложения, а также удаленно вызывать сбой приложения. Жан-Филипп Омассон (Jean-Philippe Aumasson) и Маркус Вервье (Markus Vervier), обнаружившие эти баги, опубликовали аналитическую записку, оценив степень угрозы как низкую. Компания Open Whisper Systems, разработчик Signal, подтвердила наличие брешей и согласилась с оценкой исследователей.

    Жан-Филипп Омассон (Jean-Philippe Aumasson) и Маркус Вервье (Markus Vervier), обнаружившие эти баги, опубликовали аналитическую записку, оценив степень угрозы как низкую. Компания Open Whisper Systems, разработчик Signal, подтвердила наличие брешей и согласилась с оценкой исследователей.

    Одна из этих уязвимостей открывает возможность для модификации вложения, отосланного пользователем с клиентского Android-приложения Signal. Скомпрометировав сервер Signal, атакующий сможет перехватить зашифрованное вложение, дополнить его псевдослучайными данными в объеме до 4 ГБ и тем самым затруднить обработку. При этом предварительная компрометация сервера играет далеко не последнюю роль. «Эксплуатация в данном случае осуществляется не напрямую, — пояснил Омассон журналистам Threatpost. — Тем не менее модель угроз Signal — это сквозное шифрование, поэтому любой метод, компрометирующий конфиденциальность или целостность посредством MitM, квалифицируется как атака с целью нарушить безопасность Signal». По словам Омассона и Вервье, сами они не прибегали к взлому в ходе исследования, лишь создали PoC-сервер для хранения вложений Signal. «Субъект, имеющий доступ к Amazon S3 или к любому сертификату, выданному УЦ и подобному тем, что обычно хранятся в специальном месте в памяти Android и других систем, получает возможность модифицировать вложения следующим образом, — пишут исследователи. — Ждем запрос на доступ к вложению, вызываем оригинальное вложение размера Х, дополняем его данными в объеме 4 ГБ + 1 байт и получаем общий размер Х + 4 ГБ + 1». В своем комментарии Threatpost Омассон отметил, что компрометацию может осуществить хакер, обладающий ключом для подписи, парным к одному из сертификатов, который Android считает доверенным. Сгодится также поддельный сертификат, если жертву удастся убедить поставить его на устройство. Превысив все мыслимые размеры вложения, атакующий сможет воспользоваться целочисленным переполнением для обхода проверки MAC-кода зашифрованного сообщения. «При передаче 4 ГБ в фоновом режиме этот трюк запросто может пройти незамеченным, — говорит Омассон. — Этот (четырехгигабайтный) файл также может быть сжат до десятков мегабайт, так что передавать придется лишь несколько мегабайт, а не гигабайт». В своей публикации исследователи также отметили: «Если использовать потоковое сжатие данных в HTTP по методу gzip, можно создать четырехгигабайтный файл, сжимаемый до 4,5 МБ». «Степень опасности бага обхода MAC тоже, скорее всего, низкая (крэш), однако мы продолжим исследование, так как он может спровоцировать новые атаки через более перспективные векторы (на настоящий момент мы не можем ни подтвердить, ни опровергнуть вероятность таких последствий)», — заявил Вервье в своем комментарии Threatpost. Вторая уязвимость позволяет принудительно завершить процесс Android-клиента Signal; она связана с обработкой RTP-трафика в ходе доставки аудио- и видеоконтента. Согласно Вервье, инициатор сеанса связи может вызвать крэш IM-приложения собеседника, не прибегая к компрометации сервера Signal. «Это нельзя использовать для выполнения вредоносного кода или слива приватных данных, — пишет исследователь. — Причиной тому другой баг (тоже целочисленное переполнение), который вызывает сбой и препятствует дальнейшей эксплуатации». «Степень опасности бага, связанного с обработкой RTP-пакетов, невелика, так как это лишь отказ в обслуживании», — добавил Вервье. Авторы находки также предупредили: «Тем, кто использует класс RtpPacket, следует обновиться до пропатченной версии, поскольку в других контекстах этим состоянием можно воспользоваться. Повторимся: на Signal-Android эксплуатация ничего не даст, кроме удаленного крэша Signal-приложения». По свидетельству Омассона и Вервье, обнаруженные ими бреши свойственны лишь Android-версии Signal. «Насколько мы можем судить, iOS оглашенные баги не затрагивают, поскольку реализация здесь другая, и мы ее не так хорошо изучили, как формирование Java-ссылок на Android, — признались исследователи. — Однако можем подтвердить, что эти баги затрагивают также другие системы, к примеру WhatsApp». «Эти баги, похоже, первый случай публикации уязвимостей в Signal, показавший, что даже в приложениях, имеющих высокую репутацию и пользующихся особым вниманием, могут оказаться изъяны», — заявил в заключение Вервье. По его словам, отчет был направлен в Open Whisper неделю назад, в тот же день все ошибки были исправлены.

    Текст Tom Spring