PERL

Practical Extraction and Report Language —
«практический язык для извлечения данных и составления отчётов»

Безопасное программирование на языке Perl

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

Материал ориентирован на новичков, программистов средней квалификации и web-мастеров имеющие представление о устройстве операционной системы и о языке Perl.

Введение

Как известно одного “голого” HTML явно недостаточно для организации интерактивного взаимодействия с пользователями, без обращения к внешним программам, работающие с web-серверами через CGI - интерфейс. Большинство таких программ написано на многих языках, даже на Basic, тем не менее, традиционно разработчики пользуются возможностями Perl.

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

Первоначально Perl был рассчитан для мониторинга многоуровневых сетей – локальных приложений и разработок средств управления, не слишком требовательных к защите. Удобство в использовании отрицательно сказалось на безопасности. Например, команда вызова open открывает не только файлы, но одновременно и запускает, если в имени документа есть символ конвейера. Чрезмерная самостоятельность языка и гибкость вызывает определенные проблемы в процессе написания серверных приложений, задача которых препятствовать действиям, не санкционированные разработчиками.

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

Скрипты в основном разрабатывают любители, которые только начали осваивать Perl. Естественно допускаются ошибки, увеличивающие степень уязвимости скрипта. Качественный скрипт большая редкость. Например, разработанные скрипты Мэта Райта, представленные в его книге “CGI/Perl” неверно фильтруют ввод клиента, тем самым допуская потенциальную угрозу атаки на сервера.

Разработка и создание безопасного серверного программного обеспечения на сегодняшний день представляет большую проблему.

Главная

Perl-скрипты

Android

Карта сайта