Citiți cartea pentru a crea un virus și antivirus Igor Gulev lectură on-line - pagina 1

Creați un virus și antivirus

Am nevoie de greu spun că computerele au devenit reale persoană ajutoare și fără ele nu se poate face nici o societate comercială sau o agenție guvernamentală. Cu toate acestea, în această privință, în special problema acută a securității informațiilor.

Virusurile sunt utilizate pe scară largă în tehnologia informatică, se agită întreaga lume. Mulți utilizatori de computere sunt preocupați de zvonuri că, cu ajutorul atacatorilor virus de calculator sparge în rețea, jefuiască bănci, fură proprietate intelectuală ...

Mai mult și mai des în mass-media există rapoarte despre diferitele tipuri de pirat poznele huligani de calculator, apariția programelor automultiplicare din ce în ce mai sofisticate. Cel mai recent infectate cu virus fișiere text a fost considerat absurd - astăzi acest lucru nu este o surpriză. Este suficient să amintim apariția „Prima rândunică“, care a provocat o mulțime de zgomot - virusul WinWord.Concept, izbitoare documente în formatul de procesor de text Microsoft Word pentru Windows 6.0 și 7.0.

Vreau doar să rețineți că prea mult să se teamă de viruși nu este necesară, mai ales în cazul în care computerul achiziționat recent, și nu a fost încă acumulat o mulțime de informații de pe hard disk. Virus de calculator nu explodeaza. Acum este cunoscut doar un singur virus (Win95.CIH), care este capabil să strice „hardware-ul“ calculatorului. Altele pot distruge numai informații, nimic mai mult.

Literatura de specialitate este susținut foarte puternic că a scăpa de virus este posibila numai cu ajutorul unor programe sofisticate (și scumpe) anti-virus, și se presupune că numai sub protecția lor, vă puteți simți în siguranță. Acest lucru nu este destul de adevărat - familiarizarea cu particularitățile structurii și modalitățile de introducere a virușilor de calculator în timp pentru a le ajuta să detecteze și să localizeze chiar dacă nu sunt la îndemână va fi cel mai bun program anti-virus.

Virușii de computer pot „cuib“, în cele mai neașteptate locuri, cum ar fi MBR boot record (master boot record), în fișiere executabile, cum ar fi COM și EXE, fișiere DLL în bibliotecă partajată, și chiar și în documentele de procesor de text Microsoft Word pentru Windows. Această secțiune descrie structura virusului care afectează COM-fișiere.

Structura și procesul de încărcare COM-programul

Ce este un COM-program deoarece este încărcat în memorie și a alerga?

Structura COM-program este foarte simplu - acesta conține doar codul și datele programului, fără măcar un titlu. COM-rezoluție limitată de dimensiunea unui segment de program (64 KB).

Și două concepte care vor fi frecvent întâlnite:

Segment Programul Prefix (PSP) - zona de memorie 256 (0100h) bytes anterioare programului atunci când este încărcat. PSP conține informațiile de linie de comandă și variabile de program aferente.

Programele COM-încărcare în memorie și începe să luați loc după cum urmează:

2. Creează și umple un bloc de memorie pentru variabilele de mediu.

3. Crearea unui bloc de memorie pentru PSP și programul (segment: 0000 - PSP; segmente: 0100 - Program). Câmpul PSP înregistrat valori corespunzătoare.

6. Valoarea AX registru este stabilit în conformitate cu parametrii de linie de comandă.

7. registrele DS, ES și SS sunt stabilite pe segmentul și programe (PSP: 0000h) PSP.

8. Registrul SP este stabilit la sfârșitul segmentului, după care stiva este scris 0000h.

COM-programul întotdeauna constă dintr-un singur segment și pornește de la 0100h de offset.

După descărcarea unui fișier infectat, virusul preia controlul. Când a terminat, virusul restabilește original JMP și trece controlul programului, așa cum este prezentat în Fig. 1.2.

Ceea ce face virusul în cauză? După startul a fost căutat în directorul curent COM-program. În acest scop, caracteristica 4EH (găsiți primul fișier):

; Cautam primul model de nume de fișier

