Come individuare le applicazioni bloccate dalla Group policy “Esegui solo applicazioni Windows specificate”

In Windows 2000 era stata introdotta la group policy utente Modelli Amministrativi \ Sistema\ Esegui solo applicazioni Windows specificate (Run only allowed Windows applications) che limita i programmi Windows che gli utenti sono autorizzati ad eseguire sul computer. Abilitando la GPO gli utenti potranno eseguire solo i programmi presenti nell’elenco di applicazioni consentite. In altre parole la GPO permette di creare una withelist delle sole applicazioni permesse e spesso viene utilizzata in chioschi dove è necessario eseguire una sola applicazione.

Occorre però precisare che la GPO consente solo di impedire agli utenti di eseguire programmi avviati dal processo di Esplora file. Non impedisce agli utenti di eseguire programmi quali Gestione attività, che vengono avviati dal processo di sistema o da altri processi. Inoltre, se gli utenti hanno accesso al prompt dei comandi (Cmd.exe), questa impostazione dei criteri non impedisce loro di avviare programmi nella finestra di comando anche se ciò non è consentito mediante Esplora file.

Per questo motivo questa GPO da sola non basta a fare in modo che gli utenti non possano eseguire anche altre applicazioni e occrre almeno usare le GPO utente “Impedisci accesso al prompt dei comandi” e Impedisci accesso agli struenti di modica del Registro di sistema”.

Inoltre occorre precisare che la GPO “Esegui solo applicazioni Windows specificate” opera sul nome del processo quindi se l’utente tramite le funzionalità di una applicazione a cui ha accesso diresce a fare il copia, incolla e rinomina di file eseguibili potrebbe riscire ad usarli rinominandoli con il nome di una applicazione a cui ha accesso. Per questi ed altri motivi il controllo amministrativo delle applicazioni si è evoluto nelle versioni successive di Windows introducendo la funzionalità Microsoft Applocker, a riguardo si veda ad esempio l’articolo Microsoft Applocker: rivoluzionare la gestione e la sicurezza delle applicazioni in ambiente Windows – ICT Power.

Fatte queste premesse se su un sistema è stata impostata la GPO “Esegui solo applicazioni Windows specificate” potrebbe verificarsi il caso che venga visualizzato il messaggio di blocco di una applicazione senza che questo fosse previsto. Dal momento che il messaggio visualizzato non da informazioni circa l’applicazione bloccata e non vi sono log di sistema che registrano quale applicazione è stata bloccata può diventare difficoltoso capire quale applicazione ha causato il blocco.

La problematica di dover individuare applicazioni bloccate dalla GPO “Esegui solo applicazioni Windows specificate” che ovvimente non era previsto venissero eseguite può avvenire per i seguenti motivi:

  • vi erano sul sistema delle applicazioni eseguite all’avvio della sessione utente, oppure eseguite automaticamete solo in determinate situazioni che non erano state considerate;
  • dopo un aggiornamento software di driver o altre applicazioni vengono eseguite applicazioni all’avvio della sessione utente o al verificarsi di determinate situazioni.

