Tre attori principali rendono l’ambiente informatico più o meno sicuro: l’OS, i programmi e l’utente che li usa. Capire chi è responsabile della sicurezza del PC è una questione di filosofia e questo spiega perché si parli spesso di “Mondo Microsoft” piuttosto che di “Mondo Linux”.
Da una parte c’è chi dice: “dato che un PC è un arnese complesso, chi lo usa deve essere preparato, a lui gli onori ma anche tutti gli oneri; se non sa farlo, che non lo faccia!“. Microsoft, al contrario, mosse i suoi primi passi con la visione utopistica “un PC in ogni casa!“, cosa che ha effettivamente contribuito a realizzare.
Ma alla fine un Sistema Operativo deve essere mammone, facile da usare e che pensi a se stesso (?) e alla sua sicurezza o una flessibile e spartana macchina da guerra?
E l’utente un tecnico specializzato o una persona qualunque, desiderosa di avere nuove possibilità e nuovi strumenti?
Io credo che un ruolo critico e spesso sottovalutato ce l’abbia chi sviluppa il software.
Una grande mossa di Microsoft, secondo me, è stata quella di comprare e continuare a sviluppare il “Visual Basic“. Questo semplice sistema di sviluppo ha permesso a molti neofiti di imparare a programmare e questo è anche uno dei punti di forza di Windows: la grande disponibilità di applicazioni per i compiti più disparati.
Come ho già ricordato, la genealogia di Windows non affonda le sue radici in ambienti di rete con necessità di prendere misure sicurezza.
Questa premessa chiarisce ulteriormente quanto i problemi attuali di design di Windows dipendano dalla sua storia: moltissimi programmi (e non parlo solo dei programmini scritti da teenager!) sono “mal progettati”, richiedono privilegi di amministratore (perché li hanno sempre avuti!) o sfruttano caratteristiche di Windows dai tempi in cui parlare col kernel non richiedeva titoli nobiliari.
Pian piano Windows sta modificando la sua architettura, ma non può fare salti troppo violenti o perderebbe per strada molte delle applicazioni che ci fanno apprezzare questa piattaforma. Educare anche i programmatori sarebbe un buon rimedio. Soprattutto i tanti “self made coders”, la schiera di programmatori nati proprio grazie alla facilità d’uso di sistemi di sviluppo, che (collettivamente) sono presenti nei nostri PC sotto forma dell’utility nella system tray o nel programmino che cataloga i DVD…
Questo è un piccolo monito: stiamo attenti a ciò che scarichiamo e al perché è gratuito: potrebbe esserci una ditta poco scrupolosa alle spalle (leggi: spyware) o un programmatore poco esperto (leggi: falle). Oppure una splendida comunità open-source… il che fa una bella differenza!
Un aiuto verso questa direzione è il libro “scrivere codice sicuro“, proprio di Microsoft Press. Ho iniziato da poco a leggerlo e lo trovo davvero un’ottimo libro, scritto da chi ha lavorato in prima linea nello sviluppo di NT.
Questo libro è essenziale anche per chi programma per il web, infatti, una semplice pagina connessa a un database, senza gli opportuni controlli può diventare un inferno…
Credo che Windows Vista, con la gestione dei permessi degli utenti (UAC) e le varie conferme che richiede (a volte annoiando un po’), stia educando molto gli utenti a ponderare le mosse che si fanno col mouse… chissà che anche i nuovi tool di sviluppo “semplici” non diventino una piattaforma per guidare verso il codice sicuro i neo programmatori!