Vai al contenuto

Linux Unix e i virus/Problemi di sicurezza/Introduzione

Wikibooks, manuali e libri di testo liberi.
Indice del libro


E qui affrontiamo una delle questioni più sottili di tutta la presente discussione. Ipotizziamo che un generico utente Linux provi a lanciare l'eseguibile già menzionato, che chiede la rimozione di un file di sistema. Poiché l'utente non ha diritti sufficienti, la rimozione non viene eseguita dal S.O. Immaginiamo che a questo punto l'utente, sfruttando una debolezza dell'implementazione del S.O., riesca ad acquisire diritti maggiori; ad esempio, su Red Hat Linux 6.0, se il pacchetto usermode non veniva aggiornato con una correzione ufficiale, per un utente normale era possibile sfruttare un "exploit" noto per acquisire i massimi privilegi, cioè quelli di amministratore di sistema. E immaginiamo che, a questo punto, l'utente diventato "root" provi nuovamente a lanciare l'eseguibile già menzionato. A questo punto la rimozione richiesta viene eseguita. Domanda: i passi effettuati dall'utente per acquisire diritti maggiori e l'eseguibile in questione, messi insieme, costituiscono un virus? Preciso che questo è il tipo di equivoco su cui vari detrattori di Linux/Unix e/o sostenitori di Microsoft hanno fatto leva per affermare che "finalmente esistono virus anche per Linux, finora non ne erano stati scritti solo perché nessuno se n'era curato".

Alla domanda posta è più che ragionevole rispondere "no". Infatti va precisato che la rimozione del file è stata eseguita solo perché l'utente è riuscito ad acquisire diritti maggiori di quelli che gli competono, sfruttando un'errata implementazione del sistema. Più chiaramente: l'architettura di un S.O. Unix senz'altro prevede che un utente normale possa acquisire i diritti di amministratore solo passando per un'opportuna procedura di autenticazione, durante la quale deve fornire la corrispondente password. L'utente in questione è riuscito ad acquisire tali diritti senza la corrispondente autenticazione solo perché ha sfruttato un errore di implementazione di un determinato pacchetto software. La soluzione di un problema di questo tipo richiede semplicemente la correzione dell'errore di implementazione e non richiede una rivisitazione del S.O. per ciò che riguarda l'architettura e la gestione dei permessi e dei diritti d'accesso. Inoltre, la soluzione di tale problema non danneggia il corretto funzionamento degli altri programmi installati sul sistema. Il tutto viene classificato come problema di sicurezza, corrispondendo ad una non aderenza dell'implementazione alle specifiche di partenza. Queste considerazioni riguardano Linux/Unix... sono valide per qualunque sistema operativo?