NO ultimo dia do ano de 2008 postarei algumas curiosidades sobre o que mais assola os usuarios de informatica. mas claro caso voce tenha um antivirus bom nao precisa se assombrar, se bem que algums virus podem desativar o antivirus dependendo do programa que foi feito e calaro extensao de arquivo. abaixo entenda como funciona, seus aspectos e como age os virus.
Vírus
Vírus de computador é um programa capaz de se auto-duplicar! Através de alguns algoritmos específicos, um vírus de computador é capaz de copiar suas instruções(códigos, comandos) para dentro de arquivos binários.Agindo de modo semelhante a um vírus real, um vírus de computador procura meios de sobreviver em ambiente hostil.
Um vírus real foge de toda e qualquer classificação de ser vivo, e os cientistas até hoje não conseguem classificar um vírus como tal! Este motivo torna um vírus de computador como um ser com “inteligência” própria, capaz de procurar meios de sobrevivência sem existir como um ser vivo! Isso pode soar absurdo, mas estudantes de medicina sabem que uma gota de mercúrio em cima de um relógio de pulso é capaz de “agir” como um vírus real, sendo que uma gota de mercúrio não tem vida!
Um vírus real morre quando o ambiente hospedeiro(célula) morre! Do mesmo modo, um vírus de computador deixa de existir quando o ambiente hospedeiro (arquivo binário, setor de boot, etc) é apagado ou deixa de existir!
Há especulações de que os vírus reais foram criados pelo homem, em especial o HIV, o Antrax, o do Ébola.Os intuitos da criação de vírus reais são diversos, mas na maioria dos casos está ligado a fabricação de armas biológicas.No caso dos vírus de computador, coders de vírus geralmente criam vírus para aprender e exercitar métodos de programação, e também para expandir os conhecimento na área de Inteligência Artificial.Por outro lado, existem criadores de vírus que liberam seus vírus “na selva” visando obtenção de lucro! Na maioria dos casos, empresas fabricantes de anti-vírus que criam vírus, infectam milhares de máquinas e depois vendem os seus produtos! Quando surgiu o primeiro virus?
Não se pode afirmar com certeza quando surgiu o primeiro vírus de computador, pois diferente do imaginado, ele não foi criado em universidade! Como assim? A década de 80 foi uma época onde a troca de informações entre grupos hackers ocorria enormemente! Milhares de BBS, em especial as “piratas”(ilegais) trocavam informações e através delas surgiram os primeiros códigos nocivos.O worm de Robert Morris foi um exemplo desta troca de informações, onde o mesmo surgiu primeiro numa conta de BBS frequentada por hackers! Hackers provavelmente obteram acesso aos primeiro códigos de vírus já criados por outras pessoas.
Alguns livros e apostilas apontam para o ano de 1983 como o ano de surgimento do primeiro vírus de computador! Mas nenhuma informação “oficial” pode determinar quem e quando surgiu o primeiro vírus de computador, por quê? – Quem criou o primeiro vírus de computador foram as mesmas pessoas que criaram o vírus da AIDS, Antrax e etc.. Você sabe quem e quando?
Tipos Comuns de Vírus
Classificar um vírus pode ser uma tarefa trabalhosa e na maioria dos casos infrutífera. Pretendo disponibilizar apenas algumas informações sobre os tipos, mas esta lista é infinitamente mais abrangente:
Vírus Simples
Infectam arquivos binários apenas para duplicar o seu código através de técnicas simples de infecção.Não procuram se ocultar dos softwares anti-vírus e são facilmente detectados.
Vírus Encriptados
Utilizam algum tipo de criptografia(geralmente lógica – OR,NOT) para dificultar a detecção dos softwares anti-vírus que capturam “assinatura” de arquivos.
Vírus de Macro
Vírus de Macro são vírus que infectam documentos(Word, Excel, Access) e usam uma linguagem conhecida como “Macro”(Visual Basic).Há conhecimento de que os vírus de macro infectam sistemas Microsoft(Windows) e Macintosh (OS).
Vírus Stealth
São vírus capazes de “camuflar” a sua existência através de algoritimos avançados, visando com isso dificultar a sua detecção e remoção.Procuram não alterar a data nem o tamanho dos arquivos originais, dificultando assim a detecção por parte de softwares anti-vírus.
Vírus Anti-Vírus
São vírus que procuram destruir programas anti-vírus ou camuflar sua existência através da infecção dos binários do Anti-Vírus.Recentemente, um fabricante de Anti-Vírus(Norton) foi “vitimado” por um destes vírus. Estes vírus forçam o usuário normal a comprar novas versões do seu programa de Anti-Vírus! Apesar de poder ser visto como um desafio entre coders de vírus e coders de Anti-Vírus, o caráter deste tipo de vírus deixa inúmeras dúvidas sobre quem o lança na selva.
Vírus Polimórficos
Aqui o bicho pega! São vírus capazes de alterar seu código, sofrendo mutações e dificultando a detecção por parte de sistemas Anti-Vírus. Os vírus polimórficos é o ponto X na semelhança entre vírus reais e de computador, na capacidade de mutação e no aumento da inteligência artificial.Um vírus polimórfico obriga os softwares anti-vírus a atualizarem constantemente suas bibliotecas de assinaturas, em muitos casos, uma mutação de um vírus polimórfico pode passar pela detecção de um Anti-Vírus.
Métodos de Duplicação
Existem vários métodos de duplicação/replicação ou melhor dizendo “infecção” de um arquivo qualquer por um vírus.Mas basicamente e em grande escala(99% dos virus) utilizam o conceito “jump call”, onde através da inserção do código de vírus no começo de um arquivo binário, um vírus consegue executar seu código antes do código do programa infectado.Um diagrama que especifica este conceito segue abaixo:
Arquivo Normal:
[ Cabeçalho ] [ Dados Normal ] [ Término ]
Arquivo Infectado:
[ Cabeçalho ] [ Salto para Código do vírus] -> jump [ Dados Normal ] [ Salto para Término ] -> jump [ Código do Vírus ] [ Salto para Dados Normal ] -> call [ Termino ]
A óptica empregada por esses vírus pode resultar desde na alteração do cabeçalho do arquivo, isto influencia na data de criação, no tamanho do arquivo e etc.Existem vírus que obedecem outras lógicas, mas iremos nos ater apenas a esta por enquanto.
Modelos Anti-Virais
Alguns Softwares de Anti-Vírus se utilizam de alguns métodos classicos(ultrapassados) de detecção de vírus! Basicamente dois métodos são utilizados:
Checagem de Assinaturas
Um virus possui uma assinatura própria, onde através da checagem de mémoria e/ou de arquivos contendo esta assinatura, pode-se detectar um vírus! Este é o modelo mais usado! Mas o que seria essa Assinatura?
- Seriam Dados específicos tais como tamanho do arquivo virótico e sequência de instruções binárias que quando comparadas com um banco de dados de assinaturas de vírus fariam com que o software Anti-Vírus detecta-se o arquivo como sendo um vírus dentro da atual biblioteca de vírus do banco de dados.
Vários são os contras ao uso desse modelo! Se um vírus é criado hoje, um Anti-Vírus não conterá sua assinatura e consequentemente será incapaz de detê-lo! Vírus polimórficos podem passar pelo sistema de Assinaturas e inutilizar o software Anti-Vírus! Alem do que, é comum os “falsos positivos”, onde um anti-vírus afirma que um determinado arquivo é um vírus quando este arquivo declaradamente não é um vírus! Por conta do aumento do número de vírus e do banco de dados da biblioteca virótica, é comum aumentar os prejuízos com falso positivos.
Inoculação
Basicamente consiste na checagem constante do tamanho atual, assinatura(checksum) dos arquivos do sistema, impedindo/detectando a alteração desses arquivos como sendo um ataque virótico! Apesar dos problemas que este conceito oferece, ele tem sido mais efetivo na atual conjuntura de insegurança! O mesmo conceito é usada para detectar backdoors em sistemas *NIX, através de programas como LSTAT(www.bufferoverflow.org) e TripWire, no entanto, a Inoculação anti-viral necessita ser constante e não periódica!
Sistemas onde existe “permissões” em arquivos como Windows NT(NTFS), Linux(ext2FS), BSD, e etc possuem uma proteção extra contra vírus, mas que ainda assim são ineficazes! O conceito super-usuário(ainda necessário) torna o sistema indefesa a vírus que exploitam o sistema e conseguem elevar privilégios ou mesmo vírus em ambiente usuário normal(não super-usuário), em esquemas de trojans horses a espera de execução pelo super usuário!
A realidade é que apenas o combate ao conceito de infecção virótica(conceito jump-call) ou de escrita em arquivos binários já construídos pode ser capaz de acabar de uma vez por todas com a grande maioria dos vírus!
Vírus de Macro, e outros, tais como vírus em linguagens scripts(interpretadas) são mais fáceis de barrar, e os estragos causados por eles podem ser minimizados com uma setagem de permissões e uma política de segurança e autenticação na criação e alteração de scripts em ambientes críticos!
A descriminação
Coders de vírus inofensivos tem sofrido severa descriminação ao redor do globo! Excelentes programadores, super-capacitados, donos de um cérebro invejável além de muita serem muito maliciosos e criativos, estes seres humanos tem sofrido na pele o estigma do pré-conceito! Assim como os hackers éticos sofrem com a ação de script kiddies e crackers, os coders de vírus éticos, que não utilizam seu conhecimento para prejudicar, mas para aumentar o nível de conhecimento na área de programação(lógica) e de Inteligência Artificial, tem sido oprimidos com ações de Empresas Fabricantes de Anti-Vírus e crackers malfeitores!
Devemos ter em mente que um programador de vírus não necessariamente deseja o mau, e na maioria das vezes, tudo que ele quer é exercitar seu conhecimento e a sua “LIBERDADE DE INFORMAÇÃO E ACESSO”.
Línguagens Viróticas
Qualquer linguagem pode ser usada na disseminação de vírus e/ou como complemento para a execução de um código viral! Mas apenas línguagens de programação propriamente ditas (não meta/pseudo línguagens) pode criar vírus de computador em sua definição original. Por exemplo, VBS(Visual Basic Scripting) não fornece recursos para a criação de vírus, apenas para a execução e/ou disseminação, enquanto que Visual Basic fornece condições de criar vírus executáveis! O mesmo esquema para Shell Script e C em Ambiente Linux.
Um coder de vírus pode se especializar em uma línguagem completa como Assembly, C, Pascal e conhecer outras línguagens/pseudo-línguagens de sistema visando métodos de proliferação dos códigos como VBS, Shell Script, Macro e etc.
Fábrica de Perversidades
Se a palavra vírus já assusta as pessoas, imagina “Fábrica de Vírus”! Isso mesmo, já faz algum tempo que existem fábricas de vírus ou seja, os famosos kits de construção de vírus, capaz de fazer com que qualquer script kiddie(defacer) crie perigosos vírus capazes de infectar máquinas e prejudicar usuários inocentes! Foi este o caso do vírus Anna Kournikova, onde um script kiddie(lamer mesmo) da Suíça usando um kit de construção de vírus feito por um argentino criou o vírus e disseminou na selva.Existem dezenas desses kits na Internet, uns criam .exe, .com, .vbs, te fornecem um menu de instruções, uns são em inglês, espanhol, alemão e etc.. Tem pra todo gosto e gênero!
O problema é que estes kits são maléficos! Foge ao escopo de coders de vírus éticos a construção destes kits porque faz com que qualquer lamer crie poderosos vírus, sem nem mesmo eles saberem programar! É idêntico ao caso dos exploits, onde script kiddies(defacers) que não conhecem absolutamente nada de programação, executam exploits públicos para invadir uma rede qualquer!
É muito fácil acharmos estes programas por aí, mas foge ao nosso interesse obtermos os mesmo! Estamos interessados em “criar”(literalmente criar) vírus e não executar programas! E para criar um vírus tem que primeiro saber programar em alguma línguagem!
Lamentável que existam meios para script kiddies serem manipulados também no mundo dos vírus! Novamente, as empresas de segurança manipulam a situação e dão meios a jovens “desinformádos” de prover destruíção enquanto eles lucram vertiginosamente (idêntico ao caso dos defacers).



