Известные проблемы фильтрации HTTPS

Статья обновлена 14 июня 2019
Ознакомление с этой статьей может потребовать от вас базовых знаний о шифровании, протоколе TLS и устройстве HTTPS.

Для начала, приведем диаграмму, которая показывает, как в целом устроена фильтрация HTTPS в AdGuard:

What is HTTPS filtering

AdGuard копирует свойства TLS-соединения, которые использует ваш браузер:

  • AdGuard использует ту же самую версию TLS.
  • AdGuard использует те же методы шифрования (ciphers), что и ваш браузер.

Так что если вы используете современный и безопасный браузер - это хорошо, ведь известные проблемы TLS в нем уже учтены, и он не будет пытаться использовать небезопасные методы шифрования.

Как ведет себя AdGuard в случае, если есть сомнения в валидности сертификата?
В случае, если есть какие-то сомнения в валидности сертификата, AdGuard полностью прекращает фильтрацию соединений к этому домену, и отдает это на откуп браузеру.

Известные недостатки

Фильтрация HTTPS в AdGuard имеет некоторые недостатки. Практически все мы планируем устранить в ближайших версиях AdGuard. Более того, мы ведем работу над отдельной библиотекой валидации сертификатов и хотим выложить ее код в открытый доступ.

Ниже перечислены все известные нам проблемы и сроки их устранения.

Проверка оригинального сертификата

Самым важным недостатком HTTPS фильтрации является то, что она "прячет" оригинальный сертификат вебсайта. Вы просто не можете увидеть реальный сертификат - вместо него вы видите тот, который был сгенерирован AdGuard.

Что мы хотим сделать:

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

Срок реализации:

  • Планируемый срок - Q1 2020.

Certificate Transparency

Благодаря совеременной криптографии бразуеры обычно могут легко обнаружить вредоносные сайты с подделанными сертификатами. Однако, этих механизмов недостаточно для обнаружения вредоносных сайтов, которые используют сертификаты, выданные по ошибке настоящим (но, к примеру, скомпрометированным) центром сертификации. Certificate Transparency призван стать защитой от подобного рода угроз, сделав процедуру выдачи SSL сертификатов открытой и прозрачной для всех.

В нашем случае проблема в том, что браузеры игнорируют заголовок Expect-CT для локальных сертификатов, и проверка на certificate transparency просто не производится при включенном AdGuard. Для того, чтобы получить тот же уровень защиты, мы должны самостоятельно проводить эту проверку на уровне AdGuard.

Что мы хотим сделать:

  • Добавить поддержку Certificate Transparency в библиотеку валидации

Срок реализации:

  • Мы планируем включить этот функционал после того, как все продукты AdGuard будут переведены на новый движок фильтрации: Q2 2020.

Замечания и пожелания?

Если вы хотите что-то добавить, указать нам на ошибки или несоответствия или задать вопрос, пишите пожалуйста на адрес devteam at adguard.com.