Приглашаем посетить
Чернышевский (chernyshevskiy.lit-info.ru)

Использование языка perl как шлюза безопасности

Использование языка perl как шлюза безопасности

Вопросам безопасности придается большое значение как в программировании CGI , так и при решении других задач, связанных с программным обеспечением для сетей. Часто бывает необходимо защитить файлы и другие ресурсы системы от угрозы со стороны пользователей, которая может проистекать от их неаккуратно­сти или даже злого умысла. Это особенно важно для Web-серверов, а также дру­гих серверов, таких как FTP-сервер, которые подключены к Internet , где наличие злоумышленных пользователей хорошо известно. Одним из путей защиты систе­мы от атак таких злоумышленников служит создание шлюзов безопасности, че­рез которые пропускаются входные данные. В этом случае только данные, оце­ненные шлюзовой программой как безопасные, передаются в систему.

Традиционно большая часть серверов Internet исполняется под системой UNIX и написана на языке С. Неверное использование программистами указателей на языке С ведет к нарушению безопасности работы системы.

Одним из достоинств Perl , существенным при написании надежных шлюзовых про­грамм, служит тот факт, что переменные строкового типа изменяют свою длину автоматически в зависимости от потребности. Строковые переменные содержат столько символов, сколько им присваивает скрипт. Perl не позволяет программе писать данные в одну переменную таким образом, чтобы нарушить целостность данных другой переменной.

Имеется также специальная версия языка Perl , которую называют taintperl , в кото­рой осуществляется проверка зависимостей между данными и предотвращается выполнение системой команд по передаче данных серверу от источника, не за­служивающего доверия. Если испорченные или некорректные данные поступают на вход программы taintperl , то она помечает все значения командной строки, пе­ременных окружения и входные данные как испорченные, предотвращая их даль­нейшую передачу серверу и возникновение фатальной ошибки.

Назад | Оглавление | Далее