Эксперты Citizen Lab обнаружили многочисленные уязвимости в облачных приложениях пиньинь-клавиатур. В компании предупредили, что эти проблемы могут использоваться для перехвата нажатий клавиш, и в общей сложности угрожают примерно миллиарду пользователей.
Исследователи рассказывают, что нашли уязвимости в восьми из девяти изученных приложений таких производителей, как Baidu, Honor, iFlytek, OPPO, Samsung, Tencent, Vivo и Xiaomi. Единственным производителем, в чьем приложении не было найдено проблем, оказалась компания Huawei.
По словам экспертов, найденные баги могут применяться для «полного раскрытия нажатых пользователем клавиш при передаче». Суммарно этот класс уязвимостей затрагивает около миллиарда пользователей по всему миру. Ведь 95% рынка клавиатур, созданных для того, чтобы пользователи могли быстро и легко вводить китайские иероглифы, занимают уязвимые IME (Input Method Editor) от Sogou, Baidu и iFlytek.
Успешная эксплуатация багов в таких приложениях позволяет расшифровывать нажатия клавиш в пассивном режиме, без передачи дополнительного сетевого трафика. Дело в том, что IME-клавиатуры часто имеют облачные функции, которые расширяют их функциональность. Это связано со сложностью прогнозирования того, какие символы пользователь введет следующим, особенно в логографических языках, таких как китайский.
Исследование Citizen Lab основывается на результатах предыдущих изысканий, в ходе которых, в августе прошлого года, были выявлены серьезные криптографические недостатки в приложении Sogou Pinyin Method компании Tencent. Это приложение насчитывает более 455 млн активных пользователей в Windows, Android и iOS.
Теперь в Citizen Lab рассказывают, что популярные пиньинь-клавиатуры подвержены следующим багам:
- Tencent QQ Pinyin уязвимо перед атакой CBC padding oracle, которая может привести к восстановлению набранного текста;
- Baidu IME позволяет третьим лицам расшифровывать сетевые коммуникации и извлекать набранный в Windows текст благодаря ошибке в протоколе шифрования BAIDUv3.1;
- iFlytek IME для Android позволяет третьим лицам восстанавливать текст за счет недостаточно зашифрованных сетевых коммуникаций;
- Samsung Keyboard на Android передает данные о нажатии клавиш по обычному, незашифрованному протоколу HTTP;
- на устройствах Xiaomi предустановлены клавиатуры Baidu, iFlytek и Sogou, и поэтому они подвержены уже перечисленным выше проблемам;
- на устройства OPPO предустановлены клавиатурные приложения Baidu и Sogou, и они тоже подвержены вышеупомянутым недостаткам;
- Vivo поставляется с предустановленным и уязвимым Sogou IME;
- а на устройства Honor предварительно устанавливается уязвимый Baidu IME.
В Citizen Lab предполагают, что китайские разработчики приложений менее склонны к использованию западных криптографических стандартов из-за опасений, что те могут содержать бэкдоры. Это побуждает их разрабатывать собственные шифры и допускать ошибки.
После того как исследователи уведомили разработчиков клавиатур о найденных проблемах, большинство из них устранили баги. Только специалисты Honor и Tencent еще работают над патчами.
«Учитывая масштаб этих уязвимостей, деликатность того, что пользователи обычно набирают на своих устройствах, а также легкость, с которой эти уязвимости могли быть обнаружены, и тот факт, что альянс Five Eyes ранее использовал аналогичные уязвимости для слежки в китайских приложениях, вполне вероятно, что нажатия клавиш пользователей могли подвергаться массовому мониторингу», — заключают специалисты.