
В любом случае все обнаруженные уязвимости в протоколе шифрования закрыты. Более того, публикация исследования совпала с релизом нового протокола коммуникации в Threema — Ibex. Он предположительно решает фундаментальный недостаток старого протокола: в нем не была реализована концепция прямой секретности (forward secrecy), при которой взлом ключей для определенной сессии не позволяет расшифровать более раннюю или более позднюю переписку. Критика работы со стороны Threema отчасти обоснована, и оценить ее лучше всего на примере двух самых серьезных проблем, выявленных исследователями из ETH Zurich.
Разногласия между авторами исследования и компанией Threema в основном касаются практической эксплуатации уязвимостей. Исследователи утверждают, что из семи уязвимостей две теоретически можно эксплуатировать без компрометации приложения на телефоне пользователя или серверов Threema. Остальные пять в любом случае предполагают взлом либо того, либо другого, поэтому и ценность эти проблемы представляют скорее научную. Если у атакующего есть возможность контролировать работу приложения на телефоне, никаким шифрованием это уже не исправишь. Из двух серьезных проблем первая теоретически позволяет атакующему подключиться к серверам Threema от имени жертвы. Это становится возможно в случае кражи одного из временных ключей шифрования, которые используются для защиты конкретного сеанса связи.
Это действительно серьезный недостаток: временный ключ ни при каких обстоятельствах не должен служить средством перманентной авторизации пользователя. Да, но как украсть этот временный ключ? В Threema утверждают, что это возможно, только если злоумышленник имеет доступ к данным, которые мобильное приложение хранит в оперативной памяти смартфона. А если так, то мы опять получаем сценарий, когда телефон жертвы полностью скомпрометирован и про шифрование можно уже не переживать.
Вторая теоретическая атака выглядит еще интереснее, ее подробно (но простыми словами) описал разработчик Threema
То странное сообщение, которое надо отправить жертве и заставить ее переслать подготовленному пользователю, — это и есть публичный ключ. Чтобы его узнать, нужна большая вычислительная мощность: потребуется арендовать примерно 8 тысяч процессорных ядер на 24 часа. Атака не всегда срабатывает, поэтому для надежности надо заставить жертву отправить «мусорное» сообщение больше 200 раз подряд. А также для атаки надо оплатить кастомизированный идентификатор, что еще больше усложняет проблему. Короче говоря, по всем разумным критериям эта атака на практике не реализуема.
Разница в интерпретации результатов работы понятна. У исследователей в принципе нет задачи найти обязательно работающий способ взлома Threema. Они скорее указывают на теоретические недостатки примененных в мессенджере протоколов шифрования, которые действительно имели место. Это важно: продукт, основным преимуществом которого является защита коммуникаций, должен соответствовать актуальным научным разработкам в области шифрования данных. Другого способа проверить истинность заявлений разработчика о «максимальной защите ваших данных» нет. У Threema при этом есть не менее очевидная претензия к исследователям: они подают результаты своей работы как серьезный недостаток защищенного мессенджера, что достаточно далеко от реальности. Ученые беспокоятся о правильной модели безопасности при шифровании данных — бизнесмены переживают из-за испорченной репутации. Средства защищенного общения должны подвергаться подобным аудитам. В идеале технологии шифрования должны оцениваться до внедрения в продакшн. Исследование не нашло каких-либо действительно серьезных дыр в Threema, но закрыты они были путем внедрения нового протокола, который пока никто не изучал.
Что еще произошло:
В роутере Asus RT-AX82U
Обнаружена
Серьезный взлом