Sarebbe mai possibile per i virus informatici sviluppare nuovi "geni" per consentire loro di svolgere il loro lavoro?


8

Come studente di biologia di livello A, ho riflettuto molto sui legami con la biologia e l'informatica e qualcosa che mi viene spesso in mente sono i legami tra immunologia e sicurezza informatica / virus. Ad esempio, io (attraverso la lettura di come funzionano i programmi antivirus) ho deciso che il modo in cui il sistema immunitario gestisce i virus è molto simile ai programmi antivirus (entrambi contengono un database di definizioni dei virus (sia esso,βcelle di memoria o firme di virus) ed entrambi contengono un metodo di estrapolazione). La naturale progressione per me stava quindi pensando alla naturale evoluzione dei virus rispetto ai virus dei computer. Quindi, alla mia domanda:

Sarebbe mai possibile per i virus informatici evolversi in nuovi ceppi che possiedono nuovi "geni" per consentire loro di svolgere il loro lavoro?

Sembra che questo tipo di pensiero possa davvero applicarsi solo ai virus, voglio dire che il tuo vecchio calcolatore normale non sarà mai soggetto a "selezione naturale". Ma per quanto ne so i virus si mutano da soli, al fine di evitare i programmi antivirus, ma presumibilmente questi sono piuttosto controllati, in modo che il virus non ottenga mutazioni non benefiche che potrebbero altrimenti renderlo inutile. Se la vera natura casuale della natura potesse essere applicata ai virus, sarebbero mai in grado di evolvere nuove funzionalità, come ad esempio diventare un retro-virus che prende il controllo di un programma antivirus o mutare per includere un nuovo codice che gli consente di abbattere un firewall? Sarebbero coinvolti in una sorta di selezione naturale computazionale, in cui i virus più potenti sopravvivono e trasmettono i loro geni benefici?


Una domanda davvero interessante! Penso, tuttavia, che la metafora del "virus" per il malware sia abbastanza insufficiente. La mia comprensione era che il principale (solo?) Pensa che virus informatici e virus reali abbiano in comune è la loro capacità di diffondersi.
jmite,

1
@jmite bene, almeno per me, le somiglianze risiedono nel fatto che sì, si replicano, prendono anche il controllo del sistema che stanno attaccando in alcuni / molti casi, causano principalmente danni alla vittima (tranne alcuni benevoli virus informatici). Entrambi hanno anche metodi simili da rimuovere (cioè sistema immunitario e programmi antivirus) e anche la seconda volta che un computer incontra lo stesso virus lo rimuove più velocemente (poiché è ora disponibile una definizione di virus) simile al sistema immunitario. Questa somiglianza è probabilmente il motivo per cui sono stati chiamati virus in primo luogo: D
J_mie6

2
Il problema è che molti di questi sono falsi. La seconda volta che un computer incontra un virus, non lo rimuove più velocemente. I computer non possono elaborare definizioni di virus da soli. Provengono da società di sicurezza e probabilmente verranno da un mix di data mining e crafting umano. Un virus non è una forza esterna, come è in un corpo. Il computer non vede alcuna differenza tra il virus e qualsiasi altro programma. È solo un pezzo di codice. Ecco perché lo esegue. L'unica differenza è che l'effetto di quel programma è qualcosa che noi come utenti non desideriamo.
jmite,

Risposte:


7

Suppongo che sarebbe possibile in teoria, ma i malware per computer (virus, worm, ecc.) In genere non funzionano in questo modo oggi, e ci sono buoni motivi per cui sono scritti così come sono.

Potresti essere interessato al codice polimorfico , che si modifica per eludere il rilevamento. Cambia la sequenza di istruzioni in qualche altra sequenza di istruzioni che avrà lo stesso effetto, ma avrà un binario diverso. Ciò consente di evitare il rilevamento da parte di strumenti antivirus che cercano una "firma" specifica di byte. Tuttavia, questa non è la forma di mutazione di cui stai chiedendo, perché non causerà mai al malware di "evolvere" alcuni nuovi comportamenti che non aveva già.

