O Mito do Super Antivírus - Sábado, 25 de Outubro de 2008


FONTE: http://cesardev.blogspot.com/

Autor: César Rodrigues - cesar.nws@gmail.com
http://sites.google.com/site/cesardevsite/


Muitos usuários, tomando como base o mito do antivírus infalível e julgando-se então dispensados de vigiar seus atos perante um computador, se entregam sem freios aos “prazeres proibidos” existentes pela Internet, atribuindo os males que disso resulta à “fatalidades” desse sistema complexo que é seu computador, crentes de que à esse respeito nada se possa fazer, tal como a doença que se pega no ar, delegando aos técnicos, a solução do problema.

Todo software malicioso segue um padrão de comportamento que o diferencia do legítimo, algo que mesmo o usuário leigo saberia detectá-lo caso não houvesse perdido a própria "visão" ao se depositar toda confiança num ícone próximo ao relógio. Não entreguem a segurança de vossas máquinas exclusivamente à produtos que pretendem resolver todas as falhas num só clique.

Se são raros os casos onde uma infecção não necessita do "clique final" do usuário, eis nonde se encontra uma questão a ser mais bem entendida.

Prosseguindo num artigo baseado em perguntas e respostas, venho à público lembrar das limitações do antivírus, das quais suas propagandas, nos induziram a esquecer e venho também, pra conforto do leigo, dizer que não há nada de sobrenatural num vírus de computador e que, pelo entendimento à que esse artigo conduz, mais eficientes se tornarão seus cuidados para evitá-lo.

Para isentar-se de gastos com manutenção e gozar de um sistema sempre sadio, basta que o antivírus seja tratado como simples auxiliar no combate às ameaças sendo que outro tanto de esforço deve vir de si próprio por esquivar-se das malícias pela rede existentes.


O que é um vírus?
Vírus é um software.

Existe alguma fórmula computacional segura que possa diferenciá-lo do software legítimo?
Não há, a nível computacional, qualquer distinção entre o vírus e o software comum. Como ambos são criados sob uso das mesmas ferramentas, possuem as mesmas características elementares e sujeitam-se às mesmas regras e limitações por um sistema impostas. Não há, nem na sua estrutura interna, nem em seu comportamento, característica que se possa usar como referencia absolutamente segura para, através de um algoritmo e sem auxílio humano, distinguí-lo dos demais sem chance de erro.

Há meios porém, de, analisando certas particularidades de um software, detectar funções que comumente pertencem à esfera das maliciosas. Tal método tem seus positivos, porém longe de ser infalível, freqüentemente bloqueia o “bonzinho” e libera o “vilão”, constituindo apenas um recurso auxiliar na tarefa geral de detecção, não havendo segurança suficiente para decisões finais, tal como, excluir o dado arquivo, podendo com isso, nada mais que alertar o usuário acerca de um possível perigo.

É pura fantasia uma fórmula que possa, exclusivamente através de meios computacionais, bloquear um código malicioso, com a mesma exatidão que a fórmula de báskara resolve sua equação. Somente nós, humanos, é que podemos “enxergar” um vírus e, a menos que o computador evolua a ponto de distinguir o bem do mal, ele nunca poderá fazer o mesmo. Noutras palavras: Detectar ameaças digitais está longe de ser uma ciência exata.

Se o vírus, na sua estrutura elementar, em nada difere do software comum, à que nos referimos para então assim chamá-lo?
Trata-se de uma classificação humana. Chamamos assim o software cuja atuação resulta em prejuízo para o usuário do sistema, lembrando que o que se entende por “danos" se dá também à nível humano uma vez que à nível computacional tudo pode estar funcionando corretamente. As funções internas usadas para "danificar" um sistema pertencem à mesma classe daquelas usadas para, por exemplo, tocar uma música ou editar um texto.

