Parece que estamos prestes a atingir um marco histórico na história da computação. Como todos sabem, a maioria do software existente (e isso engloba tudo: desde sistemas operativos a browsers, e tudo o resto que faz o vosso computador "mexer") sofre invariavelmente de bugs que, mais tarde ou mais cedo, acabam por causar algum problema.
É por isso que actualmente se torna indispensável manter o software constantemente actualizado, com as frequentes correcções e updates de segurança que visam colmatar os erros mais críticos que sejam detectados.
No entanto, isso é um processo moroso e complicado, que pode demorar horas, dias... ou até mesmo meses ou anos - e no pior caso, nem sequer ser corrigido, caso se trate de software já antigo que deixou de ser suportado.
Com toda a potência computacional existente actualmente, não seria interessante arranjar um método mais eficiente? E que tal se deixássemos essas correções a cargo de um programa encarregado de corrigir outros programas?
É isso mesmo que começa a ser possível: com software que se corrije a ele próprio.
A ideia é simples, um programa monitoriza continuamente a execução de outros programas em tempo real, na sua forma binária (e sem necessidade do seu código fonte, o que lhe permite funcionar com todo o tipo de software proprietário e "fechado") e analisa o seu comportamento.
Quando algo corre mal, o sistema consegue detectar e impedir o funcionamento do programa; analisando o que se passou e tentando vários métodos de correcção que são testados nas mesmas condições. As correcções que não funcionarem são prontamente eliminadas, até que eventualmente uma delas resolva o problema.
Este sistema ClearView foi testado com o Firefox, tendo sido pedido a várias equipas que "atacassem" o browser utilizando 10 tipos de vulnerabilidades... Em todas elas o ClearView detectou e terminou a execução do programa antes que os ataques pudessem ter algum efeito. Para sete dos casos, o sistema conseguiu criar correcções que resolveram esse problema.
Claro que o sistema não é perfeito, e muitas vezes as correcções implementadas poderão não ser as pretendidas... No entanto não deixa de ser interessante este método de auto-correcção de software, que poderá ter um papel cada vez mais importante na crescente complexidade de programas que utilizamos.
É que, um sistema deste tipo pode fazer com que possamos usar software em segurança, mesmo se os seus criadores não lançarem actualizações para os corrigir.
No entanto, uma pergunta permanece: será o ClearView capaz de se corrigir a ele próprio quando detectar um erro na sua execução? ;)
2009/10/30
Subscrever:
Enviar feedback (Atom)
Hummm, veio-me à cabeça o nome Skynet :)
ResponderEliminar