Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Koji kompjuterski virusi postoje? Metode borbe? Karakteristike kompjuterskih virusa. Provjera statusa FAT sistema datoteka

Koji kompjuterski virusi postoje? Metode borbe? Karakteristike kompjuterskih virusa. Provjera statusa FAT sistema datoteka

KOMPJUTERSKI VIRUSI


I oštećene i zaražene datoteke
Klasifikacija virusa PREVENCIJA I KONTROLA KOMPJUTERSKIH VIRUSA

UVOD

Trenutno su mnoga područja ljudske aktivnosti povezana s korištenjem računara. Zašto su ove elektronske mašine tako čvrsto ugrađene u naše živote? Sve je prilično trivijalno. Oni obavljaju rutinski proračunski i projektantski rad, oslobađajući naš mozak za potrebnije i odgovornije zadatke. Kao rezultat toga, umor se naglo smanjuje i počinjemo raditi mnogo produktivnije nego bez korištenja računala.
Mogućnosti savremenih računara zadivljuju najbogatiju maštu. Oni su u stanju da obavljaju nekoliko zadataka paralelno, čija je složenost prilično visoka. Stoga neki proizvođači razmišljaju o stvaranju umjetne inteligencije. A sada rad kompjutera čoveku liči na rad inteligentnog elektronskog pomoćnika.
Ali ko bi rekao da ovo elektronsko čudo tehnologije karakterišu bolesti slične ljudskim. Njega, kao i čovjeka, može napasti "virus" ali kompjuterski. A ako ne preduzmete nešto, kompjuter će se uskoro "razboljeti" tj. će početi izvoditi pogrešne radnje ili čak "umrijeti", tj. šteta uzrokovana "virusom" bit će vrlo ozbiljna. Što su kompjuterski virusi i kako se nositi s njima bit će riječi dalje.

KOMPJUTERSKI VIRUSI

Šta je kompjuterski virus?

Do danas postoji nekoliko glavnih vrsta zlonamjernog softvera:
- klasični kompjuterski virus;
- trojanski ili trojanski konj (troj);
- crv (crv);
- špijun ili špijun, keylogger
-rootkick;
- bot ili zombi.

Svojevremeno su najveću rasprostranjenost imali klasični virusi – ali su njihovi kreatori rijetko postavljali konkretan cilj da naškode krajnjem korisniku, već su kreirani iz obrazovne svrhe. Današnji pisci virusa slijede apsolutno jasne i razumljive ciljeve - novac, a njihova "djeca" su postala mnogo opasnija od svojih prethodnika. Dozvolite mi da vam predstavim najopasnije grabežljivce današnjeg informacionog prostora - to su trojanci i crvi.
Trojanac ili troj je dobio ime po sličnosti između metode zaraze i poznatog taktičkog poteza tokom opsade Troje. Primer trojanske infekcije - dobijate pismo od izvesnog "poznanika" sa tekstom: - "Zdravo! Upravo sam se vratio sa mora - tako sam se lepo odmorio! Evo mojih slika - pogledajte.", i u prilogu datoteke sa ekstenzijom ".JPG". Te iste datoteke su trojanski konj u čijoj se dubini krije zlonamjerni kod. Najčešći izvori zaraze su e-pošta, stranice za upoznavanje, muzičke stranice i stranice sa besplatnim softverom. Šta radi "trojanac"? Po pravilu, njegov zadatak je da otvori put drugim virusima, da djeluje kao prva odskočna daska. Kako izbjeći infekciju "trojancem"? Ovdje je sve kao u životu - zaštitite se i izbjegavajte neobavezne veze =). Ovo pravilo vrijedi za sve viruse i drugi zlonamjerni softver. Ako vam je poslat e-mail - prije nego pogledate priloge, provjerite pošiljaoca, spremite prilog na računar i provjerite ga antivirusom, pa ga tek onda otvorite.

Worm ili Worm - karakteristika ovih programa u evoluciji i autonomiji. Kada crv uđe u računar, obično napada mail programe i internet pejdžere. Nakon što dobije pristup mejlu ili pejdžeru, počinje da šalje pisma/poruke koje sadrže modifikovanu verziju njega samog. Nakon toga se ili samouništava ili inficira izvršne datoteke (EXE, COM, BAT). Budući da se virus sam mijenja, on je neranjiv dok se ne otkrije u bazi podataka vašeg antivirusa. Zato je danas licencirani antivirus hitna potreba svakog vlasnika računara.

Kompjuterski virus je posebno napisan mali program koji se može "pripisati" drugim programima (tj. "inficirati" ih), kao i izvršiti razne neželjene radnje na računaru. Program koji sadrži virus naziva se zaražen. Kada se takav program pokrene, virus prvo preuzima kontrolu. Virus pronalazi i "inficira" druge programe, a izvodi i neke štetne radnje (na primjer, kvari datoteke ili tablicu dodjele datoteka (FAT) na disku, "začepi" RAM itd.). Da bi se prikrio virus, radnje za zarazu drugih programa i nanošenje štete ne moraju se uvijek izvoditi, ali, recimo, pod određenim uvjetima. Nakon što virus izvrši radnje koje su mu potrebne, on prenosi kontrolu na program u kojem se nalazi i radi kao i obično. Stoga, spolja, rad zaraženog programa izgleda isto kao i rad nezaraženog programa.
Mnoge vrste virusa su dizajnirane tako da kada se pokrene zaraženi program, virus ostaje u memoriji računara i s vremena na vreme inficira programe i izvršava neželjene radnje na računaru.
Sve radnje virusa mogu se izvršiti vrlo brzo i bez izdavanja ikakvih poruka, za ovog korisnika je veoma teško, gotovo nemoguće, utvrditi da se na računaru dešava nešto neobično.
Sve dok je relativno mali broj programa zaražen na računaru, prisustvo virusa može biti gotovo nevidljivo. Međutim, nakon nekog vremena, nešto čudno počinje da se dešava na računaru, na primer:
- neki programi prestaju da rade ili počnu da rade pogrešno;
- na ekranu se prikazuju strane poruke, simboli itd.;
- rad na računaru se značajno usporava;
- neki fajlovi su oštećeni, itd.
Do ovog trenutka, u pravilu, dosta (ili čak većina) tehničkih programa s kojima radite je zaraženo virusom, a neke datoteke i diskovi su oštećeni. Štaviše, zaraženi programi sa vašeg računara možda su već prebačeni pomoću disketa ili lokalne mreže na računare vaših kolega i prijatelja.
Neki virusi su veoma podmukli. U početku neprimjetno zaraze veliki broj programa i diskova, a zatim uzrokuju vrlo ozbiljnu štetu, na primjer, formatiraju cijeli tvrdi disk na računalu, naravno nakon toga je jednostavno nemoguće oporaviti podatke. A postoje i virusi koji se ponašaju vrlo tajno i postepeno kvare podatke na tvrdom disku ili pomjeraju tablicu dodjele datoteka (FAT).
Stoga, ako ne preduzmete mjere zaštite od virusa, posljedice infekcije mogu biti vrlo ozbiljne. Na primjer, početkom 1989 Virus, koji je napisao američki student Morris, zarazio je i onesposobio hiljade računara, uključujući i one koji pripadaju američkom Ministarstvu odbrane. Autora virusa sud je osudio na tri mjeseca zatvora i novčanu kaznu od 270 hiljada dolara. Kazna je mogla biti i stroža, ali je sud uzeo u obzir da virus nije pokvario podatke, već se samo umnožio.
Da bi virusni program bio nevidljiv, mora biti mali. Stoga se virusi obično pišu na asemblerskim jezicima niskog nivoa ili na komandama jezika C niskog nivoa.
Viruse pišu iskusni programeri ili studenti jednostavno iz radoznalosti ili da bi se osvetili nekome ili preduzeću koje ih je tretiralo na nedostojan način ili u komercijalne ili usmjerene sabotažne svrhe. Bez obzira na ciljeve autora, virus može završiti na vašem računalu i pokušati izvršiti iste štetne radnje kao i one za koje je stvoren.
Treba napomenuti da pisanje virusa nije tako težak zadatak, sasvim dostupan studentu programiranja. Stoga se svake sedmice u svijetu pojavljuje sve više novih virusa. I mnoge od njih se proizvode u našoj zemlji.

Oštećeni i zaraženi fajlovi

Kompjuterski virus može upropastiti, tj. modificirati neprikladno bilo koju datoteku na diskovima dostupnim na računaru. Ali virus može "zaraziti" neke vrste datoteka. To znači da se virus može "ubaciti" u ove datoteke, tj. modificirati ih tako da sadrže virus koji pod određenim okolnostima može početi djelovati.
Treba napomenuti da tekstovi programa i dokumenata, datoteke sa informacijama baze podataka, tabele sa tabelama i druge slične datoteke ne mogu biti zaražene uobičajenim virusom, on ih može samo pokvariti. Infekciju ovakvih datoteka vrše samo Makro-virusi. Ovi virusi mogu čak zaraziti i vaše dokumente.
Učitavač operativnog sistema i glavni zapis za pokretanje sa hard diska. Virusi koji inficiraju ova područja nazivaju se boot ili BOOT virusi. Takav virus počinje svoj rad pri početnom pokretanju računara i postaje rezidentni, tj. trajno se nalazi u memoriji računara. Mehanizam distribucije je infekcija boot zapisa umetnutih u diskete računara. Često se takvi virusi sastoje iz dva dijela, budući da je boot zapis mali i teško je u njih smjestiti cijeli virusni program. Dio virusa se nalazi u drugom dijelu diska, na primjer, na kraju korijenskog direktorija diska ili u klasteru u podatkovnom području diska (obično se takav klaster proglašava neispravnim kako bi se spriječiti prepisivanje virusa kada se podaci upisuju).
Datoteke upravljačkih programa uređaja navedene u klauzuli DEVICE datoteke CONFIG.SYS. Virus koji se nalazi u njima počinje sa radom svaki put kada se pristupi odgovarajućem uređaju. Virusi koji inficiraju drajvere uređaja su veoma retki jer se drajveri retko kopiraju sa jednog računara na drugi. Isto važi i za DOS sistemske fajlove (MSDOS.SYS i IO.SYS) – njihova infekcija je takođe teoretski moguća, ali neefikasna za širenje virusa.

Po pravilu, svaka specifična vrsta virusa može zaraziti samo jednu ili dvije vrste datoteka. Najčešće postoje virusi koji inficiraju izvršne datoteke. Na drugom mjestu po učestalosti su boot virusi. Neki virusi inficiraju i datoteke i područja za pokretanje diska. Virusi koji inficiraju drajvere uređaja su izuzetno rijetki, obično takvi virusi mogu zaraziti i izvršne datoteke.

Klasifikacija virusa

Virusi se mogu podijeliti u klase prema različitim kriterijima. Evo, na primjer, na osnovu izdaje:

Virusi koji trenutno inficiraju računar formatiraju čvrsti disk, oštećuju tabelu alokacije datoteka, oštećuju sektore za pokretanje, brišu takozvani Flash ROM (gde se nalazi BIOS) računara (černobil virus), drugim rečima, uzrokuju nepopravljivu štetu na računar što je brže moguće. Ovo uključuje i rezultate pritužbi programera koji pišu viruse protiv antivirusnih programa. To se odnosi na takozvane alergije na određene antivirusne programe. Ovi virusi su prilično podmukli. Evo, na primjer, alergija na Dr.Weber pri pozivanju ovog programa, bez oklijevanja blokira antivirus, pokvari sve što se nalazi u direktoriju sa antivirusom i C: WINDOWS. Kao rezultat toga, morate ponovo instalirati operativni sistem, a zatim se boriti protiv virusa drugim sredstvima.
- virusi dizajnirani za dug život u računaru. Oni postepeno i pažljivo inficiraju program za programom bez reklamiranja svog prisustva i zamjenjuju početna područja programa vezama do mjesta gdje se nalazi tijelo virusa. Osim toga, unose promjenu u strukturu diska koja je neprimjetna za korisnika, što će se osjetiti tek kada su neki podaci već beznadežno izgubljeni (na primjer, virus "OneHalf-3544", "Yankey-2C").
Na osnovu načina prenošenja i reprodukcije može se napraviti i podjela.
Ranije su virusi uglavnom pogađali samo izvršne datoteke (sa ekstenzijama .com i .exe). Zaista, virus je program i mora se izvršiti.
Sada se virusi šalju e-poštom kao demo programi ili kao slike, na primjer, ako ste e-poštom dobili datoteku "PicturesForYou.jpg", nemojte žuriti da je pogledate, pogotovo jer je došla niotkuda. Ako bolje pogledate ime, ispada da ima još 42 razmaka i važeću ekstenziju .exe. Odnosno, stvarno puno ime datoteke će biti:
"PicturesForYou.jpg .exe". Sada svako razumije šta ova slika zapravo nosi. Ovo nije slikovna datoteka koju pregledač slika poziva kada se aktivira, već drski, pomalo prikriveni virus koji samo čeka da se aktivira klikom miša ili pritiskom na tipku. Vi sami preuzimate takav virus na svoj kompjuter, ispod ljuske neke slike, kao "trojanski konj". Otuda i sleng naziv za takve viruse kao što su "trojanci".
Trenutno postoje takve ljuske informativnih kanala kao što su Internet Explorer, Outlook Express, Microsoft Office. Sada se pojavilo nekoliko klasa takozvanih "makro-virusa". Oni sadrže skrivene komande za ove ljuske koje su nepoželjne za prosječnog korisnika. I ovaj kod više nije kod za kompjuter, odnosno više nije program, već tekst programa koji izvršava ljuska. Dakle, može se napisati u bilo kojem traženom formatu: .html, .htm - za Internet Explorer, .doc, .xls, .xlw, .txt, .prt, ili bilo koji drugi - za Microsoft Office, itd. Takvi virusi uzrokuju štetu samo određene prirode, jer ljuska nema komande, na primjer, za formatiranje tvrdog diska. Ali ipak, ova vrsta virusa zaslužuje pažnju, jer uz pomoć skrivenih hiperlinkova može samostalno preuzeti tijelo virusa sa interneta na vaš računar, a neki virusi mogu se ažurirati i djelomično preuzimati putem interneta sa određenih servera. . Na primjer, jedan od japanskih studenata razvio je upravo takav virus koji povezuje mali "loader" sa bilo kojim formatom ulaznih podataka sa Interneta. Nadalje, ovaj učitavač samostalno preuzima tijelo virusa sa Interneta sa servera sa Babilon5 IP adresom. Postoje četiri ova tijela. Svaki od njih može sam da uništi vaš računar, ali ima određenu svrhu. Ovaj tip virusa je hibrid između makro virusa i običnih virusa. Ali treba napomenuti da su hibridi najžilaviji, najlukaviji, opasniji i najbrojniji među virusima. Nedavno je došlo do skandala oko programera koji je, prema riječima stručnjaka, stvorio i počeo širiti makro virus koji je zarazio tekstualne datoteke za Microsoft Word. Izračunato je na osnovu datuma i vremena kreiranja originalnog dokumenta, koji je pohranjen u nevidljivim dijelovima .doc datoteka. Moguće je da je fajl kreirala druga osoba pre nego što mu je virus prikačen, tada ostaje otvoreno pitanje napadača. Ali stručnjaci kažu da je to on.
Na primjer, virus Win32.HLLM.Klez. jedna od varijanti opasnog mrežnog crva se distribuira slanjem svojih kopija putem e-pošte. Osim toga, ovaj crv se može širiti preko lokalne mreže, inficirajući računare na čijim diskovima se može pisati zajednički mrežni resursi. Jednom u sistemu, crv se šalje na adrese koje se nalaze u Windows adresaru, u ICQ bazi podataka i u lokalnim datotekama. Zaražene e-poruke koje šalje ovaj crv koriste jednu od relativno dugo poznatih grešaka u sigurnosnom sistemu Internet Explorer-a, koja omogućava da se programska datoteka (sa virusom) prikačena uz e-poštu automatski pokrene kada jednostavno pregledate poštu u Outlook-u i Outlook Express-u.
Pokušajmo razmotriti metode maskiranja i zaštite koje koriste virusi protiv nas običnih korisnika i antivirusnih programa.
Perfidnost je glavni i najbrži način za izvođenje prljavih trikova prije nego što bude otkriven. Černobilski virus, na primjer, potpuno briše BIOS (program za pokretanje koji se nalazi u ROM čipu koji osigurava rad računara). Nakon ovoga, računar neće moći da prikaže ništa. Ali njegov rad se lako blokira ako je unutar računara instaliran prekidač koji zabranjuje upisivanje u ROM područje. Dakle, bio je to prvi, ali i, kako mislim, posljednji predstavnik hardverskih virusa.
Regenerativni virusi dijele svoje tijelo na nekoliko dijelova i pohranjuju ih na različitim mjestima na tvrdom disku. U skladu s tim, ovi dijelovi su u stanju da se samostalno pronalaze i sastavljaju kako bi regenerirali tijelo virusa. Antivirusni program otkriva i ubija samo tijelo virusa, a dijelovi ovog tijela nisu uključeni u antivirusnu bazu podataka jer se mijenjaju. Ciljano nisko formatiranje tvrdog diska pomaže protiv takvih virusa. Moraju se poduzeti mjere opreza kako bi se informacije sačuvale.
Lukavi virusi se kriju ne samo od nas, već i od antivirusnih programa. Ovi "kameleoni" se sami mijenjaju uz pomoć najlukavijih i najzamršenijih operacija, koristeći i trenutne podatke (vrijeme kreiranja datoteke) i koristeći gotovo polovinu cjelokupnog skupa instrukcija procesora. U određenom trenutku, naravno, prema lukavom algoritmu, oni se pretvaraju u podli virus i počinju da se bave našim računarom. Ovo je najteža vrsta virusa za otkrivanje, ali neki antivirusni programi, kao što je "Dr.Weber", mogu otkriti i neutralizirati slične viruse pomoću takozvane heurističke analize.
"Nevidljivi" virusi koriste takozvanu "Stelth" metodu kako bi spriječili njihovo otkrivanje. Sastoji se u tome da virus, koji se nalazi u memoriji, presreće DOS pozive (a samim tim i aplikativne programe) zaraženim datotekama i diskovnim područjima i izdaje ih u njihovom originalnom (neinficiranom) obliku. Naravno, ovaj efekat se primećuje samo na zaraženom računaru - na "čistom" računaru se lako mogu otkriti promene u datotekama i oblastima za pokretanje diska. Ali neki antivirusni programi mogu otkriti "nevidljive" viruse čak i na zaraženim računarima.
Mrežni crv Randon pojavio se u martu 2003. Širi se preko IRC kanala i lokalnih mrežnih resursa i inficira računare koji koriste Windows2000 i Windows XP operativne sisteme. Da bi ušao u računar, povezuje se na lokalnu mrežu ili IRC server, skenira korisnike koji se nalaze na njemu, uspostavlja vezu sa njima na portu 445 i pokušava da pogodi lozinku sa ugrađene liste najčešće korišćenih fraza. Ako je sistem uspješno kompromitovan, Random mu šalje Apher Trojan, koji zauzvrat preuzima preostale komponente crva sa udaljene web stranice. Nakon toga, "Randon" instalira svoje komponente u Windows sistemski direktorij, registruje svoj glavni fajl. Da bi sakrio svoje prisustvo u memoriji, koristi poseban uslužni program HideWindows, koji je takođe komponenta crva. Zahvaljujući njoj, ispada da je nevidljiv za korisnika, tako da se aktivni Randon proces može otkriti samo u Windows Task Manageru. Njegove nuspojave su stvaranje velike količine viška prometa na zaraženoj mašini i poplava IRC kanala.
Prema Kaspersky Lab, jedan od vodećih programera antivirusnih programa, predstavlja pregled aktivnosti virusa za mart 2003. (Tabela 2 i Slika 1)

