Хакер #305. Многошаговые SQL-инъекции
Исследователи из Швейцарской высшей технической школы Цюриха (ETH Zurich) опубликовали доклад, в котором описали многочисленные проблемы безопасности в Threema, защищенном швейцарском мессенджере с оконечным шифрованием. Создатели Threema утверждают, что обнаруженные экспертами недостатки никогда не оказывали влияния на реальную работу приложения.
Threema — созданное в Швейцарии коммуникационное приложение, ориентированное на конфиденциальность и повышенную безопасность, которое применяется правительством страны, военными, а также более чем 10 млн пользователей и 7000 организаций по всему миру. Мессенджер позиционируется как альтернатива Signal и WhatsApp.
В своей работе ученые из ETH Zurich описывают сразу семь атак на протокол Threema, включая кражу приватных ключей, удаление сообщений, взлом аутентификации, спуфинг серверов и многое другое. Краткое описание обнаруженных проблем выглядит следующим образом:
- Маскировка под другого пользователя через компрометацию эфемерного ключа. Злоумышленник может выдать себя за клиента на сервере, используя его эфемерный ключ. Хуже того, вместо того, чтобы использовать эфемерные ключи однократно, Threema, похоже, использовал их повторно.
- Подделка vouch box. Злоумышленник может обманом заставить пользователя отправить ему действительный vouch box, а затем использовать его, выдавая себя за клиента на сервере.
- Переупорядочивание и удаление сообщений. Вредоносный сервер может пересылать сообщения от одного пользователя другому в произвольном порядке или отказывать в доставке определенных сообщений, что равносильно удалению.
- Replay- и reflection-атаки. В Android-версии Threema nonce БД сообщений не подлежит передаче, что открывает возможность replay- и reflection-атак для сообщений.
- Атака Kompromat. Вредоносный сервер может обманом вынудить клиента использовать один и тот же ключ при общении с сервером во время начальной регистрации и при общении с другими пользователями по E2E-протоколу.
- Клонирование с помощью экспорта Threema ID. Атакующий может клонировать учетные записи других людей на своем устройстве, если жертва оставила свое устройство разблокированным и без присмотра.
- Side-channel сжатие. Уязвимость в шифровании Threema позволяет злоумышленникам извлекать приватный ключ пользователя, контролируя username жертвы и принудительно создавая несколько резервных копий на устройствах Android. Реализация атаки может занимать несколько часов.
Аналитики ETH Zurich сообщили обо всех обнаруженных проблемах разработчикам Threema еще в октябре 2022 года, предоставили им рекомендации по смягчению проблем, а также согласились не предавать уязвимости огласке до января 2023 года.
В итоге, 29 ноября 2022 года разработчики мессенджера перевели Threema на новый и более защищенный протокол связи Ibex. Когда же исследователи ETH Zurich обнародовали результаты свих исследований, разработчики опубликовали ответное заявление, в котором сообщили, что обнаруженные проблемы в целом малозначимы не никогда не оказывали фактического влияния на Threema. К тому же, уязвимый протокол, изученный исследователями, все равно более не используется, поэтому уязвимости названы интересными разве что с теоретической точки зрения.
Кроме того, в компании опровергают утверждения о том, что протокол Ibex был создан с учетом и на основе выводов исследователей из Швейцарской высшей технической школы Цюриха, заявляя, что протокол находился в разработке более 1,5 лет. Якобы релиз Ibex просто совпал с раскрытием информации об узявимостях.
Исследователям не понравилось столь пренебрежительное отношение к их работе, и они парируют в Twitter, что новый протокол, конечно же, более безопасен, ведь старый им удалось взломать шестью разными способами, и это учли при создании Ibex.