Nivelurile de polimorfism - stadopedie

Există o diviziune a virusurilor polimorfe în straturi în funcție de complexitatea codului care apare în decodificatorii acestor virusuri. Această diviziune a fost inițial propusă de Dr. Alan Solomon, după o vreme Wesse-lin Bonchev l-a extins.







Nivelul 1. Virușii care au un set de decryptori cu cod constant și când sunt infectați, alegeți unul dintre ei. Astfel de virusuri sunt semi-polimorfe și sunt, de asemenea, numite oligomorfe.

Exemple: Cheeba, Slovacia, balena.

Nivelul 2. Decriptorul de virus conține una sau mai multe instrucțiuni permanente, partea principală a acestuia nu este constantă.

Nivelul 3. Decryptorul conține instrucțiuni neutilizate - tipul de gunoi NOP, CLI, STI etc.

Nivelul 4. Decryptorul folosește instrucțiuni interschimbabile și modifică ordinea (amestecarea) instrucțiunilor. Algoritmul de decriptare nu se modifică.

Nivelul 5. Toate metodele de mai sus sunt folosite, algoritmul de decriptare este instabil, este posibilă re-criptarea codului virusului și chiar criptarea parțială a codului de decriptare.

Nivelul 6. Virușii permutatori. Codul principal al virusului este supus schimbării - este împărțit în blocuri care, atunci când sunt infectate, sunt rearanjate în orice ordine. Virusul rămâne funcțional. Este posibil ca astfel de viruși să nu fie criptați.







Diviziunea de mai sus nu este lipsită de deficiențe, deoarece este efectuată conform unui singur criteriu - capacitatea de a detecta virusul prin codul de decriptare utilizând metoda standard a măștilor de virus:

Nivelul 1. Este suficient să aveți mai multe măști pentru a detecta un virus.

Nivelul 2. Detectarea măștilor folosind metacaractere.

Nivelul 3. Detectarea măștilor după ștergerea instrucțiunilor "gunoi".

Nivelul 4. Masca conține mai multe variante ale codului posibil, adică devine algoritmică.

Nivelul 5. Imposibilitatea detectării virușilor prin mască.

Insuficiența acestei divizări este demonstrată în virusul celui de-al treilea nivel al polimorfismului, numit - Nivel3. Acest virus, fiind unul dintre cele mai complexe virusuri polimorfe, intră în nivelul 3 în diviziunea de mai sus, deoarece are un algoritm de decriptare permanent, care este precedat de un număr mare de comenzi de gunoi. Cu toate acestea, în acest virus, algoritmul de generare a "gunoiului" este perfecționat: aproape toate instrucțiunile procesorului i8086 pot fi găsite în codul de decriptare.

Dacă vă împărțiți în nivele din punctul de vedere al antivirusurilor care utilizează decriptarea automată a codului de virus (emulatori), atunci divizarea în nivele va depinde de complexitatea emulației codului de virus. Poate că definiția virusului și alte tehnici, cum ar fi descifrarea cu ajutorul legilor matematice elementare etc. Prin urmare, mi se pare o diviziune mai obiectivă, în care, pe lângă criteriul măștilor virale, sunt implicați și alți parametri:

1. Gradul de complexitate a codului polimorf (procentul tuturor instrucțiunilor procesorului care pot apărea în codul de decriptare).

2. Utilizarea tehnicilor antiemulsive.

3. Persistența algoritmului de decriptare.

4. Lungimea constantă a decryptorului.

Nu aș vrea să explic mai detaliat aceste puncte, deoarece acest lucru poate încuraja scriitorii de virusi să creeze astfel de monștri.







Articole similare

Trimiteți-le prietenilor: