Domanda

Se ho il programma e voglio controllare se altri programmi hanno la stessa semantica esatta o meno, potrei sempre costruire una macchina che potrebbe prendere questa decisione?

Si tratta di una questione relativa alla sicurezza delle informazioni come malware metamorfico eseguirà trasformazioni sul proprio codice che renderà sembrare diverso dai rilevatori di malware statici preservando la sua semantica.Se è possibile scrivere una macchina in grado di rilevare se due programmi portano la stessa semantica, allora è impossibile scrivere il malware "non rilevabile".

È stato utile?

Soluzione

Concretamente, ci occupiamo sempre di trasformazioni sintattiche, indipendentemente dal fatto che vi sia una teoria semantica che rende comprensibili queste trasformazioni, o meno. Alla fine, la nostra capacità di dimostrare automaticamente che due diversi programmi sono equivalenti è limitato a proprietà che possono essere definite sintatticamente. Anche allora, ci sono dei limiti a ciò che possiamo fare, se consentiamo la lingua in cui queste proprietà sono definite abbastanza ricche, quindi la risposta alla tua domanda, nel caso generale, dovrebbe essere negativo.

Più specificamente però, dietro ogni specifico processo metamorfico che può essere automatizzato, c'è anche una strategia specifica, quindi ci sono anche limiti all'efficacia di quei malware. A causa di ciò, potrebbe essere possibile, data una certa conoscenza di questa strategia, per indirizzare le sue caratteristiche sintattiche in modo controllato e rompere automaticamente il codice dietro di esso, impedendolo di attaccare.

I creatori di malware hanno l'iniziativa, il che dà loro un vantaggio. Questo vantaggio può essere amplificato con abilità tecniche e sofisticazione matematica, quindi non è consigliabile basare la tua strategia di sicurezza sulla capacità di rilevare e disattivare un pezzo di software che ha già inserito il sistema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top