Информационная безопасность

Исследование: Avast обеспечивает наилучшую проверку HTTPS-трафика

Timofei Semisynov, 2 июня 2016

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

Аваст обеспечивает наилучшую проверку HTTPS-трафика

Каждый день наш антивирус обнаруживает и блокирует более 50 000 зараженных URL-адресов, работающих с протоколом HTTPS. Ученые из Университета Конкордия (Монреаль, Канада) протестировали 14 антивирусных программ с функцией проверки HTTPS-трафика и обнаружили, что зачастую антивирусы не обеспечивают должный уровень защиты от данного типа угроз. Исключением стал Avast.

Единственным недочетом, выявленным группой ученых во время исследования, стало отсутствие функции проверки отозванных сертификатов в продуктах образца 2015 года, однако она уже включена в линейку наших антивирусных решений этого года.

Что такое сканирование HTTPS-трафика? Почему этот защищенный протокол все-таки нужен, хотя сначала может показаться, что от него больше вреда, чем пользы? Мы попросили нашего коллегу, Лукаша Рипачка (Lukáš Rypáček), руководителя отдела разработки продуктов для настольных компьютеров помочь нам разобраться с этим.

Лукаш, обмен данными с сайтами, поддерживающими протокол HTTPS,  по определению, зашифрован, не является ли данный факт достаточной гарантией совершенной защиты? Зачем антивирусам сканировать HTTPS-трафик?

Действительно, “S” в аббревиатуре HTTPS означает “secure”, то есть «защищенный». Иными словами, если веб-сайт работает с протоколом HTTPS, то канал передачи данных между браузером и сервером, на котором размещается веб-сайт, надежно зашифрован. В данном случае, о ваших активностях и вводимых данных осведомлены исключительно веб-сайт и браузер. В качестве сравнения можно привести письмо, запечатанное в конверт, защищающий содержимое переписки от посторонних глаз. Так и передаваемые данные с поддерживающим протокол HTTPS веб-сайтом по определению не могут быть перехвачены злоумышленниками, желающими заполучить любую конфиденциальную информацию, например, данные банковских карт. Протокол HTTPS служит также для верификации браузером сервера, к которому он делает запрос; например, таким образом браузер может самостоятельно определить, является ли веб-сайт, на котором вы в данный момент находитесь и работаете, в действительности сервисом вашего онлайн-банка или вашим любимым блогом. Это достигается с помощью использования так называемых сертификатов.

Однако, шифрование не сильно спасает, если вы вышли не на сайт своего любимого блога, поддерживающего сертификат HTTPS, а на незнакомый сайт, который вы увидели в поисковой выдаче. В данном случае вы все еще можете быть уверенным, что передача данных происходит по зашифрованному каналу, однако это само по себе еще не является гарантией того, что перед вами благонадежный интернет-ресурс, а не мошеннический сайт, владелец которого только и ждет того, что вы оставите на нем свои персональные данные. Ситуация значительно усложняется в случае, если хорошо знакомый вам сайт, не вызывающий ни малейшего опасения, был взломан хакерами. Пока законные владельцы обнаружат уязвимость и устранят ее, данная страница почти наверняка инфицирует вредоносным ПО не одну тысячу пользователей. Как вы видите, в данном случае шифрование оказывается бессильно в обеспечении вашей безопасности – даже если ваше взаимодействие с сайтом недоступно для отслеживания извне, это совсем не означает, что вы надежно защищены от вредоносного ПО и можете быть спокойны.

Итак, если исходить из сказанного, то поймать вирус можно и на сайте с сертификатом HTTPS?

