Похоже, последняя версия антивируса Avast включает в себя HTTPS-сканер, источник. Как реализована эта функция? Как плагин для браузера?
1 ответ
Обычно такие сканеры работают так же, как прокси-сервер или атака "человек посередине": они заставляют все соединения проходить через локально запущенный процесс "прокси", который действует в качестве сервера для вашего браузера, но также выступает в роли клиента при общении с реальным веб-сервером, поэтому расшифровывает и повторно шифрует все HTTPS-соединения. Таким образом, соединения можно сканировать независимо от используемого браузера.
Такие сканеры избегают предупреждений о сертификатах, устанавливая в систему пользовательский сертификат CA, созданный локально, и автоматически выпуская временные сертификаты для каждого посещаемого вами веб-сайта. Ваша статья подтверждает это, упоминая, что Avast нарушает обновление дополнения Firefox, что подразумевает, что Firefox видит сертификаты, поступающие не от того издателя, которого он ожидает.
Конечно, у этого есть множество недостатков: он нарушает функции безопасности, такие как закрепление CA (как в примере Firefox) или закрепление отпечатка пальца сертификата; он скрывает фактическую информацию сертификата от браузера (и пользователя); он полагается на Avast для правильной проверки сертификата сервера (лично я не доверяю Avast делать это правильно); он может скрывать фактические функции TLS, поддерживаемые одноранговыми узлами (например, ALPN), заставляя браузер и сервер использовать (часто устаревший) набор функций, который прокси Avast также поддерживает ...