Распространенные техники подбора паролей


NVT - это стандартное описание наиболее широко используемых возможностей реальных физических терминальных устройств. NVT позволяет описать и преобразовать в стандартную форму способы отображения и ввода информации.

Терминальная программа ("user") и процесс ("server"), работающий с ней, преобразовывают характеристики физических устройств в спецификацию NVT, что позволяет, с одной стороны, унифицировать характеристики физических устройств, а с другой обеспечить принцип совместимости устройств с разными возможностями. Характеристики диалога диктуются устройством с меньшими возможностями. Если взаимодействие осуществляется по принципу "терминал-терминал" или "процесс-процесс", то "user" - это сторона, инициирующая соединение, а "server" - пассивная сторона. Принцип договорных опций или команд позволяет согласовать возможности представления информации на терминальных устройствах. NVT - это минимально необходимый набор параметров, который позволяет работать по telnet даже самым допотопным устройствам, реальные современные устройства обладают гораздо большими возможностями представления информации. Принцип договорных команд позволяет использовать эти возможности. Например, NVT является терминалом, который не может использовать функции управления курсором, а реальный терминал, с которого осуществляется работа, умеет это делать. Используя команды договора, терминальная программа предлагает обслуживающему процессу использовать Esc-последовательности для управления выводом информации. Получив такую команду процесс начинает вставлять управляющие последовательности в данные, предназначенные для отображения.

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

В протоколе TELNET NVT определен как "двунаправленное символьное устройство, состоящее из принтера и клавиатуры". Принтер предназначен для отображения приходящей по сети информации, а клавиатура - для ввода данных, передаваемых по сети и, если включен режим "echo", вывода их на принтер. По умолчанию предполагается, что для обмена информацией используется 7-битовый US ASCII, каждый символ которого закодирован в 8-битовое поле. Любое преобразование символов является расширением стандарта NVT.

NVT предполагается буферизованным устройством. Это означает, что данные, вводимые с клавиатуры, не посылаются сразу по сети, а собираются в пакеты, которые отправляются либо по мере заполнения буфера, либо по специальной команде. Такая организация NVT призвана с одной стороны минимизировать сетевой трафик, а с другой обеспечить совместимость с реальными буферизованными терминалами. Например, таковым и являются терминалы ЕС-7920, из-за которых можно было потерять целый экран информации в случае зависания машины. В моменты окончания печати на принтере NVT или отсутствия символов в буфере клавиатуры по сети должна посылаться специальная команда GA (Go Ahead). Смысл этой команды заключается в следующем: в реальных компьютерах линия "терминал-процесс" находится под управлением либо терминальной программы (ввод данных), либо печатающей программы. После выполнения своей функции каждая из них возвращает управление и освобождает линию. Обычно это происходит при работе с полудуплексными устройствами, такими как IBM-2741. Для того, чтобы протокол позволял работать и с этими устройствами, введен сигнал GA.

Технологии несанкционированного доступа (НСД)

Рассмотрим обеспечение защиты ресурсов сервера от несанкционированного доступа (НСД):

· обеспечение безопасности при использовании серверов HTTP.

1. Чтение защищенных текстовых файлов.

Для решения этой задачи имеется достаточно много традиционных механизмов, встроенных в операционные системы. Проблема возникает, если администратор системы решит использовать для размещения WWW-файлов и FTP-архива одно и тоже дисковое пространство. В этом случае защищенные WWW-файлы окажутся доступными для "анонимного" FTP-доступа. Многие серверы разрешают создавать в дереве поддерживаемых ими документов "домашние" страницы пользователей с помощью методов POST и GET. Это значит, что пользователи могут изменять информацию на компьютере сервера. Данные, вводимые пользователем, передаются как тело ресурса при методе POST через стандартный ввод, а методе GET через переменные окружения. Разрешение создания файлов на сервере протокола HTTP создает потенциальную опасность доступа к защищенной информации лиц, не имеющих права доступа к ней. Решается эта проблема путем создания специальных файлов прав пользователей сервера WWW.

2. Проникновение в компьютерную систему через сервер WWW связано с CGI-скриптами. CGI-скрипт - это программа, которую сервер HTTP может запускать для реализации механизмов, не предусмотренных в протоколе.