Да, совершенно верно. В связи с тем, что все больше онлайн-сервисов переходят на HTTPS по умолчанию или даже исключительно на него, данный протокол стал привлекать повышенное внимание киберпреступников и подвергаться атакам. На сегодняшний день порядка 30% всех данных в Интернете передаются через протокол HTTPS. Как было показано выше, в случае, если хакерам удается взломать сайт с проверенной репутацией и разместить на нем вредоносный код или скрипт, стать жертвой имеют равные шансы и те, кто передает данные через протокол HTTP, и те, кто использует надежно защищенный HTTPS. Более того, еще каких-то пару лет назад, последний, в основном, использовался только крупными организациями, банками и иными финансовыми структурами. В то время приобрести криптографический протокол TLS/SSL, с помощью которого шифруется веб-трафик и который лежит в основе технологии HTTPS, было довольно проблематично и совсем недешево. Поэтому для киберпреступников того времени отсутствовала объективная потребность в создании вредоносных сайтов с данным протоколом и, более того, это было очень невыгодно в финансовом плане, если львиная доля пользователей передавала данные через более дешевый, но менее защищенный HTTP. Однако, сегодня ситуация кардинальным образом изменилась – теперь любой владелец ресурса в Интернете может приобрести сертификат TLS/SSL, порою даже бесплатно. Сервисы подобные Letsencrypt.org помогают делать шифрование доступным для каждого.

Резюмируя сказанное, данный тип протокола зашифрованной передачи данных привлекает к себе все большее внимание злоумышленников. Для них все еще очень накладно создавать веб-сайты, идеально копирующие страницы банков или иных финансовых учреждений, чего нельзя сказать о внешне безобидных порталах для скачивания полезных программ и приложений, зачастую содержащих вредоносное ПО.

Как часто сайты, поддерживающие протокол HTTPS, содержат вредоносный код?

Антивирус Avast ежедневно обнаруживает и блокирует более 50,000 инфицированных URL-адресов, использующих протокол HTTPS. В месяц наша компания обеспечивает защитой порядка 3,2 млн пользователей от загрузки зараженного ПО или подключения к зараженным веб-сайтам (чаще всего посвященным скачиванию программ и приложений), использующим протокол HTTPS.

Каким образом антивирус сканирует передачу данных, осуществляемую по протоколу HTTPS? Как это вообще возможно, если подключение полностью зашифровано?

Avast работает на том же ядре, что и браузер. Антивирус ждет пока не поступит запрос от браузера на подключение к веб-сайту с протоколом HTTPS и начнется процедура верификации. Верификация – это первая часть коммуникации через HTTPS между браузером и сервером, на котором размещен веб-сайт. В процессе верификации сервер (или клиент) предъявляют сертификат, позволяющий браузеру определить степень надежности соединения, можно ли ему доверять. Возвращаясь к вопросу, во время процедуры первичной верификации, веб-экран антивируса Avast берет на себя отправку запроса и верификацию сертификата – то есть те действия, которые во всех иных случаях совершают браузеры. И именно веб-экран антивируса Avast впоследствии подключается и принимает зашифрованный трафик с сервера, на котором располагается интернет-станица. Затем Avast расшифровывает его, сканиирует на наличие вирусов и передает для дальнейшего отображения браузеру - будь то Internet Explorer, Chrome, Firefox или Opera.

В целях совершенствования защиты браузеры постоянно усложняют процедуры проверок, совершаемых при HTTPS-соединениях с использованием TLS/SSL сертификатов. По данным исследования канадских ученых, это как раз то место, где антивирусы наиболее часто допускают ошибки. Не лишаются ли таким образом пользователи преимуществ надежной защиты, над которой работают разработчики браузеров?

Совсем не факт. Одним из наиболее важных компонентов теста, проведенного в Университете Конкордия, как раз и была способность разных антивирусных решений к быстрому внедрению обновлений в механизм защиты. Наши разработчики уделяют особое внимание передаче полного объема передаваемых данных при процедуре верификации между браузером и сервером. Это дает браузерам возможность выполнить все необходимые процедуры проверки, несмотря на то, что на этот момент Avast уже просканировал все необходимые данные.

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

