Дополнения: грамматика от Google

Мало кто из пользователей интернета не ставит себе в браузеры дополнения. Чаще всего этим дополнением становится блокировщик рекламы. Ну а у автора статьи установлен ещё и плагин, который позволяет моментально выяснить у Google Translate перевод выделенного курсором слова. Думаю, что у подавляющего большинства читателей найдётся, чем дополнить этот список. Всего, по данным Google, в их базе находится 180 тысяч дополнений, которыми пользуется половина пользователей браузера Chrome, занимающего доминирующую позицию на рынке браузеров.

Мы уже несколько раз писали о проблемах с использованием дополнений. Например, злоумышленники могут перекупить продукты, которые уже наработали немалую базу инсталляций и широко используются, после чего начнут собирать о вас данные. Возможны и более неприятные последствия, связанные с установкой дополнений — как правило, дополнение видит вашу страницу в браузере полностью и может вносить в неё любые изменения – скажем, подменить номер биткойнового кошелька на кошелёк злоумышленника.

1 октября 2018 года корпорация Google в очередной раз заявила о необходимости наведения порядка в этой сфере. Это не первая попытка уменьшить угрозу злоупотреблений — в июле 2014 в Google потребовали, чтобы каждое расширение служило одной конкретной цели (для новых дополнений это требование вступило в силу ещё раньше). Таким образом, была закрыта возможность обмана пользователя, когда, скажем, согласие на отслеживание перемещений по сайтам пряталось где-то внутри лицензионного соглашения. Примерно тогда же разработчики ограничили, хотя и не запретили, установку сторонних (не из WebStore) дополнений в браузер.

Правила с тех пор успели существенно ужесточиться. Так, ранее в этом году уже были приняты меры, по которым новые расширения и дополнения нельзя было установить одним кликом — пользователя стали направлять в отдельную вкладку для завершения процесса. Для старых дополнений такая возможность сохранится до конца года, когда с выходом версии 71 соответствующий вызов будет удалён из API браузера. И вот последовала новая волна упорядочивания.

Во-первых, предполагается, что расширения, которым сейчас позволено получать доступ к произвольным сайтам, можно будет в этом ограничить. Это призвано предотвратить, например, утечку конфиденциальных данных из зловредных дополнений на хакерские серверы. Также закрывается возможность накручивать клики на посторонних сайтах. За автоматические клики на баннерах, которые делаются незаметно от пользователя и за счёт его ресурсов, несколько расширений уже были выкинуты из WebStore в этом году, при этом количество пользователей, которые их поставили, оценивается в полмиллиона. Появится возможность включать доступ расширений к сайтам явным образом, как это сейчас делается, например, для Adobe Flash.

Следующая контрмера — тщательное изучение тех расширений, которые загружают код с посторонних сайтов. Сам плагин при этом может быть вполне чист с точки зрения любой проверки, а вредоносный контент придёт потом. Такой способ атаки был ранее обнаружен в приложениях для телефонов и настольных компьютеров, и сейчас эта возможность закрывается для браузера.

Последнее в списке изменений, которые относятся непосредственно к расширениям — требование пригодности кода для анализа. Согласно новой политике дополнения, код которых не доступен для понимания, могут быть отвергнуты. По статистике от Google 70% вредоносных дополнений принимали меры по запутыванию (обфускации) кода, и поэтому теперь непонятный код объявлен подозрительным признаком сам по себе. Если разработчик хочет скрыть какое-то своё ноу-хау, то обфускация не помогает, во всяком случае, если пользователь достаточно настойчив. В документации описаны допустимые способы уменьшить размер кода — это часто даёт выигрыш в быстродействии. Уже существующим расширениям даётся 90 дней на приведение кода в соответствие нормам читабельности. Если изменения не будут внесены до начала следующего года, расширения будут удалены из Web Store.

Для разработчиков, разумеется, составлены технические рекомендации по адаптации расширений к новым требованиям. Но техническими мерами применительно к плагинам дело не ограничивается. Так как все понимают, что самая актуальная угроза безопасности — человеческий фактор, то тут тоже вводятся защитные меры. В частности, принудительно вводится двухфакторная авторизация, обязательная для разработчиков дополнений и расширений, так что теперь взломать аккаунт для получения контроля за дополнением будет недостаточно. Для особо популярных дополнений (и особо параноидальным разработчикам) рекомендуется использовать физические токены.

Кроме того, в следующем году будет принят новый так называемый манифест для расширений — документ, специфицирующий разрешения, которые запрашиваются при установке, наподобие той схемы, которая уже давно используется в iOS и Android.


Автор:  Дмитрий Белявский (ТЦИ)

Возврат к списку