Distribuția și munca virusilor (virusuri atkuda, moduri de infectare a programelor, structuri com și

Structura programelor SO M și EXE

Programul COM este o secțiune de cod și date începând cu

cu o comandă executabilă și ocupând nu mai mult de 64K octeți. De exemplu, a







structura are un procesor de comandă COMMAND.SOM sistem de operare

MSDOS, versiuni până la 6.22 inclusiv.

Programul EXE are o structură mult mai complexă. La începutul dosarului

Programul EXE este o lungime a titlului. 28 octeți conținând

# 61623; MZ w - un semn al fișierului EXE;

# 61623; PartPag - lungimea fișierului modulo 512;

# 61623; PageCnt - lungimea fișierului în pagini de 512 octeți;

# 61623; ReloCnt - dimensiunea tabelului de configurare;

# 61623; Dimensiune HdrSize-header;

# 61623; MinMem - memorie minimă necesară;

# 61623; MaxMem - memorie maximă necesară;

# 61623; Relo-SS este segmentul relativ al stivei;

# 61623; ExeSP - decalarea indicatorului stack;

# 61623; ChkSum este suma de control a fișierului;

# 61623; ExelP - compensarea punctului de intrare;

# 61623; ReloCS este segmentul relativ al punctului de intrare;

# 61623; TablOff - compensarea tabelului de configurare;

# 61623; Suprapunerea este numărul segmentului suprapus.

Câmpurile ReloCS și ExelP determină locația punctului de intrare în

program, câmpurile ExeSP și ReloSS - locația stivei, câmpurile PartPag și

PageCnt - dimensiunea segmentului rădăcină al programului.

Dimensiunea calculată a programului pentru PartPag și PageCnt poate să nu coincidă

real
dimensiune
fișier.
astfel de
programul
sunt numite

"Segmented" sau "care conține suprapuneri interne". competent

După titlu, poate fi plasată o masă specială, exactă

a căror locație este determinată de câmpul TablOff. și dimensiunea de câmp

care sunt modificate de sistemul de operare la momentul încărcării

Metode standard de infecție.

Cazul programului COM. Corpul virusului este atribuit la sfârșitul dosarului, undeva

Mai mulți (de obicei, trei) octeți ai originalului

începerea programului, în locul lor comenzile de tranziție spre început

virus. Când virusul se termină îndeplinirea intenției sale

acționează, restabilește octeții originali ai începutului programului și

transferă controlul acolo.

Cazul unui program EXE. Corpul virusului este atribuit sfârșitului dosarului, în

Antetul său modifică valorile câmpurilor care definesc

locația punctului de intrare și mărimea programului (uneori chiar și -

localizarea stivei). Ca rezultat, controlul primește un cod de virus.

La sfârșitul virusului, folosind stocate în infecție

valori ale câmpurilor modificate, comută la original

Cum funcționează virusul

Să luăm în considerare schema de funcționare a celui mai simplu virus de boot,

infectând o dischetă. Când porniți computerul, controlul este transferat

un program de boot care este stocat permanent

memorie (ROM).

Acest program testează echipamentul și finalizează cu succes

verifică încercarea de a găsi o unitate de dischetă A:

Fiecare dischetă este alocată sectoarelor și liniilor, sectoarele sunt combinate

Printre sectoare există mai multe birouri, care funcționează

sistem pentru nevoile lor (în aceste sectoare nu pot fi localizate

datele utilizatorilor). Printre sectoarele de servicii este de interes

una - așa-numita. sectorul boot (sectorul de boot).

Sectorul de pornire stochează informații despre dischetă -

Numărul de suprafețe, numărul de piste, numărul de sectoare și

etc Dar aceste informații nu este interesant, ci un mic program inițial

(PNZ), care ar trebui să încarce sistemul de operare însuși și

dă-i controlul.

Astfel, schema normală de bootstrapping este după cum urmează:

ПНЗ (ROM) - ПНЗ (disc) - SISTEMUL

Acum ia în considerare virusul. În virușii de boot se disting două părți:

t. n. cap și așa mai departe. coada. Coada, în general, poate fi goală.

Să fie o dischetă curată și un calculator infectat, sub care

înseamnă un computer cu un virus rezident activ. Odată ce

virusul va detecta faptul că a apărut un mediu adecvat în drive - in

Cazul în cauză nu este protejat de scriere și nu a fost încă infectat

floppy disk, începe să infecteze. Prin infectarea unei dischete, virusul produce

# 61623; selectează o anumită regiune a discului și o marchează ca fiind inaccesibilă

sistemul de operare, acest lucru se poate face în moduri diferite, în cel mai simplu și cel mai mult

În cazul tradițional, sectoarele ocupate de virus sunt etichetate ca sectoare necorespunzătoare

# 61623; își copiază coada și originalul







(sănătoasă);

# 61623; înlocuiește programul bootstrap în sectorul de încărcare

(prezent) cu capul;

# 61623; organizează lanțul de transfer al controlului conform schemei. prin urmare

Astfel, capul virusului este acum primul care primește controlul, virusul

este setat în memorie și transferă controlul la original

sectorul de boot. În lanț

ПНЗ (ROM) - ПНЗ (disc) - SISTEMUL

apare un nou link:

PNZ (ROM) - VIRUS - PNZ (disc) - SISTEM

Sa considerat schema de funcționare a unui virus simplu butovirus,

care trăiește în sectoarele de boot a dischetelor. De regulă, virușii sunt capabili de

nu numai boot sectoare de dischete, dar bootabile

sectoarele hard disk-urilor - hard disk-uri. În acest caz, spre deosebire de dischetele de pe disc

Există două tipuri de sec-

cu programele de bootloader care primesc

de management. Când porniți computerul de pe hard disk, primul îl preia

gestionarea programului de boot în MBR (Master Boot Record -

master boot record). Dacă hard disk-ul este împărțit în mai multe

partiții, atunci numai unul dintre ele este marcat ca boot.

Programul de boot din MBR găsește partiția de boot

și transferă controlul la programul de boot

din această secțiune. Codul acestuia din urmă coincide cu codul programului inițial

boot pe dischete convenționale, și corespunzătoare

Sectoarele de boot diferă numai în tabelele de parametri. prin urmare

Există două tipuri de viruși atacați pe hard disk

- Programul de boot MBR și programul de bootstrap în

sectorul de boot al discului de boot.

Cazul descris de răspândirea virușilor este cea mai frecvent înregistrată companie antivirus. Nu este neobișnuit ca un document de fișiere infectat sau tabelul Excel să fie inclus în listele de corespondență a informațiilor comerciale ale unei companii mari din cauza unei supravegheri. În acest caz, nu cinci, ci sute sau chiar mii de abonați ai unor astfel de corespondențe suferă, ceea ce va trimite fișiere infectate la zeci de mii de abonați.

File-serverele "publice" și conferințele electronice servesc, de asemenea, ca una dintre principalele surse de viruși. Aproape în fiecare săptămână există un mesaj în care un utilizator a infectat computerul cu un virus care a fost eliminat de pe serverul BBS, ftp sau de la orice conferință electronică.

În cazul virusului mass-mail pentru serverele de fișiere ftp / BBS afectate aproape simultan pot fi mii de computere, dar în majoritatea cazurilor „sunt stabilite» DOS- sau pentru Windows viruși, viteza de propagare a care, în condiții moderne, este semnificativ mai mic decât virușii macro. Din acest motiv, astfel de incidente nu se termină aproape niciodată în epidemiile de masă, care nu pot fi spuse pentru virușii macro.

Al treilea mod de "infecție rapidă" este rețelele locale. Dacă nu iau măsurile necesare de protecție, stația de lucru infectate, atunci când vă conectați pentru a infecta unul sau mai multe fișiere de serviciu pe server (în cazul Novell NetWare - LOGIN.COM)

A doua zi, când utilizatorii se conectează la rețea, pornesc fișierele infectate

În loc de fișierul de serviciu LOGIN.COM, pot exista și diverse programe instalate pe server, documente standard de șablon sau foi de calcul Excel utilizate în companie.

Copiile ilegale ale software-ului, așa cum a fost întotdeauna, sunt una dintre principalele "zone de risc". Adesea, copiile piratate pe dischete și chiar pe CD-ROM-uri conțin fișiere infectate cu o mare varietate de tipuri de virusuri.

Pericolul este prezent și în calculatoarele instalate în instituțiile de învățământ. Dacă unul dintre studenți a adus un virus pe dischetele lor și a infectat orice calculator de antrenament, dischetele tuturor celorlalți studenți care lucrează pe acest computer vor primi și o altă "infecție".

Același lucru este valabil și pentru computerele acasă, dacă mai multe persoane lucrează la acestea. Mai puțin frecvente pentru elev-fiul (sau fiica), care lucrează pe un computer multi-utilizator la institut, trage un virus pe computerul de acasă, astfel încât virusul intră în rețeaua companiei Pope calculator sau mama.

Este rar, dar este încă destul de realist să infectați un computer cu un virus atunci când acesta este reparat sau examen preventiv. Reparații sunt, de asemenea, oameni, iar unii dintre ei tind să nu ia în considerare regulile elementare ale securității informatice. Odată ce a uita pentru a închide protecția la scriere pe unul dintre discurile sale floppy, un „maestro“ destul de repede se va răspândi infecția pe mașinile clienților săi și este probabil să-l (clientela) pierd.

Iată un exemplu generalizat al structurii unui program de virusi. Se compune din

pseudo-comenzile DOS și subrutine - mici programe interne

(componentele instrucțiunilor acestora sunt stocate separat de programul principal);

îndeplinind anumite funcții speciale ori de câte ori sunt

loc: = căutare (aceasta)

O subrutină numită findfile se referă la executabilul directorului

fișiere sau programe de pe disc, ia un nume de fișier arbitrar și

atribuie numele acestui fișier variabilei (aceasta). În următorul

Linia de program utilizează pseudo-comanda DOS LOAD (descărcare), cu

Prin intermediul căruia fișierul este plasat în memoria operativă a computerului.

Un alt subprogram numit numai căutări de căutare

că programul descărcat în căutarea unei instrucțiuni care ar putea

servi ca un loc potrivit pentru a aduce virusul. când

Procedura de căutare constată o astfel de instrucțiune, aceasta determină

numărul corespunzător de rând și îl atribuie ca valoare

loc variabil. Acum totul este gata pentru virusul subrutinei

ar putea pătrunde într-un program ales arbitrar din catalog.

Subrutina de inserare înlocuiește instrucțiunea selectată cu alta

(de exemplu, cum ar fi apelarea unei subrutine). Instrucțiunea înlocuită

transferă controlul către un bloc de comenzi care alcătuiesc

corpul principal al subprogramului de virus care se alătură sfârșitului

Program. Apoi, la sfârșitul subrutinei adăugate,

O instrucțiune care readuce controlul asupra unui program "infectat"

instrucțiune urmând introducerea. Astfel, când

se execută subrutina de virus, execuția subrutinei

instruirea programului infectat. Programul original funcționează astfel,

ca și cum nu s-ar fi întâmplat nimic special. Cu toate acestea, de fapt

virusul subrutinei a profitat de câteva momente

să profite de puterea sistemului de operare

copiați în alt program stocat pe disc. Exemplul dat

În prezent, experții au identificat alte tehnici care diferă

unul de celălalt prin idei și sofisticare a realizării.







Articole similare

Trimiteți-le prietenilor: