Отчеты c режимом вычисления Компиляция (Compilation) предоставляют возможность выполнять различные сценарии, реализованные при помощи скриптового языка отчета.При этом, эти сценарии не всегда являются безопасными и, как результат, могут приводить к негативным ситуациям с точки зрения кибербезопасности. После анализа ситуации мы решили усовершенствовать политику безопасности относительно отчетов в режиме компиляции, но обо всем по порядку. Кстати, подробное сравнение режимов вычисления было представлено в этой статье.

Первая ступень защиты

Состоит в том, что при создании новых отчетов и дашбордов режим вычисления отчета по умолчанию установлен как Интерпретация (Interpretation). При необходимости, в любой момент можно его можно изменить. Для этого следует свойство шаблона отчета Режим вычисления (Calculation Mode) установить как Компиляция и после прочтения предупреждения нажать кнопку Переключиться на Компиляцию (Switch to Compilation).

Вторая ступень защиты

Состоит в том, что при помощи параметра и различных его значений можно определить поведение в случаях открытия отчетов с компиляцией в дизайнере или вьювере. Настройку поведения при открытии отчетов с компиляцией можно выполнить при помощи параметра Доступ к компиляции (Compilation Access) на вкладке Главная (Main) в меню Параметры (Options) дизайнера отчетов. В зависимости от выбранного значения будет определено поведение. Рассмотрим их более подробно.

1) Значение Спросить (Ask) предоставляет возможность определить поведение на основе пользовательского выбора. Другими словами, при попытке открытия отчета с компиляцией, пользователь должен будет выбрать один из вариантов:

  • Открыть в безопасном режиме (Open in Safe Mode), то есть режим вычисления для отчета будет принудительно установлен как Интерпретация;

  • Открыть (Open), то есть, загрузить отчет с режимом вычисления Компиляция, со всеми возможными рисками выполнения небезопасных сценариев;

  • Отмена (Cancel), то есть, прекратить загрузку отчета с компиляцией в дизайнер или вьювер отчетов.

Compilation
2) Значение Разрешить (Allow) позволяет загружать отчеты с компиляцией в дизайнер или вьювер без какого-либо уведомления. Является самым небезопасным режимом, поскольку при открытии отчетов пользователь не будет уведомлен о потенциальных рисках.

3) Значение Включить режим интерпретации (Force Interpretation) принудительно включает режим вычисления Интерпретация для всех отчетов при их открытии в дизайнере или вьювере.

4) Значение Запретить (Deny) позволяет сделать невозможным процесс открытия отчетов с режимом вычисления Компиляция в дизайнере или вьювере. При этом, пользователю будет отображено сообщение о запрете.

Кроме того, для компонентов Stimulsoft можно определить поведение при открытии отчетов с компиляцией при помощи опций. Например:
StiOptions.Designer.CompilationAccess == StiCompilationAccess.Allow;
Обратите внимание!

Для некоторых компонентов опции могут отсутствовать, например, опция CompilationAccess для JS-компонентов, поскольку в генераторе отчетов для JavaScript отсутствует режим компиляции, а все отчеты загружаются в режиме интерпретации. .
Таким образом, понимание и использование этих простых мер защиты от выполнения нежелательных сценариев, позволит значительно повысить безопасность при использовании продуктов Stimulsoft.
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.