Cortar o pio às máquinas infectadas. Ou não?

Scott Charney, Microsoft, Corporate Vice President, Trustworthy Computing:

Tal como um indivíduo que não foi vacinado coloca a saúde dos outros em risco, os computadores que não estão protegidos, ou que foram comprometidos com um bot, põem os outros em risco e representam uma ameaça para a sociedade. No mundo físico, organizações de saúde locais, nacionais e internacionais, identificam, acompanham e controlam a disseminação de doenças e [este controlo] pode incluir, quando necessário, a quarentena de pessoas para evitar a infecção de outras. Dito de uma forma simples, precisamos melhorar e manter a saúde dos dispositivos dos consumidores ligados à Internet, para evitarmos riscos maiores para a sociedade. Para concretizar esta visão, há medidas que podem ser tomadas por governos, pela industria do IT, pelos fornecedores de acesso à Internet, pelos utilizadores, e por outros, para avaliar a saúde dos dispositivos dos consumidores, antes de autorizar o acesso sem restrições à Internet, ou outros recursos críticos.

in The need for Global Collective Defense on the Internet, um artigo de opinião que elabora sobre o tema das medidas necessárias para enfrentarmos o malware generalizado, e que é desenvolvido num paper que serviu de base a um discurso que proferiu na conferência Security Solutions Europe, em Berlim. O documento intitula-se Collective Defense: Applying Public Health Models to the Internet, representa uma posição da Microsoft, e, tal como este excerto indica claramente, esta posição defende, mais coisa, menos coisa, que as máquinas que estiverem infectadas devem ser desligadas da rede e levadas ao Hospital. Figuradamente, bem entendido.

É muito fácil encontrarmos argumentos que suportem esta visão; não é tão fácil concretizá-la, nem é tão fácil resolver este problema de outras formas quaisquer. Mesmo assim, e aceitando a legitimidade e o valor desta visão, parece-me uma medida draconiana para resolver um problema que, na sua génese, não pertence à classe dos desafios da Mãe Natureza, nem, para os mais religiosos, à classe dos designios comandados por Deus. Ou seja, dito de outra forma, não é um desafio que foi lançado por outrem: somos nós, humanos, que desenhamos e desenvolvemos o software (ou, melhor, é a Microsoft e outros fornecedores de programas).

A capacidade de execução e proliferação de malware encontra as suas causas em dois factores principais: nas vulnerabilidades dos sistemas operativos e programas, e na incapacidade dos utilizadores distinguirem as aplicações legítimas de uma bicharada qualquer.

Em relação ao primeiro factor, é muito óbvio (pelo menos para mim), que os processos de avaliação da qualidade do software ainda têm espaço para serem melhorados – existem sistemas cujas equipas de desenvolvimento analisam sistemáticamente o código, em múltiplas e incontáveis iterações, na procura e resolução de erros (sim, as vulnerabilidades são, na sua essência, erros de programação). Um exemplo? Na classe dos sistemas orientados para servidores e estações X11, o OpenBSD. Este modelo pode e deve ser adoptado por muitas empresas que desenvolvem aplicações.

Em relação ao segundo factor, a incapacidade de distinguir o trigo do joio, parece-me que há três medidas que podem (e devem, na minha opinião) ser adoptadas: a primeira, é a identificação das entidades, individuais ou colectivas, que são responsáveis pelo desenvolvimento de cada aplicação. A identificação e, como é óbvio, a responsabilização formal pelo resultado da execução destas aplicações. Associado a este procedimento, é imperativo atribuir assinaturas digitais para garantir que, de facto, um programa que vamos transferir e executar foi desenvolvido por uma entidade reconhecida, responsável, e de confiança. A segunda medida, que só pode ser adoptada na sequência da primeira, é o desenvolvimento de mecanismos de segurança, ao nível dos sistemas operativos, que impeçam a execução de software que não tenha sido assinado digitalmente. Finalmente, a última das recomendações, passa pelo estabelecimento de um track record dos fornecedores de aplicações que visa, no limite, identificar e atribuir uma classificação de confiança a cada uma das entidades. Esta classificação pode ser utilizada pelos consumidores, em última instância, no processo de tomada de decisão quanto à adopção de uma determinada aplicação.

A visão da Microsoft, repito-o, é uma visão que tem valor e é facilmente suportável. No entanto, parece-me que devemos pensar mais um bocado antes de cortarmos o pio a estas máquinas. Porquê? Por várias razões: primeiro, porque podemos estar a abrir uma caixa de Pandora quando dizemos que os ISPs vão poder (ou ser obrigados) a limitar o acesso à Internet, em função de uma avaliação de saúde de cada máquina. Quem avalia? Como avalia? Qual é o limite de intervenção de um hospital nessa análise? Como se garante que não são cometidos excessos quando as máquinas forem ao médico?... E a segunda razão, mais importante e colocada sob a forma de uma pergunta, é a seguinte: não estaremos nós a resolver um problema que nasce da forma como os programas são feitos e publicados, sem termos a capacidade de distinguir quem é quem, e, dessa forma, a legitimar a produção de software de qualidade inferior?

Food for thought.