Уязвимости VPN. Часть 1 Мы с вами, уважаемые читатели, уже знаем, что технология виртуальных частных сетей (Virtual Private Network, VPN) является на сегодняшний день одним из самых оптимальных способов для создания защищенного канала связи между двумя компьютерами с использованием инфраструктуры глобальной сети Интернет. Причем данная задача очень важна. Ведь надежная связь, по которой можно передавать конфиденциальную информацию, просто необходима в электронной коммерции и во многих других областях. Таким образом, виртуальные частные сети оказываются весьма и весьма полезными. Сегодня многие люди считают технологию VPN чуть ли не совершенством, этаким идеалом. Однако на самом деле такое отношение в корне не верно. У виртуальных частных сетей тоже есть свои недостатки и свои слабые места. И именно об уязвимостях технологии VPN мы с вами, уважаемые читатели, и будем сегодня разговаривать. Технология виртуальных частных сетей построена на использовании криптографии Технология виртуальных частных сетей построена на использовании криптографии. То есть вся информация, курсирующая в пределах защищенного канала связи, находится исключительно в зашифрованном виде. Таким образом, именно криптография является основой VPN. Помимо нее в рассматриваемой технологии работают и некоторые дополнительные механизмы, например аутентификации пользователей, контроля целостности данных и т. д. Таким образом, все уязвимости технологии виртуальных частных сетей можно условно разделить на две группы: слабые места криптографической составляющей и других элементов. Сегодня у нас речь пойдет о дырах, относящихся к первой категории. Криптографические алгоритмы Надежность любой криптографической разработки в первую очередь определяется используемым в ней алгоритмом
Надежность любой криптографической разработки в первую очередь определяется используемым в ней алгоритмом. И действительно, слабое шифрование, содержащее дыры, наверняка позволит злоумышленникам легко получить доступ к интересующим их данным. Но как сделать правильный выбор? Как понять, какой криптографический алгоритм надежен, а какой нет? Оказывается, ответить на эти вопросы очень просто. Современные представления об информационной безопасности требуют использования так называемых открытых, то есть известных всем, алгоритмов. К ним относятся технологии DES, TripleDES, RSA, AES, ГОСТ 28147-89 и т. д. Многие из них играют роль национальных стандартов различных стран, другие же просто стали стандартом де-факто в своих группах. Помимо открытых существуют еще и закрытые криптографические алгоритмы. Они разрабатываются различными компаниями и используются только в их собственных продуктах. Главным недостатком таких технологий является их недостаточная тестируемость. Существует достаточно большая вероятность того, что сотрудники компании просто-напросто не смогли обнаружить слабые места в собственном криптографическом алгоритме. Между тем открытые технологии тестировались как многими специалистами в области информационной безопасности, так и хакерами. И вообще, считается, что стойкость криптоалгоритма не должна зависеть от его секретности. Так что если вам, уважаемые читатели, будут предлагать продукты для создания виртуальных частных сетей, построенные на основе «уникальных», «запатентованных», «не имеющих аналогов», «обеспечивающих максимальную степень защиты» и прочих подобных алгоритмов, лучше внять голосу разума и отказаться от них. Криптографические ключи Очень многое зависит от длины ключей, использующихся для шифрования информации Для подавляющего большинства современных открытых криптоалгоритмов на сегодняшний день не найдено ни одной серьезной уязвимости. Это значит, что к ним не применимы какие-то особые атаки, направленные на слабые места и позволяющие хакерам быстро получать доступ к зашифрованной информации. Правда, нельзя забывать, что одна атака может быть использована для взлома любого алгоритма шифрования. Речь идет о полном переборе всех доступных криптографических ключей. И здесь все зависит от длины используемого ключа.
Общая схема работы технологии VPN Еще буквально десять лет назад шифрование с ключом длиной 64 бита считалось исключительно надежным. Сегодня же такие параметры не удовлетворяют требованиям информационной безопасности. Конечно, хакер-одиночка, который работает на обычном персональном компьютере, не сможет расшифровать информацию, закодированную с помощью 64-битного ключа. Точнее, сможет, но для этого ему придется подождать не один десяток лет. Но вот если у злоумышленника есть доступ к распределенной вычислительной системе, состоящей хотя бы из десятка персоналок, то ситуация изменится самым коренным образом: срок подбора ключа уменьшится и будет составлять период от нескольких месяцев до года. Совсем плохо, если в дело вступят крупные компании с их возможностями и продвинутой компьютерной техникой. В этом случае срок взлома зашифрованной информации может исчисляться днями и даже часами. Что же делать? Как правильно выбрать подходящую длину ключа шифрования? Собственно говоря, получить ответы на эти вопросы совсем несложно. Достаточно оценить период актуальности информации, которая будет передаваться в зашифрованном виде. Если речь идет об оперативных данных, которые важны в течение нескольких часов, то можно остановиться на достаточно слабом шифровании с длиной ключа 64 бита. Но все-таки лучше немного подстраховаться и выбрать более надежную технологию. Так, например, взлом 128-битного ключа при современном развитии компьютерной техники займет очень много времени (не одно десятилетие). И вряд ли какая-то информация сохранит актуальность в течение такого долгого периода. Ну а если речь идет о серьезных секретах, государственной тайне и прочих подобных сведениях, то можно применять шифрование с ключом длиной 256 бит. Естественно, все перечисленные значения подходят только для симметричных криптоалгоритмов. Для асимметричных технологий длина ключа для обеспечения хорошей надежности должна быть на порядок больше. Датчики случайных чисел Большую важность в надежности любой криптосистемы играет не только размер ключа, но и его качество
Большую важность в надежности любой криптосистемы играет не только размер ключа, но и его качество. А зависит этот параметр от используемого при создании ключевой информации генератора случайных чисел. Или, если говорить точнее, от генератора псевдослучайных чисел. Ведь ни для кого не является секретом тот факт, что компьютер не умеет создавать по-настоящему случайные значения. Для этого используются специально разработанные математические алгоритмы. И от их качества зависит очень многое. Некоторые «специалисты» при создании ключей шифрования применяют достаточно простые алгоритмы, использующие в своей работе внешние данные. Чаще всего в таких случаях результат работы генератора напрямую зависит от времени внутреннего таймера компьютера. Естественно, в таком случае работа хакера очень сильно облегчается. Ведь ему уже не нужно перебирать все возможные варианты ключей, достаточно всего лишь проверить те из них, которые могли быть сгенерированы в определенный промежуток времени. Как вы сами, уважаемые читатели, понимаете, вопросы о надежности защиты в этом случае можно даже и не задавать. Именно поэтому применение в технологии VPN качественного генератора случайных чисел очень важно. В идеальном случае этот программный или аппаратный модуль должен иметь сертификат Федеральной службы безопасности. Кстати, в последнее время все большее распространение получает следующий прием. Роль генератора случайных чисел при создании ключа шифрования выполняет сам пользователь. Программа требует от него нажать определенное число раз на любые кнопки на клавиатуре или хаотично подвигать мышью. Получившиеся в результате этих действий данные и считаются случайными. В принципе так оно и есть. Вряд ли злоумышленник сможет догадаться, в каком порядке и на какие кнопки нажимал пользователь. Подводим итоги Итак, уважаемые читатели, пришла пора подводить итоги. Как мы с вами видим, надежность защиты информации в виртуальной частной сети очень сильно зависит от криптографической составляющей используемой системы. Именно поэтому при выборе программного или аппаратного обеспечения, необходимого для создания VPN, обязательно нужно обращать внимание на использующееся в нем шифрование. От этого напрямую зависит безопасность конфиденциальных данных. Уязвимости VPN. Часть 2 В прошлый раз мы с вами, уважаемые читатели, уже начали разговор о потенциальных уязвимостях технологии VPN. И эта тема приобрела в последнее время огромную актуальность. Ведь виртуальные частные сети считаются сегодня самым надежным и удобным способом создания защищенного канал связи между двумя удаленными компьютерами с использованием существующей инфраструктуры Глобальной сети. Поэтому VPN получили широкое распространение, они используются внутри корпоративных информационных систем, в электронной коммерции, в интернет-банкинге и т. д. Но, к сожалению, в мире не существует абсолютно идеальных технологий. Так что нет ничего удивительного в том, что определенные слабые места обнаружились и у VPN. Впрочем, справедливости ради стоит отметить, что большинство из них являются исключительно потенциальными, их использование на практике затруднено. Тем не менее они существуют, и всем нам приходится считаться с этим фактом. Программное и аппаратное обеспечение для создания виртуальных частных сетей достаточно сложно. Его основу составляют криптографические компоненты. В них есть свои уязвимости, которые мы с вами, уважаемые читатели, подробно разобрали в первой части статьи. Однако помимо слабых мест в шифровании информации в виртуальных частных сетях есть немало и других потенциальных дыр. Каких? Ответить на данный вопрос поможет эта статья. Протокол VPN Для создания VPN используются разные протоколы, но все они хорошо защищены Ни для кого не секрет, что сегодня виртуальные частные сети могут организовываться аж на трех различных уровнях стека TCP/IP. На канальном уровне для этого используются протоколы Point-to-Point Tunneling Protocol (PPTP) и Layer 2 Forwarding Protocol (L2F), на сетевом — технологии Internet Protocol Security (IPSec) и Secure Key Interchange Protocol (SKIP), а на прикладном — разработки Secure Socket Layer (SSL) и Secure HTTP.
Общая схема работы технологии VPN Все эти протоколы отличаются от других одной вещью: все они изначально разрабатывались для защищенной передачи информации. Так что в них нет серьезных просчетов, которыми могут воспользоваться хакеры. Точнее, на сегодняшний день они неизвестны. В процессе развития в протоколах для организации виртуальных частных сетей были обнаружены некоторые слабые места, однако все они были быстро локализованы и исправлены. Так что сегодня никаких известных дыр в рассматриваемых технологиях не осталось. Хотя, конечно, никто не может гарантировать, что они не обнаружатся в недалеком будущем. Аутентификация Что такое аутентификация? Фактически под этим термином скрывается определение права объекта на проведение тех или иных действий. В нашем случае аутентификация обозначает подтверждение права пользователя на вход в виртуальную частную сеть. Подделав эту процедуру или атаковав протокол, по которому идет обмен данными, злоумышленник может получить несанкционированный доступ к VPN и ко всей или части обращающейся в ней информации. Для аутентификации пользователей могут использоваться разные технологии
Сегодня для аутентификации пользователей в виртуальных частных сетях используется огромное множество самых разнообразных технологий. Но наиболее перспективной из них представляются различные цифровые сертификаты. Тем более что последние прекрасно вписываются в законодательство многих стран, например в Федеральный закон «Об электронной цифровой подписи». Одним из самых слабых мест данной технологии является доверие к удостоверяющим центрам. Оно является основополагающим для системы цифровых сертификатов. Если же доверие к центрам будет поколеблено, то все рассыплется, как карточный домик. Кстати, еще одной опасностью в аутентификации является метод идентификации пользователя. Сегодня существует много способов сделать это. И каждый из них имеет свои сильные и слабые стороны. Так, например, парольная защита самая дешевая, зато и надежность ее оставляет желать лучшего. Хорошие же биометрические сканеры дороги и не каждому по карману. Именно поэтому оптимальным вариантом по соотношению цена/качество является использование различных токенов, например USB-ключей с защищенной памятью. Реализация Одним из самых слабых мест в ПО для создания VPN является реализация Одним из самых слабых мест в любой системе информационной безопасности является реализация. И действительно, программы пишутся людьми. Ну а люди, как всем известно, могут ошибаться. Причем чем более сложная система разрабатывается, чем больше задействовано в работе специалистов, тем больше в конечном продукте будет ошибок. Причем меньше всего проблем обнаруживается в программном и аппаратном обеспечении компаний, изначально работающих в области информационной безопасности. И действительно, в защите данных существует слишком много мелких нюансов, учесть которые очень сложно. При этом каждый из них легко может превратиться в серьезную уязвимость конечного продукта. И за примерами далеко ходить не нужно. Очень часто разработчики забывают очистить оперативную память после работы. А ведь в ней размещается криптографический ключ, который используется для шифрования информации. И злоумышленник, просканировав память с помощью специальной утилиты, вполне может вычленить его. Другой распространенной проблемой является отсутствие контроля целостности программного комплекса для организации виртуальной частной сети. В этом случае злоумышленник может подменить некоторые компоненты системы, обеспечив себе свободный доступ ко всем зашифрованным данным. И таких примеров можно привести сколько угодно. В деле защиты конфиденциальной информации важна любая мелочь. Дорогу хакерам могут открыть не только недоработки разработчиков системы VPN, но и их ошибки. И действительно, нельзя забывать о том, что любые, даже самые строгие нормы программирования допускают определенный процент ошибок. Речь идет о непреднамеренных неточностях и несогласованностях в различных модулях. Причем стоит отметить, что такие уязвимости могут обнаружиться абсолютно во всех составляющих программно-аппаратного комплекса, предназначенного для организации виртуальной частной сети. Не остаются в стороне криптографические компоненты, модули аутентификации и идентификации и т. д. Ошибки могут быть допущены даже в реализации протокола виртуальной частной сети. Пользователи Надежность защиты VPN очень сильно зависит от пользователей, их квалификации и ответственности
Наверное, всем известен тот факт, что человеческий фактор является одной из самых серьезных уязвимостей в любой системе информационной безопасности. И действительно, от пользователей зависит очень, очень многое. Так, например, человек может выбрать себе слишком слабый, легкий для подбора пароль. Или же записать на всякий случай файл с ключом шифрования прямо на жесткий диск своего компьютера, не позаботившись о защите последнего. Причем зачастую от человеческих ошибок не могут защитить даже самые современные технологии. И далеко за примерами ходить не нужно. Многие пользователи достаточно легкомысленно относятся к USB-ключам и устанавливают чрезвычайно простые PIN-коды для доступа к их памяти. Таким образом, злоумышленники частенько имеют немало возможностей заполучить интересующий их токен. Подобрать же PIN-код типа «1111» очень просто. Ну и, естественно, нельзя забывать о частых нарушениях сотрудниками многих компаний политики информационной безопасности. Заключается это в несанкционированном использовании Интернета, работе с посторонними документами и программами, а также в обеспечении доступа к корпоративным компьютерам посторонних лиц (друзей, детей и т. д.). Все это тоже может послужить прекрасным подспорьем для злоумышленников. Подводим итоги Ну а теперь пришла пора подвести итоги. Оказывается, в технологии виртуальных частных сетей есть немало опасных мест, которыми могут воспользоваться хакеры для получения несанкционированного доступа к информации. Тем не менее стоит отметить, что большинство из них являются угрозами лишь потенциально. Так что реализовать их злоумышленники могут далеко не всегда. Очень много зависит от конкретных реализаций программных и аппаратных продуктов, а также от грамотности и внимательности пользователей. Автор: Марат Давлетханов Источник: www.hostinfo.ru
|