Allora, innanzitutto, bisogna capire come lavorano le varie difese per contrastarle:
l analisi statica e' l analisi lenta che analizza per bene il file cosi' come e', cioe' appena lo scarichi, e senza eseguirlo; Questo processo e' piu' lento, e spesso e' reso inutile da semplici manovre quali offuscamento del codice, crypt o binding con altri file o compressione [vediti queste tecniche].
L analisi dinamica invece, analizza meglio l ambiente dopo l esecuzione del malware, e quindi processi, prestazioni, collegamenti, servizi attivi ed eventuali azioni secondarie, come esecuzione di codice secondario ecc......
Questo metodo e' utile dopo che il file infetto e' stato eseguito, ed e' piu' veloce ma meno preciso, ed e' ancora piu' difficile da bypassare per eventuali sandbox o ambienti controllati. Per ovviare, bisogna injectare il processo del malware nel processo di un applicazione comune e che non sia sospetta; Oltre a cio' , usa uno stub, che esegue il malware direttamente nella ram, ed evita cosi' sia un analisi statica, sia un analisi dinamica con ambiente controllato, poiche' potresti bypassarlo. Infine, vi e' l analisi ibrida: e' un ibrido fra statica e dinamica, ed e' usata poiche' riunisce gran parte dei vantaggi di entrambe, Le tecniche per bypassarlo, sono unirne piu' di una per evitare problemi, e inoltre vi e' un altro metodo: two-phase infection: fai scaricare un file che deve solo sistemare il sistema [scusami il gioco di parole lol], e poi scarica il malware vero e proprio; In questo modo, l analisi statica e' bypassata totalmente, e anche l hash-detection e altre tecniche usate per rilevare file infetti. [proprio perche' il file infetto ancora non e' presente nel malware]. Per evitare problemi con la rilevazione post-infection, usa un malware modulare, in modo che nel codice dello stesso file, non ci siano keylogger, credentials grabber ecc... che sarebbero subito rilevabili, ma falli scaricare ed eseguire one-time, in modo da evitare che sia possibile risalire al file infetto.