domenica 20 maggio 2018

In principio fu il Social Engineering

Profilazione, Big Data, pubblicità personalizzate, tutti temi molto in voga da qualche anno a questa parte, hanno un antenato comune: L'Ingegneria Sociale, dall'inglese Social Engineering. Per capire il significato di questa espressione bisogna tenere a mente che l'inglese "Engineering" ha un'accezione molto più estesa del corrispettivo italiano "Ingegneria": mentre quest'ultimo si riferisce quasi esclusivamente alla ben nota facoltà universitaria, cioè l'insieme delle capacità di trasformare le conoscenze in ambito scientifico e tecnologico in prodotti e servizi disponibili alla collettività, il termine inglese comprende anche le varie branche tecniche non necessariamente di livello universitario. Nel caso specifico, si intende la capacità di studiare il comportamento di qualcosa per intuirne il funzionamento interno; solo che il "Social" che viene prima ci precisa che il qualcosa sono le persone.

Di per sé, è una tecnica non recente, ma ovviamente l'avvento dell'informatica di massa l'ha resa particolarmente efficiente per via del numero elevato di elementi che possono esserne bersaglio, e la possibilità di effettuarla da lontano e in completo anonimato. In questa fase, la tecnica si poteva effettivamente considerare un attacco informatico, nel senso che c'era qualcuno che tramite azioni mirate ed ingannevoli cercava di indurre il malcapitato di turno a dare informazioni che altrimenti avrebbe tenute riservate, oppure a fare azioni a profitto dell'attaccante. Da quando poi c'è stato l'avvento dei social network, il fenomeno è esploso, tanto da specializzarsi in varie branche con scopi diversi e da diventare la fonte delle maggiori ricchezze moderne; ma in questo caso l'attacco mirato da parte di un malfattore è stato sostituito da una generale induzione alla condivisione selvaggia dei fatti propri attraverso prodotti e servizi apparentemente innocui ed utili (ogni riferimento a fatti reali è puramente... voluto!).

Cerchiamo di capirci meglio, andando nel concreto di qualche situazione.
Gli scopi più comuni sono:
  • Furto d'identità
  • Furto di password per accessi fraudolenti
  • Ricatto
  • Influenzare i comportamenti futuri

L'esempio più comune è il phishing, cioè la mail che induce ad inserire le proprie credenziali di accesso ad un servizio in un falso sito, per poi utilizzarle nel sito vero (se si parla della vostra banca, potete immaginare da soli l'effetto); sempre in tema di mail, esse sono il veicolo più utilizzato per la diffusione dei ransomware, cioè quei virus che cifrano i dati e richiedono un riscatto per la decifratura, attraverso allegati il cui presunto contenuto viene in qualche modo a scatenare il nostro interesse. Il più pericoloso attacco di questo tipo, soprattutto se perpetrato verso minori, è carpire la fiducia per poi abusarne (il termine non è scelto a caso: i casi di cronaca sono terrificanti).

Il vero scopo del post però è quelli di mettere in guardia rispetto alle tecniche passive, cioè a quelle che fanno uso dei dati che noi stessi rendiamo pubblici attraverso la nostra normale attività online.
L'esempio più lampante sono le innumerevoli foto fronte/retro postate sui social network delle carte di credito, così da rendere visibili tutti i dati che vi sono riportati: avete mai pensato che sono esattamente i dati che vengono richiesti quando fate un pagamento online? Quindi: foto postata, acquisto fraudolento in 5, 4, 3, 2, 1... (non ci credete che qualcuno sia così stupido? c'è un account twitter che retweeta questi geni...).
Simile è il caso del nostro codice fiscale, che racconta di noi tutti i dati anagrafici (e il furto d'identità è servito; per questo non vi lamentate quando vi chiedono la fotocopia della carta d'identità, e magari evitate di postarne una foto!).
Infine, i fatti recenti dimostrano che anche solo i like/mi piace/retweet e compagnia cantante forniscono indicazioni estremamente precise sulla nostra personalità, che poi vengono utilizzate per indirizzare i nostri comportamenti futuri, a partire dagli acquisti per finire al voto elettorale, attraverso informazioni personalizzate (e intendo: espressamente indirizzate ad una determinata persona).

Altra possibilità è quella di incrociare informazioni da fonti differenti: a me è capitato in più di un caso di intuire informazioni di persone che seguo su Twitter, ma che non conosco assolutamente di persona, basandomi solo su ciò è all'interno dei loro post (casi reali: ho trovato il cognome di un utente che aveva fornito solo il nome; per un altro ho capito dove vive; non si contano i casi di intuizione delle tendenze politiche). Ma il caso più comune e secondo me pericoloso è quello di fornire involontariamente indicazioni di quando si è lontani da casa (tipicamente, quando si è in vacanza, ma non solo), postando selfie appena scattati da cui è evidente risalire al luogo in cui ci si trova, che chiaramente non è quello in cui si vive; tenendo conto che ormai con l'intelligenza artificiale è possibile riconoscere posti anche molto poco comuni e da pochi, apparentemente insignificanti, dettagli.

L'errore più grave che si può commettere è quello di pensare che tutto ciò non riguardi noi: i malintenzionati non vanno per bersagli precisi, ma cercano nel mucchio di cui noi tutti facciamo parte. Il mio consiglio, prima di condividere anche la più più innocente delle informazioni, è chiedersi: a che scopo può essere utilizzata a mio danno? Ricordandoci poi che internet non dimentica.

P.S. Mai, MAI, MAI utilizzare informazioni personali per scegliere le vostre password!!!

sabato 5 maggio 2018

Ci aggiorniamo?

Qualche settimana fa, non ricordo qual era il motivo, mi sono sentito dire: "Io gli aggiornamenti (dello smartphone) non li faccio mai". Mi è caduta la mascella, anche perché la persona in questione gode della mia stima, per cui non mi aspettavo un'affermazione così assurda. Però poi, com'è mio solito, questo mi ha fatto riflettere alla ricerca delle possibili motivazioni di una tale posizione.

Per poterci capire, è necessaria un po' di nomenclatura, anche perché in questo caso si usano termini inglesi.
La parola italiana aggiornamento, riferita a programmi, app, firmware o sistemi operativi (quindi: qualsiasi tipo di software), viene usata in corrispondenza a due parole inglesi: update e upgrade. La differenza di significato tra le due parole, semplificando un po' tutta la questione, sta nel tipo di aggiornamento: update si riferisce alle minor release, upgrade alle major release. Release viene spesso tradotta con versione, ma l'accezione del termine inglese è migliore, nel senso che fa riferimento al processo di sviluppo del software che, ad un certo punto, permette il rilascio al pubblico (o ai clienti) di una versione, appunto, pronta per l'uso. Ciò che è diverso è il tipo di aggiornamento: con la minor release (spesso identificata numericamente dopo la major release) si fanno aggiustamenti di problemi o qualche piccola miglioria nell'usabilità; la major release comporta significative novità, spesso con l'aggiunta di nuove funzionalità o la revisione più o meno completa di quelle esistenti.
Per fare un esempio pratico: quando dopo il nome del software c'è una versione come 4.13, il 4 è la major release e il 13 la minor; un update porterà alla versione 4.14, un upgrade alla 5.0. Purtroppo non c'è uno standard ed ogni produttore di software utilizza il suo sistema di numerazione, spesso rispondente più a logiche commerciali che tecniche; ma in qualche maniera si ritorna sempre ai due concetti appena esposti.

Torniamo al tema principale, che è: ma gli aggiornamenti vanno fatti? A questa domanda posso rispondere solo in un modo:
SI!
ed il motivo è semplice: gli aggiornamenti risolvono problemi, più o meno gravi, magari invisibili ai più ma sfruttabili dai malintenzionati o che potrebbero causare perdite di dati. Infatti gli aggiornamenti dei software sono considerati uno dei capisaldi per la sicurezza informatica.
Tuttavia un po' di attenzioni da prestare ci sono.

Minor release
Sono i più frequenti; anche qui, non esistono standard, ognuno fa come gli pare, però possiamo dire che ce ne sono diversi all'anno. Contenendo risoluzioni di problemi, sono importantissimi; tuttavia, una buona norma che suggerisco è di aspettare qualche giorno da quando escono, perché purtroppo capita troppo spesso che siano essi stessi affetti da problemi, e l'attesa permette agli addetti ai lavori di accorgersene e di rimediare.
Normalmente questo tipo di aggiornamenti impiegano poco tempo ad applicarsi e magari nemmeno richiedono il riavvio, ma ci sono notevolissime eccezioni, per cui anche piccoli aggiornamenti richiedono tempi esagerati (chiedere a Microsoft...).

Major release
Contenendo grosse novità, sono aggiornamenti grandi e poco frequenti; diciamo una volta l'anno (o anche meno). Comportano tempi abbastanza lunghi, almeno rispetto alle minor release: per i sistemi operativi, anche una o due ore, quindi è bene pianificare bene quando farli per non bloccare attività. Ma il consiglio principale è di evitare la primissima versione (quella spesso identificata come X.0), e di aspettare direttamente almeno la seconda (X.1), perché anche se approfonditamente testate (cosa non più così vera, purtroppo), contengono sempre problemi di gioventù, che vengono appunto risolti rapidamente ed inclusi nelle prime minor release.
Comunque sia, gli upgrade non sono, in generale, obbligatori: anzi, spesso sono deleteri se introducono problemi di compatibilità o utilizzo eccessivo di risorse hardware, quindi consiglio di valutarli volta per volta. Occhio ai software commerciali: l'upgrade potrebbe non essere incluso nella licenza, o in caso di abbonamento, è necessario averlo attivo.

Backup
Paura da aggiornamento? No, non è giustificata, ma nemmeno così campata per aria; per cui avere un modo di poter tornare indietro, se qualcosa va storto, non è per niente sbagliato. Alcuni sistemi operativi (Windows) hanno meccanismi interni; per altri casi esistono meccanismi esterni; in altri casi ancora (smartphone), non ne conosco. In ogni caso, i tempi complessivi dell'operazione si allungano, ma ritengo sia un investimento conveniente. Non è possibile trattare il tema in questo stesso post, lo farò prossimamente.

Consigli finali

  1. Impostate la notifica automatica della disponibilità degli aggiornamenti, non l'installazione automatica: così potete pianificare quando farli, nel momento più comodo a voi.
  2. Sia che facciate o no i backup dei software prima degli aggiornamenti, abbiate sempre un'alternativa se qualcosa va storto, il che significa un altro computer o un altro smartphone per le attività urgenti.
  3. Non rimandate troppo per pigrizia, che poi il ritardo si paga...
  4. Non sapete che pesci prendere? Chiedete consiglio o aiuto a qualcuno che ne capisce!
E il backup dei dati? No, non c'entra niente. Quello va fatto sempre. Comunque. A prescindere.