1. Acesse o módulo Administração.
2. Na seção Customizações, selecione a opção Medida de Risco.
O sistema exibe uma tela que mostra a fórmula padrão e uma área de edição onde ela pode ser customizada (veja figura abaixo).
3. Para customizar a fórmula, você pode selecionar uma das variáveis disponíveis no campo Variáveis. A variável selecionada será exibida na área de edição localizada no campo abaixo e pode ser combinada com os operadores e funções disponíveis para criar uma nova fórmula.
Nota: as fórmulas podem ser compostas por uma ou mais linhas, separadas por ponto e vírgula (;). O valor retornado será calculado de acordo com o resultado da última linha executada.
A forma de escrita mais comum segue a sintaxe abaixo, sendo [x] opcional:
Linha
1:
[variável A] = <expressão 1>;
Linha
2:
[variável B] = <expressão 2>;
…
Linha
N:
[variável Z] = <expressão N>;
Para informações mais detalhadas sobre como a sintaxe dessas fórmulas funciona, acesse o link abaixo:
http://www.springframework.net/doc-latest/reference/html/expressions.html
As tabelas abaixo listam as variáveis, os operadores e as funções disponíveis com suas descrições:
Variável |
Descrição |
AssetCriticality |
Criticidade definida no módulo Organização para o ativo em que a vulnerabilidade foi identificada. Assume valores reais entre 0.0 e 100.0. |
AssetRelevance |
Relevância definida no módulo Organização para o ativo onde a vulnerabilidade foi identificada. Assume valores inteiros entre 1 e 5. |
CVSSScore |
Indicador CVSS da vulnerabilidade. |
VulnerabilityLevel |
Nível de severidade da vulnerabilidade. Assume valores inteiros entre 1 e 5. |
VulnerabilityType |
Tipo da vulnerabilidade. Pode assumir os seguintes valores: VulnType.Information, VulnType.Potential, VulnType.Confirmed. |
Operadores Relacionais |
Descrição |
== |
Retorna verdadeiro caso os dois elementos sejam iguais e falso caso contrário. Ex.: "#result = #var == 1" |
!= |
Retorna verdadeiro caso os dois elementos sejam diferentes e falso caso contrário. Ex.: "#result = #var != 1" |
< |
Retorna verdadeiro caso o elemento da esquerda seja menor que o elemento da direita. Ex.: "#result = #var < 1" |
<= |
Retorna verdadeiro caso o elemento da esquerda seja menor ou igual ao elemento da direita. Ex.: "#result = #var <= 1" |
> |
Retorna verdadeiro caso o elemento da esquerda seja maior que o elemento da direita. Ex.: "#result = #var > 1" |
>= |
Retorna verdadeiro caso o elemento da esquerda seja maior ou igual ao elemento da direita. Ex.: "#result = #var >= 1" |
in |
Retorna verdadeiro caso o elemento esteja contido no vetor. Ex.: "#result = 3 in {1,2,3,4}" |
between |
Retorna verdadeiro caso o elemento esteja contido no intervalo definido. Ex.: "#result = 3 between {1,4}" |
Operadores Lógicos |
Descrição |
or |
Retorna verdadeiro caso uma condição seja aceita. Ex.: "#result = (#var == 1) or (#var == 2)" |
and |
Retorna verdadeiro caso todas as condições sejam aceitas. Ex.: "#result = (#var != 1) and (#var != 2)" |
! |
Nega o resultado booleano de uma expressão. Se o resultado for verdadeiro retorna falso. Se for falso retorna verdadeiro. Ex.: "#result = !(2 == 1)" |
Operadores Matemáticos |
Descrição |
+ |
Soma. Ex.: "#result = 2 + 3" Retorno: 5 |
- |
Subtração. Ex.: "#result = 2 - 3" Retorno: -1 |
* |
Multiplicação. Ex.: "#result = 2 * 3" Retorno: 6 |
/ |
Divisão. Ex.: "#result = 2.0 / 3.0" Retorno: 0.66666 |
% |
Módulo. Ex.: "#result = 3.0 % 2.0" Retorno: 1 |
^ |
Potência. Ex.: "#result = 2 ^ 3" Retorno: 8 |
Atribuição e Variáveis |
Descrição |
= |
Utilizado para atribuições a uma variável. Ex.: "#var = 5" |
#nome |
Declara o nome de uma variável. Ex.: "#var = 'hello'" |
Operação Ternária (operador condicional) |
Descrição |
<boolean expression> ? <if true then…> : <if false then…> |
Cria uma condição para execução de uma expressão. Ex.: #var >= 5 ? 'High' : 'Low' |
Funções e Constantes Matemáticas |
Descrição |
E |
Retornos estabelecidos pela classe Math do .Net Framework 4.5. http://msdn.microsoft.com/en-us/library/system.math.aspx
|
PI | |
Abs(double value) | |
Acos(double d) | |
Asin(double d) | |
Atan(double d) | |
Atan2(double y, double x) | |
BigMul(int a, int b) | |
Ceiling(double a) | |
Cos(double d) | |
Cosh(double value) | |
Exp(double d) | |
Floor(double d) | |
IEEERemainder(double x, double y) | |
Log(double d) | |
Log(double a, double newBase) | |
Log10(double d) | |
Max(double val1, double val2) | |
Min(double val1, double val2) | |
Pow(double x, double y) | |
Round(double a) | |
Round(double value, int digits) | |
Sign(double value) | |
Sin(double a) | |
Sinh(double value) | |
Sqrt(double d) | |
Tan(double a) | |
Tanh(double value) | |
Truncate(double d) |
Outras Funções |
Descrição |
Lookup(double value, double search, double result, …, default) |
Função para realizar uma busca em uma coleção de itens. Ex.: Lookup(VulnerabilityType, VulnerabilityType.Gathered, 1, VulnerabilityType.Potential, 2, VulnerabilityType.Confirmed, 3, 0) Retorna 1, 2, 3 ou 0 de acordo com a variável VulnerabilityType. Caso não assuma nenhum dos valores possíveis de VulnerabilityType, retorna 0. |
4. Clique em Validar Fórmula para que o sistema valide a fórmula. Caso queira restaurar a fórmula padrão, clique em Restaurar Fórmula Padrão.
O sistema exibe uma mensagem de sucesso.
5. Ao terminar, clique em Aplicar Configurações para aplicar as alterações feitas. As mudanças entrarão em vigor quando os ativos forem processados novamente nos projetos de riscos.
O sistema exibe uma mensagem de sucesso.