Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Подмена системных утилит и мониторинг в Х-Windows.



Кроме вышеописанных способов злоумышленники могут воспользоваться ошибками или слабостью программного обеспечения или подменить системные утилиты.

X-Windows предоставляет возможность удаленного подключения к компьютеру, поддерживающего графический интерфейс с пользователем, и передающего экранные образы, перемещения мыши и коды клавиш, нажатых пользователем, по сети. X-Windows имеет слабые возможности по обеспечению безопасности, которые часто обходятся пользователями для упрощения процесса соединения. Так из-за слабости защиты в операционной системе X-Windows с помощью специальной программы можно перехватить весь ввод с клавиатуры в некоторой X-сессии и получить имена пользователей и их пароли. Подмена же системных утилит позволяет злоумышленникам получить неограниченный доступ - 'черный ход' в систему. При этом многие подделки позволяют скрываться от программы учета процессов. Поскольку вход в систему осуществляется через 'черный ход', его присутствие не фиксируется в системных файлах регистрации.

При этом украсть с компьютера можно все. Начиная от текстового документа и заканчивая давно удаленным списком счетов в Швейцарском банке. Но в подавляющем большинстве крадут login и пароль для входа сеть. На это направлены большинство всех хакерских программ. Тем более что пароли эти в ОС хранятся без должной защиты. Чем же пользуются взломщики? Они используют возможность Windows, при установленной службе Microsoft доступа к файлам и каталогам, сделать эти файлы и каталоги общими, т.е. все ресурсы системы оказываются в полном распоряжении взломщиков. Что для этого нужно? Надо знать всего лишь IP-адрес атакуемой машины, а дальше - дело техники: надо просканировать машину на предмет открытых портов. В случае удачной атаки, взломщик получает контроль над машиной. С атакованной машиной можно сделать практически все. Наибольшую популярность среди взломщиков получила программа BackOrifice. Изначально задуманная как система удаленного администрирования, " модифицированный" BackOrifice отдает все ниточки управления атакуемой машины в руки хозяину. Работает следующим образом: после подмены системных библиотек, начинает следить за определенным портом, ожидая вызова от BackOrifice-клиента. При обнаружении вызова от клиента происходит его авторизация, устанавливается постоянная связь, и атакующий получает полное управление.

Замена программ исправленными версиями используется для маскировки своей работы в системе, например, как было отмечено ранее, запуска ломки паролей. Программы изменяются так что бы не показывать активность определенного пользователя, запускаемых им процессов, использование дискового пространства. Наиболее известным из пакетов программ для замены системных утилит в UNIX является RootKit. {RootKit SunOS, RootKit Linux}

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

Кроме того, получив однажды доступ к Вашей системе, взломщик попытается оставить себе лазейку, чтобы иметь возможность в любой момент вернуться. В Windows NT 4.0 каждый желающий может добавить в систему dll-библиотеку, которая будет перехватывать и записывать все изменения паролей. Она может сохранять информацию о паролях в доступном для взломщика месте, например, на Web-сервере компьютера, или даже посылать эти пароли взломщику по электронной почте. Этот факт хорошо известен, и для создания таких dll-библиотек существуют программные заготовки и примеры. Выявить подобную лазейку подчас очень трудно.

Ошибки программирования.

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

Интерференция (то есть непредусмотренное взаимодействие) данных между собой и данных с кодом является менее распространенным, но более опасным синдромом, чем описываемая ниже проблема ограничений по умолчанию. Практически единственным способом вызвать наслоение данных друг на друга либо данных на код программы является попытка дойти при операции записи до границы области памяти, отведенной под данный блок информации, и преодолеть ее – то есть умышленное переполнение буфера. Естественно, что это возможно только в тех ситуациях, когда программный код не производит проверки длины записываемого значения.

Для целых и дробных чисел, значений времени и тому подобных типов данных запись производится всегда в фиксированном объеме (2 байта, 4 байта, 10 байт). А вот для строк и массивов данных проверки длины перед операциями записи необходимы. Для того, чтобы заставить ЭВМ выполнить код или записать данные туда, куда у него нет прав записи, злоумышленник специально заставляет систему обрабатывать строки очень большой длины, либо помещать в массив количество элементов большее, чем его объем.

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

Проблема ограничений, которые разработчик программы считает само собой разумеющимися, но которые на самом деле могут не выполняться, встречается гораздо чаще, но реже приводит к каким-либо серьезным последствиям. Чаще всего результатом обработки подобных данных становится прерывание работы программы с сообщением об ошибке или просто " зависание". То есть данный класс атак используется с целью проведения атаки " отказ в сервисе".

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

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

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

