Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Sfat
  • Ce viruși informatici există? Metode de luptă? Caracteristicile virușilor informatici. Verificarea stării sistemului de fișiere FAT

Ce viruși informatici există? Metode de luptă? Caracteristicile virușilor informatici. Verificarea stării sistemului de fișiere FAT

VIRUSURI DE COMPUTER


Și fișiere contestate și infectate
Clasificarea virusurilor PREVENIREA SI LUPTA IMPOTRIVA VIRUSURILOR INFORMATICE

INTRODUCERE

În prezent, multe domenii ale activității umane sunt asociate cu utilizarea computerelor. De ce sunt aceste mașini electronice atât de strâns încorporate în viața noastră? Totul este destul de banal. Ei efectuează calcule de rutină și lucrări de proiectare, eliberându-ne creierul pentru sarcini mai necesare și mai responsabile. Drept urmare, oboseala este redusă dramatic și începem să lucrăm mult mai productiv decât fără utilizarea unui computer.
Posibilitățile computerelor moderne uimesc cea mai fertilă imaginație. Sunt capabili să îndeplinească mai multe sarcini în paralel, a căror complexitate este destul de mare. Prin urmare, unii producători se gândesc să creeze inteligență artificială. Chiar și acum, munca unui computer seamănă cu munca unui asistent electronic inteligent al unei persoane.
Dar cine ar fi crezut că acest miracol electronic al tehnologiei este caracterizat de boli asemănătoare celor umane. El, la fel ca o persoană, poate fi atacat de un „virus”, dar unul computerizat. Și dacă nu iei măsuri, computerul se va „imbolnavi” în curând, adică. va începe să efectueze acțiuni greșite sau va „muri” cu totul. pagubele cauzate de „virus” vor fi foarte grave. Ce sunt virușii informatici și cum să îi faceți față vor fi discutate în continuare.

VIRUSURI DE COMPUTER

Ce este un virus informatic?

Astăzi, există mai multe tipuri principale de malware:
- virus informatic clasic;
- „Trojan” sau cal troian (troj);
- vierme;
- spion sau spion, keyloger
- rootkick;
- bot sau zombi.

La un moment dat, virușii clasici erau cei mai răspândiți - dar creatorii lor rareori și-au propus un obiectiv specific de a dăuna utilizatorului final, ci mai degrabă au fost creați în scopuri cognitive. Scriitorii de viruși din ziua de azi urmăresc obiective absolut clare și de înțeles - banii, iar „progeniturile” lor au devenit mult mai periculoși decât predecesorii lor. Așa că permiteți-mi să vă prezint cei mai periculoși prădători ai spațiului informațional de astăzi - troienii și viermii.
Troian sau troj și-a primit numele de la asemănarea dintre metoda de infectare și celebra mișcare tactică din timpul asediului Troiei. Un exemplu de infecție troiană - primești o scrisoare de la un anume "prieten" cu textul: - "Bună! Tocmai m-am întors de la mare - M-am odihnit atât de tare! Iată pozele mele - uite.", Și atașat fișiere cu extensia „.JPG”. Aceleași fișiere sunt calul troian în profunzimea căruia este ascuns codul rău intenționat. Cele mai comune surse de infecție sunt e-mailul, site-urile de întâlniri, site-urile de muzică și site-urile de software gratuit. Ce face troianul? De regulă, sarcina sa este să deschidă calea altor viruși, să acționeze ca prim punct de sprijin. Cum să evitați să fiți infectat cu un troian? Totul aici este ca în viață - protejează-te și evită conexiunile ocazionale =). Această regulă este valabilă pentru orice viruși și alte programe malware. Dacă vi s-a trimis un e-mail - înainte de a căuta fișierele atașate, verificați expeditorul, salvați atașamentul pe computer și verificați-l cu un antivirus și abia apoi deschideți-l.

Viermele sau Viermele este o caracteristică a acestor programe în evoluție și autonomie. Când un vierme ajunge pe un computer, de obicei atacă programele de e-mail și pagerele de internet. După ce obține acces la e-mail sau pager, începe să trimită scrisori/mesaje care conțin o versiune modificată a lui. După aceea, fie se autodistruge, fie infectează fișierele executabile (EXE, COM, BAT). Deoarece virusul se schimbă singur, este invulnerabil până când este detectat în baza de date antivirus. De aceea, astăzi un antivirus cu licență este o necesitate absolută pentru orice proprietar de PC.

Un virus de computer este un program mic special scris, care se poate „atribui” altor programe (adică, „infectează”), precum și să efectueze diverse acțiuni nedorite pe computer. Programul care conține virusul se numește infectat. Când un astfel de program începe să funcționeze, virusul preia mai întâi controlul. Virusul găsește și „infectează” alte programe și, de asemenea, efectuează unele acțiuni dăunătoare (de exemplu, corupă fișierele sau tabelul de alocare a fișierelor (FAT) de pe disc, „înfunda” RAM etc.). Pentru a masca un virus, acțiunile de infectare a altor programe și de a provoca rău nu pot fi întotdeauna efectuate, ci, să zicem, atunci când sunt îndeplinite anumite condiții. După ce virusul efectuează acțiunile de care are nevoie, acesta transferă controlul programului în care se află și funcționează ca de obicei. Astfel, în exterior, activitatea unui program infectat arată la fel ca a unui program neinfectat.
Multe tipuri de viruși sunt concepute în așa fel încât atunci când se lansează un program infectat, virusul rămâne în memoria computerului și din când în când infectează programe și efectuează acțiuni nedorite pe computer.
Toate acțiunile virusului pot fi efectuate foarte rapid și fără a emite niciun mesaj; prin urmare, este foarte dificil, aproape imposibil pentru utilizator să determine că ceva neobișnuit se întâmplă pe computer.
Atâta timp cât există relativ puține programe infectate pe computer, prezența unui virus poate fi aproape invizibilă. Cu toate acestea, după ceva timp, ceva ciudat începe să se întâmple pe computer, de exemplu:
- unele programe nu mai funcționează sau încep să funcționeze incorect;
- pe ecran sunt afișate mesaje străine, simboluri etc.;
- lucrul la calculator încetinește semnificativ;
- unele fișiere sunt corupte etc.
Până în acest moment, de regulă, destul de multe (sau chiar majoritatea) din programele tehnice cu care lucrați sunt deja infectate cu un virus, iar unele fișiere și discuri sunt corupte. Mai mult, este posibil ca programele infectate de pe computer să fi fost deja transferate folosind dischete sau o rețea locală pe computerele colegilor și prietenilor tăi.
Unii viruși sunt foarte ascunși. La început, infectează în mod invizibil un număr mare de programe și discuri și apoi provoacă daune foarte grave, de exemplu, formatează întregul hard disk pe un computer, desigur, după aceea, este pur și simplu imposibil să recuperezi datele. Și există viruși care se comportă foarte ascuns și, încetul cu încetul, strica datele de pe hard disk sau schimbă tabelul de alocare a fișierelor (FAT).
Astfel, dacă nu iei măsuri de protecție împotriva virusului, consecințele infecției pot fi foarte grave. De exemplu, la începutul anului 1989. Virusul, scris de studentul american Morris, a infectat și a dezactivat mii de computere, inclusiv cele aparținând Departamentului de Apărare al SUA. Autorul virusului a fost condamnat de o instanță la trei luni de închisoare și o amendă de 270 de mii de dolari. Pedeapsa ar fi putut fi mai strictă, însă instanța a ținut cont că virusul nu a stricat datele, ci doar s-a înmulțit.
Pentru ca programul-virus să fie invizibil, trebuie să fie de dimensiuni mici. Prin urmare, virușii sunt de obicei scrisi în limbaje de asamblare de nivel scăzut sau comenzi în limbaj C de nivel scăzut.
Virușii sunt scrisi de programatori sau studenți cu experiență pur și simplu din curiozitate sau pentru a se răzbuna împotriva cuiva sau a unei întreprinderi care i-a tratat inadecvat sau în scopuri comerciale sau de sabotaj țintit. Indiferent de obiectivele urmărite de autor, virusul poate ajunge pe computerul dumneavoastră și va încerca să efectueze aceleași acțiuni dăunătoare ca și cel pentru care a fost creat.
Trebuie menționat că scrierea unui virus nu este o sarcină atât de dificilă, destul de accesibilă unui student care studiază programarea. Prin urmare, în fiecare săptămână apar tot mai mulți viruși în lume. Și multe dintre ele sunt făcute la noi.

Fișiere corupte și infectate

Un virus informatic se poate strica, de ex. modificați în mod necorespunzător orice fișier de pe discurile computerului dvs. Dar virusul poate „infecta” unele tipuri de fișiere. Aceasta înseamnă că un virus poate „infiltra” aceste fișiere, adică. modificați-le astfel încât să conțină un virus care, în anumite circumstanțe, poate începe să funcționeze.
Trebuie remarcat faptul că textele programelor și documentelor, fișierele de informații ale bazelor de date, tabelele procesoarelor de tabele și alte fișiere similare nu pot fi infectate de un virus comun, ci doar le poate strica. Astfel de fișiere pot fi infectate numai cu viruși Macro. Acești viruși vă pot infecta chiar și documentele.
Încărcătorul sistemului de operare și înregistrarea de pornire principală a hard diskului. Virușii care infectează aceste zone se numesc viruși boot sau viruși BOOT. Un astfel de virus își începe activitatea atunci când computerul pornește și devine rezident, de exemplu. rezidă în memoria computerului. Mecanism de distribuire - infectarea înregistrărilor de boot ale dischetelor introduse în computer. Astfel de viruși constau adesea din două părți, deoarece înregistrarea de pornire este mică și este dificil să se potrivească întregul program antivirus în ele. O parte a virusului este situată într-o altă parte a discului, de exemplu, la sfârșitul directorului rădăcină al discului sau într-un cluster din zona de date a discului (de obicei, un astfel de cluster este declarat defect pentru a previne suprascrierea virusului la scrierea datelor).
Device Drivers Fișierele la care se face referire în clauza DEVICE din fișierul CONFIG.SYS. Virusul din ele își începe activitatea cu fiecare acces la dispozitivul corespunzător. Virușii care infectează driverele de dispozitiv sunt foarte rare, deoarece driverele sunt rareori rescrise de la un computer la altul. Același lucru este valabil și pentru fișierele de sistem DOS (MSDOS.SYS și IO.SYS) - infecția lor este, de asemenea, posibilă teoretic, dar este ineficientă pentru răspândirea virusului.

De obicei, fiecare tip de virus poate infecta doar unul sau două tipuri de fișiere. Cei mai des întâlniți viruși sunt cei care infectează fișierele executabile. Virușii de boot sunt pe locul doi în ceea ce privește prevalența. Unii viruși infectează atât fișierele, cât și zonele de pornire ale discurilor. Virușii care infectează driverele de dispozitiv sunt extrem de rari și, de obicei, astfel de viruși pot infecta și fișierele executabile.

Clasificarea virusurilor

Virușii pot fi împărțiți în clase în funcție de diferite criterii. De exemplu, pe baza trădării:

Virușii care infectează instantaneu un computer formatează hard diskul, strică tabelul de alocare a fișierelor, strică sectoarele de boot, șterg așa-numitul Flash ROM (unde se află BIOS-ul) al computerului (virusul Cernobîl), cu alte cuvinte, provoacă ireparabile deteriorarea calculatorului cât mai curând posibil. Aceasta include, de asemenea, rezultatele plângerilor programatorilor de viruși împotriva programelor antivirus. Aceasta se referă la așa-numitele alergii la anumite programe antivirus. Acești viruși sunt destul de perfidă. De exemplu, o alergie la Dr.Weber, la apelarea acestui program, fără ezitare, blochează antivirusul, strică tot ce se află în directorul cu antivirusul și C: WINDOWS. Ca urmare, trebuie să reinstalați sistemul de operare și apoi să luptați împotriva virusului prin alte mijloace.
- viruși proiectați pentru o viață lungă în computer. Ei infectează treptat și cu atenție program după program, fără a-și face publicitate prezenței, și înlocuiesc zonele de pornire a programului cu legăturile către locul în care se află corpul virusului. În plus, ele fac o schimbare în structura discului imperceptibilă pentru utilizator, care se va face simțită numai atunci când unele date sunt pierdute fără speranță (de exemplu, virusul „OneHalf-3544”, „Yankey-2C”).
Separarea se poate face și pe baza metodelor de transmitere și reproducere.
Anterior, virușii infectau în principal doar fișierele executabile (cu extensiile .com și .exe). Într-adevăr, până la urmă, un virus este un program și trebuie executat.
Acum virușii sunt trimiși prin e-mail ca programe demo sau ca imagini, de exemplu, dacă ați primit fișierul „PicturesForYou.jpg” pe e-mail, nu vă grăbiți să îl urmăriți, mai ales că a venit de nicăieri. Dacă te uiți la nume mai atent, se dovedește că are încă 42 de spații și extensia reală .exe. Adică, numele complet real al fișierului va fi astfel:
„PicturesForYou.jpg .exe”. Acum, oricine înțelege ce înseamnă de fapt această imagine. Acesta nu este un fișier imagine care, atunci când este activat, cheamă vizualizatorul de imagini, ci un virus nebun, ușor voalat, care așteaptă să fie activat printr-un clic de mouse sau o apăsare de tastă. Descărcați un astfel de virus pe computer, sub carcasa unei imagini, ca un „cal troian”. De aici și termenul argou pentru viruși precum troienii.
În acest moment există astfel de shell-uri de canale de informare precum Internet Explorer, Outlook Express, Microsoft Office. Acum există câteva clase de așa-numitele „Macro-virusuri”. Acestea conțin comenzi ascunse pentru datele shell care sunt nedorite pentru utilizatorul obișnuit. Și acest cod nu mai este codul pentru computer, adică nu mai este un program, ci textul unui program executat de shell. Astfel, poate fi scris în orice format necesar: .html, .htm - pentru Internet Explorer, .doc, .xls, .xlw, .txt, .prt, sau orice altul - pentru Microsoft Office etc. Astfel de viruși provoacă daune doar de o anumită natură, deoarece shell-ul nu are comenzi, de exemplu, pentru a formata hard disk-ul. Cu toate acestea, acest tip de viruși merită atenție, deoarece, cu ajutorul hyperlink-urilor ascunse, este capabil să descarce în mod independent corpul virusului de pe Internet pe computer, iar unii viruși sunt capabili să se actualizeze și să se descarce în parte prin Internet de la anumite servere. De exemplu, unul dintre studenții japonezi a dezvoltat un astfel de virus care conectează un mic „descărcător” la orice format de intrare de pe Internet. În plus, acest program de descărcare descarcă corpurile virusului de pe Internet de pe server cu adresa IP Babilon5. Există patru dintre aceste corpuri. Fiecare dintre ele este capabil să vă distrugă computerul în mod independent, dar are un scop specific. Acest virus este de tip hibrid între macrovirusuri și viruși comuni. Dar trebuie remarcat faptul că hibrizii sunt cei mai tenace, viclean, periculoși și numeroși dintre viruși. Destul de recent, a avut loc un scandal despre un programator care, conform experților, a creat și a început să răspândească un macro-virus care a infectat fișiere text pentru Microsoft Word. Acesta a fost calculat după data și ora creării documentului original, care este stocat în părți invizibile ale fișierelor .doc. Este posibil ca fișierul să fi fost creat de o altă persoană înainte de a-i fi atașat un virus, atunci întrebarea despre atacator rămâne deschisă. Dar experții spun că asta este.
De exemplu, virusul Win32.HLLM.Klez. una dintre varietățile unui vierme de rețea periculos se răspândește prin trimiterea de copii prin e-mail. În plus, acest vierme se poate răspândi într-o rețea locală, infectând computerele ale căror discuri sunt resurse de rețea partajate care sunt disponibile pentru scriere. Odată ajuns în sistem, viermele se trimite la adresele găsite în agenda Windows, în baza de date ICQ și în fișierele locale. Mesajele infectate trimise de acest vierme exploatează una dintre erorile relativ cunoscute din sistemul de securitate Internet Explorer, care permite lansarea automată a unui fișier de program (cu un virus) atașat unui mesaj atunci când pur și simplu vizualizați e-mailurile în Outlook și Outlook Express .
Să încercăm să luăm în considerare metodele de camuflare și protecție utilizate de viruși împotriva utilizatorilor obișnuiți și a programelor antivirus.
Trădarea este modalitatea principală și cea mai rapidă de a face un truc murdar înainte de a fi descoperită. Virusul Cernobîl, de exemplu, șterge complet BIOS-ul (programul de pornire situat în cipul ROM care face computerul să funcționeze). După aceasta, computerul nu va mai putea afișa nimic. Dar funcționarea sa este ușor blocată dacă în interiorul computerului este instalat un comutator care interzice scrierea în zona ROM. Prin urmare, a fost primul, dar și, după cum cred, ultimul reprezentant al virușilor hardware.
Virușii regenerativi își împart corpul în mai multe părți și le stochează în locuri diferite de pe hard disk. În consecință, aceste părți sunt capabile să se găsească independent una pe cealaltă și să se asambleze pentru regenerarea corpului virusului. Programul antivirus detectează și ucide doar corpul virusului, iar părțile acestui corp nu sunt incluse în baza de date antivirus, deoarece sunt modificate. Formatarea direcționată a discului de nivel scăzut ajută la combaterea acestor viruși. În prealabil, trebuie să luați măsuri atente pentru a păstra informațiile.
Virușii vicleni se ascund nu numai de noi, ci și de programele antivirus. Acești „cameleoni” se modifică cu ajutorul celor mai viclene și complicate operațiuni, folosind atât datele curente (timpul de creare a fișierelor), cât și folosind aproape jumătate din întregul set de instrucțiuni ale procesorului. La un moment dat, desigur, conform unui algoritm viclean, se transformă într-un virus ascuns și încep să se ocupe de computerul nostru. Acesta este cel mai dificil tip de virus de detectat, dar unele programe antivirus, precum „Dr. Weber”, sunt capabile să detecteze și să neutralizeze viruși similari folosind așa-numita analiză euristică.
Virușii „invizibili” folosesc așa-numita metodă „Stelth” pentru a preveni detectarea lor. Constă în faptul că un virus rezident în memorie interceptează DOS (și astfel programele de aplicație) apelează la fișierele și zonele de disc infectate și le afișează în forma lor originală (neinfectată). Desigur, acest efect se observă numai pe un computer infectat - pe un computer „curat”, modificările fișierelor și zonele de pornire ale discului pot fi detectate cu ușurință. Cu toate acestea, unele programe antivirus pot detecta viruși invizibili chiar și pe computerele infectate.
Viermele rețelei Randon a apărut în martie 2003. Se răspândește prin canalele IRC și resursele rețelei locale și infectează computerele care rulează sistemele de operare Windows 2000 și Windows XP. Pentru a pătrunde într-un computer, se conectează la o rețea locală sau la un server IRC, scanează utilizatorii pe acesta, stabilește o conexiune cu aceștia pe portul 445 și încearcă să ghicească o parolă din lista încorporată a frazelor cele mai frecvent utilizate. Dacă sistemul este compromis cu succes, Random trimite troianul Apher către sistem, care la rândul său descarcă restul componentelor viermelui de pe un site Web la distanță. După aceea, „Randon” își instalează componentele în directorul de sistem Windows, își înregistrează fișierul principal. Pentru a ascunde prezența în memorie, folosește un utilitar special „HideWindows”, care este, de asemenea, o componentă a viermelui. Datorită acestuia, este invizibil pentru utilizator, astfel încât procesul activ „Randon” poate fi detectat doar în Windows Task Manager. Efectele sale secundare sunt crearea unei cantități mari de trafic în exces pe mașina infectată și depășirea canalelor IRC.
Potrivit Kaspersky Lab, unul dintre cei mai importanți dezvoltatori de programe antivirus, acesta oferă o imagine de ansamblu asupra activității virușilor pentru martie 2003 (Tabelul 2 și Fig. 1)

