Главная Статьи Новости Программы Наша рассылка RSS-каналы

Уязвимости в компьютерных программах

Уязвимости в компьютерных программахУязвимости программных приложений: краткое описание их источников и последствий для пользователей ПО

Со времен появления первых персональных компьютеров, эволюция в сфере разработки полезных программных продуктов была неразрывно связана с процессом параллельного совершенствования и «видовой радиации» вредоносного ПО. Современный пользователь уже не может быть настолько наивным, чтобы полагать, будто безопасность его компьютера можно обеспечить только за счет средств, предусмотренных конфигурацией его ОС или рабочих приложений. Напротив, следует говорить о бурном развитии особой «ИТ-индустрии страха», дающей огромный доход как изготовителям «малвари», так и разработчикам «противоядий» - патчей, сканеров, антивирусов и т.п. Как отражается данная ситуация на пользователях ПК? Среди прочего, она выражается в существовании постоянной угрозы прорыва уязвимых мест программного кода. «Слабые места», или уязвимости, могут возникать в силу разных факторов. Частой причиной служат ошибки, допущенные самими разработчиками. Такие ошибки могут спровоцировать сбой в работе программы, который, в свою очередь, способен привести к потере важной информации, нарушению целостности данных, коллапсу всей системы и, в некоторых случаях, даже повреждению аппаратной части компьютера.

От чего еще зависит уязвимость ПО? Существует версия, что на уязвимость программы в первую очередь влияет ее популярность, востребованность на рынке. Логика здесь проста: размер пользовательской аудитории задает вероятность проникновения «опасного агента», что, в конечном счете, влияет на привлекательность данного продукта для атак всевозможными взломщиками и вредителями. Так, по мнению ряда авторитетных компьютерных журналов, список наиболее уязвимых программ возглавляют такие «бренды», как программный пакет Adobe Acrobat Reader; утилиты Microsoft Office; проигрыватели Flash Player, Winamp; интернет-браузеры Internet Explorer и Mozilla Firefox; операционные системы Windows, MacOS и др. Обычным способом решения проблем при обходе ограничений безопасности, поддерживаемых приложением, является использование последних версий программ. Автоматическое обновление ПО и оперативная установка патчей позволяют ликвидировать «дыры» в программном коде, с помощью которых злоумышленники могут получить доступ к ресурсам пользователей.

Для наименования одного из классов вредоносных программ, «эксплуатирующих» слабые места других ИТ-продуктов, введен особый термин - «эксплойт» (от англ. exploit). Основная цель эксплойта – заражение атакуемой системы определенным «малваром». При этом действия эксплойта, как правило, остаются незаметными для пользователя. Эксплойты могут быть включены в файлы с различным форматом, например, в файлы изображений (TIFF, GIF, JPEG и др.) или же существовать отдельно, в частности, как скрипты, встроенные в «тело» веб-обозревателя.

Нередко целью злоумышленников является доступ к конфиденциальной информации. В этом случае недостаточная защита системы может обернуться колоссальными убытками, исчисляемыми миллионами и даже миллиардами долларов. Так, весьма печальными могут быть последствия уязвимости сервисов, используемых на сайтах банков и других финансовых учреждений: вкладки различных вредоносных порталов способны инициировать запуск окна, «имитирующего» дизайн банковского (при условии, если вкладки в браузере открыты одновременно), и, таким образом, передавать сведения о номере счета пользователя посторонним лицам. Известны случаи, когда компьютерная атака становится успешной благодаря банальным оплошностям программистов. Например, некорректная установка прав доступа в базы данных также делает удобным нарушение системы безопасности.

Другие последствия использования уязвимостей программ могут быть весьма разнообразны. Сюда следует отнести: получение неавторизованного доступа с помощью удаленного проникновения в компьютер; блокирование системы или отдельной программы с помощью вредоносных скриптов, реализуемых веб-браузерами; утечка паролей в зашифрованных файлах; возможность выделения различной конфиденциальной информации сетевыми анализаторами. Отдельную группу уязвимостей составляют «бреши» в почтовых приложениях и программах-клиентах для мгновенного обмена сообщениями. Большой популярностью по-прежнему пользуется взлом программ Microsoft Outlook и ICQ - с целью «массового саморазмножения» «малвара» путем рассылки по адресам контактов в списках адресных книг.

Вкратце рассмотрим классификацию основных видов уязвимостей, связанных с ошибками разработчиков ПО. Здесь можно выделить 3 наиболее распространенные причины: переполнение буфера, уязвимости испорченного ввода (которые также включают ошибки форматных строк) и уязвимости, возникающие в результате ошибок синхронизации. Суть первой проблемы заключается в том, что, при выполнении программы, происходит перенос данных из одной области памяти в другую, причем на втором участке памяти оказывается недостаточно. Вследствие этого часть данных оказывается за границами буфера, что приводит к ошибке в работе приложения и его аварийному завершению. За счет этого уязвимый программный процесс может быть использован для выполнения произвольного кода (широко известный пример вредоносной программы, работающей на основе принципа переполнения буфера – т.н. «червь Морриса»). Если, при вводе данных в программу, интерпретатор некого внешнего языка (например, SQL), вместо команды, предусмотренной разработчиками, выполняет совсем другую команду, имеет место уязвимость испорченного ввода. Одним из вариантов уязвимостей данного класса являются уязвимости, связанные с ошибками форматирования строк. Ошибки синхронизации являются источником другой проблемы – уязвимости, вызываемой подменой злоумышленником рабочих файлов программы, не приспособленной для работы в многозадачной среде.

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

Читайте также

Добавлено: 23 марта 2011 г. 22:13 Добавил: wozz.ru Просмотров: 3498

 
Поделитесь ссылкой с друзьями
 
Если вам понравился материал, то не забудьте его оценить:
 
Комментарии:
 
Добавить свой комментарий