Многие достаточно мощные информационные механизмы WWW реализованы посредством CGI-скриптов. К ним относятся:

· программы поиска по ключевым словам;

· программы реализации графических гипертекстовых ссылок – imagemap;

· программы сопряжения с системами управления базами данных и т.п.

При этом появляется возможность получить доступ к системным ресурсам. Обычно внешняя программа запускается с идентификатором пользователя, отличным от идентификатора сервера. Данный идентификатор указывается при конфигурировании сервера. Наиболее безопасным здесь является идентификатор пользователя nobody (65534). Основная опасность скриптов заключена в том, что данные в скрипт посылаются программой-клиентом. Для того, чтобы в качестве параметров не передавали "подозрительных" данных, многие серверы производят проверку параметров на наличие допустимых символов. Особенно опасны скрипты для тех, кто использует сервер на персональном компьютере с MS-Windows 3.1. В этом случае файловая система практически не защищена.

Одной из характерных для скриптов проблем является размер входных данных. Многие "умные" серверы обрезают слишком большие входные потоки и тем самым защищают скрипты от "поломки". Кроме перечисленных выше опасностей, порождаемых природой сети и системы WWW, существует еще одна, связанная с мобильными кодами. Мобильный код - это программа, которая может передаваться по сети для выполнения ее клиентом. Код встраивается в WWW-страницу при помощи тэга <APP ...> - application. Например, Sun выпустила WWW-клиента HotJava, который позволяет интерпретировать язык Java. Существуют клиенты и для других языков, Safe-Tcl для Tcl, например. Главное назначение таких средств - реализация мультимедийных страниц и реализация работы в rеal-time. Опасность применения такого сорта страниц очевидна, так как повторяет способ распространения различного сорта вирусов.

Практически любой сервер имеет механизм назначения паролей и прав доступа для различных пользователей, который базируется на схеме идентификации протокола HTTP 1.0. Данная схема предполагает, что программа-клиент посылает серверу идентификатор пользователя и пароль. Понятно, что такой механизм не обеспечивает защиты передаваемой по сети информации, и она может стать легкой добычей злоумышленников. Для того, чтобы этого не происходило, в рамках WWW ведется разработка других схем защиты. Они строятся на двух широко известных принципах: контроль доступа по IP-адресам и шифрация. Первый принцип реализован в программе типа "стена" (Firewall). Сервер разрешает обращаться к себе только с определенных IP-адресов и выполнять только определенные операции. Слабое место такого подхода с точки зрения WWW заключается в том, что обратиться могут через сервер-посредник, которому разрешен доступ к ресурсам защищенного первичного сервера. Поэтому применяют шифрование паролей и идентификаторов по аналогии с системой "Керберос". На принципе шифрования построен новый протокол SHTTP, который реализован в серверах Netsite (последние версии), Apachie и в новых серверах CERN и NCSA. Однако реально широкого применения это программное обеспечение еще не нашло и находится в стадии развития, а потому содержит достаточно большое количество ошибок.

Мнемонический пароль – это пароль, который легко вспомнить, используя мнемонический прием – скажем, создание пароля с использованием первых букв высказывания, которое легко запомнить, стихотворения или текста песни. Примером могут служить первые буквы каждого слова во фразе, такой как: «Наша Таня горько плачет, уронила в речку мячик», что в виде пароля будет выглядеть как «НТгпуврм».

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

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

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

Примерно та же проблема существует в сети Novell Netware - в ней сервер может поддерживать одновременно до 254 станций, и при наличии мощной системы идентификации аутентификация пакета ведется только по номеру станции. Это позволяет проводить следующую атаку - в присутствии в сети клиента-супервизора злоумышленнику достаточно послать 254 пакета с командой серверу, которую он хочет исполнить, перебрав в качестве псевдоотправителя все 254 станции. Один из отправленных пакетов совпадет с номером соединения, на котором находится клиент-супервизор и команда будет принята сервером к исполнению. Остальные 253 пакета будут проигнорированы.

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

Все это заставляет разработчиков защищенных систем постоянно помнить о простых и очевидных способах проникновения в систему и предупреждать их в комплексе.

 


РАЗДЕЛ 3. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ

ТЕМА 3.1. ПРОБЛЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