Muitas empresas e gestores de TI convivem com um dilema difícil de resolver: conviver com o risco de manter os softwares antigos sem suporte do fabricante ou atualizar os softwares e correr risco de tem problemas decorrentes da migração para a nova versão do software? Na maioria das situações, ambas opções geram riscos de segurança da informação que podem afetar o negócio das empresas.
O objetivo deste artigo é ajudar a tomada de decisão entre aceitar os riscos de manter um software obsoleto (End of Life) ou fazer a atulização necessária.
Para esta análise consideramos como sendo software, os sistemas operacionais, sistemas de banco de dados, servidores web, servidores de email, bibliotecas usados por outros softwares, aplicações web de negócios, aplicativos de dispositivos móveis, etc.
O ciclo de vida de um software pode variar de empresa para empresa desenvolvedora. Algumas empresas definem um cronograma do ciclo de vida de um software considerando as etapas: encerramento do desenvolvimento de novas funcionalidades, encerramento de correção bugs, encerramento do serviço de suporte, encerramento de correção vulnerabilidades de segurança, etc.
Normalmente um software obsoleto possui uma série de vulnerabilidades conhecidas e divulgadas nas comunidades de segurança da informação e incorporadas nos produtos de segurança da informação como, por exemplo, scanner de vulnerabilidades, IDS/IPS, SIEM e outras tecnologias de segurança de rede e aplicações. Para estas vulnerabilidades não é muito difícil encontrar na internet, exploits (scripts ou programas para explorar uma vulnerabilidade) prontos para serem usados. Ou seja, é fundamental que, caso você tenha em seu ambiente de TI, um software obsoleto, todas as correções de segurança disponibilizadas estejam devidamente aplicadas.
Porém, mesmo que você tenha aplicado todas as correções de segurança, podem existir vulnerabilidades que foram descobertas depois que a empresa desenvolvedora parou de disponibilizar correções de segurança. Neste caso, você só poderá eliminar este tipo de vulnerabilidade com remendos desenvolvidos por terceiros ou adotar outro tipo de contramedida. O que nem sempre é uma boa solução.
Analisando a melhor forma de eliminar ou mitigar os riscos envolvidos no uso de software obsoleto, a solução parece bastante simples: migrar o software para uma versão mais nova. Correto? Correto pode ser, mas nem sempre é a opção mais segura ou mais viável para executar.
Por exemplo, vamos considerar uma aplicação web de negócio que é fundamental para uma empresa. Esta aplicação está em operação há mais de 8 anos sem histórico de problema ou incidente de segurança. Está aplicação web roda num servidor IIS 6.0 e no Windows 2003 Enterprise Edition, ambos sem nenhum suporte ou desenvolvimento de novas correções de segurança por parte Microsoft. Para eliminar as vulnerabilidades que estes softwares possuem e que não são poucas, a empresa terá que migrar o servidor web para uma nova versão do Windows e do serviço web IIS.
Existe o risco da aplicação apresentar incompatibilidade o novo IIS e/ou com a nova versão do Windows. Para evitar este problemas, a aplicação deve ser migrada, testada e homologada detalhamente no novo ambiente. Esta migração carrega riscos inerentes às implantações e mudanças nos ambiente de TI. A análise destes riscos deve considerar como um eventual incidente nesta aplicação web irá impactar o negócio da empresa.
O resultado desta análise pode levar a conclusão de que o risco de migrar a aplicação web é maior do que a convivência com software obsoletos. Pode também definir a necessidade de controles adicionais como, por exemplo, segração da aplicação web em uma rede isoloada por firewall ou a implantação de web application firewall.
Ou por outro lado, pode-se chegar a conclusão que a migração dos softwares obsoletos é a melhor solução para eliminar as vulnerabilidades e diminuir os riscos de segurança da informação. Não é possível fazer uma recomendação generalizada sem conhecer o ambiente específico de cada situação, o negócio e o perfil de risco da empresa.
Conformidade e governança
Quando analisamos o uso de software obsoleto ou em EOF sob a ótima de governança corporativa podemos ser mais objetivos.
O nível de governança depende muito de como os níves de controle podem ser comprovados pelas partes interessadas extenas ao ambiente da empresa.
Se você for analisar uma empresa na qual você não conhece a sua estrutura interna, as pessoas ou os processos internos e, se você constatar que esta empresa convive com software obsoletos, você certamente irá considerar esta situação como um ponto negativo, mesmo que existam inúmeras justificativas para esta situação.
Com exemplo, vamos considerar duas normas de segurança da informação conhecidas, a ISO/IEC 27.001 e o PCI/DSS.
De acordo com o requisito 6.2 do PCI/DSS, os patches de segurança críticos devem ser aplicados em até um mês após o lançamento, o que fica impossível de cumprir este requisito, caso o software esteja em End of Life.
Requisito 6.2 do PCI/DSS 1: “Certifique-se de que todos os componentes do sistema e softwares estejam protegidos de vulnerabilidades conhecidas instalando os patches de segurança aplicáveis disponibilizados pelos fornecedores. Instale patches de segurança críticos em até um mês após o lançamento.“ |
A norma ISO/IEC 27001 e ISO/IEC 2002 é mais abrangente e tem um enfoque maior na avaliação dos riscos associados à vulnerabilidade identificada.
Item d) do controle 12.6.1 “Gestão de vulnerabilidades técnicas ” da norma da norma ISO/IEC 27002: “uma vez que uma vulnerabilidade técnica potencial tenha sido identificada, convém que a organização avalie os riscos associados e as ações a serem tomadas; tais ações podem requerer o uso de emendas de correções (patches) nos sistemas vulneráveis e/ou a aplicação de outros controles.“ |
Considerações finais
Manter softwares obsoletos é um risco muito grande devido a existência de vulnerabilidades sem correções e a contínua possibilidade de novas vulnerabilidade serem descobertas.
Sob o ponto de vista de governança corporativa, seguir uma política de não usar software obsoletos (em End of Life) irá facilitar a obtenção de conformidade com as boas práticas de mercado.