Definition

Patch de software

Um patch ou correção de software é um trabalho de correção rápida para uma peça de programação projetada para resolver problemas de funcionalidade, melhorar a segurança ou adicionar novos recursos.

Ao longo de sua vida, o software encontrará problemas chamados bugs. Um patch é a solução imediata para esses problemas. Os usuários finais ou de TI geralmente podem baixar um patch do site do fornecedor do software. Mas o patch não é necessariamente a melhor solução para o problema, e os desenvolvedores de produtos muitas vezes incorporam uma solução mais completa quando fazem a próxima atualização ou lançamento completo do software.

O criador do patch normalmente o desenvolve e distribui como uma substituição ou inserção no código compilado –ou seja, em um arquivo binário ou módulo de objeto. Sistemas operacionais (SOs) maiores geralmente fornecem software especial para ajudar a TI a gerenciar e rastrear instalações de patches. O esforço coletivo dentro de uma organização para identificar, agendar e distribuir patches é conhecido como gerenciamento de patches.

Tipos de patches de software

Os patches de software geralmente se enquadram em três categorias. No entanto, um único patch pode pertencer a mais de uma categoria. Essas atualizações de software incluem correções de bugs, atualizações de segurança e atualizações de recursos:

  • Patches de correção de bugs. Esses problemas corretos no software ajudam o software a funcionar melhor e reduzem a probabilidade de falha.
  • Patches de segurança. Eles abordam vulnerabilidades de segurança conhecidas, tornando o software mais seguro.
  • Patches de recursos. Eles adicionam novos recursos ao software. Por exemplo, a Microsoft já forneceu atualizações de recursos semestrais para o sistema operacional Windows 10.

Como os patches funcionam em diferentes dispositivos

Os patches de software dependem da plataforma. Um patch para um aplicativo de PC não seria adequado para uso em um dispositivo com Apple iOS. Dada a variedade de tipos de dispositivos na maioria das organizações, é comum usar uma ferramenta automatizada de gerenciamento de patches que ofereça suporte a PCs e a uma variedade de sistemas operacionais móveis.

Essa prática é comumente conhecida como gerenciamento centralizado de patches. Uma ferramenta de gerenciamento de ativos de TI é usada para identificar dispositivos que exigem patches, avaliar seu status de patch e, em seguida, distribuir patches aos dispositivos relevantes. Essa ferramenta também pode criar relatórios para que os departamentos de TI possam rastrear patches ao longo do tempo.

Por que os patches são importantes

As correções de bugs resolvem problemas de funcionalidade e são uma parte fundamental do gerenciamento de vulnerabilidades. As atualizações de recursos fornecem recursos adicionais ao software.

Um patch de segurança é particularmente importante porque aborda riscos e vulnerabilidades de segurança conhecidos. Quando um fornecedor lança uma atualização de segurança, ele alerta a comunidade hacker de que existe uma vulnerabilidade naquele software. Nesse ponto, os hackers começam a procurar ativamente maneiras de explorar a vulnerabilidade conhecida e as cópias não corrigidas do software a serem exploradas. Quanto mais cedo uma organização instalar um patch de segurança, mais rapidamente ela estará protegida contra a vulnerabilidade associada.

Como saber quais patches de software instalar

Os fornecedores geralmente oferecem informações sobre patches e atualizações de software para seus aplicativos e dispositivos. Os dispositivos podem ter atualizações de patch em uma opção de configurações facilmente acessível ao usuário ou que inclui um alerta pop-up. Um aplicativo pode ser programado para instalar ou verificar atualizações automaticamente, e alguns provedores oferecem a seus clientes a opção de recebê-las automaticamente. As notificações também desempenham um papel crucial ao lembrar os usuários sobre patches que precisam ser instalados.

Para atualizações opcionais, como melhorias de funcionalidade e novos recursos, o usuário pode pesquisar no site de um provedor para encontrá-las. Verificar o site de um provedor garante que você receba uma atualização de uma fonte confiável e não de uma fonte não confiável, como um e-mail não solicitado. Sites verificados terão informações detalhadas sobre a atualização para determinar sua veracidade e também poderão ter comentários de outros usuários para apontar eventuais problemas.

Melhores práticas de gerenciamento de patches