Top 20 cele mai comune programe rău intenționate

Tab. 2
Nume Ponderea în numărul total de incidente virale (%)
1. I-Worm.Klez 37,60%
2. I-Worm.Sobig 10,75%
3. I-Worm.Lentin 9,03%
4. I-Worm.Avron 3,30%
5. Macro.Word97.Astfel 2,62%
6. I-Worm.Tanatos 1,38%
7. Macro. Word97.Marcator 1,21%
8. Worm.Win32.Opasoft 1,13%
9. I-Worm.Hybris 1,04%
10. Win95.CIH 0,69%
11. Worm.Win32.Randon 0,58%
12. VBS.Redlof 0,57%
13. Backdoor.Moarte 0,51%
14. Win95.Spaces 0,51%
15. I-Worm.Roron 0,49%
16.Trojan.PSW.Gip 0,49%
17. Backdoor.NetDevil 0,48%
18. Win32.HLLP.Hantaner 0,45%
19. TrojanDropper.Win32.Delf 0,42%
20. TrojanDropper.Win32.Yabinder 0,41%
Alte programe malware * 26,33%

* nu sunt incluse în cele 20 cele mai comune

PREVENIREA ȘI LUPTA împotriva virusurilor informatice

Metode de bază de protecție împotriva virușilor informatici

Pentru a vă proteja împotriva virușilor, puteți utiliza:
- Instrumente de protecție a informațiilor generale, care sunt utile și ca asigurare împotriva deteriorării fizice a discurilor, a programelor de funcționare necorespunzătoare sau a acțiunilor eronate ale utilizatorilor;
- masuri preventive pentru reducerea probabilitatii de a contracta un virus informatic;
- programe specializate pentru protectia impotriva virusilor.
-Instrumentele generale de securitate a informațiilor sunt utile pentru mai mult decât pentru protejarea împotriva virușilor. Există două tipuri principale de aceste remedii:
copierea informațiilor - crearea de copii ale fișierelor și zonelor de sistem ale discurilor;
delimitarea accesului previne utilizarea neautorizată a informațiilor, în special, protecția împotriva modificărilor programelor și datelor de către viruși, programele defectuoase și acțiunile eronate ale utilizatorilor.
Deși instrumentele generale de securitate a informațiilor sunt foarte importante pentru protejarea împotriva virușilor informatici, nu sunt suficiente. Este necesar să folosiți programe specializate pentru a vă proteja împotriva virușilor informatici. Aceste programe pot fi împărțite în mai multe tipuri:
Programele detector pot detecta fișiere infectate cu unul dintre mai mulți viruși cunoscuți.
Programe - medici, sau fagi, „vindecă virușii” programe sau discuri infectate, „mușcând” corpul virusului din programele infectate, de exemplu. restabilirea programului în starea în care se afla înainte de infectarea cu virus.
Programe - auditorii memorează mai întâi informații despre starea programelor și a zonelor de sistem ale discurilor, apoi compară starea acestora cu cea originală. Dacă sunt identificate neconcordanțe, utilizatorul este informat despre aceasta.
Medici - auditorii sunt hibrizi de auditori si medici, i.e. programe care nu numai că detectează modificări în fișierele și zonele de sistem ale unităților, dar le pot readuce automat la starea inițială.
Programe - filtrele sunt rezidente în memoria RAM a computerului și interceptează acele apeluri către sistemul de operare care sunt utilizate de viruși pentru a se multiplica și a dăuna și le raportează utilizatorului. Utilizatorul poate activa sau dezactiva operația corespunzătoare.
Programele - vaccinurile, sau imunizatoarele, modifică programele și discurile în așa fel încât acest lucru să nu afecteze funcționarea programelor, dar virusul de la care se efectuează vaccinarea consideră aceste programe și discuri deja infectate. Aceste programe sunt extrem de ineficiente și nu sunt luate în considerare în continuare.
Din păcate, niciun tip de software antivirus nu oferă protecție completă împotriva virușilor informatici. Prin urmare, cea mai bună strategie de protecție împotriva virușilor este o apărare „eșalonată” pe mai multe niveluri. Să descriem structura acestei apărări.
Instrumentele de inteligență în „apărarea” împotriva virușilor corespund unor programe - detectoare care permit verificarea software-ului nou primit pentru viruși.
În fruntea apărării se află programele de filtrare (programe rezidente de protecție împotriva virușilor). Aceste programe pot fi primele care raportează un atac de virus și previn infectarea programelor și a discului.
Al doilea eșalon de apărare este alcătuit din programe de audit, programe de doctorat și doctori-auditori. Examinatorii detectează un atac chiar și atunci când virusul a reușit să „pătrundă” prin primele linii ale apărării. Programele Doctor sunt folosite pentru a restaura programele infectate dacă copiile acestora nu sunt în arhivă. Dar nu întotdeauna le tratează corect. Medicii-inspectorii detectează un atac de viruși și tratează viruși - fișiere infectate și controlează corectitudinea tratamentului virușilor, iar dacă este imposibil să se trateze virușii, ei recomandă cu siguranță eliminarea virușilor (fișiere infectate).
Cel mai profund eșalon de apărare este mijlocul de diferențiere a accesului. Acestea împiedică virușii și programele care funcționează defectuos, chiar dacă au intrat în computerul dvs., să strice date importante.
Și, în sfârșit, „rezerva strategică” conține copii arhivate ale informațiilor și dischete „de referință” cu produse software. Acestea vă permit să recuperați informații dacă sunt deteriorate pe hard disk.

Programe - detectoare și medici

În cele mai multe cazuri, pot fi găsite programe de detectare deja dezvoltate pentru a detecta un virus care a infectat un computer. Aceste programe verifică dacă fișierele de pe unitatea specificată de utilizator au o combinație de octeți specifică virusului. Dacă se găsește în orice fișier, pe ecran este afișat un mesaj corespunzător. Mulți detectoare au un mod de vindecare sau de eliminare a virușilor.
Trebuie remarcat faptul că programul detector poate detecta doar acei viruși care îi sunt cunoscuți (adică introduși în baza de date antivirus a acestui program).
Unul dintre aceste programe este Kaspersky's KIS.
Totul din el are o interfață convenabilă și intuitivă. Programul este conceput pentru sistemul de operare Windows XP și Windows Vista, ceea ce îi permite să funcționeze în paralel cu alte aplicații. Kaspersky Lab este liderul rus în dezvoltarea sistemelor de securitate antivirus.
Există și AVAST.
Aceștia sunt apărători bine dovediți ai computerului dvs. - tratarea majorității virușilor și eliminarea virușilor în cazul amenințării lor critice sau incurabile.
Majoritatea programelor de detectoare au și o funcție „medic”, adică. ei încearcă să readucă fișierele infectate și zonele de disc la starea lor originală - pentru a curăța virușii. Fișierele care nu au putut fi dezinfectate devin de obicei inoperabile sau șterse.

Prevenirea infecției cu virus

Să aruncăm o privire la unele dintre măsurile pe care le puteți lua pentru a reduce probabilitatea ca un virus să vă infecteze computerul, precum și pentru a minimiza daunele cauzate de o infecție cu virus, dacă aceasta apare.
1. Ar fi bine să aveți și, dacă este necesar, să actualizați copii arhivate și master ale pachetelor software și datelor utilizate. Înainte de a face o copie de rezervă a datelor, este recomandabil să verificați dacă există vreun virus.
2. De asemenea, este recomandabil să copiați informațiile de service ale discului dumneavoastră (FAT, sectoare de boot) și CMOS (memorie nevolatilă a computerului) pe dischete. Puteți face copii de rezervă și restaura aceste informații utilizând programul Rescue din suita de software Norton Utilities.
3. Ar trebui să setați protecția la scriere pe dischetele de arhivă.
4. Nu ar trebui să vă implicați în copierea fără licență și ilegală a software-ului de pe alte computere. Este posibil să aibă un virus pe ei.
5. Toate datele care vin din exterior ar trebui verificate pentru viruși, în special fișierele „descărcate” de pe Internet.
6. Este necesar să pregătiți în prealabil un pachet de recuperare pe dischete cu protecție la scriere.
7. În timpul lucrului normal, care nu are legătură cu recuperarea computerului, merită să dezactivați pornirea de pe o dischetă. Acest lucru va preveni infectarea cu virusul de boot.
8. Folosiți programe - filtre pentru detectarea timpurie a virușilor.
9. Verificați periodic discul cu detectoare software sau doctori - detectoare sau auditori pentru a detecta eventuale defecțiuni în apărare.
10. Actualizați baza de date a programelor antivirus.
11. Țineți utilizatorii dubioși departe de computer.

CONCLUZIE

În concluzie, aș dori să avertizez împotriva luptei prea zeloase împotriva virușilor informatici. Executarea zilnică a unei scanări complete a hard disk-ului pentru viruși nu este, de asemenea, un pas grozav în prevenirea infecțiilor. Singura modalitate civilizată de a proteja împotriva virușilor, o văd în respectarea măsurilor preventive atunci când lucrez la un computer. Și, de asemenea, trebuie să apelați la ajutorul specialiștilor pentru a combate un virus informatic. În plus, chiar dacă un virus pătrunde în computerul dvs., nu există niciun motiv de panică.
Adesea, principala problemă a internetului nu sunt virușii și hackerii, ci un fenomen atât de răspândit precum analfabetismul computerului. Folosind analogia cu Kaspersky, ignorarea regulilor de drum. Oamenii care au învățat recent să primească și să trimită e-mailuri demonizează virușii informatici, aproape imaginându-i ca niște viermi negri invizibili care se târăsc de-a lungul firelor. Iată câteva reguli simple pe care le puteți urma pentru a evita infectarea cu viruși. În primul rând: nu le este frică de virușii informatici, toți sunt vindecabili. În al doilea rând: să puneți Microsoft Outlook într-un mod de funcționare în zona de site-uri restricționate, ceea ce îl va împiedica să execute automat anumite programe - principiul de bază al propagării virușilor informatici. În al treilea rând: nu deschideți scrisori de la destinatari suspecti. În al patrulea rând: utilizați un antivirus proaspăt și, mai important, LICENȚAT.

Articolul pe care îl citiți acum este dedicat problemelor de recuperare a datelor în partițiile sistemului de fișiere FAT întâlnite pe computerele cu sisteme de operare MS-DOS și Microsoft Windows de diferite versiuni. Cu toate acestea, informațiile furnizate în acesta, referitoare la setările BIOS și unele structuri de disc, vor fi, de asemenea, utile la recuperarea fișierelor din partițiile sistemului de fișiere NTFS.

De regulă, încercările de a recupera date dintr-o partiție FAT încep cu utilizarea utilităților automate. În cazurile în care utilitarele de recuperare automată nu vă pot oferi ajutor, puteți încerca să faceți această lucrare manual folosind editorul de disc. În acest sens, totuși, va trebui să utilizați editori de disc și să vă ocupați de structurile interne ale sistemului de fișiere.

Vom ajuta utilizatorii avansați să verifice și să repare sistemul de fișiere FAT folosind Norton Disk Editor și Microsoft Disk Probe. Aceste programe vă permit să vizualizați și să editați conținutul sectoarelor individuale de disc.

În cazurile critice, vă recomandăm insistent să nu faceți încercări independente de restaurare, ci să contactați serviciul DataRecovery.Ru pentru ajutor. Dacă faceți o greșeală gravă în timpul procesului de recuperare, datele dumneavoastră se pot pierde definitiv. Așa că folosește recomandările din articol, dar pe riscul și riscul tău!

Verificarea stării sistemului de fișiere FAT

Care este cel mai bun mod de a începe recuperarea datelor?

Recuperarea sistemului de fișiere ar trebui să înceapă prin verificarea setărilor BIOS, precum și a stării sistemului de fișiere în sine. Se poate propune următorul plan de acțiune:

  • verificarea parametrilor BIOS;
  • verificarea conținutului Master Boot Record (MBR) și Boot Record;
  • examinarea tabelului de alocare a fișierelor FAT;
  • verificarea stării directoarelor;
  • extragerea fișierelor necesare din sistemul de fișiere deteriorat.

Când verificați setările BIOS, ar trebui să acordați atenție unor parametri cheie precum tipurile de hard disk instalate în computer, numărul de piste și sectoare pe pistă. Dacă acești parametri nu sunt setați corect, cel mai probabil sistemul de operare nu va reporni.

Distrugerea conținutului memoriei nevolatile care stochează setările BIOS poate avea loc, de exemplu, atunci când bateria care alimentează memoria se defectează sau ca urmare a unui virus.

Apoi, trebuie să verificați conținutul așa-numitei Master Boot Record (MBR). Această intrare conține programul de bootstrap și tabelul de partiții. Programul bootstrap este ținta atacului de către viruși de boot și file-boot care își scriu corpurile aici. Dacă tabela de partiții de disc devine coruptă ca urmare a unei infecții cu virus, a unei defecțiuni hardware sau a unei defecțiuni software, unele sau toate discurile logice vor fi inaccesibile pentru sistemul de operare.

Următorul pas este să verificați înregistrarea de pornire situată chiar la începutul discului logic (nu o confundați cu MBR-ul). Înregistrarea de boot conține programul de bootstrap pentru sistemul de operare aflat pe discul logic, precum și un bloc de parametri BIOS numit BPB (BIOS Parameter Block). BPB conține informații importante despre discul logic, cum ar fi dimensiunea clusterului. Dacă BPB este deteriorat de un virus sau ca urmare a unei defecțiuni hardware sau software, discul va fi inaccesibil pentru sistemul de operare.

După ce verificați înregistrarea de pornire, ar trebui să vă uitați la tabelul de alocare a fișierelor FAT. Acest tabel conține informații critice despre locația clusterelor individuale pentru toate fișierele scrise pe un anumit disc logic. Există în total două copii ale tabelului FAT. Puteți utiliza orice copie a FAT pentru a recupera fișiere.

Următorul pas este să verificați directoarele rădăcină ale unităților logice, precum și subdirectoarele. Dacă este necesar, ar trebui să restaurați intrările de director deteriorate care descriu fișierele de care aveți nevoie.

Mai jos vom arunca o privire mai atentă asupra tuturor acestor pași. Pe parcurs, vom oferi informațiile necesare despre cele mai importante structuri interne ale sistemului de fișiere FAT.

Verificarea setărilor BIOS-ului

Când vă apropiați pentru prima dată de un computer care ar fi putut fi infectat cu un virus, trebuie mai întâi să verificați setările BIOS stocate în memoria CMOS nevolatilă. Un program special numit BIOS Setup este utilizat pentru a vizualiza și modifica setările BIOS.

Modul în care este lansat programul BIOS Setup depinde de producător și versiunea acestuia, totuși, de obicei, pornește dacă apăsați tastele Delete, F2 sau combinația de taste Alt + Ctrl + Esc în timpul testului RAM inițial. Informații mai precise despre cum să rulați acest program sunt ușor de obținut din documentația furnizată cu placa de bază a computerului.

Opriți alimentarea computerului, dacă a fost pornit, și reporniți-l după 20-30 de secunde. Această procedură este garantată să distrugă virușii rezidenți în memorie care „supraviețuiesc” după o repornire la cald folosind combinația de taste Ctrl + Alt + Del.

Când începe testul de memorie, apăsați una dintre tastele de mai sus pentru a lansa programul de configurare BIOS. După un timp, pe ecran va apărea fereastra programului BIOS Setup. Aspectul său depinde de producător și de versiunea programului.

În primul rând, ar trebui să verificați setările implicite ale BIOS-ului. Acordați o atenție deosebită tipurilor și parametrilor hard disk-urilor HD (Hard disk) instalate și tipurilor de unități FD (Floppy Drive).

Rescrieți parametrii hard diskului, cum ar fi tipul, numărul de cilindri, capete și sectoare pe pistă. Comparați aceste valori cu datele pașaportului extrase din documentația de pe hard disk și corectați dacă este necesar.

Tipul discului și parametrii

Dacă computerul dvs. are discuri SCSI, tipul de disc este irelevant și nu trebuie să îl verificați. În ceea ce privește discurile IDE, tipul de astfel de discuri este un număr, de obicei în intervalul de valori de la 1 la 47.

În același timp, seturile standard de parametri pentru discuri mici vechi corespund tipurilor de la 1 la 46. Pentru dispozitivele IDE moderne, tipul este selectat automat sau este specificat tipul 47, ceea ce permite setarea manuală a numărului de cilindri, capete și sectoare pe pistă. În orice caz, asigurați-vă că verificați parametrii conform documentației furnizate cu discul.

Foarte des, pentru unitățile IDE, este folosită așa-numita adresare a blocurilor logice (LBA). Când modul LBA este activat, sistemul de operare este prevăzut cu un disc „virtual”, care, în comparație cu un disc real, are mai puține piese, dar mai multe capete. De exemplu, un disc real poate avea 4000 de piste și 4 capete, iar unul „virtual” poate avea 1024 de piste și 256 de capete.

De ce este nevoie de asta?

Din cauza limitărilor interne, sistemul de operare MS-DOS nu poate funcționa cu piese al căror număr depășește valoarea de 1023. Cu toate acestea, unitățile de disc moderne au capacități semnificative (aproximativ 20-60 GB și chiar mai mult), așa că au o mulțime de piese. Alte sisteme de operare, cum ar fi IBM OS / 2, Microsoft Windows NT / 2000, Linux sau Novell NetWare, nu au o limită a numărului de căi de adresat pe un disc. În loc de BIOS, folosesc drivere speciale de disc pentru a accesa discul.

În ceea ce privește MS-DOS, fără măsuri suplimentare dimensiunea maximă a unei partiții de disc nu va depăși 585 MB.

Adresarea logică a LBA-urilor de către controlerul de disc permite MS-DOS să se ocupe de partiții foarte mari, astfel încât puteți întâlni LBA-uri atunci când examinați majoritatea computerelor moderne.

tip FD

De asemenea, rețineți tipul FD (dischetă sau unitate de dischetă). Dacă FD-ul etichetat A: este marcat ca Neinstalat sau Dezactivat, nu veți putea porni MS-DOS sau orice alt sistem de operare de pe o dischetă.

Opțiuni avansate de BIOS

În meniul de setări avansate ale BIOS, notați ordinea de pornire a sistemului de operare. Dacă ordinea de pornire este C :, A :, nu puteți porni sistemul de operare de pe o dischetă. Schimbați ordinea de pornire la A :, C: sau A :, CD-ROM, C: dacă este necesar.

După finalizarea tuturor lucrărilor cu computerul, readuceți setarea la C :, A :, CD-ROM sau C: Only (dacă această valoare este prezentă în această versiune de BIOS). În acest caz, computerul va fi protejat în mod fiabil de infecția cu un virus de boot prin intermediul dischetelor.

Setarea valorii implicite pentru BIOS

BIOS Setup vă oferă opțiunea de a seta setările implicite pentru BIOS.

Cu toate acestea, metoda de instalare depinde de BIOS. De exemplu, BIOS Setup by AMI vă permite să încărcați două seturi de setări BIOS.

Primul este încărcat atunci când linia AUTO CONFIGURATION WITH BIOS DEFAULTS este selectată în meniul principal al programului. Acest set de parametri este proiectat pentru ca placa de bază să funcționeze în modul standard.

Al doilea set de parametri corespunde liniei AUTO CONFIGURATION WITH POWER-ON DEFAULTS și este utilizat în principal atunci când computerul nu pornește cu primul set. În al doilea set, sunt setați parametri mai conservatori (de exemplu, memorarea în cache a RAM-ului principal este dezactivată), ceea ce permite uneori să pornească chiar și un computer parțial defect.

Analiza MBR Master Boot Record și Partition Table

Când FDISK creează pentru prima dată partiții pe un hard disk, scrie MBR-ul la începutul primului sector al hard diskului (sectorul 1, pista 0, capul 0).

Master Boot Record este un program care capătă control în timpul pornirii sistemului de operare. În plus, înregistrarea de pornire continuă procesul de încărcare a sistemului de operare.

Nu este întotdeauna ușoară să distingeți vizual un sector de boot master normal de un sector deteriorat sau infectat cu viruși. În fig. 1 prezintă un dump al conținutului unui sector cu o înregistrare MBR obținută folosind programul Microsoft DiskProbe din Kitul de resurse Windows NT. O imagine similară poate fi obținută utilizând editorul de disc DISKEDIT din caseta de instrumente Norton Utilities.

Orez. 1. Halda sectorială a MBR

Uneori, un virus modifică doar câțiva octeți în care este scrisă adresa sectorului de boot al sistemului de operare, lăsând intact programul de boot. Astfel de modificări pot fi detectate doar prin dezasamblarea și apoi analizarea codului sursă recuperat al programului de pornire. În unele cazuri, modificările sunt atât de vizibile încât pot fi detectate „cu ochiul liber”, doar privind lista primului sector al discului. Desigur, cel mai bun mod de a detecta infecția cu virusul MBR este să o verifici cu un program antivirus.

O altă parte importantă a primului sector al unui disc este tabelul de partiții.

Are patru elemente care descriu până la patru partiții de pe disc. Ultimii doi octeți ai sectorului conțin valoarea 0xAA55. Aceasta este o caracteristică a tabelului de partiții - semnătura tabelului de partiții. În continuare, cu prefixul 0x, vom indica valori hexazecimale, iar fără un astfel de prefix - valori zecimale. Rețineți, de asemenea, că octeții de semnătură sunt în ordine inversă - octetul cel mai puțin semnificativ este la adresa cea mai mică. Aceasta este o caracteristică a arhitecturii procesoarelor Intel.

Partițiile de disc conțin discuri logice. De exemplu, puteți crea o partiție primară pentru unitatea C: și o partiție secundară în care sunt create unitățile logice D :, E : etc.

Microsoft Disk Probe vă permite să vizualizați (și să editați) conținutul tabelului de partiții într-o formă formatată, așa cum se arată în Fig. 2.


Orez. 2. Vizualizarea conținutului tabelului de partiții de disc

Descrierea formatului tabelului de partiții

Formatul primului sector al unui hard disk poate fi reprezentat după cum urmează:

După cum puteți vedea din acest tabel, octeții cu un offset de la 0 la 0x1BE sunt ocupați de înregistrarea de pornire principală, adică de program. Apoi există patru intrări în tabelul de partiții, fiecare intrare ocupând 0x10 octeți. După tabel sunt doi octeți ai atributului tabelului de partiții.

Elementul tabel de partiții conține informații despre locația și dimensiunea partiției în sectoare, precum și scopul partiției. Formatul elementului tabelului de secțiuni este prezentat mai jos:

Primul octet al elementului tabelului de secțiuni conține semnul secțiunii active. Dacă partiția este activă, sistemul de operare va porni de pe ea. Adesea, un disc conține mai multe partiții active în același timp, aparținând unor sisteme de operare diferite.

Următorii trei octeți definesc adresa fizică de pe discul sectorului inițial al partiției (descriind acest element al partiției).

Octetul cu offset 1 conține numărul capului sectorului inițial al partiției. Într-un câmp de doi octeți cu un offset de 2, numărul sectorului și numărul piesei din primul sector al secțiunii sunt codificate. În acest caz, biții 0 ... 5 ai acestui câmp setează numărul sectorului, iar biții 6 ... 15 - numărul piesei.

Octetul de la offset 4 conține tipul partiției, în funcție de tipul sistemului de operare și de tipul sistemului de fișiere.

Mai jos am furnizat câteva dintre cele mai comune tipuri (aici FAT-12, FAT-16 și FAT-32 reprezintă diferite modificări ale sistemului de fișiere FAT, mai multe despre asta mai târziu):

Octetul tabelului de partiții de la offset 5 și cuvântul dublu octet de la offset 6 conțin numărul capului, numărul sectorului și numărul piesei ultimei partiții.

Ultimele două câmpuri ale intrării tabelului de partiții au o lungime de 4 octeți și conțin, respectiv, numărul relativ al primului sector din partiție (adică numărul relativ de sector al începutului partiției) și numărul de sectoare disponibile. în compartimentare. Aceste câmpuri sunt folosite de sistemul de operare Microsoft Windows NT pentru a calcula locația partiției.

Să ne oprim mai în detaliu asupra numărului relativ al primului sector din secțiune.

O valoare a numărului relativ de 0 corespunde pistei 0, cap 0, sector 1. Creșterea numărului de sector relativ crește mai întâi numărul sectorului de pe pistă, apoi numărul de cap și, în final, numărul pistei. Cunoscând numărul piesei, numărul sectorului de pe pistă și numărul capului, puteți calcula numărul sectorului relativ folosind următoarea formulă:

RelSect = (Cyl * Sect * Head) + (Cap * Sect) + (Sect - 1)

Aici Cyl este numărul piesei, Sect este numărul sectorului de pe pistă, Head este numărul capului.

De obicei, capitolele de pe un disc încep cu numere de piesă par, cu excepția primului capitol. Această partiție poate începe din sectorul 2 al pistei 0 (capul 0), deoarece primul sector al discului este ocupat de înregistrarea de pornire principală.

Urmărirea unei liste de partiții de disc

În sistemul de operare MS-DOS, partiția primară trebuie să fie unică și activă, este folosită ca unitate C: și sistemul de operare este încărcat de pe aceasta. În partiția extinsă, FDISK creează unități logice D :, E : și așa mai departe.

Dacă octetul codului de partiție are valoarea 5, atunci sectorul care conține tabelul discului logic este situat la începutul partiției corespunzătoare. Acest tabel este o extensie a tabelului de partiții de disc situat în primul sector al unui disc fizic.

Tabelul de disc logic are același format ca și tabelul de partiții de disc, dar conține doar două intrări.

Unul dintre ele indică primul sector al discului logic, are o valoare de tip de partiție 1 sau 4 (pentru MS-DOS). Al doilea element poate fi o valoare de tip partiție de 5 (pentru MS-DOS) sau 0. Dacă acest cod este 5, atunci elementul indică următorul tabel de disc logic. Dacă codul de sistem este 0, atunci elementul corespunzător nu este utilizat. Mai sus, am dat codurile pentru partițiile primare și extinse pentru diferite sisteme de operare.

Astfel, tabelele de disc logic sunt legate într-o listă. Intrarea tabelului de partiții de disc corespunzătoare partiției primare indică începutul acestei liste.

Pentru un tabel de disc logic, există o diferență în utilizarea câmpurilor de delimitare a discului logic. Dacă partiția este primară, aceste limite sunt calculate în raport cu începutul partiției extinse. Pentru partițiile extinse, se folosește adresarea absolută (față de începutul fizic al discului).

Folosind butonul Următoarea partiție (Fig. 2) puteți vizualiza întreaga listă de tabele de disc logic.

Verificarea tabelului de partiții cu programul DISKEDIT

Microsoft Disk Probe menționat mai devreme funcționează doar în sistemele de operare Microsoft Windows NT și Microsoft Windows 2000. În ceea ce privește MS-DOS și Microsoft Windows 95/98, aici vă recomandăm editorul DISKEDIT din pachetul Norton Utilities pentru a analiza structurile discurilor sistemului. Cel mai bine este să scrieți acest program pe discheta sistemului. Numai când porniți de pe o astfel de dischetă veți putea examina un sistem de fișiere infectat sau corupt cu viruși atunci când MS-DOS nu este încărcat de pe hard disk.

Cu DISKEDIT rulând, utilizați meniul Object. Mai întâi, selectați Drive line din acest meniu. Dacă hard disk-ul fizic are partiții sănătoase cu discuri logice definite în ele, pe ecran va apărea o listă de discuri logice.

Dacă sistemul de fișiere este corupt într-o asemenea măsură încât este imposibil să porniți sistemul de operare de pe disc, iar când porniți de pe o dischetă, nu este vizibil un singur disc logic, atunci când selectați linia Drive, vi se va afișa un lista de discuri fizice (Fig. 3).


Orez. 3. Selectarea unui disc fizic în programul DISKEDIT

Pentru a vizualiza primul sector al unui disc fizic care conține înregistrarea principală de boot și tabelul de partiții, selectați discul fizic Hard Disk 1 și faceți clic pe OK. După aceea, conținutul sectorului dorit va apărea pe ecran sub forma unui dump. Sectorul are o dimensiune de 512 octeți, așa că conținutul său nu se potrivește pe un singur ecran. Puteți apăsa tasta PgDn și puteți vedea a doua parte a sectorului.

La ce ar trebui să fii atent aici?

La începutul sectorului se află înregistrarea de pornire principală. Ea, așa cum am spus deja, este un program. Dacă aveți suficientă experiență, o puteți dezasambla și cerceta. În orice caz, durata programului trebuie verificată. Această lungime nu ar trebui să fie foarte mare - după programul de pornire, înainte de începutul tabelului de partiții, ar trebui să existe zero octeți. În plus, în programul de pornire ar trebui să existe mesaje Tabel de partiții invalid, Eroare la încărcarea sistemului de operare și Sistem de operare lipsă (pentru versiunile rusești ale sistemelor de operare, aceste mesaje vor fi în limba rusă).

În ceea ce privește a doua parte a primului sector al hard disk-ului, ar trebui să conțină tabelul de partiții ale discului.

Ultimii doi octeți trebuie să conțină atributul tabelului de partiții (semnătură) - valoarea hexazecimală 0xAA55.

Puteți analiza tabelul de partiții al unui disc folosind informațiile de mai sus despre formatul acestuia. Amintiți-vă că tabelul este situat în primul sector al discului la offset 0x1BE. Cu toate acestea, este mult mai convenabil să utilizați vizualizarea de format a editorului DISKEDIT pentru a analiza acest tabel.

Poziționați cursorul (cu mouse-ul sau cu tastele săgeți) pe octetul cu offset 0x1BE, care corespunde începutului tabelului de partiții. Apoi selectați linia ca tabel de partiții din meniul Vizualizare. Pe ecran va apărea un tabel de partiții de disc formatat (Fig. 4).


Orez. 4. Vizualizați tabelul de partiții al discului

Coloana Sistem afișează informații despre tipul de partiții. Este construit pe baza analizei câmpului tip secțiune stocat în rândul corespunzător din tabelul secțiunilor. Dacă partiția este activă, coloana Boot a acesteia conține linia Da, dacă nu, linia Nu.

Coloanele Locație de început și Locație de sfârșit din câmpurile laterale, cilindru și sector conțin informații decriptate despre locația primului și ultimului sector al secțiunii.

Puteți afla numărul sectorului relativ de la care pornește secțiunea din coloana Sectoare relative, iar numărul total de sectoare - în coloana Număr de sectoare.

Este logic să comparăm informațiile obținute despre limitele partițiilor cu parametrii hard disk-ului obținuți folosind programul BIOS Setup, deoarece virușii își pot ascunde corpurile în sectoare de disc situate la capătul discului și nealocate nici unei partiții. Cu toate acestea, trebuie avut în vedere faptul că controlerele moderne de disc sunt capabile să efectueze adresarea blocurilor logice (mod LBA), ceea ce distorsionează imaginea rezultată.

Să explicăm ceea ce s-a spus cu un exemplu.

Unul dintre computerele noastre are un disc cu 1057 de piese și 16 capete. Fiecare piesă conține 63 de sectoare de 512 octeți. În acest caz, dimensiunea totală a discului este de 520 MB. Acești parametri ne-au fost dați de programul BIOS Setup.

FDISK detectează că discul are două partiții, 300 MB și 219 MB, iar discul este 100% în uz. În același timp, programul DISKEDIT pentru acest disc arată că ultimul sector al ultimei partiții se află pe pista numărul 526.

La prima vedere, ceva nu este în regulă aici: programul BIOS Setup ne spune că pe disc sunt 1057 de piste și 16 capete, iar în tabelul de partiții pentru ultimul sector al ultimei partiții, vedem valori complet diferite: acest sector este situat pe calea 526, iar numărul capului este 31!

Motivul acestei discrepanțe este că controlerul nostru IDE realizează adresarea logică a pieselor și capetelor, oferind programelor un disc „virtual”, unde, în comparație cu discul real, există mai puține piese, dar mai multe capete.

Salvarea parametrilor discului și a tabelului de partiții ale discului

Înainte de a continua cu examinarea sistemului de fișiere, vă recomandăm insistent să notați parametrii discului definiți folosind programul de configurare BIOS și conținutul tabelului de partiții de disc. Doar copiați valorile obținute pe o bucată de hârtie. Dacă în timpul unei reparații distrugeți accidental zona de date BIOS sau sectorul de pornire principală, puteți recupera cu ușurință datele critice.

De asemenea, puteți salva conținutul sectorului MBR într-un fișier utilizând funcțiile corespunzătoare ale DISKEDIT sau Microsoft Disk Probe. Instrucțiuni detaliate pot fi găsite în documentația și sistemele de ajutor ale acestor programe. Fișierul trebuie scris pe o dischetă sau pe un alt disc.

Explorarea unei partiții de disc extinse

Dacă pe disc a fost creată doar o partiție primară, puteți trece la analiza discului logic C: și a altor discuri logice. Dacă există o partiție extinsă, este necesar să verificați sectorul tabelului discului logic - primul sector din partiția extinsă.

Pentru a vizualiza acest sector, rulați programul DISKEDIT, utilizați-l pentru a determina locația partiției extinse (pisă, cap și număr de sector). Apoi selectați linia Sector fizic din meniul Obiect. Pe ecran va apărea caseta de dialog Selectare sector fizic, cu ajutorul căreia puteți selecta unul sau mai multe sectoare pentru vizualizare.

Sectorul tabelului de disc logic, spre deosebire de sectorul MBR, este practic gol. Toți octeții din ea de la început până la compensarea 0x1BD, inclusiv, trebuie să conțină o valoare zero. În plus, la offset 0x1BE, se află tabelul de disc logic, care constă din două elemente. La sfârșitul sectorului se află semnătura pe care o cunoașteți deja - valoarea 0xAA55.

Structura elementelor este complet similară cu structura elementelor tabelului de secțiuni, așa că puteți utiliza vizualizarea format. Pentru a face acest lucru, poziționați cursorul pe octetul cu offset 0x1BE, apoi selectați linia ca tabel de partiții din meniul Vizualizare.

Salvarea conținutului tabelelor de disc logic

Pe aceeași foaie de hârtie în care ați notat parametrii discului și informațiile din tabelul de partiții ale discurilor, notați informațiile despre toate discurile logice obținute din tabelele discurilor logice. Dacă conținutul tabelelor de discuri logice este distrus accidental, veți pierde accesul la discurile logice.

Examinarea discurilor logice FAT

Formatul discurilor logice situate în partițiile de hard disk este complet identic cu formatul dischetelor, așa că multe din ceea ce s-a spus aici va fi valabil și pentru dischete.

La începutul discului logic se află sectorul Boot Record (nu îl confundați cu sectorul MBR, care este primul de pe discul fizic), precum și eventual sectoare rezervate.

Urmează sectorul Boot Record sunt două copii ale FAT (File Allocation Table), despre care vom vorbi mai târziu, și directorul rădăcină. Zona de date care ocupă restul discului logic conține fișiere și alte directoare.

Verificarea sectorului de pornire

Adresa sectorului de boot al unui disc logic nu este greu de găsit în tabelul de discuri logice. Sectorul de boot al discului logic conține programul de bootstrap pentru sistemul de operare. Acest program este plasat în RAM de un încărcător situat în MBR.

Scopul unui program situat în sectorul de boot al unui disc logic este de a încărca sistemul de operare pe acest disc logic.

Astfel, atunci când alimentarea este pornită după efectuarea procedurii de testare, BIOS-ul încarcă conținutul MBR-ului în RAM și îi transferă controlul. Master Boot Record scanează tabelul de partiții al discului și găsește partiția activă. Dacă există mai multe astfel de secțiuni, utilizatorului i se solicită să selecteze o secțiune de descărcat.

MBR citește apoi înregistrarea de pornire a discului logic situat în partiția activă selectată și transferă controlul programului de pornire a sistemului de operare din acest sector. Acest program, la rândul său, face toată munca de încărcare a sistemului de operare în memoria computerului.

Formatul sectorului de boot depinde de versiunea sistemului de operare. Cu toate acestea, în orice caz, pe lângă programul de bootstrap pentru sistemul de operare, înregistrarea de boot conține parametri care descriu caracteristicile unui disc logic dat. Toți acești parametri sunt localizați chiar la începutul sectorului, în așa-numita zonă formatată a acestuia. Ultimii doi octeți ai sectorului de boot conțin semnătura familiară 0xAA55.

Înainte de a examina înregistrarea de pornire, trebuie să utilizați comanda VER pentru a determina versiunea sistemului de operare instalată pe computer. Pentru versiunile de MS-DOS anterioare 4.0, formatul de înregistrare de pornire este prezentat mai jos:

La începutul sectorului de pornire se află comanda de salt intra-segment JMP. Este necesar să ocoliți zona sectorului formatat și să transferați controlul către programul de pornire situat la offset 0x1E.

Numele producătorului nu este folosit de sistemul de operare și este un șir de text de 8 octeți.

La offset 0xB, este localizat BIOS Parameter Block (BPB). Acest bloc conține unele caracteristici ale discului logic, cum ar fi numărul de sectoare dintr-un cluster, numărul total de sectoare etc. Formatul BPB va fi descris mai târziu.

Câmpurile sectorului de pornire cu offset-uri 0x18 și 0x1A conțin numărul de sectoare pe pistă și, respectiv, numărul de capete. Câmpul cu offset 0x1C conține numărul de sectoare „ascunse” care nu aparțin niciunui disc logic. Aceste sectoare pot fi utilizate pentru partiţionarea unui disc fizic în partiţii şi discuri logice (pot conţine un tabel de partiţii de disc sau tabele de discuri logice).

Părtinire,
octet
Marimea,
octet
Descriere
0 3 Comanda JMP xxxx (accesați programul bootstrap)
3 8 Numele și versiunea producătorului sistemului de operare
0xB 25 Extended BPB - Extended BIOS Parameter Block
0x24 1 Numărul dispozitivului fizic (0 - unitate de dischetă, 0x80 - hard disk)
0x25 1 Rezervat
0x26 1 Valoarea 0x29 este un semn al Înregistrării extinse de pornire BPB
0x27 4 Numărul de serie al discului (Numărul de serie al volumului), creat în timpul formatării discului
0x2B 11 Etichetă disc (etichetă volum)
0x36 8 Șir de text „FAT12” sau „FAT16”

Primele două câmpuri au același scop ca și în înregistrarea de pornire a versiunilor mai vechi de MS-DOS.

Câmpul cu offset 26h conține numărul 0x29, ceea ce înseamnă că este utilizat formatul de înregistrare extinsă de boot și, în consecință, blocul de parametri extins BIOS Extended BPB.

Numărul de serie al discului este generat în timpul formatării discului pe baza datei și orei formatării. Prin urmare, toate discurile și dischetele au numere de serie diferite.

Eticheta discului se formează în timpul formatării și poate fi schimbată, de exemplu, cu comanda LABEL a sistemului de operare MS-DOS. În același timp, eticheta discului este plasată în directorul rădăcină ca un descriptor special. Vom vorbi mai târziu despre formatul directoarelor și al descriptorilor, precum și despre formatul tabelului de alocare a fișierelor FAT.

Acum despre blocul de parametri BIOS BPB și blocul de parametri BIOS Extended BPB.

Pentru versiunile de MS-DOS anterioare 4.0, BPB are următorul format:

Blocul de parametri BIOS extins pentru sistemele de fișiere FAT-12 și FAT-16 constă dintr-un BPB obișnuit și o extensie suplimentară:

Părtinire,
octet
Marimea,
octet
Descriere
0 2
2 1
3 2
5 1 Numărul de tabele FAT
6 2
8 2 Numărul total de sectoare de pe mediul de stocare (sub partiția MS-DOS)
0Ah 1 Tip suport de date
0Bh 2
0Dh 2
0Fh 2 Numărul de capete magnetice
11h 2
13h 2 Numărul de sectoare ascunse pentru o partiție mai mare de 32 MB
15h 4

Pentru dischete și discuri, tipul de mediu de stocare poate lua următoarele valori:

Sens Cantitate
petreceri
Cantitate
sectoare
Diametru,
inci
Capacitate,
Kbyte
0xF0 2 18 3,5 1440
0xF0 2 36 3,5 2880
0xF0 2 15 5,25 1200
0xF8 - - - Hard disk de orice capacitate
0xF9 2 9 3,5 720
0xF9 2 15 5,25 1200
0xFA 1 8 5,25 320
0xFB 2 8 3,5 640
0xFC 1 9 5,25 180
0xFD 2 9 5,25 360
0xFE 1 8 5,25; 8 160
0xFF 2 8 5,25; 8 320

În ceea ce privește sistemul de fișiere FAT-32, formatul său sector de pornire este același cu cel descris, cu excepția blocului BPB. Mărimea acestui bloc este de 0x25 octeți, iar formatul este afișat mai jos:

Părtinire,
octet
Marimea,
octet
Descriere
0 2 Numărul de octeți dintr-un sector al discului
2 1 Numărul de sectoare dintr-un cluster
3 2 Numărul de sectoare rezervate
5 1 Numărul de tabele FAT
6 2 Numărul maxim de descriptori de fișiere în directorul rădăcină al unui disc
8 2 Numărul total de sectoare de pe mediul de stocare (într-o secțiune)
0xA 1 Tip suport de date
0xB 2 Numărul de sectoare ocupate de o copie a FAT
0xD 2 Numărul de sectoare pe pistă
0xF 2 Numărul de capete magnetice
0x11 4 Numărul de sectoare ascunse pentru o partiție mai mică de 32 MB
0x15 4 Numărul total de sectoare de pe un disc logic pentru o partiție mai mare de 32 MB
0x19 4 Dimensiunea tabelului FAT în sectoare
0x1D 2 Casete de selectare extinse
0x1F 2 Versiunea sistemului de fișiere
0x21 4 Primul număr de cluster al directorului rădăcină
0x25 2 Un sector care conține diverse informații despre sistemul de fișiere ca întreg
0x27 2 Numărul sectorului în care se află backup-ul sectorului de pornire
0x29 12 Rezervat

Pentru vizualizarea formatării blocului de parametri BPB (sau a blocului de parametri BPB extins, în funcție de versiunea MS-DOS), este convenabil să utilizați programul DISKEDIT. Cu toate acestea, puteți găsi înregistrarea de pornire în două moduri.

Mai întâi, puteți selecta linia Boot Record din meniul Object (prin selectarea discului logic necesar folosind linia Drive din același meniu). Vă veți găsi imediat în modul de vizualizare formatat al blocului de parametri BIOS al discului selectat (Fig. 5).


Orez. 5. Vizualizarea blocului de parametri BIOS

În al doilea rând, dacă discurile logice nu sunt disponibile, dar ați reușit să citiți tabelul de partiții sau tabelul de discuri logice, puteți merge să vizualizați înregistrarea de pornire specificând adresa fizică a acesteia. Pentru a face acest lucru, selectați linia Adresă fizică din meniul Obiect (așa cum este descris mai devreme). Pe ecran va apărea un dump al primei părți a sectorului de boot. Apăsând tasta PgDn, puteți accesa a doua parte a sectorului de pornire.

Folosind liniile ca Boot Record și ca Hex din meniul View, puteți comuta, respectiv, la modurile formatate și neformatat de vizualizare a sectorului de boot.

Programul Microsoft Disk Probe are capacități de formatare similare pentru vizualizarea înregistrărilor de boot FAT.

Formarea unei înregistrări de pornire și a unui bloc de parametri BIOS are loc atunci când discul logic este formatat (de exemplu, cu comanda FORMAT). Dacă ștergeți un disc logic folosind FDISK și apoi creați unul nou de aceeași dimensiune în locul lui, BPB-ul va fi distrus. În acest caz, va trebui să reformatați din nou unitatea logică.

Blocul de parametri BIOS conține informații critice, dacă este distrus, devine imposibil accesul normal la fișierele și directoarele aflate pe discul logic. Manipularea neglijentă a sectorului de pornire a hard diskului poate duce la necesitatea de a reformata discul logic corespunzător cu pierderea completă a datelor stocate acolo.

Înainte de a continua cu analiza ulterioară a sistemului de fișiere, este util să faceți o imprimare a conținutului sectoarelor de boot ale tuturor unităților logice disponibile în formă formatată și neformatată, deoarece blocul de parametri BIOS conține informațiile necesare pentru găsirea și analiza. alte structuri logice ale sistemului de fișiere. Pentru a imprima, selectați Imprimare obiect ca linie din meniul Tools și selectați linia Boot Record în caseta de dialog care apare pe ecran. Apoi faceți clic pe butonul OK.

De asemenea, puteți imprima conținutul altor structuri logice din sistemul de fișiere, de exemplu, conținutul unui tabel de partiții de disc.

Analiza sectorului rezervat

Sectoarele rezervate pot fi situate între sectorul de boot și tabelul de alocare a fișierelor FAT, care sunt sectoare de servicii pentru sistemul de fișiere sau nu sunt utilizate.

Numărul de sectoare rezervate pe discul logic poate fi găsit în BIOS Parameter Block (BPB sau Extended BPB, în funcție de versiunea sistemului de operare). Valoarea cerută se află în câmpul acestui bloc cu offset 3. La formatare, numărul de sectoare rezervate este indicat în rândul Sectoare rezervate la început.

Dacă este rezervat un singur sector, atunci prima copie a FAT este localizată imediat după sectorul de boot. Este sectorul de boot care este rezervat în acest caz.

Când sunt rezervate mai multe sectoare, pot exista mai multe sectoare care conțin valori zero între sectorul de pornire și prima copie a FAT. Dacă un computer este infectat cu un virus, aceste sectoare pot conține corpul virusului sau o copie a înregistrării inițiale de pornire înlocuită de virus.

Tabelele de alocare a fișierelor FAT

Sistemul de operare organizează sectoarele individuale de disc în așa-numitele clustere. Când sunt create directoare noi și fișiere nevide, le sunt alocate unul sau mai multe clustere. Dacă fișierul crește în dimensiune, pentru acesta sunt alocate grupuri suplimentare.

Mărimea clusterului în sectoare (adică numărul de sectoare dintr-un cluster) este ușor de găsit din câmpul din blocul de parametri BIOS BPB cu offset 2. Când vizualizați conținutul sectorului de boot în format, dimensiunea clusterului este afișată în linia Sectors per cluster.

Pentru a economisi spațiu pe disc, fișierele și directoarele sunt alocate clustere care nu sunt neapărat adiacente. Astfel, clustere separate aparținând aceluiași fișier pot fi localizate în locații diferite pe un disc logic. Aceste economii au un preț de performanță, deoarece citirea unui fișier fragmentat necesită mai multe mișcări ale capului, care este cea mai lentă operație de disc.

O altă problemă cu fragmentarea fișierelor este necesitatea de a păstra o listă de clustere alocate fiecărui fișier. Evident, pentru a citi un fișier, sistemul de operare trebuie să citească secvenţial toate clusterele alocate acelui fişier.

Unde sunt stocate listele cluster?

Aceste liste sunt stocate în Tabelul de alocare a fișierelor (FAT), pe care îl vom analiza în scurt timp.

Gândiți-vă la tabelul de alocare a fișierelor ca la o matrice care conține informații despre locațiile relative ale clusterelor tuturor fișierelor. Mărimea matricei este determinată de numărul total de clustere de pe discul logic. Elementele matrice conțin liste de clustere alocate fișierelor, iar elementele matrice corespunzătoare clusterelor libere conțin valori zero.

Dacă fișierul ocupă mai multe clustere, atunci aceste clustere sunt legate într-o listă. În acest caz, elementele tabelului FAT conțin numerele următoarelor clustere utilizate de acest fișier. Sfârșitul listei este marcat în tabel cu o semnificație specială. Numărul primului cluster alocat unui fișier este stocat în intrarea de director care descrie fișierul (în descriptorul fișierului).

Astfel, cunoscând numele fișierului și directorul în care se află acest fișier, sistemul de operare MS-DOS poate determina numărul primului cluster alocat fișierului, iar apoi, urmărind lista clusterelor din tabelul FAT, poate determina numărul clusterelor rămase ocupate de acest fișier.

Programul FORMAT conceput pentru a formata discul și unele programe speciale cu un scop similar verifică discul logic pentru zone defecte. Clusterele situate în aceste zone defecte sunt marcate ca proaste în FAT și nu sunt utilizate de sistemul de operare.

De exemplu, în Fig. 6 prezintă descriptori simplificați pentru directorul rădăcină al unității C:. Ele descriu fișierele MYFILE1.DOC și MYLETTER.DOC, precum și intrările din tabelul de alocare a fișierelor FAT alocate pentru aceste fișiere.


Orez. 6. Un exemplu de alocare de cluster pentru fișierele MYFILE1.DOC și MYLETTER.DOC

Fișierul MYFILE1.DOC ocupă trei clustere numerotate 11, 17 și 18, iar fișierul MYLETTER.DOC ocupă două clustere numerotate 12 și 13. Directorul conține numerele primelor clustere alocate acestor fișiere (11 și respectiv 12). Ultimele celule corespunzătoare ultimelor clustere, fișiere distribuite, conțin o valoare specială - semnul sfârșitului lanțului de cluster. Pentru formatul FAT pe 16 biți, acesta este 0xFFFF, iar pentru formatul pe 12 biți, este 0xFFF.

Formatul tabelului FAT

Să aruncăm o privire mai atentă la formatul tabelului FAT.

Tabelul FAT poate fi pe 12, 16 sau 32 de biți, cu sistemul de fișiere desemnat ca FAT-12, FAT-16 și FAT-32, iar tabelul folosește 12, 16 sau 32 pentru a stoca informații despre unul. bit cluster de discuri, respectiv.

Primul dintre aceste două formate (12 biți) este folosit pentru dischete și discuri cu puține sectoare. Tabelul de alocare a fișierelor floppy FAT-12 se potrivește complet într-un singur sector.

Dacă discul este prea mare, biții de doisprezece biți nu vor fi suficienți pentru a reprezenta toate clusterele. În acest caz, este utilizat formatul FAT de 16 sau 32 de biți. În acest caz, sistemul de operare poate funcționa cu un disc care are o dimensiune mai mare de 32 MB. Prin urmare, hard disk-urile folosesc întotdeauna formatul de tabel FAT de 16 sau 32 de biți.

Cum afli formatul FAT?

Formatul FAT poate fi determinat prin examinarea conținutului câmpului de cod de secțiune al elementului corespunzător tabelului de partiții. Acest câmp este situat în MBR. Dacă conține valoarea 1, se folosește formatul de 12 biți, dacă 4, atunci 16 biți și dacă 0xB sau 0xC - 32 de biți.

Primul element al FAT are un format special.

Primul octet al FAT este numit Media Descriptor. Are aceeași semnificație ca și descriptorul de octeți al mediului, sectorul de boot al discului logic. Următorii 5 octeți pentru formatul pe 12 biți sau 7 octeți pentru formatul pe 16 biți sunt întotdeauna 0xFF.

Restul FAT este alcătuit din celule de 12, 16 sau 32 de biți. Fiecare celulă corespunde unui grup de disc. Aceste celule pentru diferite formate de tabel FAT pot conține următoarele valori:

Vedere tabel FAT

Vom folosi programul DISKEDIT pentru a vizualiza tabelul de alocare a fișierelor FAT. Din meniul Obiect, selectați linia Drive și selectați unitatea care vă interesează.

Apoi din meniul Object selectați una dintre cele două linii - 1st FAT sau 2nd FAT. Ecranul va afișa, respectiv, conținutul primei sau celei de-a doua copii a tabelului FAT sub formă formatată (Fig. 7).


Orez. 7. Vizualizați prima copie a tabelului de alocare FAT formatat

De asemenea, puteți găsi prima sau a doua copie a FAT știind adresa fizică a înregistrării de pornire a discului logic. Amintiți-vă că înregistrarea de pornire se află chiar în primul sector al dischetei. Locația înregistrării de pornire pentru discurile logice create în partițiile de hard disk poate fi determinată din tabelul de partiții (pentru unitatea logică C :) sau din tabelul de discuri logice (pentru discurile logice create într-o partiție extinsă).

În plus, în cadrul discului logic, există propria sa numerotare secvenţială a sectoarelor. În acest caz, ordinea numerotării este aleasă astfel încât, cu o creștere secvențială a numărului de sector, numărul capului crește mai întâi, apoi numărul piesei.

Să explicăm acest lucru cu un exemplu.

De exemplu, să presupunem că avem o dischetă cu nouă sectoare pe pistă. Sectorul cu numărul logic egal cu 1 este situat pe pista zero și capul zero este folosit pentru a se referi la acesta. Acesta este primul sector de pe pistă, are numărul 1. Următorul sector de pe pista 0 are numărul logic 2, ultimul sector de pe pista 0 are numărul logic 9. Sectorul cu numărul logic 10 este de asemenea situat pe pista 0. Acesta este, de asemenea, primul sector de pe pistă, dar acum este folosit numărul capului 1. Și așa mai departe, pe măsură ce numărul sectorului logic crește, numărul capului și al piesei se schimbă.

Conform acestei numerotari, sectorul cu numarul secvential 0 este sectorul de boot. Pentru a vizualiza conținutul sectorului de boot folosind programul DISKEDIT, puteți selecta linia Sector din meniul Object și specificați numărul sectorului egal cu zero în caseta de dialog care apare.

Observați că în această casetă de dialog, o casetă intitulată Utilizarea sectorului arată distribuția sectoarelor. Folosind această distribuție, puteți determina cu ușurință numărul secvenţial al sectorului înregistrării de pornire, începutul și limitele ambelor copii ale FAT. În plus, nu este dificil să determinați începutul și limitele directorului rădăcină și zona de date care conține fișiere și alte directoare.

Folosind meniul Vizualizare, puteți vizualiza conținutul FAT ca un dump.

Din punct de vedere vizual, tabelul de alocare a fișierelor ar trebui să conțină în mare parte secvențe care se schimbă monoton de numere de cluster, valori zero corespunzătoare clusterelor libere și valoarea 0xFFFF (0xFFF pentru FAT-12 sau 0xFFFFFFFF pentru FAT-32), care este un semn al sfârșitului. a lanțului de cluster.