Top 20 najčešćih zlonamjernih programa

Tab. 2
Naziv Udio u ukupnom broju virusnih incidenata (%)
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.Tako 2.62%
6. I-Worm.Tanatos 1,38%
7. makro. Word97.Marker 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.Death 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%
Drugi zlonamjerni softver* 26,33%

*nije uključeno u 20 najčešćih

PREVENCIJA I BORBA PROTIV KOMPJUTERSKIH VIRUSA

Osnovne metode zaštite od kompjuterskih virusa

Za zaštitu od virusa možete koristiti:
- Opšta sredstva zaštite informacija, koja su korisna i kao osiguranje od fizičkog oštećenja diskova, nepravilnog rada programa ili pogrešnih radnji korisnika;
- preventivne mjere za smanjenje vjerovatnoće zaraze kompjuterskim virusom;
- specijalizovani programi za zaštitu od virusa.
-Uobičajeni alati za sigurnost informacija korisni su za više od zaštite od virusa. Postoje dvije glavne vrste ovih fondova:
kopiranje informacija - kreiranje kopija datoteka i sistemskih područja diskova;
kontrola pristupa sprječava neovlašteno korištenje informacija, posebno zaštitu od promjena programa i podataka virusima, neispravnim programima i pogrešnim radnjama korisnika.
Unatoč činjenici da su opći alati za sigurnost informacija vrlo važni za zaštitu od kompjuterskih virusa, oni još uvijek nisu dovoljni. Za zaštitu od kompjuterskih virusa potrebno je koristiti specijalizirane programe. Ovi programi se mogu podijeliti u nekoliko tipova:
Detektorski programi vam omogućavaju da otkrijete datoteke zaražene jednim od nekoliko poznatih virusa.
Programi - doktori, odnosno fagi, "liječe viruse" zaražene programe ili diskove, "izgrizaju" tijelo virusa iz zaraženih programa, tj. vraćanje programa u stanje u kojem je bio prije infekcije virusom.
Programi - revizori prvo pamte informacije o stanju programa i sistemskih područja diskova, a zatim upoređuju njihovo stanje sa originalnim. Ukoliko se pronađu neslaganja, korisnik se o tome obavještava.
Doktori - revizori su hibridi revizora i doktora, tj. programi koji ne samo da otkrivaju promjene u datotekama i sistemskim područjima diskova, već ih također mogu automatski vratiti u prvobitno stanje.
Programi za filtriranje nalaze se u RAM-u računara i presreću one pozive operativnom sistemu koje koriste virusi za reprodukciju i nanošenje štete i prijavljuju ih korisniku. Korisnik može omogućiti ili onemogućiti odgovarajuću operaciju.
Programi - vakcine, odnosno imunizatori, modificiraju programe i diskove na način da to ne utiče na rad programa, ali virus protiv kojeg se vrši vakcinacija smatra te programe i diskove već zaraženim. Ovi programi su veoma neefikasni i ne razmatraju se dalje.
Nažalost, nijedan tip antivirusnog softvera ne pruža potpunu zaštitu od kompjuterskih virusa. Stoga je najbolja strategija zaštite od virusa odbrana na više nivoa, "slojevita". Hajde da opišemo strukturu ove odbrane.
Sredstva za izviđanje u "obrani" od virusa odgovaraju programima - detektorima koji vam omogućavaju da provjerite novoprimljeni softver na prisustvo virusa.
Na čelu odbrane su filterski programi (rezidentni programi za zaštitu od virusa). Ovi programi mogu biti prvi koji će prijaviti napad virusa i spriječiti infekciju programa i diska.
Drugi ešalon odbrane čine programski revizori, programi doktori i doktori revizori. Revizori otkrivaju napad čak i kada je virus uspio da "procuri" kroz prvu liniju odbrane. Doktorski programi se koriste za vraćanje zaraženih programa ako u arhivi nema njihovih kopija. Ali ne rade uvijek pravu stvar. Doktori-revizori otkrivaju virusni napad i liječe viruse – zaražene datoteke, te kontroliraju ispravnost tretmana virusa, a ukoliko je nemoguće liječiti viruse, svakako preporučuju uklanjanje virusa (zaraženih datoteka).
Najdublji sloj odbrane su sredstva kontrole pristupa. Ne dozvoljavaju da virusi i programi koji se loše ponašaju, čak i ako su ušli u računar, pokvare važne podatke.
I, konačno, u "strateškoj rezervi" nalaze se arhivske kopije informacija i "referentne" diskete sa softverskim proizvodima. Oni vam omogućavaju da povratite informacije ako su oštećene na tvrdom disku.

Programi - detektori i doktori

U većini slučajeva, da biste otkrili virus koji je zarazio računar, možete pronaći već razvijene detektorske programe. Ovi programi provjeravaju da li datoteke na disku koje je odredio korisnik sadrže kombinaciju bajtova specifičnih za dati virus. Kada se pronađe u bilo kojoj datoteci, na ekranu se prikazuje odgovarajuća poruka. Mnogi detektori imaju način liječenja virusa ili uklanjanje virusa.
Treba napomenuti da program detektor može otkriti samo one viruse koji su mu poznati (odnosno, uključeni su u antivirusnu bazu podataka ovog programa).
Jedan takav program je KIS Kaspersky.
Sve u njemu ima zgodan i razumljiv interfejs. Program je dizajniran za operativni sistem Windows XP i Windows Vista, što mu omogućava da radi paralelno sa drugim aplikacijama. Kaspersky Lab je ruski lider u razvoju antivirusnih sigurnosnih sistema.
Tu je i AVAST.
Ovo su zaštitnici vašeg kompjutera dokazani u radu - tretman većine virusa i uklanjanje virusa u slučaju njihove kritične opasnosti ili neizlječivosti.
Većina detektorskih programa ima i funkciju "doktora", tj. pokušavaju da vrate zaražene datoteke i područja diska u prvobitno stanje - da tretiraju viruse. One datoteke koje se ne mogu izliječiti obično se čine neoperativnim ili brišu.

Prevencija protiv infekcije virusom

Pogledajmo neke mjere koje mogu smanjiti vjerovatnoću da se računar zarazi virusom, kao i minimiziraju štetu od infekcije virusom ako do nje dođe.
1. Bilo bi lijepo imati i po potrebi ažurirati arhivske i referentne kopije korištenog softvera i paketa podataka. Prije arhiviranja podataka preporučljivo je provjeriti ih na prisustvo virusa.
2. Takođe je preporučljivo kopirati servisne informacije vašeg diska (FAT, sektori za pokretanje) i CMOS (nehlapljiva memorija računara) na diskete. Kopiranje i vraćanje takvih informacija može se obaviti pomoću programa Norton Utilities Rescue.
3. Trebali biste postaviti zaštitu od pisanja na arhivske diskete.
4. Ne bi trebalo da se bavite nelicenciranim i ilegalnim kopiranjem softvera sa drugih računara. Možda imaju virus.
5. Sve podatke koji dolaze spolja treba provjeriti na viruse, posebno datoteke "skinuti" sa interneta.
6. Potrebno je unaprijed pripremiti paket za oporavak na disketama sa zaštitom od pisanja.
7. Za vrijeme normalnog rada, koji nije vezan za vraćanje računara u prethodno stanje, vrijedi onemogućiti pokretanje sa diskete. Ovo će spriječiti infekciju virusom za pokretanje.
8. Koristite programe - filtere za rano otkrivanje virusa.
9. Povremeno provjeravajte disk programima-detektorima ili doktorima-detektorima ili revizorima kako biste otkrili moguće kvarove u odbrani.
10. Ažurirajte bazu podataka antivirusnih programa.
11. Držite sumnjive korisnike podalje od svog računara.

ZAKLJUČAK

U zaključku, želio bih upozoriti na previše revnu borbu protiv kompjuterskih virusa. Svakodnevno potpuno skeniranje vašeg tvrdog diska na viruse također nije sjajan korak u sprječavanju infekcija. Jedini civilizovan način zaštite od virusa vidim u poštovanju preventivnih mera predostrožnosti pri radu na računaru. I također morate pribjeći pomoći stručnjaka da se nosite s kompjuterskim virusom. Osim toga, čak i ako je virus ipak prodro u kompjuter, to nije razlog za paniku.
Često glavni problem interneta nisu virusi i hakeri, već uobičajena pojava kao što je kompjuterska nepismenost. Koristeći analogiju Kasperskog, nepoznavanje pravila puta. Ljudi koji su nedavno naučili kako da primaju i šalju poštu demoniziraju kompjuterske viruse, gotovo ih zamišljajući kao nevidljive crne crve koji puze po žicama. Evo nekoliko jednostavnih pravila, pridržavajući se kojih možete pokušati izbjeći infekciju virusima. Prvo: ne boje se kompjuterskih virusa, svi se liječe. Drugo, postavite Microsoft Outlook da radi u zoni ograničenih lokacija, što će ga spriječiti da automatski izvršava određene programe - osnovni princip širenja kompjuterskih virusa. Treće, ne otvarajte mejlove od sumnjivih primalaca. Četvrto: koristite novi, i što je još važnije, LICENCNI antivirus.

Članak koji trenutno čitate posvećen je problemima oporavka podataka u FAT particijama sistema datoteka koje se nalaze na računarima sa MS-DOS i Microsoft Windows operativnim sistemima različitih verzija. Međutim, informacije koje pruža u vezi BIOS postavki, kao i neke strukture diska, također će biti korisne prilikom vraćanja datoteka na NTFS particije.

U pravilu, pokušaji oporavka podataka na FAT particiji počinju korištenjem automatskih uslužnih programa. U slučajevima kada vam uslužni programi za automatski oporavak ne pomažu, možete pokušati ovaj posao obaviti ručno pomoću uređivača diskova. Međutim, pri tome ćete morati da koristite uređivače diskova i da se bavite unutrašnjim strukturama sistema datoteka.

Pomoći ćemo naprednim korisnicima da provjere i poprave FAT sistem datoteka koristeći Norton Disk Editor i Microsoft Disk Probe. Ovi programi vam omogućavaju pregled i uređivanje sadržaja pojedinačnih sektora diska.

U kritičnim slučajevima, toplo preporučujemo da ne pokušavate samostalno obnavljati, već da kontaktirate uslugu DataRecovery.Ru za pomoć. Ako napravite ozbiljnu grešku tokom procesa oporavka, vaši podaci mogu biti zauvijek izgubljeni. Stoga koristite preporuke navedene u članku, ali na vlastitu odgovornost i rizik!

Provjera statusa FAT sistema datoteka

Koji je najbolji način za početak oporavka podataka?

Vraćanje sistema datoteka mora početi provjerom BIOS postavki, kao i stanja samog sistema datoteka. Može se predložiti sljedeći način djelovanja:

  • provjera postavki BIOS-a;
  • provjera sadržaja glavnog zapisa za pokretanje MBR (Master Boot Record) i zapisa za pokretanje sistema;
  • proučavanje tabele alokacije FAT fajlova;
  • provjera statusa imenika;
  • izdvajanje potrebnih datoteka iz oštećenog sistema datoteka.

Prilikom provjere BIOS postavki obratite pažnju na ključne parametre kao što su tipovi tvrdih diskova instaliranih u računaru, broj staza i sektora po stazi. Ako su ovi parametri pogrešno postavljeni, operativni sistem najvjerovatnije neće uspjeti da se pokrene.

Do uništenja sadržaja nepromjenjive memorije koja pohranjuje postavke BIOS-a može doći, na primjer, kada pokvari baterija koja napaja memoriju ili kao rezultat virusa.

Zatim morate provjeriti sadržaj takozvanog glavnog zapisa za pokretanje MBR (Master Boot Record). Ovaj unos ima program za pokretanje i tabelu particija diska. Bootstrap program je predmet napada virusa za pokretanje i pokretanje datoteka koji ovdje upisuju svoje tijelo. Ako je tabela particija diska oštećena zbog infekcije virusom, kvara hardvera ili softverskog kvara, neki ili svi logički diskovi će biti nedostupni operativnom sistemu.

U sljedećem koraku trebate provjeriti Boot Record koji se nalazi na samom početku logičkog diska (nemojte ga brkati sa MBR-om). Zapis za pokretanje sadrži program za pokretanje operativnog sistema koji se nalazi na logičkom disku, kao i blok parametara BIOS-a koji se zove BPB (BIOS Parameter Block). BPB sadrži važne informacije o logičkom pogonu, kao što je veličina klastera. Ako je BPB oštećen virusom, ili kao rezultat kvara hardvera ili softvera, disk će biti nedostupan operativnom sistemu.

Nakon što provjerite zapis o pokretanju, trebali biste pogledati tablicu dodjele FAT datoteka. Ova tablica sadrži kritične informacije o lokaciji pojedinačnih klastera za sve datoteke snimljene na ovom logičkom disku. Ukupno postoje dvije kopije FAT tabele. Možete koristiti bilo koju kopiju FAT-a za oporavak datoteka.

Sljedeći korak je provjera korijenskih direktorija logičkih pogona, kao i poddirektorija. Ako je potrebno, vratite oštećene unose direktorija koji opisuju datoteke koje su vam potrebne.

U nastavku ćemo detaljno proći kroz svaki od ovih koraka. Usput ćemo pružiti potrebne informacije o najvažnijim internim strukturama FAT sistema datoteka.

Provjera postavki BIOS-a

Kada prvi put pristupite računaru koji je možda zaražen virusom, prvo biste trebali provjeriti postavke BIOS-a pohranjene u nepromjenjivoj CMOS memoriji. Za pregled i promjenu postavki BIOS-a postoji poseban program pod nazivom BIOS Setup.

Način na koji pokrećete BIOS Setup program zavisi od njegovog proizvođača i verzije, međutim, obično se pokreće pritiskom na tastere Delete, F2 ili Alt + Ctrl + Esc tokom početnog testa RAM-a. Preciznije informacije o tome kako pokrenuti ovaj program lako je dobiti iz dokumentacije koju ste dobili uz matičnu ploču vašeg računara.

Isključite napajanje računara ako je bilo uključeno i ponovo ga uključite nakon 20-30 sekundi. Ova procedura garantovano uništava rezidentne viruse koji "prežive" nakon toplog ponovnog pokretanja koristeći kombinaciju tastera Ctrl+Alt+Del.

Kada test memorije počne, pritisnite jedan od gore navedenih tastera da pokrenete program BIOS Setup. Nakon nekog vremena, na ekranu će se pojaviti prozor BIOS Setup. Njegov izgled ovisi o proizvođaču i verziji programa.

Prije svega, trebali biste provjeriti zadane postavke BIOS-a. Obratite posebnu pažnju na tipove i parametre instaliranih hard diskova HD (Hard disk) i tipove flopi disk drajvova FD (Floppy Drive).

Prepišite parametre tvrdog diska kao što su tip, broj cilindara, glava i sektora po stazi. Uporedite ove vrednosti sa podacima o oceni preuzetim iz dokumentacije za čvrsti disk i ispravite ih ako je potrebno.

Vrsta diska i opcije

Ako računar ima instalirane SCSI disk jedinice, tip disk jedinice nije bitan i može se ostaviti neoznačeno. Što se tiče IDE pogona, tip takvih diskova je broj, obično u rasponu vrijednosti od 1 do 47.

Istovremeno, tipovi od 1 do 46 odgovaraju standardnim skupovima parametara za stare diskove malog kapaciteta. Za moderne IDE uređaje tip se automatski odabire ili se specificira tip 47, što vam omogućava da ručno postavite broj cilindara, glava i sektora na jednoj stazi. U svakom slučaju, provjerite parametre prema dokumentaciji koja dolazi s diskom.

Vrlo često, IDE diskovi koriste takozvano adresiranje logičkog bloka LBA (Logical Block Addressing). Ako je LBA režim omogućen, operativnom sistemu se obezbeđuje "virtuelni" disk, koji u poređenju sa pravim diskom ima manje staza, ali više glava. Na primjer, pravi disk može imati 4000 staza i 4 glave, dok "virtualni" disk može imati 1024 staza i 256 glava.

Zašto je ovo potrebno?

Zbog internih ograničenja, operativni sistem MS-DOS ne može da obrađuje staze veće od 1023. Međutim, moderni disk drajvovi imaju značajan kapacitet (reda 20-60 GB ili čak i više), tako da imaju mnogo staza. Drugi operativni sistemi, kao što su IBM OS/2, Microsoft Windows NT/2000, Linux ili Novell NetWare, nemaju ograničenja u broju adresa diska. Umjesto BIOS-a, oni koriste posebne drajvere diska za pristup disku.

Što se tiče MS-DOS-a, bez dodatnih mjera, maksimalna veličina particije diska neće prelaziti 585 MB.

Logičko adresiranje LBA-ova od strane kontrolera diska omogućava MS-DOS-u da rukuje veoma velikim particijama, tako da možete naići na LBA-ove kada istražujete većinu modernih računara.

Tip FD

Takođe obratite pažnju na tip FD (flopi disk ili flopi disk drajv). Ako je FD sa oznakom A: označen kao Nije instaliran ili Onemogućen, nećete moći da pokrenete MS-DOS ili drugi operativni sistem sa diskete.