Исследование также выявило недостаточный уровень полного олицетворения серверов в активной фазе так называемой «атаки посредника» (man-in-the-middle) у нескольких протестированных продуктов.  Что такое олицетворение сервера и что это означает для безопасности пользователя?

Как я упомянул ранее, протокол HTTPS позволяет браузеру совершить процедуру верификации в целях проверки действительно ли веб-сайт, на который собирается перейти пользователь, является тем, за кого себя выдает действительно ли это страница онлайн-банка, где я только что авторизовался и оставил свои персональные данные. Это реализуется с помощью процедуры верификации подлинности сертификата, отправляемого сервером: проверкой его атрибутов, имени веб-сайта, срока годности и подлинности подписи его эмитента. В самом худшем случае антивирус не делает ничего из вышеперечисленного. На удивление, это имело место быть в случае с некоторыми протестированными сканерами HTTPS-трафика (например, в тех случаях, когда срока действия лицензии на продукт истек). Подобная халатность дает шанс злоумышленнику (это может быть, например, администратор интернет-кафе, в котором вы находитесь) вступить в коммуникацию сайта с сервером и притвориться сайтом онлайн-банка или почтовым сервером. Это и есть классическая атака посредника, которая сводит на нет защиту передаваемого трафика с помощью шифрования. Возвращаясь к аналогии с письмом в конверте, это как если бы почтальон принес вам конверт, который уже был вскрыт кем-то до вас.

Каким образом наш антивирус исключает возникновение подобного рода ошибок при использовании веб-экрана Avast?

Проще говоря, мы просто не принимаем уже распечатаных конвертов, однако, в действительности все немного сложнее.

Веб-экран Avast проверяет предъявляемые сертификаты на их наличие в хранилище, а также на завизировавшего их эмитента. И это абсолютный минимум. Наша программа не приукрашивает качества соединения или сертификата – мы ретранслируем браузеру только ту информацию, которую получаем. Если сервер использует просроченный сертификат TLS/SSL, именно это мы и передадим браузеру. Этот подход позволяет не только использовать антивирусные технологии нашей программы, но и все механизмы безопасности браузера, обеспечивая максимальную защиту пользователей. Кроме того, наша программа находит и устраняет все вредоносные скрипты, спрятанные в данных, что является непосредственной и первоочередной задачей, которую выполняет наш сканер HTTPS-трафика.

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

Avast (как и другие антивирусные решения) исполняется на том же компьютере, что и браузер, более того, решения находятся в постоянном процессе общения между собой с помощью протокола HTTPS (TLS/SSL). Это реализовано именно таким образом не из соображений безопасности, а для того, чтобы сообщать браузеру состояние соединения с действительным сервером. Если антивирусное решение отправляет браузеру «приукрашенную» информацию о версии протокола TLS и статусе сертификата, браузер будет руководствоваться недостоверной информацией и отобразит страницу. В случае передачи браузеру достоверной информации, он бы счел нужным предупредить пользователя о недостаточно сильной репутации ресурса.

Были ли выявлены какие-то недочеты у антивируса Avast и что бы вы хотели усовершенствовать в самом ближайшем будущем?

Мы постоянно работаем над усовершенствованием и повышением эффективности сканера HTTPS-трафика в веб-экране Avast. Исследование показало, что Avast недостаточно хорошо справился с проверкой так называемых отозванных сертификатов во время сканирования. Мы решили данную проблему в версии Avast 2016 года (выпущена в ноябре 2015). Теперь наш антивирус качественно проверяет отозванные сертификаты с помощью таких методик, как CRL, OSCP и OSCP stapling. Для пользователей браузеров Chrome и Firefox мы представили совершенно новый метод сканирования трафика, который стал еще более прозрачным и позволяет без ограничений применять все механизмы безопасности, имеющиеся в арсенале браузера. Мы учли и устранили все недостатки, указанные в исследовании, в новой версии нашего продукта.

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