Атаки на уровне операционной системы

31 июля 2012

Организовать защиту операционной системы (ОС) намного сложнее, чем защиту системы управления базами данных (СУБД). Связано это в первую очередь с тем, что число защищаемых объектов достигает десятков и сотен типов, а число информационных потоков, требующих защиты, исчистляется на тысячи. Во-вторых операционная система имеет сложную внутреннюю структуру, в связи с чем задача создания адекватной политики безопасности гораздо сложнее, чем построение политики безопасности для СУБД.

Считается, что наиболее эффективные и опасные атаки на ОС организуются с помощью сложнейших программ, использующих последние достижения науки и техники. Однако, это не так! Искусство хакера заключается не в том, чтобы написать программу, которая взламывает любую защиту, а в том, чтобы найти уязвимое место в конкретной системе защиты и суметь им воспользоваться. Как правило, успех достигается при использовании простейших методов “влезания” в выявленные “дыры” в защите ОС. Чем проще алгоритм атаки, тем больше вероятность того, что атака пройдет успешно.

Существуют следующие наиболее распространенные виды атак, применимые к любым ОС:

    1. Кража ключевой информации:
  • компроментация пароля при вводе пользователем. Некоторые спецы могут определить вводимый пароль по движению рук по клавиатуре;
  • получение пароля из командного файла. Некоторые операционные системы при сетевой аутентификации допускают ввод пароля из командной строки, при этом если аутентификация происходит с использованием командного файла, то пароль пользователя присутствует в этом файле в явном виде;
  • некоторые пользователи, чтобы не забыть свой пароль, записывают его в записные книжки, на бумажки, которые затем приклеивают к нижней части клавиатуры, и т.д.;
  • перехват пароля программной закладкой.
2. Подбор пароля. Могут использоваться следующие методы:
  • неоптимизированный перебор;
  • перебор, оптимизированный по статистике встречаемости символов и биграмм;
  • перебор, оптимизированный с использованием словарей вероятных паролей;
  • перебор, оптимизированный с использованием знаний о пользователе. В этом случае в первую очередь опробуются пароли, использование которых пользователем представляется наиболее вероятным (имя, фамилия, дата рождения, номер телефона и т.д.);
  • перебор, оптимизированный с использованием знаний о подсистеме аутентификации ОС. Если ключевая система ОС допускает существование эквивалентных паролей, при переборе из каждого класса эквивалентности опробуется всего один пароль.
    Все эти методы могут применяться в совокупности.
    3. Сканирование носителей информации на ЭВМ. Хакер последовательно считывает файлы, хранящиеся на жестких дисках компьютера. Если при обращении к некоторому файлу или каталогу хакер получает отказ, он просто продолжает сканирование дальше. Если объем жесткого диска компьютера достаточно велик, можно быть уверенным, что при описании прав доступа к файлам и каталогам этого диска администратор допустил хотя бы одну ошибку. При применении этой атаки все файлы, для которых были допущены такие ошибки, будут прочитаны хакером. Несмотря на примитивность данной атаки, она во многих случаях оказывается весьма эффективной. Для ее реализации хакер должен быть легальным пользователем ОС. Если в ОС поддерживается адекватная (или близкая к адекватной) политика аудита, данная атака будет быстро выявлена, но если хакер организует атаку под чужим именем (именем пользователя, пароль которого известен хакеру), выявление этой атаки ничем ему не грозит.
    Данный метод можно применять не только для сканирования дисков локального компьютера, но и для сканирования разделяемых ресурсов локальной сети.
    4. “Сборка мусора”. Если в операционной системе допускается восстановление удаленных объектов, то хакер может воспользоваться и восстановить файлы среди которых могут быть и файлы содержащие требуемую информацию. Если для сборки мусора используется программная закладка, то мусор может быть собран и из оперативной памяти, что повышает шансы на получение интересуемрой информации.
    5. Превышение полномочий. Для этих целей используются ошибки программного обеспечения или администрирования операционной системы, при этом хакер получает в системе полномочия, превышающие предоставленные ему согласно текущей политике безопасности. Такое превышение полномочий может быть достигнуто:
  • запуск программы от имени пользователя, обладающего необходимыми полномочиями;
  • запуск программы в качестве системного программного обеспечения (драйвера, сервиса, демона и т.д.);
  • подмена динамически подгружаемой библиотеки, используемой системным ПО, или несанкционированное изменение переменных среды, описывающих путь к такой библиотеке;
  • модификация кода или данных.
    6. Атаки типа “отказ в обслуживании”. Целью данного типа атак яляется полный или частичный вывод операционной системы из строя:
  • захват ресурсов – программа захватывает все ресурсы ЭВМ, которые может получить(пример, программа присваивает себе наивысший приоритет и уходит в вечный цикл);
  • бомбардировка трудновыполнимыми запросами – программа постоянно направляет ОС запросы, требующих больших ресурсов;
  • бомбардировка заведомо бессмысленными запросами – программа постоянно направляет ОС случайно генерируемые запросы, что приводит в конечном счете к фатальной ошибке;
  • использование известных ошибок в ПО или администрировании ОС.

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

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

Если атака ОС не является конечной целью хакера, а используется как первый этап атаки АБС, наибольший интерес для хакера представляют файлы баз данных и файлы программного обеспечения, используемого СУБД. Поэтому АБС должна быть построена так, чтобы эти файлы не были доступны ни одному пользователю ОС рабочих станций. Доступ к БД должен быть возможен только через сервер базы данных. В противном случае хакер, преодолев защиту рабочей станции, сможет получить доступ к файлам БД.

В некоторых распределенных информационных системах в качестве серверов баз данных используются обычные файловые серверы. В этом случае пользователи СУБД могут получить доступ к файлам БД средствами операционной системы. Хакер, преодолев защиту ОС, также получит доступ к файлам БД. Хотя хакер не сможет использовать средства СУБД для доступа к внутренней структуре этих файлов, при наличии определенной квалификации это и не нужно – хакер сможет восстановить структуру базы данных вручную.

Для того чтобы хакер, преодолевший защиту ОС, не смог причинить серьезный ущерб информации, хранящейся в базе данных, распределенная СУБД должна иметь архитектуру клиент-сервер. При этом должны выполняться следующие требования:

  • на рабочую станцию передаются только те данные, которые запрошены пользователем;
  • файлы БД, хранящиеся на сервере, не являются разделяемыми с точки зрения ОС – разделение данных между пользователями имеет место только на уровне СУБД;
  • при сетевом взаимодействии рабочих станций и серверов баз данных не используются объектно-ориентированные сетевые протоколы (типа SMB).

Эти требования достаточно очевидны, но, как показывает опыт, далеко не всегда администраторы ими руководствуются.

На всех компьютерах, входящих в состав АБС, должны быть установлены достаточно защищенные операционные системы (UNIX, LINUX, Solaris и др., но не Windows). Для каждой операционной системы политика безопасности должна быть адекватной. При определении адекватной политики безопасности целесообразно ориентироваться на требования класса защиты C2 “Оранжевой книги”.

Рейтинг@Mail.ru