Napredne opcije BIOS-a

U meniju naprednih BIOS opcija obratite pažnju na redosled pokretanja operativnog sistema. Ako je redosled pokretanja C:, A:, nećete moći da pokrenete operativni sistem sa diskete. Ako je potrebno, promijenite redoslijed pokretanja u A:, C: ili A:, CD-ROM, C:.

Nakon što završite sav rad na računaru, vratite postavku na C:, A:, CD-ROM ili samo C: (ako postoji takva vrijednost u ovoj verziji BIOS-a). U tom slučaju, računalo će biti pouzdano zaštićeno od infekcije virusom za pokretanje putem disketa.

Postavljanje zadanih postavki BIOS-a

Program za podešavanje BIOS-a vam pruža mogućnost postavljanja podrazumevanih postavki BIOS-a.

Međutim, način instalacije ovisi o BIOS-u. Na primjer, program AMI BIOS Setup vam omogućava da učitate dva seta BIOS postavki.

Prvi se učitava kada u glavnom meniju programa izaberete liniju AUTO CONFIGURATION WITH BIOS DEFAULTS. Ovaj skup parametara je dizajniran za rad matične ploče u standardnom načinu rada.

Drugi skup opcija odgovara liniji AUTOMATSKA KONFIGURACIJA SA PODEŠAVANJEM POWER-ON i uglavnom se koristi kada se računar ne pokreće sa prvim setom. U drugom setu postavljaju se konzervativniji parametri (na primjer, keširanje glavne RAM memorije je onemogućeno), što vam ponekad omogućava da pokrenete čak i djelimično neispravan računar.

Analiza glavnog zapisa za pokretanje MBR-a i particione tablice

Kada FDISK prvi put particionira čvrsti disk, on upisuje MBR na početak prvog sektora tvrdog diska (sektor 1, staza 0, glava 0).

Glavni zapis za pokretanje je program koji preuzima kontrolu tokom pokretanja operativnog sistema. Zatim, zapis za pokretanje nastavlja proces pokretanja operativnog sistema.

Nije uvijek lako vizualno razlikovati normalan glavni sektor za pokretanje od oštećenog ili virusom zaraženog sektora. Na sl. Slika 1 prikazuje dump sadržaja sektora sa MBR unosom dobijenim korišćenjem programa Microsoft DiskProbe iz Windows NT Resource Kit. Sličan dump se također može dobiti korištenjem DISKEDIT uređivača diskova iz Norton Utilities paketa.

Rice. 1. Dump MBR sektora

Ponekad virus promijeni samo nekoliko bajtova koji sadrže adresu sektora za pokretanje operativnog sistema, ostavljajući program za pokretanje netaknutim. Takve promjene mogu se otkriti samo rastavljanjem i naknadnom analizom vraćenog izvornog koda programa za pokretanje. U nekim slučajevima, promjene su toliko uočljive da se mogu otkriti "golim okom" jednostavnim gledanjem na listu prvog sektora diska. Naravno, najbolji način za otkrivanje infekcije MBR virusom je provjera pomoću antivirusnog programa.

Drugi važan dio prvog sektora diska je tabela particija diska.

Ima četiri elementa koji opisuju do četiri particije diska. Zadnja dva bajta sektora sadrže vrijednost 0xAA55. Ovo je potpis particione tabele - potpis particione tabele. Ovdje i ispod, sa prefiksom 0x, naznačićemo heksadecimalne vrijednosti, a bez takvog prefiksa decimalne vrijednosti. Također imajte na umu da su bajtovi potpisa obrnutim redoslijedom - bajt sa najnižom vrijednošću je na najnižoj adresi. Ovo je karakteristika Intel procesorske arhitekture.

Particije diska sadrže logičke pogone. Možete kreirati, na primjer, jednu primarnu particiju za disk C: i jednu sekundarnu particiju na kojoj se kreiraju logički diskovi D:, E:, itd.

Program Microsoft Disk Probe vam omogućava da vidite (i uredite) sadržaj tabele particija u formatiranom obliku, kao što je prikazano na Sl. 2.


Rice. 2. Pogledajte sadržaj tablice particija diska

Opis formata tabele particija

Format prvog sektora tvrdog diska može se predstaviti na sljedeći način:

Kao što se vidi iz ove tabele, bajtove sa pomakom od 0 do 0x1BE zauzima glavni zapis za pokretanje, odnosno program. Slijede četiri unosa particione tablice, pri čemu svaki unos zauzima 0x10 bajtova. Nakon tabele, postoje dva bajta oznake particione tabele.

Element tabele particija sadrži informacije o lokaciji i veličini particije u sektorima, kao io svrsi particije. Format elementa tabele sekcija je prikazan u nastavku:

Prvi bajt elementa tabele particija sadrži oznaku aktivne particije. Ako je particija aktivna, operativni sistem će se učitati sa nje. Često disk sadrži nekoliko aktivnih particija koje pripadaju različitim operativnim sistemima u isto vrijeme.

Sljedeća tri bajta definiraju fizičku adresu na disku početnog sektora particije (koji opisuje ovaj element particije).

Bajt na ofsetu 1 sadrži broj glave početnog sektora particije. Dvobajtno polje sa pomakom 2 kodira broj sektora i broj staze prvog sektora particije. U ovom slučaju, bitovi 0...5 ovog polja postavljaju broj sektora, a bitovi 6...15 - broj staze.

Bajt na ofsetu 4 sadrži tip particije, u zavisnosti od tipa operativnog sistema i tipa sistema datoteka.

U nastavku smo naveli neke od najčešćih tipova (ovdje se FAT-12, FAT-16 i FAT-32 odnose na različite modifikacije FAT sistema datoteka, o tome ćemo više govoriti kasnije):

Bajt tabele particija na ofsetu 5 i dvobajtna reč na ofsetu 6 sadrže broj glave, broj sektora i broj staze poslednje particije.

Poslednja dva polja unosa tabele particija duga su 4 bajta i sadrže, respektivno, relativni broj prvog sektora u particiji (tj. relativni broj sektora početka particije) i broj prisutnih sektora u particiji. Upravo ova polja koristi operativni sistem Microsoft Windows NT za izračunavanje lokacije particije.

Zaustavimo se detaljnije na relativnom broju prvog sektora u odjeljku.

Relativna vrijednost broja 0 odgovara stazi 0, glavi 0, sektoru 1. Povećanjem relativnog broja sektora prvo se povećava broj sektora na stazi, zatim broj glave i na kraju broj staze. Znajući broj staze, broj sektora na stazi i broj glave, možete izračunati relativni broj sektora koristeći sljedeću formulu:

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

Ovdje Cyl označava broj staze, Sect je broj sektora na stazi, Head je broj glave.

Poglavlja diska obično počinju parnim brojevima zapisa, osim prvog poglavlja. Ova particija može početi u sektoru 2 nulte staze (glava 0), pošto je prvi sektor diska zauzet glavnim zapisom za pokretanje.

Praćenje liste particija diska

U operativnom sistemu MS-DOS, primarna particija mora biti jednostruka i aktivna, koristi se kao C: disk i sa nje se učitava operativni sistem. U proširenoj particiji, program FDISK kreira logičke pogone D:, E:, itd.

Ako bajt koda particije ima vrijednost 5, tada se sektor koji sadrži tablicu logičkog diska nalazi na početku odgovarajuće particije. Ova tabela je proširenje tabele particija diska koja se nalazi u samom prvom sektoru fizičkog diska.

Tablica logičkog diska ima format sličan tablici particije diska, ali sadrži samo dva unosa.

Jedan od njih ukazuje na prvi sektor logičkog diska, ima vrijednost tipa particije 1 ili 4 (za MS-DOS). Drugi element može imati vrijednost tipa particije 5 (za MS-DOS) ili 0. Ako je ovaj kod 5, tada element ukazuje na sljedeću tabelu logičkog diska. Ako je sistemski kod 0, tada se odgovarajući element ne koristi. Iznad smo dali kodove primarnih i proširenih particija za različite operativne sisteme.

Tako su tabele logičkog diska povezane u listu. Unos tablice particija diska koji odgovara primarnoj particiji ukazuje na početak ove liste.

Za tablicu logičkog pogona, postoji razlika u korištenju graničnih polja logičkog pogona. Ako je particija primarna, ove granice se izračunavaju u odnosu na početak proširene particije. Proširene particije koriste apsolutno adresiranje (u odnosu na fizički početak diska).

Koristeći dugme Sljedeća particija (slika 2) možete vidjeti cijelu listu tabela logičkog diska.

Provjera tabele particija pomoću programa DISKEDIT

Prethodno pomenuti Microsoft Disk Probe program radi samo pod operativnim sistemima Microsoft Windows NT i Microsoft Windows 2000. Što se tiče MS-DOS i Microsoft Windows 95/98, ovdje preporučujemo DISKEDIT editor iz Norton Utilities paketa za analizu strukture diskovnog sistema. Najbolje je ovaj program napisati na sistemsku disketu. Samo pokretanjem sa takve diskete moći ćete da ispitate virusom zaražen ili oštećen sistem datoteka kada se MS-DOS neće pokrenuti sa čvrstog diska.

Nakon što pokrenete DISKEDIT, koristite meni Object. Da započnete, izaberite Vožnja iz ovog menija. Ako fizički čvrsti disk ima zdrave particije na kojima su definirane logičke disk jedinice, na ekranu će se pojaviti lista logičkih pogona.

Ako je sistem datoteka uništen do te mjere da je nemoguće pokrenuti operativni sistem sa diska, a kada se učita sa diskete, nije vidljiv nijedan logički disk, kada odaberete liniju Drive, biti prikazana lista fizičkih diskova (slika 3).


Rice. 3. Odabir fizičkog diska u programu DISKEDIT

Da vidite prvi sektor fizičkog diska koji sadrži glavni zapis za pokretanje sistema i tabelu particija, izaberite fizički disk Hard Disk 1 i kliknite na OK. Nakon toga, sadržaj željenog sektora će se pojaviti na ekranu u obliku dumpa. Sektor ima veličinu od 512 bajtova, tako da njegov sadržaj ne stane na jedan ekran. Možete pritisnuti tipku PgDn i vidjeti drugi dio sektora.

Na šta ovdje treba obratiti pažnju?

Na početku sektora je glavni zapis za pokretanje. Ona je, kao što smo rekli, program. Ako imate dovoljno iskustva, možete ga rastaviti i istražiti. U svakom slučaju treba provjeriti dužinu programa. Ova dužina ne bi trebala biti velika - trebalo bi da ima nula bajtova nakon pokretanja programa prije početka tabele particija. Pored toga, unutar programa za pokretanje treba da postoje poruke Neispravna tabela particija, Greška pri učitavanju operativnog sistema i Nedostaje operativni sistem (za ruske verzije operativnih sistema, ove poruke će biti na ruskom).

Što se tiče drugog dijela prvog sektora tvrdog diska, on bi trebao sadržavati particijsku tablicu diska.

Posljednja dva bajta moraju sadržavati znak tabele particija (potpis) - heksadecimalnu vrijednost 0xAA55.

Možete analizirati tabelu particija diska koristeći gornje informacije o njenom formatu. Podsjetimo da se tabela nalazi u prvom sektoru diska na pomaku 0x1BE. Međutim, mnogo je zgodnije koristiti prikaz formata DISKEDIT editora za analizu ove tabele.

Postavite kursor (pomoću miša ili tastera sa kursorom) na bajt na ofsetu 0x1BE, što odgovara početku tabele particija. Zatim, iz menija Prikaz, izaberite liniju kao particionu tabelu. Na ekranu će se pojaviti formatirana tabela particija diska (slika 4).


Rice. 4. Pogledajte tablicu particija diska

Kolona Sistem prikazuje informacije o tipu particije. Zasnovan je na analizi polja tipa particije pohranjenog u odgovarajućem redu tabele particija. Ako je particija aktivna, kolona za pokretanje za nju sadrži niz Da, ako nije, niz Ne.

Stupci Početna lokacija i Krajnja lokacija u poljima Side, Cylinder i Sector sadrže dekodirane informacije o lokaciji prvog i posljednjeg sektora particije.

Broj relativnog sektora od kojeg sekcija počinje možete saznati iz kolone Relativni sektori, a ukupan broj sektora - u koloni Broj sektora.

Dobivene informacije o granicama particija ima smisla uporediti s parametrima tvrdog diska dobivenim pomoću BIOS Setup programa, jer virusi mogu sakriti svoje tijelo u sektorima diska koji se nalaze na kraju diska i nisu dodijeljeni nijednoj particiji. Međutim, treba imati na umu da moderni disk kontroleri mogu obavljati adresiranje logičkog bloka (LBA mod), što iskrivljuje rezultujuću sliku.

Objasnimo ono što je rečeno na primjeru.

Jedan od naših kompjutera ima disk sa 1057 traka i 16 glava. Svaka traka ima 63 sektora od 512 bajtova. Ukupni prostor na disku je 520 MB. Ovo su parametri koje nam je rekao program za podešavanje BIOS-a.

FDISK je utvrdio da disk ima dvije particije, 300 MB i 219 MB, a disk je 100 posto iskorišten. Istovremeno, program DISKEDIT za ovaj disk pokazuje da se posljednji sektor posljednje particije nalazi na stazi broj 526.

Na prvi pogled ovde nešto nije u redu: BIOS Setup program nam govori da na disku ima 1057 staza i 16 glava, a u tabeli particija za poslednji sektor poslednje particije vidimo potpuno drugačije vrednosti: ovaj sektor je nalazi se na stazi 526, a glavni broj je 31!

Razlog za ovo neslaganje je taj što naš IDE kontroler vrši logičko adresiranje staza i glava, obezbeđujući programe sa "virtuelnim" diskom koji ima manje staza, ali više glava od stvarnog diska.

Pohranjivanje parametara diska i tablice particija diska

Prije nego što nastavite sa istraživanjem sistema datoteka, toplo preporučujemo da snimite parametre diska utvrđene pomoću programa BIOS Setup i sadržaj tabele particija diska. Dobijene vrijednosti samo zapišite na komad papira. Ako tokom popravke slučajno uništite područje podataka BIOS-a ili glavni sektor za pokretanje, lako možete vratiti kritične podatke.

Takođe možete sačuvati sadržaj MBR sektora u datoteku koristeći odgovarajuće funkcije programa DISKEDIT ili Microsoft Disk Probe. Detaljna uputstva su dostupna u dokumentaciji i sistemima pomoći ovih programa. Datoteka mora biti zapisana na disketu ili drugi disk.

Ispitivanje proširene particije diska

Ako je na disku kreirana samo primarna particija, možete nastaviti s analizom logičkog pogona C: i drugih logičkih pogona. Ako postoji proširena particija, morate provjeriti sektor tabele logičkog diska - prvi sektor u proširenoj particiji.

Da vidite ovaj sektor, pokrenite program DISKEDIT, koristite ga da odredite lokaciju proširene particije (broj staze, glave i sektora). Zatim iz menija Objekat izaberite liniju Fizički sektor. Na ekranu će se pojaviti dijaloški okvir Odabir raspona fizičkog sektora, pomoću kojeg možete odabrati jedan ili više sektora za pregled.

Sektor tabele logičkog diska, za razliku od glavnog sektora pokretačkog zapisa, je praktično prazan. Svi bajtovi u njemu od početka do pomaka uključujući 0x1BD moraju sadržavati nultu vrijednost. Zatim, od ofseta 0x1BE, postoji tabela logičkih diskova, koja se sastoji od dva elementa. Na kraju sektora nalazi se potpis koji vam je već poznat - vrijednost 0xAA55.

Struktura elemenata je potpuno slična strukturi elemenata tabele particija, tako da možete koristiti prikaz formata. Da biste to uradili, postavite kursor na bajt na ofsetu 0x1BE, a zatim izaberite liniju kao Particiona tabela iz menija Pogled.

Pohranjivanje sadržaja tablica logičkog pogona

Na isti list papira na koji ste zapisali parametre diska i informacije iz tablice particija diska, zapišite informacije o svim logičkim diskovima dobivenim iz tablica logičkog diska. Ako se sadržaj tablica logičkog diska slučajno uništi, izgubit ćete pristup logičkim diskovima.

Ispitivanje FAT logičkih diskova

Format logičkih diskova koji se nalaze na particijama tvrdog diska potpuno je identičan formatu flopi diskova, tako da će mnogo toga što je ovdje rečeno vrijediti i za flopi diskove.

Na samom početku logičkog diska nalazi se sektor Boot Record (nemojte ga brkati sa MBR sektorom, koji je prvi na fizičkom disku), a moguće i rezervisani sektori.

Nakon sektora Boot Record nalaze se dvije kopije FAT-a (File Allocation Table), o čemu ćemo govoriti kasnije, i korijenski direktorij. Područje podataka, koje zauzima ostatak logičkog pogona, sadrži datoteke i druge direktorije.

Provjera boot sektora

Adresu sektora za pokretanje logičkog diska lako je pronaći u tabeli logičkih diskova. Sektor za pokretanje logičkog diska sadrži program za pokretanje operativnog sistema. Ovaj program se postavlja u RAM pomoću pokretačkog programa koji se nalazi u MBR-u.

Svrha programa koji se nalazi u sektoru za pokretanje logičkog diska je da učita operativni sistem koji se nalazi na ovom logičkom disku.

Dakle, kada se napajanje uključi nakon izvođenja testne procedure, BIOS učitava sadržaj MBR-a u RAM i prenosi kontrolu na njega. Glavni zapis za pokretanje traži tabelu particija diska i pronalazi aktivnu particiju. Ako postoji nekoliko takvih particija, od korisnika se traži da odabere particiju za preuzimanje.

MBR zatim čita sektor za pokretanje sistema za pokretanje logičkog diska koji se nalazi na izabranoj aktivnoj particiji i prenosi kontrolu na program za pokretanje operativnog sistema koji se nalazi u tom sektoru. Ovaj program, zauzvrat, obavlja sav posao učitavanja operativnog sistema u memoriju računara.

Format sektora za pokretanje zavisi od verzije operativnog sistema. Međutim, u svakom slučaju, pored programa za pokretanje operativnog sistema, zapis za pokretanje sadrži parametre koji opisuju karakteristike datog logičkog diska. Svi ovi parametri nalaze se na samom početku sektora, u njegovom takozvanom formatiranom području. Zadnja dva bajta sektora za pokretanje sadrže poznati potpis 0xAA55.

