Che cos'è il formato di file SYS?
L'estensione .sys indica file di sistema utilizzati nei sistemi operativi Windows e MS-DOS. Tali file contengono dati relativi a driver caricabili, impostazioni del dispositivo e altre funzioni di basso livello. Senza i file .sys, il funzionamento del sistema sarebbe impossibile, poiché consentono la comunicazione tra il kernel di Windows, i dispositivi hardware e le periferiche esterne.
L'estensione copre due generazioni distinte. Nell'era MS-DOS, i file .sys erano basati su testo o semplici descrittori binari di configurazione e driver. Nei moderni Windows NT (Windows 2000 e successivi), un file .sys è un binario driver in modalità kernel Portable Executable - lo stesso formato MZ/PE dei file .exe e .dll, ma caricato ed eseguito direttamente dal kernel di Windows piuttosto che dal codice in modalità utente.
File .sys tipici
Il file .sys legacy più comune è CONFIG.SYS, ben noto perché contiene tutte le dichiarazioni dei driver e le impostazioni di configurazione necessarie per eseguire MS-DOS. Altri file .sys di quell'epoca includono:
MSDOS.SYS- Contiene il codice di base del sistema DOS, chiamato kernel DOS.IO.SYS- Contiene i driver DOS standard e il programma responsabile dell'avvio del DOS; usato in DOS e Windows 9x.KEYBOARD.SYS- Contiene informazioni sul layout della tastiera.
I moderni Windows includono numerosi file driver .sys, come ntfs.sys (driver del file system NTFS) e tcpip.sys (stack di rete TCP/IP).
Posizione dei file .sys
Gran parte dei file .sys all'interno del sistema è nascosta. Di solito si trovano nella cartella principale di Windows; in Vista e versioni successive, i file .sys si trovano più spesso in C:\Windows\System32\drivers\ e C:\Windows\WinSxS\. I driver hardware sono archiviati anche in C:\Windows\System32\DriverStore\FileRepository\.
Note aggiuntive
- I moderni driver
.sysin modalità kernel di Windows vengono eseguiti al Ring 0 e hanno accesso completo e illimitato alla memoria di sistema e all'hardware. - Su Windows a 64 bit, tutti i driver in modalità kernel devono recare una firma digitale valida; i driver non firmati vengono bloccati all'avvio.
- I file
.syssono sensibili alle infezioni da virus e ai software dannosi - un driver corrotto è una delle cause principali dei crash con schermata blu (BSOD). - I file
.syssono binari PE, non testo semplice, e possono essere ispezionati con strumenti come PE-bear o Resource Hacker. Un file.infassociato gestisce tipicamente l'installazione del driver.
Sicurezza e incolumità
RISCHIO: MEDIUMLa maggior parte dei file driver .sys sono componenti di Windows legittimi e firmati e sono sicuri - i pericoli reali sono due: (1) eliminare/modificare quello sbagliato. La rimozione di un driver .sys può causare il fallimento dell'avvio o una schermata blu; lascia che Windows Update e Gestione dispositivi gestiscano i driver invece di toccare i file. (2) Driver dannosi: poiché i driver .sys vengono eseguiti nel kernel, i rootkit e gli attacchi «BYOVD» (bring-your-own-vulnerable-driver) abusano di file .sys firmati o falsi per ottenere il livello più profondo di accesso al sistema. Tratta qualsiasi .sys non firmato/sconosciuto in una posizione insolita con sospetto - controlla la sua firma digitale (Proprietà > Firme digitali, o Sigcheck) e scansionalo. Un autentico driver Windows deve essere firmato da Microsoft o da un noto fornitore di hardware.
Dettagli del formato
in sintesi- Blob di dati di sistema riservati (pagefile.sys, hiberfil.sys, swapfile.sys) - Grandi regioni di disco riservate che Windows gestisce per la memoria virtuale e l'ibernazione - non sono programmi e non sono apribili.
- File di testo/configurazione DOS legacy (CONFIG.SYS, HIMEM.SYS) - Script di avvio MS-DOS in testo semplice e vecchi driver in modalità reale che si aprono in qualsiasi editor di testo.
Programmi che aprono file SYS
Dettagli tecnici
specifiche approfondite| Formato binario | Driver in modalità kernel Portable Executable (PE); formato contenitore identico ai file .exe e .dll |
| Magic bytes | 4D 5A («MZ») all'offset 0; firma PE 50 45 00 00 all'offset memorizzato nell'intestazione MZ |
| Sottosistema PE | 1 - IMAGE_SUBSYSTEM_NATIVE; contrassegna il binario come driver kernel/nativo, non come applicazione in modalità utente |
| Livello di privilegio di esecuzione | Ring 0 (modalità kernel); accesso completo e illimitato ai registri hardware, alla memoria fisica e alle strutture dati di sistema |
| Tipo MIME | application/octet-stream |
| Firma del codice in modalità kernel | Obbligatoria su Windows Vista a 64 bit e successivi; i driver devono essere firmati WHQL o EV; Secure Boot applica la politica di firma all'avvio |
| Posizione di installazione tipica | C:\Windows\System32\drivers\; copia di staging conservata in C:\Windows\System32\DriverStore\FileRepository\ |
| Visibilità del file | Attributo di sistema nascosto impostato per impostazione predefinita; non mostrato in Esplora file senza abilitare sia «Visualizza file nascosti» che «Nascondi i file protetti di sistema» |
| Meccanismo di caricamento | Windows Service Control Manager (SCM) all'avvio o su richiesta; driver di avvio elencati sotto HKLM\SYSTEM\CurrentControlSet\Services nel registro |
| Ruolo legacy MS-DOS | Descrittore di configurazione basato su testo o semplice binario (CONFIG.SYS, IO.SYS, MSDOS.SYS); precede il formato driver PE di oltre un decennio |
| Varianti di architettura | Build separate richieste per x86 (32 bit), x86-64 (AMD64) e ARM64; un singolo file .sys punta a una sola architettura |
| Framework di sviluppo driver | WDM (Windows Driver Model) o WDF/KMDF (Windows Driver Frameworks - Kernel-Mode Driver Framework); compilato con il Windows Driver Kit (WDK) |
| Sensibilità per la sicurezza | Critica - un driver kernel difettoso o dannoso può causare la schermata blu (BSOD), la corruzione dei dati o la compromissione totale del sistema |
| Sviluppatore | Microsoft per i driver integrati di Windows; i fornitori di hardware forniscono file .sys firmati aggiuntivi tramite pacchetti driver basati su INF |
| Formati correlati | .exe e .dll condividono il contenitore PE; .drv è una DLL driver legacy in modalità utente; .inf fornisce i metadati di installazione; .vxd era il formato dei driver di dispositivo virtuale di Win9x |
| Rilasciato | 1981 (MS-DOS used .SYS for drivers); modern Windows NT drivers are PE binaries |
| Specifica | learn.microsoft.com |