Можно ли взломать VPN-сервис? Подробный обзор

Мы рассмотрели особенности VPN-сервисов и оценили, насколько уязвимы они для хакеров.

Что такое VPN?

Виртуальная частная сеть (Virtual Private Network, далее просто VPN) позволяет создать в интернете безопасный виртуальный туннель от одного устройства к другому. Если вы выходите в сеть через такой туннель, то всем остальным включая вашего провайдера становится очень сложно следить за вашими действиями.

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

Подключиться к VPN довольно просто. Сперва пользователь выходит в сеть, подключаясь к серверам провайдера, затем устанавливает VPN-соединение с VPN-сервером с помощью клиента (специальной программы, установленной на компьютер пользователя). Затем VPN-сервис получает запрошенные пользователем страницы и передает их ему через безопасный туннель. Так обеспечивается защита данных и конфиденциальности пользователя при работе в сети.

Как работает шифрование VPN-сервисов?

VPN-протокол — это набор правил передачи и шифрования данных. Большинство VPN-сервисов предоставляют своим клиентам на выбор несколько VPN-протоколов, среди которых чаще всего встречаются следующие: Point to Point Tunnelling Protocol (PPTP), Layer Two Tunnelling Protocol (L2TP), Internet Protocol Security (IPSec) и OpenVPN (SSL/TLS).

Нельзя объяснить, каким образом VPN-сервисы защищают пользовательскую конфиденциальность, не рассказав про шифрование. VPN-сервисы используют особый метод обработки данных (шифрование), чтобы сделать считываемые данные (обычный текст) совершенно нечитаемыми (зашифрованный текст) для любого человека, который сумеет их перехватить. Алгоритм (шифр) определяет, как именно шифрование и расшифровка данных осуществляются в рамках того или иного VPN-протокола. VPN-протоколы используют эти криптографические алгоритмы, чтобы зашифровать ваши данные и сохранить их конфиденциальность.

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

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

Параметр Симметричное шифрование Асимметричное шифрование
Ключи Один ключ для нескольких сущностей У одной сущности есть публичный ключ, а другой — приватный
Обмен ключами Необходим безопасный способ отправки и получения ключей Приватный ключ хранится у владельца, публичный ключ доступен для всех остальных
Скорость Проще и быстрее Сложнее и медленнее
Надежность Взломать проще Взломать сложнее
Масштабируемость Хорошая Еще более хорошая
Использование Для шифрования чего угодно Только ключи и цифровые подписи
Опции безопасности Обеспечение конфиденциальности Обеспечение конфиденциальности, аутентификации и предотвращения отказа
Примеры DES, Tipple DES, AES, Blowfish, IDEA, RC4, RC5 и RC6 RSA, ECC, DSA и алгоритм Диффи — Хеллмана

Асимметричная криптография приходит на помощь в тех случаях, когда необходимо преодолеть ограничения, свойственные симметричной криптографии (как показано в таблице выше). Уитфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Hellman) были в составе первой исследовательской группы, начавшей работу над совершенствованием симметричного шифрования, именно они разработали алгоритм асимметричного шифрования, известный как алгоритм Диффи — Хеллмана.

Это популярный криптографический алгоритм, лежащий в основе множества VPN-протоколов, в том числе в основе HTTPS, SSH, IPsec и OpenVPN. С помощью этого алгоритма две стороны, никогда не встречавшиеся между собой ранее, могут обсуждать приватный ключ даже в тех случаях, когда общение ведется через незащищенную публичную сеть (например, интернет).

Хэширование — это одностороннее (необратимое) шифрование, используемое для защиты целостности передаваемых данных. Многие VPN-протоколы используют алгоритмы хэширования для подтверждения истинности сообщений, отправленных через VPN. В качестве примеров можно вспомнить MD5, SHA-1 и SHA-2. Впрочем, MD5 и SHA-1 более не считаются безопасными.

VPN-сервисы можно взломать, однако это очень и очень сложно. Если вы не используете VPN-сервис, то ваши шансы пострадать от хакеров существенно выше.

Может ли кто-то взломать VPN-сервис?

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

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

Куда чаще пытаются украсть ключ шифрования, и это понятно: это гораздо проще, чем разгадывать шифр. Именно к этому способу прибегают хакеры в первую очередь. Тут все зависит уже не от одной только математики, но от комбинации самых разных факторов, включая технические трюки, вычислительные мощности, обман, судебные предписания и использование бэкдоров, подкупа и прочих грязных методов. А все потому, что разгадка шифров — это очень сложное и ресурсоемкое занятие.

Известные VPN-уязвимости

Небезызвестный Эдвард Сноуден и специалисты по компьютерной безопасности не раз и не два заявляли о том, что АНБ (Агентство Национальной Безопасности США) взломало шифрование, используемое для защиты большей части интернет-трафика, в том числе и трафика VPN-сервисов. В материалах Сноудена говорится о том, что АНБ расшифровывает трафик VPN-сервисов путем перехвата зашифрованного трафика и передачи данных мощным компьютерам, которые затем возвращают ключ.

Специалисты по компьютерной безопасности Алекс Хэлдерман (Alex Halderman) и Надя Хенингер (Nadia Heninger) представили убедительный отчет, согласно которому АНБ действительно может расшифровывать большие объемы HTTPS-, SSH- и VPN-трафика с помощью атаки Logjam, нацеленной на основные способы использования алгоритма Диффи — Хеллмана.

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

Увы, так получилось, что не все простые числа (менее 1024 бит) обычно используются в приложениях для повседневного использования, применяющих шифрование — в том числе и в VPN-сервисах. Как следствие, взломать такие алгоритмы становится еще проще. Как заявил Брюс Шнайер (Bruce Schneier), “математика хороша, но ее нельзя взломать. А вот код — другое дело”.

Стоит ли продолжать использовать VPN-сервисы?

Хэлдерман и Хенингер советуют VPN-сервисам переходить на 2048-битные или даже более сложные ключи шифрования по алгоритму Диффи — Хеллмана, также они подготовили руководство по их использованию с протоколом TLS. Организация The Internet Engineering Task Force (IETF) также советует использовать новейшие версии протоколов, требующие более длинные последовательности простых чисел.

Хакеры могут взломать ключи шифрования по алгоритму Диффи — Хеллмана, если те короче или равны по длине 1024 битам (примерно 309 символов). Взлом же 2048-битных ключей станет для хакеров настоящей проблемой! Иначе говоря, они еще очень долго не смогут расшифровать защищенные такими ключами данные.

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

Как утверждает Сноуден, «Шифрование реально помогает. На надежные и грамотно настроенные системы шифрования данных действительно можно положиться.» Соответственно, стоит избегать VPN-сервисов, использующих преимущественно хэширующие алгоритмы SHA-1 или MD5, а также протоколы PPTP или L2TP/IPSec. Выбрать стоит VPN-сервис, использующий последнюю версию OpenVPN (исключительно безопасный вариант) или SHA-2. Если вы не можете определить наверняка сами, какой из алгоритмов шифрования использует сервис, поищите эту информацию в пользовательском руководстве или обратитесь в службу клиентской поддержки сервиса.

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

Помогло? Поделитесь с другими!