sábado, 13 de dezembro de 2008

Cap 3 - Remoção de Malwares - Teoria

Usar anti-vírus ou realizar procedimentos manuais?
Infelizmente muitos ainda realizam esse tipo de pergunta, mas como analistas de malwares devemos enteder o por quê dessa cultura e saber pontuar as respotas, vejamos:

Remoção Automatizada com Anti-Vírus
O software de anti-vírus, como um recurso de automatizar a localização, identificação e remoção de malwares, é de conhecimento popular e já aceito como um padrão de segurança junto aos usuários leigos. Hoje, referenciado como uma medida de prevenção e contenção de vírus de computadores.

Sua história começa por volta de 1988, após a grande desordem internacional provacada pelo vírus/worm de Morris, o Internet Worm de 1988, um projeto acadêmico que acidentalmente estrapolou os limites previstos por seu criador. Após este marco histórico, a preocupação das autoridades internacionais em relação aos vírus de rede (worms) começou a crescer, foram criadas comunidades internacionais de pesquisa e contenção dessas ameaças, órgãos e organizações, empresas comerciais também viram nesse incidente um novo mercado, e nasce assim os softwares de antí-vírus.

Como um software voltado ao usuário final, que nesta época crescia exponencialmente com a comercialização dos computadores IBM PC Compatibles e da Internet, seu objetivo final era proporcionar alta usabilidade e eficiência no combate aos vírus de computador. Entretando, a partir do início da década de 90, o mundo começa a presenciar modificações significativas nas estruturas dos vírus, alguns sendo meras mutações, mas outros tendo forma, estrutura e objetivos completamente diferentes. Hoje, em 2008, denominamos essas formas de malwares, e incluímos como um grupo pertencente a esta classificação os vírus de computadores.

Infelizmente os softwares anti-vírus não conseguiram acompanhar a evolução dos malwares (assunto esse que merece um novo capítulo posterior sobre o histórico dos malwares), porém sendo amplamente utilizado, comercializado e recomendado para o usuário final. O que se tem percebido desde 1990 é o esforço individual de várias empresas no combate de certos tipos de malwares. Porém, cada empresa se especializando em um tipo específico de malware e não no controle de malwares.

É apenas em meados de 2007 que começam a chegar no mercado verdadeiros softwares de anti-malwares, e não mais de anti-vírus. O que promete mudar o cenário atual de segurança da informação. Apenas para pontuar, os softwares anti-malwares são compostos por: firewall pessoal, anti-spyware, anti-vírus, proteção contra desabilitadores de anti-vírus, anti-rootkits, anti-trojans, entre outras ferramentas que mencionaremos mais a frente em outro capítulo.

Por fim, muitos administradores de redes, se viram por muito tempo a mercê de um software, que prometia proteção e segurança, mas que era continuamente falho, e muitos desses administradores acabaram por internalizar a cultura da convivência pacífica com os malwares, sendo: "Se eles existem, estão na minha rede, estão nas minhas máquinas, mas não me atrapalham, então deixa viver!". E cultura essa que também se enraizou entre os usuários domésticos, porém esses pela ausência de informações mais precisas.

Apesar do discurso quase que anti-favorável aos softwares de anti-vírus, porém farei agora um contra ponto a fim de mostrar que esse tipo de software é útil, e por se dizer bastante útil, vejamos:

Mesmo apresentando falhas homéricas na detecção e combate aos malwares, os software de antí-vírus sempre cumpriram bem sua função que seria a detecção e combate aos vírus de computadores. Limitados pelas tecnologias que os criaram e seus desenvolvedores, esses softwares sempre se encaixaram bem em determinados nichos de mercados, como por exemplo: sempre houve um execelente software de anti-vírus para aqueles usuários domésticos que apenas utilizavam disquetes, Internet para pesquisa acadêmica e softwares de escritórico. Como também sempre houve um outro software de anti-vírus exelente para o público de estações de trabalho corporativas, que adotavam rígidos controles de segurança. Em fim, sempre houveram excelentes softwares de anti-vírus para públicos específicos de soft-user, heavy-user, corporative-user, servidores de rede e outros. Porém, para alguns públicos como: hard-users, administradores de redes e usuários avançados, sempre foi claro não haver nenhuma solução única de anti-vírus que resolvessem seus problemas. E porque isso acontecia? Resposta: porque não era a finalidade do software. E porque não criar um software que atendesse esse público? Resposta: porque o estudo de malwares é novo e ainda não compreendido em sua totalidade por todos que estão neste mercado. Quando o for, e como dito anteriormente que seu início teve origem em 2007, então isso será uma página virada na história dos software de combate as pragas virtuais.

Resumindo, o software anti-vírus é altamente recomendado e eficiente em um determinado contexto de usuário, onde será as atividades realizadas pelo usuário que determinarão qual o melhor software de anti-vírus que atenderá suas necessidades. Quando adotada soluções genéricas ou não previamente estudadas, os riscos do software não se adequar serão sempre de 50%.

Remoções Manuais
Como vimos anteriormente, os softwares de anti-vírus são voltados para públicos específicos de usuários. Alguns tipos de usuários, como: hard-users (usuários que testam muitos jogos, muitos programas diferentes e que são verdadeiros fuçadores de computadores), administradores de redes e usuários avançados (parecidos com os hard-users, mas que utilizam vários computadores ao mesmo tempo) estariam desacobertados de soluções automatizadas. Além desse público excluído, ainda entra em pauta a questão da solução de anti-vírus que foi mal empregada em um determinado usuário, e que por consequência conduziou a infecção do host. Como ficariam esses usuários se não houvesse uma alternativa aos softwares de anti-vírus?

Apesar da explicação acima esclarescer alguns pontos sobre a necessidade de procedimentos manuais, entretando a história na verdade começa por outro ângulo: no começo dos tempos, por volta de 1970, quando ainda não eram previstos os softwares de anti-vírus, entretando o combate a processos maliciosos já existiam. Nesta época, dominada por computadores Mainframes, sistemas Unix e redes coaxiais, os administradores de redes e de sistemas, denominados de sysadmin (System Administrator) e seus sysops (System Operators) já se preocupavam com o combate e prevenção de ameaças a seus sistemas e redes. Muitos desses procedimentos foram simplificados pelo uso da linguagem de programação BATCH, que auxiliava os sysadmins e sysops na automatização de procedimentos repetitíveis.

Geralmente esses procedimentos envolviam a pesquisa em áreas como: serviços em execução na memória RAM da máquina, processos inicializados automaticamente quando do início do sistema operacional, serviços e processos acessando recursos da rede e finalmente pelo comportamento anômalo de determinado serviço ou processo legítimo do sistema operacional, entre outros.

Nasce assim, de forma informal, gerada pela troca de comunicação entre comunidades de informática da época, procedimentos manuais, facilitados pelo uso de programação em BATCH, para o combate de processos maliciosos. Foram esses procedimentos manuais, que em 1988 mostraram seus diferenciais, ao interceptarem, decodificarem e solucionarem o problema do Internet Worm de 1988.

Podemos assim dizer que, as soluções de anti-vírus que decorreram deste marco, foi uma forma de transferir os scripts BATCHS, desenvolvidos por sysadmins e sysops, para executáveis nos computadores dos usuários finais, além de desenvolverem interfaces amigáveis e formas de cativar seus clientes.

Então vem a pergunta: o que são os softwares de anti-vírus? Resposta: a compilação de procedimentos BATCHS de remoção de malwares agregado a uma interface amigável.

Assim, podemos então compreender que o estudo de malwares não consiste em estudar as diferenças (benchmarketing) entre as diversas soluções de anti-vírus e anti-malwares (isso na verdade seria um estudo de design de interface de software), e sim de estudar os diversos procedimentos manuais de remoção de malwares, que conduzem a uma automatização através de um software de anti-vírus.

No próximo capítulo veremos como trazer para a prática os procedimentos de remoção manual.