Archive for the ‘Varie’ Category

Malware firmato

Saturday, September 4th, 2010

Quest’estate un post ha particolarmente attirato la mia attenzione. Sottolinea come sia possibile trovare del malware firmato digitalmente in un modo assolutamente legittimo. L’articolo è uscito quando si stava parlando anche dell’inizio dell’effettivo deployment di DNSSEC, che è basato principalmente sulla firma dei record DNS, di PEC e di non ricordo quale altra iniziativa anch’essa riconducibile alla firma elettronica. Vale soprattutto la pena di leggere la presentazione a cui il post si ispira. È da notare che la presentazione identifica alcune strade per firmare il malware che per quanto percorribili, non sembra siano ancora state sfruttate. Un esempio è il furto di chiavi Authenticode, cosa che non risulta ancora ai ricercatori, ma che le cattive pratiche di aziende che utilizzano queste chiavi sembrano rendere possibili.

L’idea che del malware possa avere una firma valida sembra mettere in discussione il senso stesso della firma del software, e forse di altro. È vero solo in parte, ed è bene quindi inquadrare correttamente il problema, per evitare generalizzazioni eccessive.

I problemi sono essenzialmente:

  1. Chi certifica le chiavi opera in un mercato con una concorrenza basata sostanzialmente solo sul costo: non ci sono certificati migliori o peggiori, ci sono solo certificati; a chi li utilizza i certificati interessano poco (vedi punto 2) e una maggiore sicurezza vuole dire procedure più complesse, ovvero una garanzia di perdere clienti, mentre le responsabilità davvero minime che ha in pratica un certificatore non sono una motivazione sufficiente per preoccuparsi della sicurezza;
  2. Chi utilizza delle chiavi di certificazione del codice, come confermato anche dalla presentazione di cui sopra, le considera sostanzialmente una “seccatura” necessaria, una sorta di tassa, e quindi se da una parte è interessato soprattutto a pagarle poco, dall’altra ne cura poco la sicurezza; anche qui, non mi è ben chiaro quali siano le responsabilità in carico al titolare delle chiavi in caso di uso fraudolento delle chiavi da parte di terzi, ma sospetto che siano molto poche;
  3. parlando di responsabilità, alla fine ce ne sono molto poche, e nei confronti dei soggetti sbagliati; è una caratteristica generale dell’uso dei certificati: chi effettivamente se ne deve fidare, cioè l’utente finale, è l’unico che non ha nessun rapporto contrattuale al quale rifarsi in caso di problemi, mentre gli altri soggetti per la maggior parte hanno interesse a che non si faccia mai troppo rumore; ad esempio, se viene emesso un certificato per una società inesistente, utilizzato per diffondere malware, chi ha titolo per chiedere un risarcimento dei danni?
  4. se è discutibile che in alcune configurazioni un oggetto/programma firmato venga installato silenziosamente solo per il fatto di avere una firma valida, anche l’idea di far scegliere all’utente, in base a messaggi che sono criptici anche per molti informatici, è poco realistica;
  5. più sono le aziende che hanno bisogno di chiavi per firmare il proprio codice, meno sarà utile la firma per distinguere quelle che producono programmi puliti da quelle che producono malware.

E in realtà i punti critici sono proprio gli ultimi: cosa garantisce effettivamente una firma Authenticode?  Permette al produttore del codice di inserire informazioni, e all’utente di verificare l’integrità del codice, prendendo, secondo questa pagina, “decisioni più informate”. Tuttavia, la faq dice chiaramente:

Should I trust and download a piece of software just because it’s been signed?

Again, this decision relies on the end user’s own judgment; however, the certificate provides end users with the data they need to make a more informed decision about this piece of software. If the end user has a great deal of trust in a particular software publisher, then the end user may decide to automatically download any software from this publisher through the settings provided in the Authenticode Security Technology dialog box.

Anzi, qui si dice chiaramente:”Likewise, an invalid signature does not prove that the software is dangerous, but just alerts the user to potential problems. ” Tutto giusto, naturalmente, ma dimostra ancora una volta come noi informatici pensiamo e scriviamo come se dovessimo avere a che fare con degli informatici, anche quando sappiamo benissimo che quello che produciamo andrà in mano ad utenti finali. Tutta questa faccenda dello “user’s own judgement” è molto pilatesca.
Diciamocelo chiaramente: l’unico caso in cui la decisione dell’utente è (o dovrebbe essere)  ovvia, è se trova del software di aziende note tipo Micrsosoft o Adobe; negli altri casi, il meccanismo aiuta poco o niente. Il problema è aggravato dal fatto che il “nome” a cui è associato il certificato può non essere così chiaro: la presentazione di cui sopra dice chiaramente che produttori di malware sono riusciti ad ottenere certificati per nomi molto simili a quelli di grosse aziende, abbastanza simili da ingannare certamente la maggior parte degli utenti. La situazione sembra decisamente peggiore di quella dei certificati per i siti web, dove almeno in condizioni normali l’associazione fra un qualsiasi sito e il suo certificato sarebbe verificabile (il nome è decisamente più univoco di quello di una società). In conclusione: la firma del codice è utile quando c’è un canale fidato (da Microsoft, da una distribuzione Linux, e possibilmente con un certificato verificato, non tramite CA) per verificare che il software arrivi in modo integro da quel canale, senza nessuna ulteriore garanzia. Dare un valore particolare al software firmato in quanto tale è sbagliato dal punto di vista teorico e pratico.