mov dx, compensate fname - mă ofset

Virusul apoi verifică (în primul octet al fișierului), în cazul în care el a găsit abordarea COM program:

; Scrieți primele trei octeți din fișierul (trecerea la corpul virusului)

mov dx, ofset mine jmpvir-compensate

După ce virusul a terminat activitatea, reface la starea inițială, primii trei octeți ai programului (în memorie), și transferă controlul la începutul programului. Mai mult, atunci când un fișier infectat, virusul devine de control în primul rând, și apoi - programul de sursă. Datorită acestui sistem de raportare a virusului poate exista cu ușurință, după ce a fost o dată eliberat în sălbăticie.

Aceasta are ca rezultat într-un fișier care conține un LEO.COM gata-COM-virus. Pentru a testa virusul, puteți crea un director separat și copiați-l în dosar, precum și alte câteva din COM-fișiere. După ce a început virusul LEO.COM este introdus în toate celelalte COM-fișiere. Nu-ți fie teamă să fie infectat cu un calculator dintr-o dată - virusul se raspandeste numai in directorul curent. Mai jos este codul sursa al virusului:

286; Set procesor tip

CheckByte teh 0F0h

; Subliniază faptul că registrele conțin CS și DS

presupunem cs: cod, ds: Cod

; Cod segment care începe. La sfârșitul segmentului de cod de program trebuie să

; Închide - „cod se termină“

; Setați părtinire în segmentul de cod.

; Este necesară această linie

; Pentru COM program (toate COM-program de

; Simularea fișierul infectat-COM.

, Corpul virusului începe cu tag-ul la

Codul de comandă JMP; db 0E9h

dw compensate la-compensare reală

Metodele pentru introducerea COM-virus

Considerat virusul la sfârșitul adaugă fișierului, iar la începutul fișierului a intrat în tranziție în sine. Există și alte modalități de introducere a virușilor.

Luați în considerare două opțiuni pentru introducerea COM-virus la începutul fișierului. Prima variantă. Virusul suprascrie la începutul programului până la sfârșitul fișierului pentru a face loc pentru el însuși. După aceea corpul virusului se înregistrează la începutul fișierului, și o mică parte furnizează un fragment de program reprimată de transport în locul său - la sfârșitul anului. Când refacerea aspectului inițial al corpului programului de virus va fi șters, astfel încât codul virusului, restaurarea programului trebuie să fie într-un loc sigur, separat de corpul principal al virusului. Această metodă de implementare este prezentată în Fig. 1.3.

Cel de al doilea exemplu de realizare diferă de primul în care virusul, eliberând un loc pentru sine, se mută întregul corp al programului, și nu transferă o parte din dosar. Această metodă de implementare este prezentată în Fig. 1.5.

Există soiuri de viruși care nu fac parte din corpul său este anexată la dosar. De exemplu, virusul poate fi introdus în mijlocul fișierului. În acest caz, algoritmul de virus este un amestec de algoritmi unul dintre cei doi virus nou descris și virusul descris în secțiunea „Un simplu COM-virus“.

COM-fișiere (mici programe scrise mai ales în limba Assembler) este devenit încet, dar sigur depășite. Acestea sunt înlocuite de dimensiunile lor înfricoșătoare EXE- «monștri». Au existat, de asemenea, virusuri, capabile să infecteze EXE fișiere.

Structura și procesul de descărcare EXE program

Spre deosebire de COM-programe, EXE-program poate consta din mai multe segmente (cod, date, stivă). Acestea pot dura mai mult 64Kbayt.

La începutul încărcător de sistem EXE program (funcția de apel DOS 4BH) efectuează următoarele etape:

2. Creează și umple un bloc de memorie pentru variabilele de mediu.

3. Crearea unui bloc de memorie pentru program și PSP (segment: 0000h - PSP; segment + 0010h: 0000h - Program). Câmpul PSP înregistrat valori corespunzătoare.

5. În spațiul de lucru încărcător citește porțiune de antet formatat EXE-fișier.

6. Lungimea Calculați a modulului de încărcare prin formula: Size = ((PageCnt * 512) - (HdrSize * 16)) - PartPag.

7. Se determină deplasarea fișierului modulului de sarcină, un HdrSize egal * 16.

10. Pentru fiecare setare de masă de intrare:

a) Citiți Cuvântul și I_OFF I_SEG;

