- Что такое безопасные соединения
- Виды защит от сетевых угроз
- Опасность безопасных соединений
- Заключение
Что такое безопасные соединения
Безопасное соединение призвано обеспечить защиту данных, передаваемых по сети Интернет между двумя компьютерами. Создание безопасного соединения преследует следующие цели:
- скрыть конфиденциальные данные от посторонних;
- удостовериться в собеседнике;
- защитить передаваемую информацию от чтения и изменения посторонними.
Существует несколько способов безопасной передачи данных. Все они используют для своей цели шифрование данных и специальные ключи для чтения этих данных. Ключи (иначе называемые сертификатами) обычно хранятся в специальных базах данных — хранилищах сертификатов — и доступны только авторизованным пользователям.
- Шифрование информации. Этот способ предусматривает сокрытие информации (например, почтовых сообщений) от посторонних и проверку подлинности отправителя. В то же время, этот способ не предусматривает проверку подлинности участвующих в передаче информации компьютеров. Для создания зашифрованного сообщения и его чтения у двух адресатов-собеседников должна быть установлена соответствующая программа (PGP, GPG, S/MIME). Наибольшее распространение шифрование данных получило в почтовой корреспонденции.
Рисунок 2. Шифрование данных с помощью программы PGP
- Шифрование канала передачи. Этот способ предусматривает сокрытие всего содержимого сетевого соединения и проверку подлинности участвующих в сетевом соединении компьютеров. Однако сами данные, в отличие от первого способа, в большинстве случаев не верифицируются — например, удостовериться в подлинности отправителя полученного по зашифрованному каналу почтового сообщения невозможно. Такие протоколы шифрования называют SSL и TLS.
Поддержку шифрования канала передачи сейчас осуществляет абсолютное большинство интернет-приложений: почтовые серверы и клиентские программы, веб-серверы и браузеры, а также множество сетевых приложений индивидуальной разработки, таких как банковские системы управления счетами и платежными операциями. Простота этой реализации видна разработчикам: в установленном защищенном сетевом соединении может работать стандартный протокол передачи данных, поэтому изменения, которые приходится делать программистам в готовом сетевом приложении, совсем невелики. Так работают общеизвестные протоколы:
- HTTPS (обычный HTTP — основной протокол Интернета — зашифрованный с помощью SSL/TLS)
- POPS (обычный POP3 — основной протокол для получения почты — зашифрованный с помощью SSL/TLS)
- SMTPS (обычный SMTP — основной протокол для отправки почты — зашифрованный с помощью SSL/TLS)
- IMAPS (обычный IMAP4 — распространенный протокол для получения почты — зашифрованный с помощью SSL/TLS)
- NNTPS (обычный NNTP — распространенный протокол чтения новостей — зашифрованный с помощью SSL/TLS)
Некоторые сетевые сервисы предоставляют свои услуги только через зашифрованное соединение — например, так поступает известная почтовая служба GMail.
В этой статье мы будем вести разговор именно о шифровании канала передачи — так называемых «безопасных соединениях».
Виды защит от сетевых угроз
По сетевым соединениям распространяется не только полезная информация, но и данные, несущие опасность для компьютера. Примером вредоносного ПО является абсолютное большинство современных угроз: это и хакерские атаки, и троянские программы, и почтовые черви, и программы, эксплуатирующие уязвимости веб-приложений (эксплойты).
Борьбой с вредными данными в сети призваны заниматься следующие типы программных и программно-аппаратных комплексов:
- Файерволы
- Проверяют каждое сетевое соединение локального компьютера на соответствие заданным правилам и либо разрешают, либо запрещают соединение.
- Могут обнаружить (но не ликвидировать) троянскую программу при попытке передать собранные ею конфиденциальные данные.
- Не могут обнаружить вирус ни в обычном, ни в зашифрованном соединении.
- Системы защиты от сетевых атак (IDS):
- ищут (и успешно блокируют) сигнатуру атаки в установленном сетевом соединении, вне зависимости от протокола;
- могут обнаружить вирус, но не умеют его удалять из распространенных протоколов высокого уровня: HTTP, POP3 и т.д. Так, при обнаружении вируса в письме, принимаемом посредством протокола POP3, единственное осуществляемое ими действие — разрыв сетевого соединения. Вирус, который содержится в письме, при этом не убивается, а при попытке пользователя получить другие письма с почтового сервера зараженное письмо опять вызовет разрыв соединения;
- не могут обнаружить вирус в зашифрованном соединении.
Рисунок 5. Блокирование сетевой атаки
- Антивирусы (почтовый и веб-антивирус):
- могут найти и корректно обезвредить любой известный им вирус при передаче/получении по известному протоколу высокого уровня;
- не могут обнаружить вирус в зашифрованном соединении.
Рисунок 6. Обнаружение вируса в скачиваемом файле
Опасность безопасных соединений
Как было сказано ранее, по сетевым соединениям могут передаваться как безвредные, так и вредоносные данные. Стандартные средства защищают компьютер от угроз в обычных сетевых соединениях, но противостоять угрозам в безопасных соединениях не могут: проверка содержимого «безопасного соединения» невозможна именно в силу его защищенности, о чем свидетельствуют перечисленные выше возможности стандартных средств защиты. В результате вредоносные данные в защищенных каналах могут нанести ущерб больший, нежели при передаче через обычные соединения.
Простота реализации шифрования сетевого канала и отсутствие (в большинстве случаев) верификации создателя файла приводит сейчас к парадоксальной ситуации: наличие «безопасного соединения» с сервером создает иллюзию безопасности, но не гарантирует отсутствие в этом соединении вредоносных данных.
Опасность, которую несут в себе «безопасные соединения», становится особенно актуальной сегодня, когда они получают все большее распространение. После того как поддержку SSL/TLS реализовали разработчики всех популярных веб-приложений, множество серверов в Интернете стало предоставлять свои услуги именно таким образом: наряду с сайтами серьезных банков все больше почтовых служб и партнерских сайтов открывают доступ только по безопасным соединениям. При этом квалификация администраторов этих серверов зачастую недостаточна даже для того, чтобы правильным образом настроить сервер для организации безопасного соединения.
Ситуация усугубляется тем, что атака на компьютер пользователя осуществляется удаленно — например, простым размещением зараженного файла на сервере, связь с которым возможна только через безопасное соединение.
Поясним вышесказанное на нескольких примерах.
GMail и вирусы
Популярный почтовый сервис GMail предоставляет доступ к своим услугам только через безопасное соединение. Известно, что на почтовых серверах GMail установлен антивирус. Теперь представим себе такую ситуацию:
- Вирусописатель посылает свой вирус на почтовый ящик пользователя GMail.
- Антивирус GMail не распознает вирус, потому что обновление антивирусных баз запоздало.
- Через некоторое время пользователь беспрепятственно скачивает это зараженное письмо на локальный компьютер, потому что антивирус GMail в целях оптимизации своей работы проверяет письма только при получении в почтовый ящик, но не проверяет при передаче их непосредственно пользователю.
- На локальном компьютере при включенном локальном почтовом антивирусе и уже известной сигнатуре вирус не обнаруживается, поскольку сетевое соединение было зашифровано согласно требованиям GMail, и почтовый антивирус не смог проверить письмо.
- Файловый антивирус находит вирус в почтовой базе, и требует удалить ее, т.к. в ряде случаев лечение почтовой базы невозможно.
- Итог: пользователь вынужден потерять всю свою переписку.
Вирус на веб-сервере
Другой пример, не менее любопытный: размещение зараженного файла на веб-сервере и привлечение пользователей Интернета на этот сервер. Если вирус выложен на обычный сервер, передающий и принимающий данные по протоколу HTTP, защищенному веб-антивирусом, компьютеру ничего не угрожает. В то же время, если вирус будет выложен на сервер, предоставляющий услуги по протоколу HTTPS, ситуация будет не так прозрачна:
- Вирусописатель, пользуясь брешью в доступе к хранимым на сервере файлам (например, как в нашумевшей истории с заражением серверов российского провайдера Valuehost), заменяет часть из них на свои вирусы.
- Пользователь заходит на знакомый сайт через обычный браузер по протоколу HTTPS. Веб-антивирус не может просмотреть данные в зашифрованном соединении и не может препятствовать передаче зараженных файлов.
- Вместо обычной веб-странички в его браузер попадает страница, в которой содержится эксплойт, использующий уязвимость браузера. Он мгновенно активизируется и исполняет свой код изнутри браузера. Файловый антивирус также не может помешать его исполнению, потому что зараженный файл попадает к нему на обработку только после сохранения на диске, т.е. в данном случае после исполнения вредоносного кода.
- Итог: компьютер заражен.
Решения
Для обеспечения проверки передаваемых по безопасным соединения данных большинство производителей антивирусных решений предоставляет плагины к веб-приложениям. Это решение имеет как свои плюсы, так и свои минусы:
- Плюсы:
- Поток данных между клиентом и сервером не изменяется
- Поток данных не доступен для просмотра третьими лицами
- Минусы:
- Отсутствие возможности создания плагинов у многих приложений. Яркий пример: самая распространенная почтовая программа Outlook Express.
- Ограничения возможностей использования плагинов. Пример: почтовая программа Outlook.
Альтернативой плагинной проверке является проверка в трафике, основанная на методе «man-in-the-middle». Это решение закрывает отрицательные стороны плагинной архитектуры. Хотя оно имеет и свои минусы, на него вынуждены пойти производители антивирусов, чтобы обезопасить своих пользователей.
Этот метод, по сути, является атакой на SSL/TLS, т.к. представляет собой перехват безопасного соединения, подмену оригинального сертификата и установление двух защищенных соединений: между приложением и прокси-антивирусом, и между прокси-антивирусом и удаленным компьютером.
Рисунок 8. Обычное защищенное соединение
Рисунок 9. Проверяемое защищенное соединение
- Плюсы:
- Проверка соединения осуществляется для любого клиентского приложения.
- Проверка соединения на вирусы осуществляется для любого известного протокола.
- Помимо антивирусной проверки прокси может осуществлять любые другие операции с данными: проверка на фишинг, спам и т.д.
- Поток данных не доступен для просмотра третьими лицами без осуществления атаки man-in-the-middle.
- Минусы:
- Изменяется поток данных между клиентом и сервером. В связи с этим:
- веб-приложение не может удостовериться в подлинности сервера;
- сервер не может удостовериться в подлинности клиента;
- если прокси не будет осуществлять собственную проверку подлинности, возможна вторая атака «man-in-the-middle», уже между прокси и сервером. Эту атаку может осуществить злоумышленник для прочтения и подмены данных.
- Изменяется поток данных между клиентом и сервером. В связи с этим:
На практике грамотно организованная проверка в трафике не несет реальной опасности для пользователя: осуществляется эта проверка непосредственно на локальном компьютере и может идти в диалоге с пользователем, все полученные с удаленного компьютера сертификаты могут проверяться антивирусом в хранилище сертификатов так же, как это делают веб-приложения.
Минусы метода «man-in-the-middle» с лихвой компенсируются полноценной защитой компьютера от угроз во всех сетевых соединениях.
Решения Kaspersky Internet Security
Kaspersky Internet Security содержит решение проблемы проверки безопасных соединений обоих типов:
- Плагины к веб-приложениям:
- MS Outlook,
- TheBat,
- IE ScriptChecker
- Проверка защищенных соединений на трафике методом «man-in-the-middle».
- Kaspersky Internet Security всегда сообщает обо всех производимых им действиях:
- замена серверного сертификата на сертификат KIS;
- проверка сертификата, полученного от сервера, в хранилище сертификатов Windows — точно так же, как это делают веб-приложения;
- отсутствие последнего шага в man-in-the-middle — регистрации подменного сертификата в хранилище доверенных сертификатов. Эта задача возлагается на пользователя.
- Kaspersky Internet Security предоставляет возможность выборочного отключения проверки соединений по условиям приложение/сервер/порт. Это решает все возможные вопросы о корректной работе сервисов с проверкой подлинности клиентов.
- Kaspersky Internet Security осуществляет все возможные проверки в безопасных соединениях:
- Веб-антивирус обнаруживает вирусы в трафике браузеров
- Почтовый антивирус обнаруживает вирусы в трафике почтовых программ
- Антифишинг обнаруживает поддельные сайты и ссылки на них
- Антибаннер избавляет пользователей от навязчивой рекламы
- Антиспам избавляет пользователей от ненужной почты
- Kaspersky Internet Security всегда сообщает обо всех производимых им действиях:
Заключение
Задачей безопасных соединений является защита передаваемых данных от хищений и изменений. Однако на сегодняшний день не меньшую опасность, чем хищение или изменение информации, представляют сетевые угрозы, защиту от которых безопасные соединения не обеспечивают.
Между тем, сам термин «безопасное соединение» может ввести пользователей в заблуждение и создать у них ложную уверенность в гарантированной безопасности при использовании защищенных соединений. Ситуация усугубляется еще и тем, что стандартные средства сетевой защиты не могут реализовать свои функции в защищенных каналах.
Для полноценной защиты компьютеров от всех сетевых угроз необходимо использование специальных методов обработки защищенных соединений. Самое простое и очевидное решение — использование плагинов к веб-приложениям, — к сожалению, не универсально, поскольку многие приложения не поддерживают возможность встраивания плагинов либо сильно ограничивают их функциональность. Дополнительное решение, найденное производителями антивирусов, состоит в проверке трафика.
Опасность «безопасных соединений» не стоит недооценивать. Организуя защиту своего компьютера, убедитесь, что ваш антивирус обеспечивает полноценную защиту от всех сетевых угроз.
Опасность безопасных соединений