Visualizzazione post con etichetta software. Mostra tutti i post
Visualizzazione post con etichetta software. Mostra tutti i post

12 siti web per migliorare la privacy online


Gli utenti delle rete italiani hanno più a cuore la questione della riservatezza online dei propri dati personali rispetto ad un anno fa:
Recentemente mi sono imbattuto in una lista di 12 siti web che condivido nella tabella sottostante; si tratta di siti che offrono consigli, indicazioni ed elenchi di strumenti utili al miglioramento della privacy online.

Le risorse sono state valutate tra le più importanti da Enisa, l'ente europeo per la sicurezza delle reti e delle informazioni, in un documento rilasciato in seguito ad uno studio compiuto proprio con riferimento al tema della privacy online. 

Sito
Organizzazione
Indirizzo web
Descrizione
Secure Messaging
Scorecard
Electronic Frontier Foundation (EFF)
Presentazione e valutazione di strumenti e app per la sicurezza della messaggistica.
Prism Break
Nylira (Peng Zhong)
Offre elenchi di strumenti utili alla privacy suddivisi per categorie e piattaforme
Security in-a-box
Tactical Technology
Collective and Front Line Defenders
E’ un portale generalista che offre consigli e elenchi di strumenti utili per la privacy
EPIC Online Guide
to Practical Privacy
Tools
Electronic Privacy
Information Center (EPIC)
Offre elenchi di strumenti utili per la privacy suddivisi per categorie
The Ultimate
Privacy Guide
The Ultimate
Privacy Guide
E’ un portale generalista che offre consigli ed indicazioni utili per migliorare la riservatezza soprattutto delle comunicazioni e dei sistemi di messaggistica
Free Software
Directory
Free Software
Foundation (FSF
E’ un portale generalista con elenchi di software libero utile per la sicurezza informatica
Privacytools.io
Privacytools.io
Offre consigli ed elenchi di software utili per la privacy
Me & My Shadow
Tactical
Technology
Collective
E’ un portale specializzato soprattutto sul tracking online; offre consigli e informazioni su strumenti utili per la privacy
Gizmo’s Freeware
Gizmo’s Freeware
E’ un portale generalista che offre elenchi di software utili per la sicurezza informatica e la privacy
Best Privacy Tools
Best Privacy Tools
Offre elenchi di strumenti utili per la privacy
Internet Privacy
Tools
Internet Privacy
Tools
Offre elenchi di software utile per la privacy, soprattutto per quanto riguarda la cifratura delle comunicazioni (es. email, browser)
Reset The Net
Privacy Pack
Fight for the
Future and Center
for Rights
Offre elenchi di software liberi utili per la privacy soprattutto per quanto riguarda la riservatezza delle comunicazioni (es. smartphone, email, browser)

Nel documento viene inoltre descritta una metodologia per la valutazione delle qualità e funzionalità degli strumenti tecnologici per il miglioramento della privacy (Privacy Enhancing Technologies - PET) destinati al pubblico in generale.

Image courtesy: https://pixabay.com/it/digitale-cartello-stradale-sicurezza-579553/


Il software open source: opportunità, rischi e possibili approcci

digital dreams Da anni assistiamo ormai ad un incessante dibattito sul mondo dell'open source, sui vantaggi concreti e le opportunità che esso presenta, non soltanto per le aziende, ma anche per i singoli utilizzatori finali.

La questione non interessa soltanto i soggetti privati, tanto che il Centro Nazionale per l'Informatica nella Pubblica Amministrazione (CNIPA) ha allestito un osservatorio che, nelle intenzioni dichiarate, è destinato a svolgere la funzione di catalizzatore della conoscenza e delle best practice in materia di open source nella P.A.

La stessa crisi economica mondiale rischia di riportare la problematica al centro della discussione: le caratteristiche di libertà, trasparenza e gratuità del codice a sorgente aperto sembrano infatti idonee a perseguire l'efficienza e la riduzione di costi che, generalmente, diventano un obiettivo proritario in tempi di ristrettezze economiche, senza che questo comporti una rinuncia all'utilizzo delle tecnologie dell'informazione e della comunicazione che, secondo l'opinione prevalente, rappresentano invece una delle principali soluzioni per risollevare l'economia dalla stagnazione.

Messa in questi termini sembra che la questione sull'opportunità di adottare il software libero non possa che risolversi positivamente ma in realtà, prima di giungere a questa conclusione, è opportuno fare una valutazione complessiva non soltanto dei possibili vantaggi, ma anche dei rischi potenziali e degli approcci adottabili.

Cerchiamo allora di fare chiarezza su questi aspetti.

Vantaggi nell'adozione di software open source

I benefici per una infrastruttura informatica aziendale sono riconducibili a:

  • risparmio sui costi della licenza e degli aggiornamenti;
  • interoperabilità con gli standard di settore;
  • eliminazione di ogni forma di dipendenza da un determinato fornitore che, a volte, si traduce in posizioni di debolezza contrattuale;
  • disponibilità del codice sorgente con conseguente possibilità di analizzarlo e modificarlo secondo le proprie esigenze (a patto di avere internamente delle risorse munite delle necessarie competenze);
  • qualità e sicurezza, soprattutto nei progetti supportati da un ampia comunità di sviluppatori in grado di correggere difetti (bug) o di migliorare continuamente il prodotto;

In aggiunta le software house possono trarre degli ulteriori specifici vantaggi dall'inclusione di software aperto all'interno del loro modello di business:

  • riduzione degli oneri economici di acquisto e gestione del software ed incremento degli utili connessi con la fornitura di consulenza e servizi connessi (installazione, manutenzione, formazione, personalizzazione, ecc...);
  • ricadute positive in termini di visibilità e prestigio;
  • libertà nel disporre del codice sorgente, di riadattarlo e modificarlo in modo da derivarne altri prodotti;
  • possibilità di avvantaggiarsi della spinta verso una veloce diffusione ed adozione di nuovi prodotti e caratteristiche che le licenze open generano;

Rischi o svantaggi

  • le licenze open non offrono le stesse garanzie di protezione degli utenti finali di quelle proprietarie: questa carenza intrinseca, se non bilanciata dalla previsione contrattuale di un apposito indennizzo, può esporre al rischio di violazione dei diritti di proprietà intellettuale o industriale di terze parti;
  • la mancanza di un supporto tecnico completo può riflettersi negativamente sull'affidabilità, la robustezza e la sicurezza complessive del prodotto, specie nei progetti non supportati da un ampia comunità;
  • alcuni tipi di licenza possono indurre il rischio cd. da contaminazione da OSS che si verifica quando, all'interno di un software che si vorrebbe mantenere proprietario (closed source), vengono incluse porzioni di codice libero soggette ad una licenza (es. la GPL) che costringe a rilasciare il prodotto derivato esattamente negli stessi termini di quello originario;
  • il risparmio sui costi della licenza è solo una delle voci che concorrono a definire il cd. TCO (Total Cost of Ownership) nel quale vanno, invece, comprese tutte le spese e gli oneri legati all'utilizzo presente e futuro del software (installazione, manutenzione, adeguamento dei sistemi, formazione del personale, personalizzazioni, ecc...);

Possibili approcci e rimedi

La cattiva notizia è che non esiste un approccio unico valido per tutti: per alcuni i vantaggi derivanti dall'open source possono essere superiori ai rischi e viceversa.

La buona notizia è che si possono adottare delle policies che prendono in considerazione gli scenari tipici e sviluppare delle procedure per gestire i rischi connessi.

Le aziende potenzialmente interessate all'adozione di software libero dovrebbero condurre un assessment tecnico-legale per ridurre i rischi connessi ad una violazione dei diritti di proprietà intellettuale ed industriale.

L'opportunità legata allo sfruttamento del modello di business dell'open source si pone, invece, soprattutto per le software house che realizzano proventi dalla fornitura di consulenza e servizi connessi, piuttosto che dalla realizzazione e commercializzazione di software.

In tutti i casi, però, una attenzione particolare deve essere riservata all'individuazione del tipo di licenza ed alla valutazione delle sue condizioni, tenendo presente che, se per il primo aspetto può essere vantaggioso ricorrere a software automatizzati, per il secondo è spesso consigliabile richiedere un adeguato supporto legale.

Photo courtesy: flaivoloka

Lo sviluppo del software: rischi e fattori che ne influenzano il successo

software development center La creazione di software è una attività complessa che si articola in più fasi ed abbraccia non soltanto aspetti tecnici ma anche organizzativi, come quelli relativi alla pianificazione e gestione delle risorse, di comunicazione e legali.

L'attività coinvolge almeno due parti - la software house (o il singolo sviluppatore) e il cliente - portatrici di interessi contrapposti che, volendo generalizzare, si riducono rispettivamente a:

  • massimizzare il profitto;
  • acquisire un prodotto che soddisfa le proprie esigenze, affidabile e sicuro, pagando il minor prezzo possibile;

Un aspetto, a volte sottovalutato, è che lo sviluppo del software, come del resto qualsiasi altra attività imprenditoriale, presenta dei rischi tipici che devono essere opportunamente bilanciati, anche in sede contrattuale, per non incidere negativamente sull'intero business.

Tutte le fasi più importanti di cui si compone il processo finiscono infatti per incidere, in modo più o meno rilevante, sui diritti e le aspettative delle singole parti e possono quindi avere un qualche impatto dal punto di vista legale.

Esistono però dei fattori in grado di inflluenzare negativamente il risultato o la qualità del prodotto finale, cui è bene prestare la massima attenzione:

  • specifiche poco chiare: il progetto è avviato sulla base di specifiche vaghe o prive di dettagli che generano fraintendimenti o false aspettative per una o entrambe le parti;
  • mancato coinvolgimento degli utenti finali: se l'interfaccia di comunicazione del committente, di regola costituita dal management, ha una idea soltanto vaga di ciò che effettivamente occorre all'utenza finale rischia di trasmettere delle informazioni erronee o non complete;
  • rischi di natura tecnica soprattutto nei progetti più grandi e complessi;
  • tariffe troppo basse o scarsa pianificazione: nell'intento di acquisire la commessa i dipartimenti commerciali delle software house partono, a volte, da considerazioni poco realistiche sui tempi e sui costi necessari per completare il progetto, con inevitabili conflitti nel momento in cui vengono prospettati costi aggiuntivi non previsti inizialmente;
  • carenza di controlli e/o di monitoraggio: il progetto viene condotto in totale assenza di verifiche periodiche, salvo poi dimostrarsi un completo fallimento quando si viene al dunque;
  • assenza di adeguate strategie di gestione del cambiamento (change management): il progetto evolve lasciando però le richieste di cambiamento non documentate, con conseguente confusione ed incertezza su ciò che deve essere implementato e sui tempi di consegna;
  • salari bassi ed elevato turnover: possono influire in modo sensibile sui tempi di realizzazione e sulla qualità complessiva del prodotto finale;

Che fare allora ? E' utile ignorare questi aspetti e fare finta che non esistano sperando che tutto vada bene ? Certamente no, mentre può essere adeguata una strategia basata su:

  1. una valutazione dei rischi tecnici, organizzativi, economici e legali che il progetto comporta per ciascuna delle parti, da condurre prima della negoziazione e della stipula del contratto ;
  2. un adeguato supporto legale e contrattuale fondato su clausole chiare e specifiche in grado di compensare i rischi percepiti nell'ottica di un equo bilanciamento degli interessi contrapposti delle parti;
  3. un monitoraggio continuo del progetto e delle sue fasi per individuare prontamente gli eventuali problemi o le questioni che possono insorgere;
  4. una gestione efficace della documentazione e dei cambiamenti;

Insomma, come accade in moltissime altre attività, è spesso sufficiente un minimo di pianificazione e controllo per evitare l'insorgere di problemi ben più seri !

Photo courtesy: a_kartha

Come rendere più sicure le password ?

strumento di gestione password
Le password rappresentano, ancora oggi, uno dei metodi di autenticazione più utilizzati e, purtroppo, meno sicuri per accedere a sistemi informatici di varia natura.

Alcuni di questi sistemi (postazioni di lavoro, fisse e mobili, server aziendali, posta elettronica) ci permettono di gestire, direttamente o tramite soggetti incaricati, i dati personali altrui (clienti, fornitori, ecc...); altri, invece, rendono possibile un accesso ai nostri dati (social network), alle nostre risorse finanziarie (e-banking) oppure ai contenuti che creiamo e diffondiamo sulla rete (blog, sito web, ecc...).

Fatto sta che in tutti questi casi la riservatezza e l'integrità delle nostre e delle altrui informazioni viene a dipendere molto dal livello di sicurezza della componente di autenticazione della classica coppia userid/password.

Per rendere le password meno sensibili agli attacchi di guessing e brute-forcing e ridurre il rischio o mitigare gli effetti di una loro eventuale compromissione si possono adottare alcune contromisure:
  1. lunghezza adeguata (dovrebbe essere variabile in relazione alla sensibilità delle informazioni da proteggere ma una buona base di partenza potrebbe essere di 8 caratteri)
  2. differenziazione (una password diversa per ogni sistema, non la stessa per tutti i sistemi !)
  3. estraneità con qualsiasi parola esistente in un normale vocabolario o riconducibile al soggetto (dimenticate i nomi di coniugi, figli, date di nascita, targhe di automobili, ecc..)
  4. composizione alfanumerica (numeri e lettere con l'aggiunta di eventuali segni di interpunzione) con caratteri misti (maiuscole e minuscole)
  5. custodia adeguata
  6. modifica frequente
Molte persone che conosco o con le quali entro in contatto sono restie ad applicare questi accorgimenti.
In particolare i parametri di lunghezza, differenziazione e composizione rendono la generazione e la conservazione delle credenziali un vero e proprio incubo, con tutte le conseguenze negative del caso (password identiche, facili da indovinare, per di più scritte su fogli di carta, post-it, fogli excel, ecc...).

Non bisogna neanche dimenticare le responsabilità legali: chiunque tratta dati personali è infatti obbligato a rispettare le prescrizioni minime (e non solo !) dettate per la sicurezza dei dati dal d.lgs. 196/03, tra le quali rientrano appunto determinati requisiti di lunghezza, composizione e conservazione delle password di autenticazione.

Sulla rete sono disponibili diversi software utilizzabili per assicurare la conformità con questi requisiti/misure: uno di questi è Keepass gratuito e rilasciato con licenza open source.

Keepass è un gestore che memorizza le password all'interno di un database, costituito da un file crittografato con una chiave scelta dall'utente (master key).

Lo schema di cifratura adottato è l'AES (lo standard utilizzato dal governo U.S.A) oppure Twofish.

Il principale vantaggio è che l'utente deve ricordare una sola password, quella per accedere al database nel quale possono essere conservate tutte le altre credenziali, relative ai servizi/sistemi più disparati.

Alcune caratteristiche apprezzabili di Keepass sono:
  1. la leggerezza del programma in termini di risorse utilizzate
  2. la facilità d'uso (esiste anche una versione portabile per l'uso immediato con dispositivi removibili come le chiavette usb)
  3. la presenza di plugin di estensione delle funzionalità
  4. la presenza di un modulo per la generazione di password che rispettino i requisiti di complessità impostati dall'utente
  5. la possibilità di memorizzare le password per categorie (internet, email, e-banking, ecc...) e di fissarne una scadenza
  6. la notifica delle password scadute
  7. il controllo di altri aspetti come, ad esempio, la pulizia automatica della clipboard trascorsi un certo numero di secondi
Ovviamente in un sistema del genere il principale punto debole è costituito dalla master key che deve essere particolarmente robusta ed adeguatamente custodita per evitare l'accesso non autorizzato all'intero database della credenziali.

Clustering e mappe mentali: un connubio vincente


Ho da poco terminato di leggere "Business Writing" di Alessandro Lucchini, un ottimo libro che consiglio a chiunque si occupi di scrittura professionale.

Tra le varie tecniche illustrate per migliorare l'efficienza del processo di scrittura, la prima che mi ha colpito e che ho cominciato ad applicare è stata quella del clustering.
Il clustering è una tecnica di pre-writing che consente di superare i limiti del modo di organizzare i pensieri attraverso la tradizionale "scaletta".

In effetti, mentre quest'ultima costringe ad esplorare i pensieri in modo sequenziale, limitando la fase di creatività in quanto i pensieri non rispettano un ordine predeterminabile, il clustering consente invece di sviluppare le idee, così come si presentano, secondo la naturalezza derivante dalle associazioni logiche.

Mettere i pratica questa tecnica richiede inizialmente un semplice foglio di carta ed una matita ed è abbastanza semplice:
  1. collocare al centro l'idea da sviluppare e racchiuderla in un cerchio
  2. registrare con una o due parole, sempre racchiuse in un cerchio, i vari pensieri associati all'idea
  3. congiungere con una linea ogni cluster di parole con quello che l'ha generato
  4. fare gli aggiustamenti: unire più cluster, dividerne uno in più piccoli, eliminare quelli che non si desidera utilizzare, ecc...
  5. individuare il primo ed il secondo cluster per importanza e marcarli rispettivamente con una I (Inizio) ed F (Fine)
  6. assegnare ai cluster rimanenti un ordine numerico sulla base dei criteri ritenuti più opportuni (ordine crescente o descrescente, cronologia, importanza, ecc...)
Il risultato finale consiste nella naturale trasposizione della creatività in un ordine sequenziale di argomenti da sviluppare con la scrittura vera e propria.

Una volta compresa e sperimentata l'efficienza di questo metodo di lavoro possiamo anche avvalerci dell'ausilio di strumenti software.

Credo che uno degli strumenti più utili a tale proposito possa essere Freemind, un software multipiattaforma rilasciato con licenza GPL, che permette di creare e gestire le cd. mappe mentali per la generazione e la rappresentazione delle idee e del pensiero mediante associazioni.

In questo modo possiamo sfruttare tutta la potenza della tecnica citata organizzando digitalmente i nostri pensieri !

Software: i dati dei clienti a rischio nel test delle applicazioni


Mi sono imbattuto in un sondaggio realizzato da Compuware e Ponemon ove vengono riportati i risultati di una recente ricerca sulla natura dei dati impiegati nello sviluppo e nel test delle applicazioni software.

Sulla base di questi risultati sembrerebbe che il 64% delle aziende europee intervistate utilizzi, nel corso di questi test, dati reali dei clienti al posto di dataset fittizi o, se preferite, anonimizzati.
Per la verità, anche in virtù di passate esperienze, sospetto che questa percentuale, almeno per quanto riguarda l'Italia, sia molto superiore.

Qualcuno a questo punto potrebbe obiettare che non c'è nulla di strano perchè nessuno è interessato a questi dati, perchè i test vengono condotti in ambienti separati rispetto a quelli di produzione (anche qui ho delle forti perplessità e, comunque, è peggio che andar di notte, vista la scarsità di misure di protezione che, generalmente, affligge i primi) eccetera, eccetera...

Ovviamente quando passiamo all'esame della reale tipologia dei dati ci troviamo di mezzo un pò di tutto, quindi non soltanto dati anagrafici, recapiti telefonici, elettronici e quant'altro, ma anche numeri di carte di credito, numeri di previdenza sociale, e chi più ne ha più ne metta.

Come se non bastasse il 42% del campione intervistato esternalizza i test ed il 60% condivide con l'organizzazione in outsourcing i dati reali.

Chissà quante di queste "condivisioni" sono citate nelle informative e sono oggetto di consenso specifico ?
Posso già immaginarmelo: "Gentile cliente...la informiamo che i suoi dati più riservati verranno utilizzati durante i test di applicazioni software...non meglio precisate e saranno condivisi con organizzazioni esterne...ma comunque sempre nel rispetto della normativa vigente..."

Infine, per concludere, più di un terzo del campione (35%) non riesce a rendersi conto del fatto che i dati sono stati eventualmente compromessi, il 45% dichiara esplicitamente che questi dati sono soggetti a smarrimento o furto ma, nonostante tutto, il 50% non adotta alcuna procedura per la protezione delle informazioni.

Con buona pace, non soltanto di ogni normativa in materia, ma anche di qualunque elementare forma di buon senso (per favore non chiamiamola sicurezza, significherebbe scomodare un concetto troppo elevato !) .

Analisi della cache prefetch di Windows XP: considerazioni e strumenti

Windows XP/2003 possiedono una caratteristica integrata chiamata "Prefetch cache" utilizzata per accelerare i processi durante il boot e l'esecuzione delle applicazioni.

Tale caratteristica può rivelarsi utile durante un indagine di natura forense che coinvolga sistemi di questo tipo ed i suoi parametri di funzionamento vengono controllati mediante la seguente chiave del registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameter

La cache è organizzata in una cartella chiamata Prefetch, residente all'interno della %windir% e contenente un numero variabile di file (fino a 128) con estensione .pf.
Ogni volta che una applicazione viene mandata in esecuzione il sistema aggiorna o crea la corrispondente entry nella cartella citata.

Ognuno di questi file contiene delle stringhe in formato Unicode che possono fare riferimento ai vari moduli acceduti durante l'esecuzione dell'applicazione.
Inoltre, cosa altrettanto importante, ogni file memorizza un contatore che indica il numero di volte in cui l'applicazione è stata eseguita ed un valore temporale a 64 bit (formato UTC) che esprime la data della più recente esecuzione dell'applicazione (aprendo il file con un qualsiasi editor esadecimale è possibile rinvenire l'informazione del primo tipo all'offset 144 e quella del secondo tipo all'offset 120).

L'analisi di queste informazioni può dunque essere utile per desumere preziose informazioni circa l'esecuzione di particolari attività nel sistema in un dato momento temporale.
Purtroppo però il mantenimento di tali file non avviene su base utente ma globalmente a livello di sistema per cui è necessario che i dati così riscontrati siano messi in correlazione con altre informazioni del sistema stesso.

In ogni caso per agevolare il recupero ed il repertamento di tali informazioni possiamo usare un tool, gratuito per uso privato e commerciale, chiamato Windows File Analyzer, disponibile all'indirizzo http://www.mitec.cz/wfa.html.

Si tratta di una applicazione sviluppata per l'analisi e la decodifica di alcuni file speciali utilizzati dai sistemi Windows tra i quali, appunto, i file prefetch di cui vengono visualizzate le informazioni relative all'applicazione, alla data di creazione, alla data di ultimo accesso, al numero di esecuzioni.
Per ciascun file viene inoltre calcolato l'hash MD5 ed è possibile produrre un report della lista.

Nuovo tool anti-rootkit

McAfee ha rilasciato un nuovo tool ad uso gratuito per la rilevazione e la rimozione di rootkit.
Sulla base delle informazioni fornite dalla società questo strumento, che non utilizza alcun sistema di signatures, sarebbe in grado di:

  • rilevare processi, file e chiavi del registry nascoste
  • identificare tutti i processi attivi di sistema
  • identificare varie tipologie di hooking (Import/Export address table, SSDT)
  • permettere all'utente di rimuovere dal sistema gli oggetti nocivi cancellando o rinominando i relativi files o le chiavi del registry
  • permettere all'utente l'immediata interruzione dei processi nocivi
  • inviare campioni di rootkit per l'analisi ai laboratori di ricerca
Il tool può essere scaricato al seguente indirizzo: http://download.nai.com/products/mcafee-avert/McafeeRootkitDetective.zip
e non richiede installazione essendo sufficiente scompattare l'archivio in una cartella ed eseguirlo.
L'interfaccia utente si presente abbastanza semplice essendo dotata di un pulsante per avviare la scansione di sistema e di alcuni controlli di tipo radio button per permettere la visualizzazione dei vari tipi di oggetti nocivi eventualmente identificati.

L'esito della scansione viene memorizzato in un apposito file di log contenente le informazioni relative agli oggetti identificati.

Nel complesso si tratta di uno strumento utile per una prima scansione di base del sistema mentre per analisi più evolute è preferibile utilizzare strumenti più sofisticati (come ad es. IceSword).