Regras de automação no Security Hub - AWS Security Hub

Regras de automação no Security Hub

nota

O Security Hub está em versão de pré-visualização e está sujeito à alterações.

Com o Security Hub, é possível automatizar tarefas como atualizar detalhes de descobertas e criar tíquetes para integrações de terceiros.

Regras de automação e Regiões da AWS

As regras de automação podem ser criadas em uma Região da AWS e depois aplicadas em todas as Regiões da AWS configuradas. Ao usar a agregação de região, as regras somente podem ser criadas na região inicial. Ao criar regras na região inicial, qualquer regra que você definir será aplicada a todas as regiões vinculadas, a menos que seus critérios de regra excluam uma região vinculada específica. É necessário criar uma regra de automação para qualquer região que não seja uma região vinculada.

Ações e critérios de regras

As regras de automação no Security Hub usam critérios para referenciar atributos de OCSF nas descobertas do Security Hub. Por exemplo, os filtros com suporte para o parâmetro Criteria em CreateAutomationRuleV2 correspondem aos filtros com suporte para o parâmetro Criteria em GetFindingsV2. Isso significa que os filtros usados nas regras de automação podem ser usados para obter descobertas. O Security Hub oferece suporte aos campos de OCSF a seguir para os critérios das regras de automação.

Campo de OCSF Valor do filtro do console Operadores de filtro Tipo de campo
activity_name Activity name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
class_name Finding class name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.account.uid Account ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.provider Cloud provider EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.region Region EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
comment Comment EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.category Assessment category EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.name Assessment name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.control Security control ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.standards Applicable standards EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.status Compliance status EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.desc Finding description EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.product.uid Related findings product ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.title Related findings title EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.uid Related findings ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.src_url Source URL EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.types Finding type EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.uid Provider ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.feature.uid Generator ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.name Product name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.uid Product ARN EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.vendor_name Company name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.uid Finding ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.desc Recommendation text EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.references Recommendation URL EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.cloud_partition Resource partition EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.name Resource name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.region Resource region EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.type Resource type EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.uid Resource ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
severity Severity EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
status Status EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.fix_coverage Software vulnerabilities coverage EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.first_seen_time_dt First observed at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.last_seen_time_dt Last observed at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.modified_time_dt Updated at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
compliance.assessments.meets_criteria Compliance assessment meets criteria True, False Boolean
vulnerabilities.is_exploit_available Software vulnerabilities with exploit available True, False Boolean
vulnerabilities.is_fix_available Software vulnerabilities with fix available True, False Boolean
activity_id Activity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
compliance.status_id Compliance status ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
confidence_score Confidence Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
severity_id Severity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
status_id Status ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
finding_info.related_events_count Related findings count Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
resources.tags Resource tags EQUALS Map

Para critérios rotulados como campos de string, o uso de diferentes operadores de filtro no mesmo campo afeta a lógica de avaliação. Para obter mais informações, consulte StringFilter na Referência de API CSPM do Security Hub.

Cada critério aceita um número máximo de valores que podem ser usados para filtrar as descobertas correspondentes. Para obter os limites de cada critério, consulte OcsfFindingFilters na Referência de API do Security Hub.

Campos de OCSF que podem ser atualizados

A seguir estão os campos de OCSF que podem ser atualizados usando regras de automação.

  • Comment

  • SeverityId

  • StatusId

Como as regras de automação avaliam as descobertas

Uma regra de automação avalia as descobertas novas e atualizadas que o Security Hub gera ou ingere depois que você cria a regra.

As regras de automação avaliam as descobertas originais fornecidas por provedores. Os provedores podem fornecer novas descobertas e atualizar as descobertas existentes por meio da sua integração com o Security Hub. As regras não são acionadas quando você atualiza os campos de descoberta após a criação da regra por meio da operação BatchUpdateFindingsV2. Se você criar uma regra de automação e fizer uma atualização de BatchUpdateFindingsV2 que afete o mesmo campo de descoberta, a última atualização definirá o valor desse campo. Veja o seguinte exemplo:

