33.8. Sicurezza

33.8.1. Script di shell infetti

A questo punto è opportuna una breve avvertenza sulla sicurezza degli script. Uno script di shell può contenere un worm, un trojan o persino un virus. Per questo motivo non bisogna mai eseguire uno script come root (o consentire che sia inserito tra gli script di avvio del sistema in /etc/rc.d), a meno che non si sia ottenuto tale script da una fonte fidata o non lo si sia analizzato attentamente per essere sicuri che non faccia niente di dannoso.

Diversi ricercatori dei Bell Labs, e di altri istituti, tra i quali M. Douglas McIlroy, Tom Duff e Fred Cohen, che hanno indagato le implicazioni dei virus negli script di shell, sono giunti alla conclusione che è fin troppo facile, anche per un principiante, uno "script kiddie", scriverne uno. [1]

Questa è un'altra ragione ancora per imparare lo scripting. Essere in grado di visionare e capire gli script è un mezzo per proteggere il sistema da danni o dall'hacking.

33.8.2. Celare il sorgente di uno script di shell

Per fini di sicurezza, potrebbe essere necessario rendere uno script illeggibile. Dovrebbe esserci un'utility per creare un binario eseguibile ricavandolo dallo script. Questo è esattamente quello che fa shc -- generic shell script compiler di Francisco Rosales.

Sfortunatamente, stando ad un articolo dell'ottobre 2005 di Linux Journal, il binario può essere, almeno in certi casi, decifrato ricomponendo così il sorgente originale dello script. Rimane, comunque, un metodo utile per mantenere gli script al sicuro da tutti, anche se non dagli hacker più abili.

Note

[1]

Vedi l'articolo di Marius van Oers, Unix Shell Scripting Malware e anche Denning in bibliografia.