In base alla mia personale esperienza l’individuazione delle applicazioni bloccate dalla Group policy “Esegui solo applicazioni Windows specificate” di divide in due scenari: l’individuazione delle applicazioni bloccate all’avvio della sessione utente e quelle bloccate al verificarsi di determinate situazioni (come ad esempio l’avvio di applicazioni in conseguenza ad operazioni eseguite tramite applicazioni consentite.

Scenario 1: individuazione delle applicazioni bloccate all’avvio della sessione utente tramite Autoruns

In questo caso, a mio giudizio, il modo più semplice per individuare le appliazioni bloccate è quello di utilizzare Autoruns una delle utility di Sysinternals scritta da Mark Russinovich che consente appunto di individuare quali programmi sono configurati per l’esecuzione durante l’avvio del sistema o l’accesso alla sessione utente e quando vengono avviate varie applicazioni Windows integrate come Internet Explorer, Esplora file e player multimediali.

In base alla mia esperienza invece Process Monitor e Sysmon non consentono di individuare le applicazioni bloccate all’avvio della sessione utente.

Nella ricerca delle applicazioni bloccate all’avvio della sessione utente tramite Autoruns si tenga presente che deve trattarsi di applicazioni avviate tramite processo di Esplora file (e non ad esempio tramite cmd.exe) con le credenziali dell’utente a cui è stata applicata la GPO (e non ad esempio tramite l’account di sistema locale NT AUTHORITY\SYSTEM).

Ovviamente per poter utilizzare Autoruns è innanzitutto necessario consentirne l’esecuzione aggiungendola all’elenco della applicazioni specificate nella GPO “Esegui solo applicazioni Windows specificate”.

Dal momento che Autoruns fornirà molte informazioni circa le applicazioni che possono essere eseguite automaticamente conviene concentrarsi sulle voci relative a file eseguibili nelle seguenti schede:

  • Logon
  • Scheduled Tasks
  • Packaged Apps

Scenario : individuazione delle applicazioni bloccate al verificarsi di determinate situazioni tramite Process Monitor

In questo caso dal momento che la sessione è già avviata, a mio giudizio, il modo più semplice per individuare le appliazioni bloccate quando si eseguono determinte operazioni è quello di utilizzare Process Monitor una delle utility di Sysinternals scritta da Mark Russinovich che mostra in tempo reale l’attività del file system, del Registro di sistema e dei processi/thread.

Anche in questo caso nella ricerca delle applicazioni bloccate all’avvio della sessione utente tramite Process Monitor si tenga presente che deve trattarsi di applicazioni avviate tramite processo di Esplora file.

Ovviamente per poter utilizzare Process Monitor è innanzitutto necessario consentirne l’esecuzione aggiungendola all’elenco della applicazioni specificate nella GPO “Esegui solo applicazioni Windows specificate”. Oltre a consentire l’esecuzione di Process Monitor sarà necessario avviare l’applicazione con privilegi amministrativi, è consigliabile specificare credenziali amministrative quando si avvia l’applicazione anzichè concedere temporaneamente all’utente di cui si desidera analizzare la sessione i privilegi amministrativi.

Dal momento che Process Monitor fornirà molte informazioni circa il monitoraggio del file system, del Registro di sistema e dei processi/thread conviene selezionare di visualizzare solo la File System Activity e aggiungere i seguenti filtri:

  • Process Name is explorer.exe (Action Include)
  • Operation is CreateFile (Action Include)
  • Path ends with .exe (Action Include)
  • Result is SUCCESS (Action Exclude)

In questo modo sarà possibile individuare le applicazioni che non sono riuscite ad avviarsi.


[Update 01]
Non sempre Autoruns riesce a individuare tutti i processi avviati automaticamente nella sessione utente. Ad esempio in Windows 11 ho rilevato che all’avvio della sessione utente viene eseguito il processo CrossDeviceResume.exe che non compare tra i processi rilevati da Autoruns.

CrossDeviceResume.exe è legato all’applicazione Collegamento al telefono (Phone Link) e ai servizi per dispositivi mobili e consente la funzione “Resume” (Riprendi), studiata per riprendere sul PC un’attività lasciata in sospeso sullo smartphone (ad esempio continuare la lettura di una scheda web o l’uso di un’app compatibile).

La GPO “Esegui solo applicazioni Windows specificate” blocca il processo CrossDeviceResume.exe e per rilevare situazioni come queste dove sia Autoruns che Process Monitor non possono fornire informazioni circa il processo bloccato è possibile confrontare l’elenco dei processi attivi dopo l’avvio della sessione utente nel caso in cui sia applicata la GPO rispetto al caso in cui non sia applicata la policy.

Per eseguire tale confronto è possibile utilizzare il seguente comando per generare un file di testo contenente i processi in esecuzione relativi all’utente corrente:

tasklist /fi “USERNAME eq %USERNAME%” > %userprofile%\tasks.txt

Ovviamente quando si eseguirà tale comando nel caso in cui sia applicata la GPO sarà necessario avere almeno abilitato l’esecuzione del prompt dei comandi e di tasklist.exe.

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.