BlueLiv
Versão da integração: 8.0
Guia de integração
O objetivo da integração é ingerir as ameaças da BlueLiv usando os filtros relevantes para mostrar apenas as ameaças desejadas no Google Security Operations, usando o conector de ameaças, e realizar outras ações nessas ameaças de acordo com os casos de uso relevantes.
Neste guia rápido, vamos abordar algumas coisas para facilitar o uso da integração para clientes do Google SecOps.
Configuração da integração
Vamos analisar os parâmetros e onde encontrá-los para facilitar a configuração da integração:
- Raiz da API: é o URL que você está usando para acessar a página inicial do BlueLiv quando o sufixo /api/v2 é adicionado a ele. Por exemplo,
https://tcdach.blueliv.com/api/v2
deve ser o valor desse parâmetro. - Nome de usuário: o mesmo que você usa para se conectar à página inicial do BlueLiv.
- Senha: a mesma senha que você usa para se conectar à página inicial do BlueLiv.
ID da organização: é fácil encontrar o ID da organização no URL que você está usando para navegar pelo produto. Por exemplo:
Neste exemplo, o ID da organização é
117
:https://tcdach.blueliv.com/dashboard/organizations/117/indexed
Depois de analisar os parâmetros de integração, podemos nos aprofundar nos outros termos da nossa integração.
Tipos de módulos
A BlueLiv dividiu a seção de ameaças em tipos de módulos. Nesta integração, usamos esses tipos para ajudar a plataforma SOAR e ingerir apenas as informações relevantes se você quiser filtrar por tipo de módulo. Os seguintes tipos de módulos estão disponíveis no BlueLiv:
- Credenciais
- Mídia social
- Cartões de crédito
- Proteção de domínio
- Malware
- Vazamento de dados
- Hacktivismo
- Dark web
- Personalizado
- Media Tracker
- Apps para dispositivos móveis
ID da ameaça e ID do módulo
https://tcdach.blueliv.com/dashboard/organizations/117/modules/1303/resource/31024379
Cada ameaça encontrada no BlueLiv tem um UID, um número que a representa.
Ele também pode ser facilmente identificado no URL. Uma ameaça também é chamada de recurso. Por exemplo, aqui o UID da ameaça é 31024379
.
Além disso, cada módulo no BlueLiv tem um UID, um número que o representa. Por exemplo, aqui o UID da ameaça é 1303
.
Recomendação sobre configuração
O Blueliv permite apenas uma sessão aberta por vez. Recomendamos usar usuários diferentes para configuração de integração e conectores para fins de estabilidade. Observação: cada conector precisa de um usuário separado.
Casos de uso
- Monitoramento proativo de ameaças cibernéticas
- Proteção da marca
- Proteção contra violação de dados
- Prevenção contra fraudes
- Detecção de falsificação
Configurar a integração do BlueLiv no Google SecOps
Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Parâmetros de integração
Use os seguintes parâmetros para configurar a integração:
Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
---|---|---|---|---|
Raiz da API | String | https://example |
Sim | Raiz da API da instância do BlueLiv. |
Nome do usuário | String | N/A | Sim | Nome de usuário da BlueLiv. |
Senha | Senha | N/A | Sim | Senha do usuário |
ID da organização | String | N/A | Sim | Especifique o ID da organização a ser usado no BlueLiv. |
Verificar SSL | Caixa de seleção | Desmarcado | Sim | Se ativada, verifica se o certificado SSL da conexão com o servidor do IronScales é válido. |
Ações
Ping
Descrição
Teste a conectividade com o BlueLiv usando os parâmetros fornecidos na página de configuração da integração, na guia "Marketplace" do Google Security Operations.
Parâmetros
N/A
Executar em
A ação não é executada em entidades nem tem parâmetros de entrada obrigatórios.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor |
---|---|
is_success | is_success=False |
is_success | is_success=True |
Painel de casos
Tipo de resultado | Valor / Descrição | Tipo |
---|---|---|
Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se as duas chamadas de API forem bem-sucedidas: "Conexão bem-sucedida com o servidor BlueLiv usando os parâmetros de conexão fornecidos!" A ação precisa falhar e interromper a execução de um playbook: Se apenas a primeira chamada foi bem-sucedida e a segunda não funcionou: "Login feito com sucesso com o nome de usuário e a senha, mas parece que o ID da organização não está correto. Verifique o parâmetro "ID da organização" na página "Configuração da integração" e tente de novo. Se não for possível: "Não foi possível se conectar ao BlueLiv! O erro é {0}".format(exception.stacktrace) |
Geral |
Enriquecer entidades
Descrição
Enriqueça entidades usando informações do módulo "Contexto de ameaças" da Blueliv. Entidades compatíveis: IP, hash, URL, agente invasor, campanha contra ameaças, assinatura de ameaça, domínio, CVE.
Parâmetros
Nome | Valor padrão | É obrigatório | Descrição |
---|---|---|---|
Pontuação mínima para marcar como suspeito | 5 | Sim | Especifique qual deve ser a pontuação mínima para que a entidade seja marcada como suspeita. Máximo: 10. |
Criar insight | Verdadeiro | Não | Se ativada, a ação vai criar insights com informações sobre entidades. |
Executar em
Essa ação é executada nas seguintes entidades:
- Endereço IP
- Hash
- URL
- Agente de ameaça
- Campanha contra ameaças
- Assinatura de ameaças
- CVE
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor | Exemplo |
---|---|---|
sucesso | Verdadeiro/Falso | success:False |
Painel de casos
Caso | Sucesso | Falha | Mensagem |
---|---|---|---|
Se algumas entidades foram enriquecidas | verdadeiro | falso | Enriquecimento das seguintes entidades usando informações da Blueliv: {entity.identifier} |
Se não enriquecer alguns | verdadeiro | falso | A ação não conseguiu enriquecer as seguintes entidades usando informações da Blueliv: {entity.identifier} |
se não enriquecer tudo | falso | falso | Nenhuma entidade foi enriquecida usando informações da Blueliv. |
Erro fatal, credenciais inválidas, raiz da API | falso | verdadeiro | Erro ao executar a ação "Enriquecer entidades". Motivo: {error traceback} |
Se o módulo "Contexto da ameaça" não estiver disponível | falso | Verdadeiro | Erro ao executar a ação "Enriquecer entidades". Motivo: sua instância não é compatível com o módulo "Contexto de ameaça". |
Adicionar um comentário a uma ameaça
Descrição
A ação vai adicionar um comentário de texto desejado a uma ameaça específica.
Parâmetros
Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
---|---|---|---|---|
Tipo de módulo | String | N/A | Sim | Especifique o tipo de módulo a que o recurso pertence. |
ID do módulo | String | N/A | Sim | Especifique o ID do módulo a que o recurso pertence. |
ID do recurso | String | N/A | Sim | Especifique o ID do recurso em que o comentário será adicionado. |
Texto do comentário | String | N/A | Sim | Forneça o comentário que você quer adicionar ao recurso. |
Executar em
Essa ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor |
---|---|
is_success | is_success=False |
is_success | is_success=True |
Painel de casos
Tipo de resultado | Valor/descrição | Tipo (entidade \ geral) |
---|---|---|
Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se for bem-sucedido: "O comentário foi adicionado ao ID da ameaça: "+{threat_ID} A ação precisa falhar e interromper a execução de um playbook: Se não der certo: "Falha ao realizar a ação "Adicionar comentário a uma ameaça {0}".format(exception.stacktrace) |
Geral |
Tabela do Painel de casos | Nome: "Comentários sobre o ID da ameaça "+{threat_id}+": Coluna:
|
Marcar uma ameaça como favorita
Descrição
A ação vai marcar a ameaça especificada como favorita no BlueLiv.
Parâmetros
Nome de exibição do parâmetro | Tipo | Valor padrão | Valores de DDL | É obrigatório | Descrição |
---|---|---|---|---|---|
Tipo de módulo | String | N/A | Sim | Especifique o tipo de módulo a que o recurso pertence. | |
ID do módulo | String | N/A | Sim | Especifique o ID do módulo a que o recurso pertence. | |
ID do recurso | String | N/A | Sim | Especifique o ID do recurso em que o comentário será adicionado. | |
Status favorito | DDL | Marcado com estrela pelo usuário | Sem estrela Marcado com estrela pelo usuário Grupo marcado com estrela Com estrela completa |
Sim | Informe o status de favorito que você quer aplicar à ameaça especificada. |
Executar em
Essa ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor |
---|---|
is_success | is_success=False |
is_success | is_success=True |
Painel de casos
Tipo de resultado | Valor/descrição | Tipo (entidade \ geral) |
---|---|---|
Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se for bem-sucedido: "O ID da ameaça "+{threat_ID}+" foi marcado como favorito" A ação precisa falhar e interromper a execução de um playbook: Se não der certo: "Falha ao realizar a ação "Marcar ameaça como favorita {0}".format(exception.stacktrace) |
Geral |
Adicionar rótulos a ameaças
Descrição
A ação vai adicionar o nome do rótulo especificado aos IDs de ameaças especificados.
Parâmetros
Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
---|---|---|---|---|
Tipo de módulo | String | N/A | Sim | Especifique o tipo de módulo a que o recurso pertence. |
ID do módulo | String | N/A | Sim | Especifique o ID do módulo a que o recurso pertence. |
ID do recurso | String | N/A | Sim | Especifique os IDs dos recursos em uma lista separada por vírgulas para adicionar os rótulos. |
Nomes de rótulos | String | N/A | Sim | Especifique os nomes dos marcadores que você quer aplicar às ameaças em uma lista separada por vírgulas. Preste atenção às letras minúsculas e maiúsculas. |
Executar em
Essa ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor |
---|---|
is_success | is_success=False |
is_success | is_success=True |
Painel de casos
Tipo de resultado | Valor/descrição | Tipo (entidade \ geral) |
---|---|---|
Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se alguns rótulos não forem encontrados: "Não foi possível encontrar os seguintes rótulos em BlueLiv:+(unsuccessful_label names_list)+. Verifique os nomes de rótulo fornecidos nos parâmetros de ação e tente de novo" Se algumas ameaças não foram encontradas: "Não foi possível encontrar as seguintes ameaças no BlueLiv:+(unsuccessful_threat_IDs)+". Verifique os IDs de ameaças fornecidos nos parâmetros de ação e tente de novo" Se a operação for bem-sucedida: "Os seguintes rótulos foram adicionados:" +(successful_label_names_list)+" aos seguintes IDs de ameaça: "+(successful_threat_IDs_list) A ação precisa falhar e interromper a execução de um playbook: Se nenhum marcador for encontrado: "Não foi possível encontrar nenhum dos seguintes marcadores em BlueLiv:+(unsuccessful_label names_list)+. Verifique os nomes de marcadores fornecidos nos parâmetros de ação e tente de novo" Se nenhuma ameaça for encontrada: "Não foi possível encontrar nenhuma das seguintes ameaças em BlueLiv":+(unsuccessful_threat_IDs_list)+". Verifique os IDs de ameaça fornecidos nos parâmetros de ação e tente de novo" Se não der certo: "Falha ao realizar a ação "Adicionar rótulos a ameaças".format(exception.stacktrace) |
Geral |
Remover rótulos de ameaças
Descrição
A ação vai remover os rótulos especificados dos IDs de ameaça especificados.
Parâmetros
Nome | Valor padrão | É obrigatório | Descrição |
---|---|---|---|
Tipo de módulo | N/A | Sim | Especifique o tipo de módulo a que o recurso pertence. |
ID do módulo | Sim | Especifique o ID do módulo a que o recurso pertence | |
ID do recurso | Sim | Especifique uma lista separada por vírgulas de IDs de recursos de que você quer remover rótulos. | |
Nomes de rótulos | Sim | Especifique uma lista separada por vírgulas de rótulos que precisam ser removidos. Preste atenção às letras minúsculas e maiúsculas. |
Executar em
Essa ação não é executada em entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor |
---|---|
is_success | is_success=False |
is_success | is_success=True |
Painel de casos
Caso | Sucesso | Falha | Mensagem |
---|---|---|---|
Se alguns rótulos não foram encontrados | verdadeiro | falso | "Não foi possível encontrar os seguintes rótulos no BlueLiv: \n {labels}. Verifique os nomes de rótulo fornecidos nos parâmetros de ação e tente de novo." |
Se algumas ameaças não foram encontradas | verdadeiro | falso | Não foi possível encontrar as seguintes ameaças do módulo {module} {threat IDs}: {threat IDs}. Verifique os IDs de ameaça fornecidos nos parâmetros de ação e tente de novo. |
Se for bem-sucedido para alguns: | verdadeiro | falso | Os seguintes rótulos foram removidos da seguinte ameaça {threat ID} no Blueliv: {successful_labels} |
Se alguns não foram aplicados: | verdadeiro | falso | Os seguintes rótulos já não faziam parte da ameaça {threat ID} no Blueliv: {labels already not a part} |
Se nenhum marcador for encontrado | falso | verdadeiro | Erro ao executar a ação "Remover rótulos de ameaças". Motivo: nenhum dos rótulos foi encontrado. Verifique a ortografia. |
Se nenhuma ameaça foi encontrada | falso | verdadeiro | Erro ao executar a ação "Remover rótulos de ameaças". Motivo: nenhuma das ameaças foi encontrada. Verifique a ortografia. |
Erro fatal, credenciais inválidas, raiz da API | falso | verdadeiro | Erro ao executar a ação "Remover rótulos de ameaças". Motivo: {error traceback} |
Se o tipo ou ID do módulo não for válido | falso | verdadeiro | Erro ao executar a ação "Remover rótulos de ameaças". Motivo: ID ou tipo de módulo inválido. |
Listar ameaças de entidade
Descrição
Lista ameaças relacionadas a entidades na Blueliv. Entidades compatíveis: todas.
Limitações conhecidas
A API Blueliv pode não retornar nenhum resultado, mesmo que a string corresponda ao nome da ameaça. Confira um exemplo abaixo:
https://pastebin.com/YRkUCLGc: o URL é mostrado ao pesquisar usando a palavra-chave "pastebin".
https://pastebin.com/YRkUCLGc - não é mostrado ao pesquisar usando a palavra-chave "https://pastebin.com/YRkUCLGc".
Parâmetros
Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
---|---|---|---|---|
Filtro de rótulo | CSV | N/A | Não | Especifique uma lista de rótulos separados por vírgulas que serão usados para filtrar ameaças. Observação: o filtro de rótulo funciona com a lógica "OR". |
Filtro de módulo | CSV | N/A | Não | Especifique uma lista de módulos separados por vírgulas que serão usados para filtrar ameaças. |
Número máximo de ameaças a serem retornadas | Número inteiro | 50 | Não | Especifique quantas ameaças retornar por entidade. Se nada for especificado, a ação vai retornar 50 ameaças. |
Executar em
Essa ação é executada em todas as entidades.
Resultados da ação
Resultado do script
Nome do resultado do script | Opções de valor |
---|---|
is_success | is_success=False |
is_success | is_success=True |
Resultado do JSON
{
"id": xxxxxxx,
"module_id": xxxx,
"module_name": "Data Leakage",
"module_short_name": "xxx-xxxxx",
"module_type": "DATA_LEAKAGE",
"url": "xxx",
"content_type": "text/html",
"countries_id": "xx",
"analysis_result": "INFORMATIVE",
"analysis_calc_result": "INFORMATIVE",
"created_at": 1626163680000,
"checked_at": 1626163680000,
"changed_at": 1626163680000,
"user_rating": 0,
"read": true,
"fav": "NOT_STARRED",
"issued": false,
"labels": [
{
"id": 36116,
"name": "GithubCodeByFilename",
"background_color": 16777215,
"text_color": 0,
"type": "GLOBAL"
},
{
"id": 160,
"name": "Public",
"background_color": 45960,
"text_color": 16777215,
"type": "GLOBAL"
}
],
"tlpStatus": "AMBER",
"searchPhrase": "credit card",
"followedUp": false,
"history": []
},
Painel de casos
Tipo de resultado | Valor/descrição | Tipo (entidade \ geral) |
---|---|---|
Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se os dados estiverem disponíveis para um(is_success = true): "As ameaças disponíveis para as seguintes entidades no Blueliv foram listadas com sucesso: {entity.identifier}". Se não houver ameaças para uma (is_success=true): "Nenhuma ameaça relacionada foi encontrada para as seguintes entidades no Blueliv: {entity.identifier}" Se não houver ameaças para uma (is_success=true): "Nenhuma ameaça relacionada foi encontrada para as entidades fornecidas no Blueliv" A ação precisa falhar e interromper a execução de um playbook: Se o erro for fatal, como credenciais incorretas, sem conexão com o servidor, outro: "Erro ao executar a ação "List Entity Threats". Motivo: {0}''.format(error.Stacktrace) |
Geral |
Tabela do painel de casos | Título: {entity.identifier} Nome do módulo URL Título Rótulos Criado em |
Entidade |
Conector
BlueLiv: conector de ameaças
Descrição
Extrai ameaças à segurança do BlueLiv. O conector busca todas as ameaças mais recentes dos módulos do BlueLiv.
Os filtros de lista de permissões e de bloqueio funcionam com os tipos de módulo do BlueLiv. Por exemplo, se você quiser receber ameaças apenas dos módulos de hacktivismo, ative a lista de permissões e digite o nome do tipo "Hacktivismo".
Para cada tipo de módulo, há uma estrutura diferente de dados sendo ingerida no Google SecOps. Modifique o mapeamento na sua instância do Google SecOps para atender melhor às suas necessidades. Confira os diferentes valores de "event_type" para cada evento retornado pela BlueLiv.
Para o tipo de ameaça Malware, atualmente fornecemos apenas os dados básicos de eventos. Em breve, vamos adicionar outro evento para lidar melhor com os dados especiais que vêm de um tipo de ameaça de malware.
Configurar o conector BlueLiv - Threats no Google SecOps
Para instruções detalhadas sobre como configurar um conector no Google SecOps, consulte Configurar o conector.
Parâmetros do conector
Use os seguintes parâmetros para configurar o conector:
Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
---|---|---|---|---|
Nome do campo do produto | String | ProductName | Sim | Insira o nome do campo de origem para recuperar o nome do campo do produto. |
Nome do campo do evento | String | event_type | Sim | Insira o nome do campo de origem para recuperar o nome do campo de evento. |
Nome do campo de ambiente | String | "" | Não | Descreve o nome do campo em que o nome do ambiente é armazenado. Se o campo de ambiente não for encontrado, o ambiente será o padrão. |
Padrão de regex do ambiente | String | .* | Não | Um padrão de regex a ser executado no valor encontrado no campo "Nome do campo de ambiente". O padrão é ".*" para capturar tudo e retornar o valor sem alterações. Usado para permitir que o usuário manipule o campo de ambiente usando a lógica de regex. Se o padrão de regex for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final será o ambiente padrão. |
Tempo limite do script (segundos) | Número inteiro | 180 | Sim | Limite de tempo limite para o processo Python que executa o script atual. |
URL da API | String | https://example.blueliv.com/api/v2 | Sim | Raiz da API da instância do BlueLiv. |
Nome do usuário | String | N/A | Sim | Nome de usuário do BlueLiv. |
Senha | Senha | N/A | Sim | Senha do usuário para o BlueLiv. |
ID da organização | String | N/A | Sim | Especifique o ID da organização a ser usado no BlueLiv. |
Voltar o tempo máximo | Número inteiro | 1 | Não | Número de horas de onde buscar eventos. |
Número máximo de ameaças a serem buscadas | Número inteiro | 10 | Não | Quantas ameaças processar por iteração de conector. |
Gravidade | String | Médio | Sim | A gravidade será um dos seguintes valores: "Baixa", "Média", "Alta" ou "Crítica". |
Resultados da análise a serem ingeridos | String (valores: NOT_AVAILABLE, NOT_IMPORTANT, NOT_PROCESSABLE, POSITIVE, NEGATIVE, INFORMATIVE, IMPORTANT) | N/A | Não | Filtre as ameaças pela análise do analista para essa ameaça e ingira apenas as ameaças com o resultado da análise escolhido. Forneça uma lista separada por vírgulas dos resultados de análise desejados para ingestão. |
Rótulos para filtrar | String (lista separada por vírgulas) | N/A | Não | Forneça uma lista separada por vírgulas dos nomes de rótulos que você quer usar como filtro. Preste atenção às letras maiúsculas e minúsculas e escreva os rótulos exatamente como aparecem na interface do BlueLiv. |
Status de leitura a ser ingerido | String (valores: "Somente leitura", "Somente não lidas") | N/A | Não | Filtre as ameaças pelo status de leitura para que o conector faça a ingestão de acordo com ele. Se nenhum valor for fornecido, vamos buscar os dois. Opções: "Somente leitura", "Somente não lidas". |
Ingerir apenas ameaças marcadas com estrela? | Caixa de seleção | Desmarcado | Não | Se marcada, apenas as ameaças marcadas com estrela (favoritas) serão ingeridas. |
Ingerir ameaças relacionadas a incidentes? | String (values:, Only Incidents, Only Non Incidents) | N/A | Não | O conector deve filtrar as ameaças verificando a relação com um incidente. Se nenhum valor for fornecido, vamos buscar os dois. As opções são: "Somente incidentes", que ingere apenas ameaças relacionadas a incidentes, e "Somente não incidentes", que ingere apenas ameaças não relacionadas a incidentes. |
Usar a lista de permissões como uma lista de proibições | Caixa de seleção | Desmarcado | Sim | Se ativada, a lista de permissões será usada como uma lista de bloqueios. |
Verificar SSL | Caixa de seleção | Desmarcado | Sim | Se ativada, verifique se o certificado SSL da conexão com o servidor BlueLiv é válido. |
Endereço do servidor proxy | String | N/A | Não | O endereço do servidor proxy a ser usado. |
Nome de usuário do proxy | String | N/A | Não | O nome de usuário do proxy para autenticação. |
Senha do proxy | Senha | N/A | Não | A senha do proxy para autenticação. |
Regras de conector
Suporte a proxy
O conector é compatível com proxy.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.