b) calculat RELO_SEG = START_SEG + I_SEG;

11. aloca memorie pentru program, în conformitate cu Maxmem și MinMem.

12 inițializează registrul, programul se execută:

b) AX = rezultatul verifică identitatea conducătorului auto specificat în linia de comandă;

c) SS = START_SEG + ReloSS, SP = ExeSP;

d) CS = START_SEG + relocs, IP = ExeIP.

EXE-viruși pot fi împărțite în grupuri, folosind ca o caracteristică a diviza algoritm particular.

Virușii care înlocuiesc codul (suprascriere)

Astfel de virusuri au devenit o raritate. Principalul lor dezavantaj - lucru prea aspră. Programele infectate nu sunt puse în aplicare, deoarece virusul suprascrie codul de program fără a salva. La lansarea, virusul caută victima următoare (sau victimă), se deschide un fișier găsit pentru a edita și scrie corpul său la începutul programului, fără a salva codul original. Infectate cu aceste virusuri nu sunt supuse programului de tratament.

Aceste virusuri a primit numele lor, din cauza algoritmului de multiplicare: pentru fiecare fișier infectat, un fișier prin satelit. Să ne gândim mai în detaliu două tipuri de virusuri ale acestui grup:

Virusurile propagate primul tip urmează. Pentru fiecare devine infectat EXE-fișier în același director creați un fișier cu codul virusului, având același nume ca și EXE-fișiere, dar cu extensia COM. Virusul este activat atunci când începe programul de pe linia de comandă numai numele fișierului executabil. Faptul este că, dacă nu specificați extensia de fișier, DOS primul caută un fișier în directorul curent cu numele specificat și extensia COM. În cazul în care COM-fișier cu acel nume nu este găsit, căutarea este efectuată EXE-fișier cu același nume. În cazul în care nu a fost găsit și EXE fișiere, DOS va încerca să găsească fișier BAT (lot). În absența în directorul curent al fișierului executabil cu numele specificat căutare se desfășoară în toate cataloagele disponibile pe variabila PATH. Cu alte cuvinte, atunci când utilizatorul dorește să înceapă programul și câștigă doar numele (în principiu, totul) în linia de comandă, primul virus devine de control, al cărui cod este în COM-fișiere. Se creează un fișier COM-înapoi la unul sau mai multe EXE fișiere (spread), și apoi executabile EXE fișiere cu numele specificat în linia de comandă. Utilizatorul crede, de asemenea, se execută numai EXE program. Virus prin satelit neutralizeze destul de simplu - suficient pentru a elimina COM-fișier.

Virușii de al doilea tip sunt mai fin. Nume devenind infectate EXE-fișier rămâne aceeași, iar extensia este înlocuită cu o alta, diferită de executabil (COM, EXE și BAT). De exemplu, fișierul poate obține o extensie DAT (fișier de date) sau OVL (software-ul de suprapunere). Apoi, locul de EXE-fișier este copiat în codul virusului. Când executați un program infectat cu virusul devine de control cod, situat în EXE-fișiere. Infectarea una sau mai multe dintre EXE fișiere în același mod un virus revine la extensia originală fișier executabil (dar nu EXE, COM și, ca EXE-fișier cu același nume ocupat de virus), și apoi se execută. Atunci când un program de lucru infectat este finalizat, acesta revine la fișierul executabil extensia non-executabil. Tratamentul fișierelor infectate cu acest tip de virus, poate fi dificil în cazul în care virusul prin satelit criptează o parte sau tot corpul devine fișier infectat, dar înainte de executarea el recuperează.

Această lucrare, care are presupune statutul de „domeniu public“. Dacă nu este, și plasarea de materiale încalcă drepturile altcuiva, atunci vă rugăm să ne anunțați.

Ai citit cartea? Câștigați acest lucru!

Trimite un mesaj pentru grupul de administrator - Sergei Makarov - scrie