Se um vírus em nada difere do software comum e não há em seu conteúdo algo que o classifique como tal, de que modo sua presença pode ser percebida pelo antivírus antes que produza algum efeito ruim?
Não é possível a um antivírus "enxergar" um vírus de modo direto. Somente pode fazê-lo de modo indireto. À nível computacional todo software é legítimo. Não é possível saber se esse ou aquele programa fará algo de "ruim" apenas analisando isoladamente sua estrutura interna, porque esse "ruim" trata-se de um conceito humano que, além de relativo para nós mesmos, não pode ser computado. Por essa razão é que todo antivírus está condenado a arrastar consigo um banco de dados contendo as definições dos vírus já conhecidos e somente comparando-se a essas pode-se dizer que um dado software é ou não nocivo. A decisão do que é ou não vírus, por sua vez, é puramente arbitrária e se sujeita aos critérios do fabricante do dado antivírus, de onde uma equipe produz cada vacina. Chamar algo de "vírus" pode ser relativo: remova-se sua definição do banco de dados de cada antivírus existente e este deixa de ser um vírus, ponha-se uma definição equivocada nesse mesmo banco e teríamos um software legítimo como vírus sendo tratado. A grosso modo, pode-se comparar o antivírus a um utilitário de pesquisa a banco de dados, cuja principal função seria dizer: "esse consta no banco", "esse não consta".

Antivírus é um software, que como outro qualquer está sujeito às mesmas regras e limitações das quais estão os demais, mas diferenciando-se por responsabilizar-se pela segurança de um sistema operacional. Mas o que é esse sistema operacional? É a plataforma que sobre ela todo aplicativo funciona, aquele que libera ou nega recursos, estabelece limites e dá forma ao ambiente cujas características governam o comportamento de todos os programas que dentro dele executam. Numa analogia, pode-se comparar a tarefa de um antivírus a uma casa nonde se encontra extensa fila de pessoas aguardando autorização para entrar, de modo que essas pessoas representam os programas a serem executados. Na porta, representando o antivírus, encontra-se um homem equipado de um grande arquivo contendo fichas de todos criminosos conhecidos da região. Ele efetua uma pesquisa completa nesse arquivo para cada pessoa, verificando se seu nome consta em sua lista, a qual precisa manter constantemente atualizada requisitando periodicamente novas fichas à delegacia local. Deixa entrar apenas os que não constam em seus arquivos criminais. Assim como com o antivírus, ele apenas confere em sua lista, mecanicamente, para cada indivíduo prestes a entrar, agindo como um obstáculo, lembrando que para essa medida de segurança a que se propõe, ele torna-se extremamente dependente do arquivo de fichas criminais e que isso não impede porém, a entrada de criminosos cuja ficha ainda não consta na delegacia por não terem ainda por ela passado.

O único modo de um antivírus exercer sua função é estar sempre rodando para que assim possa monitorar tudo aquilo que venha ser executado, todo download baixado, emails abertos, links clicados, etc. Não estar em execução, mesmo estando instalado, tornaria supérflua sua presença, sendo nada mais que uma entidade passiva se seus arquivos estivessem apenas armazenados. Diferencia-se também dos demais aplicativos pela sua necessidade absoluta de contínua execução, pois todo código executável por ele deve passar antes que se dê a execução de fato, para que, somente após uma consulta completa ao banco de dados de definições é que o item analisado, quando nele não consta, é liberado para execução.

Como ocorre a detecção de um vírus?
Como todo software é legítimo antes de ser analisado, é indispensável que o antivírus intervenha na execução de tudo. Para tudo aquilo prestes à executar, antes que essa execução de fato se dê é que este entra em cena, lendo suas partes estratégicas afim de obter uma assinatura que possa ser comparada à uma lista de definições previamente obtidas de milhares de vírus conhecidos os quais assim tornaram-se por já terem outrora infectado outros sistemas. Se for classificado como ameaça aquilo prestes a executar, mantêm-se pausada sua execução, solicitando ao usuário o que fazer. Para manter todo esse trabalho, exige-se o consumo contínuo de recursos e processamento, degradando inevitavelmente o desempenho do sistema em questão.

