O que a SWIMA padroniza
A SWIMA é uma especificação de protocolo, não um software que você instala por conta própria. Ela define as mensagens de requisição e resposta que um sistema de avaliação (a parte que quer saber o que está instalado) e um endpoint (a máquina inventariada) trocam durante uma sessão de avaliação de postura. A especificação fixa a estrutura da mensagem e os atributos que cada registro de software deve conter. Assim, qualquer cliente e qualquer servidor em conformidade podem interoperar, independentemente de quem construiu cada lado.
O objetivo é eliminar o achismo na coleta de inventário de software. Em vez de uma ferramenta de monitoramento interpretar o formato proprietário que cada agente emite, a SWIMA dá aos dois lados um esquema de mensagem único e versionado. Encontrar o software continua sendo tarefa da descoberta automatizada de ativos de TI; a SWIMA padroniza como o resultado é reportado.
Como funciona uma troca SWIMA
A SWIMA funciona como um tipo de mensagem dentro do protocolo IF-M (Interface for Message) da arquitetura TNC. Esse protocolo é transportado pelo framework mais amplo Network Endpoint Assessment (NEA), usado para controle de acesso à rede e verificações de postura.
Na prática, a troca segue um padrão de requisição e resposta, com uma assinatura opcional:
- 1
Requisição
O sistema de avaliação pede todo o software, um subconjunto ou apenas as mudanças.
- 2
Resposta
O endpoint devolve os registros correspondentes com os atributos padrão.
- 3
Assinatura
Opcionalmente, o endpoint envia mensagens quando há instalações, atualizações ou remoções.
A SWIMA e as tags SWID
A SWIMA foi feita para funcionar com tags de identificação de software (SWID). Uma tag SWID é o padrão complementar que dá a cada produto de software instalado um registro estruturado de identidade: nome, versão, fabricante e um ID único de tag, normalmente incorporado pelo próprio instalador do software. Uma tag SWID identifica um único software. A SWIMA é o transporte que permite ao endpoint entregar um conjunto dessas identificações, ou evidências derivadas delas, a quem pedir. As duas especificações devem ser usadas juntas: a SWID define como é um registro de software, e a SWIMA define como ele é reportado.
Um endpoint sem tags SWID para determinada aplicação ainda pode ser solicitado a reportar outras evidências coletadas, como software identificado pelo conjunto de atributos do próprio registro SWIMA. No entanto, os resultados mais fortes e mais interoperáveis vêm de software com tag SWID combinado ao transporte SWIMA.
Tags SWID e SWIMA lado a lado
Os dois padrões cobrem partes diferentes do mesmo trabalho. A tabela mostra qual parte cada um trata:
| Capacidade | Tag SWID | SWIMA |
|---|---|---|
| Identifica um produto de software pelo nome, versão e fabricante | ||
| Define as mensagens que carregam os registros de software | ||
| Permite ao sistema solicitante pedir um subconjunto ou só as mudanças | ||
| Normalmente incorporada pelo próprio instalador do software |
Onde a SWIMA é usada
A SWIMA é uma especificação formal e interoperável, não um padrão de fato da indústria. A maioria das ferramentas comerciais de inventário de ativos de TI e gestão de endpoints coleta dados de software instalado com protocolos de agente e conjuntos de atributos próprios, como o System Center Configuration Manager (SCCM). Algumas mapeiam esses dados, opcionalmente, para campos no estilo SWID ou SWIMA, para trocá-los com cadeias de ferramentas governamentais ou orientadas a padrões.
A SWIMA faz parte do esforço maior de Security Automation and Continuous Monitoring (SACM). O SACM padroniza como as organizações verificam continuamente a postura de segurança de seus endpoints, em vez de depender de auditorias manuais periódicas. Os consumidores típicos dos dados SWIMA incluem:
| Consumidor | O que faz com os dados |
|---|---|
| Sistemas de controle de acesso à rede (NAC) | Verificam o software instalado ao decidir se um dispositivo pode se conectar |
| Plataformas de monitoramento contínuo | Permitem que ferramentas de fornecedores diferentes alimentem um só pipeline de monitoramento |
| Ferramentas de gestão de vulnerabilidades | Cruzam os produtos instalados com avisos de vulnerabilidade conhecidos |
Erros comuns
Grande parte da confusão sobre a SWIMA começa na pergunta sobre o que ela é. Três erros aparecem com frequência em projetos de gestão de software:
- Procurar a SWIMA como uma ferramenta para instalar, quando ela apenas define o formato da mensagem.
- Presumir que toda aplicação tem tag SWID. Software sem tag ainda pode ser reportado por outras evidências, mas os resultados mais fortes exigem software com tag.
- Esperar que a SWIMA substitua o agente de inventário. A maioria dos produtos mantém seus próprios protocolos de agente e mapeia os dados para a SWIMA só quando uma integração precisa.
Por onde começar
Comece pela pergunta que o inventário precisa responder: qual software roda em qual endpoint e com que rapidez essa resposta precisa mudar. Se uma lista mensal basta, um formato padrão de mensagem acrescenta pouco. Se outras ferramentas precisam reagir a cada instalação ou remoção, o reporte no estilo SWIMA se justifica. Do lado do produto, o inventário de software da Anexet lê os programas instalados por meio dos próprios agentes nas estações de trabalho, e os dados ficam na infraestrutura do cliente.
Na prática, a SWIMA importa mais onde as organizações precisam comprovar um monitoramento contínuo, interoperável e padronizado, por exemplo para atender a diretrizes federais de automação. Raramente é o mecanismo de coleta do dia a dia em um produto comercial típico de inventário.
Uma mensagem padrão só ajuda quando os dois lados concordam sobre o que significa um registro de software.
