Questo testo che tratteggia l'infrastruttura della sicurezza in Sar-
At finirà sul sito al primo aggiornamento. Lo anticipo qui. L.A.
--
La sicurezza informatica è uno dei pilastri in
Accomazzi.net e il
codice sorgente viene continuamente rivisto per irrobustirlo e
renderlo più sicuro. La sicurezza è progettata in Sar-At sin dalle
basi: il programma non è stato scritto in modo insicuro e poi
continuamente rivisto per tappare le falle man mano che vengono
scoperte, come accade in altri casi.
Per esempio, tutti i programmi di gestione dinamica contenuti sul web
(CMS) che abbiamo esaminato in profondità (e sono parecchi, perché
andiamo sempre in caccia di buone idee da adottare) registrano da
qualche parte in mezzo al codice la password con cui il software
accede al database. Quindi se un malintenzionato riesce ad accedere
ai documenti registrati sul server, per esempio perché è un altro
cliente del medesimo server oppure perché c'è un altro difetto di
sicurezza sul server, riesce a sbirciare la password e a quel punto
può fare il bello e il cattivo tempo. Il nostro programma si
comportava nello stesso modo sino alla versione 5.1, ma oggi le
password non sono registrate "in chiaro" da nessunissima parte.
Molti programmi poi sono suscettibili a una tecnica intrusiva
chiamata "SQL injection". È ben descritta in molte pagine sul web,
ragion per cui non ne parleremo qui. In sostanza, si tratta di
osservare come sono fatti i moduli (come quello dove veniamo
identificati per nome e password) e come sono fatti gli indirizzi
delle pagine; poi inviare al server i dati di un modulo o indirizzi
alterati maliziosamente per ottenere un effetto intrusivo.
Sar-At, attraverso l'uso di una libreria di astrazione SQL - in
sostanza, un pezzo di software che isola il database dal programma
vero e proprio - è immune alle manipolazioni degli indirizzi. In
alcune vecchie versioni del nostro programma c'era un difetto nel
modulo di login, che permetteva di entrare nel sistema usando la
password fittizia apostrofo slash asterisco, ma è stato risolto dalla
versione 5.3. Il processo di login è stato ulteriormente irrobustito
nella versione 7.0 e poi nella 7.1, che effettua controlli multipli
prima di garantire l'accesso.