Backporting de correções de segurança
O backporting é um método para aplicar atualizações de segurança importantes a um software.
Utilizamos o termo backporting para descrever o processo em que utilizamos uma correção para uma falha de segurança na versão mais recente de um pacote de software upstream e a aplicamos para versões anteriores dos pacotes que distribuímos.
Backporting é comum entre fornecedores como a Red Hat e assegura que possamos distribuir atualizações automáticas para clientes com risco mínimo. O backporting será um novo conceito para aqueles mais familiarizados com atualizações de software proprietário.
Aqui está um exemplo de por que fazemos backport de correções de segurança:
A Red Hat forneceu a versão 2.0.40 do Apache HTTP Server com Red Hat Linux 8.0. Logo após esse lançamento, uma série de problemas de segurança foi encontrada e divulgada pela Apache Software Foundation. A Apache Software Foundation lançou uma nova versão, Apache HTTP Server 2.0.43, contendo correções para esses problemas. Entretanto, além das correções de segurança, foram feitas várias outras mudanças (correções de erros e novos recursos) entre as versões 2.0.40 e 2.0.43.
Um desses recursos mudou a interface do módulo. Nesse caso, se a Red Hat emitisse uma atualização de segurança com a versão 2.0.43 do Apache HTTP Server, substituindo a versão 2.0.40, qualquer módulo que os clientes estivessem utilizando precisariam ser atualizados (recompilados) para corresponderem à nova interface de módulo. Se os clientes estivessem utilizando módulos de terceiros, teriam que ir procurar o fornecedor dos módulos para obter atualizações. A mudança da versão 2.0.40 para a 2.0.43 do Apache HTTP Server demandaria esforço manual por parte dos administradores do sistema. Tal atualização não seria adequada para sistemas de atualização automática, como a Red Hat Network.
Nesses casos, podemos fazer o backport das atualizações. Ao fazer o backport de correções de segurança, nós:
- identificamos as correções e as isolamos de outras alterações
- certificamo-nos de que as correções não causem efeitos colaterais indesejados
- aplicamos as correções às nossas versões liberadas anteriormente.
Para a maioria dos produtos, nossa política padrão é fazer o backport de correções de segurança, mas algumas vezes oferecemos atualizações de versão para alguns pacotes após teste e análise cuidadosos. Esses provavelmente são pacotes que não interagem com outros, ou aqueles utilizados por um usuário final, como navegadores de Web e clientes de mensagem instantânea.
Compreendendo a numeração de versões
O backporting tem uma série de vantagens para os clientes, mas pode gerar confusão quando não for compreendido. Os clientes precisam estar cientes de que apenas saber o número da versão de um pacote não será suficiente para saber se eles estão vulneráveis ou não. Por exemplo, notícias da imprensa podem incluir frases como "atualização para o Apache httpd 2.0.43 para corrigir o problema", que consideram apenas o número da versão mais recente. Isso pode causar confusão, pois depois de instalar os pacotes atualizados a partir de um fornecedor, provavelmente você terá a versão mais antiga com as correções de backport aplicadas.
Algumas ferramentas de varredura e auditoria também tomam decisões sobre vulnerabilidades com base somente no número da versão de componentes que eles encontrarem. Isso resulta em falsos positivos, pois as ferramentas não consideram correções de seguranças feitas por backporting.
Desde a introdução do Red Hat Enterprise Linux, tivemos o cuidado de explicar se corrigimos um problema em especial movendo para uma nova versão recente ou fazendo backporting de correções à versão existente. Anexamos os nomes CVE em todas as nossas notificações desde janeiro de 2000, permitindo que os clientes façam referência cruzada das vulnerabilidades e descubram como e quando as corrigimos, independentemente dos números das versões.
Também fornecemos definições OVAL (notificações compatíveis com linguagem de máquina) que as ferramentas de vulnerabilidade de terceiros podem usar para determinar o status das mesmas, inclusive quando as correções de segurança tiverem sido feitas através de backporting. Com isso, esperamos acabar com a confusão sobre o backporting e facilitar este processo afim de manter os clientes seguros.