Prima copie a FAT ar trebui să fie urmată de oa doua copie a FAT.

Puteți determina dimensiunea tabelului FAT cunoscând conținutul blocului de parametri BIOS BPB cu offset 0xB (numărul de sectoare ocupate de o copie a FAT).

Ca urmare a unui eșec sau a unui atac de virus, tabelul FAT poate fi fie complet distrus, fie modificat (de exemplu, criptat sau scris cu zerouri). Dacă lanțul de clustere pentru fișierul de care aveți nevoie este parțial sau complet distrus, restaurarea unui astfel de fișier poate fi o sarcină descurajantă.

Unii viruși profită de faptul că sfârșitul lanțului de cluster poate fi marcat cu orice valoare în intervalele de mai sus (de exemplu, de la 0xFFF8 la 0xFFFF pentru un tabel FAT de 16 biți), în timp ce sistemul de operare folosește valorile 0FFFFh sau 0FFFh.

Virusul poate aloca fișiere infectate pentru el însuși (pentru a evita reinfectarea), marcând ultimul cluster alocat acestor fișiere cu orice altă valoare, de exemplu, 0xFFF9. În acest caz, sistemul de operare va continua să funcționeze normal, ca și când nimic nu s-ar fi întâmplat.

Deși a doua copie a FAT este creată ca o copie de rezervă, pentru a facilita procedura de recuperare în cazul distrugerii primei copii, nu trebuie să sperați în mod deosebit că, în cazul unui atac de virus, puteți copia pur și simplu a doua copie a FAT în locul primei. A doua copie a FAT poate fi, de asemenea, distrusă sau criptată, și într-un mod diferit de primul.

Format director

Pentru FAT-12 și FAT-16, directorul rădăcină urmează imediat a doua copie a tabelului de alocare a fișierelor. Locația directorului rădăcină pentru FAT-32 este specificată în BPB (cuvânt cu offset 0x21).

Mărimea directorului rădăcină în sectoare poate fi determinată din blocul de parametri BIOS BPB. Câmpul cu offset 6 conține numărul maxim de descriptori de fișiere din directorul rădăcină al discului (acest câmp corespunde liniei de intrare în directorul rădăcină la formatarea conținutului sectorului de boot cu programul DISKEDIT).

Mărimea unui singur descriptor este de 32 de octeți, așa că înmulțirea numărului maxim de descriptori cu acest număr dă dimensiunea directorului rădăcină în octeți. Cunoscând dimensiunea sectorului (512 octeți), este ușor de determinat numărul de sectoare ocupate de directorul rădăcină.

Acum să vorbim despre descriptori de fișiere.

Orice director (inclusiv cel rădăcină) conține elemente de 32 de octeți - descriptori care descriu fișiere și alte directoare. Iată formatul de descriptor utilizat în sistemul de operare MS-DOS:

Observați câmpul la offset 0x1A. Acesta este numărul primului cluster alocat unui fișier sau director (dacă descriptorul descrie un director de nivel inferior). Folosind această valoare, puteți urmări întregul lanț de clustere alocate unui anumit fișier sau director în tabelul de alocare a fișierelor FAT. Astfel, avem o modalitate de a găsi începutul lanțului de cluster pentru orice fișier - trebuie doar să găsim descriptorul corespunzător.

În orice director, altul decât directorul rădăcină, primii doi descriptori au un scop special. Primul descriptor conține șirul din câmpul nume:

". "

Acest descriptor indică directorul care îl conține. Adică, directorul are un link către el însuși. Al doilea descriptor special conține șirul în câmpul nume:

".. "

Acest descriptor indică un director de nivel superior.

Dacă câmpul numărului primului cluster ocupat pentru descriptorul cu numele „..” conține o valoare zero, înseamnă că acest director este conținut în directorul rădăcină.

Structura arborescentă a directoarelor conține legături care se adresează directoarelor atât înainte cât și înapoi. Aceste legături pot fi folosite pentru a verifica integritatea structurii de directoare a sistemului de fișiere.

Octetul de atribut este deținut de fiecare fișier. Biții de octet de atribut sunt combinați folosind o operație logică SAU. Au următoarele semnificații:

Pic Descriere
0 Fișierul este doar pentru citire. Acest fișier nu poate fi scris și nu poate fi șters.
1

Fișier ascuns. Acest fișier nu va apărea în lista de fișiere afișată de comanda DIR

2

Fișier de sistem. Acest bit este de obicei setat pentru fișierele care fac parte din sistemul de operare.

3

Acest descriptor descrie eticheta discului. Pentru acest descriptor, câmpul de nume de fișier și câmpul de extensie a numelui de fișier trebuie tratate ca un câmp de 11 octeți. Acest câmp conține eticheta discului

4 Descriptorul descrie un fișier care este un subdirector al acestui director
5

Steagul de arhivă. Dacă acest bit este setat la 1, atunci acest fișier nu a fost descărcat de utilitarul de arhivare

6-7 Rezervat

De obicei, fișierele au următoarele atribute:

Când un fișier este șters, primul octet al numelui său este înlocuit cu octetul 0xE5 (caracterul „x”). După aceea, toate clusterele alocate fișierului la distanță sunt marcate ca libere în tabelul FAT.

Dacă tocmai ați șters fișierul, îl puteți restabili, deoarece toate câmpurile din descriptor sunt păstrate, cu excepția primului octet al numelui fișierului. Dar dacă scrieți fișiere noi pe disc, se poate întâmpla ca conținutul clusterelor fișierului șters să fie modificat. În acest caz, recuperarea fișierelor va deveni problematică.

Acum despre câmpurile de oră și dată.

Cele cinci cifre de sus ale câmpului de timp conțin valoarea orei de modificare a fișierului, șase cifre numerotate 5-10 stochează valoarea minutelor de modificare a fișierului și, în final, cele 5 cifre inferioare conțin valoarea secundelor împărțită la 2. pentru ca timpul de actualizare a fișierului să se încadreze în șaisprezece cifre, a trebuit să reduc precizia timpului la două secunde. În majoritatea covârșitoare a cazurilor, o astfel de scădere a preciziei nu joacă niciun rol.

Formatul datei de actualizare a fișierului seamănă cu formatul orei. Cifrele 9-15 sunt rezervate pentru stocarea anului, 5-8 pentru stocarea lunii și 0-4 pentru stocarea zilei săptămânii. Pentru a obține valoarea anului actualizării fișierului, este necesar să adăugați valoarea 1980 la valoarea stocată în cei șapte biți superiori.

Unii viruși folosesc câmpuri de oră și dată pentru a marca fișierele infectate. Un astfel de marcaj este necesar pentru a evita reinfectarea. Cu toate acestea, această metodă primitivă este folosită doar de cei mai simpli viruși.

Câmpul de lungime din descriptor conține lungimea exactă a fișierului în octeți. Pentru directoare, câmpul de lungime este setat la zero.

Când un virus infectează un fișier, lungimea acestuia crește de obicei. Cu toate acestea, virușii stealth care își ascund prezența în sistem maschează eficient această creștere. Prin urmare, poate fi observat doar atunci când sistemul de operare este pornit de pe o dischetă „goală” care este lipsită de infecție cu virus.

Navigare prin director

Vom folosi programul DISKEDIT pentru a vizualiza directoarele pentru a le verifica structura. Rulați acest program și din meniul Object, selectați linia Director. Pe ecran va apărea caseta de dialog Schimbare director.

În partea stângă a casetei de dialog este afișat arborele de directoare al discului curent. Selectați directorul rădăcină C: \ și faceți clic pe OK. După aceea, conținutul directorului rădăcină va apărea pe ecran într-o formă formatată (Fig. 8).


Orez. 8. Vizualizați prima copie formatată a tabelului de alocare FAT

Analizând informațiile primite, puteți găsi modificări suspecte în câmpurile pentru dimensiunea fișierului, dată și oră. În plus, pentru fiecare fișier, coloana Cluster afișează numărul primului cluster alocat acestuia.

Folosind meniul Vizualizare, puteți comuta la vizualizarea neformatată atunci când conținutul directorului este afișat ca un dump.

Acordați atenție meniului Link. Cu ajutorul acestui meniu puteți trece la vizualizarea structurilor legate logic ale sistemului de fișiere.

Ca exercițiu, selectați fișierul IO.SYS din directorul rădăcină al unității C: și apoi selectați Cluster chain (FAT) din meniul Link. Veți vedea prima copie a tabelului de alocare a fișierelor FAT, cu lanțul de cluster evidențiat în fișierul IO.SYS evidențiat în culoare. Folosind linia Fișier din meniul Link, este ușor să comutați la modul de vizualizare a conținutului fișierului IO.SYS.

Rețineți că în multe cazuri este posibil să se efectueze tranziții între structurile de date legate logic făcând dublu clic pe butonul stâng al mouse-ului pe imaginea acestor structuri, ceea ce este foarte convenabil. Pentru detalii, consultați documentația pentru suita de software Norton Utilities.

Ce să căutați când verificați structura directorului?

Pe lângă verificarea vizuală a câmpurilor descriptorilor aflați acolo, ar trebui să vă uitați prin întregul director până la sfârșit. Asigurați-vă că nu există date străine în director. Ele pot fi scrise acolo de un virus.

Dacă treceți la modul de vizualizare neformatat, vă puteți asigura că intrările de director libere conțin valori zero. Dacă după elementele libere există date, există o probabilitate foarte mare ca acestea să fi fost scrise acolo de un virus sau de sistemul de protecție a programului împotriva copierii neautorizate (dacă directorul analizat conține astfel de programe).

În cazul în care directorul este deteriorat total sau parțial, link-urile către fișierele descrise în acesta se vor pierde. Dacă găsiți într-un fel sau altul sectoarele care conțin fișierul de care aveți nevoie cu un descriptor distrus, atunci folosind metoda descrisă mai jos puteți restaura descriptorul și obțineți acces la fișier.

Directoare din sistemul de fișiere VFAT

Când restaurați sistemul de fișiere FAT al unui computer care rulează Microsoft Windows 95/98 / NT / 2000, ar trebui să fiți atenți, deoarece structura directorului din acesta este diferită de cea descrisă mai sus.

După cum probabil știți, utilizatorii Microsoft Windows 95/98 nu sunt prea constrânși de restricțiile privind lungimea numelor de fișiere și directoare. Și deși teoretic există o astfel de limitare (255 de caractere), nu este semnificativă.

În timpul creării unui nou sistem de operare, programatorii Microsoft au găsit o soluție ingenioasă la problema compatibilității cu programele MS-DOS folosind nume în „formatul 8.3” (8 caractere - nume de fișier sau director, 3 - extensie de nume).

Această soluție constă în faptul că în directoare, alături de descriptorii obișnuiți, există descriptori de un fel aparte. Numărul de astfel de descriptori depinde de lungimea numelui fișierului sau directorului. În acești descriptori este stocat numele lung. Pentru programele MS-DOS, este creat un descriptor obișnuit care conține un nume alternativ care respectă standardele MS-DOS.

Noul sistem de fișiere se numește VFAT.

Aruncă o privire la fig. 9. Această figură arată structura unui director creat în sistemul de fișiere Microsoft Windows 98.

Orez. 9. Descriptori extinși și alternativi pentru nume lungi din directorul rădăcină

Observați cei trei descriptori de sub descriptorul de fișier IO.SYS. Aceștia sunt descriptori extinși speciali care stochează informații despre numele lungi în codarea UNICODE (în această codificare, fiecare caracter este reprezentat de doi octeți). În acest caz, descriptorii extinși stochează numele directorului de instalare DesignWorkshop Lite.

Pentru a vă asigura că descriptorii speciali nu interferează cu activitatea programelor MS-DOS, atributele Numai citire, Sistem, Ascuns și Etichetă de volum sunt setate în ele. Programele MS-DOS obișnuite ignoră intrările de director cu un set atât de exotic de atribute.

Descriptorul special este marcat ca LFN (Long File Name) de noua versiune a DISKEDIT și se referă la numărul cluster 0. Numărul real al primului cluster alocat unui fișier sau director se află în descriptorul standard imediat după descriptorul extins. În acest caz, este handle-ul unui director numit DISIGN ~ 1 situat în clusterul 1274.

Dacă numele fișierului sau directorului are mai mult de 8 caractere, descriptorul standard după descriptorul extins conține un nume alternativ format din caracterele inițiale ale numelui, caracterul ~ (tilde) și un număr zecimal. Acest descriptor se numește alternativ.

Sistemul de operare Microsoft Windows NT / 2000 creează, de asemenea, descriptori extinși și alternativi pe partițiile FAT.

Folosind linia Mai multe din meniul principal al programului DISKEDIT, puteți vizualiza sau edita restul câmpurilor de descriptori speciali.

De exemplu, data și ora la care a fost creat fișierul sunt în câmpurile Creare dată și, respectiv, Creare oră. În plus, sistemul de operare Microsoft Windows 95/98 înregistrează data ultimului acces la fișier. Puteți vedea această dată în câmpul Accesat.

Câmpul EA conține un indicator pentru atributele extinse și are o valoare zero pentru atributele standard.

Dacă numele este atât de lung încât nu se încadrează într-un descriptor special, se creează mai mulți astfel de descriptori, amplasați unul după altul. Acesta este urmat de un descriptor alternativ. Câmpul Ordinal conține numărul ordinal al descriptorului personalizat. Pentru ultimul descriptor personalizat, câmpul Ultimul este marcat cu Da.

Pentru cei care sunt interesați de formatul exact al descriptorilor VFAT standard și extinși, am furnizat un fragment din codul sursă al programului CrashUndo 2000. Aceasta este o unire a două structuri, prima dintre care corespunde descriptorului standard și al doilea la cel extins:

Typedef uniune _FAT_DIR_ENTRY
{
struct _DIR
{
BYTE dir_Nume; // Nume
BYTE dir_Extension; // extensie de nume
BYTE dir_Atribute; // atribute
BYTE dir_NTReserved; // rezervat pentru Windows NT
BYTE dir_CreateTimeTenth; // zecimi din timpul creației
UINT16 dir_CreateTime; // timpul creației
UINT16 dir_CreateDate; // data creării
UINT16 dir_LastAccessDate; // data ultimului acces
UINT16 dir_FirstClusterHi; // cuvânt înalt al numărului de grup
UINT16 dir_WriteTime; // Timpul de actualizare
UINT16 dir_WriteDate; // data actualizării
UINT16 dir_FirstClusterLo; // cuvântul cel mai puțin semnificativ al numărului de grup
UINT32 dir_FileSize; // mărime fișier
) dir; struct _LFN
{
BYTE lfn_Sequence; // numărul descriptorului
WCHAR lfn_Name1; // prima parte a numelui
BYTE lfn_Atribute; // atribute
BYTE lfn_LongEntryType; // steag de atribut extins
BYTE lfn_Checksum; // suma de control a numelui
WCHAR lfn_Name2; // a doua parte a numelui
UINT16 lfn_Reserved; // rezervat
WCHAR lfn_Name3; // a treia parte a numelui
) lfn;
) FAT_DIR_ENTRY, * PFAT_DIR_ENTRY;

Rețineți că cele două câmpuri de 16 biți dir_FirstClusterHi și dir_FirstClusterLo sunt folosite pentru a stoca numărul primului cluster alocat unui fișier sau director.

În ceea ce privește tabelul de alocare a fișierelor FAT, deși în Microsoft Windows 95/98 se numește Virtual File Allocation Table (VFAT), formatul acestuia rămâne același. Acest lucru este pentru compatibilitatea cu programele MS-DOS. Formatele altor blocuri logice ale sistemului de fișiere au fost, de asemenea, păstrate, cum ar fi tabelul de partiții de disc, tabelul de disc logic, înregistrarea de pornire și BIOS-ul extins BPB.

Rețineți că versiunile mai vechi ale Norton Utilities nu pot fi utilizate pentru a restaura sistemul de fișiere Microsoft Windows 95/98, deoarece nu știu nimic despre descriptorii extinși și alternativi.

Zona de date

După directorul rădăcină, începe o zonă de date, extinzându-se până la sfârșitul unității logice. Această zonă este împărțită în clustere, iar numerotarea clusterului începe cu numărul 2. Primele sectoare ale zonei de date corespund numărului cluster 2.

Iată o formulă care conectează numărul clusterului cu numerele sectoarelor pe care le ocupă pe discul logic:

SectNumber = DataStart + ((ClustNumber - 2) * ClustSize)

Această formulă folosește următoarea notație:

Această formulă poate fi utilă pentru recuperarea manuală a sistemului de fișiere.

Găsiți și recuperați fișiere în partițiile FAT

În această secțiune, vom oferi câteva recomandări care vizează recuperarea fișierelor care au devenit imposibil de accesat din cauza acțiunii rău intenționate a virușilor sau ca urmare a distrugerii sistemului de fișiere FAT din orice alt motiv. În orice caz, înainte de a începe lucrările de recuperare, ar trebui să efectuați un studiu complet al setărilor BIOS-ului și ale sistemului de fișiere, folosind informațiile furnizate mai devreme.

De asemenea, ar trebui să vă asigurați că aveți o bună stăpânire a structurii sistemului de fișiere și că cunoașteți formatele tuturor componentelor sale, cum ar fi tabelul de partiții, tabelul de disc logic, tabelul de alocare a fișierelor FAT și așa mai departe.

Dacă în procesul de examinare a sistemului de fișiere constatați că unele structuri au fost complet distruse (de exemplu, înregistrarea principală de pornire cu tabelul de partiții, tabelul unităților logice, directoarele și așa mai departe), totul nu este pierdut.

Dacă siguranța informațiilor nu este de o importanță decisivă pentru dvs., atunci multe daune ale sistemului de fișiere pot fi reparate automat folosind programele Norton Disk Doctor sau SCANDISK. Cu toate acestea, aceste programe foarte bune în unele cazuri nu vă vor putea oferi un ajutor semnificativ. Mai rău, pot distruge definitiv structura logică a discului, după care recuperarea fișierelor devine imposibilă.

Prin urmare, ar trebui să stăpâniți cel puțin tehnicile de bază ale recuperării manuale a sistemului de fișiere. În cazuri severe sau critice, vă recomandăm insistent să ne contactați la serviciul DataRecovery.Ru prin serverul http://www.datarecovery.ru sau http://www.frolov.pp.ru.

Ideea principală din spatele găsirii fișierelor și structurilor de date pierdute este că le cunoașteți (cel puțin aproximativ) numele sau conținutul.

