Copy Link
Add to Bookmark
Report

Vana Imago 1 32

eZine's profile picture
Published in 
Vana Imago
 · 5 years ago

  

                       VIRUS POLIMORFI                                                                                                                                                   Techno Knight                                                                                                                                                                                                         Un virus polimorfico Š un virus che cambia forma ad ogni infezione, quindi      con un codice che modifica se stesso.                                           Ad esempio un virus come COMA (virus di esempio nel numero 0) Š                 di questo tipo :                                                                                                                                                         - cerca il primo file .COM della directory                                      - salva i primi tre bytes del file trovato                                      - sovrascrivi i primi tre bytes con un salto alla fine del file                 - scrivi il virus alla fine del file                                            - ripristina i primi 3 bytes del file infettato nell'infezione                    precedente                                                                    - esegui il file infettato nell'infezione precedente                                                                                                                                                                                   Questo virus non Š polimorfico perchŠ si riscrive sempre uguale in ogni         infezione. CioŠ se prendiamo due files infetti ed eliminiamo tutti i byte       appartenenti al file originale (prima che fosse infettato) ci ritroviamo        con due file uguali (a parte ovviamente il jump iniziale il cui valore dipende  dalla dimensione del file originale), ma anche se dovesse risultare uguale      una piccola parte (non troppo piccola per•) gli antivirus potrebbero trovare    semplicemente il nostro virus, se avessero memorizzato nel loro archivio        le stringhe contenute nel nostro virus che restano costanti.                    Un virus polimorfo invece si cripta prima di scrivere se stesso alla fine       del file da infettare, e ogni volta si cripta con una chiave casuale, in modo   che ad ogni infezione cambia forma.                                             Quindi lo schema diventa :                                                                                                                                                                                                                               - cerca il primo file .COM della directory                                      - salva i primi tre bytes del file trovato                                      - sovrascrivi i primi tre bytes con un salto alla fine del file             *   - genera una chiave casuale                                                 *   - cripta te stesso con la chiave generata                                   *   - salva la chiave in uno spazio che verr… copiato nel file infettato            - scrivi il virus (criptato) alla fine del file                                 - ripristina i primi 3 bytes del file infettato nell'infezione                    precedente                                                                    - esegui il file infettato nell'infezione precedente                                                                                                                                                                                   Per criptare il virus possiamo usare uno XOR, o un ADD, o un SUB. Io            preferisco lo XOR perchŠ cos si pu• scrivere una sola routine che funzioni     sia da criptatore che da decriptatore, dato che :                                                                                                                                decriptato XOR chiave = criptato                                                criptato XOR chiave = decriptato                                                                                                                                                                                               Poi per• i file infettati non potrebbero essere eseguiti, perchŠ il codice      virale (che deve essere eseguito per primo) Š criptato, e quindi non            corrisponde pi— alle istruzioni originali del nostro virus.                     Quindi dobbiamo inserire un decriptatore che venga eseguito per primo (e che    non sia criptato) e che decripti il resto del codice con la chiave.             Quindi....                                                                                                                                                                      PARTE NON CRIPTATA                                                   * 1  - leggi la chiave generata nella precedente infezione                      * 2  - usa la chiave per decriptare il resto del codice                                                                                                                    PARTE CRIPTATA                                                         3  - cerca il primo file .COM della directory                                   4  - salva i primi tre bytes del file trovato                                   5  - sovrascrivi i primi tre bytes con un salto alla fine del file              6  - genera una chiave casuale                                                  7  - cripta te stesso (dal 3 in poi) con la chiave generata                     8  - salva la chiave in uno spazio che verr… copiato nel file infettato         9  - scrivi il virus (criptato) alla fine del file                              10 - ripristina i primi 3 bytes del file infettato nell'infezione                    precedente                                                                 11 - esegui il file infettato nell'infezione precedente                                                                                                                                                                                  Vediamo che per• resta ancora una parte che deve essere inevitabilmente         eseguibile dal microprocessore, e quindi non criptata.                          Certo Š una parte molto pi— piccola rispetto al virus intero, ma sono pur       sempre dei byte che restano costanti ad ogni infezione.                         Per risolvere questo problema dovremo usare un opcode generator, cioŠ una       routine (presente nella parte criptata quindi che non rimane costante)          che ogni volta si occupi di riscrivere il criptatore/decriptatore               in modo che facciano sempre la stessa cosa, ma con istruzioni differenti.       In questo modo il nostro virus cambier… completamente forma ad ogni infezione.  Ricordatevi per• che alcuni antivirus riconoscono il codice che sembra non      essere stato generato da un assembler ma da un opcode generator, ad esempio     il TBAV usa un flag apposito per indicare ci•, ma tutto questo dipende solo     dalla qualit… della routine usata (la continua battaglia di intelligenza        tra viruswriters e AVers :)                                                     Ad ogni modo lo schema diventa :                                                                                                                                                PARTE NON CRIPTATA                                                     1  - leggi la chiave generata nella precedente infezione                        2  - usa la chiave per decriptare il resto del codice                                                                                                                    PARTE CRIPTATA                                                         3  - cerca il primo file .COM della directory                                   4  - salva i primi tre bytes del file trovato                                   5  - sovrascrivi i primi tre bytes con un salto alla fine del file              6  - genera una chiave casuale                                                  7  - cripta te stesso (dal 3 in poi) con la chiave generata                     8  - salva la chiave in uno spazio che verr… copiato nel file infettato       * 9  - riscrivi le parti 1 e 2 con codice differente                              10 - scrivi il virus (criptato) alla fine del file                              11 - ripristina i primi 3 bytes del file infettato nell'infezione                    precedente                                                                 12 - esegui il file infettato nell'infezione precedente                                                                                                                                                                                                           Techno Knight(techno83@freemail.it)                                                                                                                                                                                    

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT