Получить удаленный доступ к вычислительной сети очень просто - достаточно подключить к телефонной линии несколько модемов. Ниже описаны способы защиты вычислительной системы от несанкционированного доступа по телефонным линиям.
САМОЕ УЯЗВИМОЕ МЕСТО
КТО ТАМ?
ПОПРОШУ ДОКУМЕНТЫ!
КОДИРОВАНИЕ СИГНАЛА
СЕКРЕТНЫЕ ПЕРЕГОВОРЫ
ЧЕРНЫЙ ХОД НАДО ЗАПИРАТЬ
Подключиться к удаленной вычислительной сети по телефонной линии ничуть не сложнее, чем снять трубку с телефонного аппарата. Об этом стоит задуматься - так ли уж хорошо, когда доступ к корпоративной вычислительной сети (и ко всему, что в ней содержится) осуществляется настолько легко? Судя по тому, какое количество информации хранится сейчас в коммерческих компаниях в цифровом виде, - никто, конечно, не может назвать точной цифры, однако ясно, что речь тут идет о колоссальных объемах данных, - вычислительные сети, а также входящие в их состав серверы файлов и приложений стали основной инфраструктурой, обеспечивающей нормальную работу организаций.
Те, чьим делом стало совать нос в дела других, легко могут воспользоваться телефонными линиями для входа в сеть, получив таким образом доступ к вышеупомянутой инфраструктуре.
Не ошибемся, если скажем, что система удаленного доступа не может считаться хорошей, если при ее разработке не была предусмотрена защита данных. Кому-то, возможно, данное утверждение не покажется особенно глубоким, однако не следует забывать, что в области защиты данных пренебрежение даже самыми простыми вещами может впоследствии обернуться серьезнейшими проблемами.
ОТЫСКАНИЕ ЛАЗЕЕК
Доступ по телефонной линии к корпоративной сети (dial-in access) необходим четырем основным категориям пользователей: мобильным пользователям, надомным работникам, сотрудникам удаленных филиалов, а также пользователям, у которых время от времени возникает необходимость обратиться к корпоративной сети из собственного дома.
На Рис. 1 представлены типичные конфигурации доступа к вычислительной сети по телефонным линиям. Удаленные пользователи набирают телефонный номер при помощи модема. Если пользователь подключен к локальной сети (что вполне возможно, когда речь идет об удаленном офисе), то для соединения можно использовать коммуникационный сервер. В противном случае абонент использует общедоступную телефонную сеть для соединения либо с модемом на рабочей станции в офисе компании, либо с устройством удаленного доступа в локальной сети.
(1x1)
Рисунок 1.
Типичная конфигурация системы удаленного доступа, в состав которой
входят мобильные пользователи, удаленные рабочие места и офисы. Все пользователи
используют городскую телефонную сеть для связи с сервером удаленного доступа
в локальной сети. Некоторые пользователи могут также напрямую связываться
с модемами, подключенными к рабочим станциям локальной сети.
Возможности удаленных пользователей существенно ограничены низкой скоростью информационного обмена через модемы (как правило, 14,4 Кбит/с или 28,8 Кбит/с), поэтому чаще всего их работа сводится к простейшим функциям удаленного узла, дистанционному управлению и использованию специализированных приложений.
Любое приложение удаленного доступа несет в себе потенциальную угрозу для корпоративной сети. Программное обеспечение удаленного узла позволяет злоумышленнику копировать на свой компьютер конфиденциальную информацию, распространять по сети данные и вирусы, а также портить файлы и сетевые ресурсы. С помощью программного обеспечения дистанционного управления злоумышленник может просматривать информацию и уничтожать или модифицировать файлы.
Специализированные приложения для доступа к сети обычно используют собственные шлюзы, что позволяет создать альтернативное окно доступа, помимо сервера удаленного доступа или коммуникационного сервера.
САМОЕ УЯЗВИМОЕ МЕСТО
Любой, кто задастся целью дестабилизировать работу информационной системы, должен прежде всего получить доступ к ней. Задача эта не особенно сложна, если линии телефонной связи для входа в систему не снабжены специальной защитой. Ниже мы сформулируем четыре основных проблемы защиты информации в системах удаленного доступа.
Первая проблема - идентификация пользователя. Как установить, что лицо, пытающееся осуществить удаленный доступ к системе, является законным пользователем? Любой, у кого есть модем, может набрать номер точки входа в систему и запросить доступ к данным. Поскольку увидеть удаленного пользователя нельзя, следует позаботиться о том, чтобы в системе имелись средства верификации того, что абонент на линии действительно является тем, за кого себя выдает.
При простых способах идентификации пользователю вначале предлагается назвать себя, а затем ввести пароль. Считается, что этого вполне достаточно для идентификации пользователя. Чуть позже мы узнаем, почему этот способ не обеспечивает должной защиты. Более совершенное средство - раздать удаленным пользователям персональные устройства идентификации или, иначе, аппаратные ключи (token).
Следующая проблема - конфиденциальность обмена сообщениями. По телефонной линии, используемой для входа в систему, данные передаются открытым текстом, а значит, злоумышленник, подключившийся к этой линии, может узнать и имя пользователя, и пароль. Чтобы избежать подобного "пассажа", администратору сети необходимо позаботиться о кодировании передаваемых данных.
Третья проблема - управление доступом к сети. Посты следует выставить на всех дорогах, ведущих в информационную систему. Прежде чем пользователь получит доступ к системе, необходимо установить наверняка его личность. Поэтому хорошая система управления доступом должна представлять собой устройство, подключаемое к телефонной линии перед коммуникационным устройством.
Четвертая задача - обнаружение несанкционированного доступа. Если злоумышленнику все же удастся проникнуть в сеть, то администратор сети должен уметь определить, как был осуществлен доступ, в каком примерно месте это произошло и какой урон понесет компания от несанкционированного входа.
Современные системы удаленного доступа имеют некоторые встроенные средства защиты данных. Например, в сетевых операционных системах применяется идентификация пользователя с использованием имени и пароля. Кроме того, некоторые устройства удаленного доступа поддерживают работу со списками пользователей, где перечисляются не только имена и пароли, но и права пользователей на доступ к центральным ресурсам. В настоящее время на рынке появился ряд устройств удаленного доступа, рекламируемых в первую очередь как надежные средства обеспечения защиты данных. Это несомненное свидетельство того, что и производители, и потребители осознали важность данной функции.
Тем не менее следует отметить, что система защиты данных оказывается надежной лишь тогда, когда она обеспечивает решение всех четырех вышеперечисленных проблем. Кроме того, использование системы защиты не должно создавать пользователю особых проблем. Если пользователи сочтут, что система защиты данных причиняет им неудобства, они, вполне вероятно, найдут способы обойти эту систему. В частности, пользователь может не выходить из системы, отлучаясь со своего рабочего места, - тем самым при возобновлении работы ему удастся избежать повторения ритуала входа в систему.
Те же самые соображения касаются и администратора сети. Если система трудна в установке и эксплуатации, то ее нельзя считать удачной, как нельзя считать удачной и систему, требующую постоянного внимания в течение рабочего дня.
На Рис. 2 представлен пример системы удаленного доступа по телефонным линиям с защитой. Пользователи получили аппаратные ключи для входа в систему, сеть оборудована устройством управления доступом, включенным перед устройством удаленного доступа. Кроме того, система оснащена сервером защиты, в задачу которого входит управление и мониторинг системы защиты.
(1x1)
Рисунок 2.
Существуют различные системы заты данных при удаленном доступе. Они
основаны на применении разных методов или их комбинаций. В качестве примера
можно привести аппаратные ключи, устройства идентификации, кодирование
информации и серверы защиты данных.
КТО ТАМ?
При внимательном изучении рынка средств защиты доступа к информации по телефонным линиям можно выявить целый ряд продуктов, решающих некоторые или даже все из вышеописанных задач. В основе этих продуктов лежат различные механизмы обеспечения защиты данных при удаленном доступе через телефонную сеть. Несмотря на такое разнообразие, используемые в этих механизмах базовые методы весьма немногочисленны.
Наиболее простым, пожалуй, является метод идентификации пользователя при помощи пароля. Использование пароля обеспечивает так называемую однофакторную идентификацию; это означает, что идентификация пользователя осуществляется только по одному признаку.
Безусловно, любая система защиты данных должна обеспечивать использование пароля. Тем не менее не следует думать, будто пароль - это полная защита от несанкционированного доступа. Проблема тут в том, что пользователи часто используют легко угадываемые пароли. Как показывает практика, люди предпочитают пароли, в основе которых лежат реально существующие слова. К примеру, очень популярны разнообразные комбинации из фамилии, имени и отчества. Другой пример - содержательные комбинации цифр, например дата рождения, номер паспорта и тому подобное.
Тот, кто склонен поступать именно таким образом, делает свой пароль легкой добычей. Первое, что предпринимает злоумышленник, пытаясь определить пароль, - перебирает разнообразные вариации на тему фамилии пользователя и всевозможные осмысленные комбинации цифр, вроде номера паспорта или водительского удостоверения. Кроме того, есть программы, производящие поиск пароля прямым перебором всех слов из обычного словаря. Ясно, что такая программа легко подберет любой пароль, в основе которого лежит реально существующее слово.
Надежность системы защиты определяется надежностью наиболее ненадежного ее звена. Поэтому администратор сети должен принять некие меры общего характера. В частности, для укрепления системы защиты на основе пароля следует задать определенные критерии допустимости пароля. Например, надо запретить использование простых схем выбора паролей и обязать пользователей выбирать в качестве паролей комбинации букв, цифр и символов; подойдут также всевозможные бессмысленные слова.
Не мешает установить временные пределы использования паролей, обязав пользователей менять их через определенные промежутки времени. Еще один способ повышения надежности - ограничить допустимое число попыток войти в систему в течение определенного промежутка времени.
Другой метод однофакторной идентификации состоит в том, чтобы система перезванивала пользователю, пытающемуся войти в систему (callback). Получив звонок от пользователя, система немедленно отключается и сама перезванивает пользователю по тому номеру, с которого ему разрешено входить в систему. Недостаток здесь в том, что злоумышленник может, воспользовавшись технологией переключения телефонного вызова (call forwarding), перехватить звонок, адресованный на зарегистрированный номер пользователя. Кроме того, ответный вызов совершенно не пригоден для мобильных пользователей, ведь им приходится входить в систему с самых разных телефонных номеров.
ПОПРОШУ ДОКУМЕНТЫ!
Двухфакторная система идентификации позволяет повысить надежность защиты системы. Этот метод предполагает применение пароля или персонального идентификационного номера (personal identification number - PIN) и персонального устройства идентификации пользователя, именуемого также аппаратным ключом. Примером двухфакторной идентификации может служить система доступа к банкоматам. Для получения доступа к счету клиент должен иметь банковскую карточку (аппаратный ключ) и правильно ввести свой идентификационный номер.
Существует два вида аппаратных ключей для удаленного доступа по телефонной сети: ручные устройства и модули, включаемые между модемом удаленной станции и телефонной розеткой. В будущем, вполне возможно, появятся комбинированные устройства, сочетающие в себе функции модема и аппаратного ключа. На ручных аппаратных ключах обычно имеется цифровая клавиатура и экран для считывания информации. Аппаратные ключи по виду напоминают утолщенную кредитную карточку. Такое устройство представляет собой интеллектуальную карточку.
Любой аппаратный ключ предполагает наличие в сети главного (master) устройства идентификации, работающего в паре с этим аппаратным ключом. Главное устройство, включаемое обычно перед модемом или устройством удаленного доступа, выполняет функции контроля за удаленным доступом. Некоторые из имеющихся на рынке систем защиты представляют собой комбинацию устройств удаленного доступа и двухфакторной идентификации.
В основе идентификации пользователя при помощи аппаратных ключей лежит процедура типа "запрос - ответ" (challenge - response, см. Рис. 3 ). Обмен сообщениями в этой процедуре начинается в тот момент, когда пользователь, имеющий аппаратный ключ, набирает номер для входа в систему. Главное устройство идентификации пользователя перехватывает звонок и требует, чтобы пользователь ввел свой идентификационный номер. По пути введенный пользователем идентификационный номер проходит через аппаратный ключ и запоминается.
(1x1)
Рисунок 3.
Система запрос-ответ хороша тем, что при ее использовании не надо передавать
пароль и ключ (в кодированном или декодированном виде) по открытым телефонным
линиям, а также тем, что идентификация пользователя при каждом входе в
систему осуществляется по-новому.
Получив идентификационный номер, устройство идентификации обращается к базе данных, чтобы выяснить, принадлежит ли введенный код к числу зарегистрированных. Помимо базы данных идентификационных номеров в устройстве идентификации имеется также база данных уникальных "кодов", - как правило, это алгоритмы шифрования, присвоенные каждому аппаратному ключу. Чуть позже мы поподробнее расскажем о таких кодах.
Если идентификационный номер принадлежит к числу зарегистрированных, устройство идентификации генерирует случайное число, используя в качестве начальных параметров генератора случайных чисел идентификационный номер пользователя и уникальный код аппаратного ключа. Это случайное число посылается в качестве запроса. По получении запроса аппаратный код генерирует случайное число, используя в качестве начальных параметров свой ключ и идентификационный номер пользователя. Получившееся таким образом число отправляется на главное устройство идентификации в качестве ответа.
Тем временем устройство идентификации самостоятельно генерирует число-ответ, используя число-запрос, идентификационный номер пользователя и код аппаратного ключа. Если получившийся ответ совпадает с присланным по линиям связи, то удаленная система получает доступ к сети.
Для идентификации пользователей с ручными аппаратными ключами используется похожая, но несколько менее автоматизированная процедура. Получив запрос от устройства идентификации, пользователь должен вручную набрать на клавиатуре аппаратного ключа запрос и свой идентификационный номер. Аппаратный ключ генерирует ответ и выводит его на экран, а пользователь должен набрать этот ответ на клавиатуре рабочей станции, которая в свою очередь посылает ответ устройству идентификации пользователя.
Описанная процедура хороша не только тем, что пользователь должен знать правильный идентификационный номер и иметь аппаратный ключ, но еще и тем, что ответ, однажды признанный корректным, не может быть использован повторно. Каждый раз как пользователь входит в систему, генератор случайных чисел выдает новое число-запрос. Соответственно меняется и ответ, поэтому бессмысленно пытаться выяснить, какой ответ был признан корректным при инициализации конкретного сеанса.
Другое преимущество систем такого типа состоит в том, что при формировании запроса и ответа используется алгоритм кодирования, поэтому оба числа передаются по телефонной сети в закодированной форме.
В заключение выскажем несколько соображений, которые стоит учитывать при выборе метода идентификации. Во-первых, реализация таких систем может оказаться непростым делом. При работе с некоторыми видами аппаратных ключей в них приходится вводить определенную информацию о пользователе. Кроме того, следует позаботиться о том, чтобы при раздаче пользователям аппаратные ключи не перепутались - некоторые из них необходимо сначала подключать к главному устройству идентификации для согласования кодов ключей. И только после этого раздать пользователям.
Другое важное соображение - масштабируемость системы. Если система защиты удаленного доступа охватывает сравнительно небольшое число пользователей, подготовка необходимого количества аппаратных ключей и согласование кодов с главным устройством идентификации будет не так уж и сложна. Однако если в будущем ожидается расширение системы, выбор в значительной степени определяется тем, сколько пользователей в конечном счете должны получить аппаратные ключи. (Отметим, кстати, что срок службы элементов питания в некоторых ручных аппаратных ключах ограничен несколькими годами, а стало быть, без повторной переконфигурации всей системы скорее всего не обойтись).
Как всегда, вопрос стоимости играет немаловажную роль. Система на базе аппаратных ключей может оказаться весьма дорогой, поскольку каждому удаленному пользователю придется выдать свое собственное устройство.
КОДИРОВАНИЕ СИГНАЛА
Как мы уже убедились, кодирование сигнала важно и при идентификации пользователя, и в обеспечении конфиденциальности связи. Кодирование обеспечивает безопасность передачи паролей, идентификационных номеров, а также коротких сообщений и файлов по незащищенным телефонным линиям. Если даже кодированное сообщение будет перехвачено, его все равно невозможно прочесть, не зная схемы кодирования. Подобрать схему кодирования можно, однако для этого потребуется очень мощная вычислительная техника. Соответственно и цена такой операции будет весьма высока, не говоря уже о колоссальных затратах машинного времени.
Как правило, используется кодирование одного из двух типов - либо с личным, либо с открытым ключом. Под личным ключом подразумевается уникальный ключ для кодирования и декодирования данных. Если пользователь кодирует свой пароль при помощи личного ключа, то для декодирования этого пароля устройство идентификации должно иметь точно такой же ключ. Поскольку данные может декодировать любой, у кого есть ключ, его необходимо сохранять в тайне.
Промышленный стандарт схемы кодирования на основе личного ключа - это Data Encryption Scheme (DES). В этой схеме применяется 64-битный ключ (56 бит служат для собственно кодирования и декодирования, а остальные 8 бит зарезервированы под контроль четности). Каждый бит ключа генерируется случайным образом. При этом число возможных комбинаций составляет 72 квадрильона. При кодировании данных с помощью такого ключа возникает уникальная последовательность битов.
Кодирование с использованием открытого ключа невозможно без двух ключей, работающих только в паре (см. Рис. 4). Пара состоит из личного и открытого ключа. Если данные были кодированы при помощи открытого ключа, то декодировать их можно только при помощи соответствующего личного ключа. На практике часто используется схема кодирования под названием RSA, предложенная компанией RSA Data Security.
(1x1)
Рисунок 4.
В системе на базе открытых ключей у каждого пользователя есть свой
личный клю. Открытый клю пользователя, парный с личным ключом, сообщается
всем пользователям. При необходимости послать кому-либо сообщение, отправитель
шифрует его при помощи открытого ключа получателя. Поскольку личный ключ
имеется только у получателя, расшифровать сообщение может только он.
В системе на основе открытого ключа каждому пользователю выдается личный ключ, который он должен сохранять в тайне. Соответствующие открытые ключи копируются, и этот список раздается всем сотрудникам или записывается либо в устройство идентификации пользователя, либо на сервер ключей. Если пользователь хочет отправить кому-либо конфиденциальное сообщение, он должен закодировать его при помощи принадлежащего адресату открытого ключа. Поскольку декодировать это сообщение можно только при помощи личного ключа адресата, никто другой не может ознакомиться с содержанием сообщения. При отправке ответа на сообщение следует воспользоваться открытым ключом того пользователя, кому этот ответ адресован.
В настоящее время на рынке продуктов системы на базе личных ключей наиболее распространены. Например, многие системы запрос-ответ основаны на использовании личных ключей. Тем не менее системы на основе открытых ключей завоевывают все большую популярность, поскольку такая система предлагает возможное решение по обеспечению конфиденциальности коммерческих операций в Internet.
Почему? Дело в том, что основная цель систем на базе открытых ключей заключена
в обеспечении конфиденциальности переговоров между двумя собеседниками
в большой группе пользователей. Для этого надо просто воспользоваться открытым
ключом адресата для кодирования предназначенных ему сообщений. Никто другой
не сможет прочесть закодированные таким способом сообщения.
По отношению к Internet это означает следующее. Частные лица и компании
получают личные ключи. Доступ же к соответствующим открытым ключам открывается
для всех желающих. Решив, например, приобрести товары, рекламируемые какой-либо
компанией в Web, покупатель может закодировать номер своей кредитной карточки
с помощью открытого ключа компании и отправить это сообщение по указанному
адресу. Для декодирования данных необходимо лишь знание личного ключа компании.
Проблема тут только в том, что покупатель должен знать открытый ключ компании.
СЕКРЕТНЫЕ ПЕРЕГОВОРЫ
Если ключ собеседника неизвестен, то для ведения кодированных переговоров по открытой телефонной линии можно использовать систему обмена ключами Диффи-Хеллмана, названную по именам ее создателей Уитфилда Диффи и Мартина Хеллмана.
Система Диффи-Хеллмана позволяет двум пользователям (или двум устройствам) договориться об использовании определенного ключа. При этом такие переговоры можно вести по открытой телефонной линии. Одно устройство посылает другому несколько больших чисел и фрагмент алгоритма, то выполняет ряд сложных вычислений и возвращает ответ. В свою очередь, первое устройство также выполняет ряд вычислений, возвращает ответ и так далее.
Получившийся ключ можно использовать как для кодирования, так и для декодирования пересылаемых данных. Схема Диффи-Хеллмана удобна тем, что сам ключ по линиям связи не передается, а подслушивать переговоры бесполезно, поскольку подслушанная информация не может помочь в подборе ключа.
Заметим, что схема Диффи-Хеллмана не предполагает идентификации пользователя. На противоположном конце линии может находиться кто угодно. При этом пользователь не должен вводить никаких уникальных идентификационных данных. Применение пароля и алгоритма идентификации пользователя повышает степень защищенности в схеме Диффи-Хеллмана.
ЧЕРНЫЙ ХОД НАДО ЗАПИРАТЬ
В качестве финального аккорда заметим, что все системы удаленного доступа по телефонным линиям предполагают использование определенного программного обеспечения. Например, имена пользователей, пароли и ключи должны храниться в базе данных, которая может располагаться либо на сервере, либо на устройстве удаленного доступа, либо на устройстве идентификации пользователей.
Некоторые производители выпускают комбинированные устройства для идентификации, контроля доступа и поддержки удаленного доступа с установленным на них программным обеспечением управления системой защиты данных. Эти изделия часто называют серверами защиты.
Помимо поддержки базы данных такая система должна, как минимум, обеспечивать мониторинг и генерацию отчетов. Мониторинг в реальном времени позволяет администраторам сети выявлять все необычные запросы на доступ к сети и странности при работе с сетью. Некоторые программные продукты обеспечивают подачу аварийных сигналов, что позволяет более оперативно реагировать на возможную угрозу со стороны.
Отчеты помогают сетевому администратору анализировать поведение пользователей с целью выявления странных или подозрительных моментов. Эти программные средства важны тем, что благодаря им несложно обнаружить попытки вторжения (удачные и неудачные) и принять ответные меры.
В данной статье были рассмотрены простейшие методы и технические средства обеспечения защиты данных при удаленном доступе по телефонным линиям. Мы надеемся, что понимание принципов их работы поможет лучше оценить качество предлагаемых на рынке продуктов. Напомним два важнейших фактора для выбора конкретной системы, учитывающих интересы пользователя и администратора сети: первый фактор - простота использования, второй - простота реализации и управления.
Применение системы защиты удаленного доступа по телефонным линиям можно сравнить с крепким замком для парадного входа. Не следует, однако, забывать, что злоумышленник может проникнуть в помещение с черного хода и даже через окно. Если обходные пути доступа к системе (например связь с Internet или личные модемы на рабочих станциях) не обеспечивают защиты данных, то и вышеописанные системы не смогут гарантировать безопасности.
С Ли Че можно связаться через Internet по адресу: lchae@mfi.com.