De exemplu, sectoarele care conțin tabelul de partiții, tabelul de disc logic și înregistrarea de pornire au semnătura 0xAA55. Știți din secțiunile anterioare ale acestui capitol că programele de pornire conțin șiruri de text binecunoscute în corpurile lor. Le puteți folosi pentru a căuta. Astfel de linii sunt prezente și în corpul blocului extins al parametrilor BIOS Extended PBP (acestea sunt linii FAT12, FAT16 sau FAT32).

Dacă cunoașteți cuvintele caracteristice sau secvențele de octeți găsite în fișierele de date pierdute, acestea sunt utile și pentru a găsi sectoare de fișiere pentru recuperare.

Căutați cu Norton File Find

Cea mai frecventă deteriorare a sistemului de fișiere FAT apare în timpul unei întreruperi bruște de curent și este apariția așa-numitelor clustere orfane. Această deteriorare este, de asemenea, rezultatul unei resetare hard a computerului în timp ce sistemul de operare Microsoft Windows rulează.

Clusterele pierdute sunt numite astfel deoarece nu sunt referite în niciun director din sistemul de fișiere. O astfel de situație poate apărea, de exemplu, din cauza faptului că directorul corespunzător a fost pur și simplu distrus și, prin urmare, legăturile către fișierele descrise în acesta au dispărut.

Cel mai adesea, pentru a repara daune de acest fel, utilizatorii folosesc programul SCANDISK, care face parte din sistemul de operare, sau programul Norton Disk Doctor.

După restaurarea sistemului de fișiere folosind Norton Disk Doctor sau SCANDISK, pe disc se pot forma un număr mare de fișiere cu o extensie de nume specifică, formate din lanțuri de clustere pierdute (fiecare program de recuperare folosește propriul nume). Pot exista până la câteva mii de astfel de fișiere, în funcție de gravitatea deteriorării sistemului de fișiere.

Dacă, după un eșec sau un atac de viruși, ați verificat discul unuia dintre programele enumerate mai sus și, ca urmare, fișierele de care aveți nevoie au dispărut, există o mare probabilitate ca acestea să fie printre fișierele recuperate. Cu toate acestea, cum să le găsiți printre sute și mii de alții?

Cel mai simplu mod de a face acest lucru este, de exemplu, utilizarea programului Norton Find File. Poate fi lansat din popularul shell Norton Commander folosind combinația de taste Alt + F7.

În câmpul Fișier(e) de găsit, trebuie să specificați un model pentru numele fișierului și extensia numelui, de exemplu, * .NDD. Căutarea va fi efectuată numai printre fișierele al căror nume se potrivește cu modelul specificat.

De asemenea, trebuie să specificați în câmpul Containing contextul căutării, adică orice șir de text care este prezent în fișier. De exemplu, pentru a găsi toate fișierele create de procesorul de text Microsoft Word pentru Windows, puteți specifica șirul de context „Microsoft Word”, iar pentru a găsi toate fișierele pregătite în mediul procesorului de foi de calcul Microsoft Excel, specificați șirul de context „Microsoft Excel” .

O listă a căilor către fișierele găsite apare în partea de sus a ferestrei Norton Find File.

Mai târziu, dacă există încă o mulțime de fișiere găsite, le puteți rescrie într-un director separat și le puteți redenumi, apoi continuați căutarea folosind alte șiruri ca context.

Se caută cu DISKEDIT

În comparație cu programul Norton Find File descris în secțiunea anterioară, DISKEDIT oferă multe mai multe opțiuni pentru găsirea fișierelor și a diferitelor structuri ale sistemului de fișiere.

Căutați secțiuni

Observați meniul Instrumente DISKEDIT.

Dacă selectați linia Găsiți din acest meniu, pe ecran apare caseta de dialog Introducere text de căutare. Folosind această casetă de dialog, puteți efectua căutări contextuale pentru șiruri date atât în ​​reprezentări cu caractere, cât și în reprezentări hexazecimale. În plus, puteți specifica decalajul sectorului și puteți selecta modul Ignora majuscule. Când utilizați acest mod, compararea modelelor va fi efectuată fără a ține cont de literele mari sau mici.

Linia Găsire obiect vă permite să căutați diferite structuri în sistemul de fișiere. Dacă selectați această linie, pe ecran va apărea un meniu de al doilea nivel, unde sunt liniile Partiție / Boot, FAT și Subdirectory.

Încercați totul în acțiune. Pentru a face acest lucru, deschideți meniul Obiect și selectați din acesta linia Sector fizic. Apoi selectați primul sector situat pe pista 0. Acest sector ar trebui să conțină MBR. Comutați la vizualizarea neformatată alegând linia ca Hex din meniul Vizualizare.

Dar ce se întâmplă dacă te uiți la Master Boot Record și vezi că tabelul de partiții este corupt sau criptat?

În acest caz, puteți efectua o căutare contextuală pentru sectoarele de înregistrare de pornire care conțin blocuri de parametri BIOS BPB. Cel mai simplu mod de a face acest lucru este selectând linia Partition / Boot din meniul Tools / Find Object după ce ați vizualizat înregistrarea principală de boot la adresa sa fizică și treceți la următorul sector de disc.

Programul DISKEDIT va găsi un sector care conține secvența de octeți „55 AA” la sfârșit, corespunzătoare semnăturii sectorului de pornire 0xAA55.

După ce ați găsit sectorul de boot, adresa fizică a acestuia poate fi înlocuită manual în tabelul de partiții prin editarea acestuia cu programul DISKEDIT.

Deoarece structura partițiilor de disc în timpul funcționării acestuia din urmă se poate schimba de multe ori, este posibil să găsiți prea multe sectoare de boot. Unele dintre ele au aparținut unor partiții vechi și nu au fost distruse când structura partiției a fost schimbată, unele pot aparține cu totul altor sisteme de operare. În orice caz, verificați locația sectorului de boot găsit în raport cu alte structuri logice ale sistemului de fișiere pe care le-ați găsit. De exemplu, puteți folosi faptul că tabelul de alocare a fișierelor ar trebui să urmeze imediat după sectorul de boot al partiției FAT pentru a „recunoaște”.

Deoarece în timpul căutării programul DISKEDIT verifică doar ultimii doi octeți ai sectorului, sunt posibile false pozitive. După sectorul găsit, poate exista un sector, al cărui conținut nu este foarte asemănător cu tabelul de alocare a fișierelor.

Găsirea tabelelor FAT

Acum selectați linia Găsire obiect din meniul Instrumente și apoi linia FAT. DISKEDIT va căuta prima copie a tabelului de alocare a fișierelor FAT și va afișa un dump al acesteia, evidențiind primii trei octeți.

Dacă deplasați acum cursorul de text în jos sau apăsați tasta PgDn și apoi selectați din nou linia FAT din meniul Instrumente / Găsiți obiect, este găsită oa doua copie a tabelului de alocare a fișierelor FAT.

Rețineți că căutarea tabelelor FAT în acest caz se reduce la o căutare a secvenței de octeți „F8 FF FF”, așa că după efectuarea căutării a treia oară, puteți găsi un alt „tabel FAT” fals. Faptul este că probabil există un fișier pe disc care conține secvența de octeți de mai sus, așa că aveți grijă.

Găsirea directoarelor pierdute

Acum să începem să căutăm cataloagele pierdute. Nu există legături către astfel de directoare din alte directoare.

Pentru a căuta, puteți utiliza linia Subdirector din meniul Instrumente / Găsiți obiect. Programul DISKEDIT scanează sectoarele discului în căutarea unuia la începutul căruia există o secvență de octeți „2E 20 20 20 20 20 20 20 20 20 20”. Această secvență se potrivește cu un descriptor care conține o referință de director la sine.

Apăsând combinația de taste Ctrl + G, puteți continua să căutați directorul dorit până când îl găsiți pe cel care conține fișierele care vă interesează. Puteți căuta, de asemenea, după numele fișierului, dacă îl cunoașteți.

Odată găsit directorul necesar, este necesar să scrieți adresa fizică a sectorului de disc care conține directorul, apoi să găsiți sau să calculați numărul clusterului corespunzător directorului.

Pentru a găsi numărul clusterului în care se află directorul găsit, comutați la vizualizarea formatată a directorului selectând linia ca Director din meniul Vizualizare. Apoi selectați linia Cluster Chain (grasă) din meniul Link. Conținutul tabelului FAT va apărea pe ecran în modul de vizualizare formatat, cu numărul de cluster dorit evidențiat.

Recuperați directoarele și fișierele pierdute

Cunoscând numărul de cluster al directorului pierdut, puteți crea un nou descriptor de director, de exemplu, în directorul rădăcină al unui disc și puteți face o legătură în acest descriptor către directorul găsit. După aceea, directorul pierdut va deveni din nou disponibil.

Rețineți că, pentru sistemul de fișiere VFAT, trebuie să completați corect câmpul sumă de control al numelui din descriptorul extins și, de asemenea, să specificați numărul de 32 de biți al primului cluster alocat fișierului.

Puteți sugera următorul algoritm de recuperare a fișierelor:

  • efectuați o căutare contextuală a sectoarelor de fișiere folosind linia Fișiere din meniul Instrumente, precum și vizualizarea secvențială a sectoarelor de disc;
  • determina numarul de clustere corespunzator sectoarelor gasite, folosind formula de mai sus sau folosind programul DISKEDIT;
  • restaurați lanțul de numere de cluster pentru un fișier din tabelul de alocare a fișierelor FAT, marcând ultimul cluster din acesta cu o valoare specială (cum ar fi 0xFFFF pentru FAT-16);
  • creați un descriptor de fișier în orice director (de exemplu, în rădăcină);
  • specificați în descriptorul generat o legătură către primul cluster al fișierului recuperat și dimensiunea fișierului.

Dacă ați restaurat un fișier de document creat de un procesor de text Microsoft Word pentru Windows sau un procesor de foi de calcul Microsoft Excel, încărcați-l în aplicația corespunzătoare și apoi salvați-l sub un alt nume. Aceasta va restabili lungimea corectă a fișierului.

Un fișier text simplu poate fi încărcat într-un editor de text și „decupează” datele suplimentare la sfârșitul fișierului. Apoi salvați fișierul cu alt nume.

Dacă știți lungimea exactă a fișierului, îl puteți seta folosind programul DISKEDIT în modul de editare a descriptorului de fișier (Fig. 9).

virușii informatici

Fișieră viruși

Virusul poate infiltra trei tipuri de fișiere:

Echipa (BAT);

Drivere încărcabile (IO.SYS, MSDOS.SYS etc.);

Binare executabile (EXE, COM).

Este posibilă introducerea unui virus în fișierele de date, dar aceste cazuri apar fie ca urmare a unei erori de virus, fie atunci când virusul își manifestă proprietățile agresive.

Un virus este introdus într-un fișier SYS după cum urmează: virușii sunt introduși într-un fișier SYS, atribuie codurile lor corpului fișierului și modifică adresele programelor de strategie și întrerupere ale driverului infectat (există viruși care schimbă adresa de doar unul dintre programe). Când un driver infectat este inițializat, virusul interceptează cererea corespunzătoare din sistemul de operare, o transferă driverului, așteaptă un răspuns la acesta, o corectează și rămâne în RAM împreună cu driverul într-un singur bloc de memorie. Un astfel de virus poate fi extrem de periculos și tenace, deoarece este introdus în memoria RAM atunci când DOS este încărcat înaintea oricărui program antivirus, dacă este, desigur, și un driver.

Fișierul driverului infectat:

De asemenea, este posibil să infectați driverul de sistem într-un alt mod, atunci când virusul își modifică antetul astfel încât DOS să trateze fișierul infectat ca pe un lanț de două (sau mai multe) fișiere.

Fișierul driverului infectat:

În mod similar, un virus își poate scrie codurile la începutul driverului, iar dacă fișierul conține mai multe drivere, atunci la mijlocul fișierului.

Un virus este introdus în fișierele COM și EXE în felul următor: binarele executabile sunt în formate COM sau EXE, diferă prin antet și modul în care sunt lansate programele pentru execuție. Extensia numelui de fișier (COM sau EXE) nu corespunde întotdeauna cu formatul real de fișier, ceea ce nu afectează în niciun fel funcționarea programului. Fișierele COM sau EXE sunt infectate în moduri diferite, prin urmare, virusul trebuie să distingă fișierele dintr-un format de altul.

Virușii rezolvă această problemă în două moduri: unii analizează extensia numelui fișierului, alții - antetul fișierului. Prima metodă va fi denumită mai jos infecție. Fișierele COM- (.EXE-), a doua metodă de infectare: fișierele COM- (EXE-). În cele mai multe cazuri, virusul infectează corect fișierul, adică din informațiile conținute în corpul său, este posibil să se restaureze complet fișierul infectat. Dar virușii, ca majoritatea programelor, conțin adesea erori care sunt invizibile la prima vedere. Din acest motiv, chiar și un virus scris complet corect poate deteriora ireversibil fișierul dacă este înfrânt. De exemplu, virușii care disting tipurile de fișiere după extensia numelui (.COM-, .EXE-) sunt foarte periculoși, deoarece strică fișierele a căror extensie de nume nu corespunde formatului intern.

La răspândire, virușii de fișiere sunt introduși în corpul unui fișier infectat: început, sfârșit sau mijloc. Există mai multe posibilități de introducere a unui virus în mijlocul unui fișier: acesta poate fi copiat în tabelul de setări pentru adresele fișierului EXE ("Boot - Exe"), zona de stivă a fișierului COMMAND.COM ("Lehigh") , poate extinde fișierul sau suprascrie o parte a fișierului la sfârșit și codurile sale - în spațiul liber ("April l - 1 - Exe", "Phoenix") etc. În plus, copierea unui virus în mijlocul unui fișier poate apărea ca urmare a unei erori de virus. În acest caz, fișierul poate fi deteriorat ireversibil. Există și alte moduri de a introduce un virus în mijlocul unui fișier, de exemplu, virusul „Mutant” folosește o metodă de comprimare a unor părți ale fișierului.

Un virus poate fi inserat la începutul unui fișier în trei moduri. Prima modalitate este ca virusul să rescrie începutul fișierului infectat până la sfârșit și să fie copiat în spațiul liber. Atunci când un fișier este infectat prin a doua metodă, virusul își creează o copie în memoria RAM, adaugă fișierul infectat la acesta și salvează concatenarea rezultată pe disc. Când se infectează prin a treia metodă, virusul își scrie codurile la începutul fișierului fără a salva conținutul vechi de la începutul fișierului, desigur, fișierul nu mai funcționează și nu este restaurat.

Injecția de viruși la începutul unui fișier este utilizată în majoritatea covârșitoare a cazurilor când fișierele COM sunt infectate. Fișierele EXE sunt infectate prin această metodă fie ca urmare a unei erori de virus, fie folosind algoritmul virusului „Pascal”.

Inserarea unui virus la sfârșitul unui fișier este cea mai comună metodă de infectare. În acest caz, virusul modifică începutul fișierului în așa fel încât primele comenzi executate ale programului conținut în fișier să fie comenzile virusului. Într-un fișier COM, acest lucru se realizează prin schimbarea primilor trei (sau mai mulți) octeți la codurile instrucțiunii JMP Loc_Virus (sau, în general, la codurile programului care transferă controlul către corpul virusului). Fișierul EXE este fie convertit într-un format de fișier COM și apoi infectat ca ultimul, fie antetul fișierului (lungimea, adresele de început) este modificat.

O metodă standard de infecție este o metodă prin care un virus este adăugat la sfârșitul unui fișier și modifică primii octeți ai unui fișier COM și mai multe câmpuri de antet ale unui fișier EXE.

Virusul, după ce i-a transferat controlul, acționează conform următorului algoritm:

Restaurează programul (dar nu și fișierul) în forma sa originală;

Dacă virusul este rezident în memorie, verifică RAM-ul pentru o copie a lui însuși și infectează memoria computerului dacă nu se găsește nicio copie; dacă virusul nu este rezident în memorie, caută fișiere neinfectate în directoarele curente și rădăcină, în directoarele marcate în comanda PATH, scanează arborele de directoare al unităților logice și apoi infectează fișierele detectate;

Îndeplinește, dacă există, funcții suplimentare: acțiuni distructive, efecte grafice sau sonore.

Returnează controlul programului principal.

Porniți viruși

Virușii de boot infectează sectorul de pornire al dischetei și sectorul de pornire sau Master Boot Record al hard diskului. Când un disc este infectat, virusul în cele mai multe cazuri transferă sectorul de pornire original într-un alt sector al discului. Dacă lungimea virusului este mai mare decât lungimea sectorului, atunci prima parte a virusului este mutată în sectorul infectat, restul sunt plasate în alte sectoare. Apoi virusul copiază informațiile de sistem stocate în bootloader-ul inițial și le scrie în sectorul de boot (pentru MBR această informație este Disk Partition Table, pentru sectorul Boot al dischetelor - BIOS Parameter Block).

Algoritmul virusului de boot.

Injectarea memoriei are loc la pornirea de pe un disc infectat. În acest caz, încărcătorul de pornire citește conținutul primului sector al discului de pe care este încărcat, pune informațiile citite în memorie și îi transferă controlul (adică virusului). După aceea, încep să fie executate instrucțiunile virusului, ceea ce reduce cantitatea de memorie liberă; citește continuarea acesteia de pe disc; se transferă într-o altă zonă a memoriei; setează vectorii de întrerupere necesari; efectuează acțiuni suplimentare; copiează sectorul de pornire original în memorie și îi transferă controlul.

Pe viitor, virusul de boot se comportă la fel ca un virus de fișier rezident în memorie: interceptează accesul sistemului de operare la discuri și le inițiază, în funcție de anumite condiții, efectuează acțiuni distructive sau provoacă efecte sonore sau video.

Dragi utilizatori, materialul acestui articol nu poate fi considerat complet și exhaustiv, deoarece progresul avansează constant și, din păcate, tehnologiile de scriere a virușilor și a programelor malware se îmbunătățesc și ele. Acest articol este compilat în scop informativ, pentru a crește educația și conștientizarea utilizatorilor. Sper (naiv incorect) că materialul prezentat nu va împinge pe nimeni să scrie programe rău intenționate, ci, dimpotrivă, să-i pună pe gânduri. Amintiți-vă, există o vorbă înțeleaptă: „Nu scuipa în fântână, va trebui să bei”. În cazul nostru, internetul este o „fântână” uriașă de informații, din care obținem informațiile de care avem nevoie și tu. Este responsabilitatea noastră directă să-l păstrăm curat, pentru că noi suntem părțile sale integrante (deși indirect, dar totuși :).

Ce sunt virusurile