Pensando na economia de recursos e processamento, não seria então possível a um antivírus somente executar seu trabalho assim que, e somente quando, um vírus surgisse, para então impedi-lo?
Não, porque para esse "surgir" já se exige que algo seja feito, pois se sabe que um vírus não vem já de “fábrica” marcado, melhor dizendo, vírus será sempre um software legítimo até que um antivírus o classifique como tal.

Como pôde meu computador ser infectado se tenho antivírus instalado?
Dado as limitações de um antivírus, tê-lo instalado jamais será garantia de proteção absoluta, luxo que nenhuma ferramenta pode oferecer. Um dos motivos dessa decepção é ter em sua máquina um antivírus desatualizado, já que ele nada pode fazer quando executa-se um vírus cuja definição não consta em seu banco de dados, uma vez que essa é o que o torna "ciente" de que algo é nocivo. Mantê-lo atualizado é a coisa mais importante após tê-lo instalado. Mas não sendo esse o caso e supondo plena ordem, outra questão é a de que diariamente surgem novas ameaças e que, do seu surgimento ao desenvolvimento de sua vacina há um período de tempo, mais ou menos longo que varia conforme sua capacidade de propagação. Se nesse meio tempo sua máquina foi infectada por tal ameaça, seu antivírus, ainda não possuindo sua definição, estará "cego" acerca do perigo, mesmo embora essa execução tenha sido monitorada e seu banco de dados, consultado.

Quão importante é a atualização de um antivírus?
O que torna um antivírus ciente de ameaças é sua lista de definições, da qual sem ela, ele seria cego e inútil. Considerando que todos os dias surgem novos vírus por todo o planeta e isso se trata de um fenômeno incessante, todo antivírus, para manter-se eficiente, está condenado a repetir o processo de atualização infinitamente por todo período em que estiver sob nosso uso.

O que acontece se eu não mais atualizar meu antivírus?
Ele estará apto a detectar somente ameaças cujo surgimento seja anterior à última atualização estando "cego" para todo o resto existente após essa data e para os que hão de surgir.

Se um antivírus sozinho não pode fornecer completa proteção, seria inteligente instalar dois ou mais deles na esperança de somar suas forças?
Muito pouco se ganharia com isso. Como cada antivírus, quando instalado sozinho deveria fornecer proteção a uma cota de vírus semelhante a de seus concorrentes, ter mais de um instalado faria que a maior parte do banco de dados de um correspondesse aos mesmos vírus que no outro, havendo pois, muita redundância além do que isso ofereceria mais obstáculos à execução de cada aplicativo, sendo que para cada antivírus instalado, cada qual executaria sua verificação individualmente mesmo que o trabalho do primeiro já o houvesse concluído se tratar de código legítimo.

Todos os dias surgem novos vírus e isso se trata de um fenômeno incessante, assim devemos assumir, com segurança que alguém os estão criando, sem parar. De onde vêm os vírus? Qual sua fonte principal?
Segundo a sabedoria popular, são os "hackers". Mas embora sejam gabaritados para a tarefa, há nisso boa dose de superstição. Vírus, por serem softwares, são criados por programadores e com um mundo possuindo milhões deles, pode-se imaginar quão espalhada seja sua fábrica.

Vírus não podem, eles mesmos, desenvolver novos vírus mas apenas propagar cópias de si, o que vão deixando de conseguir na medida que o ambiente para o qual foram criados vai evoluindo com o tempo, uma vez que eles, sozinhos, não podem corrigir-se de modo “entender” tais mudanças, o que é o mesmo que dizer que se cessasse sua produção, restando apenas os vírus já existentes, deixariam de funcionar sozinhos gradualmente, sem exigir do mundo quaisquer esforços para eliminá-los, bastando apenas o progresso natural da computação para num dado tempo se promover uma limpeza completa.

Para profissionais assíduos na programação, o desenvolvimento de novos vírus poderia ser feito a qualquer momento, sem cerimônia, sem precisar vestir a fantasia de hacker. É falsa a imagem de que vírus são produzidos por um adolescente nerd que habita um quarto cheio de computadores e fica a noite inteira lendo livros. Isso poderia se dar nos primórdios da informática, mas hoje, dado seu interesse comercial, se alguém deixasse cessar o fluxo contínuo de ameaças surgindo fresquinhas todos os dias, uma indústria seria gravemente abalada.