Prije pregleda zapisa o pokretanju, morate koristiti naredbu VER da odredite verziju operativnog sistema instaliranog na računaru. Za verzije MS-DOS-a starije od 4.0, format unosa za pokretanje je sljedeći:

Na samom početku sektora za pokretanje je JMP intra-segment jump instrukcija. Potrebno je zaobići formatiranu sektorsku zonu i prenijeti kontrolu na program za pokretanje koji se nalazi na ofsetu 0x1E.

Operativni sistem ne koristi naziv proizvođača i predstavlja tekstualni niz od 8 bajta.

Na ofsetu 0xB nalazi se blok parametara BIOS-a (BPB). Ovaj blok sadrži neke karakteristike logičkog diska, kao što je broj sektora u jednom klasteru, ukupan broj sektora, itd. Format BPB bloka će biti opisan kasnije.

Polja sektora za pokretanje na pomacima 0x18 i 0x1A sadrže, redom, broj sektora po stazi i broj glava. Polje sa pomakom 0x1C sadrži broj "skrivenih" sektora koji ne pripadaju nijednom logičkom pogonu. Ovi sektori se mogu koristiti za particioniranje fizičkog diska na particije i logičke diskove (mogu sadržavati tablicu particija diska ili tablice logičkog diska).

pristranost,
bajt
veličina,
bajt
Opis
0 3 JMP komanda xxxx (skok na bootloader)
3 8 Naziv i verzija proizvođača operativnog sistema
0xB 25 Extended BPB - prošireni blok parametara BIOS-a
0x24 1 Broj fizičkog uređaja (0 - flopi disk, 0x80 - tvrdi disk)
0x25 1 rezervisano
0x26 1 Vrijednost 0x29 je znak proširenog zapisa za pokretanje Extended BPB
0x27 4 Serijski broj diska (Volume Serial Number), kreiran tokom formatiranja diska
0x2B 11 Oznaka diska (oznaka volumena)
0x36 8 Tekstualni niz "FAT12" ili "FAT16"

Prva dva polja imaju isto značenje kao u unosu za pokretanje starijih verzija MS-DOS-a.

Polje na ofsetu 26h sadrži broj 0x29, što znači da se koristi prošireni format zapisa za pokretanje i, shodno tome, BIOS Extended BPB.

Serijski broj diska se generiše tokom formatiranja diska na osnovu datuma i vremena formatiranja. Stoga svi diskovi i diskete imaju različite serijske brojeve.

Oznaka diska se formira tokom formatiranja i može se promijeniti, na primjer, naredbom LABEL operativnog sistema MS-DOS. U isto vrijeme, oznaka diska se postavlja u korijenski direktorij kao poseban deskriptor. O formatu direktorija i deskriptora, kao i formatu tabele za dodelu FAT fajlova, govorićemo kasnije.

Sada o bloku parametara BIOS BPB i proširenom bloku parametara BIOS Extended BPB.

Za verzije MS-DOS-a starije od 4.0, BPB blok ima sljedeći format:

Prošireni blok parametara BIOS-a sistema datoteka FAT-12 i FAT-16 sastoji se od redovnog BPB bloka i dodatne ekstenzije:

pristranost,
bajt
veličina,
bajt
Opis
0 2
2 1
3 2
5 1 Broj FAT tabela
6 2
8 2 Ukupan broj sektora na mediju za pohranu (pod MS-DOS particijom)
0 Ah 1 Vrsta nosača podataka
0bh 2
0Dh 2
0Fh 2 Broj magnetnih glava
11h 2
13h 2 Broj skrivenih sektora za particiju veću od 32 MB
15h 4

Za diskete i disk, tip medija može poprimiti sljedeće vrijednosti:

Značenje Količina
stranke
Količina
sektori
prečnik,
inches
kapacitet,
KB
0xF0 2 18 3,5 1440
0xF0 2 36 3,5 2880
0xF0 2 15 5,25 1200
0xF8 - - - Hard disk bilo kojeg kapaciteta
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

Što se tiče sistema datoteka FAT-32, format njegovog sektora za pokretanje je sličan upravo opisanom, sa izuzetkom BPB bloka. Veličina ovog bloka je 0x25 bajtova, a format je sljedeći:

pristranost,
bajt
veličina,
bajt
Opis
0 2 Broj bajtova u jednom sektoru diska
2 1 Broj sektora u jednom klasteru
3 2 Broj rezervisanih sektora
5 1 Broj FAT tabela
6 2 Maksimalan broj deskriptora datoteka u korijenskom direktoriju pogona
8 2 Ukupan broj sektora na mediju za pohranu (po particiji)
0xA 1 Vrsta nosača podataka
0xB 2 Broj sektora koje zauzima jedna kopija FAT-a
0xD 2 Broj sektora po stazi
0xF 2 Broj magnetnih glava
0x11 4 Broj skrivenih sektora za particiju koja je manja od 32 MB
0x15 4 Ukupan broj sektora na logičkom disku za particiju veću od 32 MB
0x19 4 Veličina tabele FAT u sektorima
0x1D 2 Prošireni potvrdni okviri
0x1F 2 Verzija sistema datoteka
0x21 4 Broj prvog korijenskog klastera
0x25 2 Sektor koji sadrži različite informacije o sistemu datoteka u cjelini
0x27 2 Broj sektora u kojem se nalazi rezervna kopija sektora za pokretanje
0x29 12 rezervisano

Za formatirani prikaz bloka parametara BPB (ili proširenog bloka parametara BPB, ovisno o verziji MS-DOS-a), zgodno je koristiti program DISKEDIT. U ovom slučaju, unos za pokretanje možete pronaći na dva načina.

Prvo, možete odabrati liniju Boot Record iz menija Object (prethodno odabirom željenog logičkog pogona koristeći Drive liniju istog menija). Odmah ćete se naći u načinu prikaza formata bloka parametara BIOS-a diska koji ste odabrali (slika 5).


Rice. 5. Pogledajte blok postavki BIOS-a

Drugo, ako logički diskovi nisu dostupni, ali ste uspjeli pročitati tabelu particija ili tabelu logičkog diska, možete otići da pogledate zapis za pokretanje tako što ćete navesti njegovu fizičku adresu. Da biste to uradili, iz menija Objekat izaberite red Fizička adresa (kao što je ranije opisano). Dump prvog dijela sektora za pokretanje će se pojaviti na ekranu. Pritiskom na tipku PgDn možete nastaviti s pregledom drugog dijela sektora za pokretanje.

Koristeći kao zapis za pokretanje i kao heksadecimalne linije menija Prikaz, možete se prebaciti na formatirani i neformatirani režim gledanja sektora za pokretanje, respektivno.

Program Microsoft Disk Probe takođe ima slične opcije formatiranja za pregled FAT zapisa pokretanja.

Formiranje pokretačkog zapisa i bloka parametara BIOS-a se dešava kada se formatira logički disk (na primjer, korištenjem naredbe FORMAT). Ako uklonite logički disk koristeći FDISK program, a zatim kreirate novi iste veličine na njegovom mjestu, BPB blok će biti uništen. U tom slučaju, morat ćete ponovo formatirati logički disk.

Blok parametara BIOS-a sadrži kritične informacije, čije uništavanje onemogućava normalan pristup datotekama i direktorijumima koji se nalaze na logičkom disku. Nepažljivo rukovanje sektorom za pokretanje tvrdog diska može dovesti do potrebe za reformatiranjem odgovarajućeg logičkog diska uz potpuni gubitak podataka koji su tamo pohranjeni.

Prije nastavka dalje analize sistema datoteka, korisno je ispisati sadržaj boot sektora svih dostupnih logičkih diskova u formatiranom i neformatiranom obliku, jer blok parametara BIOS-a sadrži informacije potrebne za pretraživanje i analizu drugih logičkih struktura datoteke sistem. Da biste štampali, izaberite liniju Print Object as iz menija Alati i izaberite liniju Boot Record u dijaloškom okviru koji se pojavljuje na ekranu. Zatim kliknite OK.

Slično, možete ispisati sadržaj drugih logičkih struktura sistema datoteka, kao što je sadržaj tabele particija diska.

Analiza rezervisanih sektora

Između sektora za pokretanje i tabele alokacije FAT datoteka mogu postojati rezervisani sektori koji su servisni za sistem datoteka ili se ne koriste.

Broj sektora rezervisanih na logičkom disku može se pronaći u bloku postavki BIOS-a (BPB ili Extended BPB, u zavisnosti od verzije operativnog sistema). Vrijednost pretrage je u polju ovog bloka sa pomakom od 3. U skeniranju formata, broj rezerviranih sektora je naznačen u redu Rezervirani sektori na početku.

Ako je rezervisan samo jedan sektor, tada se prva kopija tabele alokacije FAT datoteka nalazi odmah iza sektora za pokretanje. Boot sektor je u ovom slučaju taj koji je rezerviran.

Kada je nekoliko sektora rezervirano, može postojati još nekoliko sektora koji sadrže nulte vrijednosti između sektora za pokretanje i prve kopije FAT tablice. Ako je računar zaražen virusom, ovi sektori mogu sadržavati tijelo virusa ili kopiju originalnog zapisa za pokretanje zamijenjenu virusom.

Tablice dodjele FAT datoteka

Operativni sistem kombinuje pojedinačne sektore diska u takozvane klastere. Kada se kreiraju novi direktoriji i neprazne datoteke, za njih se dodjeljuje jedan ili više klastera. Ako se veličina datoteke poveća, za nju se dodjeljuju dodatni klasteri.

Veličinu klastera u sektorima (tj. broj sektora u jednom klasteru) je lako saznati iz polja bloka parametara BIOS-a BPB sa pomakom od 2. Prilikom formatiranja sadržaja sektora za pokretanje, veličina klastera se prikazuje u Sektori po liniji klastera.

Da bi se uštedio prostor na disku, datoteke i direktoriji su dodijeljeni klasterima koji nisu nužno susjedni. Dakle, odvojeni klasteri koji pripadaju istoj datoteci mogu biti locirani na različitim mjestima na logičkom disku. Takve uštede imaju cijenu u performansama, budući da čitanje fragmentirane datoteke uključuje brojne pokrete magnetske glave, a ovo je najsporija operacija diska.

Drugi problem sa fragmentacijom datoteke je potreba da se vodi lista klastera dodijeljenih svakoj datoteci. Očigledno, da bi pročitao datoteku, operativni sistem mora uzastopno pročitati sve klastere koji su dodijeljeni ovoj datoteci.

Gdje se pohranjuju liste klastera?

Ove liste su pohranjene u FAT-u (Tabela dodjeljivanja datoteka), koju ćemo uskoro početi analizirati.

Tablica dodjele datoteka može se smatrati nizom koji sadrži informacije o relativnoj lokaciji klastera svih datoteka. Veličina niza je određena ukupnim brojem klastera na logičkom disku. Elementi niza sadrže liste klastera distribuiranih datotekama, a elementi niza koji odgovaraju slobodnim klasterima sadrže nula vrijednosti.

Ako datoteka zauzima nekoliko klastera, tada se takvi klasteri povezuju u listu. Istovremeno, elementi tabele FAT sadrže brojeve narednih klastera koje koristi ovaj fajl. Kraj liste je u tabeli označen posebnom vrednošću. Broj prvog klastera koji je dodijeljen datoteci pohranjen je u unosu direktorija koji opisuje datoteku (u deskriptoru datoteke).

Dakle, znajući ime datoteke i direktorij u kojem se nalazi ova datoteka, operativni sistem MS-DOS može odrediti broj prvog klastera koji je dodijeljen datoteci, a zatim, praćenjem liste klastera u FAT tabeli, odrediti broj broj drugih klastera koje zauzima ovaj fajl.

Program FORMAT, dizajniran za formatiranje diska, i neki posebni programi slične namjene, provjeravaju logički disk na prisustvo neispravnih područja. Klasteri koji se nalaze u ovim lošim područjima su označeni kao loši u FAT-u i operativni sistem ih ne koristi.

Za primjer na sl. Slika 6 prikazuje pojednostavljene deskriptore za korijenski direktorij pogona C:. Oni opisuju datoteke MYFILE1.DOC i MYLETTER.DOC, kao i unose tabele alokacije FAT datoteka dodijeljene za ove datoteke.


Rice. 6. Primjer distribucije klastera za datoteke MYFILE1.DOC i MYLETTER.DOC

Datoteka MYFILE1.DOC zauzima tri klastera sa brojevima 11, 17 i 18, a datoteka MYLETTER.DOC - dva klastera sa brojevima 12 i 13. Katalog prikazuje brojeve prvih klastera dodeljenih ovim fajlovima (odnosno 11 i 12). Posljednje ćelije koje odgovaraju posljednjim klasterima, distribuiranim datotekama, sadrže posebnu vrijednost - znak kraja lanca klastera. Za 16-bitni FAT to je 0xFFFF, a za 12-bitni je 0xFFF.

FAT format tabele

Pogledajmo bliže format tabele FAT.

FAT tabela može biti u 12-, 16- ili 32-bitnom formatu, dok će se sistem datoteka nazivati ​​FAT-12, FAT-16 i FAT-32, a tabela koristi 12, 16 ili 32 za pohranjivanje informacija oko jednog bita klastera diska, respektivno.

Prvi od ova dva formata (12-bitni) se koristi za flopi diskove i diskove sa malim brojem sektora. FAT-12 tabela alokacije datoteka na disketi u potpunosti se uklapa u jedan sektor.

Ako je veličina diska prevelika, dvanaest bitova neće biti dovoljno za predstavljanje svih klastera. U ovom slučaju koristi se 16-bitni ili 32-bitni FAT format. U ovom slučaju, operativni sistem može raditi sa diskom koji je veći od 32 MB. Stoga, tvrdi diskovi uvijek koriste 16-bitni ili 32-bitni FAT format tabele.

Kako saznati FAT format?

FAT format se može odrediti raščlanjivanjem sadržaja polja koda particije odgovarajućeg unosa particione tablice. Ovo polje se nalazi u MBR-u. Ako sadrži vrijednost 1, koristi se 12-bitni format, ako je 4, onda se koristi 16-bitni format, a ako je 0xB ili 0xC, koristi se 32-bitni format.

Prvi element tabele FAT ima poseban format.

Prvi bajt FAT tabele naziva se deskriptor medija. Ima isto značenje kao i deskriptor bajtova okruženja, sektor za pokretanje logičke disk jedinice. Sljedećih 5 bajtova za 12-bitni format ili 7 bajtova za 16-bitni format uvijek sadrže vrijednost 0xFF.

Ostatak FAT tabele sastoji se od 12-, 16- ili 32-bitnih ćelija. Svaka ćelija odgovara jednom klasteru diska. Ove ćelije za različite formate tabele FAT mogu sadržavati sljedeće vrijednosti:

Pregled FAT tabele

Za pregled tabele alokacije FAT fajlova koristićemo program DISKEDIT. Iz menija Object izaberite liniju Drive i izaberite pogon koji vas zanima.

Zatim iz menija Object izaberite jedan od dva niza - 1st FAT ili 2nd FAT. Na ekranu će se prikazati sadržaj prve ili druge kopije FAT tabele u formatiranom obliku (slika 7).


Rice. 7. Pogledajte prvu kopiju tabele alokacije FAT-a u formatiranom obliku

Prvu ili drugu kopiju FAT tabele takođe možete pronaći tako što ćete znati fizičku adresu zapisa pokretanja logičkog diska. Podsjetimo da se zapis za pokretanje nalazi u prvom sektoru diskete. Lokacija unosa za pokretanje za logičke pogone kreirane na particijama tvrdog diska može se odrediti iz tabele particija (za logičku disk jedinicu C:) ili tabele logičke disk jedinice (za logičke disk jedinice kreirane na proširenoj particiji).

Nadalje, u okviru logičkog diska, postoji vlastito sekvencijalno numeriranje sektora. U ovom slučaju, redoslijed numeriranja se bira na način da se uzastopnim povećanjem broja sektora prvo povećava broj glave, a zatim broj staze.

Objasnimo ovo na primjeru.

Neka, na primjer, imamo disketu sa devet sektora po stazi. Sektor sa logičkim brojem jednakim 1 nalazi se na nultom tragu i za pristup mu se koristi nulta glava. Ovo je prvi sektor na stazi, ima broj 1. Sljedeći sektor na nultoj stazi ima logički broj 2, posljednji sektor na nultoj stazi ima logički broj 9. Sektor sa logičkim brojem 10 je također nalazi se na nultom kolosijeku. Ovo je ujedno i prvi sektor na stazi, ali sada se za pristup koristi glava broj 1. I tako dalje, kako se povećava logički broj sektora, mijenjaju se brojevi glave i staze.

Prema ovoj numeraciji, sektor sa serijskim brojem 0 je sektor za pokretanje. Da biste videli sadržaj sektora za pokretanje pomoću programa DISKEDIT, možete izabrati liniju Sektor iz menija Objekat i odrediti broj sektora jednak nuli u dijaloškom okviru koji se pojavi.

Imajte na umu da u ovom dijaloškom okviru okvir pod nazivom Upotreba sektora prikazuje dodjelu sektora. Koristeći ovu distribuciju, možete lako odrediti serijski broj sektora zapisa za pokretanje, početak i granice obje kopije FAT-a. Osim toga, nije teško odrediti početak i granice korijenskog direktorija i područja podataka koje sadrži datoteke i druge direktorije.

Koristeći meni Prikaz, možete pogledati sadržaj tabele FAT kao dump.

Vizualno, tabela alokacije datoteka treba da sadrži uglavnom monotono promjenjive nizove brojeva klastera, nulte vrijednosti koje odgovaraju slobodnim klasterima i vrijednost 0xFFFF (0xFFF za FAT-12 ili 0xFFFFFFFF za FAT-32), što je znak kraja lanca klastera.

Nakon prve kopije FAT tabele mora slijediti druga kopija FAT-a.

Možete odrediti veličinu FAT tabele poznavajući sadržaj bloka parametara BIOS BPB sa pomakom 0xB (broj sektora koje zauzima jedna kopija FAT-a).

Kao rezultat neuspjeha ili napada virusa, FAT tablica može biti ili potpuno uništena ili promijenjena (na primjer, šifrirana ili obojena nulama). Ako je lanac klastera za datoteku koja vam je potrebna djelomično ili potpuno uništen, vraćanje takve datoteke može biti težak zadatak.