Virus este un program special scris, de dimensiuni mici, o secvență de coduri de instrucțiuni care se poate „atribui” altor programe („le „infectează”), să creeze copii ale lui însuși (nu întotdeauna la fel) și să le înglobeze în fișiere, zone de sistem ale computer, etc etc., precum și să efectueze diverse acțiuni nedorite pe computer.

Virușii informatici își datorează numele unei anumite asemănări cu virușii naturali: capacitatea de a se autoinfecta; viteză mare de propagare; selectivitatea sistemelor afectate (fiecare virus infectează doar anumite sisteme sau grupuri omogene de sisteme); capacitatea de a „infecta” sisteme încă neinfectate; dificultăți în lupta împotriva virușilor etc.

Clasificarea virușilor informatici

Virusurile pot fi clasificate în mod convențional după următoarele criterii:
* în funcție de habitatul virusului
* prin metoda de contaminare a habitatului
* prin posibilităţi distructive
* prin caracteristicile algoritmului virusului
* după tipul acțiunilor distructive

Virușii de boot infectează sectorul de boot al dischetei și sectorul de boot sau Master Boot Record (MBR) al hard diskului. Principiul de funcționare a virușilor de boot se bazează pe algoritmii de pornire a sistemului de operare atunci când computerul este pornit sau repornit.

Pentru a fi mai clar, voi explica în detaliu cum pornește computerul: după pornirea computerului în rețea, sursa de alimentare trimite semnalul POWER_ON către placa de bază, care la rândul său verifică tensiunea din circuitul de alimentare, dacă este corectă. , apoi computerul pornește. În plus, programul din BIOS (Basic Input Output System) al plăcii video primește control, testează componentele plăcii video și, la primirea datelor pozitive, transferă controlul către BIOS-ul plăcii de bază. Lansează procedura POST (Power-On Self Test), care efectuează un autotest al tuturor componentelor sistemului, dacă testarea are succes și toate dispozitivele găsite returnează semnale pozitive, BIOS-ul în conformitate cu datele din secțiunea Boot și transferă controlul la dispozitivul care se află mai întâi în această listă. Controlul este transferat prin căutarea primului sector fizic, citirea acestuia și pornirea bootloader-ului.

În cazul unei dischete sau a unui CD-ROM, sectorul de boot primește control, care analizează tabelul cu parametrii discului (BPB - BIOS Parameter Block), calculează adresele fișierelor de sistem ale sistemului de operare, le citește în memorie și le lansează pentru executare. Dacă fișierele sistemului de operare lipsesc pe discul de pornire, programul situat în sectorul de pornire al discului afișează un mesaj de eroare și oferă înlocuirea discului de pornire.

În cazul unui hard disk, primește controlul bootloader-ul menționat mai sus, care analizează Disk Partition Table, calculează adresa sectorului de boot activ (de obicei acest sector este sectorul de boot al C :), îl încarcă în memorie și îl transferă controlului său. După ce a primit controlul, sectorul de pornire activ al hard disk-ului efectuează aceleași acțiuni ca și sectorul de pornire al unei dischete. În plus, totul este mai simplu, încărcătorul sistemului de operare se află în fișierele de sistem, ceea ce încarcă în continuare sistemul de operare.

Când infectează discurile, virușii de pornire își „înlocuiesc” codul cu orice program care primește control la pornirea sistemului. Astfel, principiul infecției este același în toate metodele descrise mai sus: virusul „forțează” sistemul să-l citească în memorie atunci când este repornit și dă control nu codului original de bootloader, ci codului virusului.

Dischetele sunt infectate în singurul mod cunoscut - virusul își scrie propriul cod în loc de codul original al sectorului de boot al dischetei. Hard disk-ul se infectează în trei moduri posibile - virusul se scrie singur fie în locul codului MBR, fie în locul codului sectorului de pornire al discului de pornire (de obicei C :), sau modifică adresa sectorului de pornire activ de pe disc. Tabel de partiții situat în MBR-ul hard diskului.

Când infectează un disc, virusul în cele mai multe cazuri transferă sectorul de pornire original (sau MBR) într-un alt sector al discului (de exemplu, în primul sector liber). Dacă lungimea virusului este mai mare decât lungimea sectorului, atunci prima parte a virusului este plasată în sectorul infectat, părțile rămase sunt plasate în alte sectoare (de exemplu, în primele sectoare libere).


Există mai multe opțiuni pentru plasarea sectorului inițial de pornire pe disc și continuarea virusului: în sectoare de clustere libere ale unui disc logic, în sectoare de sistem neutilizate sau rar utilizate, în sectoare situate în afara discului.

Dacă continuarea virusului este localizată în sectoare care aparțin clusterelor de discuri libere (la căutarea acestor sectoare, virusul trebuie să analizeze tabelul de alocare a fișierelor - FAT), atunci, de regulă, virusul marchează aceste clustere în FAT (Eșuare). Tabel de alocare) ca clustere defectuoase (așa-numitele clustere pseudo-bad).

De asemenea, virușii plasează sectorul inițial de pornire într-un sector nefolosit sau rar utilizat - într-unul dintre sectoarele hard diskului (dacă există) situat între MBR și primul sector de boot, iar pe o dischetă un astfel de sector este selectat din ultimele sectoare ale directorului rădăcină.

Unii viruși își scriu codul în ultimele sectoare ale hard disk-ului, deoarece aceste sectoare sunt utilizate numai atunci când hard disk-ul este complet plin de informații. Mai puțin folosită este metoda de a păstra virusul în afara discului. Acest lucru se realizează în două moduri. Primul se rezumă la reducerea dimensiunii discurilor logice: virusul scade valorile necesare din câmpurile corespunzătoare ale sectorului de boot BPB și Tabelul de partiții ale hard diskului (dacă hard disk-ul este infectat), reduce astfel dimensiunea discului logic și își scrie codul în sectoarele „decupate” din acesta.

A doua modalitate este să scrieți date în afara partiției fizice a discului. În cazul dischetelor, virusul trebuie să formateze o pistă suplimentară pe disc (metodă de formatare non-standard). Există viruși care își scriu codul în afara spațiului accesibil al hard disk-ului, dacă, desigur, acest lucru este permis de hardware-ul instalat.

Desigur, există și alte metode de a plasa un virus pe disc, de exemplu, unii viruși conțin un încărcător MBR standard în corpurile lor și, atunci când sunt infectați, suprascriu MBR-ul original fără a-l salva.

La infectare, majoritatea virușilor copiază informațiile de sistem stocate în bootloader-ul inițial în codul bootloader-ului lor (pentru MBR această informație este Disk Partition Table, pentru sectorul Boot al dischetelor - BIOS Parameter Block). În caz contrar, sistemul nu se va putea porni singur, deoarece adresele de disc ale componentelor sistemului sunt calculate pe baza acestor informații.

Cu toate acestea, unii viruși stealth nu stochează aceste informații sau chiar mai mult - le criptează în mod deliberat. Când sistemul sau alte programe accesează sectoare infectate, virusul înlocuiește originalul lor neinfectat, iar sistemul pornește fără erori.

De asemenea, trebuie remarcat faptul că virușii de pornire foarte rar „se înțeleg” împreună pe același disc - adesea folosesc aceleași sectoare de disc pentru a-și plasa codul / datele. Ca urmare, codul/datele primului virus se dovedește a fi corupt atunci când este infectat cu al doilea virus, iar sistemul fie se îngheață în timpul pornirii, fie se face bucle.

Algoritmul virusului de boot

Aproape toți virușii de boot sunt rezidenți în memorie. Acestea sunt încorporate în memoria computerului la pornirea de pe un disc infectat. În acest caz, încărcătorul de pornire citește conținutul primului sector al discului de pe care se face boot-ul, plasează informațiile citite în memorie și îi transferă controlul (adică virusului). După aceea, încep să fie executate instrucțiunile virusului, care:
1. de regulă, reduce cantitatea de memorie liberă (cuvântul la 0040: 0013), își copiază codul în spațiul liber și citește continuarea sa de pe disc (dacă există). Mai târziu, unii viruși „așteaptă” ca sistemul de operare să pornească și să restabilească acest cuvânt la înțelesul inițial. Ca urmare, acestea nu sunt situate în afara sistemului de operare, ci ca blocuri separate de memorie ale sistemului de operare.
2. interceptează vectorii de întrerupere necesari (de obicei INT 13h), citește sectorul original de pornire în memorie și îi transferă controlul.

Pe viitor, virusul de boot se comportă la fel ca un virus de fișier rezident în memorie: interceptează accesul sistemului de operare la discuri și le infectează, în funcție de anumite condiții, efectuează acțiuni distructive sau provoacă efecte sonore sau video.

Există viruși de boot care nu sunt rezidenți în memorie - la pornire, aceștia infectează MBR-ul hard disk-ului și al dischetelor, dacă sunt prezente în unități. Apoi, astfel de viruși transferă controlul către bootloader-ul original și nu mai afectează funcționarea computerului.

Fișieră viruși

Acest grup include viruși care, atunci când se înmulțesc într-un fel sau altul, folosesc sistemul de fișiere al unui sistem de operare.

Injectarea unui virus de fișier este posibilă în aproape toate fișierele executabile ale tuturor sistemelor de operare populare, precum și în bibliotecile de drivere dinamice și virtuale (dll, VxD) și multe alte fișiere.

Există viruși care infectează fișiere care conțin cod sursă de programe, bibliotecă sau module obiect. Este posibil să scrieți un virus în fișierele de date, dar acest lucru se întâmplă fie ca urmare a unei erori de virus, fie când se manifestă proprietățile sale agresive. Virușii macro-și își scriu codul în fișiere de date - documente sau foi de calcul - dar acești viruși sunt atât de specifici încât sunt clasificați ca un grup separat.

Această metodă de infecție este cea mai simplă: virusul își scrie propriul cod în loc de codul fișierului infectat, distrugându-i conținutul. Desigur, fișierul nu mai funcționează și nu poate fi restaurat. Astfel de viruși se detectează foarte repede, deoarece sistemul de operare și aplicațiile încetează să funcționeze destul de repede.

Injectarea virusului la începutul fișierului

Injectarea unui virus la începutul unui fișier este folosită în majoritatea covârșitoare a cazurilor când se infectează fișierele DOS „BAT și COM. Există mai mulți viruși care se scriu la începutul fișierelor EXE ale sistemelor de operare DOS, Windows și chiar Linux. În același timp, virușii sunt folosiți pentru a menține programul în funcțiune. , fie dezinfectați fișierul infectat, relansați-l, așteptați să se termine și scrieți înapoi la începutul său (uneori se folosește un fișier temporar, în care fișierul neutralizat este scris), sau restaurează codul programului în memoria computerului și stabilesc adresele necesare în corpul acestuia (adică duplică activitatea sistemului de operare).

Injectarea virusului la sfârșitul fișierului

Cel mai comun mod de a introduce un virus într-un fișier este prin adăugarea virusului la sfârșitul fișierului. În acest caz, virusul modifică începutul fișierului în așa fel încât primele comenzi executate ale programului conținut în fișier să fie comenzile virusului.

Într-un fișier COM DOS, în cele mai multe cazuri, acest lucru se realizează prin schimbarea primilor trei (sau mai mulți) octeți în coduri de instrucțiuni JMP Loc_Virus (sau, mai general, la coduri ale programului care transferă controlul către corpul virusului).

Virușii care se infiltrează în fișierele SYS își atașează codurile la corpul fișierului și modifică adresele programelor de strategie și întrerupere ale driverului infectat. Când un driver infectat este inițializat, virusul interceptează cererea corespunzătoare din sistemul de operare, o transferă driverului, așteaptă un răspuns la această solicitare, o corectează și rămâne cu driverul într-un bloc de RAM. Un astfel de virus poate fi extrem de periculos și tenace, deoarece este introdus în memoria RAM atunci când sistemul de operare pornește înaintea oricărui program antivirus, dacă, desigur, nu este nici un driver.

Există, de asemenea, viruși care infectează driverele de sistem într-un mod diferit: virusul își modifică antetul astfel încât sistemul de operare tratează fișierul infectat ca pe un lanț de două (sau mai multe) drivere.

În mod similar, un virus își poate scrie codurile la începutul driverului, iar dacă fișierul conține mai multe drivere, atunci la mijlocul fișierului.

Injecție de virus în mijlocul fișierului

Există mai multe metode pentru introducerea unui virus în mijlocul unui fișier. În cel mai simplu dintre ele, virusul mută o parte a fișierului până la capăt sau „extinde” fișierul și își scrie codul în spațiul eliberat. Această metodă este în multe privințe similară cu metodele enumerate mai sus. În același timp, unii viruși comprimă blocul de fișiere portabil, astfel încât lungimea fișierului să nu se modifice în timpul infecției.

A doua este metoda „cavității”, în care virusul este scris în zone ale fișierului neutilizate în mod deliberat. Virusul poate fi copiat în zonele neutilizate din tabelul de configurare a adreselor DOS EXE sau antetul NewEXE, în zona de stivă a fișierului COMMAND.COM ("Lehigh") sau în zona de mesaje text a compilatoarelor populare ( „NMSG”). Există viruși care infectează doar acele fișiere care conțin blocuri umplute cu un octet constant, în timp ce virusul își scrie codul în locul unui astfel de bloc.

Viruși fără un punct de intrare

Separat, trebuie remarcat un grup destul de nesemnificativ de viruși care nu au un „punct de intrare” (virusuri EPO – Entry Point Obscuring viruses). Acestea includ viruși care nu scriu comenzi de transfer de control în antetul fișierelor COM (JMP) și nu schimbă adresa punctului de pornire din antetul fișierelor EXE. Astfel de viruși scriu o comandă pentru a sări la codul lor undeva în mijlocul fișierului și a obține controlul nu direct atunci când este lansat fișierul infectat, ci atunci când este apelată o procedură care conține codul pentru transferul controlului către corpul virusului. Mai mult, această procedură poate fi efectuată extrem de rar (de exemplu, la afișarea unui mesaj despre orice eroare specifică). Drept urmare, virusul poate „adormi” în interiorul unui fișier timp de mulți ani și poate fi eliberat numai în anumite condiții limitate.

Înainte de a scrie o comandă pentru a sări la propriul cod în mijlocul fișierului, virusul trebuie să selecteze adresa „corectă” din fișier - altfel fișierul infectat poate fi corupt. Există mai multe moduri cunoscute prin care virușii detectează astfel de adrese în fișiere.

Prima cale- căutați în fișier o secvență de cod standard C / Pascal. Acești viruși caută antete standard de procedură C/Pascal în fișierele infectate și în schimb își scriu propriul cod.

A doua cale- urmărirea sau dezasamblarea codului fișierului. Astfel de viruși încarcă un fișier în memorie, apoi îl urmăresc sau dezasambla și, în funcție de diferite condiții, selectează o comandă (sau comenzi), în loc de care este scris un cod pentru tranziția la corpul virusului.

A treia cale este folosit numai de viruși rezidenți în memorie - atunci când un fișier este lansat, aceștia monitorizează o întrerupere (de obicei INT 21h). De îndată ce fișierul infectat provoacă această întrerupere, virusul își scrie codul în locul comenzii de întrerupere a apelului.

Companion - viruși

Categoria „însoțitor” include viruși care nu modifică fișierele infectate. Algoritmul de funcționare al acestor viruși este că se creează un fișier dublu pentru fișierul infectat, iar atunci când fișierul infectat este lansat, acest dublu este controlat, adică. virus.

Cei mai obișnuiți viruși însoțitori care utilizează caracteristica DOS pentru a fi primii care execută un fișier .COM dacă există două fișiere în același director cu același nume, dar cu extensii de nume diferite - .COM și .EXE. Acești viruși creează fișiere însoțitoare pentru fișierele EXE care au același nume, dar cu extensia .COM, de exemplu, un fișier XCOPY.COM este creat pentru fișierul XCOPY.EXE. Virusul se scrie într-un fișier COM și nu modifică fișierul EXE în niciun fel. Când rulați un astfel de fișier, DOS va fi primul care va detecta și executa fișierul COM, adică. un virus care va lansa apoi și fișierul EXE. Unii viruși folosesc nu numai varianta COM-EXE, ci și BAT-COM-EXE.

Al doilea grup este format din viruși care, la infecție, redenumesc un fișier cu alt nume, îl amintesc (pentru lansarea ulterioară a fișierului gazdă) și își scriu codul pe disc sub numele fișierului infectat. De exemplu, fișierul XCOPY.EXE este redenumit în XCOPY.EXD, iar virusul este scris ca XCOPY.EXE. La pornire, controlul primește codul virusului, care apoi rulează XCOPY original stocat sub numele XCOPY.EXD. Un fapt interesant este că această metodă funcționează, probabil, în toate sistemele de operare - virușii de acest tip au fost găsiți nu numai în DOS, ci și în Windows și OS / 2.

Al treilea grup include așa-numiții viruși „Companion Path” care „se joacă” pe caracteristicile DOS PATH. Ei fie își scriu codul sub numele fișierului care urmează să fie infectat, dar „mai înalt” cu un nivel în PATH (astfel, DOS va fi primul care va detecta și rula fișierul cu virus), fie mută fișierul victimă cu un subdirector mai sus și curând.

File viermi

Viermii de fișiere sunt, într-un fel, un fel de însoțitor - viruși, dar în niciun caz nu asociază prezența lor cu vreun fișier executabil. La replicare, pur și simplu își copiază codul în anumite directoare de disc, în speranța că aceste noi copii vor fi lansate vreodată de utilizator. Uneori, acești viruși dau copiilor lor nume „speciale” pentru a împinge utilizatorul să-și lanseze copia - de exemplu, INSTALL.EXE sau WINSTART.BAT.

Există viruși viermi care își scriu copiile în arhive (ARJ, ZIP, RAR și altele). Acești viruși includ „ArjVirus” și „Winstart”. Unii viruși scriu comanda pentru a lansa un fișier infectat în fișiere BAT.

Viermii de fișiere nu trebuie confundați cu viermii de rețea. Primii folosesc doar funcțiile de fișiere ale unui sistem de operare, în timp ce cei din urmă folosesc protocoale de rețea atunci când se propagă.

Legați viruși

Virușii de legătură, precum virușii însoțitori, nu modifică conținutul fizic al fișierelor, dar atunci când un fișier infectat este lansat, ei „forțează” sistemul de operare să-și execute codul. Ei ating acest scop prin modificarea câmpurilor necesare ale sistemului de fișiere.