In realtà, non vi sono molte ragioni per cui gli autori di malware vorrebbero o necessitassero del loro malware per sviluppare nuove funzionalità. Possono incorporare il comportamento desiderato nel malware. In alternativa, possono fare in modo che il malware contatta un server centrale di "comando e controllo" per scaricare periodicamente nuovo codice ("aggiornamenti software" per il malware), per consentire loro di controllare il comportamento del malware. Di solito i cattivi elaborano offline quali attacchi vogliono montare, quindi implementano questo nel malware o comandano al malware di eseguire quegli attacchi.

Elaborando gli attacchi offline, in anticipo, gli aggressori possono testare quegli attacchi sui propri sistemi e assicurarsi che funzionino correttamente e non vengano rilevati. Dal punto di vista dell'attaccante, è molto meglio che scrivere malware che provi casualmente cose nella speranza che si evolva in un attacco utile; il malware che prova cose casuali avrà molte più probabilità di scatenare allarmi e di essere rilevato.

Quindi, non c'è davvero alcuna necessità o motivazione per usare la "selezione naturale" nei malware, e di solito non si vede nella pratica.


Sì, il codice polimorfico era ciò che cercavo come tag, ma non esisteva! La tua risposta solleva alcuni punti interessanti e farei +1 se potessi (consideralo fatto quando ho il rappresentante qui), non sapevo che i virus possono scaricare gli aggiornamenti, come ottengono questo? È tramite le connessioni delle macchine infette?
J_mie6,