Neki virusi iskorištavaju činjenicu da se kraj lanca klastera može označiti bilo kojom vrijednošću u gornjim rasponima (na primjer, od 0xFFF8 do 0xFFFF za 16-bitnu FAT tablicu), dok operativni sistem koristi vrijednosti ​​0FFFFh ili 0FFFh.

Virus može dodijeliti zaražene datoteke za sebe (kako bi izbjegao ponovnu infekciju), označavajući posljednji klaster distribuiran ovim datotekama bilo kojom drugom vrijednošću, na primjer, 0xFFF9. U ovom slučaju, operativni sistem će nastaviti da radi normalno, kao da se ništa nije dogodilo.

Iako je druga kopija FAT tablice kreirana kao rezervna kopija, kako bi se olakšao postupak oporavka u slučaju uništenja prve kopije, ne treba se posebno nadati da u slučaju virusnog napada možete jednostavno kopirati drugu kopiju FAT-a umjesto prvog. Druga kopija FAT-a također se može uništiti ili šifrirati, i to na drugačiji način od prve.

Format direktorija

U slučaju FAT-12 i FAT-16, korijenski direktorij odmah slijedi drugu kopiju tablice dodjele datoteka. Lokacija korijenskog direktorija FAT-32 navedena je u BPB bloku (riječ na pomaku 0x21).

Možete odrediti veličinu korijenskog direktorija u sektorima iz BIOS BPB parametarskog bloka. Polje sa pomakom 6 sadrži maksimalan broj deskriptora datoteka u korijenskom direktoriju diska (ovo polje odgovara redu Root directory entries pri formatiranju sadržaja sektora za pokretanje sa programom DISKEDIT).

Veličina jednog deskriptora je 32 bajta, tako da množenjem maksimalnog broja deskriptora ovim brojem dobijamo veličinu korijenskog direktorija u bajtovima. Poznavajući veličinu sektora (512 bajtova), lako je odrediti broj sektora koje zauzima korijenski direktorij.

Hajde sada da pričamo o deskriptorima datoteka.

Svaki direktorij (uključujući korijenski direktorij) sadrži 32-bajtne elemente - deskriptore koji opisuju datoteke i druge direktorije. Evo formata deskriptora koji se koristi u MS-DOS operativnom sistemu:

Obratite pažnju na polje sa pomakom 0x1A. Ovo je broj prvog klastera koji je dodijeljen datoteci ili direktoriju (ako deskriptor opisuje direktorij niže razine). Koristeći ovu vrijednost, možete pratiti cijeli lanac klastera dodijeljenih datoj datoteci ili direktoriju u tablici alokacije FAT datoteka. Dakle, imamo način da pronađemo početak lanca klastera za bilo koju datoteku - samo trebamo pronaći odgovarajući deskriptor.

U bilo kojem direktoriju osim korijenskog, prve dvije ručke imaju posebno značenje. Prvi deskriptor sadrži niz u polju imena:

". "

Ovaj deskriptor ukazuje na direktorij koji sadrži. Odnosno, direktorij ima vezu za sebe. Drugi specijalni deskriptor sadrži niz u polju imena:

".. "

Ovaj deskriptor ukazuje na direktorij višeg nivoa.

Ako je prvo zauzeto polje broja klastera za deskriptor pod nazivom ".. " nula, to znači da se ovaj direktorij nalazi u korijenskom direktoriju.

Struktura stabla direktorija sadrži veze koje adresiraju direktorije i naprijed i nazad. Ove veze se mogu koristiti za provjeru integriteta strukture direktorija sistema datoteka.

Bajt atributa pripada svakoj datoteci. Bitovi bajta atributa se kombinuju upotrebom logičke operacije ILI. Oni imaju sljedeća značenja:

Bit Opis
0 Datoteka je samo za čitanje. U ovu datoteku se ne može pisati i ne može se izbrisati.
1

Skriveni fajl. Ova datoteka se neće pojaviti na listi datoteka prikazanoj naredbom DIR

2

Sistemski fajl. Ovaj bit se obično postavlja za datoteke koje su dio operativnog sistema.

3

Ovaj deskriptor opisuje oznaku diska. Za ovaj deskriptor, polje imena datoteke i polje ekstenzije naziva datoteke moraju se tretirati kao jedno 11-bajtno polje. Ovo polje sadrži oznaku diska

4 Deskriptor opisuje datoteku koja je poddirektorij datog direktorija.
5

Zastava arhiviranja. Ako je ovaj bit postavljen na 1, onda ovaj fajl nije učitao uslužni program za arhiviranje.

6-7 rezervisano

Tipično, datoteke imaju sljedeće atribute:

Kada se datoteka obriše, prvi bajt njenog imena zamjenjuje se bajtom 0xE5 (znak "x"). Nakon toga, svi klasteri dodijeljeni udaljenoj datoteci su označeni kao slobodni u FAT tabeli.

Ako ste upravo izbrisali datoteku, još uvijek je možete vratiti, jer su sva polja sačuvana u deskriptoru, osim prvog bajta imena datoteke. Ali ako se na disk upišu novi fajlovi, može se desiti da se sadržaj klastera obrisane datoteke promeni. U tom slučaju, oporavak datoteke će postati problematičan.

Sada o poljima za vrijeme i datum.

Gornjih pet cifara u polju za vrijeme sadrži vrijednost sata modifikacije datoteke, šest cifara 5-10 pohranjuje vrijednost minuta modifikacije datoteke, a na kraju, donjih 5 cifara sadrži vrijednost sekunde podijeljenu sa 2. Da bi se utvrdilo vrijeme ažuriranja datoteke da stane u šesnaest cifara, morao sam da smanjim tačnost vremena na dve sekunde. U velikoj većini slučajeva takvo smanjenje točnosti ne igra nikakvu ulogu.

Format datuma ažuriranja datoteke sličan je formatu vremena. Cifre 9-15 su rezervisane za godinu, 5-8 za mjesec, a 0-4 za dan u sedmici. Da biste dobili vrijednost godine u kojoj je datoteka ažurirana, potrebno je dodati vrijednost 1980 vrijednosti pohranjenoj u gornjih sedam bitova.

Neki virusi koriste polja vremena i datuma za označavanje zaraženih datoteka. Ova oznaka je neophodna kako bi se izbjegla ponovna infekcija. Međutim, ovu primitivnu metodu koriste samo najjednostavniji virusi.

Polje dužine u deskriptoru sadrži tačnu dužinu datoteke u bajtovima. Za imenike, polje dužine je postavljeno na nulu.

Kada virus inficira datoteku, njena dužina se povećava. Međutim, skriveni virusi koji skrivaju svoje prisustvo u sistemu efikasno maskiraju ovo povećanje. Stoga se može vidjeti samo kada se operativni sistem diže sa "čiste" diskete bez virusne infekcije.

Pregledaj direktorije

Za pregledavanje direktorija kako bismo provjerili njihovu strukturu, koristit ćemo program DISKEDIT. Pokrenite ovaj program i iz menija Objekat izaberite Direktorijum. Na ekranu će se pojaviti dijaloški okvir Change Directory.

Stablo imenika trenutnog pogona je prikazano u lijevom dijelu panela za dijalog. Odaberite korijenski direktorij C:\ i kliknite OK. Nakon toga, sadržaj osnovnog direktorija u formatiranom obliku će se pojaviti na ekranu (slika 8).


Rice. 8. Pogledajte prvu kopiju tabele alokacije FAT-a u formatiranom obliku

Analizom primljenih informacija možete otkriti sumnjive promjene u poljima veličine datoteke, datuma i vremena. Dodatno, za svaki fajl, kolona Klaster prikazuje broj prvog klastera koji mu je dodeljen.

Koristeći meni Prikaz, možete se prebaciti na režim neobrađenog prikaza, kada se sadržaj direktorijuma prikazuje kao dump.

Obratite pažnju na meni Link. Koristeći ovaj meni, možete se prebaciti na pregled logički povezanih struktura sistema datoteka.

Kao vježbu, označite datoteku IO.SYS u korijenskom direktoriju pogona C:, a zatim izaberite Cluster chain (FAT) iz menija Link. Vidjet ćete prvu kopiju tabele alokacije FAT datoteka, sa lancem klastera dodijeljenom IO.SYS datoteci označenom bojom. Koristeći liniju Datoteka menija Link, lako je prebaciti se na način pregleda sadržaja datoteke IO.SYS.

Imajte na umu da je u mnogim slučajevima moguće izvršiti prelaze između logički povezanih struktura podataka dvostrukim klikom na lijevu tipku miša na sliku ovih struktura, što je vrlo zgodno. Za detalje pogledajte dokumentaciju za softverski paket Norton Utilities.

Na šta trebam obratiti pažnju kada provjeravam strukturu direktorija?

Osim vizualne provjere polja deskriptora koji se tamo nalaze, trebali biste pregledati cijeli direktorij do kraja. Morate biti sigurni da u direktoriju nema stranih podataka. Tamo ih može napisati virus.

Ako se prebacite na način rada sirovog prikaza, možete provjeriti da li besplatni unosi direktorija sadrže nulte vrijednosti. Ako iza slobodnih elemenata ima bilo kakvih podataka, postoji velika vjerovatnoća da ih je tamo unio virus ili sistem zaštite programa od neovlaštenog kopiranja (ako direktorij koji se istražuje sadrži takve programe).

U slučaju da je direktorij potpuno ili djelomično oštećen, veze do datoteka opisanih u njemu bit će izgubljene. Ako na ovaj ili onaj način pronađete sektore koji sadrže datoteku koja vam je potrebna sa uništenim deskriptorom, tada pomoću metode opisane u nastavku možete vratiti deskriptor i dobiti pristup datoteci.

Direktoriji u VFAT sistemu datoteka

Kada vraćate FAT sistem datoteka računara koji koristi operativni sistem Microsoft Windows 95/98/NT/2000, treba da budete oprezni, jer se struktura direktorijuma u njemu razlikuje od gore opisane.

Kao što možda znate, korisnici Microsoft Windows 95/98 nisu previše ograničeni ograničenjima dužine datoteke i direktorija. I iako teoretski postoji takvo ograničenje (255 znakova), ono nema značajno značenje.

Prilikom kreiranja novog operativnog sistema, Microsoft programeri su pronašli genijalno rešenje za problem kompatibilnosti sa MS-DOS programima koristeći nazive u "8.3 formatu" (8 karaktera za ime datoteke ili direktorijuma, 3 za ekstenziju imena).

Ovo rješenje se sastoji u tome što uz uobičajene deskriptore u imenicima postoje deskriptori posebne vrste. Broj takvih deskriptora ovisi o dužini imena datoteke ili direktorija. U ovim deskriptorima je pohranjeno dugo ime. Konkretno za MS-DOS programe, pravi se običan ručnik koji sadrži alternativno ime koje je u skladu sa MS-DOS standardima.

Novi sistem datoteka je nazvan VFAT.

Pogledajte sl. 9. Ova slika prikazuje strukturu direktorija kreiranu u sistemu datoteka Microsoft Windows 98.

Rice. 9. Prošireni i alternativni deskriptori dugog imena u korijenskom direktoriju

Obratite pažnju na tri deskriptora ispod deskriptora IO.SYS datoteke. Ovo su posebni prošireni deskriptori koji pohranjuju informacije o dugim imenima u UNICODE kodiranju (u ovom kodiranju svaki znak je predstavljen sa dva bajta). U ovom slučaju, prošireni deskriptori pohranjuju ime direktorija DesignWorkshop Lite Installer.

Da bi se osiguralo da posebni deskriptori ne ometaju MS-DOS programe, oni imaju postavljene atribute Samo za čitanje, Sistem, Skriveni i Oznaka volumena. Uobičajeni MS-DOS programi zanemaruju unose direktorija s ovim egzotičnim skupom atributa.

Specijalni deskriptor je u novoj verziji programa DISKEDIT označen kao LFN (Dugo ime datoteke) i odnosi se na klaster broj 0. Pravi broj prvog klastera koji je dodijeljen datoteci ili direktoriju nalazi se u standardnom deskriptoru odmah iza proširenog deskriptora . U ovom slučaju, to je rukohvat za direktorij pod nazivom DISIGN~1 koji se nalazi u klasteru broj 1274.

Ako je naziv datoteke ili direktorija duži od 8 znakova, standardni deskriptor nakon proširenih sadrži alternativno ime koje se sastoji od početnih znakova imena, znaka ~ (tilda) i decimalnog broja. Ovaj deskriptor se zove alternativni.

Operativni sistem Microsoft Windows NT/2000 takođe kreira proširene i alternativne ručke na FAT particijama.

Koristeći liniju More glavnog menija programa DISKEDIT, možete pregledati ili urediti preostala polja posebnih deskriptora.

Na primjer, datum i vrijeme kada je datoteka kreirana nalaze se u poljima Create Date i Create Time, respektivno. Osim toga, operativni sistem Microsoft Windows 95/98 popravlja datum posljednjeg pristupa datoteci. Ovaj datum možete vidjeti u polju Pristupljeno.

EA polje sadrži oznaku proširenih atributa i postavljeno je na nulu za standardne atribute.

Ako je ime toliko dugo da ne stane u jedan poseban deskriptor, kreira se nekoliko takvih deskriptora, jedan za drugim. Nakon njih slijedi alternativni deskriptor. Polje Redni sadrži redni broj posebnog deskriptora. Za posljednji specijalni deskriptor, polje Last je postavljeno na Da.

Za one koje zanima tačan format standardnog i proširenog VFAT deskriptora, dali smo fragment izvornog koda CrashUndo 2000. Ovo je spoj dvije strukture, od kojih prva odgovara standardnom deskriptoru, a druga na produženi:

Typedef union _FAT_DIR_ENTRY
{
struct_DIR
{
BYTE dir_Name; // ime
BYTE dir_Extension; // ekstenzija imena
BYTE dir_Attributes; // atributi
BYTE dir_NTReserved; // rezervirano za Windows NT
BYTE dir_CreateTimeTenth; // desetine vremena stvaranja
UINT16 dir_CreateTime; // vrijeme nastanka
UINT16 dir_CreateDate; // datum stvaranja
UINT16 dir_LastAccessDate; // datum posljednjeg pristupa
UINT16 dir_FirstClusterHi; // visoka riječ broja klastera
UINT16 dir_WriteTime; // vrijeme ažuriranja
UINT16 dir_WriteDate; // datum ažuriranja
UINT16 dir_FirstClusterLo; // mala riječ broja klastera
UINT32 dir_FileSize; // veličina fajla
) dir; struct_LFN
{
BYTE lfn_Sequence; // broj deskriptora
WCHAR lfn_Name1; // prvi dio imena
BYTE lfn_Attributes; // atributi
BYTE lfn_LongEntryType; // prošireni znak atributa
BYTE lfn_Checksum; // ime kontrolne sume
WCHAR lfn_Name2; // drugi dio imena
UINT16 lfn_Reserved; // rezervirano
WCHAR lfn_Name3; // treći dio imena
)lfn;
) FAT_DIR_ENTRY, *PFAT_DIR_ENTRY;

Imajte na umu da se dva 16-bitna polja dir_FirstClusterHi i dir_FirstClusterLo koriste za pohranjivanje prvog broja klastera dodijeljenog datoteci ili direktoriju.

Što se tiče tabele alokacije FAT datoteka, iako se u operativnom sistemu Microsoft Windows 95/98 zove Virtual File Allocation Table (VFAT), njen format je ostao isti. Ovo je za kompatibilnost sa MS-DOS programima. Formati drugih logičkih blokova sistema datoteka su takođe sačuvani, kao što su tabela particija diska, tabela logičkog diska, zapis za pokretanje i prošireni BIOS Extended BPB parametarski blok.

Imajte na umu da se stare verzije paketa Norton Utilities ne mogu koristiti za vraćanje sistema datoteka Microsoft Windows 95/98, jer ne znaju ništa o proširenim i alternativnim deskriptorima.

Područje podataka

Nakon korijenskog direktorija, počinje područje podataka koje se proteže do kraja logičkog diska. Ovo područje je podijeljeno na klastere, a numeriranje klastera počinje brojem 2. Klaster broj 2 odgovara prvim sektorima područja podataka.

Evo formule koja povezuje broj klastera s brojem sektora koje zauzima na logičkom disku:

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

Ova formula koristi sljedeću notaciju:

Ova formula može biti korisna kada ručno vraćate sistem datoteka.

Pronalaženje i vraćanje datoteka na FAT particije

U ovom odeljku daćemo neke preporuke za oporavak datoteka koje su postale nedostupne usled zlonamernog delovanja virusa ili kao rezultat uništenja FAT sistema datoteka iz bilo kog drugog razloga. U svakom slučaju, prije nego što započnete oporavak, trebali biste provesti potpunu studiju parametara BIOS-a i sistema datoteka koristeći informacije koje smo ranije opisali.

Takođe morate biti sigurni da dobro vladate strukturom sistema datoteka i znate formate svih njegovih komponenti, kao što su tabela particija, tabela logičkog diska, tabela dodele FAT datoteka itd.

Ako u procesu istraživanja sistema datoteka otkrijete da su neke strukture potpuno uništene (na primjer, glavni zapis za pokretanje s particijskom tablicom, tabela logičkog diska, direktoriji i tako dalje), nije sve izgubljeno.

Ako sigurnost informacija nije kritična za vas, mnoga oštećenja na sistemu datoteka mogu se automatski popraviti pomoću Norton Disk Doctor-a ili SCANDISK-a. Međutim, ovi vrlo dobri programi u nekim slučajevima vam neće moći pružiti značajnu pomoć. Što je još gore, oni mogu trajno uništiti logičku strukturu diska, nakon čega će oporavak datoteke postati nemoguć.

Stoga morate znati barem osnovne tehnike ručnog oporavka sistema datoteka. U teškim ili kritičnim slučajevima, toplo preporučujemo da nas kontaktirate na usluzi DataRecovery.Ru putem servera http://www.datarecovery.ru ili http://www.frolov.pp.ru.

Osnovna ideja traženja izgubljenih datoteka i struktura podataka je da znate (barem približno) njihov naziv ili sadržaj.

Na primjer, sektori koji sadrže tablicu particija, tablicu logičkog diska i zapis za pokretanje imaju potpis 0xAA55. Iz prethodnih odjeljaka ovog poglavlja znate da programi za pokretanje sadrže poznate tekstualne nizove u svom tijelu. Možete ih koristiti za pretraživanje. Takve linije se takođe nalaze u telu proširenog bloka parametara BIOS Extended PBP (to su linije FAT12, FAT16 ili FAT32).

Ako znate karakteristične riječi ili nizove bajtova koji se nalaze u izgubljenim datotekama podataka, oni su također pogodni za pronalaženje sektora datoteke za oporavak.

Pretraživanje sa Norton File Find

Najčešća korupcija FAT sistema datoteka nastaje prilikom iznenadnog nestanka struje i predstavlja pojavu takozvanih izgubljenih klastera. Ova korupcija je takođe rezultat hard resetovanja računara dok je operativni sistem Microsoft Windows pokrenut.

Klasteri bez roditelja se tako nazivaju jer se ne pominju ni u jednom direktoriju sistema datoteka. Takva situacija može nastati, na primjer, zbog činjenice da je odgovarajući direktorij jednostavno uništen i, shodno tome, nestale su veze do datoteka opisanih u njemu.

Korisnici najčešće koriste program SCANDISK, koji je dio operativnog sistema, ili Norton Disk Doctor program za popravku ove vrste oštećenja.

Nakon oporavka sistema datoteka pomoću Norton Disk Doctor-a ili SCANDISK-a, na disku se može formirati ogroman broj datoteka sa određenim ekstenzijom imena, sastavljenih od lanaca izgubljenih klastera (svaki program za oporavak koristi svoje ime). Takvih datoteka može biti do nekoliko hiljada, ovisno o ozbiljnosti oštećenja sistema datoteka.

Ako ste nakon pada ili napada virusa provjerili disk nekim od gore navedenih programa, a kao rezultat toga, datoteke koje su vam potrebne nestale, postoji velika vjerovatnoća da su se našle među oporavljenim datotekama. Međutim, kako ih pronaći među stotinama i hiljadama drugih?

Najlakši način za to je, na primjer, korištenje programa Norton Find File. Može se pokrenuti iz popularne ljuske Norton Commander koristeći kombinaciju tipki Alt + F7.

U polju File(s) to find, morate navesti obrazac za naziv datoteke i ekstenziju naziva datoteke, npr. *.NDD. Pretraživanje će se izvršiti samo među datotekama čije ime odgovara navedenom uzorku.

U polju Sadrži također morate navesti kontekst za pretragu, odnosno bilo koji tekstualni niz koji je prisutan u datoteci. Na primjer, da biste pronašli sve datoteke koje je kreirao program za obradu teksta Microsoft Word za Windows, možete odrediti kontekstni niz "Microsoft Word", a da biste pronašli sve datoteke pripremljene u Microsoft Excel okruženju proračunskih tablica, možete odrediti kontekstni niz "Microsoft Excel ".

Lista pronađenih putanja datoteka će se pojaviti na vrhu prozora Norton Find File.

U budućnosti, ako još uvijek postoji mnogo pronađenih datoteka, možete ih prepisati u poseban direktorij i preimenovati ih, a zatim nastaviti pretragu koristeći druge linije kao kontekst.

Pretraživanje pomoću DISKEDIT-a

U poređenju sa Norton Find File programom opisanim u prethodnom odeljku, program DISKEDIT pruža mnogo više opcija za pronalaženje datoteka, kao i različite strukture sistema datoteka.

Pretraga sekcija

Obratite pažnju na meni Alati programa DISKEDIT.

Ako odaberete liniju Find iz ovog menija, na ekranu će se pojaviti okvir za dijalog Enter search text. Pomoću ovog dijaloškog okvira možete izvršiti kontekstualne pretrage nizova navedenih u znakovnim i heksadecimalnim prikazima. Dodatno, možete odrediti pomak sektora i odabrati način ignoriranja velikih i malih slova. Kada koristite ovaj način rada, usklađivanje uzoraka će se izvršiti bez obzira na mala ili velika slova.

Linija Find Object vam omogućava da tražite različite strukture sistema datoteka. Ako odaberete ovu liniju, na ekranu će se pojaviti meni drugog nivoa, gdje se nalaze linije Partition / Boot, FAT i Subdirectory.

Isprobajte sve na djelu. Da biste to učinili, otvorite meni Objekt i iz njega odaberite liniju Fizički sektor. Zatim odredite prvi sektor koji se nalazi na nultom tragu. Ovaj sektor mora sadržavati MBR. Prebacite se na neformatirani prikaz odabirom kao Hex u meniju Prikaz.

Ali šta ako, nakon što pogledate glavni zapis za pokretanje, vidite da je tabela particija uništena ili šifrovana?

U ovom slučaju, možete kontekstualno tražiti sektore zapisa za pokretanje koji sadrže BIOS BPB parametarske blokove. Najlakši način da to učinite je da nakon pregleda glavnog zapisa za pokretanje na njegovoj fizičkoj adresi i prelaska na sljedeći sektor diska, odaberete liniju Partition/Boot iz menija Tools / Find Object.

Program DISKEDIT će pronaći sektor koji se završava bajt sekvencom "55 AA" koja odgovara potpisu sektora za pokretanje sistema 0xAA55.

Nakon što ste pronašli sektor za pokretanje, njegova fizička adresa se može ručno umetnuti u particijsku tabelu uređujući je programom DISKEDIT.

Budući da se struktura particija diska tokom rada ovih potonjih može promijeniti mnogo puta, moguće je da ćete pronaći previše sektora za pokretanje. Neki od njih su pripadali starim particijama i nisu uništeni kada je struktura particije promijenjena, neki čak mogu pripadati drugim operativnim sistemima. U svakom slučaju, provjerite lokaciju pronađenog sektora za pokretanje u odnosu na druge logičke strukture sistema datoteka koje ste pronašli. Na primjer, možete koristiti da "identifikujete" činjenicu da sektor za pokretanje FAT particije treba da bude praćen tabelom alokacije datoteka odmah iza njega.

Pošto program DISKEDIT provjerava samo zadnja dva bajta sektora tokom pretrage, mogući su lažni pozitivni rezultati. Nakon pronađenog sektora, može postojati sektor čiji sadržaj malo liči na tablicu dodjele datoteka.

Pronalaženje FAT tabela

Sada izaberite liniju Find Object iz menija Tools, a zatim liniju FAT. Program DISKEDIT će potražiti prvu kopiju tabele alokacije FAT datoteke i prikazati njen dump, naglašavajući prva tri bajta u njoj.

Ako sada pomerimo kursor teksta nadole ili pritisnemo taster PgDn, a zatim ponovo odaberemo FAT iz menija Alati/Pronađi objekat, naći će se druga kopija tabele alokacije FAT datoteka.

Imajte na umu da se traženje FAT tabela u ovom slučaju svodi na traženje bajt sekvence "F8 FF FF", tako da trećim traženjem možete pronaći još jednu lažnu "FAT tablicu". Činjenica je da vjerovatno postoji neka datoteka na disku koja sadrži gornji niz bajtova, pa budite oprezni.

Pronalaženje izgubljenih direktorija

Sada tražimo izgubljene direktorije. Ne postoje veze na takve direktorije iz drugih direktorija.

Za pretragu možete koristiti liniju poddirektorijuma menija Alati/Pronađi objekat. Program DISKEDIT skenira sektore diska tražeći onaj koji počinje sekvencom bajtova "2E 20 20 20 20 20 20 20 20 20 20". Ovaj niz odgovara deskriptoru koji sadrži referencu direktorija na sebe.

Pritiskom na kombinaciju tipki Ctrl+G možete nastaviti tražiti željeni direktorij dok ne pronađete onaj koji sadrži datoteke koje vas zanimaju. Možete pretraživati ​​i po imenu datoteke ako ga znate.

Čim se pronađe traženi direktorij, potrebno je zapisati fizičku adresu sektora diska koji sadrži direktorij, a zatim pronaći ili izračunati broj klastera koji odgovara direktoriju.

Za traženje broja klastera u kojem se nalazi pronađeni direktorij, prebacite se na formatirani način pretraživanja direktorija odabirom linije kao Imenik iz izbornika Pogled. Zatim izaberite liniju Cluster chain (fat) iz menija Link. Sadržaj tabele FAT će se pojaviti na ekranu u formatiranom režimu prikaza, sa označenim željenim brojem klastera.

Oporavak izgubljenih direktorija i datoteka

Znajući broj klastera izgubljenog direktorija, možete kreirati novi deskriptor direktorija, na primjer, u korijenskom direktoriju diska, i napraviti vezu na pronađeni direktorij u ovom deskriptoru. Nakon toga, izgubljeni direktorij će ponovo postati dostupan.

Imajte na umu da za VFAT sistem datoteka, polje kontrolne sume imena u proširenom deskriptoru mora biti pravilno popunjeno, kao i 32-bitni broj prvog klastera koji je dodijeljen datoteci.

Možemo predložiti sljedeći algoritam za oporavak datoteka:

  • izvršiti kontekstualnu pretragu sektora datoteka pomoću linije Datoteke iz menija Alati, kao i sekvencijalno pregledanje sektora diska;
  • odrediti broj klastera koji odgovaraju pronađenim sektorima koristeći gornju formulu ili programske alate DISKEDIT;
  • vratite lanac brojeva klastera za datoteku u tabeli alokacije FAT datoteka, označavajući poslednji klaster u njemu posebnom vrednošću (kao što je 0xFFFF za FAT-16);
  • kreirajte deskriptor datoteke u bilo kojem direktoriju (na primjer, u korijenu);
  • navedite u kreiranom deskriptoru vezu do prvog klastera vraćene datoteke i veličinu datoteke.

Ako ste oporavili datoteku dokumenta koju je kreirao program za obradu teksta Microsoft Word za Windows ili procesor za tabelarne proračune Microsoft Excel, učitajte je u odgovarajuću aplikaciju, a zatim je sačuvajte pod drugim imenom. Ovo će vratiti ispravnu dužinu datoteke.

Jednostavna tekstualna datoteka može se učitati u uređivač teksta i "odrezati" dodatne podatke na kraju datoteke. Zatim sačuvajte datoteku pod drugim imenom.

Ako znate tačnu dužinu datoteke, možete je postaviti pomoću programa DISKEDIT u modu za uređivanje deskriptora datoteke (slika 9).

kompjuterski virusi

File virusi

Virus može zaraziti tri vrste datoteka:

Tim (BAT);

Učitavači drajveri (IO.SYS, MSDOS.SYS, itd.);

Izvršne binarne datoteke (EXE, COM).

Moguće je uneti virus u datoteke podataka, ali se ti slučajevi javljaju ili kao rezultat greške virusa, ili kada virus ispoljava svoja agresivna svojstva.

Virus se ubacuje u SYS datoteku na sljedeći način: virusi se ubrizgavaju u SYS datoteku, dodjeljuju svoje kodove "tijelu" datoteke i mijenjaju adrese programa strategije i prekida zaraznog drajvera (postoje virusi koji mijenjaju adresu samo jednog od programa). Kada se inficirani drajver inicijalizuje, virus presreće odgovarajući zahtev operativnog sistema, prosleđuje ga drajveru, čeka odgovor, ispravlja ga i ostaje u RAM memoriji zajedno sa drajverom u istom memorijskom bloku. Takav virus može biti izuzetno opasan i uporan, jer upada u RAM prilikom učitavanja DOS-a prije bilo kojeg antivirusnog programa, ako je i on, naravno, upravljački program.

Zaraženi fajl drajvera:

Takođe je moguće zaraziti drajver sistema na drugi način, kada virus izmeni svoje zaglavlje tako da DOS tretira zaraženu datoteku kao lanac od dva (ili više) fajlova.

Zaraženi fajl drajvera:

Slično, virus može upisati svoje kodove na početak drajvera, a ako datoteka sadrži nekoliko drajvera, onda na sredinu datoteke.

Virus se ubacuje u COM i EXE datoteke na sljedeći način: izvršne binarne datoteke imaju COM ili EXE formate, razlikuju se po zaglavlju i načinu na koji se programi pokreću za izvršenje. Ekstenzija naziva datoteke (COM ili EXE) ne odgovara uvijek stvarnom formatu datoteke, što ni na koji način ne utiče na rad programa. COM ili EXE datoteke su zaražene na različite načine, stoga virus mora razlikovati datoteke jednog formata od drugog.

Virusi rješavaju ovaj problem na dva načina: neki analiziraju ekstenziju naziva datoteke, drugi analiziraju zaglavlje datoteke. Prva metoda će se nazvati infekcijom. COM- (.EXE-) datoteke, drugi način zaraze: COM- (EXE-) datoteke. U većini slučajeva, virus ispravno inficira datoteku, odnosno, koristeći informacije sadržane u njegovom tijelu, možete potpuno vratiti zaraženu datoteku. Ali virusi, kao i većina programa, često sadrže greške koje su na prvi pogled neprimjetne. Zbog toga, čak i dobro napisan virus može nepovratno oštetiti datoteku ako je oštećena. Na primjer, virusi koji razlikuju tipove datoteka po ekstenzijama imena (.COM-, .EXE-) su vrlo opasni, jer oštećuju datoteke čija ekstenzija imena ne odgovara internom formatu.

Prilikom širenja, fajl virusi se unose u tijelo zaražene datoteke: početak, kraj ili sredina. Postoji nekoliko mogućnosti za unošenje virusa u sredinu datoteke: može se kopirati u tablicu postavki adrese EXE datoteke ("Boot - Exe"), područje steka datoteke COMMAND.COM ("Lehigh "), može proširiti datoteku ili prepisati dio datoteke na njenom kraju, i njihove kodove na oslobođeni prostor ("April - 1- Exe", "Phoenix"), itd. Osim toga, kopiranje virusa na sredina datoteke može nastati kao rezultat virusne greške. U ovom slučaju, datoteka može biti nepovratno oštećena. Postoje i drugi načini da se virus ubaci u sredinu datoteke, na primjer, virus "Mutant" koristi metodu kompresije nekih dijelova datoteke.

Do unošenja virusa na početak datoteke može doći na tri načina. Prvi način je da virus prepiše početak zaražene datoteke do njenog kraja i kopira se u oslobođeni prostor. Kada inficira datoteku na drugi način, virus stvara svoju kopiju u RAM-u, dodaje joj zaraženu datoteku i pohranjuje rezultirajuću konkatenaciju na disk. Kada se inficira trećom metodom, virus upisuje svoje kodove na početak datoteke, bez spremanja starog sadržaja početka datoteke, naravno, datoteka prestaje raditi i ne može se vratiti.

Ubacivanje virusa na početak datoteke koristi se u ogromnoj većini slučajeva kada su COM datoteke zaražene. EXE datoteke su zaražene ovom metodom, bilo kao rezultat virusne greške, ili kada se koristi "Pascal" algoritam virusa.

Unošenje virusa na kraj datoteke je najčešći način zaraze. U ovom slučaju, virus mijenja početak datoteke na način da prve izvršne naredbe programa sadržane u datoteci budu komande virusa. U COM datoteci to se postiže promjenom prva tri (ili više) bajta u JMP Loc_Virus instrukcijske kodove (ili, općenito, u kodove programa koji prenosi kontrolu na tijelo virusa). EXE datoteka se ili konvertuje u format COM datoteke, a zatim inficira kao posljednja, ili se mijenja zaglavlje datoteke (dužina, početne adrese).

Standardnu ​​metodu zaraze nazvat ćemo metodom u kojoj se virus dodaje na kraj datoteke i mijenja prve bajtove COM datoteke i nekoliko polja zaglavlja EXE datoteke.

Virus, nakon prenosa kontrole na njega, radi prema sljedećem algoritmu:

Vraća program (ali ne i datoteku) u originalnom obliku;

Ako je virus rezidentan, tada provjerava prisutnost njegove kopije u RAM-u i inficira memoriju računala ako kopija nije pronađena; ako virus nije rezidentan, onda traži neinficirane datoteke u trenutnom i korijenskom direktoriju, u direktorijima označenim u naredbi PATH, skenira stablo direktorija logičkih pogona, a zatim inficira otkrivene datoteke;

Obavlja, ako ih ima, dodatne funkcije: destruktivne radnje, grafičke ili zvučne efekte.

Vraća kontrolu glavnom programu.

Boot virusi

Virusi za pokretanje inficiraju sektor za pokretanje diskete i sektor za pokretanje ili glavni zapis za pokretanje tvrdog diska. Kada je disk zaražen, virus u većini slučajeva prenosi originalni sektor za pokretanje na neki drugi sektor diska. Ako je dužina virusa veća od dužine sektora, tada se prvi dio virusa seli u zaraženi sektor, a ostali se smještaju u druge sektore. Zatim virus kopira sistemske informacije pohranjene u originalnom bootloaderu i upisuje ih u sektor za pokretanje (za MBR ova informacija je tabela particija diska, za sektor za pokretanje disketa to je BIOS parametarski blok).

Algoritam za pokretanje virusa.

Injekcija u memoriju se vrši prilikom podizanja sistema sa zaraženog diska. U ovom slučaju, učitavač sistema čita sadržaj prvog sektora diska sa kojeg se pokreće pokretanje, stavlja pročitane informacije u memoriju i prenosi kontrolu na nju (tj. na virus). Nakon toga počinju se izvršavati instrukcije virusa, što smanjuje količinu slobodne memorije; čita svoj nastavak sa diska; prenosi se u drugo područje pamćenja; postavlja potrebne vektore prekida; obavlja dodatne radnje; kopira originalni Boot sektor u memoriju i prenosi kontrolu na njega.

Nakon toga, virus za pokretanje se ponaša na isti način kao virus rezidentnih datoteka: presreće pristup operativnom sistemu diskovima i pokreće ih, te, ovisno o određenim uvjetima, izvodi destruktivne radnje ili izaziva zvučne ili video efekte.

Poštovani korisnici, materijal ovog članka ne može se smatrati potpunim i iscrpnim, budući da napredak napreduje i, nažalost, tehnologije za pisanje virusa i zlonamjernog softvera također se poboljšavaju. Ovaj članak je sastavljen u informativne svrhe, kako bi se povećala edukacija i svijest korisnika. Nadam se (pogrešno naivno) da predstavljeni materijal nikoga neće natjerati da piše zlonamjerne programe, već natjerati na razmišljanje. Zapamtite, postoji jedna mudra izreka: "Ne pljuj u bunar, moraćeš da piješ." U našem slučaju, Internet je ogroman „bunar“ informacija iz kojeg dobijamo informacije koje su nam potrebne. Naša je direktna odgovornost da ga održavamo čistim, jer smo mi njegovi sastavni dijelovi (doduše indirektno, ali ipak :).

Šta su virusi