Porque os vírus são temidos?
O temor vem, principalmente da ignorância geral das pessoas à respeito da computação, mas sutilmente reforçado pelo marketing dos que das soluções se encarregam, pois quanto mais medo exista desse "mal", mais facilmente tais produtos serão comprados. Um vírus, por se tratar de um software, está sujeito as mesmas regras e limitações das quais estão os outros programas. O que faz dele especial e "poderoso" é a liberdade de que dispõe pelo fato de não ter que obedecer o delicado código de ética existente num sistema. Podemos compará-lo a um criminoso de nossa sociedade: O cidadão comum se submete às leis pois além de não ter que violá-las para atingir seus fins, esse tem uma reputação a zelar, ao passo que o criminoso, dado sua indiferença às mesmas leis, usufrui de um certo poder de ação sobre as coisas mesmo nele não havendo nada de sobrenatural que o faz superior aos demais.

Pode um vírus danificar fisicamente um computador?
Se um vírus pudesse, e uma vez que se trata de um software, então todo software comum poderia, o que seria grave acusação ao fabricante do hardware cujo projeto desse margem à sérios danos causados via código. Mas todos já ouviram contos de que um computador pegou fogo, placas explodiram ou algo saiu fumaça, fenômenos causados por um vírus super-poderoso. O software que pretendesse danificar um certo hardware, só poderia usar de recursos neste disponíveis. Não se pode, à uma televisão, dar comandos para que aqueça o quarto, não importa quão “hacker” seja aquele que detém o controle remoto, porque não há tais recursos em seu mecanismo. É certo que peças pode ter suas falhas de projeto ou anomalias que propiciem “catástrofes” causadas por vírus cujos criadores estejam bem a par da situação. Mas isso tem limites bem fáceis de prever. Até a falha mais terrível, permitiria algo muito aquém dos prodígios que por aí ouvimos falar. Não há como descobrir funções "ocultas" num dispositivo qualquer para fazer com que ele inicie uma explosão por exemplo ou algo muito distante daquilo para o qual ele foi desenhado, do mesmo modo que um habilidoso piloto dirigindo um veículo fabricado para o asfalto, nunca poderá, com a descoberta de uma falha de projeto, fazer com que o mesmo levante vôo.


À nível humano, o que é que, num usuário, governa o ato do "clique final" que dá início à infecção de um sistema?
Excesso de confiança.
Reunindo todas as causas possíveis que podem tornar um sistema limpo num infectado, dividimo-las em duas categorias: as que não necessitam de uma ação do usuário e as que necessitam. No primeiro caso temos aquele tipo nonde um ambiente ainda intacto, mas por alguma falha de segurança inerente ao sistema operacional ou à algum aplicativo que nele roda, abre uma "porta" por onde o software malicioso entra. Deixando de lado as questões técnicas que fundamentam tal falha, a questão principal é: o usuário não teve participação nisso.

Felizmente isso é um caso específico de infecção e não ocorre com freqüência. Sua gravidade faz com que os responsáveis a corrijam depressa e não se necessita muita argumentação para comprovar a raridade desse fenômeno, basta contar nos dedos os casos onde uma contaminação se dá apenas deixando ligado um computador conectado à Internet. Constituindo, tais casos, uma mísera porcentagem, acumula-se todo o restante aos que necessitam da ação do usuário, do que se conclui que não importa por qual meio um vírus trafegou até chegar a um computador, quando lá chegou, foi autorizado sua execução pelo gesto final do usuário. Se é neste último que se encontra a barreira final a qual um software malicioso deve vencer para comprometer um sistema, aí devemos nos fazer a grande pergunta: Porque no mundo todo, tantos usuários abrem, eles mesmos, a porta pro perigo? Quando foi que lhe tiraram a capacidade de enxergar se é bom ou mal aquilo que se está prestes a clicar? A noção do que é software malicioso é privilégio exclusivo dos que possuem conhecimento técnico?

