Режим безопасности Perl Taint Mode
Описание
Использование режима Perl 
Taint Mode позволяет отслеживать данные, приходящие от внешнего пользователя и устранять выполнение небезопасных операций с данными.
Идея метода 
Taint Mode основывается на следующих принципах:
-  Все данные, полученные через HTTP-запросы, считаются ненадежными;
 -  Все ресурсы, локальные по отношению к web-приложению, считаются надежными;
 -  Ненадежные данные могут стать надежными в следствии специальной обработки.
 
Taint Mode помогает:
-  устранить SQL-инъекции;
 -  устранить Perl-инъекции;
 -  устранить XSS.
 
Использование
Включение режима 
Taint Mode в Perl осуществляется при помощи опции «
-T».
Для того чтобы все скрипты системы NSUts работали с этой опцией, необходимо добавить данную опцию к строке подключения интерпретатора Perl в файле настроек Apache.
Рекомендации по написанию безопасного кода
-  использование регулярных выражений, строго определяющих диапазон входных данных, таких как параметры HTTP запросов, cookies;
 
 В системе NSUts для этого предназначены следующие функции:
-  Service::untaintID – валидация идентификаторов;
 -  Service::untaintFileName – валидация имени файла, не включая путь;
 -  Service::untaintFilePath – валидация полного имени файла.
 
 использование параметризованных запросов. В системе реализуется через Perl::DBI;
 фильтрация специальных символов и HTML-тегов в сообщениях пользователей. В системе реализуется через Service::dump2html, Service::dump2text;
 переменная окружения PATH должна быть безопасной. Необходимо проверить, чтобы она содержала только те пути, которые безопасны для обычного пользователя и содержала каталоги, которые не могут быть изменены кем-либо, кроме их владельца (пример: $ENV{PATH} = «/bin:/usr/bin");
 необходимо избавиться от неиспользуемых переменных окружения. В частности, удалить IFS, CDPATH, ENV и BASH_ENV (пример: delete @ENV{ 'IFS', 'CDPATH', 'ENV', 'BASH_ENV' }).