Explorando a assinatura de código

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • A assinatura de código pode ajudar a melhorar a segurança validando dados e scripts de configuração de aplicação confidenciais antes que eles sejam usados.

    A assinatura de código cria assinaturas digitais para os dados, que posteriormente são verificadas para confirmar a autenticidade e a integridade dos dados. A assinatura de código é um módulo licenciado como um componente de ServiceNow Vault.

    Nota:
    A equipe Suporte e atendimento ao cliente deve conceder acesso à assinatura de código.

    A assinatura de código declara a intenção por trás da operação que está sendo realizada e valida se o recurso ou registro pode ser usado para a finalidade pretendida. Para facilitar a assinatura de código, o Estrutura de gestão principal (KMF) usa certificados digitais e criptografia assimétrica padrão do setor para assinaturas digitais.

    Use a assinatura de código internamente no lado da plataforma e infraestrutura. A assinatura de código fornece uma maneira de assinar o conteúdo de tabelas específicas ou de um subconjunto de registros em uma determinada tabela de metadados.

    Diagrama de processo da assinatura de código

    A assinatura de código usa um Círculo de confiança (COT) seguro entre suas instâncias confiáveis e protegidas para garantir que somente instâncias confiáveis e autorizadas possam acessar o recurso de assinatura de código.

    Nota:
    A assinatura de código está habilitada na instância protegida e não na instância confiável.

    Casos de uso

    Aqui estão alguns casos de uso comuns de assinatura de código:

    • Evite mudanças de código não autorizadas: certifique-se de que somente scripts, integrações e fluxos de trabalho autorizados sejam implantados em sua instância. Isso protege sua instância contra mudanças mal-intencionadas ou acidentais, reduzindo riscos e custos operacionais.
    • Operações seguras do MID Server e do Hub de integração: evite que registros de fila do ECC não autorizados ou adulterados sejam processados pelo MID Server ou Integration Hub. Isso mantém a integração segura entre a ServiceNow e os sistemas externos.
    • Estabelecer um Círculo de confiança: configure um Círculo de confiança entre suas instâncias confiáveis e protegidas. Isso garante que, mesmo que outras medidas de segurança sejam comprometidas, a integridade do código em execução em sua instância protegida permaneça intacta.
    • Implantações de plug-in seguras: verifique a autenticidade dos plug-ins instalados em sua instância, evitando a introdução de código mal-intencionado ou adulterado de plug-ins de terceiros.
    • Ciclo de vida de desenvolvimento de software seguro (SDLC): integre a assinatura de código ao seu SDLC para garantir que somente o código assinado e testado seja movido do desenvolvimento para sua instância protegida.

    Veja um exemplo de como um Círculo de confiança pode impedir ataques mal-intencionados:

    Suponha que um invasor obtenha acesso a um conjunto de registros e modifique a instrução SQL (Structured Query Language, Linguagem de consulta estruturada) na instância protegida do cliente. O MID Server detecta a solicitação de fonte de dados e executa as mudanças mal-intencionadas do SQL, comprometendo potencialmente sua integridade. No entanto, ao implementar um Círculo de confiança (CoT), os administradores do sistema podem reduzir efetivamente as vulnerabilidades neste cenário:

    1. O administrador atualiza a fonte de dados na instância confiável e assina digitalmente os registros de integração.
    2. Os dados atualizados são enviados com segurança da instância confiável para a instância protegida.
    3. Um agente mal-intencionado tenta atualizar a instância protegida com consultas SQL mal-intencionadas.
    4. O MID Server identifica a solicitação de fonte de dados mal-intencionada.
    5. A solicitação foi rejeitada devido à ausência de uma assinatura digital válida.
    6. Uma mensagem é enviada de volta para a instância protegida do cliente, notificando-o sobre o problema da assinatura digital e confirmando que nenhuma ação adicional é necessária.

    Validação de assinatura de código e trabalhos

    Todas as tabelas de metadados com configurações válidas são assinadas no momento da construção usando o plug-in de metadados Assinatura de códigos ​ (com.glide.code_signing). Se você optar por assinar as tabelas, os usuários administradores com função de administrador de segurança terão acesso aos trabalhos de criptografia de assinatura de código​s:

    • Assinar conjuntos para atualização.
    • Assinar registros em massa.
    • Anexos de assinatura em massa.
    Assinar conjunto de atualizações
    Este trabalho assina os registros que correspondem a uma configuração de assinatura no conjunto de atualizações. O trabalho também adiciona todos os novos registros de assinatura e certificados de verificação no conjunto de atualizações.
    Figura 1. Registro de assinatura KMF para o conjunto de atualizações
    Registro de configuração de assinatura para um conjunto de atualizações.
    Assinar registros em massa

    Este trabalho assina todos os registros que correspondem à configuração de assinatura aplicada em uma tabela de metadados específica​.

    Assinar anexos em massa
    Esta tarefa assina todos os registros de anexo incluídos em uma tabela que corresponde a uma configuração de assinatura especificada​.
    Figura 2. Trabalho de criptografia para assinar registros em massa
    Trabalho de criptografia para assinar registros em massa.