Per fortuna oggi tutti, compresa Microsoft, stanno sviluppando soluzioni a tutti i livelli (browser, s.o., macchine virtuali) che basano la sicurezza del codice scaricato da fonti incerte sulla segregazione e non sulla firma. Ma l’idea che quello che è firmato sia più sicuro anche quando non se ne conosce l’origine, resiste…

Fiori di Sarracenia

Monday, May 19th, 2008

No, non è l’ultima trovata per la sicurezza domestica: per quanto diventi grande, una pianta carnivora non cresce mai abbastanza ;) Semplicemente, come tanti ho comprato un paio di piante carnivore da far vedere ai miei figli, e visto che hanno fatto dei fiori davvero belli e strani ho pensato di pubblicare le foto. Delle piante che avevo comprato, la Dionaea muscipula (quella con due lobi che si chiudono per intrappolare la mosca) è morta subito, perché i bimbi non hanno resistito a farle chiudere continuamente le trappole fino a che non è stata più in grado di catturare insetti. La Drosera è morta prima che capissi il trucco per farle vivere bene. Sono sopravvissute quindi una Nephentes e la Sarracenia. Una volta capito il trucco, è veramente facile farle vivere, richiedono meno cure di tante altre piante. Il trucco è: metterle nella torba (torba vera, non qualche altro terriccio), possibilmente in una torbiera realizzata secondo uno dei tanti tutorial che si trovano su Internet, usare acqua piovana o acqua distillata, non usare alcun tipo di concime né dare da mangiare “a forza” alle piante ( è incredibile quanti insetti riescono a “mangiare” da sole) e lasciarle all’aperto al sole. Quantomeno, io non ho fatto altro. Purtroppo, questo inverno l’unica settimana di freddo vero (parlo del clima di Pisa) è stata una in cui non sono stato a casa, e quando sono tornato la Nephentes era morta. La Sarracenia invece a quanto pare ha apprezzato il “riposo invernale” molto realistico ed ha prodotto questi due bellissimi fiori, dalla forma veramente unica e dai colori splendidi.

Sicurezza e informatizzazione della PA

Wednesday, May 14th, 2008

Il tema è caldissimo: il ministro Brunetta in questi giorni ripete di voler eliminare la carta dalla PA in diciotto mesi. Al di là degli entusiasmi da inizio legislatura e della necessità di fare dichiarazioni che mostrino voglia di fare (l’obbiettivo è più che ambizioso, in particolare per i tempi), si può sperare che a queste affermazioni segua effettivamente almeno un forte impulso all’informatizzazione della PA. Specialmente se l’attività è accompagnata da altre azioni, di cui si è parimenti parlato in questi giorni, che potrebbero sbloccare alcune inerzie e “resistenze all’innovazione” tipiche della PA. Quanto lontano possa arrivare, trattandosi di un ministero senza portafoglio in un contesto che probabilmente continuerà ad essere di “tagli generalizzati” e dovendosi scontrare ad esempio con l’autonomia degli enti locali, è tutto da vedere, ma certamente a queste dichiarazioni qualcosa seguirà. C’è un punto però molto importante in un contesto come questo, che è quello della sicurezza. Si moltiplicano i casi in cui i sistemi della PA vengono violati anche dagli addetti stessi per le più varie ragioni, dalla raccolta abusiva di informazioni alla cancellazione di imposte. Se l’informatizzazione procederà in modo rapido, allora il rischio che la sicurezza passi in secondo piano rispetto ad altri criteri diventa molto alto. È importante invece che le problematiche di sicurezza siano affrontate da subito in ogni fase del processo, perché si tratta di un tipico caso in cui inserire la sicurezza da subito può avere costi limitati, mentre cercare di aggiungerla dopo sarà costosissimo e inefficace. E naturalmente, sicurezza non vuole dire mettere firewall qui e là, cifrare traffico o definire profili utente. Sicurezza vuole dire partire dalla definizione dei processi, in modo che le procedure stesse prima di tutto offrano pochi appigli per attività illecite e incontrollate, proseguendo poi attraverso tutte le fasi della progettazione e dell’implementazione. Si tratta ovviamente di uno sforzo enorme, che non può essere affrontato da qualche consulente più o meno bravo, ma richiede di sfruttare il più possibile tutte le risorse disponibili, proprio per l’ampiezza e la difficoltà dell’intervento. Io naturalmente cercherò di affrontare il problema nei contesti in cui mi è possibile, ma spero che tutti quelli che vedono lo stesso problema si adoperino per metterlo in evidenza, dato che l’informatizzazione efficiente e sicura della PA è un interesse di tutti.