Правила
О правилах в Стингрей рассказывает эксперт команды разработки Юрий Шабалин.
На данной вкладке представлены правила анализа уязвимостей, которые применяются для выбранного проекта. В системе есть девять предустановленных правил, заданных на уровне компании. В общем случае правила проекта соответствуют определенным на уровне компании (см. раздел «Правила анализа на уровне компании»), но есть возможность изменить или добавить правила в соответствии со спецификой сканируемого приложения. Необходимо отметить, что правила, добавленные непосредственно в проекте, будут применяться только в рамках этого проекта.
Переопределение правил анализа
На странице проекта на вкладке Правила представлены правила анализа собранных данных для поиска уязвимостей. На этой вкладке возможно добавить, изменить, отключить или удалить существующее правило анализа для конкретного проекта. То есть, заданное на этой вкладке новое или измененное правило будет применяться в рамках только этого проекта, а не для всех проектов данной компании.
Описание работы правил анализа
Основная цель применения правил анализа — модификация системы под особенности своего приложения для эффективной работы по поиску уязвимостей. Каждое приложение и его данные уникальны по формату и содержанию. Применение правил анализа, настроенных под специфику проекта, позволяет максимально увеличить покрытие системой всех возможностей для поиска уязвимостей для каждого конкретного приложения.
Правила анализа, по которым происходит поиск части уязвимостей, представляют собой набор строк или регулярных выражений, которые необходимо искать в собранных в ходе сканирования приложения данных. Каждое правило определяет, какую строку или регулярное выражение искать, в данных каких модулей и в каком месте/каких форматах данных. Такой подход позволяет значительно сократить количество ложных срабатываний при поиске уязвимостей.
В системе существует два вида правил анализа:
- Внутренние правила поиска уязвимостей, не подлежащие настройке и недоступные пользователю для просмотра и редактирования. Они не представлены на вкладке Правила.
- Правила, которые занимаются поиском чувствительной информации. Как раз они и представлены на вкладке Правила и описаны в этом разделе. Эти правила пользователь системы может модифицировать и настроить под работу со своим приложением.
На вкладке Правила каждое правило анализа представлено отдельной строкой слева списке правил. Строка правила имеет следующие поля:
- Имя правила (выбранное правило выделяется серым цветом и дублируется вверху на правой панели).
-
Селектор состояния правила. Если селектор находится во включенном положении
, то правило является активным и будет применяться при анализе собранных данных для поиска уязвимостей. Если селектор находится в выключенном положении
, то правило является неактивным и не будет применяться при анализе собранных данных для поиска уязвимостей.
На правой панели информация о правиле отображается на четырех вкладках:
- Строки поиска — набор строк и регулярных выражений для поиска конфиденциальной информации.
- Места поиска — где именно искать необходимую информацию, в каких файлах и форматах данных.
- Список модулей — модули системы, для которых будет применяться данное правило.
- Исключения — набор строк и регулярных выражений, которые не будут учитываться в результатах поиска конфиденциальной информации.
Система поддерживает вложенность правил, как, например, в случае с правилом Серверные ключи.
Например
Рассмотрим, как работают правила анализа на примере правила Пароль.
В настоящий момент оно активно и определяет, что в данных, собранных указанными модулями (см. вкладку Список модулей), а также в местах, указанных на вкладке Места поиска, выполняется поиск следующих паттернов:
- строки
passphrase
иpassword
; - регулярное выражение
(pin(?:[_-]?code)?)|([\w]+_pin)|([\w]+Pin)
.
Кроме этого, для данного правила определен ряд исключений (вкладка Исключения), которые не учитываются в результатах поиска конфиденциальной информации.
При необходимости пользователь может сделать это правило неактивным или отредактировать его параметры.
Редактирование правил анализа
Редактирование правил анализа может быть произведено на вкладке Правила. Для редактирования выберите необходимое правило слева в списке правил. В правой части пользовательского интерфейса можно изменить и сохранить следующие параметры:
-
Название правила. Для сохранения произведенных изменений нажмите на кнопку Изменить справа.
Примечание
В системе есть девять предустановленных правил, заданных на уровне компании. У этих правил нельзя изменить название и описание. Их можно изменить только у правил, внесенных в список на уровне проекта. Однако для таких правил можно изменить уровень критичности.
Примечание
Если уровень критичности правила переопределен вручную, он отображается над его названием. Изменение уровня критичности правила обычно приводит к соответствующему изменению критичности обнаруживаемых им дефектов. Если уровень критичности правила определен как Неизвестно (не отображается в настройках правила), критичность дефекта определяется внутренними алгоритмами системы. Для некоторых обнаруженных правилами дефектов выполняется дополнительная проверка, в случае успешности которой критичность дефекта повышается независимо от уровня критичности обнаружившего его правила.
-
Описание правила анализа. Для сохранения произведенных изменений нажмите на кнопку Изменить справа.
Примечание
В системе есть девять предустановленных правил, заданных на уровне компании. У этих правил нельзя изменить название и описание. Их можно изменить только у правил, внесенных в список на уровне проекта. Однако для таких правил можно изменить уровень критичности.
-
На вкладке Строки поиска можно добавить строку или регулярное выражение для поиска конфиденциальной информации. Нажмите кнопку + Добавить, в появившемся поле Строка поиска укажите новую строку или регулярное выражение и нажмите кнопку Добавить.
Все ранее определенные для данного правила строки и регулярные выражения перечислены на этой вкладке ниже. Строки поиска, заданные на уровне компании, можно отключить с помощью селектора слева. Строки поиска, заданные на уровне проекта, можно и отключить, и удалить, нажав кнопку Удалить справа.
-
Места поиска — у активных мест поиска селектор находится в положении
, у неактивных — в
. Для изменения статуса необходимо нажать на селектор. Его положение изменится и будет отображено уведомление об успешном изменении.
-
Список модулей, для которых будет применяться данное правило. Любой из модулей сканирования в системе можно выбрать и добавить в правило. Включение и отключение происходит аналогично вкладке Места поиска.
-
На вкладке Исключения можно добавить строки или регулярные выражения, которые не будут учитываться в результатах поиска конфиденциальной информации. Нажмите кнопку + Добавить и в открывшемся окне в поле Строки поиска укажите одну или несколько строк поиска, а в поле Значение — одно или несколько значений, в завершение нажмите на кнопку Добавить. При поиске конфиденциальной информации содержимое поля Значения, найденное в строке поиска, которая указана в поле Строка поиска, будет игнорироваться. Исключения можно деактивировать с помощью селекторов.
Примечание
В поле с автодополнением Строки поиска можно добавить одну или несколько существующих в правиле строк поиска. Для выбора всех строк поиска правила выберите опцию Искать во всех строках. В полях Строки поиска и Значение поддерживается ввод регулярных выражений.
Можно расширить перечень исключений нажав на кнопку Изменить.
Примечание
Возможно изменение как пользовательских, так и предустановленных исключений.
Исключения, заданные на уровне компании, можно отключить с помощью селектора слева. Исключения, заданные на уровне проекта, можно и отключить, и удалить, нажав кнопку Удалить справа.
Примечание
Удалить можно только пользовательские исключения, удаление предустановленных исключений не предусмотрено.
Добавление правил анализа
Для добавления нового правила анализа нажмите на кнопку Добавить правило в правом верхнем углу. В появившемся окне Добавить правило необходимо ввести имя и описание правила, указать уровень его критичности и нажать кнопку Добавить.
Добавленное правило будет отображено в списке и доступно для дальнейшего редактирования. У вновь добавленного правила вкладки Строки поиска и Исключения пустые, а на вкладках Места поиска и Список модулей все селекторы находятся в положении выключено .
Удаление правил анализа
Удаление правил анализа может быть произведено на вкладке Правила. Для удаления правила нажмите на кнопку Удалить в правом верхнем углу. В появившемся диалоговом окне необходимо подтвердить или отменить удаление.
Примечание
В системе есть девять предустановленных правил, заданных на уровне компании, которые на уровне проекта можно только отключить, но нельзя удалить. Пользователь может удалить только прочие правила, внесенные в список на уровне проекта.