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