Falhas do tipo CWE-1298

3 resultados

Condições de corrida na lógica de hardware

Ocorre quando múltiplos sinais ou operações no circuito digital acessam o mesmo recurso simultaneamente, causando comportamento impredizível. O hardware não sincroniza corretamente essas operações paralelas, levando a estados inconsistentes ou resultados não determinísticos que comprometem segurança ou integridade.

Exemplo

Dois núcleos de processador tentam atualizar uma flag de autorização na memória cache no mesmo ciclo de clock sem mecanismo de lock. Dependendo da ordem de execução não garantida, a flag pode ficar em estado intermediário, permitindo acesso não autorizado ou negando acesso legítimo.

Como mitigar

Implementar sincronização explícita com mecanismos como mutex, semáforos ou barreiras de memória na lógica de hardware; usar protocolos de coerência de cache (como MESI) e validar o design através de simulação formal e testes de stress para detectar cenários concorrentes não tratados.