Ошибки активно ищутся группами " хакеров" практически во всем более или менее распространенном ПО, однако, наибольшую известность приобретают, конечно, исследования программ, установленных почти у каждого пользователя. Так, например, в одной из недавних версий MicroSoft Internet Explorer'а была обнаружена ошибка, связанная с переполнением буфера, которая приводила к тому, что часть URL-адреса попадала на " исполнение" и трактовалась как последовательность команд процессора. При этом длины этого участка хватало, например, для того, чтобы загрузить на ЭВМ из сети троянскую программу и передать ей управление. В последующей версии ошибка была исправлена.

Программа ICQ – самый популярный электронный пейджер в сети Интернет – в очередной своей версии была снабжена своими создателями возможностью поддерживать миниатюрный WWW-сервер. Однако, ошибка в его реализации позволяла при добавлении слева точек в имени первого каталога получать доступ ко всем файлам жесткого диска – открывался полный (! ) сетевой доступ по чтению.

Многие атаки используют не только непосредственные ошибки в реализации ПО, но и непродуманные разработчиками аспекты использования стандартных возможностей программы. Так, пожалуй, самым ярким примером этого являются MACRO-вирусы в документах системы MicroSoft Office. Возможность исполнения макросов была встроена в эту систему из самых благих побуждений, но тот факт, что макросы могут запускаться на определенные события (например, открытие документа) и получать доступ на модификацию к другим документам, сразу же был использован создателями вирусов отнюдь не в благих целях.

К подобным же примерам следует отнести возможность запуска исполнимых DLL-файлов из HLP-файлов. Казалось бы, открывается безобидный текстовый файл справки, а оказывается он может честно инициировать вызов из прилагающейся DLL-библиотеки да еще и безо всякого уведомления об этом пользователя.

Вирусы.

Говоря о безопасности в современной сети, нельзя не упомянуть ставшую довольно острой в последнее время проблему компьютерных вирусов и " троянских коней".

Вирус – это программа-паразит, преднамеренно написанная для проникновения в компьютер без согласия или ведома пользователя.

Вирус возник путем скрещивания трех видов программ: " троянского коня", червя и логической бомбы.

Логическая бомба — это небольшая программа, спрятанная внутри большей программы. Обычно она представляет собой не более чем высказывание IF THEN (ЕСЛИ ТО). Что обычно представляет собой ТО, можно догадаться, исходя из самого названия — логическая бомба.

Классический пример логической бомбы был использован, когда один системный программист был уволен за неверно выполненную работу. Через несколько дней после его ухода главы фирмы получают от программиста послание: " Заплатите мне Х долларов до 31-го июля, и я сообщу вам, как спасти ваши программы и записи от полного уничтожения". Он инсталлировал логическую бомбу, которая взорвется в определенный день.

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

Вирус выполняет функции обеих вышеописанных программ. Программа (спрятанная, подобно " троянскому коню", внутри прикладной программы) саморазмножается, пока возможно, а затем взрывается (как логическая бомба).

Логические бомбы опасны, но, по крайней мере, известно, чего от них ждать. Вирусы же и черви, в отличие от логических бомб, не только опасны, но и непредсказуемы. Черви слишком деструктивны и бессмысленны. Но для взлома можно воспользоваться вирусом, при условии, что вирус не причинит вреда системе, самоуничтожаясь по мере своего продвижения, и ни разу не появится на одном и том же месте дважды.

Вирус добавляет себя к файлам или в загрузочные сектора, копируется, использует ресурсы хост-системы, распространяется и наносит ущерб. Хотя некоторые вирусы просто размножаются, другие могут стать причиной серьезных повреждений, нарушить работоспособность программ и снизить производительность системы.

Как следует из названия, " троянский конь" – это программа со скрытыми функциями, которая может делать что угодно. Примером служит командный файл, создающий видимость выхода из системы (logoff), в то время как на самом деле пользователь из нее не вышел. Таким образом, система остается открытой для злоумышленника. Наоборот, если " троянский конь" имитирует регистрацию в системе (logon), он может перехватывать имена пользователей и пароли.

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

" Троянские кони" могут делать многие вещи — собирать пароли, создавать ложные приглашения к входу в систему, лишать файлы защиты от чтения, записи, либо создавать впечатление фатального сбоя системы (logoff).

Подобная программа сама может отправлять результаты работы на заранее заданные сервера или анонимным пользователям, что резко упрощает саму процедур получения паролей хакером, и затрудняет поиск и доказательство его вины.

У нас в России, например, широкое распространение получила подобная троянская программа, подписывающаяся к самораспаковывающимся архивам.

Сканирование современными антивирусными программами может помочь в обнаружении " троянских" программ, но только тех из них, которые получили широкое распространение по стране. А, следовательно, программы, написанные злоумышленниками специально для атаки на Вашу систему, будут пропущены антивирусными программами без каких-либо сигналов.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 747; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь