Come configurare smartphone e PC. Portale informativo
  • casa
  • Consigli
  • Quali virus informatici ci sono? Metodi di lotta? Caratteristiche dei virus informatici. Controllo dello stato del file system FAT

Quali virus informatici ci sono? Metodi di lotta? Caratteristiche dei virus informatici. Controllo dello stato del file system FAT

VIRUS INFORMATICI


E file contestati e infetti
Classificazione dei virus PREVENZIONE E LOTTA AI VIRUS INFORMATICI

INTRODUZIONE

Attualmente, molte aree dell'attività umana sono associate all'uso dei computer. Perché queste macchine elettroniche sono così strettamente integrate nelle nostre vite? Tutto è abbastanza banale. Eseguono calcoli di routine e lavori di progettazione, liberando il nostro cervello per compiti più necessari e responsabili. Di conseguenza, la fatica si riduce drasticamente e iniziamo a lavorare in modo molto più produttivo che senza l'uso di un computer.
Le possibilità dei computer moderni stupiscono l'immaginazione più fertile. Sono in grado di eseguire diversi compiti in parallelo, la cui complessità è piuttosto elevata. Pertanto, alcuni produttori stanno pensando di creare l'intelligenza artificiale. Anche ora, il lavoro di un computer assomiglia al lavoro di un assistente elettronico intelligente di una persona.
Ma chi avrebbe mai pensato che questo miracolo elettronico della tecnologia fosse caratterizzato da malattie simili a quelle umane. Lui, proprio come una persona, può essere attaccato da un "virus", ma informatico. E se non agisci, il computer presto "si ammalerà", ad es. inizierà a compiere le azioni sbagliate o "morirà" del tutto. i danni provocati dal "virus" saranno gravissimi. Cosa sono i virus informatici e come affrontarli verrà discusso ulteriormente.

VIRUS INFORMATICI

Che cos'è un virus informatico?

Oggi esistono diversi tipi principali di malware:
- classico virus informatico;
- "Trojan" o cavallo di Troia (troj);
- Verme;
- spia o spia, keyloger
- colpo di radice;
- bot o zombi.

Un tempo erano i virus classici a essere più diffusi, ma i loro creatori raramente si sono prefissati l'obiettivo specifico di danneggiare l'utente finale, ma piuttosto sono stati creati per scopi cognitivi. Gli autori di virus di oggi perseguono obiettivi assolutamente chiari e comprensibili: il denaro e la loro "progenie" sono diventati molto più pericolosi dei loro predecessori. Quindi permettetemi di presentare i predatori più pericolosi dello spazio informativo odierno: Trojan e Worm.
Trojan o troj prende il nome dalla somiglianza tra il metodo di infezione e la famosa mossa tattica durante l'assedio di Troia. Un esempio di infezione da Trojan: ricevi una lettera da un certo "amico" con il testo: - "Ciao! Sono appena tornato dal mare - mi sono riposato così bene! Ecco le mie foto - guarda.", E in allegato file con estensione ".JPG". Questi stessi file sono il cavallo di Troia nelle cui profondità è nascosto il codice dannoso. Le fonti di infezione più comuni sono e-mail, siti di incontri, siti di musica e siti di software gratuito. Cosa fa il Trojan? Di norma, il suo compito è aprire la strada ad altri virus, agire come primo punto d'appoggio. Come evitare di essere infettati da un Trojan? Qui tutto è come nella vita: proteggiti ed evita le connessioni casuali =). Questa regola è vera per qualsiasi virus e altro malware. Se ti è stata inviata un'e-mail, prima di guardare i file allegati, controlla il mittente, salva l'allegato sul tuo computer e controllalo con un antivirus, quindi aprilo.

Il worm o Worm è una caratteristica di questi programmi in evoluzione e autonomia. Quando un worm entra in un computer, di solito attacca i programmi di posta ei cercapersone Internet. Dopo aver ottenuto l'accesso alla posta o al cercapersone, inizia a inviare lettere/messaggi contenenti una versione modificata di se stesso. Successivamente, si autodistrugge o infetta i file eseguibili (EXE, COM, BAT). Poiché il virus cambia da solo, è invulnerabile fino a quando non viene rilevato nel database dell'antivirus. Ecco perché oggi un antivirus con licenza è un must assoluto per qualsiasi proprietario di PC.

Un virus informatico è un piccolo programma appositamente scritto che può "attribuirsi" ad altri programmi (cioè "infettarli"), nonché eseguire varie azioni indesiderate sul computer. Il programma che contiene il virus si chiama infetto. Quando un programma del genere inizia a funzionare, il virus prende prima il controllo. Il virus trova e "infetta" altri programmi ed esegue anche alcune azioni dannose (ad esempio, corrompe i file o la tabella di allocazione dei file (FAT) sul disco, "intasa" la RAM, ecc.). Per mascherare un virus, le azioni per infettare altri programmi e causare danni potrebbero non essere sempre eseguite, ma, ad esempio, quando vengono soddisfatte determinate condizioni. Dopo che il virus ha eseguito le azioni di cui ha bisogno, trasferisce il controllo al programma in cui si trova e funziona come al solito. Quindi, esteriormente, il lavoro di un programma infetto sembra lo stesso di uno non infetto.
Molti tipi di virus sono progettati in modo tale che quando viene lanciato un programma infetto, il virus rimane nella memoria del computer e di tanto in tanto infetta programmi ed esegue azioni indesiderate sul computer.
Tutte le azioni del virus possono essere eseguite molto rapidamente e senza emettere alcun messaggio, quindi è molto difficile, quasi impossibile per l'utente determinare che sta accadendo qualcosa di insolito sul computer.
Finché ci sono relativamente pochi programmi infetti sul computer, la presenza di un virus può essere quasi invisibile. Tuttavia, dopo qualche tempo, sul computer inizia a succedere qualcosa di strano, ad esempio:
- alcuni programmi smettono di funzionare o iniziano a funzionare in modo errato;
- sullo schermo vengono visualizzati messaggi, simboli, ecc. estranei;
- il lavoro al computer rallenta notevolmente;
- alcuni file sono danneggiati, ecc.
A questo punto, di norma, molti (o anche la maggior parte) dei programmi tecnici con cui lavori sono già stati infettati da un virus e alcuni file e dischi sono danneggiati. Inoltre, i programmi infetti dal tuo computer potrebbero essere già stati trasferiti tramite floppy disk o una rete locale ai computer dei tuoi colleghi e amici.
Alcuni virus sono molto subdoli. All'inizio, infettano in modo invisibile un gran numero di programmi e dischi, quindi causano danni molto gravi, ad esempio formattano l'intero disco rigido su un computer, ovviamente, dopo ciò, è semplicemente impossibile recuperare i dati. E ci sono virus che si comportano in modo molto furtivo e a poco a poco rovinano i dati sul disco rigido o spostano la tabella di allocazione dei file (FAT).
Pertanto, se non si adottano misure per proteggersi dal virus, le conseguenze dell'infezione possono essere molto gravi. Ad esempio, all'inizio del 1989. Il virus, scritto dallo studente americano Morris, ha infettato e disabilitato migliaia di computer, compresi quelli appartenenti al Dipartimento della Difesa degli Stati Uniti. L'autore del virus è stato condannato da un tribunale a tre mesi di carcere e una multa di 270mila dollari. La punizione avrebbe potuto essere più severa, ma il tribunale ha tenuto conto che il virus non ha rovinato i dati, ma si è solo moltiplicato.
Affinché il virus del programma sia invisibile, deve essere di piccole dimensioni. Pertanto, i virus sono generalmente scritti in linguaggi assembler di basso livello o comandi in linguaggio C di basso livello.
I virus vengono scritti da programmatori esperti o studenti semplicemente per curiosità o per ritorsione contro qualcuno o un'impresa che li ha trattati in modo inappropriato o per scopi di sabotaggio commerciale o mirato. Qualunque sia l'obiettivo perseguito dall'autore, il virus potrebbe finire sul tuo computer e tenterà di eseguire le stesse azioni dannose di quello per cui è stato creato.
Va notato che scrivere un virus non è un compito così difficile, abbastanza accessibile a uno studente che studia programmazione. Pertanto, ogni settimana compaiono sempre più virus nel mondo. E molti di loro sono realizzati nel nostro paese.

File corrotti e infetti

Un virus informatico può rovinare, ad es. modificare in modo improprio qualsiasi file sui dischi del computer. Ma il virus può "infettare" alcuni tipi di file. Ciò significa che un virus può "infiltrarsi" in questi file, ad es. modificarli in modo che contengano un virus che, in alcune circostanze, può iniziare a funzionare.
Va notato che testi di programmi e documenti, file di informazioni di database, tabelle di processori di tabelle e altri file simili non possono essere infettati da un virus comune, possono solo rovinarli. Tali file possono essere infettati solo da virus Macro. Questi virus possono persino infettare i tuoi documenti.
Il caricatore del sistema operativo e il record di avvio principale del disco rigido. I virus che infettano queste aree sono chiamati virus di avvio o virus BOOT. Un tale virus inizia il suo lavoro quando il computer si avvia e diventa residente, ad es. risiede nella memoria del computer. Meccanismo di distribuzione: infezione dei record di avvio dei dischi floppy inseriti nel computer. Tali virus sono spesso costituiti da due parti, poiché il record di avvio è piccolo ed è difficile inserirvi l'intero programma antivirus. Parte del virus si trova in un'altra parte del disco, ad esempio alla fine della directory principale del disco o in un cluster nell'area dati del disco (di solito un tale cluster viene dichiarato difettoso per evitare che il virus venga sovrascritto durante la scrittura dei dati).
File dei driver di dispositivo a cui si fa riferimento nella clausola DEVICE del file CONFIG.SYS. Il virus in essi inizia il suo lavoro con ogni accesso al dispositivo corrispondente. I virus che infettano i driver dei dispositivi sono molto rari perché i driver vengono raramente riscritti da un computer all'altro. Lo stesso vale per i file di sistema DOS (MSDOS.SYS e IO.SYS): anche la loro infezione è teoricamente possibile, ma è inefficace per la diffusione del virus.

In genere, ogni particolare tipo di virus può infettare solo uno o due tipi di file. I virus più comuni sono quelli che infettano i file eseguibili. I boot virus sono al secondo posto in termini di prevalenza. Alcuni virus infettano sia i file che le aree di avvio del disco. I virus che infettano i driver di dispositivo sono estremamente rari e in genere tali virus possono infettare anche i file eseguibili.

Classificazione dei virus

I virus possono essere suddivisi in classi secondo criteri diversi. Ad esempio, sulla base del tradimento:

I virus che infettano istantaneamente un computer formattano il disco rigido, rovinano la tabella di allocazione dei file, rovinano i settori di avvio, cancellano la cosiddetta Flash ROM (dove si trova il BIOS) del computer (virus Chernobyl), in altre parole, causano danni irreparabili danni al computer il prima possibile. Ciò include anche i risultati delle lamentele dei programmatori di virus contro i programmi antivirus. Si tratta delle cosiddette allergie a determinati programmi antivirus. Questi virus sono abbastanza infidi. Ad esempio, un'allergia al Dr.Weber, quando si chiama questo programma, senza esitazione, blocca l'antivirus, rovina tutto ciò che è nella directory con l'antivirus e C: WINDOWS. Di conseguenza, devi reinstallare il sistema operativo e quindi combattere il virus con altri mezzi.
- virus progettati per una lunga vita nel computer. Infettano gradualmente e con attenzione programma dopo programma, senza pubblicizzare la loro presenza, e sostituiscono le aree di inizio del programma per i collegamenti al luogo in cui si trova il corpo del virus. Inoltre, apportano un cambiamento nella struttura del disco impercettibile per l'utente, che si farà sentire solo quando alcuni dati vengono irrimediabilmente persi (ad esempio, il virus "OneHalf-3544", "Yankey-2C").
La separazione può essere effettuata anche sulla base delle modalità di trasmissione e riproduzione.
In precedenza, i virus infettavano principalmente solo i file eseguibili (con le estensioni .com e.exe). Infatti, dopo tutto, un virus è un programma e deve essere eseguito.
Ora i virus vengono inviati via e-mail come programmi demo o come immagini, ad esempio, se hai ricevuto il file "PicturesForYou.jpg" via e-mail, non affrettarti a guardarlo, soprattutto perché è arrivato dal nulla. Se guardi più da vicino il nome, si scopre che ha 42 spazi in più e l'effettiva estensione .exe. Cioè, il nome completo effettivo del file sarà simile a questo:
"PicturesForYou.jpg .exe". Ora chiunque capisce cosa porta effettivamente questa immagine. Questo non è un file di immagine che, quando attivato, chiama il visualizzatore di immagini, ma un virus sfacciato e leggermente velato che aspetta solo di essere attivato con un clic del mouse o la pressione di un tasto. Scarichi un virus del genere sul tuo computer, sotto il guscio di qualche immagine, come un "cavallo di Troia". Da qui il termine gergale per virus come i Trojan.
Al momento ci sono tali gusci di canali di informazione come Internet Explorer, Outlook Express, Microsoft Office. Ora ci sono alcune classi di cosiddetti "Macro-virus". Contengono comandi nascosti per i dati della shell che non sono desiderabili per l'utente medio. E questo codice non è più il codice per il computer, cioè non è più un programma, ma il testo di un programma eseguito dalla shell. Pertanto, può essere scritto in qualsiasi formato richiesto: .html, .htm - per Internet Explorer, .doc, .xls, .xlw, .txt, .prt o qualsiasi altro - per Microsoft Office, ecc. Tali virus causano danni solo di una certa natura, perché la shell non ha comandi, ad esempio, per formattare l'hard disk. Tuttavia, questo tipo di virus merita attenzione, perché con l'aiuto di collegamenti ipertestuali nascosti è in grado di scaricare autonomamente il corpo del virus da Internet sul tuo computer e alcuni virus sono in grado di aggiornare e scaricare in parti via Internet da determinati server. Ad esempio, uno degli studenti giapponesi ha sviluppato proprio un virus del genere che collega un piccolo "downloader" a qualsiasi formato di input da Internet. Inoltre, questo downloader scarica i corpi dei virus da Internet dal server con l'indirizzo IP Babilon5. Ci sono quattro di questi corpi. Ognuno di essi è in grado di distruggere indipendentemente il tuo computer, ma ha uno scopo specifico. Questo virus è di tipo ibrido tra virus macro e virus comuni. Ma va notato che sono gli ibridi i più tenaci, astuti, pericolosi e numerosi tra i virus. Di recente, c'è stato uno scandalo su un programmatore che, secondo gli esperti, ha creato e ha iniziato a diffondere un macro-virus che ha infettato file di testo per Microsoft Word. È stato calcolato in base alla data e all'ora di creazione del documento originale, che è memorizzato in parti invisibili dei file .doc. È possibile che il file sia stato creato da un'altra persona prima che fosse allegato un virus, quindi la domanda sull'attaccante rimane aperta. Ma gli esperti dicono che è così.
Ad esempio, il virus Win32.HLLM.Klez. una delle varietà di un pericoloso worm di rete si diffonde inviando copie di se stesso tramite e-mail. Inoltre, questo worm può diffondersi su una rete locale, infettando i computer i cui dischi sono risorse di rete condivise disponibili per la scrittura. Una volta nel sistema, il worm si invia agli indirizzi trovati nella rubrica di Windows, nel database ICQ e nei file locali. I messaggi infetti inviati da questo worm sfruttano uno dei bug relativamente noti da tempo nel sistema di sicurezza di Internet Explorer, che consente di avviare automaticamente un file di programma (con un virus) allegato a un messaggio quando si visualizza semplicemente la posta in Outlook e Outlook Express .
Proviamo a considerare i metodi di mimetizzazione e protezione utilizzati dai virus contro di noi utenti ordinari e programmi antivirus.
Il tradimento è il modo principale e più veloce per fare un brutto scherzo prima di essere scoperto. Il virus Chernobyl, ad esempio, cancella completamente il BIOS (il programma di avvio che si trova nel chip ROM che fa funzionare il computer). Dopo questo, il computer non sarà in grado di visualizzare nulla. Ma il suo lavoro viene facilmente bloccato se all'interno del computer viene installato un interruttore che vieta la scrittura nell'area ROM. Pertanto, è stato il primo, ma anche, a mio avviso, l'ultimo rappresentante dei virus hardware.
I virus rigenerativi dividono il loro corpo in più parti e le immagazzinano in posti diversi sul disco rigido. Di conseguenza, queste parti sono in grado di trovarsi e assemblarsi in modo indipendente per la rigenerazione del corpo del virus. Il programma antivirus rileva e uccide solo il corpo del virus e le parti di questo corpo non sono incluse nel database antivirus, poiché sono state modificate. La formattazione mirata del disco rigido di basso livello aiuta contro tali virus. In anticipo, è necessario adottare misure attente per preservare le informazioni.
I virus furbi si nascondono non solo da noi, ma anche dai programmi antivirus. Questi "camaleonti" si modificano con l'aiuto delle operazioni più astute e intricate, utilizzando sia i dati correnti (tempo di creazione del file) sia utilizzando quasi la metà dell'intero set di istruzioni del processore. Ad un certo punto, ovviamente, secondo un astuto algoritmo, si trasformano in un virus subdolo e iniziano a occuparsi del nostro computer. Questo è il tipo di virus più difficile da rilevare, ma alcuni programmi antivirus, come "Dr. Weber", sono in grado di rilevare e neutralizzare virus simili utilizzando la cosiddetta analisi euristica.
I virus "invisibili" utilizzano il cosiddetto metodo "Stelth" per impedire il loro rilevamento. Consiste nel fatto che un virus residente in memoria intercetta le chiamate DOS (e quindi i programmi applicativi) ai file e alle aree del disco infetti e li visualizza nella loro forma originale (non infetta). Naturalmente, questo effetto si osserva solo su un computer infetto: su un computer "pulito", le modifiche ai file e alle aree di avvio del disco possono essere facilmente rilevate. Tuttavia, alcuni programmi antivirus possono rilevare virus invisibili anche su computer infetti.
Il worm di rete Randon è apparso nel marzo 2003. Si diffonde attraverso i canali IRC e le risorse della rete locale e infetta i computer che eseguono i sistemi operativi Windows 2000 e Windows XP. Per penetrare in un computer, si connette a una rete locale oa un server IRC, scansiona gli utenti su di esso, stabilisce una connessione con loro sulla porta 445 e cerca di indovinare una password dall'elenco integrato delle frasi usate più frequentemente. Se il sistema viene compromesso con successo, Random invia l'Apher Trojan al sistema, che a sua volta scarica il resto dei componenti del worm da un sito Web remoto. Dopo che "Randon" installa i suoi componenti nella directory di sistema di Windows, registra il suo file principale. Per nascondere la presenza in memoria, utilizza una speciale utility "HideWindows", anch'essa un componente del worm. Grazie ad esso, è invisibile all'utente, in modo che il processo "Randon" attivo possa essere rilevato solo nel Task Manager di Windows. I suoi effetti collaterali sono la creazione di una grande quantità di traffico in eccesso sulla macchina infetta e l'overflow dei canali IRC.
Secondo Kaspersky Lab, uno dei principali sviluppatori di programmi antivirus, fornisce una panoramica dell'attività dei virus per marzo 2003 (Tabella 2 e Fig. 1)

I 20 programmi dannosi più comuni

tab. 2
Nome Quota nel numero totale di incidenti di virus (%)
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.Parola97. Quindi 2,62%
6. I-Worm.Tanatos 1,38%
7. Macro. Parola97.Marcatore 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.Redlo dello 0,57%
13. Backdoor.Morte 0,51%
14. Win95.Spazi 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%
Altro malware * 26,33%

* non incluso nei 20 più comuni

PREVENZIONE E LOTTA AI VIRUS INFORMATICI

Metodi di protezione di base contro i virus informatici

Per proteggersi dai virus, puoi utilizzare:
- Strumenti di protezione delle informazioni generali, utili anche come assicurazione contro danni fisici ai dischi, programmi mal funzionanti o azioni errate degli utenti;
- misure preventive per ridurre la probabilità di contrarre un virus informatico;
- programmi specializzati per la protezione antivirus.
-Gli strumenti di sicurezza delle informazioni generali sono utili per qualcosa di più della semplice protezione dai virus. Esistono due tipi principali di questi rimedi:
copia delle informazioni - creazione di copie di file e aree di sistema dei dischi;
la delimitazione dell'accesso impedisce l'uso non autorizzato delle informazioni, in particolare la protezione contro modifiche di programmi e dati da virus, programmi malfunzionanti e azioni errate degli utenti.
Sebbene gli strumenti di sicurezza delle informazioni generali siano molto importanti per la protezione dai virus informatici, non sono sufficienti. È necessario utilizzare programmi specializzati per proteggersi dai virus informatici. Questi programmi possono essere suddivisi in diversi tipi:
I programmi di rilevamento possono rilevare i file infetti da uno dei numerosi virus conosciuti.
Programmi - medici, o fagi, programmi o dischi infetti "cura virus", "mordere" il corpo del virus dai programmi infetti, ad es. ripristinare il programma nello stato in cui si trovava prima dell'infezione da virus.
Programmi: i revisori prima memorizzano le informazioni sullo stato dei programmi e delle aree di sistema dei dischi, quindi confrontano il loro stato con l'originale. Se vengono rilevate incongruenze, l'utente ne viene informato.
Medici - i revisori dei conti sono ibridi di revisori dei conti e medici, ad es. programmi che non solo rilevano i cambiamenti nei file e nelle aree di sistema delle unità, ma possono ripristinarli automaticamente allo stato originale.
Programmi: i filtri risiedono nella RAM del computer e intercettano le chiamate al sistema operativo utilizzate dai virus per moltiplicarsi e danneggiarle e le segnalano all'utente. L'utente può abilitare o disabilitare l'operazione corrispondente.
Programmi - vaccini, o immunizzatori, modificano programmi e dischi in modo tale che ciò non influisca sul funzionamento dei programmi, ma il virus da cui viene eseguita la vaccinazione considera questi programmi e dischi già infetti. Questi programmi sono altamente inefficaci e non vengono considerati ulteriormente.
Sfortunatamente, nessun tipo di software antivirus offre una protezione completa contro i virus informatici. Pertanto, la migliore strategia per la protezione dai virus è una difesa "a scaglioni" a più livelli. Descriviamo la struttura di questa difesa.
Gli strumenti di intelligence nella "difesa" contro i virus corrispondono a programmi - rilevatori che consentono di controllare la presenza di virus nel software appena ricevuto.
In prima linea nella difesa ci sono i programmi di filtro (programmi residenti per la protezione dai virus). Questi programmi possono essere i primi a segnalare un attacco di virus e prevenire l'infezione di programmi e disco.
Il secondo livello di difesa è costituito da programmi di audit, programmi medici e dottori revisori. Gli esaminatori rilevano un attacco anche quando il virus è riuscito a "filtrare" attraverso le prime linee della difesa. I programmi Doctor vengono utilizzati per ripristinare i programmi infetti se le loro copie non sono nell'archivio. Ma non sempre li trattano correttamente. I medici-ispettori rilevano un attacco di virus e trattano i virus - file infetti e controllano la correttezza del trattamento dei virus e, se è impossibile trattare i virus, raccomandano decisamente la rimozione dei virus (file infetti).
Il livello più profondo della difesa è il mezzo per differenziare l'accesso. Impediscono a virus e programmi malfunzionanti, anche se sono entrati nel tuo computer, di rovinare dati importanti.
E, infine, la "riserva strategica" contiene copie archiviate di informazioni e dischetti di "riferimento" con prodotti software. Consentono di recuperare le informazioni se sono danneggiate sul disco rigido.

Programmi - rilevatori e medici

Nella maggior parte dei casi, è possibile trovare programmi di rilevamento già sviluppati per rilevare un virus che ha infettato un computer. Questi programmi controllano se i file sull'unità specificata dall'utente hanno una combinazione di byte specifica del virus. Se si trova in un file, sullo schermo viene visualizzato un messaggio corrispondente. Molti rilevatori dispongono di una modalità di cura o rimozione dei virus.
Va notato che il programma di rilevamento può rilevare solo quei virus che gli sono noti (cioè inseriti nel database antivirus di questo programma).
Uno di questi programmi è KIS di Kaspersky.
Tutto in esso ha un'interfaccia comoda e intuitiva. Il programma è progettato per il sistema operativo Windows XP e Windows Vista, che gli consente di funzionare in parallelo con altre applicazioni. Kaspersky Lab è il leader russo nello sviluppo di sistemi di sicurezza antivirus.
C'è anche AVAST.
Questi sono difensori ben collaudati del tuo computer: il trattamento della maggior parte dei virus e la rimozione dei virus in caso di loro minaccia critica o incurabile.
La maggior parte dei programmi di rilevamento ha anche una funzione "medico", ad es. cercano di riportare i file infetti e le aree del disco al loro stato originale - per pulire i virus. I file che non possono essere disinfettati vengono generalmente resi inutilizzabili o eliminati.

Prevenzione contro l'infezione da virus

Diamo un'occhiata ad alcune delle misure che puoi adottare per ridurre la probabilità che un virus infetti il ​​tuo computer, nonché per ridurre al minimo i danni causati da un'infezione da virus se si verifica.
1. Sarebbe bello avere e, se necessario, aggiornare copie archiviate e master dei pacchetti software e dei dati utilizzati. Prima di eseguire il backup dei dati, è consigliabile verificarne la presenza di un virus.
2. Si consiglia inoltre di copiare su floppy disk le informazioni di servizio del disco (FAT, settori di avvio) e CMOS (memoria non volatile del computer). È possibile eseguire il backup e ripristinare queste informazioni utilizzando il programma Rescue nella suite di software Norton Utilities.
3. Dovresti impostare la protezione da scrittura sui floppy di archivio.
4. Non dovresti impegnarti nella copia illegale e senza licenza di software da altri computer. Potrebbero avere un virus su di loro.
5. Tutti i dati provenienti dall'esterno devono essere controllati per la presenza di virus, in particolare i file "scaricati" da Internet.
6. È necessario preparare in anticipo un pacchetto di ripristino su dischetti con protezione da scrittura.
7. Durante il normale lavoro, non correlato al ripristino del computer, vale la pena disabilitare l'avvio da un dischetto. Ciò impedirà l'infezione con il virus di avvio.
8. Utilizzare programmi - filtri per il rilevamento precoce dei virus.
9. Controllare periodicamente il disco con rilevatori software o medici - rilevatori o revisori per rilevare possibili errori nella difesa.
10. Aggiorna il database dei programmi antivirus.
11. Tieni gli utenti dubbi lontani dal tuo computer.

CONCLUSIONE

In conclusione, vorrei mettere in guardia contro la lotta troppo zelante contro i virus informatici. Anche eseguire una scansione completa del disco rigido alla ricerca di virus ogni giorno non è un ottimo passo per prevenire le infezioni. L'unico modo civile per proteggersi dai virus, lo vedo nell'osservanza delle precauzioni preventive quando si lavora su un computer. E devi anche ricorrere all'aiuto di specialisti per combattere un virus informatico. Inoltre, anche se un virus penetra nel tuo computer, non c'è motivo di farsi prendere dal panico.
Spesso, il problema principale di Internet non sono virus e hacker, ma un fenomeno così diffuso come l'analfabetismo informatico. Usando l'analogia di Kaspersky, l'ignoranza delle regole della strada. Le persone che hanno recentemente imparato a ricevere e inviare posta demonizzano i virus informatici, quasi immaginandoli come vermi neri invisibili che strisciano lungo i fili. Ecco alcune semplici regole che puoi seguire per cercare di evitare di essere infettato da virus. Primo: non hanno paura dei virus informatici, sono tutti curabili. Secondo: mettere Microsoft Outlook in una modalità di funzionamento nell'area dei siti con restrizioni, che gli impedirà di eseguire automaticamente determinati programmi - il principio base della propagazione dei virus informatici. Terzo: non aprire lettere di destinatari sospetti. Quarto: utilizzare un antivirus nuovo e, soprattutto, CON LICENZA.

L'articolo che stai leggendo ora è dedicato ai problemi di recupero dati nelle partizioni del file system FAT riscontrati su computer con sistemi operativi MS-DOS e Microsoft Windows di varie versioni. Tuttavia, le informazioni in esso fornite, riguardanti le impostazioni del BIOS e alcune strutture del disco, saranno utili anche durante il ripristino dei file nelle partizioni del file system NTFS.

Di norma, i tentativi di ripristinare i dati in una partizione FAT iniziano con l'uso di utilità automatiche. Nei casi in cui le utilità di ripristino automatico non possono fornire alcun aiuto, puoi provare a eseguire questo lavoro manualmente utilizzando l'editor del disco. In tal modo, tuttavia, dovrai utilizzare editor di dischi e occuparti delle strutture interne del file system.

Aiuteremo gli utenti avanzati a controllare e riparare il file system FAT utilizzando Norton Disk Editor e Microsoft Disk Probe. Questi programmi consentono di visualizzare e modificare il contenuto dei singoli settori del disco.

In casi critici, si consiglia vivamente di non effettuare tentativi indipendenti di ripristino, ma di contattare il servizio DataRecovery.Ru per assistenza. Se commetti un grave errore durante il processo di ripristino, i tuoi dati potrebbero andare persi per sempre. Quindi usa i consigli forniti nell'articolo, ma a tuo rischio e pericolo!

Controllo dello stato del file system FAT

Qual è il modo migliore per avviare il recupero dei dati?

Il ripristino del file system dovrebbe iniziare controllando le impostazioni del BIOS e lo stato del file system stesso. Si può proporre il seguente piano d'azione:

  • controllo dei parametri del BIOS;
  • verifica del contenuto del Master Boot Record (MBR) e del Boot Record;
  • esame della tabella di allocazione dei file FAT;
  • controllare lo stato delle directory;
  • estrarre i file necessari dal file system danneggiato.

Quando si controllano le impostazioni del BIOS, è necessario prestare attenzione a parametri chiave come i tipi di dischi rigidi installati nel computer, il numero di tracce e settori per traccia. Se questi parametri non sono impostati correttamente, molto probabilmente il sistema operativo non si avvierà.

La distruzione del contenuto della memoria non volatile che memorizza le impostazioni del BIOS può verificarsi, ad esempio, in caso di guasto della batteria che alimenta la memoria oa causa di un virus.

Successivamente, è necessario verificare il contenuto del cosiddetto Master Boot Record (MBR). Questa voce contiene il programma bootstrap e la tabella delle partizioni. Il programma bootstrap è il bersaglio dell'attacco di virus boot e file-boot che scrivono i loro corpi qui. Se la tabella delle partizioni del disco viene danneggiata a causa di un'infezione da virus, un malfunzionamento dell'hardware o un errore del software, alcuni o tutti i dischi logici saranno inaccessibili al sistema operativo.

Il prossimo passo è controllare il Boot Record situato all'inizio del disco logico (non confonderlo con l'MBR). Il record di avvio contiene il programma bootstrap per il sistema operativo situato sul disco logico, nonché un blocco di parametri del BIOS chiamato BPB (Blocco dei parametri del BIOS). Il BPB contiene informazioni importanti sul disco logico, come la dimensione del cluster. Se il BPB è danneggiato da un virus o in seguito a un guasto hardware o software, il disco sarà inaccessibile al sistema operativo.

Dopo aver controllato il record di avvio, dovresti guardare la tabella di allocazione dei file FAT. Questa tabella contiene informazioni critiche sulla posizione dei singoli cluster per tutti i file scritti su un determinato disco logico. Ci sono due copie della tabella FAT in totale. Puoi utilizzare qualsiasi copia di FAT per recuperare i file.

Il passaggio successivo consiste nel controllare le directory principali delle unità logiche, nonché le sottodirectory. Se necessario, dovresti ripristinare le voci di directory danneggiate che descrivono i file di cui hai bisogno.

Di seguito daremo un'occhiata più da vicino a tutti questi passaggi. Lungo il percorso, forniremo le informazioni necessarie sulle strutture interne più importanti del file system FAT.

Controllo delle impostazioni del BIOS

Quando ti avvicini per la prima volta a un computer che potrebbe essere stato infettato da un virus, devi prima controllare le impostazioni del BIOS archiviate nella memoria CMOS non volatile. Un programma speciale chiamato BIOS Setup viene utilizzato per visualizzare e modificare le impostazioni del BIOS.

Il modo in cui viene avviato il programma di configurazione del BIOS dipende dal produttore e dalla versione, tuttavia, di solito si avvia se si premono i tasti Canc, F2 o la combinazione di tasti Alt + Ctrl + Esc durante il test iniziale della RAM. Informazioni più precise su come eseguire questo programma sono facili da ottenere dalla documentazione fornita con la scheda madre del computer.

Spegnere il computer, se era acceso, e riaccenderlo dopo 20-30 secondi. Questa procedura è garantita per distruggere i virus residenti in memoria che "sopravvivono" dopo un riavvio a caldo utilizzando la combinazione di tasti Ctrl + Alt + Canc.

Quando si avvia il test della memoria, premere uno dei tasti sopra indicati per avviare il programma di configurazione del BIOS. Dopo un po', sullo schermo apparirà la finestra del programma di configurazione del BIOS. Il suo aspetto dipende dal produttore e dalla versione del programma.

Prima di tutto, dovresti controllare le impostazioni predefinite del BIOS. Prestare particolare attenzione ai tipi e ai parametri dei dischi rigidi HD (Hard disk) installati e ai tipi di unità FD (Floppy Drive).

Riscrivi i parametri del disco rigido come tipo, numero di cilindri, testine e settori per traccia. Confronta questi valori con i dati del passaporto presi dalla documentazione sul disco rigido e correggi se necessario.

Tipo di disco e parametri

Se il tuo computer dispone di dischi SCSI, il tipo di disco è irrilevante e non è necessario verificarlo. Per quanto riguarda i dischi IDE, il tipo di tali dischi è un numero, solitamente nell'intervallo di valori da 1 a 47.

Allo stesso tempo, i set di parametri standard per i vecchi dischi piccoli corrispondono ai tipi da 1 a 46. Per i moderni dispositivi IDE, il tipo viene selezionato automaticamente o viene specificato il tipo 47, che consente l'impostazione manuale del numero di cilindri, testine e settori per traccia. In ogni caso, assicurarsi di controllare i parametri secondo la documentazione fornita con il disco.

Molto spesso, per le unità IDE, viene utilizzato il cosiddetto indirizzamento a blocchi logici (LBA). Quando la modalità LBA è abilitata, il sistema operativo è dotato di un disco "virtuale", che, rispetto a un disco reale, ha meno tracce, ma più testine. Ad esempio, un disco reale potrebbe avere 4000 tracce e 4 testine, e uno "virtuale" potrebbe avere 1024 tracce e 256 testine.

Perché è necessario?

A causa di limitazioni interne, il sistema operativo MS-DOS non può funzionare con tracce il cui numero supera il valore di 1023. Tuttavia, le moderne unità disco hanno capacità significative (circa 20-60 GB e anche di più), quindi hanno molte tracce. Altri sistemi operativi, come IBM OS/2, Microsoft Windows NT/2000, Linux o Novell NetWare, non hanno limiti al numero di percorsi da indirizzare su un disco. Invece del BIOS, utilizzano driver del disco speciali per accedere al disco.

Come per MS-DOS, senza misure aggiuntive la dimensione massima di una partizione del disco non supererà i 585 MB.

L'indirizzamento logico degli LBA da parte del controller del disco consente a MS-DOS di gestire partizioni molto grandi, quindi potresti imbatterti in LBA durante l'esame della maggior parte dei computer moderni.

tipo FD

Notare anche il tipo FD (disco floppy o unità disco floppy). Se l'FD etichettato A: è contrassegnato come Non installato o Disabilitato, non sarà possibile avviare MS-DOS o qualsiasi altro sistema operativo da un dischetto.

Opzioni avanzate del BIOS

Nel menu delle impostazioni avanzate del BIOS, annotare l'ordine di avvio del sistema operativo. Se l'ordine di avvio è C :, A :, non è possibile avviare il sistema operativo da un dischetto. Modificare l'ordine di avvio in A :, C: o A :, CD-ROM, C: se necessario.

Dopo aver completato tutto il lavoro con il computer, ripristinare l'impostazione su C:, A:, CD-ROM o C: Only (se questo valore è presente in questa versione del BIOS). In questo caso, il computer sarà protetto in modo affidabile dall'infezione con un virus di avvio tramite dischetti.

Impostazione delle impostazioni predefinite del BIOS

La configurazione del BIOS offre la possibilità di impostare le impostazioni del BIOS predefinite.

Tuttavia, il metodo di installazione dipende dal BIOS. Ad esempio, BIOS Setup by AMI consente di caricare due set di impostazioni del BIOS.

Il primo viene caricato quando viene selezionata la riga CONFIGURAZIONE AUTOMATICA CON BIOS DEFAULTS nel menu principale del programma. Questo set di parametri è progettato per il funzionamento della scheda madre in modalità standard.

Il secondo set di parametri corrisponde alla riga CONFIGURAZIONE AUTOMATICA CON POWER-ON DEFAULT e viene utilizzato principalmente quando il computer non si avvia con il primo set. Nel secondo set vengono impostati parametri più conservativi (ad esempio, la memorizzazione nella cache della RAM principale è disabilitata), il che a volte consente l'avvio anche di un computer parzialmente difettoso.

Analisi del record di avvio principale MBR e della tabella delle partizioni

Quando FDISK crea per la prima volta partizioni su un disco rigido, scrive l'MBR all'inizio del primissimo settore del disco rigido (settore 1, traccia 0, testa 0).

Il Master Boot Record è un programma che acquisisce il controllo durante l'avvio del sistema operativo. Inoltre, il record di avvio continua il processo di caricamento del sistema operativo.

Distinguere visivamente un normale settore di avvio principale da un settore danneggiato o infetto da virus non è sempre facile. Nella fig. 1 mostra un dump del contenuto di un settore con un record MBR ottenuto utilizzando il programma Microsoft DiskProbe dal Resource Kit di Windows NT. Un dump simile può essere ottenuto utilizzando l'editor del disco DISKEDIT nella casella degli strumenti di Norton Utilities.

Riso. 1. Discarica settoriale dell'MBR

A volte un virus modifica solo alcuni byte in cui è scritto l'indirizzo del settore di avvio del sistema operativo, lasciando intatto il programma di avvio. Tali modifiche possono essere rilevate solo disassemblando e quindi analizzando il codice sorgente recuperato del programma di avvio. In alcuni casi, i cambiamenti sono così evidenti che possono essere rilevati "ad occhio nudo", semplicemente guardando l'elenco del primissimo settore del disco. Ovviamente, il modo migliore per rilevare l'infezione da virus MBR è controllarlo con un programma antivirus.

Un'altra parte importante del primo settore di un disco è la tabella delle partizioni.

Ha quattro elementi che descrivono fino a quattro partizioni sul disco. Gli ultimi due byte del settore contengono il valore 0xAA55. Questa è una caratteristica della tabella delle partizioni: la firma della tabella delle partizioni. Di seguito, con il prefisso 0x, indicheremo i valori esadecimali e senza tale prefisso - i valori decimali. Si noti inoltre che i byte della firma sono in ordine inverso: il byte meno significativo si trova all'indirizzo più basso. Questa è una caratteristica dell'architettura dei processori Intel.

Le partizioni del disco contengono dischi logici. Ad esempio, è possibile creare una partizione primaria per l'unità C: e una partizione secondaria in cui vengono create le unità logiche D :, E : e così via.

Microsoft Disk Probe consente di visualizzare (e modificare) il contenuto della tabella delle partizioni in un formato formattato, come mostrato in Fig. 2.


Riso. 2. Visualizzazione del contenuto della tabella delle partizioni del disco

Descrizione del formato della tabella delle partizioni

Il formato del primissimo settore di un disco rigido può essere rappresentato come segue:

Come puoi vedere da questa tabella, i byte con un offset da 0 a 0x1BE sono occupati dal record di avvio principale, ovvero il programma. Quindi ci sono quattro voci nella tabella delle partizioni, con ciascuna voce che occupa 0x10 byte. Dopo la tabella ci sono due byte dell'attributo della tabella delle partizioni.

L'elemento della tabella delle partizioni contiene informazioni sulla posizione e la dimensione della partizione nei settori, nonché sullo scopo della partizione. Il formato dell'elemento della tabella di sezione è mostrato di seguito:

Il primo byte dell'elemento della tabella di sezione contiene il segno della sezione attiva. Se la partizione è attiva, il sistema operativo si avvierà da essa. Spesso un disco contiene più partizioni attive contemporaneamente, appartenenti a diversi sistemi operativi.

I successivi tre byte definiscono l'indirizzo fisico sul disco del settore iniziale della partizione (descrivendo questo elemento della partizione).

Il byte con offset 1 contiene il numero dell'intestazione del settore iniziale della partizione. In un campo a due byte con un offset di 2, vengono codificati il ​​numero di settore e il numero di traccia del primissimo settore della sezione. In questo caso, i bit 0 ... 5 di questo campo impostano il numero di settore e i bit 6 ... 15 - il numero di traccia.

Byte all'offset 4 contiene il tipo di partizione, a seconda del tipo di sistema operativo e del tipo di file system.

Di seguito abbiamo fornito alcuni dei tipi più comuni (qui FAT-12, FAT-16 e FAT-32 rappresentano varie modifiche del file system FAT, ne parleremo più avanti):

Il byte della tabella delle partizioni all'offset 5 e la parola a doppio byte all'offset 6 contengono il numero di testa, il numero di settore e il numero di traccia dell'ultima partizione.

Gli ultimi due campi della voce della tabella delle partizioni sono lunghi 4 byte e contengono, rispettivamente, il numero relativo del primissimo settore nella partizione (ovvero il numero relativo del settore all'inizio della partizione) e il numero di settori disponibili nella partizione. Sono questi campi che vengono utilizzati dal sistema operativo Microsoft Windows NT per calcolare la posizione della partizione.

Soffermiamoci più in dettaglio sul numero relativo del primissimo settore della sezione.

Un valore di numero relativo pari a 0 corrisponde alla traccia 0, testa 0, settore 1. Aumentando il numero del settore relativo si aumenta prima il numero del settore sulla traccia, poi il numero della testa e infine il numero della traccia. Conoscendo il numero di pista, il numero di settore in pista e il numero di testa, è possibile calcolare il relativo numero di settore utilizzando la seguente formula:

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

Qui Cyl è il numero della traccia, Sect è il numero del settore sulla traccia, Head è il numero della testa.

In genere, i capitoli su un disco iniziano con numeri di traccia pari, ad eccezione del primissimo capitolo. Questa partizione può iniziare dal settore 2 della traccia 0 (testa 0), poiché il primissimo settore del disco è occupato dal record di avvio principale.

Tracciare un elenco di partizioni del disco

Nel sistema operativo MS-DOS, la partizione primaria deve essere univoca e attiva, viene utilizzata come unità C: e da essa viene caricato il sistema operativo. Nella partizione estesa, FDISK crea le unità logiche D :, E : e così via.

Se il byte del codice della partizione ha un valore di 5, il settore contenente la tabella del disco logico si trova all'inizio della partizione corrispondente. Questa tabella è un'estensione della tabella delle partizioni del disco situata nel primissimo settore di un disco fisico.

La tabella del disco logico ha lo stesso formato della tabella delle partizioni del disco, ma contiene solo due voci.

Uno di questi punta al primo settore del disco logico, ha un valore di tipo di partizione 1 o 4 (per MS-DOS). Il secondo elemento può essere un valore del tipo di partizione di 5 (per MS-DOS) o 0. Se questo codice è 5, l'elemento punta alla successiva tabella del disco logico. Se il codice di sistema è 0, l'elemento corrispondente non viene utilizzato. Sopra, abbiamo fornito i codici per le partizioni primarie ed estese per diversi sistemi operativi.

Pertanto, le tabelle del disco logico sono collegate in un elenco. La voce della tabella delle partizioni del disco corrispondente alla partizione primaria punta all'inizio di questo elenco.

Per una tabella del disco logico, c'è una differenza nell'uso dei campi limite del disco logico. Se la partizione è primaria, questi limiti vengono calcolati rispetto all'inizio della partizione estesa. Per le partizioni estese, viene utilizzato l'indirizzamento assoluto (relativo all'inizio fisico del disco).

Utilizzando il pulsante Next Partition (Fig. 2) è possibile visualizzare l'intero elenco delle tabelle del disco logico.

Controllo della tabella delle partizioni con il programma DISKEDIT

Il Microsoft Disk Probe menzionato in precedenza funziona solo nei sistemi operativi Microsoft Windows NT e Microsoft Windows 2000. Come per MS-DOS e Microsoft Windows 95/98, qui consigliamo l'editor DISKEDIT del pacchetto Norton Utilities per analizzare le strutture del disco di sistema. È meglio scrivere questo programma sul disco floppy di sistema. Solo durante l'avvio da un tale dischetto sarà possibile esaminare un file system infetto da virus o corrotto quando MS-DOS non è caricato dal disco rigido.

Con DISKEDIT in esecuzione, usa il menu Oggetto. Innanzitutto, seleziona la linea Drive da questo menu. Se il disco rigido fisico ha partizioni sane con dischi logici definiti in esse, sullo schermo verrà visualizzato un elenco di dischi logici.

Se il file system è corrotto a tal punto che è impossibile avviare il sistema operativo da disco e quando si avvia da un dischetto, non è visibile un singolo disco logico, quando si seleziona la riga Drive, verrà mostrato un elenco dei dischi fisici (Fig. 3).


Riso. 3. Selezione di un disco fisico nel programma DISKEDIT

Per visualizzare il primissimo settore di un disco fisico contenente il record di avvio principale e la tabella delle partizioni, selezionare il disco fisico Hard Disk 1 e fare clic su OK. Successivamente, il contenuto del settore desiderato apparirà sullo schermo sotto forma di dump. Il settore ha una dimensione di 512 byte, quindi i suoi contenuti non si adattano a uno schermo. Puoi premere il tasto PgDn e vedere la seconda parte del settore.

A cosa dovresti prestare attenzione qui?

All'inizio del settore c'è il record di avvio principale. Lei, come abbiamo già detto, è un programma. Se hai abbastanza esperienza, puoi smontarlo e ricercarlo. In ogni caso, la durata del programma dovrebbe essere verificata. Questa lunghezza non dovrebbe essere molto lunga - dopo il programma di avvio, prima dell'inizio della tabella delle partizioni, dovrebbero esserci zero byte. Inoltre, all'interno del programma di avvio dovrebbero essere presenti i messaggi Tabella delle partizioni non valida, Errore durante il caricamento del sistema operativo e Sistema operativo mancante (per le versioni russe dei sistemi operativi, questi messaggi saranno in russo).

Per quanto riguarda la seconda parte del primissimo settore del disco rigido, dovrebbe contenere la tabella delle partizioni del disco.

Gli ultimi due byte devono contenere l'attributo della tabella delle partizioni (firma) - il valore esadecimale 0xAA55.

È possibile analizzare la tabella delle partizioni di un disco utilizzando le informazioni sopra riportate sul suo formato. Ricordiamo che la tabella si trova nel primo settore del disco all'offset 0x1BE. Tuttavia, è molto più conveniente utilizzare la visualizzazione formato dell'editor DISKEDIT per analizzare questa tabella.

Posizionare il cursore (con il mouse o con i tasti freccia) sul byte con offset 0x1BE, che corrisponde all'inizio della tabella delle partizioni. Quindi selezionare la riga come Tabella delle partizioni dal menu Visualizza. Sullo schermo apparirà una tabella delle partizioni del disco formattata (Fig. 4).


Riso. 4. Visualizza la tabella delle partizioni del disco

La colonna Sistema visualizza informazioni sul tipo di partizioni. È costruito sulla base dell'analisi del campo del tipo di sezione memorizzato nella riga corrispondente della tabella di sezione. Se la partizione è attiva, la relativa colonna Boot contiene la riga Sì, in caso contrario la riga No.

Le colonne Posizione iniziale e Posizione finale nei campi Lato, Cilindro e Settore contengono informazioni decrittografate sulla posizione del primissimo e dell'ultimo settore della sezione.

Puoi scoprire il numero del relativo settore da cui parte la sezione dalla colonna Settori relativi, e il numero totale di settori - nella colonna Numero di settori.

Ha senso confrontare le informazioni ottenute sui confini delle partizioni con i parametri di un disco rigido ottenuti utilizzando il programma di installazione del BIOS, poiché i virus possono nascondere i loro corpi in settori del disco situati alla fine del disco e non assegnati a nessuna partizione. Tuttavia, va tenuto presente che i moderni controller del disco sono in grado di eseguire l'indirizzamento dei blocchi logici (modalità LBA), che distorce l'immagine risultante.

Spieghiamo quanto detto con un esempio.

Uno dei nostri computer ha un disco con 1057 tracce e 16 testine. Ogni traccia contiene 63 settori di 512 byte. In questo caso, la dimensione totale del disco è di 520 MB. Questi parametri ci sono stati forniti dal programma di configurazione del BIOS.

FDISK rileva che il disco ha due partizioni, 300 MB e 219 MB, e il disco è in uso al 100%. Allo stesso tempo, il programma DISKEDIT per questo disco mostra che l'ultimo settore dell'ultima partizione si trova sulla traccia numero 526.

A prima vista, qui c'è qualcosa che non va: il programma di configurazione del BIOS ci dice che ci sono 1057 tracce e 16 testine sul disco, e nella tabella delle partizioni per l'ultimo settore dell'ultima partizione, vediamo valori completamente diversi: questo settore è situato sulla traccia 526 e il numero della testa è 31!

Il motivo di questa discrepanza è che il nostro controller IDE esegue l'indirizzamento logico di tracce e testine, dando ai programmi un disco "virtuale", dove, rispetto al disco reale, ci sono meno tracce ma più testine.

Salvataggio dei parametri del disco e della tabella delle partizioni del disco

Prima di procedere con l'esame del file system, si consiglia vivamente di annotare i parametri del disco definiti mediante il programma di configurazione del BIOS e il contenuto della tabella delle partizioni del disco. Basta copiare i valori ottenuti su un pezzo di carta. Se durante una riparazione si distrugge accidentalmente l'area dati del BIOS o il settore di avvio principale, è possibile recuperare facilmente i dati critici.

È inoltre possibile salvare il contenuto del settore MBR su un file utilizzando le funzioni appropriate di DISKEDIT o Microsoft Disk Probe. Istruzioni dettagliate possono essere trovate nella documentazione e nei sistemi di aiuto di questi programmi. Il file deve essere scritto su un disco floppy o su un altro disco.

Esplorazione di una partizione del disco estesa

Se sul disco è stata creata solo una partizione primaria, è possibile procedere all'analisi del disco logico C: e degli altri dischi logici. Se è presente una partizione estesa, è necessario controllare il settore della tabella del disco logico, il primo settore nella partizione estesa.

Per visualizzare questo settore, eseguire il programma DISKEDIT, utilizzarlo per determinare la posizione della partizione estesa (traccia, testa e numero di settore). Quindi selezionare la riga Settore fisico dal menu Oggetto. Sullo schermo apparirà la finestra di dialogo Seleziona intervallo settore fisico, con la quale è possibile selezionare uno o più settori per la visualizzazione.

Il settore della tabella del disco logico, a differenza del settore MBR, è praticamente vuoto. Tutti i byte dall'inizio all'offset 0x1BD, incluso, devono contenere un valore zero. Inoltre, all'offset 0x1BE, c'è la tabella del disco logico, che consiste di due elementi. Alla fine del settore c'è la firma che già conosci: il valore 0xAA55.

La struttura degli elementi è del tutto simile alla struttura degli elementi della tabella di sezione, quindi è possibile utilizzare la visualizzazione formato. Per fare ciò, posizionare il cursore sul byte con offset 0x1BE, quindi selezionare la riga come Tabella delle partizioni dal menu Visualizza.

Salvataggio del contenuto delle tabelle del disco logico

Sullo stesso foglio di carta in cui hai annotato i parametri del disco e le informazioni dalla tabella delle partizioni del disco, annota le informazioni su tutti i dischi logici ottenuti dalle tabelle dei dischi logici. Se il contenuto delle tabelle del disco logico viene distrutto accidentalmente, perderai l'accesso ai dischi logici.

Esame dei dischi logici FAT

Il formato dei dischi logici situati nelle partizioni del disco rigido è completamente identico al formato dei dischi floppy, quindi molto di quanto detto qui sarà vero anche per i dischi floppy.

All'inizio del disco logico c'è il settore Boot Record (da non confondere con il settore MBR, che è il primo in assoluto sul disco fisico), nonché i settori eventualmente riservati.

Dopo il settore Boot Record ci sono due copie della FAT (File Allocation Table), di cui parleremo più avanti, e la directory principale. L'area dati che occupa il resto del disco logico contiene file e altre directory.

Controllo del settore di avvio

L'indirizzo del settore di avvio di un disco logico non è difficile da trovare nella tabella del disco logico. Il settore di avvio del disco logico contiene il programma bootstrap per il sistema operativo. Questo programma viene inserito nella RAM da un caricatore situato nell'MBR.

Lo scopo di un programma situato nel settore di avvio di un disco logico è caricare il sistema operativo su questo disco logico.

Pertanto, quando l'alimentazione viene accesa dopo aver eseguito la procedura di test, il BIOS carica il contenuto dell'MBR nella RAM e trasferisce il controllo ad essa. Il Master Boot Record esegue la scansione della tabella delle partizioni del disco e trova la partizione attiva. Se sono presenti più sezioni di questo tipo, all'utente viene richiesto di selezionare una sezione da scaricare.

L'MBR legge quindi il Boot Record del disco logico situato nella partizione attiva selezionata e trasferisce il controllo al programma di avvio del sistema operativo in questo settore. Questo programma, a sua volta, fa tutto il lavoro di caricamento del sistema operativo nella memoria del computer.

Il formato del settore di avvio dipende dalla versione del sistema operativo. Tuttavia, in ogni caso, oltre al programma di bootstrap per il sistema operativo, il record di avvio contiene parametri che descrivono le caratteristiche di un determinato disco logico. Tutti questi parametri si trovano all'inizio del settore, nella sua cosiddetta area formattata. Gli ultimi due byte del settore di avvio contengono la familiare firma 0xAA55.

Prima di esaminare il record di avvio, è necessario utilizzare il comando VER per determinare la versione del sistema operativo installato nel computer. Per le versioni di MS-DOS precedenti alla 4.0, il formato del record di avvio è mostrato di seguito:

All'inizio del settore di avvio c'è il comando JMP intra-segment jump. È necessario ignorare la zona del settore formattata e trasferire il controllo al programma di avvio situato nell'offset 0x1E.

Il nome del produttore non viene utilizzato dal sistema operativo ed è una stringa di testo di 8 byte.

All'offset 0xB, si trova il BIOS Parameter Block (BPB). Questo blocco contiene alcune caratteristiche del disco logico, come il numero di settori in un cluster, il numero totale di settori, ecc. Il formato BPB verrà descritto in seguito.

I campi del settore di avvio con offset 0x18 e 0x1A contengono rispettivamente il numero di settori per traccia e il numero di testine. Il campo con offset 0x1C contiene il numero di settori "nascosti" che non appartengono ad alcun disco logico. Questi settori possono essere utilizzati per partizionare un disco fisico in partizioni e dischi logici (possono contenere una tabella delle partizioni del disco o tabelle del disco logico).

Pregiudizio,
byte
La dimensione,
byte
Descrizione
0 3 Comando JMP xxxx (vai al programma bootstrap)
3 8 Nome e versione del produttore del sistema operativo
0xB 25 BPB esteso - Blocco parametri BIOS esteso
0x24 1 Numero dispositivo fisico (0 - unità disco floppy, 0x80 - disco rigido)
0x25 1 Riservato
0x26 1 Il valore 0x29 è un segno del record di avvio BPB esteso
0x27 4 Numero di serie del disco (Volume Serial Number), creato durante la formattazione del disco
0x2B 11 Etichetta del disco (etichetta del volume)
0x36 8 Stringa di testo "FAT12" o "FAT16"

I primi due campi hanno lo stesso scopo del record di avvio delle versioni precedenti di MS-DOS.

Il campo con offset 26h contiene il numero 0x29, il che significa che viene utilizzato il formato del record di avvio esteso e, di conseguenza, il blocco di parametri Extended BIOS Extended BPB.

Il numero di serie del disco viene generato durante la formattazione del disco in base alla data e all'ora di formattazione. Pertanto, tutti i dischi ei dischi floppy hanno numeri di serie diversi.

L'etichetta del disco si forma durante la formattazione e può essere modificata, ad esempio, con il comando LABEL del sistema operativo MS-DOS. Allo stesso tempo, l'etichetta del disco viene posizionata nella directory principale come descrittore speciale. Parleremo in seguito del formato delle directory e dei descrittori, nonché del formato della tabella di allocazione dei file FAT.

Ora riguardo al blocco di parametri BPB del BIOS e al blocco di parametri BPB esteso del BIOS.

Per le versioni di MS-DOS precedenti alla 4.0, il BPB ha il seguente formato:

Il blocco di parametri BIOS esteso per i file system FAT-12 e FAT-16 è costituito da un normale BPB e da un'estensione aggiuntiva:

Pregiudizio,
byte
La dimensione,
byte
Descrizione
0 2
2 1
3 2
5 1 Numero di tabelle FAT
6 2
8 2 Numero totale di settori sul supporto di memorizzazione (sotto la partizione MS-DOS)
0Ah 1 Tipo di supporto dati
0Bh 2
0Dh 2
0Fh 2 Numero di testine magnetiche
11h 2
13 ore 2 Numero di settori nascosti per una partizione maggiore di 32 MB
15h 4

Per floppy disk e dischi, il tipo di supporto di memorizzazione può assumere i seguenti valori:

Senso Quantità
feste
Quantità
settori
Diametro,
pollici
Capacità,
Kbyte
0xF0 2 18 3,5 1440
0xF0 2 36 3,5 2880
0xF0 2 15 5,25 1200
0xF8 - - - Hard disk di qualsiasi capacità
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

Per quanto riguarda il file system FAT-32, il suo formato del settore di avvio è lo stesso appena descritto, ad eccezione del blocco BPB. La dimensione di questo blocco è 0x25 byte e il formato è mostrato di seguito:

Pregiudizio,
byte
La dimensione,
byte
Descrizione
0 2 Il numero di byte in un settore del disco
2 1 Numero di settori in un cluster
3 2 Numero di settori riservati
5 1 Numero di tabelle FAT
6 2 Numero massimo di descrittori di file nella directory principale di un disco
8 2 Il numero totale di settori sul supporto di memorizzazione (in una sezione)
0xA 1 Tipo di supporto dati
0xB 2 Numero di settori occupati da una copia di FAT
0xD 2 Numero di settori per traccia
0xF 2 Numero di testine magnetiche
0x11 4 Numero di settori nascosti per una partizione inferiore a 32 MB
0x15 4 Il numero totale di settori su un disco logico per una partizione maggiore di 32 MB
0x19 4 Dimensioni tabella FAT in settori
0x1D 2 Caselle di controllo estese
0x1F 2 Versione del file system
0x21 4 Primo numero di cluster della directory principale
0x25 2 Un settore contenente varie informazioni sul file system nel suo insieme
0x27 2 Numero del settore in cui si trova il backup del settore di avvio
0x29 12 Riservato

Per la visualizzazione del formato del blocco di parametri BPB (o blocco di parametri BPB esteso, a seconda della versione MS-DOS), è conveniente utilizzare il programma DISKEDIT. Tuttavia, puoi trovare il record di avvio in due modi.

Innanzitutto, è possibile selezionare la riga Boot Record dal menu Object (selezionando il disco logico richiesto utilizzando la riga Drive dello stesso menu). Ti ritroverai immediatamente nella modalità di visualizzazione formattata del blocco dei parametri del BIOS del disco selezionato (Fig. 5).


Riso. 5. Visualizzazione del blocco dei parametri del BIOS

In secondo luogo, se i dischi logici non sono disponibili, ma sei riuscito a leggere la tabella delle partizioni o la tabella dei dischi logici, puoi andare a visualizzare il record di avvio specificando il suo indirizzo fisico. Per fare ciò, selezionare la riga Indirizzo fisico dal menu Oggetto (come descritto in precedenza). Sullo schermo apparirà un dump della prima parte del settore di avvio. Premendo il tasto PgDn si può andare a visualizzare la seconda parte del settore di avvio.

Utilizzando le righe come Boot Record e come Hex del menu View, è possibile passare, rispettivamente, alle modalità formattate e non formattate di visualizzazione del settore di avvio.

Il programma Microsoft Disk Probe ha capacità di formattazione simili per la visualizzazione dei record di avvio FAT.

La formazione di un record di avvio e di un blocco di parametri del BIOS si verifica quando il disco logico viene formattato (ad esempio con il comando FORMAT). Se elimini un disco logico utilizzando FDISK e ne crei uno nuovo della stessa dimensione al suo posto, il BPB verrà distrutto. In questo caso, sarà necessario riformattare nuovamente l'unità logica.

Il blocco dei parametri del BIOS contiene informazioni critiche, se distrutto, diventa impossibile il normale accesso a file e directory che si trovano sul disco logico. Una gestione incauta del settore di avvio del disco rigido può portare alla necessità di riformattare il disco logico corrispondente con la perdita completa dei dati memorizzati.

Prima di procedere con un'ulteriore analisi del file system, è utile effettuare una stampa del contenuto dei settori di avvio di tutti i dischi logici disponibili in forma formattata e non, poiché il blocco dei parametri del BIOS contiene le informazioni necessarie per la ricerca e l'analisi altre strutture logiche del file system. Per stampare, selezionare la riga Stampa oggetto come dal menu Strumenti e selezionare la riga Boot Record nella finestra di dialogo che appare sullo schermo. Quindi fare clic sul pulsante OK.

Allo stesso modo, è possibile stampare il contenuto di altre strutture logiche nel file system, ad esempio il contenuto di una tabella delle partizioni del disco.

Analisi del settore riservato

I settori riservati possono trovarsi tra il settore di avvio e la tabella di allocazione dei file FAT, che sono settori di servizio per il file system o non vengono utilizzati.

Il numero di settori riservati sul disco logico si trova nel BIOS Parameter Block (BPB o Extended BPB, a seconda della versione del sistema operativo). Il valore richiesto è nel campo di questo blocco con offset 3. Durante la formattazione, il numero di settori riservati è indicato nella riga Settori riservati all'inizio.

Se è riservato un solo settore, la prima copia della FAT si trova immediatamente dopo il settore di avvio. È il settore di avvio in questo caso che è riservato.

Quando sono riservati più settori, potrebbero esserci più settori contenenti valori zero tra il settore di avvio e la prima copia del FAT. Se un computer è stato infettato da un virus, questi settori possono contenere il corpo del virus o una copia del record di avvio originale sostituito dal virus.

Tabelle di allocazione dei file FAT

Il sistema operativo organizza i singoli settori del disco nei cosiddetti cluster. Quando vengono create nuove directory e file non vuoti, ad essi vengono assegnati uno o più cluster. Se il file aumenta di dimensioni, vengono allocati cluster aggiuntivi.

La dimensione del cluster in settori (ovvero il numero di settori in un cluster) è facile da trovare dal campo nel blocco di parametri BPB del BIOS con offset 2. Quando si visualizza il contenuto del settore di avvio in formato, viene visualizzata la dimensione del cluster nella riga Settori per cluster.

Per risparmiare spazio su disco, a file e directory vengono assegnati cluster che non sono necessariamente adiacenti. Pertanto, cluster separati appartenenti allo stesso file possono trovarsi in posizioni diverse su un disco logico. Questi risparmi hanno un prezzo in termini di prestazioni, poiché la lettura di un file frammentato richiede più movimenti della testina, che è l'operazione del disco più lenta.

Un altro problema con la frammentazione dei file è la necessità di mantenere un elenco di cluster allocati a ciascun file. Ovviamente, per leggere un file, il sistema operativo deve leggere in sequenza tutti i cluster allocati a quel file.

Dove sono archiviati gli elenchi dei cluster?

Questi elenchi sono archiviati nella File Allocation Table (FAT), che analizzeremo a breve.

Pensa alla tabella di allocazione dei file come a un array contenente informazioni sulle posizioni relative dei cluster di tutti i file. La dimensione dell'array è determinata dal numero totale di cluster sul disco logico. Gli elementi dell'array contengono elenchi di cluster allocati ai file e gli elementi dell'array corrispondenti ai cluster liberi contengono valori zero.

Se il file occupa più cluster, tali cluster sono collegati in un elenco. In questo caso, gli elementi della tabella FAT contengono i numeri dei seguenti cluster utilizzati da questo file. La fine dell'elenco è contrassegnata nella tabella con un significato speciale. Il numero del primo cluster allocato a un file è memorizzato nella voce di directory che descrive il file (nel descrittore di file).

Pertanto, conoscendo il nome del file e la directory in cui si trova questo file, il sistema operativo MS-DOS può determinare il numero del primo cluster allocato al file e quindi, tracciando l'elenco dei cluster nella tabella FAT, determinare il numero dei cluster rimanenti occupati da questo file.

Il programma FORMAT progettato per formattare il disco e alcuni programmi speciali per uno scopo simile controllano il disco logico per aree difettose. I cluster situati in queste aree difettose sono contrassegnati come danneggiati nel FAT e non vengono utilizzati dal sistema operativo.

Ad esempio, nella Fig. 6 mostra descrittori semplificati per la directory principale dell'unità C:. Descrivono i file MYFILE1.DOC e MYLETTER.DOC, nonché le voci della tabella di allocazione dei file FAT allocate per questi file.


Riso. 6. Un esempio di allocazione cluster per i file MYFILE1.DOC e MYLETTER.DOC

Il file MYFILE1.DOC occupa tre cluster numerati 11, 17 e 18 e il file MYLETTER.DOC occupa due cluster numerati 12 e 13. La directory contiene i numeri dei primi cluster assegnati a questi file (11 e 12, rispettivamente). Le ultime celle corrispondenti agli ultimi cluster, file distribuiti, contengono un valore speciale: il segno della fine della catena di cluster. Per il formato FAT a 16 bit, questo è 0xFFFF e per il formato a 12 bit, è 0xFFF.

Formato tabella FAT

Diamo un'occhiata più da vicino al formato della tabella FAT.

La tabella FAT può essere a 12, 16 o 32 bit, con il file system designato come FAT-12, FAT-16 e FAT-32 e la tabella utilizza 12, 16 o 32 per memorizzare informazioni su uno bit del cluster del disco, rispettivamente.

Il primo di questi due formati (12 bit) è utilizzato per floppy disk e dischi con pochi settori. La tabella di allocazione dei file floppy FAT-12 si inserisce completamente in un settore.

Se il disco è troppo grande, i bit a dodici bit non saranno sufficienti per rappresentare tutti i cluster. In questo caso viene utilizzato il formato FAT a 16 o 32 bit. In questo caso, il sistema operativo può funzionare con un disco di dimensioni superiori a 32 MB. Pertanto, i dischi rigidi utilizzano sempre il formato tabella FAT a 16 o 32 bit.

Come scoprire il formato FAT?

Il formato FAT può essere determinato esaminando il contenuto del campo del codice di sezione dell'elemento della tabella delle partizioni corrispondente. Questo campo si trova nell'MBR. Se contiene il valore 1, viene utilizzato il formato a 12 bit, se 4, quindi a 16 bit e se 0xB o 0xC - 32 bit.

Il primo elemento del FAT ha un formato speciale.

Il primissimo byte del FAT è chiamato Media Descriptor. Ha lo stesso significato del descrittore di byte dell'ambiente, il settore di avvio del disco logico. I successivi 5 byte per il formato a 12 bit o 7 byte per il formato a 16 bit sono sempre 0xFF.

Il resto del FAT è costituito da celle a 12, 16 o 32 bit. Ogni cella corrisponde a un cluster del disco. Queste celle per diversi formati di tabella FAT possono contenere i seguenti valori:

Vista tabella FAT

Utilizzeremo il programma DISKEDIT per visualizzare la tabella di allocazione dei file FAT. Dal menu Oggetto, seleziona la linea Drive e seleziona l'unità di tuo interesse.

Quindi dal menu Oggetto selezionare una delle due linee - 1st FAT o 2nd FAT. Lo schermo visualizzerà, rispettivamente, il contenuto della prima o della seconda copia della tabella FAT in forma formattata (Fig. 7).


Riso. 7. Visualizza la prima copia della tabella di allocazione FAT formattata

È inoltre possibile trovare la prima o la seconda copia del FAT conoscendo l'indirizzo fisico del record di avvio del disco logico. Ricordiamo che il record di avvio si trova nel primissimo settore del floppy disk. La posizione del record di avvio per i dischi logici creati su partizioni del disco rigido può essere determinata dalla tabella delle partizioni (per l'unità logica C :) o dalla tabella del disco logico (per i dischi logici creati in una partizione estesa).

Inoltre, all'interno del disco logico, esiste la propria numerazione sequenziale dei settori. In questo caso, l'ordine di numerazione viene scelto in modo tale che all'aumentare sequenziale del numero del settore, aumenti prima il numero della testa, poi il numero della traccia.

Spieghiamolo con un esempio.

Ad esempio, supponiamo di avere un floppy disk con nove settori per traccia. Il settore con il numero logico uguale a 1 si trova sulla traccia zero e la testa zero è usata per riferirsi ad esso. Questo è il primissimo settore della pista, ha il numero 1. Il settore successivo sulla pista 0 ha il numero logico 2, l'ultimo settore sulla pista 0 ha il numero logico 9. Anche il settore con il numero logico 10 si trova sulla pista 0. Questo è anche il primissimo settore della pista, ma ora per accedervi viene utilizzata la testata numero 1. E così via, all'aumentare del numero logico del settore, cambiano i numeri della testata e della traccia.

Secondo questa numerazione, il settore con il numero progressivo 0 è il settore di avvio. Per visualizzare il contenuto del settore di avvio utilizzando il programma DISKEDIT, è possibile selezionare la riga Settore dal menu Oggetto e specificare il numero di settore uguale a zero nel pannello di dialogo che appare.

Notare che in questa finestra di dialogo, una casella denominata Sector Usage mostra la distribuzione dei settori. Usando questa distribuzione, puoi facilmente determinare il numero sequenziale del settore del record di avvio, l'inizio e i limiti di entrambe le copie del FAT. Inoltre, non è difficile determinare l'inizio ei limiti della directory principale e dell'area dati contenente file e altre directory.

Utilizzando il menu Visualizza, è possibile visualizzare il contenuto del FAT come dump.

Visivamente, la tabella di allocazione dei file dovrebbe contenere sequenze di numeri di cluster che cambiano per lo più in modo monotono, valori zero corrispondenti a cluster liberi e il valore 0xFFFF (0xFFF per FAT-12 o 0xFFFFFFFF per FAT-32), che è un segno della fine della catena dei cluster.

La prima copia della FAT dovrebbe essere seguita da una seconda copia della FAT.

È possibile determinare la dimensione della tabella FAT conoscendo il contenuto del blocco di parametri del BIOS BPB con offset 0xB (il numero di settori occupati da una copia del FAT).

A seguito di un errore o di un attacco di virus, la tabella FAT può essere completamente distrutta o alterata (ad esempio, crittografata o scritta con zeri). Se la catena di cluster per il file di cui hai bisogno è parzialmente o completamente distrutta, il ripristino di un tale file può essere un compito arduo.

Alcuni virus sfruttano il fatto che la fine della catena di cluster può essere contrassegnata con qualsiasi valore negli intervalli sopra indicati (ad esempio, da 0xFFF8 a 0xFFFF per una tabella FAT a 16 bit), mentre il sistema operativo utilizza i valori 0FFFFh o 0FFFh.

Il virus può allocare da sé i file infetti (per evitare una nuova infezione), contrassegnando l'ultimo cluster assegnato a questi file con qualsiasi altro valore, ad esempio 0xFFF9. In questo caso, il sistema operativo continuerà a funzionare normalmente, come se nulla fosse.

Nonostante la seconda copia della FAT sia creata come backup, per facilitare la procedura di ripristino in caso di distruzione della prima copia, non bisogna sperare particolarmente che in caso di attacco di virus, si possa semplicemente copiare la seconda copia del FAT in sostituzione della prima. Anche la seconda copia di FAT può essere distrutta o crittografata, e in modo diverso dalla prima.

Formato della directory

Per FAT-12 e FAT-16, la directory principale segue immediatamente la seconda copia della tabella di allocazione dei file. La posizione della directory principale per FAT-32 è specificata nel BPB (parola con offset 0x21).

La dimensione della directory principale in settori può essere determinata dal blocco di parametri BPB del BIOS. Il campo con offset 6 contiene il numero massimo di descrittori di file nella directory principale del disco (questo campo corrisponde alla riga Voci della directory principale quando si formatta il contenuto del settore di avvio con il programma DISKEDIT).

La dimensione di un singolo descrittore è 32 byte, quindi moltiplicando il numero massimo di descrittori per questo numero si ottiene la dimensione della directory radice in byte. Conoscendo la dimensione del settore (512 byte), è facile determinare il numero di settori occupati dalla directory principale.

Ora parliamo di descrittori di file.

Qualsiasi directory (inclusa quella radice) contiene elementi a 32 byte - descrittori che descrivono file e altre directory. Ecco il formato del descrittore utilizzato nel sistema operativo MS-DOS:

Notare il campo all'offset 0x1A. Questo è il numero del primo cluster allocato a un file o directory (se il descrittore descrive una directory di livello inferiore). Utilizzando questo valore, è possibile tracciare l'intera catena di cluster allocati a un determinato file o directory nella tabella di allocazione dei file FAT. Quindi, abbiamo un modo per trovare l'inizio della catena di cluster per qualsiasi file: dobbiamo solo trovare il descrittore corrispondente.

In qualsiasi directory diversa dalla directory principale, i primi due descrittori hanno uno scopo speciale. Il primo descrittore contiene la stringa nel campo del nome:

". "

Questo descrittore punta alla directory che lo contiene. Cioè, la directory ha un collegamento a se stessa. Il secondo descrittore speciale contiene la stringa nel campo del nome:

".. "

Questo descrittore punta a una directory di livello superiore.

Se il campo del numero del primo cluster occupato per il descrittore con il nome ".." contiene un valore zero, significa che questa directory è contenuta nella directory radice.

La struttura ad albero delle directory contiene collegamenti che indirizzano le directory sia in avanti che indietro. Questi collegamenti possono essere utilizzati per verificare l'integrità della struttura della directory del file system.

Il byte dell'attributo è di proprietà di ciascun file. I bit dei byte degli attributi vengono combinati utilizzando un'operazione OR logica. Hanno i seguenti significati:

Morso Descrizione
0 Il file è di sola lettura. Questo file non può essere scritto e non può essere cancellato.
1

File nascosto. Questo file non apparirà nell'elenco dei file visualizzati dal comando DIR

2

File di sistema. Questo bit è solitamente impostato per i file che fanno parte del sistema operativo.

3

Questo descrittore descrive l'etichetta del disco. Per questo descrittore, il campo del nome file e il campo dell'estensione del nome file devono essere trattati come un campo di 11 byte. Questo campo contiene l'etichetta del disco

4 Il descrittore descrive un file che è una sottodirectory di questa directory
5

Bandiera di archivio. Se questo bit è impostato su 1, questo file non è stato scaricato dall'utilità di archiviazione

6-7 Riservato

In genere, i file hanno i seguenti attributi:

Quando un file viene eliminato, il primo byte del suo nome viene sostituito dal byte 0xE5 (carattere "x"). Successivamente, tutti i cluster allocati al file remoto vengono contrassegnati come liberi nella tabella FAT.

Se hai appena eliminato il file, puoi comunque ripristinarlo, poiché tutti i campi nel descrittore vengono conservati tranne il primo byte del nome del file. Ma se si scrivono nuovi file sul disco, può succedere che il contenuto dei cluster del file eliminato venga modificato. In questo caso, il recupero dei file diventerà problematico.

Ora sui campi ora e data.

Le cinque cifre superiori del campo ora contengono il valore dell'ora di modifica del file, sei cifre numerate 5-10 memorizzano il valore dei minuti di modifica del file e, infine, le 5 cifre inferiori contengono il valore dei secondi diviso per 2. affinché il tempo di aggiornamento del file si adattasse a sedici cifre, ho dovuto ridurre la precisione del tempo a due secondi. Nella stragrande maggioranza dei casi, una tale diminuzione della precisione non gioca alcun ruolo.

Il formato della data di aggiornamento del file è simile al formato dell'ora. Le cifre 9-15 sono riservate alla memorizzazione dell'anno, 5-8 per la memorizzazione del mese e 0-4 per la memorizzazione del giorno della settimana. Per ottenere il valore dell'anno di aggiornamento del file è necessario aggiungere il valore 1980 al valore memorizzato nei sette bit superiori.

Alcuni virus utilizzano i campi data e ora per contrassegnare i file infetti. Tale segno è necessario per evitare la reinfezione. Tuttavia, questo metodo primitivo viene utilizzato solo dai virus più semplici.

Il campo lunghezza nel descrittore contiene la lunghezza esatta del file in byte. Per le directory, il campo della lunghezza è impostato su zero.

Quando un virus infetta un file, di solito la sua lunghezza aumenta. Tuttavia, i virus stealth che nascondono la loro presenza nel sistema mascherano efficacemente questo aumento. Pertanto, può essere notato solo quando il sistema operativo viene avviato da un disco floppy "vuoto" esente da infezioni da virus.

Navigazione nella directory

Utilizzeremo il programma DISKEDIT per visualizzare le directory per verificarne la struttura. Esegui questo programma e dal menu Oggetto, seleziona la riga Directory. La finestra di dialogo Cambia directory apparirà sullo schermo.

Sul lato sinistro della finestra di dialogo viene visualizzato l'albero delle directory del disco corrente. Seleziona la directory principale C: \ e fai clic su OK. Successivamente, il contenuto della directory principale apparirà sullo schermo in una forma formattata (Fig. 8).


Riso. 8. Visualizzazione della prima copia della tabella di allocazione FAT formattata

Analizzando le informazioni ricevute, potresti riscontrare modifiche sospette nei campi della dimensione del file, della data e dell'ora. Inoltre, per ogni file, la colonna Cluster visualizza il numero del primo cluster ad esso assegnato.

Utilizzando il menu Visualizza, è possibile passare alla visualizzazione non formattata quando il contenuto della directory viene visualizzato come dump.

Presta attenzione al menu Link. Con l'aiuto di questo menu è possibile passare alla visualizzazione delle strutture logicamente correlate del file system.

Come esercizio, seleziona il file IO.SYS nella directory principale dell'unità C: e quindi seleziona Cluster chain (FAT) dal menu Link. Vedrai la prima copia della tabella di allocazione del file FAT, con la catena di cluster evidenziata nel file IO.SYS evidenziata a colori. Utilizzando la riga File del menu Link, è facile passare alla modalità di visualizzazione del contenuto del file IO.SYS.

Si noti che in molti casi è possibile eseguire transizioni tra strutture di dati logicamente correlate facendo doppio clic con il pulsante sinistro del mouse sull'immagine di queste strutture, il che è molto conveniente. Per i dettagli, vedere la documentazione della suite di software Norton Utilities.

Cosa cercare quando si controlla la struttura della directory?

Oltre a controllare visivamente i campi dei descrittori che si trovano lì, dovresti guardare l'intera directory fino alla fine. Assicurati che non ci siano dati estranei nella directory. Possono essere scritti lì da un virus.

Se si passa alla modalità di visualizzazione non formattata, è possibile assicurarsi che le voci di directory libere contengano valori zero. Se, dopo gli elementi liberi, sono presenti dati, è molto probabile che siano stati scritti lì da un virus o dal sistema di protezione del programma contro la copia non autorizzata (se la directory analizzata contiene tali programmi).

Nel caso in cui la directory venga danneggiata in tutto o in parte, i collegamenti ai file descritti in essa andranno persi. Se trovi in ​​un modo o nell'altro i settori contenenti il ​​file di cui hai bisogno con un descrittore distrutto, utilizzando il metodo descritto di seguito, puoi ripristinare il descrittore e ottenere l'accesso al file.

Directory nel file system VFAT

Quando si ripristina il file system FAT di un computer che esegue Microsoft Windows 95/98 / NT / 2000, è necessario prestare attenzione, poiché la struttura della directory al suo interno è diversa da quella descritta sopra.

Come probabilmente saprai, gli utenti di Microsoft Windows 95/98 non sono troppo vincolati dalle restrizioni sulla lunghezza dei nomi di file e directory. E sebbene in teoria esista una tale limitazione (255 caratteri), non è significativa.

Durante la creazione di un nuovo sistema operativo, i programmatori Microsoft hanno trovato un'ingegnosa soluzione al problema della compatibilità con i programmi MS-DOS utilizzando nomi in "formato 8.3" (8 caratteri - nome file o directory, 3 - estensione nome).

Questa soluzione consiste nel fatto che nelle directory, oltre ai soliti descrittori, sono presenti descrittori di tipo speciale. Il numero di tali descrittori dipende dalla lunghezza del nome del file o della directory. È in questi descrittori che viene memorizzato il nome lungo. Per i programmi MS-DOS, viene creato un normale descrittore che contiene un nome alternativo conforme agli standard MS-DOS.

Il nuovo file system si chiama VFAT.

Dai un'occhiata alla fig. 9. Questa figura mostra la struttura di una directory creata nel file system di Microsoft Windows 98.

Riso. 9. Descrittori estesi e alternativi per i nomi lunghi nella directory principale

Notare i tre descrittori sotto il descrittore di file IO.SYS. Questi sono speciali descrittori estesi che memorizzano informazioni sui nomi lunghi nella codifica UNICODE (in questa codifica, ogni carattere è rappresentato da due byte). In questo caso, i descrittori estesi memorizzano il nome della directory del programma di installazione di DesignWorkshop Lite.

Per garantire che i descrittori speciali non interferiscano con il funzionamento dei programmi MS-DOS, in essi vengono impostati gli attributi Sola lettura, Sistema, Nascosto ed Etichetta volume. I normali programmi MS-DOS ignorano le voci di directory con un insieme così esotico di attributi.

Il descrittore speciale è contrassegnato come LFN (Long File Name) dalla nuova versione di DISKEDIT e si riferisce al numero di cluster 0. Il numero reale del primo cluster allocato a un file o directory è nel descrittore standard immediatamente successivo al descrittore esteso. In questo caso, è l'handle di una directory chiamata DISIGN ~ 1 situata nel cluster 1274.

Se il nome del file o della directory è più lungo di 8 caratteri, il descrittore standard che segue il descrittore esteso contiene un nome alternativo composto dai caratteri iniziali del nome, il carattere ~ (tilde) e un numero decimale. Questo descrittore è chiamato alternativo.

Il sistema operativo Microsoft Windows NT/2000 crea anche descrittori estesi e alternativi sulle partizioni FAT.

Utilizzando la riga More del menu principale del programma DISKEDIT, è possibile visualizzare o modificare il resto dei campi dei descrittori speciali.

Ad esempio, la data e l'ora in cui è stato creato il file si trovano rispettivamente nei campi Data di creazione e Ora di creazione. Inoltre, il sistema operativo Microsoft Windows 95/98 registra la data dell'ultimo accesso al file. Puoi vedere questa data nel campo Accesso.

Il campo EA contiene un flag per gli attributi estesi e ha un valore zero per gli attributi standard.

Se il nome è così lungo da non rientrare in un descrittore speciale, vengono creati diversi descrittori di questo tipo, posizionati uno dopo l'altro. Questo è seguito da un descrittore alternativo. Il campo Ordinale contiene il numero ordinale del descrittore personalizzato. Per l'ultimo descrittore personalizzato, il campo Ultimo è contrassegnato con Sì.

Per coloro che sono interessati al formato esatto dei descrittori VFAT standard ed estesi, abbiamo fornito un frammento del codice sorgente del programma CrashUndo 2000. Si tratta di un'unione di due strutture, la prima delle quali corrisponde al descrittore standard, e il secondo a quello esteso:

Typedef union _FAT_DIR_ENTRY
{
struttura _DIR
{
BYTE nome_dir; // nome
BYTE dir_Estensione; // espansione del nome
BYTE dir_Attributes; // attributi
BYTE dir_NTRiservato; // riservato per Windows NT
BYTE dir_CreateTimeTenth; // decimi del tempo di creazione
UINT16 dir_CreateTime; // tempo della creazione
UINT16 dir_CreateDate; // data di creazione
UINT16 dir_LastAccessDate; // data dell'ultimo accesso
UINT16 dir_FirstClusterHi; // parola alta del numero del cluster
UINT16 dir_WriteTime; // tempo di aggiornamento
UINT16 dir_WriteDate; // data di aggiornamento
UINT16 dir_FirstClusterLo; // la parola meno significativa del numero di cluster
UINT32 dir_FileSize; // dimensione del file
) dir; struttura _LFN
{
BYTE lfn_Sequenza; // numero descrittore
WCHAR lfn_Name1; // prima parte del nome
BYTE lfn_Attributes; // attributi
BYTE lfn_LongEntryType; // flag attributo esteso
BYTE lfn_Checksum; // checksum del nome
WCHAR lfn_Name2; // seconda parte del nome
UINT16 lfn_Riservato; // riservato
WCHAR lfn_Name3; // terza parte del nome
) lfn;
) FAT_DIR_ENTRY, * PFAT_DIR_ENTRY;

Si noti che i due campi a 16 bit dir_FirstClusterHi e dir_FirstClusterLo vengono utilizzati per memorizzare il numero del primo cluster allocato a un file oa una directory.

Per quanto riguarda la tabella di allocazione dei file FAT, sebbene in Microsoft Windows 95/98 sia chiamata Virtual File Allocation Table (VFAT), il suo formato rimane lo stesso. Questo è per la compatibilità con i programmi MS-DOS. Sono stati preservati anche i formati di altri blocchi logici del file system, come la tabella delle partizioni del disco, la tabella del disco logico, il record di avvio e il BIOS Extended BPB.

Tieni presente che le versioni precedenti di Norton Utilities non possono essere utilizzate per ripristinare il file system di Microsoft Windows 95/98, poiché non conoscono nulla sui descrittori estesi e alternativi.

Area dati

Dopo la directory principale, inizia un'area dati che si estende fino alla fine dell'unità logica. Quest'area è suddivisa in cluster e la numerazione dei cluster inizia con il numero 2. I primi settori dell'area dati corrispondono al cluster numero 2.

Ecco una formula che collega il numero di cluster con i numeri dei settori che occupa sul disco logico:

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

Questa formula utilizza la seguente notazione:

Questa formula può tornare utile per il ripristino manuale del file system.

Trova e recupera file nelle partizioni FAT

In questa sezione, forniremo alcune raccomandazioni volte al recupero di file che sono diventati impossibili da accedere a causa di azioni dannose di virus o come risultato della distruzione del file system FAT per qualsiasi altro motivo. In ogni caso, prima di iniziare il lavoro di ripristino, dovresti condurre uno studio completo delle impostazioni del BIOS e del file system utilizzando le informazioni fornite in precedenza.

Dovresti anche assicurarti di avere una buona padronanza della struttura del file system e conoscere i formati di tutti i suoi componenti, come la tabella delle partizioni, la tabella del disco logico, la tabella di allocazione dei file FAT e così via.

Se durante l'esame del file system si scopre che alcune strutture sono state completamente distrutte (ad esempio, il record di avvio principale con la tabella delle partizioni, la tabella delle unità logiche, delle directory e così via), non tutto è perduto.

Se la sicurezza delle informazioni non è di importanza decisiva per te, molti danni al file system possono essere riparati automaticamente utilizzando i programmi Norton Disk Doctor o SCANDISK. Tuttavia, questi ottimi programmi in alcuni casi non saranno in grado di fornirti un aiuto significativo. Peggio ancora, possono distruggere in modo permanente la struttura logica del disco, dopodiché il ripristino dei file diventa impossibile.

Pertanto, dovresti padroneggiare almeno le tecniche di base del ripristino manuale del file system. In casi gravi o critici, consigliamo vivamente di contattarci al servizio DataRecovery.Ru tramite il server http://www.datarecovery.ru o http://www.frolov.pp.ru.

L'idea principale alla base della ricerca di file e strutture di dati persi è che tu conosca (almeno approssimativamente) il loro nome o contenuto.

Ad esempio, i settori che contengono la tabella delle partizioni, la tabella del disco logico e il record di avvio hanno la firma 0xAA55. Saprete dalle sezioni precedenti di questo capitolo che i programmi di avvio contengono stringhe di testo ben note nei loro corpi. Puoi usarli per cercare. Tali linee sono presenti anche nel corpo del blocco esteso di parametri BIOS Extended PBP (queste sono linee FAT12, FAT16 o FAT32).

Se conosci le parole caratteristiche o le sequenze di byte trovate nei file di dati persi, sono utili anche per trovare settori di file da recuperare.

Cerca con Norton File Trova

Il danno più comune al file system FAT si verifica durante un'improvvisa interruzione di corrente ed è la comparsa dei cosiddetti cluster orfani. Questo danno è anche il risultato di un hard reset del computer mentre il sistema operativo Microsoft Windows è in esecuzione.

I cluster persi sono così chiamati perché non sono referenziati in alcuna directory del file system. Tale situazione può verificarsi, ad esempio, a causa del fatto che la directory corrispondente è stata semplicemente distrutta e, pertanto, i collegamenti ai file descritti in essa sono scomparsi.

Molto spesso, per riparare danni di questo tipo, gli utenti utilizzano il programma SCANDISK, che fa parte del sistema operativo, o il programma Norton Disk Doctor.

Dopo aver ripristinato il file system utilizzando Norton Disk Doctor o SCANDISK, sul disco può formarsi un numero enorme di file con una specifica estensione del nome, costituiti da catene di cluster persi (ogni programma di ripristino utilizza il proprio nome). Possono esserci fino a diverse migliaia di tali file, a seconda della gravità del danno al file system.

Se, dopo un guasto o un attacco di virus, hai controllato il disco di uno dei programmi sopra elencati e di conseguenza i file di cui hai bisogno sono scomparsi, c'è un'alta probabilità che fossero tra i file recuperati. Tuttavia, come trovarli tra centinaia e migliaia di altri?

Il modo più semplice per farlo è, ad esempio, utilizzare il programma Norton Find File. Può essere avviato dalla famosa shell di Norton Commander utilizzando la combinazione di tasti Alt + F7.

Nel campo File da trovare, è necessario specificare un modello per il nome del file e l'estensione del nome, ad esempio * .NDD. La ricerca verrà eseguita solo tra i file il cui nome corrisponde al modello specificato.

È inoltre necessario specificare nel campo Contenente il contesto per la ricerca, ovvero qualsiasi stringa di testo presente nel file. Ad esempio, per trovare tutti i file creati dall'elaboratore di testi Microsoft Word per Windows, è possibile specificare la stringa di contesto "Microsoft Word" e per trovare tutti i file preparati nell'ambiente dell'elaboratore di fogli di calcolo di Microsoft Excel, specificare la stringa di contesto "Microsoft Excel " .

Nella parte superiore della finestra Norton Find File viene visualizzato un elenco dei percorsi dei file trovati.

Successivamente, se sono ancora presenti molti file trovati, è possibile riscriverli in una directory separata e rinominarli, quindi continuare la ricerca utilizzando altre stringhe come contesto.

Ricerca con DISKEDIT

Rispetto al programma Norton Find File descritto nella sezione precedente, DISKEDIT offre molte più opzioni per trovare file e varie strutture di file system.

Cerca sezioni

Notare il menu Strumenti DISKEDIT.

Se si seleziona la riga Trova da questo menu, sullo schermo viene visualizzata la finestra di dialogo Inserisci testo di ricerca. Utilizzando questa finestra di dialogo, è possibile eseguire ricerche contestuali per le stringhe fornite in rappresentazioni sia di caratteri che esadecimali. Inoltre, è possibile specificare l'offset del settore e selezionare la modalità Ignora maiuscole. Quando si utilizza questa modalità, il confronto dei modelli verrà eseguito indipendentemente dalle lettere maiuscole o minuscole.

La riga Trova oggetto consente di cercare varie strutture nel file system. Se si seleziona questa riga, sullo schermo comparirà un menu di secondo livello, dove sono presenti le righe Partizione/Avvio, FAT e Sottodirectory.

Prova tutto in azione. Per fare ciò, apri il menu Oggetto e seleziona la riga Settore fisico da esso. Quindi seleziona il primissimo settore situato sulla traccia 0. Questo settore dovrebbe contenere l'MBR. Passa alla visualizzazione non formattata scegliendo la riga come esadecimale dal menu Visualizza.

Ma cosa succede se guardi il Master Boot Record e vedi che la tabella delle partizioni è danneggiata o crittografata?

In questo caso, è possibile eseguire una ricerca contestuale per i settori del record di avvio contenenti BIOS BPB Parameter Blocks. Il modo più semplice per farlo è selezionare la riga Partizione / Avvio dal menu Strumenti / Trova oggetto dopo aver visualizzato il record di avvio principale al suo indirizzo fisico e passare al settore del disco successivo.

Il programma DISKEDIT troverà un settore che contiene la sequenza di byte "55 AA" alla fine, corrispondente alla firma del settore di avvio 0xAA55.

Dopo aver trovato il settore di avvio, il suo indirizzo fisico può essere sostituito manualmente nella tabella delle partizioni modificandolo con il programma DISKEDIT.

Poiché la struttura delle partizioni del disco durante il funzionamento di quest'ultimo può cambiare molte volte, è possibile che si trovino troppi settori di avvio. Alcuni di essi appartenevano a vecchie partizioni e non sono stati distrutti quando la struttura delle partizioni è stata modificata, altri potrebbero appartenere ad altri sistemi operativi del tutto. In ogni caso, controlla la posizione del settore di avvio trovato rispetto ad altre strutture logiche del file system che hai trovato. Ad esempio, puoi utilizzare il fatto che la tabella di allocazione dei file dovrebbe seguire immediatamente dopo il settore di avvio della partizione FAT per "riconoscere".

Poiché durante la ricerca il programma DISKEDIT controlla solo gli ultimi due byte del settore, sono possibili falsi positivi. Dopo il settore trovato, potrebbe esserci un settore, il cui contenuto non è molto simile alla tabella di allocazione dei file.

Trovare tabelle FAT

Ora seleziona la riga Trova oggetto dal menu Strumenti e poi la riga FAT. DISKEDIT cercherà la prima copia della tabella di allocazione del file FAT e ne visualizzerà un dump, evidenziando i primi tre byte.

Se ora si sposta il cursore di testo verso il basso o si preme il tasto PgDn e quindi si seleziona nuovamente la riga FAT dal menu Strumenti / Trova oggetto, viene trovata una seconda copia della tabella di allocazione del file FAT.

Si noti che la ricerca di tabelle FAT in questo caso si riduce alla ricerca della sequenza di byte "F8 FF FF", quindi dopo aver eseguito la ricerca una terza volta, è possibile trovare un'altra "tabella FAT" falsa. Il fatto è che probabilmente c'è qualche file sul disco che contiene la sequenza di byte sopra, quindi fai attenzione.

Trovare directory perse

Adesso cominciamo a cercare i cataloghi smarriti. Non ci sono collegamenti a tali directory da altre directory.

Per eseguire la ricerca, puoi utilizzare la riga Sottodirectory del menu Strumenti / Trova oggetto. Il programma DISKEDIT scansiona i settori del disco alla ricerca di uno all'inizio del quale vi sia una sequenza di byte "2E 20 20 20 20 20 20 20 20 20 20". Questa sequenza corrisponde a un descrittore contenente un riferimento a una directory a se stesso.

Premendo la combinazione di tasti Ctrl + G, puoi continuare a cercare la directory desiderata fino a trovare quella che contiene i file che ti interessano. Puoi anche cercare per nome del file se lo conosci.

Una volta trovata la directory richiesta, è necessario annotare l'indirizzo fisico del settore del disco contenente la directory, quindi trovare o calcolare il numero di cluster corrispondente alla directory.

Per trovare il numero del cluster in cui si trova la directory trovata, passare alla visualizzazione formattata della directory selezionando la riga come Directory dal menu Visualizza. Quindi selezionare la riga Cluster chain (fat) dal menu Link. Il contenuto della tabella FAT apparirà sullo schermo in modalità di visualizzazione formattata, con il numero di cluster desiderato evidenziato.

Recupera directory e file persi

Conoscendo il numero di cluster della directory persa, è possibile creare un nuovo descrittore di directory, ad esempio, nella directory principale di un disco e creare un collegamento in questo descrittore alla directory trovata. Successivamente, la directory persa tornerà disponibile.

Si noti che per il file system VFAT, è necessario compilare correttamente il campo checksum del nome nel descrittore esteso e specificare anche il numero a 32 bit del primo cluster allocato al file.

Puoi suggerire il seguente algoritmo di recupero file:

  • eseguire una ricerca contestuale per settori di file tramite la riga File del menu Strumenti, nonché la visualizzazione sequenziale dei settori del disco;
  • determinare il numero di cluster corrispondenti ai settori trovati, utilizzando la formula sopra o utilizzando il programma DISKEDIT;
  • ripristinare la catena di numeri di cluster per un file nella tabella di allocazione dei file FAT, contrassegnando l'ultimo cluster in esso con un valore speciale (come 0xFFFF per FAT-16);
  • creare un descrittore di file in qualsiasi directory (ad esempio, nella radice);
  • specificare nel descrittore generato un collegamento al primo cluster del file recuperato e la dimensione del file.

Se hai ripristinato un file di documento creato da un elaboratore di testi Microsoft Word per Windows o da un elaboratore di fogli di calcolo Microsoft Excel, caricalo nell'applicazione appropriata e quindi salvalo con un nome diverso. Ciò ripristinerà la lunghezza corretta del file.

Un semplice file di testo può essere caricato in un editor di testo e "tagliare" i dati extra alla fine del file. Quindi salva il file con un nome diverso.

Se si conosce l'esatta lunghezza del file, è possibile impostarla utilizzando il programma DISKEDIT nella modalità di modifica del descrittore di file (Fig. 9).

virus informatici

Virus di file

Il virus può infiltrarsi in tre tipi di file:

Squadra (BAT);

Driver caricabili (IO.SYS, MSDOS.SYS, ecc.);

Binari eseguibili (EXE, COM).

È possibile introdurre un virus nei file di dati, ma questi casi si verificano a causa di un errore del virus o quando il virus manifesta le sue proprietà aggressive.

Un virus viene inserito in un file SYS nel modo seguente: i virus vengono introdotti in un file SYS, assegnano i loro codici al corpo del file e modificano gli indirizzi dei programmi Strategy e Interrupt del driver infetto (ci sono virus che cambiano l'indirizzo del solo uno dei programmi). Quando un driver infetto viene inizializzato, il virus intercetta la richiesta corrispondente dal sistema operativo, la trasferisce al driver, attende una risposta, la corregge e rimane nella RAM insieme al driver in un blocco di memoria. Un virus del genere può essere estremamente pericoloso e tenace, poiché viene introdotto nella RAM quando viene caricato il DOS prima di qualsiasi programma antivirus, se è, ovviamente, anche un driver.

File del driver infetto:

È anche possibile infettare il driver di sistema in un altro modo, quando il virus modifica la sua intestazione in modo che DOS tratti il ​​file infetto come una catena di due (o più) file.

File del driver infetto:

Allo stesso modo, un virus può scrivere i suoi codici all'inizio del driver e, se il file contiene diversi driver, al centro del file.

Un virus viene introdotto nei file COM ed EXE nel modo seguente: i binari eseguibili sono nei formati COM o EXE, diversi per l'intestazione e il modo in cui i programmi vengono avviati per l'esecuzione. L'estensione del nome del file (COM o EXE) non sempre corrisponde al formato file effettivo, il che non influisce in alcun modo sul funzionamento del programma. I file COM o EXE vengono infettati in modi diversi, quindi il virus deve distinguere i file di un formato da un altro.

I virus risolvono questo problema in due modi: alcuni analizzano l'estensione del nome del file, altri - l'intestazione del file. Il primo metodo sarà indicato di seguito come infezione. File COM- (.EXE-), il secondo metodo di infezione: file COM- (EXE-). Nella maggior parte dei casi, il virus infetta correttamente il file, ovvero dalle informazioni contenute nel suo corpo è possibile ripristinare completamente il file infetto. Ma i virus, come la maggior parte dei programmi, spesso contengono errori invisibili a prima vista. Per questo motivo, anche un virus scritto completamente correttamente può danneggiare irreversibilmente il file se viene sconfitto. Ad esempio, i virus che distinguono i tipi di file in base all'estensione del nome (.COM-, .EXE-) sono molto pericolosi perché rovinano i file la cui estensione del nome non corrisponde al formato interno.

Quando si diffondono, i virus dei file vengono introdotti nel corpo di un file infetto: inizio, fine o metà. Ci sono diverse possibilità per introdurre un virus nel mezzo di un file: può essere copiato nella tabella delle impostazioni dell'indirizzo del file EXE ("Boot - Exe"), l'area dello stack del file COMMAND.COM ("Lehigh") , può espandere il file o sovrascrivere una parte del file alla fine e i suoi codici - nello spazio vuoto ("Apri l - 1 - Exe", "Phoenix"), ecc. Inoltre, la copia di un virus nel metà di un file può verificarsi a causa di un errore di virus. In questo caso, il file potrebbe essere danneggiato in modo irreversibile. Esistono altri modi per introdurre un virus all'interno di un file, ad esempio il virus "mutante" utilizza un metodo per comprimere alcune parti del file.

Un virus può essere inserito all'inizio di un file in tre modi. Il primo modo è che il virus riscrive l'inizio del file infetto fino alla fine e si copia nello spazio vuoto. Quando un file viene infettato con il secondo metodo, il virus crea una copia di se stesso nella RAM, vi aggiunge il file infetto e salva la concatenazione risultante su disco. Quando si infetta con il terzo metodo, il virus scrive i suoi codici all'inizio del file senza salvare il vecchio contenuto dell'inizio del file, naturalmente il file smette di funzionare e non viene ripristinato.

L'iniezione di virus all'inizio di un file viene utilizzata nella stragrande maggioranza dei casi in cui i file COM sono infetti. I file EXE vengono infettati da questo metodo a causa di un errore del virus o utilizzando l'algoritmo del virus "Pascal".

L'inserimento di un virus alla fine di un file è il metodo di infezione più comune. In questo caso, il virus modifica l'inizio del file in modo tale che i primi comandi eseguiti del programma contenuto nel file siano i comandi del virus. In un file COM, ciò si ottiene modificando i suoi primi tre (o più) byte con i codici dell'istruzione JMP Loc_Virus (o, in generale, con i codici del programma che trasferisce il controllo al corpo del virus). Il file EXE viene convertito in un formato di file COM e quindi infettato come ultimo, oppure l'intestazione del file (lunghezza, indirizzi iniziali) viene modificata.

Un metodo di infezione standard è un metodo in cui un virus viene aggiunto alla fine di un file e modifica i primi byte di un file COM e diversi campi di intestazione di un file EXE.

Il virus, dopo avergli trasferito il controllo, agisce secondo il seguente algoritmo:

Ripristina il programma (ma non il file) nella sua forma originale;

Se il virus risiede in memoria, controlla la RAM per una copia di se stesso e infetta la memoria del computer se non viene trovata alcuna copia; se il virus non è residente in memoria, cerca i file non infetti nelle directory corrente e radice, nelle directory contrassegnate nel comando PATH, esegue la scansione dell'albero delle directory delle unità logiche e quindi infetta i file rilevati;

Esegue, se del caso, funzioni aggiuntive: azioni distruttive, effetti grafici o sonori.

Restituisce il controllo al programma principale.

Virus di avvio

I virus di avvio infettano il settore di avvio del disco floppy e il settore di avvio, o Master Boot Record del disco rigido. Quando un disco viene infettato, il virus nella maggior parte dei casi trasferisce il settore di avvio originale in un altro settore del disco. Se la lunghezza del virus è maggiore della lunghezza del settore, la prima parte del virus viene spostata nel settore infetto, il resto viene collocato in altri settori. Quindi il virus copia le informazioni di sistema memorizzate nel bootloader iniziale e le scrive nel settore di avvio (per MBR questa informazione è la tabella delle partizioni del disco, per il settore di avvio dei dischi floppy - BIOS Parameter Block).

L'algoritmo del virus di avvio.

L'iniezione di memoria si verifica durante l'avvio da un disco infetto. In questo caso, il boot loader legge il contenuto del primo settore del disco da cui è caricato, mette le informazioni lette in memoria e trasferisce il controllo ad esso (cioè al virus). Successivamente, iniziano a essere eseguite le istruzioni del virus, il che riduce la quantità di memoria libera; legge la sua continuazione dal disco; si trasferisce in un'altra area di memoria; imposta i vettori di interrupt richiesti; esegue azioni aggiuntive; copia il settore di avvio originale in memoria e trasferisce il controllo ad esso.

In futuro, il virus di avvio si comporta allo stesso modo di un virus di file residente in memoria: intercetta l'accesso del sistema operativo ai dischi e li avvia, a seconda di determinate condizioni, esegue azioni distruttive o provoca effetti sonori o video.

Gentili utenti, il materiale di questo articolo non può essere considerato completo ed esaustivo, poiché i progressi sono in costante progresso e, purtroppo, anche le tecnologie per la scrittura di virus e malware stanno migliorando. Questo articolo è compilato a scopo informativo, per aumentare l'educazione e la consapevolezza degli utenti. Spero (ingenuamente scorretto) che il materiale presentato non spinga nessuno a scrivere programmi maligni, ma, al contrario, lo faccia pensare. Ricorda, c'è un detto saggio: "Non sputare nel pozzo, dovrai bere". Nel nostro caso, Internet è un enorme "pozzo" di informazioni, da cui otteniamo le informazioni di cui tu ed io abbiamo bisogno. È nostra diretta responsabilità mantenerlo pulito, perché ne siamo parti integranti (anche se indirettamente, ma nondimeno :).

Cosa sono i virus?

Virusè un programma appositamente scritto, di piccole dimensioni, una sequenza di codici istruzione che può "ascriversi" ad altri programmi ("infettarli"), creare copie di sé (non sempre uguali) e incorporarle in file, aree di sistema di il computer, ecc. ecc., nonché eseguire varie azioni indesiderate sul computer.

I virus informatici devono il loro nome a una certa somiglianza con i virus naturali: la capacità di autoinfettarsi; alta velocità di propagazione; selettività dei sistemi interessati (ogni virus infetta solo determinati sistemi o gruppi omogenei di sistemi); la capacità di "infettare" sistemi ancora non infetti; difficoltà nel combattere i virus, ecc.

Classificazione dei virus informatici

I virus possono essere convenzionalmente classificati secondo i seguenti criteri:
*secondo l'habitat del virus
* con il metodo di contaminazione dell'habitat
* da possibilità distruttive
* dalle caratteristiche dell'algoritmo del virus
* per tipo di azioni distruttive

I virus di avvio infettano il settore di avvio del disco floppy e il settore di avvio o Master Boot Record (MBR) del disco rigido. Il principio di funzionamento dei virus di avvio si basa sugli algoritmi per l'avvio del sistema operativo all'accensione o al riavvio del computer.

Per essere più chiaro spiego nel dettaglio come si avvia il computer: dopo aver acceso il PC alla rete, l'alimentatore invia il segnale POWER_ON alla scheda madre, che a sua volta controlla la tensione nel circuito di alimentazione, se è corretta , quindi il computer si accende. Inoltre, il programma nel BIOS (Basic Input Output System) della scheda video riceve il controllo, verifica i componenti della scheda video e, al ricevimento di dati positivi, trasferisce il controllo al BIOS della scheda madre. Avvia la procedura POST (Power-On Self Test), che esegue un autotest di tutti i componenti del sistema, se il test ha esito positivo e tutti i dispositivi trovati restituiscono segnali positivi, il BIOS in accordo con i dati nella sezione Boot e trasferisce il controllo al dispositivo che si trova per primo in questo elenco. Il controllo viene trasferito ricercando il primo settore fisico, leggendolo e avviando il bootloader.

Nel caso di un floppy disk o di un CD-ROM, riceve il controllo il settore di avvio, che analizza la tabella dei parametri del disco (BPB - BIOS Parameter Block), calcola gli indirizzi dei file di sistema del sistema operativo, li legge in memoria e li lancia per l'esecuzione. Se i file del sistema operativo mancano sul disco di avvio, il programma situato nel settore di avvio del disco visualizza un messaggio di errore e propone di sostituire il disco di avvio.

Nel caso di un hard disk prende il controllo il bootloader sopra citato, che analizza la Disk Partition Table, calcola l'indirizzo del boot sector attivo (di solito questo settore è il boot sector del C :), lo carica in memoria e ne trasferisce il controllo. Dopo aver ricevuto il controllo, il settore di avvio attivo del disco rigido esegue le stesse azioni del settore di avvio di un disco floppy. Inoltre, tutto è più semplice, il caricatore del sistema operativo si trova nei file di sistema, che carica ulteriormente il sistema operativo.

Quando infettano i dischi, i virus di avvio "sostituiscono" il loro codice per qualsiasi programma che ottiene il controllo all'avvio del sistema. Quindi, il principio di infezione è lo stesso in tutti i metodi sopra descritti: il virus "obbliga" il sistema a leggerlo in memoria quando viene riavviato ea dare il controllo non al codice del bootloader originale, ma al codice del virus.

I floppy disk vengono infettati nell'unico modo noto: il virus scrive il proprio codice invece del codice originale del settore di avvio del floppy. Il disco rigido viene infettato in tre modi possibili: il virus si scrive al posto del codice MBR o al posto del codice del settore di avvio del disco di avvio (di solito C :), o modifica l'indirizzo del settore di avvio attivo nel disco Tabella delle partizioni situata nell'MBR del disco rigido.

Quando infetta un disco, il virus nella maggior parte dei casi trasferisce il settore di avvio originale (o MBR) in un altro settore del disco (ad esempio, nel primo settore libero). Se la lunghezza del virus è maggiore della lunghezza del settore, la prima parte del virus viene collocata nel settore infetto, le parti rimanenti vengono collocate in altri settori (ad esempio, nei primi settori liberi).


Esistono diverse opzioni per posizionare il settore di avvio iniziale sul disco e continuare il virus: in settori di cluster liberi di un disco logico, in settori di sistema inutilizzati o usati raramente, in settori situati all'esterno del disco.

Se la continuazione del virus si trova in settori che appartengono a cluster di dischi liberi (quando cerca questi settori, il virus deve analizzare la tabella di allocazione dei file - FAT), quindi, di regola, il virus contrassegna questi cluster nel FAT (Fail Allocation Table) come cluster danneggiati (i cosiddetti cluster pseudo-cattivi).

Inoltre, i virus posizionano il settore di avvio iniziale in un settore inutilizzato o utilizzato raramente, in uno dei settori del disco rigido (se presente) situato tra l'MBR e il primo settore di avvio e su un disco floppy tale settore viene selezionato da gli ultimi settori della directory principale.

Alcuni virus scrivono il loro codice negli ultimi settori del disco rigido, poiché questi settori vengono utilizzati solo quando il disco rigido è completamente pieno di informazioni. Meno comunemente usato è il metodo per tenere il virus fuori dal disco. Ciò si ottiene in due modi. Il primo si riduce alla riduzione delle dimensioni dei dischi logici: il virus sottrae i valori necessari dai campi corrispondenti del settore di avvio BPB e della tabella delle partizioni del disco del disco rigido (se il disco rigido viene infettato), riducendo così il dimensione del disco logico e scrive il suo codice nei settori "tagliati" da esso.

Il secondo modo è scrivere dati al di fuori della partizione del disco fisico. Nel caso dei floppy disk, il virus deve formattare una traccia aggiuntiva sul disco (metodo di formattazione non standard). Esistono virus che scrivono il loro codice al di fuori dello spazio accessibile del disco rigido, se, ovviamente, ciò è consentito dall'hardware installato.

Naturalmente, esistono altri metodi per posizionare un virus sul disco, ad esempio alcuni virus contengono un caricatore MBR standard nei loro corpi e, se infetti, sovrascrivono l'MBR originale senza salvarlo.

Quando infettano, la maggior parte dei virus copia le informazioni di sistema memorizzate nel bootloader iniziale nel codice del proprio bootloader (per MBR questa informazione è la tabella delle partizioni del disco, per il settore di avvio dei dischi floppy - BIOS Parameter Block). In caso contrario, il sistema non sarà in grado di avviarsi da solo, poiché gli indirizzi dei dischi dei componenti del sistema vengono calcolati in base a queste informazioni.

Tuttavia, alcuni virus stealth non memorizzano queste informazioni o, ancora di più, le crittografano deliberatamente. Quando il sistema o altri programmi accedono a settori infetti, il virus sostituisce gli originali non infetti e il sistema si avvia senza errori.

Va anche notato che i virus di avvio molto raramente "vanno d'accordo" sullo stesso disco: spesso usano gli stessi settori del disco per posizionare il loro codice / dati. Di conseguenza, il codice/dati del primo virus risulta essere danneggiato quando viene infettato dal secondo virus e il sistema si blocca durante l'avvio o i cicli.

Algoritmo del virus di avvio

Quasi tutti i virus di avvio sono residenti in memoria. Sono incorporati nella memoria del computer quando si avvia da un disco infetto. In questo caso, il boot loader legge il contenuto del primo settore del disco da cui viene effettuato l'avvio, inserisce le informazioni lette in memoria e trasferisce il controllo ad esso (cioè al virus). Successivamente, iniziano a essere eseguite le istruzioni del virus, che:
1. di norma, riduce la quantità di memoria libera (la parola a 0040: 0013), copia il suo codice nello spazio vuoto e legge la sua continuazione dal disco (se presente). Successivamente, alcuni virus "aspettano" l'avvio del sistema operativo e ripristinano questa parola al suo significato originale. Di conseguenza, non si trovano al di fuori del sistema operativo, ma come blocchi separati di memoria del sistema operativo.
2. intercetta i vettori di interrupt necessari (solitamente INT 13h), legge il settore di avvio originale in memoria e gli trasferisce il controllo.

In futuro, il virus di avvio si comporterà allo stesso modo di un virus di file residente in memoria: intercetta l'accesso del sistema operativo ai dischi e li infetta, a seconda di determinate condizioni, esegue azioni distruttive o provoca effetti sonori o video.

Esistono virus di avvio non residenti in memoria: durante l'avvio, infettano l'MBR del disco rigido e dei dischi floppy, se presenti nelle unità. Quindi tali virus trasferiscono il controllo al bootloader originale e non influiscono più sul funzionamento del computer.

Virus di file

Questo gruppo include virus che, moltiplicandosi in un modo o nell'altro, utilizzano il file system di un sistema operativo.

L'iniezione di un file virus è possibile in quasi tutti i file eseguibili di tutti i sistemi operativi più diffusi, nonché nelle librerie di driver dinamici e virtuali (dll, VxD) e molti altri file.

Esistono virus che infettano file che contengono codice sorgente di programmi, librerie o moduli oggetto. È possibile scrivere un virus su file di dati, ma ciò accade a causa di un errore del virus o quando si manifestano le sue proprietà aggressive. I macrovirus scrivono anche il loro codice in file di dati, documenti o fogli di calcolo, ma questi virus sono così specifici da essere classificati come un gruppo separato.

Questo metodo di infezione è il più semplice: il virus scrive il proprio codice invece del codice del file infetto, distruggendone il contenuto. Naturalmente, il file smette di funzionare e non può essere ripristinato. Tali virus si rilevano molto rapidamente, poiché il sistema operativo e le applicazioni smettono di funzionare piuttosto rapidamente.

Iniezione di virus all'inizio del file

L'iniezione di un virus all'inizio di un file viene utilizzata nella stragrande maggioranza dei casi quando si infettano i file DOS "BAT e COM. Esistono diversi virus che si scrivono all'inizio dei file EXE dei sistemi operativi DOS, Windows e persino Linux. Allo stesso tempo, i virus vengono utilizzati per mantenere il programma funzionante. , disinfettare il file infetto, riavviarlo, attendere che finisca e riscriverlo all'inizio (a volte viene utilizzato un file temporaneo per questo, in cui il viene scritto un file neutralizzato), oppure ripristinano il codice del programma nella memoria del computer e configurano gli indirizzi necessari nel suo corpo (cioè duplicano il lavoro del sistema operativo).

Iniezione di virus alla fine del file

Il modo più comune per introdurre un virus in un file consiste nell'aggiungere il virus alla fine del file. In questo caso, il virus modifica l'inizio del file in modo tale che i primi comandi eseguiti del programma contenuto nel file siano i comandi del virus.

In un file COM DOS, nella maggior parte dei casi ciò si ottiene modificando i suoi primi tre (o più) byte in codici di istruzione JMP Loc_Virus (o, più in generale, in codici del programma che trasferisce il controllo al corpo del virus).

I virus che si infiltrano nei file SYS allegano i loro codici al corpo del file e modificano gli indirizzi dei programmi Strategia e Interruzione del driver infetto. Quando un driver infetto viene inizializzato, il virus intercetta la richiesta corrispondente dal sistema operativo, la trasferisce al driver, attende una risposta a questa richiesta, la corregge e rimane con il driver in un blocco di RAM. Un tale virus può essere estremamente pericoloso e tenace, poiché viene introdotto nella RAM all'avvio del sistema operativo prima di qualsiasi programma antivirus, se, ovviamente, non è nemmeno un driver.

Esistono anche virus che infettano i driver di sistema in modo diverso: il virus modifica la propria intestazione in modo che il sistema operativo tratti il ​​file infetto come una catena di due (o più) driver.

Allo stesso modo, un virus può scrivere i suoi codici all'inizio del driver e, se il file contiene diversi driver, al centro del file.

Iniezione di virus nel mezzo del file

Esistono diversi metodi per introdurre un virus all'interno di un file. Nel più semplice di questi, il virus sposta parte del file alla fine o "espande" il file e scrive il suo codice nello spazio liberato. Questo metodo è per molti versi simile ai metodi sopra elencati. Allo stesso tempo, alcuni virus comprimono il blocco di file portatili in modo che la lunghezza del file non cambi durante l'infezione.

Il secondo è il metodo "cavità", in cui il virus viene scritto in aree deliberatamente inutilizzate del file. Il virus può essere copiato in aree inutilizzate della tabella di configurazione degli indirizzi EXE DOS o nell'intestazione NewEXE, nell'area dello stack del file COMMAND.COM ("Lehigh") o nell'area dei messaggi di testo dei compilatori più diffusi ( "NMSG"). Ci sono virus che infettano solo quei file che contengono blocchi pieni di qualche byte costante, mentre il virus scrive il suo codice invece di un tale blocco.

Virus senza punto di ingresso

Separatamente, dovrebbe essere notato un gruppo piuttosto insignificante di virus che non hanno un "punto di ingresso" (virus EPO - virus che oscurano il punto di ingresso). Questi includono virus che non scrivono comandi di trasferimento di controllo nell'intestazione dei file COM (JMP) e non modificano l'indirizzo del punto di inizio nell'intestazione dei file EXE. Tali virus scrivono un comando per passare al loro codice da qualche parte nel mezzo del file e ottenere il controllo non direttamente quando viene lanciato il file infetto, ma quando viene chiamata una procedura contenente il codice per trasferire il controllo al corpo del virus. Inoltre, questa procedura può essere eseguita molto raramente (ad esempio, quando si visualizza un messaggio su un errore specifico). Di conseguenza, il virus può "dormire" all'interno di un file per molti anni e può essere rilasciato solo in determinate condizioni limitate.

Prima di scrivere un comando per passare al proprio codice nel mezzo del file, il virus deve selezionare l'indirizzo "corretto" nel file, altrimenti il ​​file infetto potrebbe essere danneggiato. Esistono diversi modi noti in cui i virus rilevano tali indirizzi all'interno dei file.

Il primo modo- ricercare nel file una sequenza di codice standard C/Pascal. Questi virus cercano le intestazioni delle procedure C/Pascal standard nei file infetti e scrivono invece il proprio codice.

Secondo modo- rintracciare o smontare il codice del file. Tali virus caricano un file in memoria, quindi lo tracciano o lo disassemblano e, a seconda delle varie condizioni, selezionano uno o più comandi, al posto del quale viene scritto un codice per la transizione al corpo del virus.

La terza via viene utilizzato solo dai virus residenti in memoria: quando viene avviato un file, monitorano un'interruzione (in genere INT 21h). Non appena il file infetto provoca questa interruzione, il virus scrive il proprio codice invece del comando di chiamata dell'interruzione.

Compagno - virus

La categoria "compagno" include virus che non modificano i file infetti. L'algoritmo di funzionamento di questi virus è che viene creato un doppio file per il file infetto e quando viene lanciato il file infetto, questo doppio viene controllato, ad es. virus.

I virus associati più comuni che utilizzano la funzionalità DOS per eseguire per primi un file .COM se nella stessa directory sono presenti due file con lo stesso nome ma con estensioni di nome diverse: .COM e .EXE. Questi virus creano file complementari per i file EXE che hanno lo stesso nome ma con estensione .COM, ad esempio, viene creato un file XCOPY.COM per il file XCOPY.EXE. Il virus si scrive su un file COM e non modifica in alcun modo il file EXE. Quando esegui un file di questo tipo, DOS sarà il primo a rilevare ed eseguire il file COM, ad es. un virus che avvierà anche il file EXE. Alcuni virus utilizzano non solo la variante COM-EXE ma anche BAT-COM-EXE.

Il secondo gruppo è costituito da virus che, in caso di infezione, rinominano un file con un altro nome, lo ricordano (per il successivo avvio del file host) e scrivono il loro codice su disco con il nome del file infetto. Ad esempio, il file XCOPY.EXE viene rinominato in XCOPY.EXD e il virus viene scritto come XCOPY.EXE. All'avvio, il controllo riceve il codice del virus, che esegue quindi l'XCOPY originale memorizzato con il nome XCOPY.EXD. Un fatto interessante è che questo metodo funziona, probabilmente, in tutti i sistemi operativi: virus di questo tipo sono stati trovati non solo in DOS, ma in Windows e OS / 2.

Il terzo gruppo include i cosiddetti virus "Path-companion" che "giocano" sulle funzionalità PATH di DOS. Scrivono il loro codice sotto il nome del file da infettare, ma "più in alto" di un livello in PATH (quindi, DOS sarà il primo a rilevare ed eseguire il file del virus), oppure spostano il file vittima di una sottodirectory più in alto e presto.

File worm

I file worm sono, in un certo senso, una sorta di compagni: i virus, ma non associano in alcun modo la loro presenza a nessun file eseguibile. Durante la replica, copiano semplicemente il loro codice in alcune directory del disco nella speranza che queste nuove copie vengano mai lanciate dall'utente. A volte questi virus danno alle loro copie nomi "speciali" per spingere l'utente a lanciare la loro copia, ad esempio INSTALL.EXE o WINSTART.BAT.

Esistono virus worm che scrivono le loro copie negli archivi (ARJ, ZIP, RAR e altri). Questi virus includono "ArjVirus" e "Winstart". Alcuni virus scrivono il comando per avviare un file infetto nei file BAT.

I file worm non devono essere confusi con i worm di rete. I primi utilizzano solo le funzioni di file di un sistema operativo, mentre i secondi utilizzano i protocolli di rete durante la propagazione.

Collega virus

I virus di collegamento, come i virus associati, non modificano il contenuto fisico dei file, ma quando viene avviato un file infetto, "costringono" il sistema operativo a eseguire il suo codice. Raggiungono questo obiettivo modificando i campi necessari del file system.

Ad oggi, è noto solo un tipo di virus Link: virus della famiglia "Dir_II". Quando infettano il sistema, scrivono il loro corpo nell'ultimo cluster del disco logico. Quando infettano un file, i virus correggono solo il numero del primo cluster del file situato nel settore corrispondente della directory. Il nuovo cluster iniziale del file punterà al cluster contenente il corpo del virus. Pertanto, quando i file vengono infettati, la loro lunghezza e il contenuto dei cluster di dischi contenenti questi file non cambieranno e tutti i file infetti su un disco logico avranno solo una copia del virus.

Dopo l'infezione, i dati della directory puntano a un virus, ad es. quando un file viene eseguito, non sono i file a prendere il controllo, ma il virus.

OBJ-, LIB-virus e virus nei testi di partenza

I virus che infettano le librerie del compilatore, i moduli oggetto e i codici sorgente dei programmi sono piuttosto esotici e praticamente rari. Ce ne sono circa una dozzina in totale. I virus che infettano i file OBJ e LIB scrivono il loro codice nel formato di un modulo oggetto o di una libreria. Il file infetto non è quindi eseguibile e non è in grado di diffondere ulteriormente il virus nel suo stato attuale. Il portatore di un virus "vivo" è un file COM o EXE ottenuto nel processo di collegamento di un file OBJ / LIB infetto con altri moduli e librerie di oggetti. Pertanto, il virus si diffonde in due fasi: nella prima fase vengono infettati i file OBJ / LIB, nella seconda fase (collegamento) si ottiene un virus funzionante.

L'infezione dei codici sorgente dei programmi è una logica continuazione del precedente metodo di riproduzione. In questo caso, il virus aggiunge il suo codice sorgente al codice sorgente (in questo caso, il virus deve contenerlo nel suo corpo) o il proprio dump esadecimale (che è tecnicamente più semplice). Un file infetto è in grado di diffondere ulteriormente il virus solo dopo la compilazione e il collegamento.

Algoritmo di un file virus

Il metodo per ripristinare il programma nella sua forma originale dipende da come il file è stato infettato. Se un virus si infiltra all'inizio di un file, sposta i codici del programma infetto di un numero di byte pari alla lunghezza del virus, oppure sposta una parte del codice del programma dalla fine all'inizio, oppure ripristina il file su disco e poi lo esegue. Se un virus si è scritto alla fine del file, durante il ripristino del programma utilizza le informazioni salvate nel suo corpo quando il file è stato infettato. Può essere la lunghezza del file, alcuni byte dell'inizio del file nel caso di un file COM o alcuni byte dell'intestazione nel caso di un file EXE. Se il virus si scrive al centro del file in un modo speciale, durante il ripristino del file utilizza anche algoritmi speciali.

Iniezione di virus nei file DOS COM ed EXE

File binari eseguibili COM o EXE che differiscono nell'intestazione e nel modo in cui vengono eseguiti i programmi. L'estensione del nome del file ("* .COM" o "* .EXE") non sempre corrisponde all'effettivo formato del file, che però non pregiudica in alcun modo il funzionamento del programma. I file COM ed EXE vengono infettati in modi diversi, quindi il virus deve distinguere i file di un formato da un altro. I virus risolvono questo problema in due modi: alcuni analizzano l'estensione del nome del file ("* .COM", "* .EXE"), altri - l'intestazione del file. Il primo metodo sarà indicato di seguito come infettare i file * .COM- (o * .EXE-), il secondo - infettare i file COM- (o EXE-).

Nella maggior parte dei casi, il virus infetta correttamente il file, ad es. dalle informazioni contenute nel corpo del virus è possibile recuperare completamente il file infetto. Ma i virus, come la maggior parte dei programmi, spesso contengono errori invisibili a prima vista. Per questo motivo, anche un virus scritto completamente correttamente può danneggiare irreversibilmente un file quando è infetto. Ad esempio, i virus che distinguono i tipi di file in base all'estensione del nome (* .COM, * .EXE) sono molto pericolosi perché rovinano i file la cui estensione del nome non corrisponde al formato interno.

Uno degli esempi più comuni di infezione di file errati è COMMAND.COM di Windows95. Questo file, infatti, è un file EXE, inoltre, ha una dimensione superiore a 90K, il che è impossibile per un file COM. Pertanto, i virus che distinguono i file COM / EXE per estensione del nome e non controllano la lunghezza dei file COM infetti (ad esempio, "Drogato") rovinano tale COMMAND.COM e diventa non operativo.

travestimento primitivo

Quando un file viene infettato, il virus può eseguire una serie di azioni che mascherano e accelerano la sua diffusione. Tali azioni includono l'elaborazione dell'attributo di sola lettura, la sua rimozione prima dell'infezione e il ripristino dopo. Molti virus di file leggono la data dell'ultima modifica del file e la ripristinano dopo l'infezione. Per nascondere la loro diffusione, alcuni virus intercettano un'interruzione del sistema operativo che si verifica quando si accede a un disco protetto da scrittura (INT 24h) e lo elaborano autonomamente.

Velocità di propagazione

Parlando di virus di file, è necessario notare una loro caratteristica come la loro velocità di diffusione. Più velocemente un virus si diffonde, più è probabile che si verifichi un'epidemia di quel virus. Più un virus si diffonde lentamente, più è difficile rilevarlo (a meno che, ovviamente, questo virus non sia ancora sconosciuto ai programmi antivirus). I concetti di virus "veloce" e "lento" (Fast infector, Slow infector) sono piuttosto relativi e vengono utilizzati solo come caratteristica del virus nella sua descrizione.

I virus non residenti in memoria sono spesso "lenti": la maggior parte di essi, una volta avviati, infetta uno o due o tre file e non ha il tempo di inondare il computer finché non viene lanciato il programma antivirus (o una nuova versione dell'antivirus). -virus configurato per un determinato virus). Esistono, ovviamente, virus "veloci" non residenti in memoria che cercano e infettano tutti i file eseguibili quando vengono avviati, ma tali virus sono molto evidenti: quando viene lanciato ogni file infetto, il computer lavora attivamente con il disco rigido per alcuni ( a volte piuttosto lungo) tempo, che smaschera il virus.

La "velocità" dei virus residenti in memoria è generalmente superiore a quella dei virus non residenti in memoria: infettano i file ogni volta che vi si accede. Di conseguenza, tutti o quasi i file che vengono costantemente utilizzati nel lavoro vengono infettati sul disco.

La velocità di propagazione dei virus di file residenti che infettano i file solo quando vengono avviati per l'esecuzione sarà inferiore a quella dei virus che infettano i file quando vengono aperti, rinominati, modificati gli attributi dei file, ecc. Quando si crea una copia nella RAM del computer, molti virus cercano di occupare l'area di memoria con gli indirizzi più alti, distruggendo la parte temporanea dell'interprete dei comandi COMMAND.COM. Quando il programma infetto termina, la parte temporanea dell'interprete viene ripristinata e il file COMMAND.COM viene aperto e, se il virus infetta i file quando vengono aperti, viene infettato. Pertanto, quando viene lanciato un tale virus, il file COMMAND.COM verrà infettato per primo.

I materiali e i dati sono stati presi dalle risorse:
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

  • Per inviare commenti, fai il login o registrati

Dopo aver avviato un programma contenente un virus, diventa possibile infettare altri file. Il virus più comune infetta il settore di avvio del disco e i file eseguibili con le estensioni EXE, COM, SYS o BAT. È estremamente raro che i file di testo e grafici vengano infettati.

Un programma infetto è un programma che contiene un programma antivirus incorporato al suo interno.

Segni di un virus

Quando un computer viene infettato da un virus, è molto importante rilevarlo tempestivamente. Per fare ciò, dovresti conoscere i principali segni della manifestazione dei virus. Questi includono quanto segue:

Cessazione del lavoro o funzionamento errato di programmi precedentemente funzionanti con successo;

Prestazioni lente del computer;

Impossibilità di caricare il sistema operativo;

Scomparsa di file e directory o distorsione del loro contenuto;

Modifica della data e dell'ora di modifica del file;

Ridimensionamento dei file;

Un aumento significativo e inaspettato del numero di file su disco;

Una significativa riduzione delle dimensioni della RAM libera;

Visualizzazione di messaggi o immagini involontarie sullo schermo;

Invio di segnali sonori involontari;

Frequenti blocchi e arresti anomali del computer.

Va notato che i suddetti fenomeni non sono necessariamente causati dalla presenza di un virus, ma possono essere dovuti ad altre cause. Pertanto, è sempre difficile diagnosticare correttamente lo stato del computer.

I principali tipi di virus

Attualmente sono noti più di 15.000 virus software, che possono essere classificati secondo i seguenti criteri (Fig.11.10):

Per habitat;

Con il metodo di infezione;

Dal grado di impatto;

Dalle caratteristiche dell'algoritmo.

Dipende da habitat i virus possono essere separati

In rete,

File,

Stivale

Avviabile da file.

· I virus di rete si diffondono su varie reti di computer.

· I virus dei file vengono introdotti principalmente nei moduli eseguibili, ad es. in file con estensione COM ed EXE. I virus dei file possono iniettarsi in altri tipi di file, ma, di norma, registrati in tali file, non acquisiscono mai il controllo e, pertanto, perdono la capacità di replicarsi.

· I virus di avvio vengono introdotti nel settore di avvio del disco (settore di avvio) o nel settore contenente il programma di avvio per il disco di sistema (Master Boot Record).

· I virus di avvio dei file infettano sia i file che i settori di avvio dei dischi.

A titolo di infezione i virus si dividono in

Residente

Non residente.

· Un virus residente in memoria, quando infetta (infetta) un computer, lascia la sua parte residente nella RAM, che intercetta quindi l'accesso del sistema operativo agli oggetti di infezione (file, settori di avvio dei dischi, ecc.) e si inietta in essi . I virus residenti risiedono in memoria e rimangono attivi fino allo spegnimento o al riavvio del computer.

· I server non residenti non infettano la memoria del computer e sono attivi per un tempo limitato.

In base al grado di impatto, i virus possono essere suddivisi nei seguenti tipi:

non pericoloso, non interferiscono con il funzionamento del computer, ma riducono la quantità di RAM libera e memoria sui dischi, le azioni di tali virus si manifestano in qualsiasi effetto grafico o sonoro;

virus pericolosi che può portare a varie interruzioni nel funzionamento del computer;

molto pericoloso, il cui impatto può portare alla perdita di programmi, distruzione di dati, cancellazione di informazioni nelle aree di sistema del disco

Dalle caratteristiche dell'algoritmo i virus sono difficili da classificare a causa della loro ampia varietà.

Si può notare virus replicatori chiamati worm, che si diffondono sulle reti di computer, calcolano gli indirizzi dei computer di rete e scrivono copie di se stessi a questi indirizzi.

Conosciuto virus stealth chiamati virus di passaggio, che sono molto difficili da rilevare e neutralizzare, poiché intercettano le chiamate del sistema operativo a file e settori del disco infetti e sostituiscono aree del disco non infette al posto dei loro corpi.

Più difficile da trovare virus mutanti contenente algoritmi di crittografia-decrittografia, grazie ai quali le copie dello stesso virus non hanno una singola stringa di byte ripetuta.

Ci sono anche i cosiddetti programmi quasi-virus o "Trojan", che, pur non essendo in grado di autopropagarsi, sono molto pericolosi, poiché, travestendosi da programmi utili, distruggono il settore di avvio e il file system dei dischi.

Programmi di rilevamento e protezione antivirus

Caratteristiche dei programmi antivirus

Per rilevare, rimuovere e proteggere dai virus informatici, sono stati sviluppati diversi tipi di programmi speciali che consentono di rilevare e distruggere i virus. Tali programmi sono chiamati programmi antivirus.

Esistono i seguenti tipi di programmi antivirus:

· Programmi-rivelatori;

· Programmi-medici o fagi;

· Programmi-auditori;

· Programmi di filtro;

· Programmi vaccinali o immunizzanti.

Programmi del rivelatore cercare una sequenza di byte (firma del virus) caratteristica di un particolare virus nella RAM e nei file e, al rilevamento, emettere un messaggio corrispondente. Lo svantaggio di tali programmi antivirus si manifesta è che possono trovare solo virus noti agli sviluppatori di tali programmi.

Programmi medici o fagi - progettato per curare unità e programmi infetti. Il trattamento del programma consiste nella rimozione del corpo del virus dal programma infetto. Il polifago è in grado di distruggere molti virus. I più famosi sono Aidstest, Norton AntiVirus e Doctor Web.

programmi per revisori: progettato per rilevare l'infezione di file da virus e per trovare file danneggiati. Questi programmi ricordano i dati sullo stato del programma e le aree di sistema dei dischi nello stato normale (prima dell'infezione) e confrontano questi dati mentre il computer è in funzione. In caso di incongruenza dei dati viene visualizzato un messaggio circa la possibilità di infezione;

filtrare programmi o memorie sono progettati per intercettare le chiamate al sistema operativo, che vengono utilizzate dai virus per la propagazione e informarne l'utente. L'utente può abilitare o disabilitare l'operazione corrispondente. Tali programmi sono residenti, cioè si trovano nella RAM del computer.

programmi di vaccinazione: vengono utilizzati per elaborare file e settori di avvio al fine di prevenire l'infezione da virus noti (di recente questo metodo è stato utilizzato sempre più spesso).

Vaccini o immunizzanti sono programmi TSR che prevengono l'infezione dei file. I vaccini vengono utilizzati se non ci sono programmi medici che "curano" questo virus. La vaccinazione è possibile solo contro virus conosciuti. Il vaccino modifica il programma o il disco in modo tale da non influire sul loro lavoro e il virus li percepirà come infetti e quindi non verrà introdotto. I programmi vaccinali sono attualmente di utilità limitata.

Va notato che la scelta di un "migliore" antivirus è una decisione estremamente errata. Si consiglia di utilizzare diversi pacchetti antivirus contemporaneamente. Quando si sceglie un programma antivirus, è necessario prestare attenzione a un parametro come il numero di firme di riconoscimento (una sequenza di caratteri che garantiscono il riconoscimento di un virus). Il secondo parametro è la presenza di un analizzatore euristico per virus sconosciuti, la sua presenza è molto utile, ma rallenta notevolmente i tempi di funzionamento del programma. Oggi esiste un'ampia varietà di programmi antivirus.

Uno dei migliori antivirus con un potente algoritmo di rilevamento dei virus. Il polifago, in grado di scansionare file in archivi, documenti Word e cartelle di lavoro Excel, rileva virus polimorfici che recentemente sono diventati più diffusi. Basti pensare che l'epidemia del pericolosissimo virus OneHalf è stata fermata da DrWeb. L'analizzatore euristico DrWeb, esaminando i programmi per la presenza di frammenti di codice tipici dei virus, consente di trovare quasi il 90% dei virus sconosciuti. Quando si carica un programma, prima di tutto, DrWeb controlla se stesso per l'integrità, dopo di che verifica la RAM. Il programma può funzionare in modalità dialogo, ha una comoda interfaccia utente personalizzabile.

Antivirus-auditor ADINF (Avanced DiskINFoscope) consente di trovare e distruggere sia i virus convenzionali, stealth e polimorfici esistenti, sia quelli nuovi di zecca. Antivirus ha a sua disposizione un'unità di cura dell'auditor ADINF - Adinf Cure Module - che può neutralizzare fino al 97% di tutti i virus. Questa cifra è data da "Dialogue Science", sulla base dei risultati dei test, che hanno avuto luogo sulle raccolte di virus di due autorità riconosciute in questo campo: D. N. Lozinsky e Dr. Solomon "s (Gran Bretagna).

ADINF viene caricato automaticamente all'accensione del computer e monitora il settore di avvio ei file sul disco (data e ora di creazione, lunghezza, checksum), visualizzando messaggi sulle loro modifiche. A causa del fatto che ADINF esegue le operazioni del disco bypassando il sistema operativo, facendo riferimento alle funzioni del BIOS, non solo si ottiene la capacità di rilevare virus stealth attivi, ma anche un'elevata velocità di controllo del disco. Se viene rilevato un virus di avvio, ADINF ripristinerà semplicemente il settore di avvio precedente memorizzato nella sua tabella. Se il virus è un file virus, allora ci viene in soccorso il blocco curativo Adinf Cure Module, che in base al report del modulo principale sui file infetti, confronta i nuovi parametri del file con i precedenti memorizzati in apposite tabelle. Se vengono rilevate discrepanze, ADINF ripristina lo stato precedente del file, invece di distruggere il corpo del virus, come fanno i polifagi.

Antivirus AVP (AntiVirus Program) si riferisce ai polifagi, nel processo controlla RAM, file, inclusi quelli archiviati, su unità floppy, locali, di rete e CD-ROM, nonché strutture di dati di sistema come il settore di avvio, la tabella delle partizioni , ecc ecc. Il programma ha un analizzatore euristico che, secondo gli sviluppatori di antivirus, è in grado di trovare quasi l'80% di tutti i virus. AVP è un'applicazione a 32 bit per i sistemi operativi Windows 98, NT e 2000, ha un'interfaccia intuitiva e uno dei database antivirus più grandi al mondo. I database antivirus per AVP vengono aggiornati circa una volta alla settimana e possono essere ottenuti da Internet. Questo programma cerca e rimuove un'ampia varietà di virus, tra cui:

  • virus polimorfici o autocrittografanti;
  • virus stealth o virus invisibili;
  • nuovi virus per Windows;
  • virus macro che infettano documenti Word e fogli di calcolo Excel.

Inoltre, il programma AVP monitora le operazioni sui file nel sistema in background, rileva un virus prima che infetti effettivamente il sistema e rileva anche virus sconosciuti utilizzando un modulo euristico.

Principali articoli correlati