[Перевод] Насколько небезопасен Avast Secure Browser?

Некоторое время назад я уже изучал Avast Secure Browser. Тогда для Avast это закончилось не лучшим образом: я обнаружил критические уязвимости, позволяющие произвольным веб-сайтам заражать компьютер пользователя. Хуже того: во многом это произошло из-за пренебрежения методами безопасной разработки, а существующие механизмы безопасности были отключены без уважительной на то причины.

f8de0b5498f84c86a83e61d168278197.jpeg

Я не закончил это расследование, потому что обнаружил, что браузер, по сути, был программой-шпионом, которая собирала историю просмотров и продавала её через дочернюю компанию Avast Jumpshot.

Но это было почти пять лет назад. После первоначальной фазы отрицания в Avast решили извиниться и прекратить использование Jumpshot. И то, что Avast впоследствии был продан компании NortonLifeLock, которая сегодня называется Gen Digital, было простым совпадением. 

Да, Avast действительно исправился и расплачивается за свои преступления в Европе и США. Согласно постановлению европейского правительства, Avast по-прежнему утверждает (несмотря на известную информацию), что в компании собирали данные анонимно, а сам процесс полностью соответствовал требованиям конфиденциальности. Ну что ж, от старых привычек трудно избавиться.

В любом случае пришло время ещё раз взглянуть на Avast Secure Browser. Разумеется, из-за нейминга! Это была воистину гениальная идея — назвать свой браузер так, чтобы профессионалы в области безопасности подорвались проводить бесплатные аудиты. К настоящему времени в Avast наверняка уже решили проблемы, поднятые в моей статье, и сделали всё гораздо более безопасным, не так ли?

Примечание

В этой статье не представлены какие-либо реальные уязвимости. Вместо этого я поделюсь общим обзором проектных решений, которые подвергают пользователей риску, искусственно увеличивая поверхность атаки и оказывая большое доверие множеству компаний, связанных с веб-пространствами Avast. 

Я бы не стал запускать Avast Secure Browser на какой-либо реальной операционной системе, только внутри виртуальной машины, не содержащей никаких данных.

Краткое изложение фактов

Проблемы, поднятые в моей предыдущей статье о предустановленных расширениях браузера, все ещё частично присутствуют. 

Два расширения по умолчанию ослабляют защиту, обеспечиваемую Content-Security-Policy (CSP — политика безопасности контента), хотя этого можно было легко избежать. Одно расширение запрашивает огромные привилегии, хотя на самом деле они ему не нужны. По крайней мере, они перешли с jQuery на React, но каким-то образом всё равно умудрились получить уязвимости, которые можно использовать для HTML-инъекций.

Кроме того, два расширения принимают сообщения с любого веб-сайта Avast или серверов, выдающих себя за веб-сайты Avast, поскольку соединения, зашифрованные по протоколу HTTPS, не используются принудительно.

В случае с расширением Privacy Guard (sic!) эти сообщения делают доступной всю информацию о просмотрах пользователя веб-сайтам, готовым её принимать. Да, в прошлом Avast собирал и продавал эту информацию, и данная проблема в принципе может позволить им делать это снова, но на этот раз менее заметным образом.

Расширение Messaging отвечает за довольно навязчивую функциональность «онбординга» браузера, позволяя веб-серверу Avast устанавливать практически произвольные правила, чтобы раздражать пользователя, перенаправляя его запросы к сайтам на другие страницы. Что еще хуже, доступ к внутренним API-интерфейсам браузера был открыт для ряда доменов Avast.

Даже если предположить, что Avast (и другим компаниям, участвующим в управлении этими доменами) можно доверять, нет оснований думать, что такая огромная поверхность атаки может быть безопасной. Поэтому следует ожидать, что другие веб-сайты также смогут злоупотреблять доступом к этим API.

Что такое Avast Secure Browser?

Avast Secure Browser — это то, что вы получаете автоматически, если не проявите должной осторожности при установке антивирусного продукта Avast. Или антивируса AVG. Или Avira. Или Norton. Или CCleaner. Все эти бренды сейчас принадлежат компании Gen Digital, и все они будут продвигать Avast Secure Browser под разными именами.

Согласно информации на их веб-странице, у них есть веские причины рекламировать этот браузер:

3d6f888af9a48bc8ba6b8150c6e5fa7f.jpeg

Итак, одна из причин — этот браузер на 100% бесплатный. А если вы получаете что-то бесплатно, то вы не клиент — вы товар. Я взял на себя смелость сделать скриншот браузера и отметить рекламные площади:

