Como estudante de Biologia de nível A, pensei bastante nos vínculos com Biologia e Ciência da Computação, e algo que frequentemente vem à mente são os vínculos entre Imunologia e Segurança / Vírus de Computador. Por exemplo, eu (lendo sobre como os programas antivírus funcionam) decidi que a maneira como o sistema imunológico lida com vírus é muito semelhante aos programas antivírus (ambos contêm um banco de dados de definições de vírus (seja, células de memória ou assinaturas de vírus) e ambos contêm um método de extrapolação). A progressão natural para mim foi pensar na evolução natural dos vírus em comparação aos vírus de computador. Então, para a minha pergunta:
Seria possível que os vírus de computador evoluíssem para novas linhagens que possuem novos "genes" para permitir que eles realizassem seu trabalho?
Parece que esse tipo de pensamento só poderia realmente se aplicar a vírus. Quero dizer, sua calculadora antiga e regular nunca estará sujeita a "seleção natural". Mas, tanto quanto eu sei vírus não sofrer mutações si mesmos, a fim de evitar programas anti-vírus, mas, presumivelmente, estes são bastante controlados, de modo que o vírus não teria ganho mutações não benéficos que poderiam torná-lo inútil. Se a verdadeira natureza aleatória da natureza pudesse ser aplicada aos vírus, eles poderiam desenvolver novas funcionalidades, como, por exemplo, se tornar um retro-vírus que assume um programa antivírus ou fazer uma mutação para incluir um novo código que permita derrubar um firewall? Eles estariam envolvidos em algum tipo de seleção natural computacional, onde os vírus mais fortes sobrevivem e transmitem seus genes benéficos?
fonte
Respostas:
Suponho que seria possível em teoria, mas os malwares de computador (vírus, worms etc.) normalmente não funcionam dessa maneira hoje em dia, e há boas razões para que eles sejam escritos da maneira que são.
Você pode estar interessado no código polimórfico , que muda automaticamente para evitar a detecção. Ele altera a sequência de instruções para outra sequência de instruções que terá o mesmo efeito, mas terá um binário diferente. Isso ajuda a evitar a detecção por ferramentas antivírus que procuram uma "assinatura" específica de bytes. No entanto, essa não é a forma de mutação que você está perguntando, porque nunca fará com que o malware "evolua" com um novo comportamento que ainda não tinha.
Realmente, não há muitas razões para que os autores de malware desejem ou precisem de seu malware para desenvolver novas funcionalidades. Eles podem criar o comportamento desejado no malware. Ou eles podem fazer com que o malware entre em contato com um servidor central de "comando e controle" para fazer o download do novo código ("atualizações de software" para o malware) periodicamente, para permitir que eles controlem o comportamento do malware. Geralmente, os bandidos resolvem offline quais ataques desejam montar e, em seguida, implementam isso no malware ou comandam o malware para executá-los.
Ao elaborar os ataques offline, com antecedência, os atacantes podem testar esses ataques em seus próprios sistemas e garantir que eles funcionem corretamente e não sejam detectados. Do ponto de vista do invasor, isso é muito melhor do que escrever malware que tenta coisas aleatoriamente na esperança de evoluir para um ataque útil; malware que tenta coisas aleatórias terá muito mais probabilidade de disparar alarmes e ser detectado.
Portanto, não há realmente nenhuma necessidade ou motivação para usar a "seleção natural" em malware, e isso geralmente não é visto na prática.
fonte
TL; DR: os computadores não são entidades autônomas como organismos, com qualquer instinto de sobrevivência. Eles apenas executam instruções e, às vezes, executam instruções de que não gostamos; portanto, executamos outras instruções para encontrar as ruins.
Comecei a dizer isso nos comentários, mas acho que há muito mais a ser dito.
A metáfora do vírus está desatualizada e muito usada por pessoas que não entendem como os computadores realmente funcionam. Eles tentam compará-los aos seres vivos, porque eles entendem os seres vivos. Aqui está uma metáfora melhor.
Você é um trabalhador de escritório. Você trabalha para uma mega corporação gigante, onde não vê seu chefe. Você nunca é informado sobre por que faz seu trabalho, nem sabe o que sua empresa faz. Tudo que você sabe é que você aparece para trabalhar todos os dias e segue suas instruções.
Há uma pequena janela em sua mesa, que é a única maneira de você interagir com outras pessoas. Você não vê ninguém, mas às vezes pedaços de papel entram pela janela.
Suas instruções são sempre as mesmas no início, mas você tem uma pilha enorme de papéis em sua mesa. Algumas delas contêm instruções, outras contêm coisas que você escreveu. Às vezes, suas instruções pedem para você encontrar um pedaço de papel diferente e começar a usá-lo como suas instruções. Às vezes, eles dizem para você trocar os pedaços de papel, rasgando-os ou apagando partes deles. (Isto é o que é executar um programa. Às vezes, os programas editam arquivos, às vezes executam outros programas etc.)
Às vezes, suas instruções pedem que você espere pela janela para receber mais papel. O papel pode ter uma foto, texto ou mais instruções. (É o que acontece quando um computador aguarda a entrada do mouse ou do teclado ou algo da rede (ou seja, arquivos)).
Você não faz nada além de seguir estas instruções. Você nunca sabe o porquê, nunca sabe para quem, mas apenas faz.
Às vezes, suas instruções dizem para você executar várias tarefas. Você tem uma pilha de papéis. Você define um cronômetro e trabalha nas instruções do papel superior por 5 minutos. Quando o temporizador passa, você coloca esse papel no fundo da pilha e faz o que estiver no novo papel de cima. (É assim que os computadores executam mais de um programa ao mesmo tempo).
Agora, um dia, você está esperando um pedaço de papel perto da janela e sabe que quando o receber, fará o que quer que seja necessário, porque foi o que a última peça de instruções lhe disse para fazer. Você o obtém e diz para encontrar alguns dos seus principais pedaços de papel, com suas instruções principais, e apagá-los. Ele informa novas instruções para colocar lá. Eles estão fazendo algumas coisas estranhas, como enviar seus arquivos pela janela para lugares estranhos ou coletar cópias de backup de todas as coisas que passam pela janela. Mas o importante é que você não pensa nisso. São apenas mais instruções. Você apenas os faz.
Isto é o que é um vírus. É apenas um conjunto de instruções para enganar o computador.
Agora, diga que você é um trabalhador multitarefa. Você recebe uma dessas instruções de apagamento na janela. Mas, como você está ocupado, coloque-o no fundo da pilha. Você olha para o topo da sua pilha de coisas para fazer e há um conjunto de instruções marcadas como "antivírus". Ele diz para ler todos os seus papéis e ver se algum deles se parece com o papel de amostra. Você faz e vê que as instruções para apagar estão na sua lista.
Observe que, se você começar a executar as instruções do vírus, não pensa em nada. Sem um antivírus, não há ataque, não há resposta imune. Não está atacando você, é apenas um conjunto de instruções. O antivírus é apenas uma lista TODO que envolve examinar suas outras instruções e encontrar outras que correspondam a um padrão. Não está tentando preservar o sistema como um todo, é apenas uma folha de papel que alguém lhe deu da janela, porque impede que outras pessoas o enganem e faça coisas colocando coisas pela janela.
Agora, e os seus vírus "em evolução"? Isso é certamente possível, mas vamos ver o que isso implica. Um vírus em evolução é basicamente uma folha de instruções que informa como fazer mais instruções. É um pedaço de papel que diz para você apagar várias instruções antigas e depois colocar novas em seu lugar, mas essas novas instruções também pedem para apagar instruções antigas e colocar novas, e assim por diante. Portanto, as instruções originais não estão mudando. O vírus não está mudando. Em vez disso, está apenas fazendo o que faz, deixando também instruções para criar sua próxima geração.
Então, é possível fazer isso? Sim. Mas é extremamente complicado. Ter um programa que mude a si mesmo, mas ter essa sequência de mudanças não converge eventualmente para um programa que não faz nada de útil, é incrivelmente complexo.
fonte
a pergunta geral é sobre a evolução do malware. a pergunta específica é sobre genes. existe de fato um mecanismo de algoritmo genético que usa "genes" digitais para otimização e certamente poderia ser usado em vírus / malware, embora pareça não haver nenhum relato disso até agora "em estado selvagem". por outro lado, o malware de fato evoluiu ao longo de muitos anos, passando de uma curiosidade teórica para outra envolvendo crimes cibernéticos organizados, etc., com crescente sofisticação nas ameaças. até agora, isso é amplamente alimentado (mas não totalmente!) pela "evolução" orientada por desenvolvedores humanos. Em certo sentido, pode-se dizer que os vírus de computador estão desenvolvendo uma "inteligência" aumentada ou "sofisticação de ataques" ao longo do tempo.
Aqui estão algumas referências que estudam a "evolução de / em malware".
Darwin Inside the Machines: evolução do malware e as conseqüências para a segurança dos computadores Dimitris Iliopoulos, Péter Ször e Christoph Adam
Evolução do malware A evolução do malware e o cenário de ameaças - uma análise de 10 anos / Microsoft
Um estudo empírico da evolução do malware Archit Gupta, Pavan Kuppili, Aditya Akella e Paul Barford
A nova tendência em "Evolução de malware" / Raff (estudo de caso de "Carberp")
o worm Stuxnet é um estudo de caso extraordinário de recursos / antecedentes avançados / em evolução de vírus.EUA e Israel desenvolveram vírus de computador Flame para desacelerar esforços nucleares iranianos, dizem autoridades
fonte
O principal é colocá-lo em funcionamento. Versões ingênuas, ou seja, pegar um malware existente de certa forma bem-sucedido e fazer todas as tentativas de reprodução sofrer mutações provavelmente seria letal para o malware na maioria dos casos.
Isso não significa, no entanto, que não possa evoluir, apenas que seu objetivo original, a replicação, pode ser prejudicado. Com uma taxa de mutação baixa o suficiente e paciência suficiente, mutações benéficas e benignas acabariam sendo selecionadas.
Um problema, no entanto, é que eles evoluiriam. Especificamente, eles evoluiriam com base nos princípios darwinianos puros. Se eu escrever um pedaço de código que seja executado e, somente em uma execução bem-sucedida, copiar seu arquivo binário 1000 vezes para 1000 locais com um erro aleatório ou vários em cada um e executar todos eles, pode parecer que eu fiz a replicação condicionada concluir qualquer tarefa que esteja sendo executada com êxito, mas, na realidade, a replicação depende apenas do programa PENSANDO que concluiu essa tarefa com êxito.
Portanto, há uma chance razoável de que, se esse fosse um malware, seus dois objetivos básicos, especificamente replicar e danificar os computadores das pessoas, estivessem em desacordo. Por um período de tempo suficientemente longo, uma mutação provavelmente surgiria para não danificar tanto seus computadores, tornando menos importante para o antivírus lidar com, assim, replicar com sintomas mínimos, como é a estratégia inicial mais eficaz em pandemia ou peste inc, ou faça mentir para si mesmo que até conseguiu estragar seus computadores, transformando a função principal em um íntron rapidamente, quando ele falha na execução, mas a função de replicação continua funcionando.
Muitas pessoas ficam maravilhadas com a eficácia do sistema imunológico em derrotar todos os tipos de ameaças, mas de várias maneiras, os computadores são muito, muito mais seguros que as células. Na verdade, seu computador simplesmente não pode baixar um vírus. Um sistema antivírus perfeito com um usuário perfeito não precisa verificar o disco rígido. O código do computador não pode ser apenas inserido fisicamente no disco rígido.
Células de contraste, onde os vírus desenvolveram alguns mecanismos FÍSICOS bastante únicos, que escapam às defesas das células. Por exemplo, alguns vírus são totalmente inertes até encontrarem uma célula, mas sua estrutura física agarra e perfura violentamente a membrana celular para injetar seu material genético. É como um vírus de computador que corta fisicamente a sua máquina e adiciona novo hardware, enquanto o sistema operacional e o antivírus acham "tudo bem" e executam o código encontrado nesse hardware.
Portanto, é bastante provável que, quanto mais benigno for o código, melhor será a reprodução. Em alguns casos, pode ser mais fácil para a evolução convencer o usuário a ajudá-lo do que desenvolver um novo antivírus. IE anexando-se a arquivos que provavelmente serão compartilhados com outros usuários.
Então, em última análise, parece-me mais provável que a chance de replicação seja maior quando for inútil como um malware, e provavelmente ainda maior se for capaz de convencer o usuário ou o código antivírus de que é de fato algo benigno , importante ou benéfico.
Outra coisa é que a maioria das máquinas possui operações inválidas, portanto, edições aleatórias no código provavelmente não apenas impedirão a funcionalidade, mas também causarão a falha do código, mesmo com memória desprotegida.
fonte
Imagine programas de computador não maliciosos como os micróbios em seu intestino. Imagine um vírus de computador como uma bactéria infecciosa.
O computador não pode dizer a diferença entre as bactérias boas e as bactérias ruins, ao contrário do sistema imunológico.
Seria simples criar um programa auto-modificável, mas 99% das mutações resultariam em um erro. Um programa é como uma lista de instruções - e os computadores são muito rigorosos sobre como essas instruções são escritas. Digamos que temos este programa:
Uma mutação pode resultar neste programa:
Embora seja claro para o ser humano que ele era "amendoim", isso não é claro para o computador. Eu poderia escrever um script simples que se transforma em Python - mas na maioria das vezes as mutações fazem com que ele falhe.
Seria muito interessado em um vírus que se mutasse e pudesse permanecer vivo - podemos até classificá-lo como vida.
Sim, estou atrasado para a festa - mas esse é um tópico interessante sobre o qual vale a pena escrever.
fonte