Monopolizzare la CPU senza essere root

Ricercatori israeliani creano un programma in grado di esaurire la quasi totalità delle risorse di calcolo della CPU e di girare nel sistema senza apparire tra i processi in esecuzione. Si salva solo un certo OS
Ricercatori israeliani creano un programma in grado di esaurire la quasi totalità delle risorse di calcolo della CPU e di girare nel sistema senza apparire tra i processi in esecuzione. Si salva solo un certo OS

In occasione dell’imminente Usenix Security Symposium 07 , tre ricercatori della Hebrew University di Gerusalemme illustreranno una tecnica con la quale, a loro dire, un malware potrebbe prosciugare le risorse di calcolo di un computer senza disporre di privilegi di amministrazione (root) e senza che l’utente possa individuare l'”ospite indesiderato”.

In questo documento PDF ( qui in HTML), intitolato “Secretly Monopolizing the CPU Without Superuser Privileges”, il team israeliano descrive un programma dimostrativo per Unix – teoricamente adattabile a qualsiasi altra piattaforma multitasking moderna – in grado di “rubare” molti più cicli di CPU di quanti normalmente gli sarebbero assegnati dal sistema operativo . In altre parole, il processo del programma può arrivare ad occupare in modo continuato il 99% delle risorse di calcolo, e questo indipendentemente da quali altri task siano in esecuzione e dalla loro priorità.

Ma l’aspetto più interessante del “cheat”, secondo i ricercatori, è dato dal fatto che in certi sistemi operativi, come Solaris, Linux e Windows, il loro programma è in grado di mostrare un consumo di CPU pari allo 0% : ciò significa che eseguendo il comando top di Linux o il Task Manager di Windows, il programma appare fra i processi inattivi. Questo è ottenuto sfruttando le temporizzazioni della CPU e il modo in cui la maggior parte dei sistemi operativi utilizzano il clock hardware per calcolare la percentuale di utilizzo del processore ed eseguire i processi in ordine di priorità.

I ricercatori affermano che il trucco funziona con tutti i principali sistemi operativi sul mercato ad esclusione di Mac OS X , che adotta un differente – ma non necessariamente migliore, ci tengono a precisare i ricercatori – meccanismo di timing dei processi. Meccanismo per altro simile a quello tipicamente utilizzato dai sistemi operativi real-time, come QNX, anch’essi immuni al cheat.

Va detto che questa presunta debolezza dovrebbe essere risolta anche nella prossima versione del kernel Linux , la 2.6.23, la prima ad adottare un nuovo gestore dei processi denominato Completely Fair Scheduler .

Al di là delle dissertazioni accademiche, i tre studiosi israeliani affermano che il loro espediente potrebbe essere sfruttato dai virus writer per consentire ai propri malware di non dare nell’occhio e utilizzare la quasi totalità delle risorse di calcolo di un computer infetto, ciò anche a scapito di eventuali software per la sicurezza. Gli autori sostengono che esiste la possibilità di proteggere gli utenti da tali attacchi, ma in cambio è necessario sacrificare qualcosa nelle performance.

Link copiato negli appunti

Ti potrebbe interessare

12 07 2007
Link copiato negli appunti