Укрощение @Интернет@

Источник угрозы


Можно выделить три основных угрозы, связанных с использованием любых cgi-скриптов, не обязательно написанных именно на Perl.

·         несанкционированное получение прав пользователя (суперпользователя) на удаленной машине;

·         несанкционированная модификация динамически генерируемой страницы путем включения собственных тегов;

·         перегрузка сервера интенсивной работой cgi-скриптов, вплоть до ееего

полной неработоспособности.

Большинство web-серверов, работающих под управлением UNIX-подобных операционных систем, обладают привилегиями суперпользователя, без которых сервер не сможет открыть необходимый ему восьмидесятый порт. Некоторые web-сервера обслуживают клиентов через нестандартный 8000 или 8080 порт и, в принципе, могут довольствоваться правами непривилегированного пользователя. Однако, ввиду определенных неудобств, такой механизм применяется достаточно редко.

ОС семейства Windows не накладывают никаких ограничений на обработку входящих TCP-соединений и позволяют открывать восьмидесятый порт даже прикладному коду, запущенному с гостевыми правами. Тем не менее, распространенные web-серверы под Windows NT\2000 требуют для своей работы наивысших привилегий.

По соображениям безопасности многие (но не все!) серверы позволяют понижать привилегий потока, обслуживающего web-клиента, до специального пользователя (как правило, nobody или www), а программа cgiwarp

(автор Nathan Neulinger) позволяет запускать cgi-скрипты с правами их владельца (по умолчанию скрипты исполняются от имени и с привилегиями web-сервера).

Ошибка в скрипте может привести к несанкционированному получению прав пользователя на удаленной машине, а в некоторых (между прочим, достаточно частых) случаях и привилегий администратора!

Обладая правами пользователя, злоумышленник может модифицировать web-страницы, получатьет

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


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

В большинстве случаев страница, динамически сгенерированная в ответ на запрос пользователя, содержит и сам запрос. А это открывает возможность использования HTML-тегов, наибольшую опасность из которых представляют директивы SSI (Server Side Include – включения на стороне сервера), поскольку они позволяют включать в страницу содержимое другого файла, значение переменной окружения, результат работы вызванной программы и т.д.

Страницы, доступные всем пользователям, подвержены и другой угрозе – созданию фальшивых полей ввода (как правило, требующих ввода своего пароля или номера кредитной карты), передающих свое содержимое злоумышленнику. Другая "дыра" – возможность разместить вредоносный Java (Perl и VisualBasic) скрипт, зацикливающий браузер посетителя или открывающий у него множество окон размером миллион на миллион пикселей. В общем, возможностей много…. автоматическое перенаправление клиентов на свою станицу или сайт баннерного спонсора, похищение у них локальных файлов через "дыры" в Internet Explorer и Netscape Navigator и т.д.

Наконец, любой, даже корректно написанный скрипт, требует для своей работы значительных процессорных ресурсов. Шквал запросов, инициируемый злоумышленником, представляет собой эффективную атаку "отказа в обслуживании", особенно если скрипт интенсивно работает с файловой системой и\или неэкономно расходует память. Увеличить выносливость сервера можно переходом на компилируемые языки, установкой более быстрого процессора или же отказом от использования скриптов везде, где это возможно.

Таким образом, размещение скрипта на сервере всегда таит в себе некоторую опасность и создает угрозу для его благополучия.


Содержание раздела