Până în prezent, este cunoscut un singur tip de viruși Link - viruși din familia „Dir_II”. Când infectează sistemul, își scriu corpul în ultimul cluster al discului logic. Când infectează un fișier, virușii corectează doar numărul primului cluster al fișierului situat în sectorul corespunzător al directorului. Noul cluster inițial al fișierului va indica clusterul care conține corpul virusului. Astfel, atunci când fișierele sunt infectate, lungimea lor și conținutul clusterelor de discuri care conțin aceste fișiere nu se vor modifica și toate fișierele infectate de pe un disc logic vor avea o singură copie a virusului.

După infectare, datele din director indică un virus, de ex. atunci când un fișier este rulat, nu fișierele primesc controlul, ci virusul.

Viruși și viruși OBJ-, LIB în textele sursă

Virușii care infectează bibliotecile compilatorului, modulele obiect și codurile sursă ale programelor sunt destul de exotice și practic neobișnuite. În total, sunt aproximativ o duzină. Virușii care infectează fișierele OBJ și LIB își scriu codul în formatul unui modul obiect sau al unei biblioteci. Prin urmare, fișierul infectat nu este executabil și nu poate răspândi în continuare virusul în starea sa actuală. Purtătorul unui virus „viu” este un fișier COM sau EXE obținut în procesul de conectare a unui fișier OBJ / LIB infectat cu alte module obiect și biblioteci. Astfel, virusul se răspândește în două etape: în prima etapă, fișierele OBJ / LIB sunt infectate, în a doua etapă (legare), se obține un virus funcțional.

Infectarea codurilor sursă ale programelor este o continuare logică a metodei anterioare de reproducere. În acest caz, virusul adaugă codul sursă la codul sursă (în acest caz, virusul trebuie să-l conțină în corpul său) sau propriul său dump hex (ceea ce este mai ușor din punct de vedere tehnic). Un fișier infectat este capabil să răspândească în continuare virusul numai după compilare și conectare.

Algoritmul unui virus de fișier

Metoda de restabilire a programului la forma sa originală depinde de modul în care a fost infectat fișierul. Dacă un virus se infiltrează la începutul unui fișier, fie schimbă codurile programului infectat cu un număr de octeți egal cu lungimea virusului, fie mută o parte a codului programului de la sfârșit la început, fie restabilește fișier pe disc și apoi îl rulează. Dacă un virus s-a scris la sfârșitul fișierului, atunci când restaurează programul, folosește informațiile salvate în corpul său când fișierul a fost infectat. Aceasta poate fi lungimea fișierului, câțiva octeți de la începutul fișierului în cazul unui fișier COM sau câțiva octeți ai antetului în cazul unui fișier EXE. Dacă virusul se scrie în mijlocul fișierului într-un mod special, atunci când restaurează fișierul, folosește și algoritmi speciali.

Injectarea de viruși în fișierele DOS COM și EXE

Binare COM sau EXE executabile care diferă în antet și în modul în care sunt rulate programele. Extensia numelui de fișier ("* .COM" sau "* .EXE") nu corespunde întotdeauna cu formatul real de fișier, ceea ce, totuși, nu afectează în niciun fel funcționarea programului. Fișierele COM și EXE sunt infectate în moduri diferite, prin urmare, virusul trebuie să distingă fișierele dintr-un format de altul. Virușii rezolvă această problemă în două moduri: unii analizează extensia numelui fișierului ("* .COM", "* .EXE"), alții - antetul fișierului. Prima metodă va fi denumită mai jos ca infectarea fișierelor * .COM- (sau * .EXE-), a doua - infectarea fișierelor COM- (sau EXE-).

În cele mai multe cazuri, virusul infectează corect fișierul, adică. din informațiile conținute în corpul virusului, este posibil să se recupereze complet fișierul infectat. Dar virușii, ca majoritatea programelor, conțin adesea erori care sunt invizibile la prima vedere. Din acest motiv, chiar și un virus scris complet corect poate deteriora ireversibil un fișier atunci când este infectat. De exemplu, virușii care disting tipurile de fișiere după extensia numelui (* .COM, * .EXE) sunt foarte periculoși deoarece strică fișierele a căror extensie de nume nu corespunde formatului intern.

Unul dintre cele mai comune exemple de infecție incorectă a fișierelor este COMMAND.COM din Windows95. Acest fișier, de fapt, este un fișier EXE, în plus, are o dimensiune de peste 90K, ceea ce este imposibil pentru un fișier COM. Prin urmare, virușii care disting fișierele COM / EXE după extensia numelui și nu verifică lungimea fișierelor COM infectate (de exemplu, „Junkie”) strică astfel de COMMAND.COM și devine inoperabil.

Deghizarea primitivă

Când un fișier este infectat, virusul poate efectua o serie de acțiuni care maschează și accelerează răspândirea acestuia. Astfel de acțiuni includ procesarea atributului de numai citire, eliminarea acestuia înainte de infectare și restaurarea după. Mulți viruși de fișiere citesc data ultimei modificări a fișierului și o restaurează după infectare. Pentru a ascunde răspândirea lor, unii viruși interceptează o întrerupere a sistemului de operare care apare la accesarea unui disc protejat la scriere (INT 24h) și o procesează singuri.

Viteza de propagare

Vorbind de viruși de fișiere, este necesar să reținem o astfel de caracteristică a acestora, precum viteza lor de răspândire. Cu cât un virus se răspândește mai repede, cu atât este mai probabil să apară un focar al virusului respectiv. Cu cât un virus se răspândește mai lent, cu atât este mai dificil să-l detectezi (cu excepția cazului în care, desigur, acest virus este încă necunoscut programelor antivirus). Conceptele de virus „rapid” și „lent” (Fast infector, Slow infector) sunt mai degrabă relative și sunt folosite doar ca o caracteristică a virusului în descrierea acestuia.

Virușii care nu rezidă în memorie sunt adesea „lenti” - cei mai mulți dintre ei, atunci când sunt lansati, infectează unul sau două sau trei fișiere și nu au timp să inunde computerul înainte de lansarea programului antivirus (sau a unei noi versiuni a antivirusului). -apare virusul configurat pentru acest virus). Există, desigur, viruși „rapidi” non rezidenți în memorie care caută și infectează toate fișierele executabile atunci când sunt lansate, dar astfel de viruși sunt foarte vizibili: atunci când fiecare fișier infectat este lansat, computerul lucrează activ cu hard disk-ul pt. ceva timp (uneori destul de lung), care demascează virusul.

„Viteza” virușilor rezidenți în memorie este de obicei mai mare decât a virușilor care nu sunt rezidenți în memorie - aceștia infectează fișierele ori de câte ori sunt accesați. Ca rezultat, toate sau aproape toate fișierele care sunt utilizate în mod constant în muncă sunt infectate pe disc.

Viteza de propagare a virușilor rezidenți de fișiere care infectează fișierele numai atunci când sunt lansate pentru execuție va fi mai mică decât cea a virușilor care infectează fișierele atunci când sunt deschise, redenumite, modificate atributele fișierului etc. La crearea unei copii în memoria RAM a computerului, mulți viruși încearcă să ocupe zona de memorie cu cele mai mari adrese, distrugând partea temporară a interpretorului de comenzi COMMAND.COM. Când programul infectat se termină, partea temporară a interpretului este restaurată și fișierul COMMAND.COM este deschis și, dacă virusul infectează fișierele când sunt deschise, acesta devine infectat. Astfel, atunci când un astfel de virus este lansat, fișierul COMMAND.COM va fi infectat mai întâi.

Materialele și datele au fost preluate din resurse:
http://www.stopinfection.narod.ru
http://hackers100.narod.ru
http://broxer.narod.ru
http://www.viruslist.com
http://logic-bratsk.ru
http://www.offt.ru
http://www.almanet.info

  • Pentru a posta comentarii, vă rugăm să vă conectați sau să vă înregistrați

După pornirea unui program care conține un virus, devine posibilă infectarea altor fișiere. Cel mai comun virus infectează sectorul de boot al discului și fișierele executabile cu extensiile EXE, COM, SYS sau BAT. Este extrem de rar ca fișierele text și grafice să fie infectate.

Un program infectat este un program care conține un program de virus încorporat în el.

Semne ale unui virus

Când un computer este infectat cu un virus, este foarte important să îl detectăm în timp util. Pentru a face acest lucru, ar trebui să știți despre principalele semne ale manifestării virușilor. Acestea includ următoarele:

Încetarea lucrului sau operarea incorectă a programelor care funcționau anterior cu succes;

Performanță lentă a computerului;

Incapacitatea de a încărca sistemul de operare;

Dispariția fișierelor și directoarelor sau denaturarea conținutului acestora;

Modificarea datei și orei modificării fișierului;

Redimensionarea fișierelor;

O creștere semnificativă neașteptată a numărului de fișiere de pe disc;

O reducere semnificativă a dimensiunii RAM liberă;

Afișarea mesajelor sau imaginilor neintenționate pe ecran;

Transmiterea de semnale sonore neintenționate;

Înghețari și blocări frecvente ale computerului.

Trebuie remarcat faptul că fenomenele de mai sus nu sunt neapărat cauzate de prezența unui virus, ci se pot datora altor cauze. Prin urmare, este întotdeauna dificil să diagnosticați corect starea computerului.

Principalele tipuri de viruși

În prezent, sunt cunoscuți peste 15.000 de viruși software, aceștia pot fi clasificați după următoarele criterii (Fig.11.10):

După habitat;

Prin metoda de infectare;

După gradul de impact;

După caracteristicile algoritmului.

Depinzând de habitat virusurile pot fi separate

În rețea,

Fişier,

Boot

Fișier bootabil.

· Virușii de rețea răspândiți pe diverse rețele de computere.

· Virușii de fișiere sunt introduși în principal în modulele executabile, adică. la fișierele cu extensiile COM și EXE. Virușii de fișiere pot infecta alte tipuri de fișiere, dar, de regulă, înregistrați în astfel de fișiere, nu câștigă niciodată controlul și, prin urmare, își pierd capacitatea de a se replica.

· Virușii de boot sunt introduși în sectorul de pornire al discului (Sectorul de pornire) sau în sectorul care conține programul de pornire pentru discul de sistem (Master Boot Record).

· Virușii de pornire a fișierelor infectează atât fișierele, cât și sectoarele de boot ale discurilor.

Pe cale de infecție virusurile sunt împărțite în

Rezident

Non rezident.

· Un virus rezident în memorie, atunci când infectează (infectează) un computer, își lasă partea rezidentă în RAM, care apoi interceptează accesul sistemului de operare la obiectele infectate (fișiere, sectoare de boot ale discurilor etc.) și se injectează în acestea. . Virușii rezidenți se află în memorie și rămân activi până când computerul este oprit sau repornit.

· Serverele nerezidente nu infectează memoria computerului și sunt active pentru o perioadă limitată de timp.

În funcție de gradul de impact, virușii pot fi împărțiți în următoarele tipuri:

nepericuloase, nu interferați cu funcționarea computerului, ci reduceți cantitatea de RAM și memorie liberă de pe discuri, acțiunile unor astfel de viruși se manifestă în orice efecte grafice sau sonore;

virusuri periculoase care poate duce la diverse întreruperi în funcționarea computerului;

foarte periculos, al cărui impact poate duce la pierderea de programe, distrugerea datelor, ștergerea informațiilor din zonele de sistem ale discului

După caracteristicile algoritmului virusurile sunt greu de clasificat datorită varietății lor mari.

Poate fi remarcat virusuri replicatoare numite viermi, care se răspândesc în rețele de calculatoare, calculează adresele computerelor din rețea și își scriu copii la aceste adrese.

Cunoscut viruși ascunși numiți viruși trepți, care sunt foarte greu de detectat și neutralizat, deoarece interceptează apelurile sistemului de operare către fișiere și sectoare de disc infectate și înlocuiesc zonele de disc neinfectate în locul corpului lor.

Cel mai greu de găsit virusuri mutante care conțin algoritmi de criptare-decriptare, datorită cărora copiile aceluiași virus nu au un singur șir de octeți repetat.

Există, de asemenea, așa-numitele programe cvasi-virus sau „troiene”., care, deși nu sunt capabile de autopropagare, sunt foarte periculoase, deoarece, deghându-se în program util, distrug sectorul de boot și sistemul de fișiere al discurilor.

Programe de detectare și protecție a virușilor

Caracteristicile programelor antivirus

Pentru a detecta, elimina și proteja împotriva virușilor informatici, au fost dezvoltate mai multe tipuri de programe speciale care vă permit să detectați și să distrugeți virușii. Astfel de programe se numesc programe antivirus.

Există următoarele tipuri de programe antivirus:

· Programe-detectoare;

· Programe-medici sau fagi;

· Programe-auditori;

· Programe de filtrare;

· Programe de vaccinare sau imunizatoare.

Programe detectoare căutați o secvență de octeți (semnătură de virus) caracteristică unui anumit virus în RAM și în fișiere și, după detectare, emiteți un mesaj corespunzător. Dezavantajul unor astfel de programe antivirus se manifestă este că pot găsi doar viruși care sunt cunoscuți de dezvoltatorii unor astfel de programe.

Programe medicale sau fagi - conceput pentru a vindeca unitățile și programele infectate. Tratamentul programului constă în îndepărtarea corpului virusului din programul infectat. Polifagul este capabil să distrugă mulți viruși. Cele mai cunoscute sunt Aidstest, Norton AntiVirus și Doctor Web.

programe de auditor: conceput pentru a detecta infecția cu virusuri a fișierelor, precum și pentru a găsi fișiere deteriorate. Aceste programe rețin date despre starea programului și zonele de sistem ale discurilor în stare normală (înainte de infectare) și compară aceste date în timp ce computerul rulează. În caz de inconsecvență a datelor, este afișat un mesaj despre posibilitatea de infectare;

programe de filtrare sau stocări sunt concepute pentru a intercepta apelurile către sistemul de operare, care sunt utilizate de viruși pentru propagare și pentru a informa utilizatorul despre aceasta. Utilizatorul poate activa sau dezactiva operația corespunzătoare. Astfel de programe sunt rezidente, adică sunt localizate în memoria RAM a computerului.

programe de vaccinare: sunt folosite pentru a procesa fișiere și sectoare de boot pentru a preveni infectarea cu viruși cunoscuți (recent această metodă a fost folosită din ce în ce mai des).

Vaccinuri sau imunizatoare sunt programe TSR care previn infectarea fișierelor. Vaccinurile sunt folosite dacă nu există programe medicale care „vindecă” acest virus. Vaccinarea este posibilă numai împotriva virusurilor cunoscute. Vaccinul modifică programul sau discul în așa fel încât să nu le afecteze activitatea, iar virusul îi va percepe ca fiind infectați și, prin urmare, nu va fi introdus. Programele de vaccinare sunt în prezent de utilizare limitată.

Trebuie remarcat faptul că alegerea unui „cel mai bun” antivirus este o decizie extrem de eronată. Se recomandă utilizarea mai multor pachete antivirus diferite în același timp. Atunci când alegeți un program antivirus, ar trebui să acordați atenție unui astfel de parametru, cum ar fi numărul de semnături de recunoaștere (o secvență de caractere care garantează recunoașterea unui virus). Al doilea parametru este prezența unui analizor euristic pentru viruși necunoscuți, prezența acestuia este foarte utilă, dar încetinește semnificativ timpul de funcționare a programului. Astăzi există o mare varietate de programe antivirus.

Unul dintre cele mai bune antivirusuri cu un algoritm puternic de detectare a virușilor. Polifagul, care poate scana fișiere din arhive, documente Word și registre de lucru Excel, detectează viruși polimorfi care au devenit recent mai răspândiți. Este suficient să spunem că epidemia virusului foarte periculos OneHalf a fost oprită de DrWeb. Analizorul euristic DrWeb, care examinează programele pentru prezența fragmentelor de cod tipice pentru viruși, permite găsirea a aproape 90% dintre virușii necunoscuți. La încărcarea unui program, în primul rând, DrWeb se verifică integritatea, după care testează RAM. Programul poate funcționa în modul de dialog, are o interfață de utilizator personalizabilă convenabilă.

Antivirus-auditor ADINF (Avanced DiskINFoscope) vă permite să găsiți și să distrugeți atât virușii convenționali, stealth-și polimorfi existenți, cât și pe cei noi. Antivirusul are la dispoziție o unitate de vindecare a auditorului ADINF - Adinf Cure Module - care poate neutraliza până la 97% din toți virușii. Această cifră este dată de „Dialogue Science”, pe baza rezultatelor testelor, care au avut loc pe colecțiile de viruși a două autorități recunoscute în acest domeniu - D. N. Lozinsky și Dr. Solomon "s (Marea Britanie).

ADINF se încarcă automat când computerul este pornit și monitorizează sectorul de boot și fișierele de pe disc (data și ora creării, lungime, sumă de control), afișând mesaje despre modificările acestora. Datorită faptului că ADINF efectuează operațiuni pe disc ocolind sistemul de operare, referindu-se la funcțiile BIOS, se obține nu numai capacitatea de a detecta virușii stealth activi, ci și o viteză mare de verificare a discului. Dacă este găsit un virus de boot, atunci ADINF va restaura pur și simplu sectorul de boot anterior care este stocat în tabelul său. Dacă virusul este un virus de fișier, atunci vine în ajutor blocul de vindecare Adinf Cure Module, care, pe baza raportului modulului principal privind fișierele infectate, compară noii parametri de fișier cu cei anteriori stocați în tabele speciale. Dacă sunt detectate discrepanțe, ADINF restabilește starea anterioară a fișierului, în loc să distrugă corpul virusului, așa cum fac polifagii.

Antivirus AVP (Program AntiVirus) se referă la polifagi, în acest proces verifică memoria RAM, fișierele, inclusiv cele arhivate, pe unități de dischete, locale, de rețea și CD-ROM, precum și structurile de date ale sistemului precum sectorul de boot, tabelul de partiții , etc etc. Programul are un analizor euristic, care, potrivit dezvoltatorilor de antivirus, este capabil să găsească aproape 80% din toți virușii. AVP este o aplicație pe 32 de biți pentru sistemele de operare Windows 98, NT și 2000, are o interfață ușor de utilizat, precum și una dintre cele mai mari baze de date antivirus din lume. Bazele de date antivirus pentru AVP sunt actualizate aproximativ o dată pe săptămână și pot fi obținute de pe Internet. Acest program caută și elimină o mare varietate de viruși, inclusiv:

  • viruși polimorfi sau cu auto-criptare;
  • viruși stealth sau viruși invizibili;
  • viruși noi pentru Windows;
  • macrovirusuri care infectează documentele Word și foile de calcul Excel.

În plus, programul AVP monitorizează operațiunile cu fișierele din sistem în fundal, detectează un virus înainte ca acesta să infecteze efectiv sistemul și detectează, de asemenea, viruși necunoscuți folosind un modul euristic.

Top articole similare