@ J_mie6, effettuano una connessione di rete a un server centrale (controllato dall'aggressore) e lo chiedono: "hai qualche nuovo software per me?" e se la risposta è sì, la scaricano ed eseguono ciò che hanno appena scaricato. In alternativa, potrebbero chiedere al server centrale: "hai qualche comando per me?" e se il server centrale dice di sì, fanno qualunque cosa il server centrale gli ordini di fare. Fai una piccola lettura su botnet e server C&C per saperne di più su questo argomento. [Se la mia risposta è la più utile dopo un giorno o due, puoi controllare il segno di spunta per accettarla.]
DW

ci sono molte ragioni per cui il malware trarrebbe vantaggio da strategie di adattamento (generali). ad esempio alcuni algoritmi di attacco possono essere ottimizzati in base a strategie adattive. il malware ha infatti "evoluto" per molti anni, ma non in modo autonomo, invece attraverso miglioramenti dell'autore.
vzn,

5

TL; DR: i computer non sono entità autonome come gli organismi, con alcun istinto di sopravvivenza. Eseguono solo istruzioni e, a volte, eseguono istruzioni che non ci piacciono, quindi eseguiamo altre istruzioni per trovare quelle sbagliate.


Ho iniziato a dirlo nei commenti, ma penso che ci sia molto altro da dire.

La metafora del virus è obsoleta e troppo ampiamente utilizzata da persone che non capiscono come funzionano effettivamente i computer. Provano a paragonarli a cose viventi, perché comprendono le cose viventi. Ecco una metafora migliore.

Sei un impiegato. Lavori per una mega-corporazione gigante, dove non vedi il tuo capo. Non ti è mai stato detto perché fai il tuo lavoro, non sai nemmeno cosa fa la tua azienda. Tutto quello che sai è che ti mostri al lavoro ogni giorno e segui le tue istruzioni.

C'è una piccola finestra vicino alla tua scrivania, che è l'unico modo per interagire con chiunque altro. Non vedi nessuno, ma a volte pezzi di carta escono dalla finestra.

Le tue istruzioni sono sempre le stesse all'inizio, ma hai una grande pila di carte sulla scrivania. Alcune contengono istruzioni, altre contengono cose che hai scritto. A volte le tue istruzioni ti diranno di trovare un pezzo di carta diverso e di iniziare a usarlo come istruzioni. A volte ti dicono di cambiare i pezzi di carta, strappandoli o cancellandone parti. (Questo è ciò che esegue un programma. A volte i programmi modificano i file, a volte eseguono altri programmi, ecc.)

A volte le tue istruzioni ti dicono di aspettare vicino alla finestra che arrivi altra carta. Il documento potrebbe avere un'immagine, potrebbe avere del testo o potrebbe avere più istruzioni. (Questo è ciò che accade quando un computer attende l'input del mouse o l'input da tastiera o qualcosa da una rete (ad es. File)).

Non fai altro che seguire queste istruzioni. Non sai mai perché, non sai mai per chi, ma lo fai e basta.

A volte, le tue istruzioni ti dicono di multitasking. Hai un mucchio di carte. Si imposta un timer e si lavora sulle istruzioni dalla carta in alto per 5 minuti. Quando il timer scade, metti quella carta sul fondo della pila e fai qualunque cosa sia sulla nuova carta in cima. (Ecco come i computer eseguono più di un programma alla volta).

Ora un giorno stai aspettando un pezzo di carta vicino alla finestra e sai quando lo ottieni, farai tutto ciò che dice, perché è quello che ti ha detto l'ultimo pezzo di istruzioni. Lo ottieni e dice di trovare alcuni dei tuoi pezzi di carta principali, con le tue istruzioni di base, e cancellarli. Ti dice nuove istruzioni da mettere lì. Stanno facendo cose strane, come inviare i tuoi file fuori dalla finestra in posti strani o raccogliere copie di backup di tutte le cose che arrivano dalla finestra. Ma l'importante è che non ci pensi nulla. Sono solo più istruzioni. Li fai e basta.

Questo è un virus. È solo una serie di istruzioni che inducono il computer a funzionare.

Ora, supponiamo che tu sia un lavoratore multitasking. Ricevi una di queste istruzioni di cancellazione nella finestra. Ma sei occupato, quindi lo metti sul fondo della pila. Guarda in cima alla tua pila di cose da fare e c'è una serie di istruzioni contrassegnate come "antivirus". Dice di leggere tutti i tuoi documenti e vedere se qualcuno di loro assomiglia al loro documento di esempio. Lo fai e vedi che le istruzioni per la cancellazione sono sul tuo elenco.

Nota che se inizi a eseguire le istruzioni del virus, non ci pensi nulla. Senza un antivirus, non esiste alcun attacco, non esiste una risposta immunitaria. Non ti sta attaccando, è solo un insieme di istruzioni. L'antivirus è solo un elenco di TODO che prevede di guardare le altre istruzioni e trovare quelle che corrispondono a un modello. Non sta cercando di preservare il sistema nel suo insieme, è solo un foglio di carta che qualcuno ti ha dato dalla finestra, perché impedisce ad altre persone di indurti a fare cose mettendo cose attraverso la finestra.

E i tuoi virus "in evoluzione"? Questo è certamente possibile, ma diamo un'occhiata a ciò che ciò comporta. Un virus in evoluzione è fondamentalmente un foglio di istruzioni che ti dice come fare più istruzioni. È un pezzo di carta che ti dice di cancellare un mucchio di tue vecchie istruzioni, e quindi di metterne di nuove al suo posto, ma quelle nuove istruzioni ti dicono anche di cancellare vecchie istruzioni, di metterne di nuove e così via. Quindi le istruzioni originali non stanno cambiando. Il virus non sta mutando. Invece, sta semplicemente facendo tutto ciò che fa, lasciando anche alle spalle le istruzioni per creare la sua prossima generazione.

Quindi, è possibile farlo? Sì. Ma è estremamente complicato. Avere un programma che cambia se stesso, ma avere quella sequenza di cambiamenti che non converge alla fine in un programma che non fa nulla di utile, è incredibilmente complesso.


Bene, davvero, anche se sono d'accordo con quello che stai dicendo, in cui dici che per un computer un virus è solo istruzioni regolari, lo stesso vale per il corpo, per una cellula normale, il virus è solo un insieme di istruzioni extra, e tutto ciò che fanno le cellule è produrre proteine, in questo caso le proteine ​​dei virus, è il compito dei globuli bianchi di rilevare i virus in quanto è il lavoro anti-virus a richiedere il rilevamento dei virus. Ecco come si replicano i virus, hanno una dipendenza dal fatto che il corpo seguirà solo le istruzioni!
J_mie6,

E sono d'accordo con quello che stai dicendo su come rendere i virus mutazioni significative, ma se pensi ai virus reali, sono solo un insieme di istruzioni, come un programma. Quando mutano, sono dannosi o benefici, ma alla fine il virus si evolve in qualcosa di nuovo. Questo è quello che sto pensando, non importa se la mutazione è buona o cattiva, solo che succede ogni tanto. E inoltre, mi piace la tua analogia :)
J_mie6,

Immagino, ma il problema è che il corpo ha le sue funzioni. L'analogia sarebbe davvero valida solo se il corpo fosse qualcosa che non faceva altro che processare pezzi di DNA dal mondo esterno tutto il giorno, e un virus era uno che ne approfittava. L'idea è che non esiste la stessa idea di un corpo "estraneo", che per un computer un programma è solo un programma.
jmite,

3

la domanda generale riguarda l'evoluzione del malware. la domanda specifica riguarda i geni. esiste davvero un meccanismo di algoritmo genetico che utilizza "geni" digitali per l'ottimizzazione e potrebbe certamente essere plausibilmente utilizzato in virus / malware, anche se finora non sembrano esserci notizie "allo stato brado". d'altra parte, il malware si è effettivamente evoluto nel corso degli anni da più di una curiosità teorica a una che coinvolge il crimine informatico organizzato, ecc., con una crescente raffinatezza nelle minacce. finora questo è alimentato in gran parte (ma non interamente!) da "evoluzione" guidata dallo sviluppatore umano. in un certo senso si può dire che i virus informatici stanno generalmente evolvendo nel tempo una maggiore "intelligenza" o "sofisticazione dell'attacco".

ecco alcuni riferimenti che studiano l '"evoluzione di / nei malware".


Stuxnet è diventato un ladro e ha infettato la ISS.
noɥʇʎԀʎzɐɹƆ

1

La cosa principale è metterlo in funzione. Versioni ingenue, ovvero prendere un pezzo di malware in qualche modo esistente di successo e fare ogni tentativo di riproduzione con mutazioni, nella maggior parte dei casi sarebbero probabilmente letali per il malware.

Ciò, tuttavia, non significa che non potrebbe evolversi, ma solo che il suo scopo originale, la replica, potrebbe essere ostacolato. Con un tasso di mutazione abbastanza basso e abbastanza pazienza, le mutazioni benefiche e benigne sarebbero alla fine selezionate per.

Un problema, tuttavia, è che si sarebbero evoluti. In particolare, si evolverebbero su puri principi darwiniani. Se scrivo un pezzo di codice che viene eseguito e quindi, solo in caso di esecuzione corretta, copia il suo file binario 1000 volte in 1000 posizioni con un errore casuale o diversi in ciascuno e li esegue tutti, potrebbe sembrare che abbia reso la replica dipendente da il completamento di qualsiasi attività viene eseguita correttamente, ma in realtà la replica dipende solo dal programma PENSANDO che abbia completato correttamente tale attività.

Quindi c'è una buona probabilità che se si trattasse di un malware, i suoi due obiettivi fondamentali, in particolare la replica e il rovinare i computer delle persone, sarebbero in contrasto tra loro. Per un tempo sufficientemente lungo, probabilmente si verificherebbe una mutazione per far sì che non rovini così male i loro computer, rendendo meno importante che l'antivirus si occupi, quindi, replicandosi con sintomi minimi, come è la strategia iniziale più efficace in pandemia o peste inc, o fa mentire a se stesso che è persino riuscito a rovinare i loro computer, trasformando la funzione primaria in un introne abbastanza rapidamente su di essa non riuscendo a eseguire ma la funzione di replica continua a funzionare.

Molte persone si meravigliano dell'efficacia del sistema immunitario nel sconfiggere ogni tipo di minaccia, ma in molti modi i computer sono molto, molto più sicuri delle cellule. Il tuo computer non può effettivamente scaricare un virus in primo luogo. Un perfetto sistema anti-virus con un utente perfetto non deve mai scansionare il disco rigido. Il codice del computer non può essere semplicemente inserito fisicamente nel disco rigido.

Cellule a contrasto, in cui i virus hanno sviluppato alcuni meccanismi FISICI piuttosto singolari per sfuggire alle difese cellulari. Ad esempio, alcuni virus sono totalmente inerti fino a quando non incontrano una cellula, ma poi la loro struttura fisica si attacca e perfora violentemente la membrana cellulare per iniettare il loro materiale genetico. Questo è come un virus informatico che taglia fisicamente la macchina e aggiunge nuovo hardware mentre il tuo sistema operativo e antivirus pensano "va bene" ed eseguono il codice trovato su quell'hardware.

Quindi è in realtà abbastanza probabile che più il codice è benigno, migliore è la riproduzione che può fare. In alcuni casi, potrebbe essere più facile per l'evoluzione convincere l'utente ad aiutarlo piuttosto che sviluppare un nuovo antivirus. IE si aggiunge ai file che possono essere condivisi con altri utenti.

Quindi, in definitiva, mi sembra più probabile che la possibilità di replica sia maggiore quando è inutile come malware in quanto tale, e probabilmente ancora più elevata se riesce a convincere l'utente o il codice antivirus che in realtà è qualcosa di benigno , importante o utile.

Un'altra cosa è che la maggior parte delle macchine ha operazioni non valide, quindi è probabile che le modifiche casuali al codice non solo impediscano la funzionalità, ma causino anche l'arresto anomalo del codice, anche con memoria non protetta.


0

Immagina i programmi per computer non dannosi come i microbi nell'intestino. Immagina un virus informatico come un batterio infettivo.

Il computer non è in grado di distinguere tra batteri buoni e batteri cattivi, a differenza del sistema immunitario.

Sarebbe semplice creare un programma di auto-modifica, ma il 99% delle mutazioni comporterebbe un errore. Un programma è come un elenco di istruzioni e i computer sono molto severi su come sono scritte queste istruzioni. Supponiamo di avere questo programma:

  1. Aggiungi un cucchiaio di burro di arachidi.
  2. Aggiungi un cucchiaio di gelatina.
  3. Metti il ​​pane sopra.

Una mutazione potrebbe comportare questo programma:

  1. Aggiungi un cucchiaio di burro di peahut.
  2. Aggiungi un cucchiaio di gelatina.
  3. Metti il ​​pane sopra.

Sebbene sia chiaro all'umano, si intendeva "nocciolina", ma non è chiaro al computer. Potrei scrivere un semplice script che si muta in Python, ma la maggior parte delle volte le mutazioni lo faranno fallire.

Sarebbe molto interessato a un virus che si è mutato e potrebbe rimanere in vita - potremmo persino classificarlo come vita.


Sì, sono in ritardo alla festa, ma questo è un argomento interessante di cui vale la pena scrivere.


La maggior parte delle mutazioni biologiche sono anche dannose.
adrianN,

@adrianN Sì, e il processo biologico è molto più accurato e ci sono miliardi di copie del virus in ogni corpo infetto, tutti in competizione nella razza evolutiva. Per i computer esiste un solo virus per computer.
noɥʇʎԀʎzɐɹƆ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.