Seria possível que vírus de computador desenvolvessem novos "genes" para permitir que eles realizassem seu trabalho?

8

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?

J_mie6
fonte
Uma pergunta muito legal! Penso, porém, que a metáfora do "vírus" para malware é bastante insuficiente. Meu entendimento era que o principal (apenas?) Pensa que vírus de computador e vírus reais têm em comum a capacidade de se espalhar.
jmite
1
@jmite bem, pelo menos para mim, as semelhanças estão no fato de que sim, elas se replicam, elas também assumem o controle do sistema que estão atacando na maioria dos casos, na maioria das vezes, causam danos à vítima (exceto algumas benevolentes) Vírus informáticos). Ambos também têm métodos semelhantes a serem removidos (por exemplo, programas do sistema imunológico e antivírus) e também na segunda vez em que um computador encontra o mesmo vírus, ele o remove mais rapidamente (como já está disponível uma definição de vírus) semelhante ao sistema imunológico. Esta semelhança é provavelmente por isso que eles foram nomeados vírus em primeiro lugar: D
J_mie6
2
O problema é que vários deles são falsos. Na segunda vez que um computador encontra um vírus, ele não o remove mais rapidamente. Os computadores não podem criar definições de vírus por conta própria. Eles vêm de empresas de segurança e provavelmente virão de uma mistura de mineração de dados e criação humana. Um vírus não é uma força externa, do jeito que é em um corpo. O computador não vê diferença entre o vírus e qualquer outro programa. É apenas um pedaço de código. É por isso que funciona. A única diferença é que o efeito desse programa é algo que nós, como usuários, não queremos.
jmite

Respostas:

7

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.

DW
fonte
Sim, o código polimórfico era o que eu procurava como tag, mas não existia! Sua resposta levanta alguns pontos interessantes, e eu faria +1 se pudesse (considere isso feito quando tenho o representante aqui), não sabia que os vírus podem baixar atualizações, como eles conseguem isso? É através das conexões das máquinas infectadas?
J_mie6
@ J_mie6, eles fazem uma conexão de rede com um servidor central (controlado pelo invasor) e perguntam: "você tem algum software novo para mim?" e se a resposta for sim, eles fazem o download e executam o que acabaram de baixar. Como alternativa, eles podem perguntar ao servidor central: "você tem algum comando para mim?" e se o servidor central disser que sim, eles fazem o que o servidor central ordena. Faça uma pequena leitura em redes de bots e servidores C&C para aprender mais sobre esse assunto. [Se a minha resposta é o mais útil depois de um dia ou dois, você pode verificar a marca indicadora de aceitá-la.]
DW
há muitos motivos pelos quais o malware se beneficiaria de estratégias adaptativas (gerais). por exemplo, alguns algoritmos de ataque podem ser otimizados com base em estratégias adaptativas. de fato, o malware está "evoluindo" há muitos anos, mas não de forma autônoma, por meio de melhorias nos autores.
vzn
5

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.

jmite
fonte
Bem, realmente, embora eu concorde com o que você está dizendo, onde você diz que para um computador um vírus é apenas instruções regulares, o mesmo se aplica ao corpo, a uma célula comum, o vírus é apenas um conjunto de instruções extras e tudo o que as células fazem é produzir proteínas; nesse caso, as proteínas dos vírus, é o trabalho dos glóbulos brancos detectar os vírus, pois é o trabalho dos antivírus solicitar a detecção dos vírus. É assim que os vírus se replicam; eles dependem do fato de o corpo seguir apenas as instruções!
J_mie6
E, eu concordo com o que você está dizendo sobre fazer com que os vírus tenham mutações significativas, mas se você pensar em vírus reais, eles são apenas um conjunto de instruções, como um programa. Quando eles sofrem mutações, são prejudiciais ou benéficos, mas no final o vírus evolui para algo novo. É isso que estou pensando, não importa se a mutação é boa ou ruim, apenas que acontece de vez em quando. E também, eu gosto da sua analogia :)
J_mie6
Eu acho, mas o problema é que o corpo tem suas próprias funções. A analogia só seria válida se o corpo não fizesse nada além de processar pedaços de DNA do mundo exterior o dia todo, e um vírus fosse aquele que se aproveitasse disso. A idéia é que não existe a mesma idéia de um corpo "estranho", que para um computador um programa é apenas um programa.
jmite
3

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".

vzn
fonte
O Stuxnet ficou desonesto e infectou a ISS.
noɥʇʎԀʎzɐɹƆ
1

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.

Pds314
fonte
0

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:

  1. Adicione uma colher de sopa de manteiga de amendoim.
  2. Adicione uma colher de sopa de geléia.
  3. Coloque o pão por cima.

Uma mutação pode resultar neste programa:

  1. Adicione uma colher de sopa de manteiga de peahut.
  2. Adicione uma colher de sopa de geléia.
  3. Coloque o pão por cima.

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.

noɥʇʎԀʎzɐɹƆ
fonte
A maioria das mutações biológicas também são prejudiciais.
Adriann
@adrianN Sim, e o processo biológico é muito mais preciso e há bilhões de cópias do vírus em cada corpo infectado, todos competindo na corrida evolutiva. Para computadores, existe apenas um vírus por computador.
noɥʇʎԀʎzɐɹƆ