I moderni sistemi operativi sono prodotti complessi. Nel 1982, quando Microsoft lanciò sul mercato MS-DOS, il pre­cur­so­re dell’odierno Windows, il sistema operativo era ancora co­sti­tui­to da appena sette file con una di­men­sio­ne com­ples­si­va di 400 kilobyte. All’avvio si vedeva soltanto una riga di comando con un cursore lam­peg­gian­te ad attendere l’im­mis­sio­ne dei comandi.

Quando oggi si avvia un sistema operativo Windows, nella memoria di lavoro viene caricato un lungo elenco di programmi ese­gui­bi­li. Diverse decine di processi e servizi sono attive ancor prima che possiate eseguire l’accesso al sistema. Uno di questi im­por­tan­ti programmi di sistema è il programma csrss.exe, la cui funzione all’interno del sistema Windows verrà ana­liz­za­ta più da vicino in questo articolo.

Cos’è csrss.exe?

L’ab­bre­via­zio­ne “csrss” fa ri­fe­ri­men­to al programma “Client Server Runtime Subsystem”. Nelle pre­ce­den­ti versioni di Windows, l’ap­pli­ca­zio­ne fungeva da server per la chiamata delle in­ter­fac­ce utente grafiche. Suc­ces­si­va­men­te questo ambito fun­zio­na­le critico è stato spostato nel nucleo del sistema operativo (kernel). Ciò no­no­stan­te, il csrss.exe continua a fungere da server e svolge compiti di im­por­tan­za fon­da­men­ta­le nel sistema. Il processo, tra le altre cose, è re­spon­sa­bi­le dell’avvio e della chiusura di molti altri processi di sistema. Inoltre gestisce la riga di comando, che ad oggi è solo uno dei tanti programmi del sistema operativo. In ragione di queste im­por­tan­ti funzioni, il csrss.exe viene clas­si­fi­ca­to anche come processo critico.

Il Client Server Runtime Subsystem viene avviato una volta per ciascuna sessione, laddove nelle istanze Windows avviate sono sempre presenti almeno due sessioni, una sessione “0” per tutti i servizi (services) e una sessione per i processi utente. Il file csrss.exe viene pertanto avviato sempre almeno due volte.

Consiglio

Le sessioni avviate possono essere vi­sua­liz­za­te tramite la riga di comando, lanciando il comando “query SESSION”. Qui vengono vi­sua­liz­za­ti anche gli ID in­di­vi­dua­li delle sessioni. In questo modo potete ve­ri­fi­ca­re se il numero dei processi csrss.exe cor­ri­spon­de al numero delle sessioni nel Task Manager.

Cosa fa csrss.exe?

Ciascun processo csrss.exe carica diverse DLL (librerie dinamiche), come basesrv.dll, winsrv.dll o csrsv.dll. Queste svolgono, tra le altre, le seguenti funzioni:

  • avvio e chiusura di processi
  • avvio e chiusura di thread
  • gestione della finestra della console (riga di comando)
  • arresto del sistema

Queste funzioni possono essere ri­chia­ma­te e uti­liz­za­te da altri programmi e processi proprio grazie a csrss.exe; questo processo riveste pertanto un’im­por­tan­za chiave: se csrss.exe non viene eseguito cor­ret­ta­men­te o ad­di­rit­tu­ra viene terminato, vengono im­prov­vi­sa­men­te a mancare funzioni im­por­tan­ti del sistema operativo. Anche i processi già attivi smet­te­reb­be­ro di fun­zio­na­re non appena non fosse più possibile avviare thread.

Come ve­ri­fi­ca­re lo stato attuale di csrss.exe

Esistono diverse pos­si­bi­li­tà di ana­liz­za­re più da vicino il processo csrss.exe. Il metodo più comodo consiste nell’uti­liz­za­re la Gestione attività integrata nel sistema. La Gestione attività può essere ri­chia­ma­ta con la com­bi­na­zio­ne di tasti [Ctrl] + [Shift] + [Esc] oppure uti­liz­zan­do il campo di ricerca di Windows. La Gestione attività, de­no­mi­na­ta anche Task Manager, fornisce in diverse schede in­for­ma­zio­ni sull’utilizzo del sistema, nonché sui processi e sui servizi attivi.

A partire da Windows 10, il file csrss.exe si trova nella scheda della Gestione attività de­no­mi­na­ta “Processi” ed è indicato con il nome “Processo runtime client server”. Nelle versioni pre­ce­den­ti era ancora elencato in questa scheda con il nome dell’ap­pli­ca­zio­ne (ossia “csrss.exe”). Facendo clic con il tasto destro sul processo vengono proposte varie opzioni. Le opzioni utili per l’analisi del processo sono:

  • Apri percorso file: apre una finestra di Esplora risorse con il percorso di csrss.exe. Il percorso deve essere “Windows\System32\”. In caso contrario, non si tratta del processo corretto.
  • Vai ai dettagli: oltre all’ID di processo, qui viene indicato anche se il processo è in ese­cu­zio­ne e da quale utente viene eseguito. Nel caso di csrss.exe, l’utente dovrebbe sempre essere “System”, poiché si tratta di un processo di sistema.
  • Proprietà: nella scheda “Dettagli” è possibile vi­sua­liz­za­re i dettagli sull’ap­pli­ca­zio­ne. Nella scheda “Firme digitali” è possibile ri­chia­ma­re il cer­ti­fi­ca­to del programma. L’autore del cer­ti­fi­ca­to relativo a csrss.exe deve sempre essere la società Microsoft.

Un’al­ter­na­ti­va ormai con­so­li­da­ta per eseguire una verifica generale dei processi di sistema come csrss.exe sono i programmi del guru di Windows Mark Rus­si­no­vich. Quest’ultimo ha pub­bli­ca­to un’ampia raccolta di software utili de­no­mi­na­ta “Sy­sin­ter­nals Suite”, in cui è contenuto anche il programma Process Explorer che permette di creare una rap­pre­sen­ta­zio­ne ge­rar­chi­ca dei processi. Il software offre inoltre un col­le­ga­men­to diretto alla piat­ta­for­ma Vi­ru­sto­tal.com, che permette di eseguire una verifica rapida dei processi.

È possibile terminare o eliminare il processo csrss.exe?

Sui forum Internet viene re­go­lar­men­te posta la domanda sulla pos­si­bi­li­tà di terminare i processi come csrss.exe o di eliminare il software. Terminare csrss.exe avrebbe tuttavia come con­se­guen­za l’immediato spe­gni­men­to del sistema. Già solo per questo motivo, terminare questo processo non presenta alcuna reale utilità. Nella Gestione attività, il processo non può essere terminato poiché l’utente non dispone dei diritti necessari.

Se il processo causa problemi, ad esempio un elevato utilizzo della CPU, il vostro compito è piuttosto quello di in­di­vi­dua­re quali com­po­nen­ti sono re­spon­sa­bi­li del problema. Inoltre è bene ve­ri­fi­ca­re se il processo csrss è quello “legittimo”.

La completa can­cel­la­zio­ne dell’ap­pli­ca­zio­ne csrss.exe dalla cartella di sistema ren­de­reb­be im­pos­si­bi­le il fun­zio­na­men­to del sistema.

Se si sospetta che il file csrss.ex sia un virus

Poiché il processo csrss.exe è sempre attivo, è ine­vi­ta­bi­le che salti all’occhio a un’analisi dei processi in ese­cu­zio­ne. Inoltre, il suo nome criptico induce gli svi­lup­pa­to­ri di malware a pro­gram­ma­re ap­pli­ca­zio­ni con nomi simili come ad es. “crss.exe” oppure “cssrs.exe” e in­fil­trar­li nei sistemi scar­sa­men­te protetti. Con­tra­ria­men­te ai malware con nomi com­ple­ta­men­te diversi, a un’analisi poco attenta questi virus possono fa­cil­men­te passare inos­ser­va­ti o essere scambiati per il file originale.

Pertanto, è sempre ne­ces­sa­rio ve­ri­fi­ca­re che il software presenti la corretta de­no­mi­na­zio­ne e il corretto percorso. Con tutta pro­ba­bi­li­tà, l’ap­pli­ca­zio­ne csrss.exe che si trova nella cartella di sistema .\Windows\System32\ non è un malware. Se, con­tra­ria­men­te alle attese, dovesse per­si­ste­re il sospetto di una ma­ni­po­la­zio­ne, è in ogni caso con­si­glia­bi­le eseguire una nuova in­stal­la­zio­ne, poiché in questi casi tutto il sistema dovrebbe essere con­si­de­ra­to non sicuro.

In sintesi

csrss.exe è uno dei processi di sistema più im­por­tan­ti di Windows e viene sempre eseguito almeno in due sessioni. Poiché assolve a funzioni cruciali come l’avvio e la chiusura dei processi, viene clas­si­fi­ca­to come processo critico e, pertanto, non può essere terminato. Se il processo è stato avviato dalla directory di sistema .\Windows\System32\, è ge­ne­ral­men­te possibile esclu­der­lo come causa di processi dannosi.

Vai al menu prin­ci­pa­le