– статистическая идентификация. Эта атака позволяет получать конкретные значения тех полей базы данных, для которых доступна только статистическая информация. Основная идея заключается в том, чтобы так задать параметры запроса, что множество записей, по которым собирается статистика, включает в себя только одну запись. Для реализации атаки на СУБД хакер должен как минимум являться пользователем СУБД.
2.2 Возможные атаки на уровне ОС
Защитить операционную систему гораздо сложнее, чем СУБД. Это обусловлено тем, что число различных типов защищаемых объектов в современных ОС может достигать нескольких десятков, а число различных типов защищаемых информационных потоков – нескольких сотен. ОС имеет очень сложную внутреннюю структуру и поэтому задача построения адекватной политики безопасности для ОС решается значительно сложнее, чем для СУБД.
Распространено мнение, что наиболее эффективные и опасные атаки ОС организуются с помощью сложнейших программных средств, использующих последние достижения науки и техники. Считается, что хакер обязательно должен быть программистом высочайшей квалификации. На самом деле для преодоления защиты ОС вовсе не обязательно писать сложную программу. Искусство хакера заключается не в том, чтобы суметь написать программу, которая взламывает любую защиту, а в том, чтобы найти уязвимое место в конкретной системе защиты и суметь им воспользоваться. При этом наилучшие результаты достигаются при использовании самых простейших методов «влезания» в выявленные «дыры» в защите ОС. Чем проще алгоритм атаки, тем больше вероятность того, что атака пройдет успешно – возможности хакера по предварительному тестированию алгоритма атаки обычно сильно ограниченны.
Возможность практической реализации той или иной атаки на ОС в значительной мере определяется архитектурой и конфигурацией ОС. Тем не менее, существуют атаки, которые могут быть применены практически к любым операционным системам. К ним относятся следующие атаки:
Кража ключевой информации. Может реализовываться с использованием следующих методов:
– подсматривание пароля при вводе пользователем. Существуют люди, которые могут подсмотреть вводимый пароль, глядя только на движения рук по клавиатуре. Поэтому то, что обычно при вводе пароль не высвечивается на экране, не гарантирует невозможность компрометации пароля;
– получение пароля из командного файла. Некоторые ОС при сетевой аутентификации (подключении к серверу) допускают ввод пароля из командной строки. Если аутентификация происходит с использованием командного файла, пароль пользователя присутствует в этом файле в явном виде;
– некоторые пользователи, чтобы не забыть свой пароль, записывают его в записные книжки, на бумажки, которые затем приклеивают к нижней части клавиатуры, и т.д. Для злоумышленника узнать такой пароль не составляет никакого труда. Особенно часто такая ситуация имеет место, если администраторы заставляют пользователей использовать длинные, труднозапоминаемые пароли;
– кража внешнего носителя ключевой информации. Некоторые ОС допускают использование вместо паролей внешних носителей информации (ключевые дискеты. TouchMemory, SmartCardи т.д.). Использование внешних носителей повышает надежность защиты ОС, но в этом случае появляется угроза кражи носителя с ключевой информацией;
– перехват пароля программной закладкой.
Подбор пароля. Могут использоваться следующие методы:
– неоптимизированный перебор;
– перебор, оптимизированный по статистике встречаемости символов и биграмм;
– перебор, оптимизированный с использованием словарей вероятных паролей;
– перебор, оптимизированный с использованием знаний о пользователе. В этом случае в первую очередь опробуются пароли, использование которых пользователем представляется наиболее вероятным (имя, фамилия, дата рождения, номер телефона и т.д.);
– перебор, оптимизированный с использованием знаний о подсистеме аутентификации ОС. Если ключевая система ОС допускает существование эквивалентных паролей, при переборе из каждого класса эквивалентности опробуется всего один пароль.
Все эти методы могут применяться в совокупности. Если хакер не имеет доступа к списку пользователей ОС, подбор пароля пользователя представляет серьезную опасность только в том случае, когда пользователь использует тривиальный, легко угадываемый пароль. Если же хакер получает доступ к списку пользователей, хакер может осуществлять перебор, не имея прямого доступа к атакуемому компьютеру или сети (например, хакер может унести список пользователей ОС домой и запустить программу перебора паролей на своем домашнем компьютере). В этом случае за приемлемое время может быть подобран пароль длиной до 8–10 символов.
Сканирование жестких дисков компьютера. Хакер последовательно считывает файлы, хранящиеся на жестких дисках компьютера. Если при обращении к некоторому файлу или каталогу хакер получает отказ, он просто продолжаетсканирование дальше. Если объем жесткого диска компьютера достаточно велик, можно быть уверенным, что при описании прав доступа к файлам и каталогамэтого диска администратор допустил хотя бы одну ошибку. При применении этой атаки все файлы, для которых были допущены такие ошибки, будут прочитаны хакером. Несмотря на примитивность данной атаки, она во многих случаяхоказывается весьма эффективной. Для ее реализации хакер должен бытьлегальным пользователем ОС. Если в ОС поддерживается адекватная (или близкая к адекватной) политика аудита, данная атака будет быстро выявлена, но если хакер организует атаку под чужим именем (именем пользователя, пароль которого известен хакеру), выявление этой атаки ничем ему не грозит. Данный метод можно применять не только для сканирования дисков локального компьютера, но и для сканирования разделяемых ресурсов локальной сети.
«Сборка мусора». Если в ОС допускается восстановление ранее удаленных объектов, хакер может воспользоваться этой возможностью для восстановления объектов, удаленных другими пользователями. В простейшем случае хакеру достаточно просмотреть чужую «мусорную корзину». Если хакер использует для сборки мусора программную закладку, он может «собирать мусор» не только на дисках компьютера, но и в оперативной памяти.
Превышение полномочий. Используя ошибки в программном обеспечении илиадминистрировании ОС, хакер получает в системе полномочия, превышающие предоставленные ему согласно текущей политике безопасности. Превышение полномочий может быть достигнуто следующими способами:
- запуск программы отименипользователя, обладающего необходимыми полномочиями;
– запуск программы в качестве системной программы (драйвера, сервиса, демона и т.д.), выполняющейся от имени ОС;
– подмена динамически подгружаемой библиотеки, используемой системными программами, или несанкционированное изменение переменных среды, описывающих путь к такой библиотеке;
– модификация данных подсистемы защиты ОС.
Атаки класса «отказ в обслуживании». Эти атаки нацелены на полный или частичный вывод ОС из строя. Существуют следующие атаки данного класса:
– захват ресурсов – программа захватывает все ресурсы компьютера, которые может получить. Например, программа присваивает себе наивысший приоритет и уходит в вечный цикл;
– бомбардировка трудновыполнимыми запросами – программа в вечном цикле направляет операционной системе запросы, выполнение которых требует больших затрат ресурсов компьютера;
– бомбардировка заведомо бессмысленными запросами – программа в вечном цикленаправляет операционной системе заведомо бессмысленные (обычно случайногенерируемые) запросы. Рано или поздно в ОС происходит фатальная ошибка;
– использование известных ошибок в программном обеспечении или администрировании ОС.
3. Возможные атаки на уровне сети
На уровне сетевого программного обеспечения возможны следующие атаки на АБС:
Прослушивание канала (возможно только в сегменте локальной сети). Практически все сетевые карты поддерживают возможность перехвата пакетов, передаваемых по общему каналу локальной сети. При этом рабочая станция может принимать пакеты, адресованные другим компьютерам того же сегмента сети. Таким образом, весь информационный обмен в сегменте сети становится доступным хакеру. Для успешной реализации этой атаки компьютер хакера должен располагаться в том же сегменте локальной сети, что и атакуемый компьютер.
Перехват пакетов на маршрутизаторе Сетевое программное обеспечение маршрутизатора имеет доступ ко всем сетевым пакетам, передаваемым через данный маршрутизатор, что позволяет осуществлять перехват пакетов. Для реализации этой атаки хакер должен иметь привилегированный доступ хотя бы к одному маршрутизатору сети. Поскольку через маршрутизатор обычно передается очень много пакетов, тотальный их перехват практически невозможен. Однако отдельные пакеты вполне могут быть перехвачены и сохранены для последующего анализа хакером. Наиболее эффективен перехват пакетов FTP, содержащих пароли пользователей, а также электронной почты.
Создание ложного маршрутизатораХакер отправляет в сеть пакеты определенного вида, в результате чего компьютер хакера становится маршрутизатором и получает возможность осуществлять предыдущую угрозу. Ложный маршрутизатор необязательно заметен всем компьютерам сети – можно создавать ложные маршрутизаторы для отдельных компьютеров сети и даже для отдельных соединений.
Навязывание пакетов Хакер отправляет в сеть пакеты с ложным обратным адресом. С помощью этой атаки хакер может переключать на свой компьютер соединения, установленные между другими компьютерами. При этом права доступа хакера становятся равными правам того пользователя, чье соединение с сервером было переключено на компьютер хакера.