Мало кто об этом задумывается, но в каждом смартфоне есть сервис, которому мы доверяем все свои цифровые секреты: пароли, почтовые аккаунты, банковскую информацию, частные переписки, запросы в поисковик и так далее. Этот сервис — экранная клавиатура, свидетельница каждого нашего действия на устройстве. Может ли она запоминать информацию, которую получает от нас? Как она может распорядиться этими данными? Отвечаем в новой памятке. Если вам удобнее смотреть, чем читать, видеоверсия этого материала — здесь.
Экранная клавиатура в смартфоне — это отдельный сервис со своими особенностями и уязвимостями. На современных смартфонах экранная клавиатура почти всегда обладает способностью предиктивной системы ввода текста. Проще говоря, умеет подсказывать, что именно вы хотите написать. Эти системы появились еще на кнопочных телефонах, где для ввода одного символа требовалось нажимать кнопки по многу раз. Чтобы ускорить этот процесс, телефон пытался предугадать, какое слово вы имеете в виду, подбирая подходящие варианты по словарю. Это та самая, знаменитая система T9, про которую до сих пор ходят мемы. В современном смартфоне предиктивный ввод гораздо хитрее.
Современный смартфон подсказывает вам не только слова, но и целые фразы. Причем подходящие по контексту. Скажем, если вы пишете кому-то «привет», телефон предложит вам написать «как дела?» или «чем занимаешься?». Для работы такой системы клавиатура должна изучать и запоминать те слова и выражения, которые используете вы. То есть запоминать вашу переписку. Иногда предиктивный ввод текста становится серьезной уязвимостью, в результате которой все ваши сообщения, пароли и любые другие вводимые данные могут оказаться в чужих руках.
Русский алфавит содержит 33 буквы. В крупных словарях китайского можно найти до 50 тысяч отдельных иероглифов, из которых около 8000 — общеупотребимые и распространенные. Как уместить их на экране? На помощь приходит пиньинь — система романизации китайских иероглифов, в которой они записываются латиницей, исходя из звучания. Работает это так: вы вводите слово пиньинем, а экранная клавиатура предлагает вам на выбор иероглифы, с помощью которых его можно записать. Чтобы ускорить набор многие пиньинь-клавиатуры делегируют предсказания облачному серверу. Устройство отправляет на сервер разработчика транслитерацию, которую вы вводите — а обратно получает готовые подсказки. Здесь и образуется пространство для уязвимостей.
Исследователи из Citizen Lab провели проверили виртуальные пиньинь-клавиатуры девяти производителей: Baidu, Honor, Huawei, iFlytek, OPPO, Samsung, Tencent, Vivo и Xiaomi. У большинства из них обнаружили критические уязвимости в протоколах шифрования, позволяющие третьим лицам перехватывать данные, которые пользователи вводят на устройстве.
Хуже всего при исследовании себя проявили устройства Samsung. У виртуальной клавиатуры этой компании на китайских версиях смартфонов не было никакого шифрования — она передавала данные по протоколу HTTP, в виде обычного текста. То есть когда вы начинаете вводить строку в пиньине, вы буквально сообщаете об этом всему миру. Единственным разработчиком, у которого критических уязвимостей не нашлось, оказалась фирма Huawei. Но Huawei уже много лет подозревают в том, что она сама шпионит за пользователями.
По оценке Citizen Lab, уязвимости в виртуальных клавиатурах с пиньинь могли затронуть миллиард пользователей.
Не совсем. Для большинства языков, использующих небольшие алфавиты, нет необходимости передавать данные на сторонний сервер — их можно хранить и обрабатывать на устройстве. А если ничего не нужно отправлять в облако, значит перехватывать в пути тоже нечего.
Но если клавиатуре не нужно облако для работы, это еще не значит, что она не будет им пользоваться. Даже если подсказки анализируются локально, разработчики все равно могут сохранять у себя в облаке вашу переписку. Например, для синхронизации словарей между устройствами, для машинного обучения или рекламной аналитики.
Самый известный случай с утечкой данных из такого облака произошел в 2016-м году с популярной экранной клавиатурой Microsoft SwiftKey. У этой клавиатуры был функционал облачной синхронизации, и в какой-то момент он неожиданно дал сбой. Пользователи стали получать предложения из словарей на незнакомых языках, включая чужие личные данные — адреса электронной почты для заполнения. А их личные данные точно таким же образом всплывали на чужих устройствах. После этого разработчики SwiftKey выключили облачную синхронизацию, чтобы исправить ошибку. Но слово не воробей, а пароль или платежные данные — тем более.
Иногда клавиатура и вовсе оказывалась шпионским ПО. В 2017-м году исследователи AdGuard выяснили, что популярная виртуальная клавиатура GO Keyboard китайской компании GOMO Dev Team, у которой к тому моменту было 200 миллионов пользователей, шпионит за своими пользователями. Она без разрешения передавала на свои сервера адреса почты Google, данные о языке, местоположении, типе используемой сети, размере экрана, версии ОС на телефоне, его модель и так далее. Вдобавок клавиатура загружала сторонние приложения на устройство с серверов третьих сторон, которые никак не проверялись Google. А делалось все это, предположительно, для продажи рекламы. После скандала разработчики обновили клавиатуру.
Устройства ввода — это посредники между вами и программами, которыми вы пользуетесь. Эти программы могут использовать команды, которые вы им направляли для преступных действий. В 2018-м году аналитическая компания Kochava поймала сразу две компании с двумя виртуальными клавиатурами на мошенничестве — китайские Kika Tech и Cheetah Mobile. Они совершали так называемую «инъекцию кликов»: выдавали перенаправления в магазин из других приложений за свои собственные, и таким образом похищали доход от рекламы других разработчиков, как будто вы кликали на рекламу в самой клавиатуре. Исследователи из Kochava предполагают, что таким образом было украдено рекламных выплат на несколько миллионов долларов.
Сама — едва ли. Но если ей помочь, то вполне. В 2019-м Google удалил из своего магазина приложение Ai.type израильской компании Ai.type LTD. Эта бесплатная клавиатура начала делать покупки цифрового контента тайком от пользователей. Приложение попыталось совершить покупки на 18 миллионов долларов, от которых могли пострадать 40 миллионов пользователей. К счастью, афера была вовремя разоблачена, а непрошенные платежи были заблокированы.
Главное, что надо запомнить при ответе на этот вопрос: ставить клавиатуру от малоизвестного разработчика — это игра с огнем. Она несет с собой все те же риски, что и любое другое стороннее приложение, но собирает о вас гораздо больше информации и внедряется буквально во все, что вы делаете со своим устройством.
Меньше всего вы рискуете, пользуясь G-Board (это официальная клавиатура Google). То же самое касается стандартной клавиатуры на устройствах Apple. И тот и другой вариант могут в чем-то уступать аналогам от сторонних производителей, но с точки зрения безопасности ваших данных они гораздо предпочтительнее.
Но при этом важно понимать, что даже клавиатура от надежного разработчика может собирать информацию о вас. Если не саму переписку, то хотя бы метаданные. Например, тот же G-Board собирает статистику использования, отправленные напрямую через клавиатуру поисковые запросы, данные голосового ввода и уникальный идентификатор вашего устройства. А SwiftKey может вдобавок посылать образцы набранного вами текста на серверы Microsoft.
То есть полностью избежать слежки со стороны клавиатуры практически невозможно. Но вы можете выбрать слежку, с которой готовы мириться. То есть G-Board, конечно, тоже получает от вас данные, но все-таки не читает вашу переписку и не заражает телефон вирусами.