Computador infectado não está relacionado exclusivamente à falta de conhecimento técnico. O usuário experiente, que mantém seu sistema limpo, não conquista só pela experiência, mas por já conhecer melhor as limitações dos softwares de segurança, obrigando-se mais cuidado e a evitar certos prazeres computacionais. Esse mesmo gesto pode ser seguido pelo usuário leigo desde que esse deposite em seu software protetor não mais do que a confiança que lhe é devida, tratando-o sempre como auxiliar, jamais como escudo impenetrável às moléstias digitais.

Conclusão Final

Num sistema, só existe segurança “perfeita” mediante colaboração de duas partes: um bom software de segurança de um lado e um usuário cuidadoso de outro. Faltando este último, não haverá software no planeta capaz de preencher totalmente o buraco por ele deixado. Por outro lado, nem o leigo mais iluminado estaria dispensado do uso de um antivírus, do que concluímos que, para a tarefa de “detectar ameaças digitais”, exige-se um trabalho metade humano, metade computacional e não há como ser diferente.

Um dos grandes equívocos à que se prestam os menos experientes é o de querer tratar o computador como um aparelho convencional. Isso é compreensível pois estamos na pré-história da informática e ainda não houve tempo para se formar, na grande massa, conceitos claros acerca do ambiente digital e do que nele se pode fazer. É na falta desses conceitos, porém, que se baseia a credulidade dos leigos, querendo, intuitivamente, tratar seu computador como o eletrodoméstico comum, clicando em botões familiares, embasados pela esperança, trazida do mundo real, que o equivalente a “engrenagens” executarão aquilo que se deseja.

Nem com nosso rádio, televisão ou geladeira, precisávamos nos preocupar se funções maliciosas lhes comprometeriam o funcionamento no apertar de botões errados. Morreu nesses equipamentos a “ingenuidade eletrônica”. O Computador, “ser” mais evoluído que seus irmãos ignorantes, trouxe consigo, além da inteligência, um ambiente cuja complexidade dá inicio ao conceito de bem e mal, e eis uma situação irreversível, da qual só se isenta abandonando a tecnologia. À essa nova realidade, exige-se nova conduta.


Então, como reconhecer e evitar os softwares maliciosos sem depender exclusivamente de um programa?
Não há uma resposta geral à questão de como se perceber antecipadamente o software malicioso. À isso há tantas respostas quantas haveriam à questão de como reconhecer à distância um criminoso em nossa sociedade. Dado as limitações de todo software de segurança e considerando a impossibilidade de haver um anjo da guarda que guiasse cada clique, concluímos, inevitavelmente que, para gozar de um sistema sempre confiável, exige-se de nós mesmos um esforço pessoal para suprir a deficiência pela ferramenta deixada. À essa situação duvidosa à que estão sujeitos principalmente os usuários menos experientes, ofereço algumas luzes-guia:

Para softwares idôneos nunca se é difícil lhes determinar a procedência nem obter informações de contato. É suspeito todo produto que impor dificuldades para obter tais informações.
Dê especial atenção ao software de código aberto, pois eis o máximo que se pode obter em idoneidade, pois não há quem, em sã consciência, implemente funções maliciosas num programa cujo código fonte e informações de contato estejam publicamente acessíveis.
Nem todo site pode ser acessado, nem todo link clicado, nem todo anexo aberto e nem todo programa instalado se o que você espera é um sistema sempre intacto. Junto com as "doçuras digitais” vem o risco de infecção. Desista do privilégio de usufruir de um sistema perfeito se não estiver disposto a abrir mão dos “prazeres-digitais proibidos".
Sempre será um engano tratar um software de segurança como escudo impenetrável que nos isenta de quaisquer esforços pessoais, e que proteja de todos os dardos vindos de todas as direções quando se caminha pela selva da Internet.

Autor: César Rodrigues - http://sites.google.com/site/cesardevsite/

Comentários

Postagens mais visitadas