Virus- ovo je posebno napisan program male veličine, niz instrukcijskih kodova koji se može "pripisati" drugim programima ("inficirati" ih), kreirati svoje kopije (ne uvijek iste) i ugraditi ih u datoteke, kompjuter sistemske oblasti itd. .d., kao i obavljanje raznih neželjenih radnji na računaru.

Računalni virusi duguju svoje ime određenoj sličnosti sa prirodnim virusima: sposobnost samoinficiranja; velika brzina širenja; selektivnost zahvaćenih sistema (svaki virus inficira samo određene sisteme ili homogene grupe sistema); sposobnost "inficiranja" još neinficiranih sistema; poteškoće u borbi protiv virusa itd.

Klasifikacija kompjuterskih virusa

Konvencionalno, virusi se mogu klasificirati prema sljedećim kriterijima:
* prema staništu virusa
* prema načinu kontaminacije životne sredine
* destruktivnim sposobnostima
* prema karakteristikama algoritma virusa
* po vrsti destruktivnih radnji

Virusi za pokretanje inficiraju sektor za pokretanje diskete i sektor za pokretanje ili glavni zapis za pokretanje (MBR) tvrdog diska. Princip rada boot virusa zasniva se na algoritmima za pokretanje operativnog sistema kada se računar uključi ili ponovo pokrene.

Da bude jasnije, objasniću detaljno kako se računar pokreće: nakon što se računar uključi, napajanje šalje signal POWER_ON matičnoj ploči, koja zauzvrat provjerava napon u strujnom kolu, ako je normalan , zatim se računar uključuje. Nadalje, program u BIOS-u (Basic Input Output System) video kartice prima kontrolu, testira komponente video kartice i, po prijemu pozitivnih podataka, prenosi kontrolu na BIOS matične ploče. Pokreće POST (Power-On Self Test) proceduru, koja vrši samotestiranje svih komponenti sistema, ako je test uspješan i svi pronađeni uređaji daju pozitivne signale, BIOS, u skladu sa podacima u sekciji Boot, prenosi kontrolu na uređaj koji je prvi na ovoj listi. Kontrola se prenosi traženjem prvog fizičkog sektora, čitanjem i pokretanjem bootloadera.

U slučaju diskete ili CD-a, sektor za pokretanje dobija kontrolu, koji analizira tabelu parametara diska (BPB - BIOS Parameter Block), izračunava adrese datoteka operativnog sistema, čita ih u memoriju i pokreće ih za izvršenje. Ako na disku za pokretanje nema datoteka operativnog sistema, program koji se nalazi u sektoru za pokretanje diska prikazuje poruku o grešci i predlaže zamjenu diska za pokretanje.

U slučaju čvrstog diska, kontrola je data gore pomenutom pokretačkom programu, koji analizira tabelu particija diska, izračunava adresu aktivnog sektora za pokretanje (obično je ovaj sektor sektor za pokretanje sistema C:), učitava u memoriju i prenosi joj kontrolu. Nakon što je dobio kontrolu, aktivni sektor za pokretanje tvrdog diska obavlja iste radnje kao sektor za pokretanje diskete. Dalje, sve je jednostavnije, u sistemskim datotekama postoji učitavač operativnog sistema, koji vrši dalje učitavanje OS-a.

Kada inficiraju diskove, virusi za pokretanje "zamjenjuju" svoj kod za neki program koji preuzima kontrolu kada se sistem pokrene. Dakle, princip infekcije je isti u svim gore opisanim metodama: virus "prisiljava" sistem, kada se ponovo pokrene, da čita u memoriju i da kontrolu ne originalnom kodu pokretača, već kodu virusa.

Diskete su zaražene jedinom poznatom metodom - virus piše vlastiti kod umjesto originalnog koda sektora za pokretanje diskete. Tvrdi disk se inficira na tri moguća načina - virus se upisuje ili umjesto MBR koda, ili umjesto koda sektora za pokretanje diska za pokretanje (obično diska C:), ili mijenja adresu aktivnog sektora za pokretanje u tabeli particija diska koja se nalazi u MBR-u čvrstog diska.

Kada je disk inficiran, virus u većini slučajeva prenosi originalni sektor za pokretanje (ili MBR) u neki drugi sektor diska (na primjer, u prvi slobodni). Ako je dužina virusa veća od dužine sektora, tada se prvi dio virusa stavlja u zaraženi sektor, a preostali dijelovi u druge sektore (npr. u prve slobodne).


Postoji nekoliko opcija za postavljanje početnog sektora za pokretanje na disk i nastavak virusa: u sektore slobodnih klastera logičkog diska, u sektore sistema koji se ne koriste ili rijetko koriste, u sektore koji se nalaze izvan diska.

Ako se nastavak virusa nalazi u sektorima koji pripadaju klasterima slobodnih diskova (prilikom traženja ovih sektora virus mora analizirati tablicu alokacije datoteka - FAT), tada virus u pravilu ove klastere označava u FAT-u. (Tabela alokacije neuspjeha) kao loša (tzv. pseudo-loši klasteri). ).

Također, virusi postavljaju početni sektor za pokretanje u sektor koji se ne koristi ili rijetko koristi - u jedan od sektora tvrdog diska (ako postoji) koji se nalazi između MBR-a i prvog sektora za pokretanje, a na disketi takav sektor se bira iz posljednji sektori korijenskog direktorija.

Neki virusi zapisuju svoj kod u posljednje sektore tvrdog diska, jer se ti sektori koriste samo kada je tvrdi disk potpuno popunjen informacijama. Manje se koristi metoda zadržavanja nastavka virusa van diska. To se postiže na dva načina. Prvi se svodi na smanjenje veličine logičkih diskova: virus oduzima potrebne vrijednosti iz odgovarajućih BPB polja sektora za pokretanje i Tablice particija diska tvrdog diska (ako je tvrdi disk zaražen), čime se smanjuje veličine logičkog diska i zapisivanje njegovog koda u sektore koji su "odsječeni" od njega.

Drugi način je pisanje podataka izvan fizičke particije diska. U slučaju disketa, virus mora formatirati dodatnu stazu na disku (nestandardna metoda formatiranja). Postoje virusi koji svoj kod pišu izvan dostupnog prostora na tvrdom disku, ako to, naravno, dozvoljava instalirani hardver.

Naravno, postoje i druge metode postavljanja virusa na disk, na primjer, neki virusi sadrže standardni MBR loader u svom tijelu i, kada su zaraženi, prepisuju originalni MBR bez spremanja.

Kada su zaraženi, većina virusa kopira sistemske informacije pohranjene u originalnom pokretačkom programu u kod svog pokretačkog programa (za MBR ova informacija je tabela particija diska, za sektor za pokretanje disketa to je BIOS parametarski blok). U suprotnom, sistem neće moći da se pokrene, pošto se adrese diskova komponenti sistema izračunavaju na osnovu ovih informacija.

Međutim, neki Stealth virusi ne pohranjuju ove informacije, ili čak i više od toga, oni ih namjerno šifriraju. Kada sistem ili drugi programi pristupe zaraženim sektorima, virus zamjenjuje njihove neinficirane originale i sistem se pokreće bez ikakvih grešaka.

Također treba napomenuti da se virusi za pokretanje vrlo rijetko "slažu" zajedno na istom disku - često koriste iste sektore diska za postavljanje svog koda/podataka. Kao rezultat toga, kod/podaci prvog virusa se oštećuju kada se zaraze drugim virusom, a sistem ili visi pri pokretanju ili petlje.

Algoritam za pokretanje virusa

Gotovo svi virusi za pokretanje su rezidentni. Oni se unose u memoriju računara kada se dižu sa zaraženog diska. U ovom slučaju, učitavač sistema čita sadržaj prvog sektora diska sa kojeg se pokreće pokretanje, stavlja pročitane informacije u memoriju i prenosi kontrolu na nju (tj. na virus). Nakon toga počinju se izvršavati instrukcije virusa koje:
1. po pravilu smanjuje količinu slobodne memorije (riječ na adresi 0040:0013), kopira svoj kod u oslobođeni prostor i čita njegov nastavak (ako ga ima) sa diska. U budućnosti, neki virusi "čekaju" da se OS učita i vrati ovu riječ na izvorno značenje. Kao rezultat toga, oni se ne nalaze izvan OS-a, već kao zasebni memorijski blokovi operativnog sistema.
2. presreće potrebne vektore prekida (obično - INT 13h), čita originalni boot sektor u memoriju i prenosi kontrolu na njega.

U budućnosti, boot virus se ponaša na isti način kao rezidentni fajl virus: presreće pristup operativnom sistemu diskovima i inficira ih, u zavisnosti od određenih uslova, vrši destruktivne radnje ili izaziva zvučne ili video efekte.

Postoje nerezidentni virusi za podizanje sistema - kada se učitaju, oni inficiraju MBR tvrdog diska i disketa, ako su prisutni u pogonima. Tada takvi virusi prenose kontrolu na originalni bootloader i više ne utiču na rad računara.

File virusi

Ova grupa uključuje viruse koji tokom svoje reprodukcije na ovaj ili onaj način koriste sistem datoteka bilo kojeg OS-a.

Uvođenje fajl virusa moguće je u skoro sve izvršne datoteke svih popularnih operativnih sistema, kao i u dinamičke i virtuelne biblioteke drajvera (dll, VxD) i mnoge druge datoteke.

Postoje virusi koji inficiraju datoteke koje sadrže izvorne tekstove programa, bibliotečke ili objektne module. Moguće je da virus piše u datoteke s podacima, ali to se dešava ili kao rezultat greške virusa ili kada se ispolje njegova agresivna svojstva. Makro virusi također zapisuju svoj kod u datoteke s podacima - dokumente ili proračunske tablice - međutim, ovi virusi su toliko specifični da su smješteni u posebnu grupu.

Ovaj način zaraze je najjednostavniji: virus piše vlastiti kod umjesto koda zaražene datoteke, uništavajući njen sadržaj. Naravno, u ovom slučaju, datoteka prestaje raditi i ne vraća se. Takvi virusi se vrlo brzo otkrivaju, jer operativni sistem i aplikacije prestaju da rade prilično brzo.

Ubacivanje virusa na početak datoteke

Unošenje virusa na početak fajla koristi se u ogromnoj većini slučajeva kod inficiranja DOS BAT i COM fajlova.Postoji nekoliko virusa koji se sami upisuju na početak EXE fajlova DOS, Windows, pa čak i Linux operativnih sistema. , ili dezinficirajte zaraženu datoteku, ponovo je pokrenite, pričekajte da se završi i ponovo upišite na početak (ponekad se za to koristi privremena datoteka u koju se upisuje neutralizirani fajl), ili vratite programski kod u memoriju računara i konfigurirati potrebne adrese u njegovom tijelu (tj. duplirati rad OS-a).

Injekcija virusa na kraju datoteke

Najčešći način da se virus ubaci u datoteku je dodavanje virusa na kraj datoteke. U ovom slučaju, virus mijenja početak datoteke na način da prve izvršne naredbe programa sadržane u datoteci budu komande virusa.

U DOS COM datoteci, u većini slučajeva to se postiže promjenom prva tri (ili više) bajta u JMP Loc_Virus instrukcijske kodove (ili, općenito, u kodove programa koji prenosi kontrolu na tijelo virusa).

Virusi koji infiltriraju SYS datoteke prilažu svoje kodove tijelu datoteke i mijenjaju adrese programa strategije i prekida zaraženog drajvera. Tokom inicijalizacije zaraženog drajvera, virus presreće odgovarajući zahtev operativnog sistema, prosleđuje ga drajveru, čeka odgovor na ovaj zahtev, ispravlja ga i ostaje zajedno sa drajverom u istom bloku RAM-a. Takav virus može biti izuzetno opasan i izdržljiv, jer se unosi u RAM kada se OS učita prije bilo kojeg antivirusnog programa, osim ako, naravno, nije i drajver.

Postoje i virusi koji inficiraju sistemske drajvere na drugačiji način: virus mijenja svoje zaglavlje tako da OS tretira zaraženu datoteku kao lanac od dva (ili više) drajvera.

Slično, virus može upisati svoje kodove na početak drajvera, a ako datoteka sadrži nekoliko drajvera, onda na sredinu datoteke.

Ubacivanje virusa u sredinu datoteke

Postoji nekoliko metoda za ubacivanje virusa u sredinu datoteke. U najjednostavnijem od njih, virus prenosi dio datoteke na njen kraj ili "širi" datoteku i upisuje njen kod u oslobođeni prostor. Ova metoda je vrlo slična metodama koje su gore navedene. Neki virusi komprimiraju prijenosni blok datoteka na takav način da se dužina datoteke ne mijenja tokom infekcije.

Druga je metoda "šupljine", u kojoj se virus upisuje u očigledno neiskorištena područja datoteke. Virus se može kopirati u neiskorištena područja DOS adresne tablice EXE datoteke ili zaglavlja NewEXE datoteke, u područje steka datoteke COMMAND.COM ("Lehigh") ili u područje tekstualnih poruka popularnih kompajlera ("NMSG"). Postoje virusi koji inficiraju samo one datoteke koje sadrže blokove ispunjene nekim konstantnim bajtom, dok virus umjesto takvog bloka piše vlastiti kod.

Virusi bez ulazne tačke

Prilično beznačajnu grupu virusa koji nemaju "ulaznu tačku" (EPO-virusi - Entry Point Obscuring virusi) treba posebno istaći. To uključuje viruse koji ne pišu komande za prijenos kontrole u zaglavlje COM datoteka (JMP) i ne mijenjaju adresu početne točke u zaglavlju EXE datoteka. Takvi virusi pišu naredbu za prebacivanje na svoj kod negdje u sredini datoteke i primaju kontrolu ne direktno kada se zaražena datoteka pokrene, već kada pozivaju proceduru koja sadrži kod za prijenos kontrole na tijelo virusa. Štaviše, ovaj postupak se može izvesti izuzetno rijetko (na primjer, kada se prikazuje poruka o određenoj grešci). Kao rezultat toga, virus može "spavati" unutar datoteke dugi niz godina i iskočiti na slobodu samo pod određenim ograničenim uvjetima.

Prije nego što napiše naredbu za skok na njen kod u sredinu datoteke, virus treba da odabere "ispravnu" adresu u datoteci - inače bi zaražena datoteka mogla biti oštećena. Postoji nekoliko načina na koje virusi određuju takve adrese unutar datoteka.

Prvi način- potražite u datoteci sekvencu standardnog C/Pascal koda. Ovi virusi traže standardna zaglavlja C/Pascal procedura u zaraženim datotekama i umjesto toga pišu vlastiti kod.

Drugi način- praćenje ili rastavljanje koda datoteke. Takvi virusi učitavaju datoteku u memoriju, zatim je prate ili rastavljaju i, ovisno o različitim uvjetima, odabiru naredbu (ili naredbe) umjesto koje se u tijelo virusa upisuje prijelazni kod.

Treći način koriste samo rezidentni virusi - oni kontroliraju neku vrstu prekida prilikom pokretanja datoteke (češće - INT 21h). Čim zaražena datoteka pokrene ovaj prekid, virus piše vlastiti kod umjesto naredbe za pozivanje prekida.

Pratilac - virusi

Kategorija "pratilac" uključuje viruse koji ne mijenjaju zaražene datoteke. Algoritam rada ovih virusa je da se za zaraženu datoteku kreira blizanac, a kada se zaraženi fajl pokrene, taj blizanac dobija kontrolu, tj. virus.

Najčešći prateći virusi koriste DOS funkciju da prvo izvrše .COM datoteku ako postoje dvije datoteke u istom direktoriju s istim imenom, ali različitim ekstenzijama imena - .COM i .EXE. Takvi virusi kreiraju satelitske datoteke za EXE datoteke koje imaju isto ime, ali sa ekstenzijom .COM, na primjer, XCOPY.COM se kreira za datoteku XCOPY.EXE. Virus piše u COM datoteku i ni na koji način ne mijenja EXE datoteku. Prilikom pokretanja takvog fajla, DOS će prvi otkriti i izvršiti COM fajl, tj. virus, koji će zatim pokrenuti EXE datoteku. Neki virusi koriste ne samo COM-EXE varijantu, već i BAT-COM-EXE.

Drugu grupu čine virusi koji, kada su zaraženi, preimenuju datoteku u neko drugo ime, pamte je (za naknadno pokretanje host fajla) i zapisuju svoj kod na disk pod imenom zaražene datoteke. Na primjer, datoteka XCOPY.EXE je preimenovana u XCOPY.EXD, a virus je napisan pod imenom XCOPY.EXE. Prilikom pokretanja, kontrola preuzima virusni kod, koji zatim pokreće originalni XCOPY, pohranjen pod imenom XCOPY.EXD. Zanimljiva činjenica je da ova metoda radi, vjerovatno, u svim operativnim sistemima - virusi ovog tipa pronađeni su ne samo u DOS-u, već iu Windows-u i OS/2.

Treća grupa uključuje takozvane "Path-companion" viruse koji "igraju" na karakteristike DOS PATH. Oni ili pišu svoj kod pod imenom zaražene datoteke, ali "više" na jednom PATH nivou (DOS će tako biti prvi koji će otkriti i pokrenuti virusnu datoteku), ili prebacuju datoteku žrtve jedan poddirektorij više, itd.

File crvi

Datotečni crvi su, na neki način, vrsta pratećih virusa, ali ni na koji način ne povezuju svoje prisustvo sa bilo kojom izvršnom datotekom. Kada se reproduciraju, oni samo kopiraju svoj kod u neke direktorije diska u nadi da će te nove kopije jednog dana pokrenuti korisnik. Ponekad ovi virusi svojim kopijama daju "posebna" imena kako bi ohrabrili korisnika da pokrene njihovu kopiju - na primjer, INSTALL.EXE ili WINSTART.BAT.

Postoje crvi koji zapisuju svoje kopije u arhive (ARJ, ZIP, RAR i druge). Ovi virusi uključuju "ArjVirus" i "Winstart". Neki virusi pišu naredbu za pokretanje zaražene datoteke u BAT datoteke.

Datotečne crve ne treba brkati sa mrežnim crvima. Prvi koriste samo funkcije datoteka nekog operativnog sistema, dok drugi koriste mrežne protokole za njihovu reprodukciju.

Link virusi

Link-virusi, poput pratioca - virusi ne mijenjaju fizički sadržaj datoteka, međutim, kada se zaražena datoteka pokrene, oni "tjeraju" OS da izvrši svoj kod. Oni postižu ovaj cilj modifikacijom potrebnih polja sistema datoteka.