Existem várias práticas recomendadas para gerenciamento de patches. Eles incluem o seguinte:

  • Programação. Os administradores devem estabelecer cronogramas que garantam que novos patches sejam identificados regularmente e aplicados rapidamente.
  • Colaboração. Diferentes equipes técnicas, como grupos de segurança cibernética e de engenharia de software, devem trabalhar juntas para implantar patches e decidir quais tecnologias e procedimentos serão usados. Funções e responsabilidades claras devem ser delegadas a cada pessoa envolvida.
  • Fluxos de trabalho de recuperação de desastres. Os processos de gerenciamento de atualizações podem apresentar problemas em caso de tempo de inatividade causado por interrupções ou problemas de conectividade. Os fluxos de trabalho de recuperação de desastres são fundamentais para saber quais são os planos de backup nesses casos.
  • Automação. O software de gerenciamento de patches pode ser configurado para realizar atualizações automáticas, simplificando a distribuição de patches para vários aplicativos e dispositivos usados por uma organização. As implantações automáticas de atualização de patches podem ocorrer semanalmente ou com maior ou menor frequência, dependendo das necessidades da organização.
  • Priorização de patches. Quando muitos patches são necessários, priorizar atualizações críticas primeiro reduz a probabilidade de ataques cibernéticos, como malware ou ransomware ou outras violações de segurança.
  • Flexibilidade de gestão. Os administradores normalmente desejam gerenciar novos patches em tempo hábil. No entanto, se a aplicação de patches interferir no trabalho dos funcionários, os administradores deverão ser flexíveis para que os funcionários possam concluir tarefas críticas antes de implantar os patches. Isto, juntamente com muitas outras considerações, deve ser refletido nas suas políticas de segurança.
  • Teste patches. Os testes devem ser realizados rigorosamente para garantir que os patches não causem problemas ou interrupções.

A diferença entre atualizações manuais e automáticas

A diferença entre atualizações automáticas e manuais gira em torno da eficiência e da quantidade de controle ou personalização que os desenvolvedores têm sobre cada uma. As atualizações automáticas exigem pouca reflexão ou esforço por parte dos desenvolvedores. Porém, existe a possibilidade de que acabem sendo desnecessários ou até prejudiciais se aplicados de forma incorreta e sem supervisão. Embora os sistemas operacionais modernos normalmente ofereçam a capacidade de aplicar atualizações automaticamente, as equipes de desenvolvimento podem optar por fazer algumas atualizações manualmente.

Com uma atualização manual, uma pessoa controla o processo. Eles geralmente são usados quando há uma razão convincente para ter esse controle. Por exemplo, as atualizações manuais são usadas quando as atualizações de recursos precisam se adequar à forma como um sistema está configurado e para evitar problemas de compatibilidade.

A desvantagem de um processo manual de gerenciamento de patches é que a pessoa que executa a atualização precisa procurá-la e dedicar algum tempo para executá-la. A abordagem automática, por outro lado, é melhor para atualizações de segurança, pois garante que atualizações importantes sejam feitas com rapidez suficiente para evitar a exploração de vulnerabilidades.

Políticas de gerenciamento de patches e software de automação de patches

Muitas organizações têm políticas de gerenciamento de patches que estipulam como avaliar e aplicar patches. Essas políticas normalmente designam o prazo dentro do qual a TI deve aplicar o patch e como testá-lo para garantir que ele não cause problemas –como problemas de compatibilidade– para a organização.

Existem inúmeras opções para automatizar o gerenciamento de patches. A Microsoft, por exemplo, oferece uma ferramenta gratuita chamada Windows Server Update Services (WSUS), que automatiza o gerenciamento de patches para software Microsoft.

O Windows Update, um serviço gratuito de manutenção e suporte, pode baixar e instalar automaticamente patches para o sistema operacional Windows e outros softwares da Microsoft. No entanto, existem algumas vantagens em usar o WSUS. Por exemplo, o WSUS dá aos administradores controle sobre quais patches o Windows Update aplica. Ele também economiza largura de banda da Internet porque baixa cada patch uma vez e depois o distribui por toda a organização, em vez de cada PC baixá-lo individualmente.

O WSUS só é capaz de gerenciar patches para produtos Microsoft. A Microsoft e vários aplicativos de terceiros oferecem outras opções de gerenciamento de patches que podem automatizar os processos de aplicação de patches para software que não seja da Microsoft.

O papel da TI na distribuição de patches

Os departamentos de TI devem monitorar periodicamente as comunicações de seus fornecedores de aplicativos e dispositivos em busca de alertas de patches. A TI é responsável pelo teste e distribuição de patches. Ele também realiza auditorias periódicas para determinar se algum dispositivo está com patches ausentes. Algumas organizações terceirizam essas tarefas para um provedor de serviços gerenciados.

Os administradores de patches devem estar cientes de como o processo de atualização pode interromper as operações comerciais. Eles devem priorizar os patches, aplicar os críticos rapidamente e agendar estrategicamente os patches menos críticos.

As plataformas de software normalmente automatizam o gerenciamento de patches. No entanto, se este software de automação parar de funcionar por algum motivo, a TI terá que intervir e cumprir esta função. Fluxos de trabalho eficazes devem documentar esses procedimentos de emergência com funções claras para os departamentos de TI. Finalmente, se surgirem problemas com patches, a TI deverá supervisionar sua resolução.

Este conteúdo foi atualizado pela última vez em Agosto 2024

Saiba mais sobre Auditoria e conformidade