9df76e57f82341296f93704def262107.jpeg

Да, возможно, это не совсем справедливо. Я всё ещё не уверен, следует ли также отметить строку поиска. Поисковой системой по умолчанию является Bing, и браузер подтолкнет вас к тому, чтобы сохранить этот выбор. Конечно, не потому, что поисковая система Microsoft такая безопасная и конфиденциальная, а потому, что они за это платят.

Но это качественная и действительно полезная реклама! Как в той рекламе магазина, который торгует пищевыми добавками, чтобы вы могли вести здоровый образ жизни. Быстрый поиск показывает, что одна из трех пищевых добавок, показанных в рекламе, скорее всего, бесполезна, хотя есть подозрение, что она вредна. Другая приводит к множеству статей заинтересованных сторон, в которых утверждается о больших научно доказанных преимуществах, однако реальных исследований по этой теме нет. Наконец, третий препарат, вероятно, мог бы очень помочь — если бы существовал какой-то способ доставить его в организм в достаточной концентрации, что кажется совершенно невозможным при пероральном приеме.

Теперь, когда мы разобрались с понятием «бесплатно»‎, мы можем сосредоточиться на аспектах безопасности и конфиденциальности в следующих разделах.

Предустановленные расширения

Разработчики по разным причинам предустанавливают расширения в свои браузеры. Mozilla Firefox использует расширения для распространения экспериментальных функций, прежде чем они станут неотъемлемой частью браузера. Как я узнал еще в 2011 году, Google Chrome использует такие расширения для продвижения своих веб-приложений и дает им преимущество перед конкурентами. И, как недавно обнаружил Саймон Уиллисон (Simon Willison), расширение Google Hangouts, встроенное в Google Chrome, предоставляет Google domains доступ к внутренним API–интерфейсам браузера, что весьма удобно, если хочется улучшить возможности отслеживания пользователей.

В предыдущей статье я рассказал, что Avast Secure Browser добавил одиннадцать расширений к тем, которые уже встроены в Google Chrome. Это число не изменилось: я по-прежнему насчитываю одиннадцать расширений, хотя их назначение могло поменяться. Вероятно, что разные версии этого браузера имеют разные комбинации программ. Только два из них — Coupons и Video Downloader — отображаются в списке расширений и могут быть легко отключены. Еще три расширения — Avast Bank Mode, Avast SecureLine VPN, Privacy Guard — становятся видны при включении режима разработчика.

9aa676ce8db4ce6d86c1673758421934.jpeg

Кроме того, есть пять расширений, которые вообще невидимы и не могут быть отключены обычными средствами: Anti-Fingerprinting, Messaging, Side Panel, AI Chat, Phishing Protection. Наконец, расширение New Tab встроено в браузер, и его невозможно отключить.

Все это не вызывает беспокойства, если эти программы разработаны с учетом требований безопасности и конфиденциальности. Так ли это?

Механизмы безопасности отключены

В моей предыдущей статье расширение Video Downloader описывалось как огромная вывеска: «Пожалуйста, взломайте меня». Манифест этой программы запрашивал все возможные разрешения, а также ослаблял защиту Content-Security-Policy (CSP), разрешая выполнение динамических скриптов. И то, и другое было совершенно не нужно, но мой эксплойт для проверки концепции использовал это, чтобы закрепиться в защищенном браузере Avast.

Глядя на текущий манифест Video Downloader, можно сказать, что сегодня ситуация несколько улучшилась:

{
  "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
  "permissions": [
    "activeTab", "downloads", "management", "storage", "tabs", "webRequest",
    "webRequestBlocking", ""
  ],
}

Разрешения, запрашиваемые этим расширением, по-прежнему предоставляют ему практически произвольный доступ ко всем веб-сайтам. Но, по крайней мере, единственной неиспользуемой привилегией в этом списке является management, которая дает ему возможность отключать или удалять другие расширения.

Что касается CSP, то все еще существует 'unsafe-eval', который позволил скомпрометировать это расширение в прошлый раз. Но теперь для этого есть причина: Video Downloader «нуждается»‎ в запуске некоторого JavaScript-кода, который он получает от YouTube, чтобы извлечь метаданные видео.

Я не проверял, что это за код и что он делает, но это, как минимум, дает YouTube возможность скомпрометировать это расширение и целостность всего браузера. Но это же YouTube, он вряд ли обернется злом, верно?

Для справки: необязательно использовать 'unsafe-eval' для запуска какого-либо недоверенного кода. Всегда можно создать элемент