Атаки на VPN

Алексей Лукацкий

Что такое VPN

Атаки на криптографические алгоритмы

Атаки на криптографические ключи

Атаки на датчики случайных чисел

Атаки на протоколы VPN

Атаки на протоколы аутентификации

Атаки на реализацию

Атаки на оборудование VPN

Атаки на операционные системы

Атаки на пользователей

Заключение

 

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

Что такое VPN

Прежде чем описывать атаки, необходимо дать определение VPN и кратко перечислить ее основные компоненты. Это позволит понять, куда могут быть направлены усилия злоумышленников. Итак, не претендуя на истину в последней инстанции, технологию VPN можно определить как комплекс мероприятий по передаче данных из одной точки сети в другую безопасным образом. Это, на первый взгляд достаточно расплывчатое, определение охватывает все возможные технологии построения VPN (включая и MPLS). Анализ этого определения позволяет сделать ряд замечаний:

  • Безопасная передача данных реализуется на базе специальных протоколов VPN и, как правило, с использованием шифрования (технологию MPLS, о которой уже писал в КомпьютерПресс, № 10’2001, оставляю в стороне).
  • Поскольку обычно передача данных происходит по незащищенной сети (например, Internet), то необходимо реализовать обмен ключами шифрования между абонентами VPN, а в общем случае реализовать инфраструктуру управления ключами.
  • Средства построения VPN могут быть реализованы на базе программного или программно-аппаратного обеспечения.
  • Наличие нескольких абонентов VPN требует их аутентификации.
  • VPN не только используется людьми, но и реализуется ими.

Руководствуясь этим, можно перейти к описанию возможных классов атак на элементы VPN.

В начало В начало

Атаки на криптографические алгоритмы

Первое, что приходит на ум, — это атаки на используемый криптографический алгоритм. В настоящий момент все алгоритмы можно условно разделить на две категории: известные и секретные. К известным алгоритмам относятся DES, TripleDES, RSA, AES и наш отечественный ГОСТ 28147-89. Эти алгоритмы знакомы специалистам довольно давно, так же как и их слабые и сильные стороны.

Варианты атак на криптоалгоритмы достаточно разнообразны. Самой простой является атака только на зашифрованной текст, когда криптоаналитик располагает лишь зашифрованным текстом и путем анализа статистического распределения символов, а также посредством других методов пытается распознать исходный текст. Любой алгоритм должен защищать от такой атаки. Более сложным случаем является атака с известным незашифрованным текстом. Здесь аналитику известен фрагмент исходного текста либо он делает обоснованное предположение о нем. Например, это может быть стандартное начало или завершение документа: «Конфиденциально», «Уважаемый», «С уважением» и т.д. Существуют и более сложные типы атак, например дифференциальный криптоанализ, однако их рассмотрение выходит за рамки статьи. Можно только отметить, что большинство распространенных на сегодняшний день алгоритмов устойчивы к этим атакам.

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

В начало В начало

Атаки на криптографические ключи

Вышеописанные атаки на используемые в настоящее время алгоритмы практически бессильны, что вынуждает злоумышленников проверять все возможные ключи шифрования (атака полным перебором). Поэтому принципиально важным является выбор алгоритма с достаточной длиной ключа. В табл. 1 приведен сравнительный анализ времени и средств, затрачиваемых различными классами злоумышленников при полном переборе криптографических ключей, используемых в симметричных алгоритмах (DES, AES, ГОСТ 28147-89 и т.д.). Из этой таблицы следует, что отечественный алгоритм ГОСТ 28147-89 с длиной ключа 256 бит не может быть взломан в обозримом будущем, а зарубежные средства, подпадающие под экспортные ограничения США, ломаются относительно легко.

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

Разумеется, длина ключа зависит от того, как долго должна сохраняться в тайне защищаемая информация. Если речь идет о персональных данных или ноу-хау и бизнес-проектах, срок жизни которых может составлять десятилетия, то и длина ключа (при современном уровне развития вычислительной техники) для их защиты должна быть большой (не менее 128 бит). Если же речь идет о защите оперативной информации, например о котировках акций или военных сведениях тактического плана, то с учетом того, что такая информация теряет свою актуальность уже через несколько часов и даже минут, длина ключа может быть и не столь большой. Представьте, что криптоаналитики противника только через 10 минут дешифровали сообщение о запуске баллистической ракеты, которая достигает заданной точки через 8 минут. Актуальность такой информации практически равна нулю.

Для алгоритмов, основанных на открытых ключах, например RSA, существует ряд математических проблем, которые не всегда учитываются при построении криптосистемы. К ним можно отнести выбор начальных значений, на основе которых создаются ключи. Есть определенные числа, позволяющие очень быстро вычислить секретный ключ. В то же время правильный выбор начальных значений позволяет гарантировать невозможность «лобовой» атаки в течение нескольких сотен лет при современном развитии вычислительной техники. Аналогичные проблемы существуют и в симметричной криптографии.

В начало В начало

Атаки на датчики случайных чисел

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

