[ Alex WebKnacKer ] Хакинг и антихакинг - защита и нападение. Книги удк 004. 056. 5Alex WebKnacKer
Скачать 42.38 Mb.
|
Приложение D 359 каталоге. Между доменами могут быть установлены доверительные отношения, после чего каждому домену разрешается доступ к ресурсам другого домена. В отличие от доменной модели Windows NT 4, доверительные отношения могут устанавливаться автоматически при выполнении определенных операций, и эти отношения являются транзитивными и двунаправленными. Служба активного каталога хранит все данные о структуре сети в виде единого леса доменов, разделенного на сегменты. Сегменты отвечают за информацию определенного типа, например, относящуюся к настройкам служб, или инфор- мацию об определенном домене. Эта информация распределяется по контрол- лерам домена, но логически она хранится в виде централизованной структуры. В ее состав входит информация о пользователях и группах пользователей. В сетях Windows NT пользователи могли входить в локальные и глобальные группы. В Windows 2000 группы классифицируются следующим образом: существуют группы безопасности, применяемые для назначения прав и разрешений доступа, и группы дистрибуции, предназначенные для отправки сообщений. Группы безопасности подразделяются на следующие группы: локальные, локальные уровня домена и универсальные или глобальные уровня домена. Глобальные группы применяются для работы домена в смешанном режиме, когда он вклю- чает компьютеры Windows NT. Универсальные группы существуют, если домен содержит только компьютеры Windows 2000 и работает в основном режиме. Областью действия локальных групп по-прежнему являются отдельные компьютеры, локальных групп уровня домена - отдельные домены, глобальных и универсальных - все домены леса. В инфраструктуре AD управление пользо- вателями и группами реализуется с помощью консоли Active Directory Users and Computers (Active Directory - пользователи и компьютеры), оснастки Security Configuration and Analysis (Анализ и настройка безопасности) консоли ММС, и средствами настройки групповой политики систем Windows Для поиска и обновления информации об объектах в доменах Windows используется протокол LDAP (Lightweight Directory Access Protocol - Упрощенный протокол доступа к каталогам) На протоколе основана рабо- та инструментов администрирования объектами AD, обеспечивающих модифи- кацию, удаление и добавление объектов. Следует также учесть, что некоторые недостатки протокола LDAP служат основой для некоторых хакерских атак [3]. Более подробные сведения о средствах AD можно почерпнуть в книге [6] вместе с описанием настройки безопасности AD, администрирования групп и объектов AD. Здесь мы остановимся на обсуждении нового средства обеспечения сетевой безопасности, появившегося в системе Windows - IP-безопасности. 360 Быстро и легко. Хакинг и Сети при отсутствии системы защиты могут быть подвергнуты многочис- ленным атакам, выполняемым как изнутри локальной сети, так и извне, если лока- льная сеть имеет соединение с глобальной сетью, например, Интернетом. Некото- рые атаки носят пассивный характер и сводятся к мониторингу информации, циркулирующей в сети, другие - активный, направленный на повреждение или нарушение целостности информации или самой сети. Перечислим наиболее широко распространенные типы вторжения на сети ТСР/ЕР. • Подслушивание. Эти атаки используют уязвимость сети к перехвату сетевых пакетов аппаратными и программными средствами. Если передаваемая информация не зашифрована, ее конфиденциальность будет нарушена. На компьютерном сленге прослушивание называют (от «sniffing» - вынюхивание). • Искажение данных. В зависимости от своих целей, злоумышленник, перехвативший сетевые данные, может модифицировать их и отправить по назначению, причем сделать это скрытно от отправителя и получателя. • Фальсификация IP-адреса. В сети хост идентифицируется своим IP- адресом, указанным в IP-пакете (см. раздел «Протокол выше), который, в принципе, несложно подделать. Такая подмена IP-адресов может выпол- няться с различными целями, например, сокрытия источника сообщения, или для некорректной идентификации отправителя, позволяющей получить дос- туп к сетевым ресурсам. • Подбор паролей. Пароли - это основное средство управления доступом к сетевым ресурсам. Получив пароль любой учетной записи, злоумышленник получает все права доступа легитимного пользователя и, если эти права достаточны, может сделать с системой что угодно. Поэтому получение пароля - это заветная цель любого хакера. Основными способами похищения паролей, о которых мы еще поговорим далее в этой книге, - это словарная атака, прослушивание сети, взлом хранилищ паролей в компьютерах - базы данных SAM и системного реестра. • Атака DoS (Denial of Service - Отказ в обслуживании). Заключается в создании препятствий в работе системы, что приводит к отказу от обслу- живания обычных пользователей сети. Примером можно назвать направление на атакуемый сервер большого числа пакетов, перегружающих сетевой трафик. Целью злоумышленника может быть простой вандализм, либо такое вторжение может прикрывать другую атаку, проводимую под прикрытием хаоса, вызванного сбоями в работе сети. • Компрометация ключей. Шифрование передаваемых по сети данных компью- теры выполняют с помощью ключей, зависящих от применяемых крипто- Приложение D 361 графических средств. Поэтому раскрытие ключа шифрования означает по- терю конфиденциальности передаваемой по сети информации. При этом хакер сможет знакомиться с передаваемыми сообщениями и/или модифицировать их для достижения своих целей. • Атака на прикладном уровне. Такие атаки выполняются с целью получения контроля над приложением, запущенным на сетевом компьютере. Например, хакер может попытаться получить доступ к приложению удаленного адми- нистрирования компьютера (например, Если ему это удастся, хакер может сделать с компьютером что угодно - нарушить целостность хра- нимых данных или файлов операционной системы, ввести вирус, клавиа- турного шпиона, запустить сетевой анализатор для отслеживания трафика и так далее. Для защиты от всех этих атак были разработаны средства IP-безопасности, обеспечиваемые протоколом (Internet Protocol Security Протокол безопасности Интернета), представляющим собой набор открытых стандартов защиты соединений по IP-сетям средствами криптографии. Протокол IPsec наце- лен на защиту пакетов, передаваемых по сетям TCP/IP, и защиту сетей TCP/IP от перечисленных выше атак. Обсудим возможности, предоставляемые протоколом IPsec. Обзор IPsec Протокол IPsec опирается на концепцию защиты, исходящую из предположения, что среда передачи данных не защищена. Сетевые компьютеры, пересылающие пакеты IPsec от источника к получателю, не имеют никаких сведений об исполь- зовании протокола IPsec и могут, в принципе, вообще его не поддерживать. Таким образом, протокол IPsec может быть использован в локальных сетях с одноранговой и клиент-серверной организацией для передачи данных между маршрутизаторами и шлюзами глобальных сетей или в удаленных соединениях и частных сетях Интернета. Протокол IPsec позволяет преодолеть ограниченность обычных средств защиты, полагающихся, как правило, на защиту периметра локальной сети - бранд- мауэры, защищенные маршрутизаторы, средства аутентификации пользователей удаленного доступа. Защиту от внутренних атак указанные средства не обеспе- чивают, поскольку основаны на именах и паролях учетных записей пользо- вателей. Ясно, что защита периметра сети никак не воспрепятствует злоумыш- леннику, имеющему локальный доступ к компьютеру, с помощью различных программ (например, описанной в этой книге программы LC4) извлечь из него все пароли учетных записей и далее использовать для своих целей. С другой стороны, ограничение физического доступа к оборудованию локальной сети часто невозможно, поскольку кабели локальной сети могут иметь большую и располагаться в местах, препятствующих их 362 Быстро и легко. Хакинг и Антихакинг эффективной защите. Протокол позволяет преодолеть все эти проблемы - при его использовании компьютер шифрует все отправляемые данные, а полу- чатель - дешифрует. Поэтому при условии построения многоуровневой системы защиты, включающей ограничение физического доступа к компьютерам (но не к линиям передачи данных), защиту периметра и корректную настройку пользова- тельского доступа - протокол IPsec обеспечит всестороннюю защиту сетевых данных. Протокол IPsec защищает не сам канал передачи информации, а передаваемые по нему пакеты. Тем самым IPsec решает следующие задачи. • Неотрицаемость сообщений. Протокол IPsec поддерживает создание цифровой подписи передаваемого сообщения закрытым ключом отправителя, что обеспечивает невозможность отрицания авторства сообщения. • Аутентификация источника сообщения, обеспечиваемая поддержкой инфра- структуры открытого ключа (PKI), компьютер-отпра- витель на основе сертификата. • Конфиденциальность передаваемых данных, обеспечиваемая шифрованием информации криптостойкими алгоритмами DES и 3DES. • Защита целостности данных путем подписания передаваемых пакетов хэш- кодами аутентификации сообщения (Hash Message Authentication Codes). Коды НМАС вначале подсчитываются компьютером-отправителем сообщения, использующим специальный алгоритм и общий секретный ключ. Затем компьютер получатель повторно подсчитывает код НМАС и сравни- вает результат с полученным значением. Для подсчета НМАС используются криптостойкие алгоритмы MD5 и • Защита от повторного использования перехваченных пакетов с целью получения доступа к ресурсам. Для управления средствами защиты IPsec применяются правила политики IP- безопасности, что значительно упрощает развертывание IPsec на защищаемой системе. Политика IPsec применяется к локальным компьютерам, к домену и организационным подразделениям, созданным в активном каталоге. При настройке политики IPsec следует учесть правила безопасной работы, принятые в организации. Для этого в каждой политике IP-безопасности содержится неско- лько правил, применяемых к группам компьютеров или организационным подразделениям. Чтобы познакомится с практическими методами настройки политики IP-безо- пасности, можно обратиться к справочной системе Windows или к одному из многочисленных руководств (например, П Р И Л О Ж Е Н И Е Е. Криптография Криптография - древнейшая наука (или, быть может, искусство), изначально предназначенная для обеспечения сохранности и безопасности информации. Криптография бывает двух типов: та, которая помешает вашему коллеге по ра- боте читать вашу электронную почту, пользуясь вашим временным отсутствием, и та, которая помешает прочитать ваши файлы шпиону, работающему на прави- тельство недружественной державы. В чем их отличие? Система криптографи- ческой защиты компьютерной информации (называемая также криптосистемой) позволяет шифровать документ с помощью широко распространенной програм- мы, реализующей хорошо известный криптографический алгоритм. Надежной можно назвать только ту криптосистему, которая устоит перед попытками рас- крытия шифра (т.е. «взлома») любым специалистом, знакомым с криптографи- ческим алгоритмом, применяемым в криптосистеме, и имеющим доступ к доста- точно мощным вычислительным ресурсам. Обсудим некоторые основные лежащие в основе современных крип- тосистем. понятия и Согласно общепринятой терминологии, исходные данные, которые требуется скрыть, в криптографии называются открытым текстом. Для сокрытия инфор- мации средствами криптографии информация преобразуется в искаженный вид, причем так, что прочесть, т.е. извлечь исходные данные из искаженного текста, сможет лишь тот, кто знает использованный способ преобразования. Процесс преобразования исходных данных называется шифрованием, а полученные при этом искаженные данные - шифротекстом. Соответственно, обратное преобра- зование шифротекста в открытый текст называется дешифрованием. Специалисты по криптографии называются криптографами - это те люди, кото- рые владеют методами и способами шифрования исходных данных. Для вскры- тия шифротекстов используется другая наука - криптоанализ, а специалистов по этой науке называют криптологами (чаще всего это те же криптографы). Теперь немного математики (только не пугайтесь - на уровне средней школы). Будем обозначать открытый текст буквой О, а соответствующий шифротекст - буквой С. Тогда можно представить шифрование как функцию Е над открытым текстом, преобразующую его в шифротекст: Е ( О ) = С Обратный процесс дешифрования так же можно представить себе как функцию D над шифротекстом, преобразующую его в открытый текст. D ( C ) = 0 364 Быстро и легко. Хакинг и Антихакинг Для подсчета функции шифрования Е используется определенный алгоритм шифрования, а функции D - алгоритм дешифрования. Примером такого алго- ритма шифрования можно назвать замену буквы открытого текста буквой, от- стоящей на 3 позиции дальше по алфавиту. Это - один из древнейших алгорит- мов, применявшийся еще древнеримским императором Цезарем, именем кото- рого алгоритм и назван. Конечно, этот алгоритм примитивен и не представляет труда для взлома. Помимо обеспечения конфиденциальности информации, криптография исполь- зуется для решения дополнительных задач проверки подлинности (аутентифи- кации), целостности и неотрицания авторства отправляемых и получаемых со- общений. В самом деле, как может гонец доказать, что он принес именно то со- общения, которое было ему вручено, и именно тем отправителем, кого он назы- вает? Без решения таких важных вопросов секретное сообщение не будет иметь никакой цены. Вот что означают эти дополнительные задачи. • Аутентификация источника сообщения. Получатель сообщения должен иметь возможность установить автора полученного сообщения, а злоумыш- ленник - не иметь возможности выдать себя за автора. • Целостность. Получатель сообщения должен иметь возможность проверить, не было ли сообщение искажено в процессе доставки, а злоумышленник - не способен выдать ложное сообщение за подлинное. • Неотрицание авторства. Отправитель сообщения впоследствии не должен иметь возможности ложно отрицать авторство посланного сообщения. Все эти задачи криптография решает с помощью специальных криптографиче- ских алгоритмов. Алгоритмы и Криптографическим алгоритмом, или шифром, называют математическую функцию, применяемую для шифрования и дешифрирования информации. Вы- ше мы уже использовали две такие функции выполняющие, соответствен- но, шифрование и дешифрование информации. Конфиденциальность шифруемых сообщений можно обеспечить двумя спосо- бами. Во-первых, можно засекретить сам криптографический алгоритм. Однако это - весьма ограниченный подход, поскольку получаемая в результате крипто- система непригодна для использования группой пользователей - ведь, например, каждый раз при уходе сотрудника группы всем остальным придется переходить на новый алгоритм. Более того, при таком подходе нельзя обеспечить стандар- тизацию криптографических алгоритмов и применение стандартного программ- ного или аппаратного обеспечения шифрования/дешифрования. Поэтому засек- реченные криптографические алгоритмы называются ограниченными и обла- стью их применения остаются системы защиты с низким уровнем безопасности. Приложение Е 365 Другой способ, применяемый в современной криптографии, состоит в использо- вании ключа, обозначаемого буквой к и представляющего собой переменную математической функции, реализующей криптографический алгоритм. Ключ может использоваться в функциях как шифрования, так и дешифрирования. Смысл ключа таков: зная значение ключа, рассчитать функции шифрова- ния/дешифрования очень просто; не зная значение ключа, сделать это весьма затруднительно. Чтобы обеспечить такое свойство криптографических ключей, алгоритмы шиф- рования/дешифрования должны позволять использование ключей со значениями из большого называемого пространством ключей. Надежным крипто- графическим алгоритмом (называемым криптостойким) считается алгоритм, для взлома которого существует (или известен современной науке) всего один метод - простой перебор пространства ключей и проверка осмысленности получаемого результата. Добиться этого - первостепенная задача криптографии. Зависимость криптографических функций от ключа формально записывается указанием индекса к; при этом операции шифрования и дешифрования записы- ваются следующим образом. Ключи шифрования и дешифрирования в некоторых алгоритмах не совпадают, т.е. ключ шифрования отличается от парного ему ключа дешифрирования В таком случае операции шифрования и дешифрования записываются та- ким образом. Криптографический алгоритм, пространство ключей и все возможные открытые тексты и - все это вместе взятое и составляет криптосистему. Для оценки пригодности криптосистем к практическому использованию применяет- ся следующий основной принцип криптографии - надежность криптосистемы полностью зависит от ключей, а не от самих алгоритмов. Криптографический алгоритм может быть опубликован и представлен для криптоанализа всем заин- тересованным специалистам; программные реализации алгоритма могут быть доступными для широкого распространения - от этого надежность алгоритма не должна уменьшаться. Злоумышленник, даже досконально зная использованный для шифрования алгоритм, без знания ключа не должен иметь возможности прочитать сообщение. Криптографические алгоритмы с ключами подразделяются на два типа: симмет- ричные алгоритмы и алгоритмы с открытым ключом. 366 Быстро и легко. Хакинг и Антихакинг Симметричные алгоритмы Симметричными называют криптографические алгоритмы, в которых ключ шифрования вычисляется по ключу дешифрирования и наоборот. Как правило, в симметричных алгоритмах ключи шифрования и дешифрирования совпадают. Симметричные алгоритмы называют также алгоритмами с секретным ключом или алгоритмами с единым ключом. Довольно очевидно, что защита, обеспечи- ваемая симметричными алгоритмами, определяется всего одним ключом, рас- крытие (или которого означает потерю конфиденциальности информации. Ясно также, что для использования симметричного алгоритма вна- чале следует обменяться ключами, которые должны храниться в секрете; это - одна из основных проблем симметричных алгоритмов шифрования. Операции шифрования и дешифрирования с помощью симметричного алгорит- ма формально записываются следующим образом. Симметричные алгоритмы, в свою очередь, подразделяются по способу обра- ботки шифруемой/дешифруемой информации. Эта информация в компьютерном виде представляет собой последовательность двоичных кодов, хранимых в ад- ресном пространстве памяти компьютера. Каждый адрес памяти указывает на ма- шинное слово, разрядность которого зависит от типа компьютера. При шифрова- этой информации симметричные алгоритмы могут действо- вать двояким образом - обрабатывать ее последовательно, бит за битом (иногда байт за байтом), или также последовательно, но группами битов, называемых бло- ками. Поэтому симметричные алгоритмы подразделяются на потоковые алгорит- мы (или потоковые шифры) и блочные алгоритмы (или блочные шифры). В со- временных компьютерных алгоритмах типичный размер блока составляет 64 бита. |