Перейти к содержанию

Отключение безопасного режима (DisableSafeMode)

Тип Поддерживаются
языки
Важность Включена
по умолчанию
Время на
исправление (мин)
Теги
Уязвимость BSL Важный Да 15 suspicious

Описание диагностики

Помимо программного кода конфигурации, в прикладном решении может исполняться сторонний программный код, который может быть подключен с помощью внешних отчетов, внешних обработок, расширений конфигурации, внешних компонент или другими способами, например, с помощью стороннего (по отношению к конфигурации) программного кода, надежность которого разработчик гарантировать не может (далее – внешний код). При этом злоумышленник может предусмотреть в нем различные деструктивные действия (как в самом внешнем коде, так и опосредовано, через запуск внешних приложений, внешних компонент, COM-объектов), которые могут нанести вред компьютерам пользователей, серверным компьютерам, а также данным в программе.

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

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

Правило диагностирует вызовы методов УстановитьБезопасныйРежим и УстановитьОтключениеБезопасногоРежима в режиме отключения контроля безопасного режима - вызов УстановитьБезопасныйРежим (Истина) игнорируется - вызов УстановитьОтключениеБезопасногоРежима(Ложь) игнорируется

Примеры

    УстановитьБезопасныйРежим (Ложь); // есть замечание

    Значение = Ложь;
    УстановитьБезопасныйРежим (Значение); // есть замечание

    УстановитьБезопасныйРежим (Истина); // нет замечания

    УстановитьОтключениеБезопасногоРежима(Истина); // есть замечание

    Значение = Истина;
    УстановитьОтключениеБезопасногоРежима(Значение); // есть замечание

    УстановитьОтключениеБезопасногоРежима(Ложь); // нет замечания

Источники

Сниппеты

Экранирование кода

// BSLLS:DisableSafeMode-off
// BSLLS:DisableSafeMode-on

Параметр конфигурационного файла

"DisableSafeMode": false