Основные требования к информационной безопасности, основанные на анализе данного метода, следующие:
1. Вход всех пользователей в систему должен подтверждаться вводом уникального для клиента пароля.
2. Пароль должен тщательно подбираться так, чтобы его информационная емкость соответствовала времени полного перебора пароля. (Данная задача будет рассмотрена на практическом занятии). Для этого необходимо детально инструктировать клиентов о понятии "простой к подбору пароль", либо передать операцию выбора пароля в ведение инженера по безопасности.
3. Пароли по умолчанию должны быть сменены до официального запуска системы и даже до сколь либо публичных испытаний программного комплекса. Особенно это относится к сетевому программному обеспечению.
4. Все ошибочные попытки войти в систему должны учитываться, записываться в файл журнала событий и анализироваться через "разумный" промежуток времени. Если в системе предусмотрена возможность блокирования клиента либо всей системы после определенного количества неудачных попыток входа, этой возможностью необходимо воспользоваться. Если же Вы являетесь разработчиком системы безопасности, данную возможность несомненно необходимо предусмотреть, так как она является основным барьером к подбору паролей полным перебором. Разумно блокировать клиента после 3-ей подряд неправильной попытки набора пароля, и, соответственно, блокировать систему после K=max (int (N*0.1*3) +1,3) неудачных попыток входа за некоторый период (час, смену, сутки). В данной формуле N - среднее количество подключающихся за этот период к системе клиентов, 0.1 - 10% -ный предел "забывчивости пароля", 3 - те же самые три попытки на вспоминание пароля. Естественно, информация о блокировании клиента или системы должна автоматически поступать на пульт контроля за системой.
5. В момент отправки пакета подтверждения или отвержения пароля в системе должна быть установлена разумная задержка (2-5 секунд). Это не позволит злоумышленнику, попав на линию с хорошей связью до объекта атаки перебирать по сотне тысяч паролей за секунду.
6. Все действительные в системе пароли желательно проверять современными программами подбора паролей, либо оценивать лично администратору системы.
7. Через определенные промежутки времени необходима принудительная смена пароля у клиентов. Наиболее часто используемыми интервалами смены пароля являются год, месяц и неделя (в зависимости от уровня конфиденциальности информации и частоты входа в систему).
8. Все неиспользуемые в течение долгого времени имена регистрации должны переводиться в закрытое (недоступное для регистрации) состояние. Это относится к сотрудникам, находящимся в отпуске, на больничном, в командировке, а также к именам регистрации, созданным для тестов, испытаний системы и т.п.
9. От сотрудников и всех операторов терминала необходимо требовать строгое неразглашение паролей, отсутствие каких-либо взаимосвязей пароля с широкоизвестными фактами и данными, и отсутствие бумажных записей пароля "из-за плохой памяти".
Следующей по частоте использования является методика получения паролей из самой системы. Однако здесь уже нет возможности дать какие-либо общие рекомендации, поскольку все методы атаки зависят только от программной и аппаратной реализации конкретной системы. Основными двумя возможностями выяснения пароля являются несанкционированный доступ к носителю, содержащему их, либо использование недокументированных возможностей и ошибок в реализации системы.
Первая группа методов основана на том, что любой системе приходится где-либо хранить подлинники паролей всех клиентов для того, чтобы сверять их в момент регистрации. При этом пароли могут храниться как в открытом текстовом виде, как это имеет место во многих клонах UNIX, так и представленные в виде малозначащих контрольных сумм (хеш-значений), как это реализовано в ОС Windows, Novell NetWare и многих других. Проблема в том, что в данном случае для хранения паролей на носителе не может быть использована основная методика защиты - шифрование. Действительно, если все пароли зашифрованы каким-либо ключом, то этот ключ тоже должен храниться в самой системе для того, чтобы она работала автоматически, не спрашивая каждый раз у администратора разрешение "Пускать или не пускать пользователя Anton, Larisa, Victor и т.д.?". Поэтому, получив доступ к подобной информации, злоумышленник может либо восстановить пароль в читабельном виде (что бывает довольно редко), либо отправлять запросы, подтвержденные данным хеш-значением, не раскодируя его. Все рекомендации по предотвращению хищений паролей состоят в проверке не доступен ли файл с паролями, либо таблица в базе данных, хранящая эти пароли, кому-либо еще кроме администраторов системы, не создается ли системой резервных файлов, в местах доступных другим пользователям и т.п. В принципе, поскольку кража паролей является самым грубым вторжением в систему, разработчики уделяют ей довольно пристальное внимание, и соблюдения всех рекомендаций по использованию системы обычно достаточно для предотвращения подобных ситуаций.
Получение доступа к паролям благодаря недокументированным возможностям систем встречается в настоящее время крайне редко. Ранее эта методика использовалась разработчиками намного чаще в основном в целях отладки, либо для экстренного восстановления работоспособности системы. Но постепенно с развитием, как технологий обратной компиляции, так и информационной связанности мира она постепенно стала исчезать. Любые недокументированные возможности рано или поздно становятся известными, после чего новость об этом с головокружительной быстротой облетает мир и разработчикам приходится рассылать всем пользователям скомпрометированной системы "программные заплатки" либо новые версии программного продукта. Единственной мерой профилактики данного метода является постоянный поиск на серверах, посвященных компьютерной безопасности, объявлений обо всех неприятностях с программным обеспечением, установленным в Вашем учреждении. Для разработчиков же необходимо помнить, что любая подобная встроенная возможность может на порядок снизить общую безопасность системы, как бы хорошо она не была завуалирована в коде программного продукта.
Следующей распространенной технологией получения паролей является копирование буфера клавиатуры в момент набора пароля на терминале. Этот метод используется редко, так для него необходим доступ к терминальной машине с возможностью запуска программ. Но если злоумышленник все-таки получает подобный доступ, действенность данного метода очень высока:
1. Работа программы-перехватчика паролей (так называемого "троянского коня") на рабочей станции незаметна.
2. Подобная программа сама может отправлять результаты работы на заранее заданные сервера или анонимным пользователям, что резко упрощает саму процедуру получения паролей хакером, и затрудняет поиск и доказательство его вины. У нас в России, например, широкое распространение получила подобная троянская программа, подписывающаяся к самораспаковывающимся архивам.
Двумя основными методами борьбы с копированием паролей являются:
адекватная защита рабочих станций от запуска сторонних программ:
а) отключение сменных носителей информации (гибких дисков),
б) специальные драйверы, блокирующие запуск исполнимых файлов без ведома оператора, либо администратора,
в) мониторы, уведомляющие о любых изменениях системных настроек и списка автоматически запускаемых программ,
очень мощная, но неудобная мера - система единовременных паролей (при каждой регистрации в системе клиентам с очень высоким уровнем ответственности самой системой генерируется новый пароль).
Сканирование современными антивирусными программами также может помочь в обнаружении "троянских" программ, но только тех из них, которые получили широкое распространение по стране. А следовательно, программы, написанные злоумышленниками специально для атаки на Вашу систему, будут пропущены антивирусными программами без каких-либо сигналов.
Следующий метод получения паролей относится только к сетевому программному обеспечению. Проблема заключается в том, что во многих программах не учитывается возможность перехвата любой информации, идущей по сети - так называемого сетевого трафика. Первоначально, с внедрением локальных компьютерных сетей так оно и было. Сеть располагалась в пределах 2-3 кабинетов, либо здания с ограниченным физическим доступом к кабелям. Однако, стремительное развитие глобальных сетей затребовало на общий рынок те же версии программного обеспечения без какого-либо промедления для усиления безопасности. Теперь мы пожинаем плоды этой тенденции. Более половины протоколов сети Интернет передают пароли в нешифрованном виде - открытым текстом. К ним относятся протоколы передачи электронной почты SMTP и POP3, протокол передачи файлов FTP, одна из схем авторизации на WWW-серверах.
Современное аппаратное и программное обеспечение позволяет получать всю информацию, проходящую по сегменту сети, к которому подключен конкретный компьютер, и анализировать ее в реальном масштабе времени. Возможны несколько вариантов прослушивания трафика:
1) это может сделать служащий компании со своего рабочего компьютера,
2) злоумышленник, подключившийся к сегменту с помощью портативной ЭВМ или более мобильного устройства. Наконец, трафик, идущий от Вас к Вашему партнеру или в другой офис по сети Интернет, технически может прослушиваться со стороны Вашего непосредственного провайдера, со стороны любой организации, предоставляющей транспортные услуги для сети Интернет (переписка внутри страны в среднем идет через 3-4 компании, за пределы страны - через 5-8). Кроме того, если в должной мере будет реализовываться план СОРМ (система оперативно-розыскных мероприятий в компьютерных сетях), то возможно прослушивание и со стороны силовых ведомств страны.