1.3 Формы атак на объекты информационных систем
Формы атак. В общем случае программное обеспечение любой информационной системы состоит из трех основных компонентов: операционной системы, сетевого программного обеспечения (СПО) и системы управления базами данных (СУБД). Поэтому все попытки взлома защиты ИС на уровне программного обеспечения можно разделить на три группы.
Атаки на уровне программного обеспечения:
• атаки на уровне систем управления базами данных;
• атаки на уровне операционной системы;
• атаки на уровне сетевого программного обеспечения.
Рассмотрим их по отдельности.
Атаки на уровне систем управления базами данных
Защита СУБД является одной из самых простых задач. Это связано с тем, что СУБД имеют строго определенную внутреннюю структуру и операции над элементами СУБД заданы довольно четко.
Есть четыре основных действия – поиск, вставка, удаление и замена элемента. Другие операции являются вспомогательными и применяются достаточно редко. Наличие строгой структуры и четко определенных операций упрощает решение задачи защиты СУБД. В большинстве случаев злоумышленники предпочитают взламывать защиту информационной системы на уровне операционной системы и получать доступ к файлам СУБД с помощью средств операционной системы. Однако в случае, если используется СУБД, не имеющая достаточно надежных защитных механизмов, или плохо протестированная версия СУБД, содержащая ошибки, или если при определении политики безопасности администратором СУБД были допущены ошибки, то становится вполне вероятным преодоление защиты, реализуемой на уровне СУБД. Кроме того,
Имеются два специфических сценария атаки на СУБД, для защиты от которых требуется применять специальные методы.
В первом случае результаты арифметических операций над числовыми полями СУБД округляются в меньшую сторону, а разница суммируется в некоторой другой записи СУБД (как правило, эта запись содержит личный счет злоумышленника в банке, а округляемые числовые поля относятся к счетам других клиентов банка). Во втором случае злоумышленник получает доступ к полям записей СУБД, для которых доступной является только статистическая информация Идея атаки на СУБД – так хитро сформулировать запрос, чтобы множество записей, для которого собирается статистика, состояло только из одной записи.
Атаки на уровне операционной системы.
Защищать операционную систему, в отличие от СУБД, гораздо сложнее.
Дело в том, что внутренняя структура современных операционных систем чрезвычайно сложна, и поэтому соблюдение адекватной политики безопасности является значительно более трудной задачей.
Успех реализации того или иного алгоритма атаки на практике в значительной степени зависит от архитектуры и конфигурации конкретной операционной системы, являющейся объектом этой атаки. Однако имеются атаки, которым может быть подвергнута практически любая операционная система.
Атаки на уровне операционных систем - кража пароля (1):
- подглядывание за пользователем, когда тот вводит пароль, дающий право на работу с операционной системой, даже если во время ввода пароль не высвечивается на экране дисплея, злоумышленник может легко узнать пароль, просто следя за перемещением пальцев пользователя по клавиатуре.
Атаки на уровне операционных систем - кража пароля (2):
- получение пароля из файла, в котором этот пароль был сохранен пользователем, не желающим затруднять себя вводом пароля при подключении к сети.
Как правило, такой пароль хранится в файле в незашифрованном виде.
Атаки на уровне операционных систем - кража пароля (3):
- поиск пароля, который пользователи, чтобы не забыть, записывают на календарях, в записных книжках или на оборотной стороне компьютерных клавиатур и т.д.
Особенно часто подобная ситуация встречается, если администраторы заставляют пользователей применять трудно запоминаемые пароли.
Атаки на уровне операционных систем - кража пароля (4):
- кража внешнего носителя парольной информации (дискеты или электронного ключа, на которых хранится пароль пользователя, предназначенный для входа в операционную систему).
А также
- полный перебор всех возможных вариантов пароля;
- подбор пароля по частоте встречаемости символов, с помощью словарей наиболее часто применяемых паролей, с привлечением знаний о конкретном пользователе – его имени, фамилии, номера телефона, даты рождения и т.д., с использованием сведений о существовании эквивалентных паролей, при этом из каждого класса опробуется всего один пароль, что может значительно сократить время перебора.
Атаки на уровне операционных систем (5):
Сканирование жестких дисков компьютера.
Злоумышленник последовательно пытается обратиться к каждому файлу, хранимому на жестких дисках компьютерной системы, если объем дискового пространства достаточно велик, можно быть вполне уверенным, что при описании доступа к файлам и каталогам администратор допустил хотя бы одну ошибку, в результате чего все такие каталоги и файлы будут прочитаны злоумышленником.
Атаки на уровне операционных систем (6):
Сборка “мусора” (если средства операционной системы позволяют восстанавливать ранее удаленные объекты, злоумышленник может воспользоваться этой возможностью).
Атаки на уровне операционных систем (7):
Превышение полномочий (используя ошибки в программном обеспечении или в администрировании операционной системы, злоумышленник получает полномочия администратора).
В их число входят:
- запуск программы от имени пользователя, имеющего необходимые полномочия, или в качестве системной программы (драйвера, сервиса, и т.д.);
- подмена динамически загружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к таким библиотекам;
- модификация кода или данных подсистемы защиты самой операционной системы.
Атаки на уровне операционных систем (7):
Отказ в обслуживании (целью этой атаки является частичный или полный вывод из строя операционной системы).
В их число входят:
- захват ресурсов (программа злоумышленника производит захват всех имеющихся в операционной системе ресурсов, а затем входит в бесконечный цикл);
- бомбардировка запросами (программа злоумышленника постоянно направляет операционной системе запросы, реакция на которые требует привлечения значительных ресурсов компьютера);
- использование ошибок в программном обеспечении или администрировании.
Если в программном обеспечении компьютерной системы нет ошибок, и ее администратор строго соблюдает политику безопасности, рекомендованную разработчиками операционной системы, то атаки всех перечисленных типов малоэффективны. Дополнительные меры, которые должны быть предприняты для повышения уровня безопасности, в значительной степени зависят от конкретной операционной системы, под управлением которой работает данная компьютерная система. Тем не менее приходится признать, что вне зависимости от предпринятых мер полностью устранить угрозу взлома компьютерной системы на уровне операционной системы невозможно. Поэтому политика обеспечения безопасности должна проводиться так, чтобы, даже преодолев защиту, создаваемую средствами операционной системы, хакер не смог нанести серьезного ущерба.
Атаки на уровне сетевого программного обеспечения (СПО) – оно является наиболее уязвимым, потому что канал связи, по которому передаются сообщения, чаще всего не защищен, и всякий, кто имеет доступ к этому каналу, может перехватывать сообщения и отправлять свои собственные. Поэтому на уровне СПО возможны следующие атаки.
Атаки на уровне СПО (1):
Прослушивание сегмента локальной сети (в пределах одного и того же сегмента локальной сети любой подключенный к нему компьютер в состоянии принимать сообщения, адресованные другим компьютерам).
Следовательно, если компьютер злоумышленника подсоединен к некоторому сегменту локальной сети, то ему становится доступен весь информационный обмен между компьютерами этого сегмента.
Атаки на уровне СПО (2):
Перехват сообщений на маршрутизаторе (если злоумышленник имеет привилегированный доступ к сетевому маршрутизатору, то он получает возможность перехватывать все сообщения).
Хотя тотальный перехват невозможен из-за слишком большого объема, чрезвычайно привлекательным для злоумышленника является выборочный перехват сообщений, содержащих пароли пользователей и их электронную почту).
А также -
• создание ложного маршрутизатора (путем отправки в сеть сообщений специального вида злоумышленник добивается, чтобы его компьютер стал маршрутизатором сети, после чего получает доступ ко всем проходящим через него сообщениям);
• навязывание сообщений (отправляя в сеть сообщения с ложным обратным сетевым адресом, злоумышленник переключает на свой компьютер уже установленные сетевые соединения и в результате получает права пользователей, чьи соединения обманным путем были переключены на компьютер злоумышленника);
• отказ в обслуживании (злоумышленник отправляет в сеть сообщения специального вида, после чего одна или несколько компьютерных систем, подключенных к сети, полностью или частично выходят из строя).
Программные закладки. Современная концепция создания компьютерных систем предполагает использование программных средств различного назначения в едином комплексе. Главным условием правильного функционирования такой компьютерной системы является обеспечение защиты от вмешательства в процесс обработки информации тех программ, присутствие которых в компьютерной системе не обязательно. Среди подобных программ, в первую очередь, следует упомянуть компьютерные вирусы. Однако имеются вредоносные программы еще одного класса. От них, как и от вирусов, следует с особой тщательностью очищать свои компьютерные системы. Это программные закладки, которые могут выполнять хотя бы одно из перечисленных ниже действий.
Программные закладки способны (1):
• вносить произвольные искажения в коды программ, находящихся в оперативной памяти компьютера (программная закладка первого типа).
Программные закладки способны (2):
• переносить фрагменты информации из одних областей оперативной или внешней памяти компьютера в другие (программная закладка второго типа).
Программные закладки способны (3):
• искажать выводимую на внешние компьютерные устройства или в канал связи информацию, полученную в результате работы других программ (программная закладка третьего типа).
Программная закладка – несанкционированно внедренная программа, осуществляющая угрозу информации.
Программные закладки можно классифицировать и по методу их внедрения в компьютерную систему.
Разновидности программных закладок (1):
• программно-аппаратные закладки, ассоциированные с аппаратными средствами компьютера.
Их средой обитания, как правило, является BIOS – набор программ, записанных в виде машинного кода в постоянном запоминающем устройстве – ПЗУ.
Разновидности программных закладок (2):
• загрузочные закладки, ассоциированные с программами начальной загрузки, которые располагаются в загрузочных секторах.
Из этих секторов в процессе выполнения начальной загрузки компьютер считывает программу, берущую на себя управление для последующей загрузки самой операционной системы.
Разновидности программных закладок (3):
• драйверные закладки, ассоциированные с драйверами.
Иначе говоря, с файлами, в которых содержится информация, необходимая операционной системе для управления подключенными к компьютеру периферийными устройствами.
Разновидности программных закладок (4):
• прикладные закладки, ассоциированные с прикладным программным обеспечением общего назначения (текстовые редакторы, утилиты, антивирусные мониторы и программные оболочки).
А также -
• исполняемые закладки, ассоциированные с исполняемыми программными модулями, содержащими код этой закладки (чаще всего эти модули представляют собой пакетные файлы, т.е. файлы, которые состоят из команд операционной системы, выполняемых одна за одной, как если бы их набирали на клавиатуре компьютера);
• закладки-имитаторы, интерфейс которых совпадает с интерфейсом некоторых служебных программ, требующих ввода конфиденциальной информации (паролей, криптографических ключей, номеров кредитных карточек);
• замаскированные закладки, которые маскируются под программные средства оптимизации работы компьютера (файловые архиваторы, дисковые дефрагментаторы) или под программы игрового и развлекательного назначения.
Чтобы программная закладка могла произвести какие-либо действия по отношению к другим программам или по отношению к данным, процессор должен приступить к исполнению команд, входящих в состав кода программной закладки. Это возможно только при одновременном соблюдении следующих условий.
Условия срабатывания программных закладок (1):
• программная закладка должна попасть в оперативную память компьютера.
Если закладка относится к первому типу, то она должна быть загружена до начала работы другой программы, которая является целью воздействия закладки, или во время работы этой программы.
Условия срабатывания программных закладок (2):
• работа закладки, находящейся в оперативной памяти, начинается при выполнении ряда условий, которые называются активизирующими.
С учетом замечания о том, что программная закладка должна быть обязательно загружена в оперативную память компьютера, можно выделить резидентные закладки (они находятся в оперативной памяти постоянно, начиная с некоторого момента и до окончания сеанса работы компьютера, т.е. до его перезагрузки или до выключения питания) и нерезидентные (такие закладки попадают в оперативную память компьютера аналогично резидентным, однако, в отличие от последних, выгружаются по истечении некоторого времени или при выполнении особых условий).
У всех программных закладок имеется одна важная общая черта: они обязательно выполняют операцию записи в оперативную или внешнюю память системы.
При отсутствии данной операции никакого негативного влияния программная закладка оказать не может. Для целенаправленного воздействия она должна выполнять и операцию чтения, иначе в ней может быть реализована только функция разрушения (например, удаление или замена информации в определенных секторах жесткого диска).
Выявление внедренного кода программной закладки заключается в обнаружении признаков его присутствия в компьютерной системе. Эти признаки можно разделить на следующие два класса.
Способы обнаружения присутствия программных закладок:
• качественные и визуальные;
• обнаруживаемые средствами тестирования и диагностики.
К качественным и визуальным признакам относятся ощущения и наблюдения пользователя компьютерной системы, который отмечает определенные отклонения в ее работе.
В этих ситуациях изменяется состав и длины файлов, старые файлы куда-то пропадают, а вместо них появляются новые, программы начинают работать медленнее или заканчивают свою работу слишком быстро, или вообще перестают запускаться. Несмотря на то, что суждение о наличии признаков этого класса кажется слишком субъективным, тем не менее, они часто свидетельствуют о наличии неполадок в компьютерной системе и, в частности, о необходимости проведения дополнительных проверок присутствия программных закладок.
Признаки, выявляемые с помощью средств тестирования и диагностики, характерны как для программных закладок, так и для компьютерных вирусов.
Например, загрузочные закладки успешно обнаруживаются антивирусными программами, которые сигнализируют о наличии подозрительного кода в загрузочном секторе диска. С инициированием статической ошибки на дисках хорошо справляется Disk Doctor, входящий в распространенный комплект утилит Norton Utilities, а средства проверки целостности данных на диске типа Adinf позволяют успешно выявлять изменения, вносимые в файлы программными закладками.
Конкретный способ удаления внедренной программной закладки зависит от метода ее внедрения в компьютерную систему.
Если это программно-аппаратная закладка, то следует перепрограммировать ПЗУ компьютера. Если это загрузочная, драйверная, прикладная, замаскированная закладка или закладка-имитатор, то можно заменить их на соответствующую загрузочную запись, драйвер, утилиту, прикладную или служебную программу, полученную от источника, заслуживающего доверия. Наконец, если это исполняемый программный модуль, то можно попытаться добыть его исходный текст, убрать из него имеющиеся закладки или подозрительные фрагменты, а затем заново откомпилировать.
Модели воздействия программных закладок на компьютеры
В модели перехват программная закладка внедряется в ПЗУ, системное или прикладное программное обеспечение и сохраняет всю или выбранную информацию.
Эта информация может вводиться с внешних устройств компьютерной системы или выводиться на эти устройства, а также - в скрытой области памяти локальной или удаленной компьютерной системы. Объектом сохранения, например, могут служить символы, введенные с клавиатуры (все повторяемые два раза последовательности символов), или электронные документы, распечатываемые на принтере.
Данная модель может быть двухступенчатой. На первом этапе сохраняются только, например, имена или начала файлов. На втором накопленные данные анализируются злоумышленником с целью принятия решения о конкретных объектах дальнейшей атаки.
Модель типа перехват может быть эффективно использована при атаке на защищенную операционную систему Windows NT/2000/XP. После старта Windows на экране компьютерной системы появляется приглашение нажать клавиши <Ctrl>+<Alt>+<Del>. После их нажатия загружается динамическая библиотека MSGINA.DLL, осуществляющая прием вводимого пароля и выполнение процедуры его проверки (аутентификации). Также существует простой механизм замены исходной библиотеки MSGINA.DLL на пользовательскую (для этого необходимо просто добавить специальную строку в реестр операционной системы Windows и указать местоположение пользовательской библиотеки). В результате злоумышленник может модифицировать процедуру контроля за доступом к компьютерной системе, работающей под управлением Windows NT/2000/XP.
В модели искажение программная закладка изменяет информацию, которая записывается в память компьютерной системы в результате работы программ, либо подавляет,/инициирует возникновение ошибочных ситуаций в компьютерной системе.
Можно выделить статическое и динамическое искажение. Статическое искажение происходит всего один раз.
При этом модифицируются параметры программной среды компьютерной системы, чтобы впоследствии в ней выполнялись нужные злоумышленнику действия. К статическому искажению относится, например, внесение изменений в файл AUTOEXEC.BAT операционной системы Windows 95/98, которые приводят к запуску заданной программы, прежде чем будут запущены все другие, перечисленные в этом файле.
Динамическое искажение заключается в изменении каких-либо параметров системных или прикладных процессов при помощи заранее активизированных закладок.
Динамическое искажение можно условно разделить на искажение на входе (когда на обработку попадает уже искаженный документ) и искажение на выходе (когда искажается информация, отображаемая для восприятия человеком или предназначенная для работы других программ).
В рамках модели “искажение” также реализуются программные закладки, действие которых основывается на инициировании или подавлении сигнала о возникновении ошибочных ситуаций в компьютерной системе, т.е. тех, которые приводят к отличному от нормального завершению исполняемой программы (предписанного соответствующей документацией).
Для инициирования статической ошибки на устройствах хранения информации создается область, при обращении к которой (чтение, запись, форматирование и т.п.) возникает ошибка, что может затруднить или блокировать некоторые нежелательные для злоумышленника действия системных или прикладных программ (например, не позволять корректно уничтожить конфиденциальную информацию на жестком диске).
При инициировании динамической ошибки для некоторой операции генерируется ложная ошибка из числа тех ошибок, которые могут возникать при выполнении данной операции. Например, для блокирования приема или передачи информации в компьютерной системе может постоянно инициироваться ошибочная ситуация “МОДЕМ ЗАНЯТ”.
Чтобы маскировать ошибочные ситуации, злоумышленники обычно используют подавление статической или динамической ошибки. Целью такого подавления часто является стремление блокировать нормальное функционирование компьютерной системы или желание заставить ее неправильно работать. Чрезвычайно важно, чтобы компьютерная система адекватно реагировала на возникновение всех без исключения ошибочных ситуаций, поскольку отсутствие должной реакции на любую ошибку эквивалентно ее подавлению и может быть использовано злоумышленником.
Разновидностью искажения является также модель типа троянский конь. В этом случае программная закладка встраивается в постоянно используемое программное обеспечение и по некоторому активизирующему событию вызывает возникновение сбойной ситуации в компьютерной системе.
Уборка мусора. Как известно, при хранении компьютерных данных на внешних носителях прямого доступа выделяется несколько уровней иерархии сектора, кластеры и файлы. Сектора являются единицами хранения информации на аппаратном уровне.
Кластеры состоят из одного или нескольких подряд идущих секторов. Файл – это множество кластеров, связанных по определенному закону.
Работа с конфиденциальными электронными документами обычно сводится к последовательности следующих манипуляций с файлами:
• создание;
• хранение;
• коррекция;
• уничтожение.
Для защиты конфиденциальной информации обычно используется шифрование. Основная угроза исходит отнюдь не от использования нестойких алгоритмов шифрования и “плохих” криптографических ключей, а от обыкновенных текстовых редакторов и баз данных, применяемых для создания и коррекции конфиденциальных документов. Дело в том, что
Офисные программные средства, как правило, в процессе функционирования создают в оперативной или внешней памяти компьютерной системы временные копии документов, с которыми они работают.
Естественно, все эти временные файлы выпадают из поля зрения любых программ шифрования и могут быть использованы злоумышленником для того, чтобы составить представление о содержании хранимых в зашифрованном виде конфиденциальных документов.
Важно помнить и о том, что при записи отредактированной информации меньшего объема в тот же файл, где хранилась исходная информация до начала сеанса ее редактирования, образуются так называемые “хвостовые” кластеры, в которых эта исходная информация полностью сохраняется. И тогда “хвостовые” кластеры не только не подвергаются воздействию программ шифрования, но и остаются незатронутыми даже средствами гарантированного стирания информации. Конечно, рано или поздно информация из “хвостовых” кластеров затирается данными из других файлов, однако по оценкам специалистов из “хвостовых” кластеров через сутки можно извлечь до 85%, а через десять суток – до 25–40% исходной информации.
Наблюдение и компрометация. Помимо перечисленных, существуют и другие модели воздействия программных закладок на компьютеры. В частности,
При использовании модели типа наблюдение программная закладка встраивается в сетевое или телекоммуникационное программное обеспечение.
Пользуясь тем, что подобное программное обеспечение всегда находится в состоянии активности, внедренная в него программная закладка может следить за всеми процессами обработки информации в компьютерной системе, а также осуществлять установку и удаление других программных закладок.
Модель типа компрометация позволяет получать доступ к информации, перехваченной другими программными закладками.
Например, инициируется постоянное обращение к такой информации, приводящее к росту соотношения сигнал/шум. А это, в свою очередь, значительно облегчает перехват побочных излучений данной компьютерной системы и позволяет эффективно выделять сигналы, сгенерированные закладкой типа компрометация, из общего фона излучения, исходящего от оборудования.
Троянские программы. Троянской программой (троянцем, или троянским конем) называется программа, которая, являясь частью другой программы, способна втайне от него выполнять дополнительные действия с целью причинения ущерба.
Таким образом, троянская программа – это особая разновидность программной закладки. Она дополнительно наделена функциями, о существовании которых пользователь даже не подозревает. Когда троянская программа выполняет эти функции, компьютерной системе наносится определенный ущерб.
Большинство троянских программ предназначено для сбора конфиденциальной информации.
Их задача чаще всего состоит в выполнении действий, позволяющих получить доступ к данным, которые не подлежат широкой огласке.
К таким данным относятся пользовательские пароли, регистрационные номера программ, сведения о банковских счетах и т.д.
Остальные троянцы создаются для причинения прямого ущерба компьютерной системе, приводя ее в неработоспособное состояние. К последним можно отнести, например, троянскую программу PC CYBORG, которая завлекала ничего не подозревающих пользователей обещаниями предоставить им новейшую информацию о борьбе с вирусом, вызывающим синдром приобретенного иммунодефицита (СПИД). Проникнув в компьютерную систему, PC CYBORG отсчитывала 90 перезагрузок этой системы, а затем прятала все каталоги на ее жестком диске и шифровала находящиеся там файлы.
В настоящее время троянские программы можно отыскать практически где угодно. Они написаны для всех без исключения операционных систем и для любых платформ.
Не считая случаев, когда троянские программы пишутся самими разработчиками программного обеспечения, троянцы распространяются тем же способом, что и компьютерные вирусы. Поэтому самыми подозрительными на предмет присутствия в них троянцев, в первую очередь, являются бесплатные и условно-бесплатные программы, скачанные из Internet, а также программное обеспечение, распространяемое на пиратских компакт-дисках.
В настоящее время существует целый ряд троянских программ, которые можно совершенно свободно скачать, подключившись к сети Internet.
Наибольшую известность среди троянских программ получили Adware.WinTaskAd, Hacktool, Adware.SyncroAd, Download.Trojan.
Средства борьбы с троянцами в операционных системах семейства Windows (95/98/NT/2000/XP) традиционно являются частью их антивирусного программного обеспечения. Поэтому, чтобы отлавливать Back Orifice, Net Bus, SubSeven и другие подобные им троянские программы, необходимо обзавестись самым современным антивирусом (например, программой Norton Antivirus 2005 компании Symantec, позволяющей обнаруживать присутствие в компьютерной системе наиболее распространенных троянцев и избавляться от них). Следует регулярно проверять свой компьютер на присутствие в нем вирусов.
Тем, кто хочет иметь в своем распоряжении утилиту, предназначенную именно для обнаружения троянцев в компьютерах, которые работают под управлением операционных систем семейства Windows, можно посоветовать обратить свои взоры на программу The Cleaner компании MooSoft Development (http://www.homestead.com/moosoft/ cleaner.html). Эта утилита может быть с успехом использована для борьбы с более чем четырьмя десятками разновидностей троянских программ.
Обзор средств борьбы с троянскими программами был бы далеко не полным, если обойти вниманием, недавно появившиеся на рынке программные пакеты, предназначенные для комплексной защиты от угроз, с которыми сталкиваются пользователи настольных компьютеров при работе в Internet. Одним из таких пакетов является eSafe Protect компании Aladdin Knowledge Systems.
Клавиатурные шпионы. Одна из наиболее распространенных разновидностей программных закладок – клавиатурные шпионы. Такие программные закладки нацелены на перехват паролей пользователей операционной системы, а также на определение их легальных полномочий и прав доступа к компьютерным ресурсам. Типовой клавиатурный шпион обманным путем завладевает пользовательскими паролями, а затем переписывает эти пароли туда, откуда их может без особого труда извлечь злоумышленник. Различия между клавиатурными шпионами касаются только способа, который применяется ими для перехвата пользовательских паролей. Соответственно все клавиатурные шпионы делятся на три типа – имитаторы, фильтры и заместители.
Имитаторы. Клавиатурные шпионы этого типа работают по следующему алгоритму.
Злоумышленник внедряет в операционную систему программный модуль, который имитирует приглашение пользователю зарегистрироваться для того, чтобы войти в систему.
Затем внедренный модуль (в принятой терминологии – имитатор) переходит в режим ожидания ввода пользовательского идентификатора и пароля. После того как пользователь идентифицирует себя и введет свой пароль, имитатор сохраняет эти данные там, где они доступны злоумышленнику. Далее имитатор инициирует выход из системы (что в большинстве случаев можно сделать программным путем), и в результате перед глазами у ничего не подозревающего пользователя появляется еще одно, но на этот раз уже настоящее приглашение для входа в систему. Некоторые имитаторы для убедительности выдают на экран монитора правдоподобное сообщение о якобы совершенной пользователем ошибке. Например, такое: “НЕВЕРНЫЙ ПАРОЛЬ. ПОПРОБУЙТЕ ЕЩЕ РАЗ”.
Написание имитатора не требует от его создателя каких-либо особых навыков. Злоумышленнику, умеющему программировать на одном из универсальных языков программирования (к примеру, на языке BASIC), понадобятся на это считанные часы. Единственная трудность, с которой он может столкнуться, состоит в том, чтобы отыскать в документации соответствующую программную функцию, реализующую выход пользователя из системы.
Перехват пароля зачастую облегчают сами разработчики операционных систем, которые не затрудняют себя созданием усложненных по форме приглашений пользователю зарегистрироваться для входа в систему.
Подобное пренебрежительное отношение характерно для большинства версий операционной системы UNIX, в которых регистрационное приглашение состоит из двух текстовых строк, выдаваемых поочередно на экран терминала:
login:
password:
Однако само по себе усложнение внешнего вида приглашения не создает для злоумышленника, задумавшего внедрить в операционную систему имитатор, каких-либо непреодолимых препятствий. Для этого требуется прибегнуть к более сложным и изощренным мерам защиты. В качестве примера операционной системы, в которой такие меры в достаточно полном объеме реализованы на практике, можно привести Windows NT/2000/XP.
Системный процесс WinLogon, отвечающий в операционной системе Windows NT/2000/XP за аутентификацию пользователей, имеет свой собственный рабочий стол – совокупность окон, одновременно видимых на экране дисплея. Этот рабочий стол называется столом аутентификации. Никакой другой процесс, в том числе и имитатор, не имеет доступа к рабочему столу аутентификации и не может расположить на нем свое окно.
После запуска Windows NT/2000/XP на экране компьютера возникает начальное окно рабочего стола аутентификации, содержащее указание нажать на клавиатуре клавиши <Ctrl>+<Alt>+<Del>.
Сообщение о нажатии этих клавиш передается только системному процессу WinLogon, а для остальных процессов, в частности для всех прикладных программ, их нажатие происходит совершенно незаметно. Далее производится переключение на другое, так называемое регистрационное окно рабочего стола аутентификации. В нем-то как раз и размещается приглашение пользователю ввести свое идентификационное имя и пароль, которые будут восприняты и проверены процессом WinLogon.
Для перехвата пользовательского пароля внедренный в Windows NT/2000/XP имитатор обязательно должен уметь обрабатывать нажатие пользователем клавиш <Ctrl>+<Alt>+<Del>. В противном случае произойдет переключение на регистрационное окно рабочего стола аутентификации, имитатор станет неактивным и не сможет ничего перехватить, поскольку все символы пароля, введенные пользователем, минуют имитатор и станут достоянием исключительно системного процесса WinLogon. Как уже говорилось, процедура регистрации в Windows NT устроена таким образом, что нажатие клавиш <Ctrl>+<Alt>+<Del> проходит бесследно для всех процессов, кроме WinLogon, и поэтому пользовательский пароль поступит именно ему.
Конечно, имитатор может попытаться воспроизвести не начальное окно рабочего стола аутентификации (в котором высвечивается указание пользователю одновременно нажать клавиши <Ctrl>+<Alt>+<Del>), а регистрационное (где содержится приглашение ввести идентификационное имя и пароль пользователя). Однако при отсутствии имитаторов в системе регистрационное окно автоматически заменяется на начальное по прошествии короткого промежутка времени (в зависимости от версии Window NT он может продолжаться от 30 с до 1 мин), если в течение этого промежутка пользователь не предпринимает никаких попыток зарегистрироваться в системе. Таким образом, сам факт слишком долгого присутствия на экране регистрационного окна должен насторожить пользователя Windows NT и заставить его тщательно проверить свою компьютерную систему на предмет наличия в ней программных закладок. Подводя итог сказанному,
Можно отметить, что степень защищенности Windows NT/2000/XP от имитаторов достаточно высока.
Рассмотрение защитных механизмов, реализованных в этой операционной системе, позволяет сформулировать два необходимых условия, соблюдение которых является обязательным для обеспечения надежной защиты от имитаторов:
• системный процесс, который при входе пользователя в систему получает от него соответствующие регистрационное имя и пароль, должен иметь свой собственный рабочий стол, недоступный другим процессам;
• переключение на регистрационное окно рабочего стола аутентификации должно происходить абсолютно незаметно для прикладных программ, которые к тому же никак не могут повлиять на это переключение (например, запретить его).
К сожалению, эти два условия ни в одной из операционных систем, за исключением Windows NT/2000/XP, не соблюдаются. Поэтому для повышения их защищенности от имитаторов можно порекомендовать воспользоваться административными мерами. Например, обязать каждого пользователя немедленно сообщать системному администратору о том, что вход в систему оказывается невозможен с первого раза, несмотря на корректно заданное идентификационное имя и правильно набранный пароль.
Фильтры “охотятся” за всеми данными, которые пользователь операционной системы вводит с клавиатуры компьютера.
Самые элементарные фильтры просто сбрасывают перехваченный клавиатурный ввод на жесткий диск или в какое-то другое место, к которому имеет доступ злоумышленник. Более изощренные программные закладки этого типа подвергают перехваченные данные анализу и отфильтровывают информацию, имеющую отношение к пользовательским паролям.
Фильтры являются резидентными программами, перехватывающими одно или несколько прерываний, которые связаны с обработкой сигналов от клавиатуры. Эти прерывания возвращают информацию о нажатой клавише и введенном символе, которая анализируется фильтрами на предмет выявления данных, имеющих отношение к паролю пользователя.
Изготовить подобного рода программную закладку не составляет большого труда. В операционных системах Windows 95/98 предусмотрен специальный программный механизм, с помощью которого в них решается ряд задач, связанных с получением доступа к вводу с клавиатуры, в том числе и проблема поддержки национальных раскладок клавиатур. К примеру, любой клавиатурный русификатор для Windows представляет собой, самый что ни на есть настоящий фильтр, поскольку призван перехватывать все данные, вводимые пользователем с клавиатуры компьютера. Нетрудно “доработать” его таким образом, чтобы вместе со своей основной функцией (поддержка национальной раскладки клавиатуры) он заодно выполнял бы и действия по перехвату паролей. При этом задача создания фильтра становится такой простой, что не требует наличия каких-либо специальных знаний у злоумышленника. Ему остается только незаметно внедрить изготовленную им программную закладку в операционную систему и умело замаскировать ее присутствие.
В общем случае можно утверждать, что если в операционной системе разрешается переключать клавиатурную раскладку во время ввода пароля, то для этой операционной системы возможно создание фильтра. Поэтому, чтобы обезопасить ее от фильтров, необходимо обеспечить выполнение следующих трех условий:
• во время ввода пароля переключение раскладок клавиатуры не разрешается;
• конфигурировать цепочку программных модулей, участвующих в работе с паролем пользователя, может только системный администратор;
• доступ к файлам этих модулей имеет исключительно системный администратор.
Соблюсти первое из этих условий в локализованных для России версиях операционных систем принципиально невозможно. Дело в том, что средства создания учетных пользовательских записей на русском языке являются неотъемлемой частью таких систем. Только в англоязычных версиях систем Windows NT/2000/XP и UNIX предусмотрены возможности, позволяющие поддерживать уровень безопасности, при котором соблюдаются все три перечисленные условия.
Заместители полностью или частично подменяют собой программные модули операционной системы, отвечающие за аутентификацию пользователей.
Подобного рода клавиатурные шпионы могут быть созданы для работы в среде практически любой многопользовательской операционной системы. Трудоемкость написания заместителя определяется сложностью алгоритмов, реализуемых подсистемой аутентификации, и интерфейсов между ее отдельными модулями. Также при оценке трудоемкости следует принимать во внимание степень документированности этой подсистемы. В целом можно сказать, что задача создания заместителя значительно сложнее задачи написания имитатора или фильтра. Поэтому фактов использования подобного рода программных закладок злоумышленниками пока отмечено не было. Однако в связи с тем, что в настоящее время все большее распространение получает операционная система Windows 2000/XP, имеющая мощные средства защиты от имитаторов и фильтров, в самом скором будущем от хакеров следует ожидать более активного использования заместителей в целях получения несанкционированного доступа к компьютерным системам.
Поскольку заместители берут на себя выполнение функций подсистемы аутентификации, перед тем как приступить к перехвату пользовательских паролей они должны выполнить следующие действия.
Для реализации своей деятельности заместители должны (1):
• подобно компьютерному вирусу внедриться в один или несколько системных файлов.
Для реализации своей деятельности заместители должны (2):
• использовать интерфейсные связи между программными модулями подсистемы аутентификации для встраивания себя, в цепочку обработки введенного пользователем пароля.
Для того чтобы защитить систему от внедрения заместителя, ее администраторы должны строго соблюдать адекватную политику безопасности. И что особенно важно, подсистема аутентификации должна быть одним из самых защищенных элементов операционной системы. Однако, как показывает практика, администраторы, подобно всем людям, склонны к совершению ошибок. А, следовательно, соблюдение адекватной политики безопасности в течение неограниченного периода времени является невыполнимой задачей. Кроме того, как только заместитель попал в компьютерную систему, любые меры защиты от внедрения программных закладок перестают быть адекватными, и поэтому необходимо предусмотреть возможность использования эффективных средств обнаружения и удаления внедренных клавиатурных шпионов. Это значит, что администратор должен вести самый тщательный контроль целостности исполняемых системных файлов и интерфейсных функций, используемых подсистемой аутентификации для решения своих задач.
Клавиатурные шпионы представляют реальную угрозу безопасности современных компьютерных систем.
Чтобы отвести эту угрозу, требуется реализовать целый комплекс административных мер и программно-аппаратных средств защиты. Надежная защита от клавиатурных шпионов может быть построена только тогда, когда операционная система обладает определенными возможностями, затрудняющими работу клавиатурных шпионов. Так как они были подробно описаны выше, не имеет смысла снова на них останавливаться. Однако необходимо еще раз отметить, что единственной операционной системой, в которой построение такой защиты, возможно, является Windows NT/2000/XP. Да и то с оговорками, поскольку все равно ее придется снабдить дополнительными программными средствами, повышающими степень ее защищенности. В частности, в Windows NT/2000/XP необходимо ввести контроль целостности системных файлов и интерфейсных связей подсистемы аутентификации.
Кроме того, для надежной защиты от клавиатурных шпионов администратор операционной системы должен соблюдать политику безопасности, при которой только администратор может:
• конфигурировать цепочки программных модулей, участвующих в процессе аутентификации пользователей;
• осуществлять доступ к файлам этих программных модулей;
• конфигурировать саму подсистему аутентификации.
... и нарушении режима защиты информации, несут ответственность в соответствии с уголовным, гражданским законодательством и законодательством об административных правонарушениях. 1.2 Методы и средства защиты информации в экономических информационных системах При разработке АИТ возникает проблема по решению вопроса безопасности информации, составляющей коммерческую тайну, а также безопасности ...
... информации и дезорганизации работы абонентских пунктов; - организационно-технические мероприятия, направленные на обеспечение сохранности конфиденциальных данных. 2. Основные методы и средства защиты информации в сетях Разобрать подробно все методы и средства защиты информации в рамках ВКР просто невозможно. Охарактеризую только некоторые из них. 2.1 Физическая защита информации К ...
... техники (высокая тактовая частота) применение программных методов также достаточно эффективно и очень часто применяется в средствах вычислительной техники наряду с другими программными средствами защиты информации. Применение криптографических методов в рамках сетевых протоколов позволяет также решать отдельные задачи других направлений обеспечения безопасности. При этом, эти средства могут не ...
... при этом избыточного тестирования файлов, не представляющих угрозу. время, затраченное на поддержание антивирусной защиты s типов информации, имеет вид: , (10) где-характеристики вычислительной системы для с-ого типа информации. Нахождение аналитического решения системы (10) сводится к нахождению оптимального режима защиты отдельно для каждого типа информации. Заключение. предлагаемый подход ...
0 комментариев