Você usa BatchUpdateFindingsV2 para atualizar o campo Status de uma descoberta de New para In Process. Se você chamar GetFindingsV2, o campo Status passará a ter um valor de In Process. Você cria uma regra de automação que altera o campo Status da descoberta de New para Suppressed (lembre-se de que as regras ignoram as atualizações feitas com BatchUpdateFindingsV2). O provedor de descobertas atualiza a descoberta e alterar o campo Status para New. Se você chamar GetFindingsV2, o campo Status passará a ter um valor de Suppressed porque a regra de automação foi aplicada e a regra foi a última ação realizada na descoberta.

Quando você cria ou edita uma regra no console do Security Hub, o console exibe uma prévia das descobertas que correspondem aos critérios da regra. Considerando que as regras de automação avaliam as descobertas originais enviadas pelo provedor de descobertas, a visualização prévia no console reflete as descobertas em seu estado final, conforme elas seriam mostradas em uma resposta à operação GetFindingsV2 da API (ou seja, após as ações das regras ou outras atualizações serem aplicadas à descoberta).

Como as regras de automação são ordenadas

Cada regra de automação recebe uma ordem de regra. Isso determina a ordem na qual o Security Hub aplica suas regras de automação e se torna importante quando várias regras estão relacionadas à mesma descoberta ou campo de descoberta.

Quando várias ações de regra estão relacionadas à mesma descoberta ou campo de descoberta, a regra com o maior valor numérico para a ordem das regras se aplica por último e produz o efeito final.

Quando você cria uma regra no console do Security Hub, o Security Hub atribui automaticamente a ordem das regras com base na ordem de criação da regra. A primeira regra que você criar terá uma ordem de regra de 1. Quando existir mais de uma regra, cada regra criada posteriormente terá o próximo valor numérico mais alto disponível para a ordem das regras.

Quando você cria uma regra por meio da API CreateAutomationRuleV2 ou da AWS CLI, o Security Hub aplica a regra com o menor valor numérico para a RuleOrder primeiro. Em seguida, aplica regras subsequentes em ordem ascendente. Se várias descobertas tiverem a mesma RuleOrder, o Security Hub aplica uma regra com um valor anterior primeiro para o campo UpdatedAt (ou seja, a regra que foi editada mais recentemente é aplicada por último).

É possível modificar a ordem das regras a qualquer momento.

Exemplo de ordem de regras:

Regra A (a ordem das regras é 1):

  • Critérios da Regra A

    • ProductName = Security Hub CSPM

    • Resources.Type é S3 Bucket

    • Compliance.Status = FAILED

    • RecordState é NEW

    • Workflow.Status = ACTIVE

  • Ações da Regra A

    • Atualizar Confidence para 95

    • Atualizar Severity para CRITICAL

    • Atualizar Comment para This needs attention

Regra B (a ordem das regras é 2):

  • Critérios da Regra B

    • AwsAccountId = 123456789012

  • Ações de Regra B

    • Atualizar Severity para INFORMATIONAL

Inicialmente, as ações da Regra A se aplicam às descobertas do Security Hub que correspondam aos critérios da Regra A. Em seguida, as ações da Regra B se aplicam às descobertas do Security Hub com o ID da conta especificado. Neste exemplo, como a Regra B se aplica por último, o valor final de Severity nas descobertas do ID da conta especificada é INFORMATIONAL. Com base na ação da Regra A, o valor final de Confidence nas descobertas correspondentes é 95.

Integrações de terceiros

É possível usar regras de automação para a criação de tíquetes para integrações com a Jira Cloud e p ServiceNow ITSM. Para obter mais informações, consulte Criação de uma regra para uma integração de terceiros.

Cenários em que as regras de automação não funcionam

Nos cenários a seguir, as regras de automação não funcionam.

  • A conta autônoma se torna um membro de uma organização com um administrador delegado

  • A conta gerencial da organização remove o administrador delegado e define um novo administrador delegado

  • A configuração do agregador para o administrador delegado ou conta autônoma muda quando uma região desvinculada é transformada em uma região vinculada.

Durante esses cenários, um membro de uma organização pode gerenciar regras de automação com as operações list, get e delete na AWS CLI ou nas APIs.

Quando uma região desvinculada é transformada em região vinculada, o administrador delegado ou a conta autônoma pode gerenciar recursos em uma região vinculada com as operações list, get e delete.