Do danas je poznat samo jedan tip Link-virusa - virusi iz porodice "Dir_II". Kada zaraze sistem, upisuju svoje tijelo u posljednji klaster logičkog pogona. Kada inficiraju datoteku, virusi ispravljaju samo broj prvog klastera datoteke koji se nalazi u odgovarajućem sektoru direktorija. Novi početni klaster datoteka pokazat će na klaster koji sadrži tijelo virusa. Dakle, kada su datoteke zaražene, njihova dužina i sadržaj klastera diskova koji sadrže ove datoteke se ne mijenjaju, a sve zaražene datoteke na jednom logičkom disku imat će samo jednu kopiju virusa.

Jednom zaraženi, podaci direktorija upućuju na virus, tj. kada se datoteka pokrene, ne preuzimaju kontrolu datoteke, već virus.

OBJ-, LIB-virusi i virusi u izvornom kodu

Virusi koji inficiraju biblioteke kompajlera, objektne module i izvorne kodove programa prilično su egzotični i praktički neuobičajeni. Ukupno ih je desetak. Virusi koji inficiraju OBJ i LIB datoteke zapisuju im svoj kod u obliku objektnog modula ili biblioteke. Zaražena datoteka stoga nije izvršna i nesposobna za dalje širenje virusa u svom trenutnom stanju. Nositelj "živog" virusa je COM ili EXE datoteka dobivena povezivanjem zaražene OBJ/LIB datoteke s drugim objektnim modulima i bibliotekama. Dakle, virus se širi u dvije faze: OBJ/LIB fajlovi se inficiraju u prvoj fazi, au drugoj fazi (povezivanje) dobija se funkcionalni virus.

Infekcija izvornih tekstova programa je logičan nastavak prethodne metode širenja. U ovom slučaju, virus dodaje svoj izvorni kod izvornom tekstu (u ovom slučaju virus ga mora sadržavati u svom tijelu) ili vlastiti heksadecimalni dump (što je tehnički lakše). Zaražena datoteka je sposobna za dalje širenje virusa tek nakon kompilacije i povezivanja.

Algoritam virusa datoteka

Način vraćanja programa u prvobitno stanje ovisi o tome kako je datoteka zaražena. Ako se virus ubaci na početak datoteke, on ili pomiče kodove zaraženog programa za broj bajtova koji je jednak dužini virusa, ili pomiče dio programskog koda s njegovog kraja na početak, ili vraća fajl na disku, a zatim ga pokreće. Ako se virus upisao na kraj datoteke, tada prilikom vraćanja programa koristi informacije pohranjene u njegovom tijelu kada je datoteka zaražena. Ovo može biti dužina datoteke, nekoliko bajtova od početka datoteke u slučaju COM datoteke ili nekoliko bajtova zaglavlja u slučaju EXE datoteke. Ako je virus snimljen u sredini datoteke na poseban način, tada prilikom vraćanja datoteke koristi i posebne algoritme.

Ubacivanje virusa u DOS COM i EXE datoteke

Izvršne binarne COM ili EXE datoteke koje se razlikuju po naslovu i načinu pokretanja programa. Ekstenzija naziva datoteke ("*.COM" ili "*.EXE") ne odgovara uvijek stvarnom formatu datoteke, što, međutim, ni na koji način ne utiče na rad programa. COM i EXE datoteke su različito zaražene, stoga virus mora razlikovati datoteke jednog formata od drugog. Virusi rješavaju ovaj problem na dva načina: neki analiziraju ekstenziju naziva datoteke ("*.COM", "*.EXE"), drugi - zaglavlje datoteke. Prva metoda će se nazivati ​​infekcija *.COM- (ili *.EXE-) datoteka, druga - infekcija COM- (ili EXE-) datoteka.

U većini slučajeva, virus ispravno inficira datoteku; prema informacijama sadržanim u tijelu virusa, možete u potpunosti vratiti zaraženu datoteku. Ali virusi, kao i većina programa, često sadrže greške koje su na prvi pogled neprimjetne. Zbog toga, čak i dobro napisan virus može nepovratno oštetiti datoteku kada je zaražena. Na primjer, virusi koji razlikuju tipove datoteka po ekstenzijama imena (*.COM, *.EXE) su vrlo opasni, jer oštećuju datoteke čija ekstenzija imena ne odgovara internom formatu.

Jedan od najčešćih primjera netačne infekcije datoteke je COMMAND.COM iz Windows95. Ova datoteka je, u stvari, EXE datoteka, štoviše, ima veličinu veću od 90K, što je nemoguće za COM datoteku. Stoga virusi koji razlikuju COM/EXE datoteke po ekstenziji imena i ne provjeravaju dužinu zaraženih COM datoteka (na primjer, "Džanki") oštećuju takav COMMAND.COM i on postaje neoperativan.

Primitive Disguise

Kada je datoteka zaražena, virus može izvršiti brojne radnje koje maskiraju i ubrzavaju njegovo širenje. Takve radnje uključuju obradu atributa samo za čitanje, njegovo uklanjanje prije infekcije i vraćanje nakon. Mnogi virusi datoteka čitaju datum posljednje izmjene datoteke i vraćaju je nakon infekcije. Da bi prikrili svoje širenje, neki virusi presreću OS prekid koji se javlja prilikom pristupa disku zaštićenom od pisanja (INT 24h) i sami ga obrađuju.

Brzina širenja

Govoreći o virusima datoteka, potrebno je napomenuti takvu njihovu osobinu kao što je brzina distribucije. Što se virus brže širi, veća je vjerovatnoća da će doći do epidemije tog virusa. Što se virus sporije širi, teže ga je otkriti (osim ako, naravno, ovaj virus još nije poznat antivirusnim programima). Koncepti "brzi" i "spori" virusi (Fast infector, Slow infector) su prilično relativni i koriste se samo kao karakteristika virusa kada se opisuju.

Nerezidentni virusi su često "spori" - većina njih inficira jednu ili dvije ili tri datoteke pri pokretanju i nemaju vremena da preplave računalo prije nego što se pokrene antivirusni program (ili se konfigurira nova verzija antivirusnog programa). jer se pojavljuje ovaj virus). Postoje, naravno, nerezidentni "brzi" virusi koji prilikom pokretanja traže i inficiraju sve izvršne datoteke, međutim, takvi virusi su vrlo uočljivi: kada se pokrene svaka zaražena datoteka, računar aktivno radi s tvrdim diskom za neki (ponekad dosta dugo), koji demaskira virus.

"Brzina" rezidentnih virusa je obično veća od nerezidentnih - oni inficiraju datoteke kada im se pristupi. Kao rezultat toga, sve ili gotovo sve datoteke na disku koje se stalno koriste u radu su zaražene.

Stopa širenja rezidentnih virusa datoteka koji inficiraju datoteke samo kada su pokrenute za izvršenje bit će niža od one virusa koji inficiraju datoteke i kada se otvore, preimenuju, promijene atributi datoteka itd. Mnogi virusi, kada kreiraju svoju kopiju u RAM-u računara, pokušavaju da zauzmu memorijsku oblast sa najvišim adresama, uništavajući privremeni deo tumača komandi COMMAND.COM. Na kraju zaraženog programa, vraća se privremeni dio interpretera, otvara se datoteka COMMAND.COM i, ako virus zarazi datoteke kada se otvore, on je zaražen. Dakle, kada se takav virus pokrene, datoteka COMMAND.COM će biti prva zaražena.

Materijali i podaci preuzeti su iz izvora:
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

  • Za objavljivanje komentara, prijavite se ili registrirajte

Nakon pokretanja programa koji sadrži virus, postaje moguće zaraziti druge datoteke. Najčešće su virusom zaraženi sektor za pokretanje diska i izvršne datoteke s ekstenzijama EXE, COM, SYS ili BAT. Tekstualne i grafičke datoteke su izuzetno rijetko zaražene.

Zaraženi program je program koji sadrži virusni program ugrađen u njega.

Znakovi manifestacije virusa

Kada se računar zarazi virusom, veoma je važno da ga otkrijete na vreme. Da biste to učinili, trebali biste znati o glavnim znakovima manifestacije virusa. To uključuje sljedeće:

Prestanak rada ili nepravilan rad prethodno uspješno funkcionisanih programa;

Spore performanse računara;

Nemogućnost pokretanja operativnog sistema;

Nestanak datoteka i direktorija ili izobličenje njihovog sadržaja;

Promjena datuma i vremena izmjene datoteke;

Promjena veličine datoteka;

Neočekivano značajno povećanje broja datoteka na disku;

Značajno smanjenje veličine slobodnog RAM-a;

Prikazivanje neočekivanih poruka ili slika na ekranu;

Davanje nepredviđenih zvučnih signala;

Često zamrzavanje i rušenje računara.

Treba napomenuti da gore navedene pojave nisu nužno uzrokovane prisustvom virusa, već mogu biti uzrokovane drugim uzrocima. Stoga je uvijek teško ispravno dijagnosticirati stanje računara.

Glavne vrste virusa

Trenutno je poznato više od 15.000 softverskih virusa, koji se mogu klasifikovati prema sledećim karakteristikama (slika 11.10):

Po staništu;

Prema načinu infekcije;

Prema stepenu uticaja;

Prema karakteristikama algoritma.

U zavisnosti od stanište virusi se mogu podijeliti

na mreži,

fajl,

Boot

File-boot.

· Mrežni virusi se šire po raznim kompjuterskim mrežama.

· Datotečni virusi se uvode uglavnom u izvršne module, tj. na datoteke sa COM i EXE ekstenzijama. Datotečni virusi mogu zaraziti i druge vrste datoteka, ali u pravilu su upisani u takve datoteke, nikada ne preuzimaju kontrolu i stoga gube sposobnost reprodukcije.

· Virusi za pokretanje inficiraju sektor za pokretanje diska (sektor za pokretanje) ili sektor koji sadrži program za pokretanje sistemskog diska (Master Boot Record).

· File-boot virusi inficiraju i datoteke i sektore za pokretanje diskova.

Prema načinu infekcije virusi se dijele na

Stambeni

Nerezident.

· Kada rezidentni virus inficira (inficira) računar, on ostavlja svoj rezidentni dio u RAM-u, koji zatim presreće pristup operativnog sistema zaraženim objektima (fajlovi, sektori za pokretanje diska, itd.) i infiltrira ih. Rezidentni virusi se nalaze u memoriji i ostaju aktivni sve dok se računar ne isključi ili ponovo pokrene.

· Nerezidentni Prusi ne inficiraju memoriju računara i aktivni su ograničeno vreme.

Prema stepenu uticaja, virusi se mogu podeliti na sledeće tipove:

neopasan ne ometajući rad računala, ali smanjujući količinu slobodnog RAM-a i prostora na disku, djelovanje takvih virusa očituje se u bilo kojim grafičkim ili zvučnim efektima;

opasni virusi, što može dovesti do raznih kvarova na računaru;

veoma opasno, čiji uticaj može dovesti do gubitka programa, uništavanja podataka, brisanja informacija u sistemskim oblastima diska

Prema karakteristikama algoritma viruse je teško klasifikovati zbog njihove velike raznolikosti.

Može se primetiti replicirajući viruse koji se nazivaju crvi, koji se distribuiraju po računarskim mrežama, izračunavaju adrese mrežnih računara i zapisuju njihove kopije na te adrese.

poznato nevidljivi virusi koji se nazivaju step virusi, koje je veoma teško otkriti i neutralisati, jer presreću pozive operativnog sistema na zahvaćene fajlove i sektore diska i zamenjuju neinficirane oblasti diska umesto svog tela.

Najteže je otkriti mutantnih virusa, koji sadrži algoritme šifriranja-dešifriranja, zahvaljujući kojima kopije istog virusa nemaju niti jedan lanac bajtova koji se ponavlja.

Postoje i tzv kvazivirusni ili "trojanski" programi, koji, iako nisu sposobni za samoraznošenje, veoma su opasni, jer, prerušeni u koristan program, uništavaju boot sektor i sistem datoteka na disku.

Programi za otkrivanje i zaštitu od virusa

Karakteristike antivirusnih programa

Za otkrivanje, uklanjanje i zaštitu od kompjuterskih virusa razvijeno je nekoliko vrsta posebnih programa koji vam omogućavaju otkrivanje i uništavanje virusa. Takvi programi se nazivaju antivirusni programi.

Postoje sljedeće vrste antivirusnih programa:

programi-detektori;

programi-liječnici ili fagi;

programi revizori;

Filtrirajte programe

vakcinalni programi ili imunizatori.

Programi-detektori izvrši pretragu niza bajtova karakterističnih za određeni virus (virusni potpis) u RAM-u i u datotekama i, ako se otkrije, izda odgovarajuću poruku. Nedostatak takvih antivirusnih programa je što mogu pronaći samo viruse koji su poznati programerima takvih programa.

Doktorski programi ili fagi - dizajniran za liječenje zaraženih diskova i programa. Liječenje programa se sastoji u uklanjanju tijela virusa iz zaraženog programa. Polifag je u stanju da uništi mnoge viruse. Najpoznatiji su Aidstest, Norton AntiVirus i Doctor Web.

revizorski programi: dizajniran za otkrivanje virusne infekcije datoteka, kao i za pronalaženje oštećenih datoteka. Ovi programi pamte podatke o stanju programa i sistemskih područja diskova u normalnom stanju (prije infekcije) i upoređuju te podatke tokom rada računara. Ako se podaci ne podudaraju, prikazuje se poruka o mogućnosti infekcije;

filtriranje programa ili memorije dizajniran za presretanje poziva u operativni sistem, koje koriste virusi za reprodukciju i obavještavanje korisnika o tome. Korisnik može omogućiti ili onemogućiti odgovarajuću operaciju. Takvi programi su rezidentni, odnosno nalaze se u RAM-u računara.

programe vakcinacije: koristi se za obradu datoteka i sektora za pokretanje kako bi se spriječila infekcija poznatim virusima (ova metoda se sve više koristi u posljednje vrijeme).

Vakcine ili imunizatori su rezidentni programi koji sprečavaju infekciju datoteka. Vakcine se koriste ako ne postoje doktorski programi koji "liječe" ovaj virus. Vakcinacija je moguća samo protiv poznatih virusa. Vakcina modificira program ili disk na takav način da ne utječe na njihov rad, a virus će ih doživjeti kao zaražene i stoga se neće ukorijeniti. Programi vakcinacije su trenutno u ograničenoj upotrebi.

Treba napomenuti da je odabir jednog "najboljeg" antivirusa vrlo pogrešna odluka. Preporučljivo je koristiti nekoliko različitih antivirusnih paketa u isto vrijeme. Prilikom odabira antivirusnog programa, obratite pažnju na parametar kao što je broj potpisa koji prepoznaju (niz znakova koji će zajamčeno prepoznati virus). Drugi parametar je prisustvo heurističkog analizatora nepoznatih virusa, njegovo prisustvo je veoma korisno, ali značajno usporava program. Do danas postoji veliki broj različitih antivirusnih programa.

Jedan od najboljih antivirusnih programa sa moćnim algoritmom za otkrivanje virusa. Polyphage, sposoban za skeniranje datoteka u arhivama, Word dokumentima i Excel radnim knjigama, otkriva polimorfne viruse, koji su u posljednje vrijeme sve rašireniji. Dovoljno je reći da je upravo DrWeb zaustavio epidemiju vrlo opasnog OneHalf virusa. Heuristički analizator DrWeb, koji ispituje programe na prisustvo fragmenata koda karakterističnih za viruse, omogućava vam da pronađete gotovo 90% nepoznatih virusa. Prilikom učitavanja programa, DrWeb prije svega sam sebe provjerava integritet, nakon čega testira RAM. Program može raditi u interaktivnom načinu rada, ima zgodan prilagodljiv korisnički interfejs.

ADINF (Advanced DiskINFoscope) antivirusni disk inspektor vam omogućava da pronađete i uništite kako postojeće regularne, stealth- i polimorfne viruse, tako i potpuno nove. Antivirus ima na raspolaganju jedinicu za liječenje ADINF auditora - Adinf Cure Module - koja može neutralizirati do 97% svih virusa. Ovu brojku daje Dialognauka, na osnovu rezultata testiranja na zbirkama virusa dva priznata autoriteta u ovoj oblasti - D.N. Lozinsky i Dr. Solomon's (Velika Britanija).

ADINF se automatski učitava kada se računar uključi i kontroliše boot sektor i fajlove na disku (datum i vreme kreiranja, dužina, kontrolni zbir), prikazujući poruke o njihovim promenama. Zbog činjenice da ADINF obavlja operacije diska zaobilazeći operativni sistem, pozivajući se na funkcije BIOS-a, postiže se ne samo mogućnost otkrivanja aktivnih stealth virusa, već i velika brzina skeniranja diska. Ako se pronađe virus za pokretanje, ADINF će jednostavno vratiti prethodni sektor za pokretanje koji je pohranjen u njegovoj tabeli. Ako je virus datotečni, tada u pomoć priskače Adinf Cure Module, koji na osnovu izvještaja glavnog modula o zaraženim datotekama upoređuje nove parametre datoteke sa prethodnim pohranjenim u posebnim tabelama. Kada se otkriju neslaganja, ADINF vraća prethodno stanje datoteke i ne uništava tijelo virusa, kao što to rade polifagi.

Antivirus AVP (AntiVirus Program) je polifag, tokom svog rada provjerava RAM, fajlove, uključujući arhivske fajlove, na disketama, lokalnim, mrežnim i CD-ROM diskovima, kao i strukture podataka sistema, kao što je sektor za pokretanje, tabela particija , i sl. Program ima heuristički analizator, koji, prema antivirusnim programerima, može pronaći skoro 80% svih virusa. AVP je 32-bitna aplikacija za Windows 98, NT i 2000 operativne sisteme, ima korisničko sučelje i jednu od najvećih svjetskih antivirusnih baza podataka. Antivirusne baze podataka za AVP se ažuriraju otprilike jednom sedmično i mogu se dobiti sa interneta. Ovaj program traži i uklanja širok spektar virusa, uključujući:

  • polimorfni ili samošifrirajući virusi;
  • stealth virusi, ili nevidljivi virusi;
  • novi virusi za Windows;
  • makro virusi koji inficiraju Word dokumente i Excel tabele.

Osim toga, AVP program prati operacije datoteka u sistemu u pozadini, detektuje virus prije nego što je sistem stvarno zaražen, a također otkriva nepoznate viruse pomoću heurističkog modula.

Top Related Articles