Датчики случайных чисел (ДСЧ), а точнее датчики псевдослучайных чисел, являются одним из ключевых элементов при построении любой криптографической системы, в том числе и VPN, и позволяют создавать действительно стойкие ключи. Псевдослучайными они называются потому, что по-настоящему случайные числа в природе существуют, а на компьютере получить их практически невозможно. Самый простой способ: не глядя несколько раз нажать на кнопки клавиатуры или подвигать мышью. Если злоумышленник может предсказать значения, генерируемые ДСЧ, то он способен и вычислить криптографические ключи, что ставит под удар всю инфраструктуру VPN. Поэтому рекомендуется выбирать действительно эффективные датчики псевдослучайных чисел, которые обычно реализуются аппаратным образом, и не использовать функции random, rnd и т.д., встроенные во многие языки программирования. В России качество ДСЧ (как и вообще любых криптографических систем) подтверждается Федеральным агентством правительственной связи и информации при Президенте РФ (ФАПСИ). Один из таких датчиков реализован на электронном замке «Соболь», который имеет сертификат ФАПСИ, и может быть использован (и используется) при построении криптографических систем.

В начало В начало

Атаки на протоколы VPN

В настоящий момент для построения VPN используется ряд протоколов, включая IPSec, PPTP, L2TP и т.д. Эти протоколы не шифруют данные, а лишь определяют, как используются алгоритмы шифрования и ряд других условий, необходимых для построения VPN (включая контроль целостности, аутентификацию абонентов и т.д.). За последние пару лет многие исследователи принимались за анализ данных протоколов с точки зрения безопасности, но серьезных «дыр» обнаружено практически не было. А те, что все-таки были найдены, были связаны с неправильной эксплуатацией или уже были устранены разработчиками. Однако теоретическая возможность обнаружения уязвимостей в протоколах IPSec, PPTP и т.д. сохраняется.

В начало В начало

Атаки на протоколы аутентификации

Установление соединения между абонентами требует их взаимной аутентификации, то есть проверки подлинности. В качестве протоколов аутентификации могут использоваться RADIUS, TACACS (в том числе и TACACS+) и сертификаты. Не будем подробно останавливаться на атаках на эти протоколы и осветим только получивший в последнее время распространение метод использования сертификатов. Особенно это актуально с учетом того факта, что сертификаты являются ключевым элементом федерального закона об электронной цифровой подписи. Главная проблема связана с доверием к удостоверяющим центрам (Certificate Authority), которые призваны выдавать на каждый открытый ключ абонента сети свой сертификат. Если этот центр не дает абсолютной гарантии, то вся инфраструктура VPN и гроша ломаного не стоит. Узлы сети VPN не смогут доверять сертификатам, выданным удостоверяющим центром. Существуют и другие возможные атаки на систему сертификатов, но объем данной статьи не позволяют рассмотреть их все.

В начало В начало

Атаки на реализацию

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

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

Если же говорить о конкретных уязвимостях, то их можно назвать не меньше десятка. В частности, уязвимости реализации PPTP, приводящие к отказу в обслуживании в ОС Windows NT, межсетевом экране WatchGuard Firebox II, маршрутизаторах Cisco и BinTec. Не обошлось и без уязвимостей IPSec. Например, в OpenBSD присутствовала также приводившая к отказу в обслуживании уязвимость, связанная с некорректной обработкой пакетов AH/ESP (специальные режимы IPSec), а в Windows 2000 в декабре прошлого года была обнаружена уязвимость в реализации протокола обмена ключами IKE для IPSec.

Можно добавить, что существуют варианты атак не только на программную составляющую VPN, но и на аппаратные элементы, например на таблетки Touch Memory, смарт-карты и другие аппаратные носители криптографических ключей.

В начало В начало

Атаки на оборудование VPN

Достаточно часто VPN реализуется на базе уже существующего сетевого оборудования, как правило, маршрутизаторов (например, Cisco 1720) или программно-аппаратных межсетевых экранов (например, CheckPoint VPN-1 на базе платформы Nokia IP Security Solutions). Также существуют и специализированные устройства построения VPN (например, «Континент-К»). А раз это обычное устройство, поддерживающее стек TCP/IP, то на него могут быть реализованы атаки «отказ в обслуживании», которые могут нарушить функционирование самого устройства и обусловить временный сбой во взаимодействии защищаемых с их помощью сетей и узлов.

В начало В начало

Атаки на операционные системы

Нередко VPN реализуется чисто программными средствами (например, в Windows 2000), и программное обеспечение VPN является надстройкой над операционной системой, что зачастую используется злоумышленниками. Поэтому, независимо от надежности и защищенности ПО VPN, уязвимости операционной системы могут свести на нет все защитные механизмы VPN. Это особенно важно для продукции компании Microsoft, которая не отличается продуманностью с точки зрения защиты: не было недели, чтобы не обнаружилась очередная дыра в операционных системах Windows NT, Windows 2000, а с недавнего времени — Windows XP.

В начало В начало

Атаки на пользователей

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

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

В начало В начало

Заключение

Необходимо запомнить главное правило (оно применимо не только к технологии VPN): «Безопасность всей системы равна безопасности самого слабого звена». Поэтому очень важно не только выбирать стойкий криптографический алгоритм и длинные ключи, но и обращать пристальное внимание на другие компоненты VPN — программное и аппаратное обеспечение, пользователей, реализацию и т.д.

КомпьютерПресс 3'2002


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует