Атаки на уровне операционной системы
Защищать операционную систему, в отличие от СУБД, гораздо сложнее. Дело в том, что внутренняя структура современных операционных систем чрезвычайно сложна, и поэтому соблюдение адекватной политики безопасности является значительно более трудной задачей.
Конечно важно пользователю быть в курсе всех новинок в области компьютерной техники. Да и высокая квалификация - совсем не лишнее. Однако искусство нарушителя состоит отнюдь не в том, чтобы взламывать любую самую сложную компьютерную защиту. Нужно просто суметь найти слабое место в конкретной системе защиты. При этом простейшие методы взлома оказываются ничуть не хуже самых изощренных, поскольку, чем проще алгоритм атаки, тем больше вероятность ее завершения без ошибок и сбоев, особенно если возможности предварительного тестирования этого алгоритма в условиях, приближенных к боевым, весьма ограничены.
Успех реализации того или иного алгоритма атаки на практике в значительной степени зависит от архитектуры и конфигурации конкретной операционной системы, являющейся объектом этой атаки. Однако имеются атаки, которым может быть подвергнута практически любая операционная система:
■ кража пароля;
- подглядывание за пользователем, когда тот вводит пароль, дающий право на работу с операционной системой (даже если во время ввода пароль не высвечивается на экране дисплея, нарушитель может легко узнать пароль, просто следя за перемещением пальцев пользователя по клавиатуре);
- получение пароля из файла, в котором этот пароль был сохранен пользователем, не желающим затруднять себя вводом пароля при подключении к сети (как правило, такой пароль хранится в файле в незашифрованном виде);
- поиск пароля, который пользователи, чтобы не забыть, записывают на календарях, в записных книжках или на оборотной стороне компьютерных клавиатур (особенно часто подобная ситуация встречается, если администраторы заставляют пользователей применять трудно запоминаемые пароли);
- кража внешнего носителя парольной информации (дискеты или электронного ключа, на которых хранится пароль пользователя, предназначенный для входа в операционную систему);
- полный перебор всех возможных вариантов пароля;
- подбор пароля по частоте встречаемости символов и биграмм, с помощью словарей наиболее часто применяемых паролей, с привлечением знаний о конкретном пользователе - его имени, фамилии, номера телефона, даты рождения и т. д., с использованием сведений о существовании эквивалентных паролей, при этом из каждого класса опробуется всего один пароль, что может значительно сократить время перебора;
■ сканирование жестких дисков компьютера (нарушитель последовательно пытается обратиться к каждому файлу, хранимому на жестких дисках компьютерной системы; если объем дискового пространства достаточно велик, можно быть вполне уверенным, что при описании доступа к файлам и каталогам администратор допустил хотя бы одну ошибку, в результате чего все такие каталоги и файлы будут прочитаны нарушителем, для сокрытия следов нарушитель может организовать эту атаку под чужим, именем: например, под именем пользователя, пароль которого известен нарушителю);
■ сборка "мусора" (если средства операционной системы позволяют восстанавливать ранее удаленные объекты, нарушитель может воспользоваться этой возможностью, чтобы получить доступ к объектам, удаленным другими пользователями: например, просмотрев содержимое их "мусорных" корзин);
превышение полномочий (используя ошибки в программном обеспечении или в администрировании операционной системы, нарушитель получает полномочия, превышающие полномочия, предоставленные ему согласно действующей политике безопасности);
■ запуск программы от имени пользователя, имеющего необходимые полномочия, или в качестве системной программы (драйвера, сервиса, демона и т. д.);
подмена динамически загружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к таким библиотекам;
■ модификация кода или данных подсистемы защиты самой операционной системы;
■ отказ в обслуживании (целью этой атаки является частичный или полный вывод из строя операционной системы);
■ захват ресурсов (программа нарушителя производит захват всех имеющихся в операционной системе ресурсов, а затем входит в бесконечный цикл);
■ бомбардировка запросами (программа нарушителя постоянно направляет операционной системе запросы, реакция на которые требует привлечения значительных ресурсов компьютера);
■ использование ошибок в программном обеспечении или администрировании.
Если в программном обеспечении компьютерной системы нет ошибок и ее администратор строго соблюдает политику безопасности, рекомендованную разработчиками операционной системы, то атаки всех перечисленных типов малоэффективны. Тем не менее вне зависимости от предпринятых мер полностью устранить угрозу взлома компьютерной системы на уровне операционной системы невозможно. Поэтому политика обеспечения безопасности должна проводиться так, чтобы, даже преодолев защиту, создаваемую средствами операционной системы, нарушитель не смог нанести серьезного ущерба.