Программные уязвимости

“Errare humanum est.” (Людям свойственно ошибаться.) Марк Туллий Цицерон, римский писатель, философ и государственный деятель

“Людям свойственно ошибаться, но катастрофы осуществимы только с помощью компьютера”. Пол Эрлих, Законы Мерфи

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

Предпринималось много попыток четко определить термин «уязвимость» и разделить два его значения. MITRE, исследовательская группа, финансируемая федеральным правительством США, занимающаяся анализом и разрешением критических проблем с безопасностью, разработала следующие определения:

Согласно терминологии MITRE CVE:

[...] Уязвимость —это состояние вычислительной системы (или нескольких систем), которое позволяет:

• исполнять команды от имени другого пользователя;

• получать доступ к информации, закрытой от доступа для данного пользователя;

• показывать себя как иного пользователя или ресурс;

• производить атаку типа «отказ в обслуживании».

В MITRE считают, что атака, производимая вследствие слабой или неверно настроенной политики безопасности, лучше описывается термином «открытость» (exposure).

Открытость —это состояние вычислительной системы (или нескольких систем), которое не является уязвимостью, но:

• позволяет атакующему производить сбор защищенной информации;

• позволяет атакующему скрывать свою деятельность;

• содержит возможности, которые работают корректно, но могут быть легко использованы в неблаговидных целях;

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

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

Наиболее распространенная в настоящее время на подключенных к интернету компьютерах операционная система Microsoft Windows содержит множественные опасные уязвимости. Чаще всего хакерами используются уязвимости в IIS, MS SQL и Internet Explorer, а также системах обработки файлов и сервисах сообщений самой операционной системы.

Уязвимость в IIS, подробно описанная в Microsoft Security Bulletin MS01-033, является одной из наиболее часто используемых уязвимостей Windows. В последние годы было написано множество сетевых червей, пользующихся данной уязвимостью, но одним из наиболее известных является CodeRed. CodeRed был впервые обнаружен 17 июля 2001 года, и, по некоторым оценкам, заразил около 300 тысяч компьютеров, помешал работе множества предприятий и нанес значительный финансовый ущерб компаниям по всему миру. Хотя Microsoft и выпустила вместе с бюллетенем MS01-033 патч, закрывающий используемую червем уязвимость, некоторые версии CodeRed до сих пор продолжают распространяться.

Сетевой червь Spida, обнаруженный спустя почти год после появления CodeRed, использовал для своего распространения открытость в MS SQL. Некоторые стандартные инсталляции MS SQL не защищали паролем системную учетную запись «SA», позволяя любому человеку с доступом к системе через сеть запускать на ней на исполнение произвольные команды. При использовании этой уязвимости, червь открывает учетной записи «Гость» полный доступ к файлам компьютера, после чего производит загрузку самого себя на заражаемый сервер.

Сетевой червь Slammer, обнаруженный в конце января 2003 года, использовал более простой способ заражения компьютеров под управлением Windows с работающим сервером MS SQL, а именно — уязвимость при переполнении буфера в одной из подпроцедур обработки UDP-пакетов. Поскольку червь был достаточно мал — всего 376 байт — и использовал протокол UDP, предназначенный для быстрой пересылки малых объемов данных, Slammer распространялся с невероятной скоростью. По некоторым оценкам, Slammer поразил порядка 75 тысяч компьютеров по всему миру за первые 15 минут эпидемии.

Три этих характерных сетевых червя использовали уязвимости и открытости в программах, работающих на разных версиях Microsoft Windows, в то время как обнаруженный 11 августа 2003 года червь Lovesan использовал для своего распространения гораздо более опасную уязвимость при переполнении буфера в одном из основных компонентов самой Windows. Эта уязвимость подробно описана в Microsoft Security Bulletin MS03-026.

Sasser, впервые появившийся в мае 2004 года, использовал еще одну уязвимость в компоненте ядра Windows, в службе Local Security Authority Subsystem Service (LSASS). Информация об этой уязвимости была опубликована в Microsoft Security Bulletin MS04-011. Sasser распространялся молниеносно и заразил миллионы компьютеров, причинив огромный финансовый ущерб.

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

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

Вот пример того, как выглядит результат работы службы finger:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: