Прикладные программы
Ошибки в прикладном программном обеспечении были и остаются основным
путем проникновения злоумышленника как на сервера, так и на рабочие
станции. Объективная причина этого разработка подобного ПО
различными группами разработчиков, которые просто не в состоянии
уделить должного внимания сетевой и локальной безопасности своего
продукта. И если фирмы-разработчики операционных систем тратят огромные
суммы на тщательные испытания поведения их программ в нестандартных
ситуациях, а также активно учитывают многолетний опыт своих же ошибок,
то для небольших фирм это просто не под силу, да и крайне невыгодно
экономически.
Ошибки активно ищутся группами "хакеров" практически во всем более
или менее распространенном ПО, однако, наибольшую известность приобретают,
конечно, исследования программ, установленных почти у каждого пользователя.
Так, например, в одной из недавних версий MicroSoft Internet Explorer'а
была обнаружена ошибка, связанная с переполнением буфера, которая
приводила к тому, что часть URL-адреса попадала на "исполнение"
и трактовалась как последовательность команд процессора. При этом
длины этого участка хватало, например, для того, чтобы загрузить
на ЭВМ из сети троянскую программу и передать ей управление. В последующей
версии ошибка была исправлена. Программа ICQ самый популярный
электронный пейджер в сети Интернет в очередной своей версии
была снабжена своими создателями возможностью поддерживать миниатюрный
WWW-сервер. Однако, ошибка в его реализации позволяла при добавлении
слева точек в имени первого каталога получать доступ ко всем файлам
жесткого диска открывался полный (!) сетевой доступ по чтению.
Многие атаки используют не только непосредственные ошибки в реализации
ПО, но и непродуманные разработчиками аспекты использования стандартных
возможностей программы. Так, пожалуй, самым ярким примером этого
являются MACRO-вирусы в документах системы MicroSoft Office. Возможность
исполнения макросов была встроена в эту систему из самых благих
побуждений, но тот факт, что макросы могут запускаться на определенные
события (например, открытие документа) и получать доступ на модификацию
к другим документам, сразу же был использован создателями вирусов
отнюдь не в благих целях.
К подобным же примерам следует отнести возможность запуска исполнимых
DLL-файлов из HLP-файлов. Казалось бы, открывается безобидный текстовый
файл справки, а оказывается он может честно инициировать вызов из
прилагающейся DLL-библиотеки да еще и безо всякого уведомления об
этом пользователя.
Моралью этого параграфа является правило "семь раз отмерь
один отрежь" на этапе разработки собственного программного обеспечения.
Назад | Содержание
| Вперед
|