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