martedì 27 dicembre 2016

Internet delle cose, ovvero la tecnologia dannosa

Quando stavo pensando al titolo di questo post ero in dubbio se utilizzare l'aggettivo "inutile" oppure "dannosa" da associare alla tecnologia dell' "Internet delle cose": alla fine ho scelto il secondo, perché il primo non dà l'esatta percezione della situazione. Ma andiamo con ordine.

Con la terminologia Internet delle cose (Internet of Things, in inglese) si intende l'inserimento di nuovi servizi o funzionalità all'interno di dispositivi che tipicamente non consideriamo appartenenti al mondo dell'informatica (ma che giocoforza vi entrano in conseguenza di questa tecnologia), attraverso l'aggiunta di veri e propri piccoli computer con collegamento di rete, quasi sempre senza fili. Se per certe classi di dispositivi ciò trova senso, per altri, francamente, sembra una forzatura fatta a puro scopo di marketing. Esempi di questi utilizzi sono le automobili, i televisori, i semafori, i robot da cucina, i frigoriferi, i sistemi di allarme, le lampadine, etc.

Qual'è il problema in tutto ciò? Ecco qua:
che altro non è che l'esempio concreto di questo recente annuncio:

Nel 2016 in arrivo i “virus” per Smart TV (con Android)

Ora, giusto per rimanere su questo esempio, che i televisori moderni abbiano un collegamento di rete per permettere di accedere a tutti quei contenuti presenti sul web, o anche sui nostri dispositivi personali, ha perfettamente senso; quello che non ha senso è:
  1. che il televisore sia vulnerabile ai virus che circolano su internet
  2. qualora si accettasse questo pericolo, che il televisore non sia facilmente recuperabile

Non è inutile notare, se fate lo sforzo di leggere quanto compare sullo schermo, che il tv è stato colpito da un ransomware, argomento di un mio post precedente.

Il produttore del tv ha utilizzato un diffusissimo e apprezzatissimo sistema operativo, e questo non ha nulla di sbagliato; ciò che lo rende colpevole è di non averlo utilizzato senza intervenire con le necessarie misure di protezione e soprattutto, per quanto sembra finora, di non aver previsto una procedura di "reset" del televisore che eviti un intervento del servizio di assistenza. Ammesso che tale procedura esista, vorrei tanto sapere quanto è complessa. Da utente normale, mi verrebbe da dire che per essere accettabile dovrebbe comportare, per me, una singola azione e non dovrebbe bloccarmi il televisore per più di un minuto (si, lo so, è fantascienza), altrimenti potrei perdermi i titoli del telegiornale, gli inni nazionali della partita, etc.

L'altro grosso pericolo riguarda l'utilizzo fraudolento e ad insaputa del proprietario del dispositivo per effettuare attacchi informatici distribuiti. Questa non è fantascienza: è quello che è successo a ottobre (anche in questo caso, ne avevo accennato nel mio primo post).

Tornando però a quanto può succederci in prima persona... pensiamo cosa succederebbe se un simile blocco avvenisse su altri apparecchi, per esempio quelli che citavo prima. Se il sistema di allarme della nostra casa, o la nostra capacità di comandarlo, dipendesse dal collegamento internet, ad un ladro appena sufficientemente intelligente basterebbe fare in modo di "eliminare" il nostro accesso internet, spegnendo o scollegando il modem. Se il fantastico controllore del nostro frigorifero, oltre a farci vedere le date di scadenza o cosa dobbiamo comprare, controllasse anche la funzione di raffreddamento, ci ritroveremmo con un frigo vuoto o caldo. Se ci affidassimo al ricettario online per cuocere il pesce nel nostro forno intelligente, dovremmo ripiegare sul sushi. Ed ancora, la nostra fantastica auto superaccessoriata dal computer di bordo da fare invidia alla NASA, ci potrebbe lasciare a piedi.

Si, magari ho un po' esagerato, però il rischio che le funzioni basilari di un apparecchio possano essere inficiate dalla dubbia utilità di qualche funzione aggiuntiva, io lo vedo eccome! Ultimo esempio: ho letto delle lampadine con il wifi: per fare che??? Abbiamo veramente bisogno di controllare l'intensità di luce di una lampadina con una app sullo smartphone? Vogliamo veramente correre il rischio di dover tornare alle candele per questa imperdibile possibilità???

Io certamente no. Io pretendo che i produttori progettino questi apparecchi intelligenti con le dovute misure di sicurezza e senza renderci la vita complicata. Io pretendo che la mia intelligenza non sia messa in secondo piano rispetto alla presunta intelligenza degli apparecchi per motivi commerciali. Pretendo di avere la possibilità di continuare ad usare apparecchi "stupidi" ma utili ed efficienti.

AGGIORNAMENTO: il produttore ha fornito una procedura abbastanza semplice e veloce per il ripristino alle impostazioni di fabbrica; il tutto è testimoniato da questo video (in inglese).

martedì 20 dicembre 2016

Non succede, ma se succede...

La frase che ho scelto come titolo di questo post viene spesso utilizzata, con un'accezione positiva, quando ci si augura che accada qualcosa di molto improbabile; come dire: vivo bene lo stesso, ma se succede è gran festa. Nulla vieta, però, che possa esserci anche il rovescio della medaglia: cioè che le cose vanno bene, ma se succede qualcosa è un gran pasticcio. Come oggi al lavoro.

Piccola premessa: nei sistemi informatici di classe "enterprise" (cioè quelli molto avanzati tecnologicamente, adatti a supportare i servizi e gli affari di un'azienda) è quasi d'obbligo che tutti i componenti siano ridondati, cioè presenti in più di un esemplare, in modo che se uno smetta di funzionare, l'altro permetta al sistema di continuare tranquillamente a fare il suo lavoro. Normalmente gli esemplari per componente sono 2, ma esistono non pochi casi in cui sono 3 o addirittura 4.

Oggi era previsto un intervento di riparazione sul sistema di storage (in pratica un grosso insieme di dischi) su cui risiedono la stragrande maggioranza dei dati e dei servizi aziendali. Memori di una passata (negativa) esperienza, per scrupolo abbiamo pianificato la riparazione in pausa pranzo (che ovviamente qualcuno, in casi come questo, salta...): perché non succede, ma se succede...
Ovviamente è successo.

Che è successo? Che quando è stato rimosso il componente da sostituire, nonostante ci fosse il suo omologo regolarmente in funzione, il sistema si è piantato (nel gergo informatico: pur risultando acceso, non funzionava un c....), causando il blocco di tutti i sistemi aziendali, con conseguenti mal di pancia e 4 persone più un tecnico esterno a lavorare come pazzi per più di un'ora (ed è andata di lusso!) mentre il resto dell'azienda si gira i pollici. Questa rappresenta la classica situazione che se lo dici al produttore dell'hardware, giura e spergiura che è assolutamente impossibile che succeda. Però è successo. 2 volte.

Già la sento, la domanda che spontanea nasce nei miei 6 o 7 lettori: si, ma a noi, che ce ne frega? Dovrebbe fregargliene semplicemente perché nulla vieta che una situazione analoga possa avvenire in contesti più critici per loro, tra i quali mi vengono in mente: aereo in volo, operazioni chirurgiche robotiche, auto a guida autonoma, etc. Tutti sistemi complessi in cui per ovvie ragioni si cerca la cosiddetta "alta affidabilità", in modo da minimizzare i rischi di malfunzionamenti. Ora, se qualcuno vi dice azzerare i rischi, a mio parere gli potete dare del ciarlatano: nessun sistema, per quanto ben progettato e realizzato, è o sarà mai infallibile. Ma attenzione: lungi da me suggerire di evitare codesti sistemi! Gli aerei sono una realtà da decine di anni, e gli incidenti causati da guasti sono estremamente più rari di quelli causati da errore (o purtroppo dolo) umano. La chirurgia robotica (che, sia chiaro, si intende sempre guidata da un chirurgo in carne ed ossa) è fondamentale perché aumenta la precisione, riducendo i "danni collaterali", e permette anche di agire a distanza. La auto che guidano da sole sono il futuro prossimo, e permetteranno di ridurre drasticamente gli incidenti stradali, se non altro perché eviteranno le disattenzioni e le scorrettezze dei guidatori. La tecnologia è assolutamente il mezzo con cui viene migliorata la vita quotidiana di tutti. Però è assolutamente necessario che sia sempre accompagnata da un sistema di riserva non (o meno) tecnologico per evitare che guasti "impossibili" rendano una situazione critica irrimediabile. Tornando ai tre esempi di prima (e semplificando molto): i piloti devono essere in grado tramite bussola e carte nautiche di orientarsi, nel caso si rompa il ricevitore GPS; il robot chirurgo deve sempre essere affiancato da un'equipe medica pronta ad intervenire sul paziente in tempi rapidissimi; e ogni auto a guida automatica deve prevedere comunque volante e freni che un passeggero deve essere in grado di utilizzare in caso di emergenza. Tutte cose, se vogliamo, banali, perché rappresentano i modi in cui si agiva prima dell'avvento delle nuove tecnologie, e che semplicemente non dobbiamo dimenticarci ed a cui non dobbiamo rinunciare.

Ovviamente questo approccio prudenziale comporta  dei costi aggiuntivi, che non possono che ricadere sui consumatori. Si chiama qualità. Ricordatelo, la prossima volta che cercate il risparmio a tutti i costi.

venerdì 9 dicembre 2016

Software e pregiudizi

Stamattina su una rivista specializzata sul mondo delle auto ho trovato un articolo sulla cybersicurezza, intesa come sicurezza dei sistemi informatici che anche sulle automobili stanno prendendo il sopravvento, quindi argomento quanto mai attuale ed interessante. In particolare, l'articolo citava gli attacchi che maggiormente sono stati perpetrati nel 2015 e nel 2016 sulle auto; tra questi, riporto i ransomware (argomento di un mio precedente post, anche se ignoravo che la cosa potesse essere arrivata anche sulle auto) e gli errori dei software opensource.
Solo la mia radicata educazione, considerato che ero in un luogo pubblico in presenza di estranei, mi ha impedito di saltar su e di esternare la mia sorpresa con una colorita espressione (che sarebbe suonata più o meno equivalente a: "Ohibò! Qual ragione può aver portato costui a cader in cotanto errore?").

Un software "opensource" si distingue da quelli "closedsource" non per la qualità del software, ma semplicemente perché del primo sono resi pubblici anche i cosiddetti codici sorgenti, del secondo no. I codici sorgenti altro non sono che la forma leggibile della logica del programma, che risponde a ben definite regole strutturali e sintattiche, che poi viene trasformata da appositi programmi ("compilatori") nel codice eseguibile dal processore, che è tutto meno che intellegibile. Il vantaggio è che chiunque, ovviamente con le opportune competenze, può controllare il codice (e quindi anche trovarne gli errori).

Sfatiamo un mito: il software non funziona sempre come vorremmo, e come vorrebbe anche colui che lo scrive; il software perfetto, semplicemente, non esiste. Scrivere software è uno dei lavori più difficili che esistono, l'errore è sempre possibile; infatti la qualità di un software non dipende solo dalla bravura di colui che lo scrive, ma anche , e secondo me soprattutto, dalla quantità e qualità dei test a cui viene sottoposto prima di essere rilasciato per l'utilizzo. Ora, normalmente (ma non sempre) i software opensource sono scritti da persone appassionate che cercano nella soddisfazione di aver fatto un buon lavoro la loro ricompensa; e infatti spesso questi software sono disponibili gratuitamente per l'utilizzo. Invece, normalmente (ma non sempre) i software closedsource sono prodotti da aziende che poi guadagnano vendendo la licenza d'uso. Solo ad una disattenta lettura, come quella della rivista in questione, può portare all'equazione che l'opensource è di qualità peggiore, quindi possiede più errori, di un closedsource. Infatti, accade frequentemente che le aziende rilascino i software valutando più gli aspetti commerciali rispetto a quelli tecnici; per dirla più semplicemente, i software non vengono testati a sufficienza, e quindi escono ancora immaturi. Né è vero che i migliori programmatori sono quelli che lavorano per le aziende; al contrario, gli autori di alcuni dei software opensource più diffusi mai hanno lavorato per delle aziende di software, e vivono grazie alle consulenze che si guadagnano grazie al loro lavoro "gratuito".

Detto così, potrebbe sembrare che il mondo opensource sia tutto rose e fiori e le aziende di software siano il diavolo: anche in questo caso sarebbe una lettura disattenta. Anche nel mondo opensource operano aziende, che fanno grandi profitti non grazie alla vendita delle licenze, ma ai servizi professionali che forniscono agli utilizzatori; e di conseguenza possono cadere vittima dei loro pur legittimi interessi economici. D'altro canto, faccio l'esempio del più celebre database al mondo, prodotto da una ricchissima azienda nota anche dai non addetti ai lavori, nel cui software è stato volontariamente omesso un controllo, cosa che sarebbe normalmente considerata un grave errore di programmazione, per ottimizzare le prestazioni della gestione della memoria!

Ecco perché stamattina sono saltato (silenziosamente...) dalla sedia: in quel contesto, citare tra i problemi di sicurezza della "informatizzazione" delle auto i software opensource suonava come un pregiudizio bello e buono. Personalmente non sono mai andato a controllare il codice sorgente di un software per verificarne la qualità, ma potrei citare (e non escludo di farlo in futuro su questo blog) esempi di software splendidi, sia opensource che non, sia gratuiti che a pagamento. E comunque, manterrò sempre una lucida diffidenza su tutti i sistemi che abusano dell'utilizzo di software, qualsiasi sia la sua provenienza.

domenica 4 dicembre 2016

Perdere dati... ma anche no!

Un vecchio adagio degli informatici recita: "Chi utilizza i computer si divide in 2 grandi categorie: chi ha perso dati, e chi li perderà." Amarissima verità.
Perdere dati, in concreto, significa perdere file (che altro non sono che la forma con cui i dati vengono memorizzati su dischi, chiavette, etc.); e perdere può significare: smarrimento; cancellazione accidentale; impossibilità di lettura; rottura del supporto fisico su cui si sono memorizzati. In ogni caso, sono tutte cose che succedono continuamente, e che nonostante tutti gli sforzi, non si possono evitare completamente.

Ma la soluzione c'è, e si chiama backup (o, in italiano, copia di sicurezza): basta che abbiamo i file in 2, meglio 3 copie sparse su supporti (o luoghi) differenti. Facile, ma un problema c'è: farlo è una rottura di scatole, e necessita di tempo e impegno. Gli ingredienti necessari sono:
  1. conoscere quali sono i file da copiare
  2. avere a disposizione una locazione realmente alternativa
  3. fare le copie e aggiornarle quando necessario
Il punto 1 è per assurdo il più difficile per molti: l'automazione che i software, giustamente, ci offrono, di fatto nasconde ai più il dettaglio tecnico su come le informazioni vengono memorizzate. L'esempio lampante è il programma di posta elettronica: i messaggi sono memorizzati in una struttura predefinita di file e cartelle, che in alcuni casi (Microsoft Outlook, per non fare nomi) è anche soggetta a pericolosissimi casi di corruzione, o al raggiungimento dei limiti strutturali che impediscono il normale funzionamento del programma; e il recupero della situazione è, nel migliore dei casi, un incubo!
Quindi ora prendete un bel respiro e fate così: cercate di fare mente locale di tutto quello che avete memorizzato sul vostro computer/tablet/smartphone, ed immaginatevi, per ogni elemento, la vostra reazione alla scoperta che non l'avete più. Qualche esempio: le foto sono uniche, non si possono rifare uguali; i documenti si possono riscrivere, ma con quanta fatica e comunque non con lo stesso identico risultato; le mail spariscono, e basta. Tutto ciò per cui la reazione immaginata è la disperazione, va copiato, non importa quanta fatica ciò vi costi. Armatevi di coraggio, trovate il tempo, informatevi o fatevi aiutare, ma fatelo, e il prima possibile!

La cosa importante è fare la(e) copia(e) in posti realmente diversi (punto 2). Purtroppo bisogna tenere conto anche di come agiscono certi virus, per cui ecco alcuni consigli.
I dischi ottici (CD, DVD, Blu-Ray) vanno benissimo, a patto che stiate facendo un'archiviazione, cioè i file in questione non debbano essere mai più modificati. Tenete comunque presente che anche questi supporti non durano in eterno...
I servizi di memorizzazione online (comunemente chiamati "cloud") vanno benissimo, ma hanno il problema dello spazio limitato (almeno per i servizi gratuiti), ed alcuni hanno anche sospetti problemi di privacy... quindi evitate di metterci le vostre buste paga o le foto imbarazzanti.
Dischi esterni (accessibili via USB o rete) vanno benissimo, a patto che non siano permanentemente accessibili al computer, poiché eventuali malfunzionamenti di questo possono ripercuotersi su tutti i dischi (tipicamente questo vale per i virus, come i ransomware).
L'errore peggiore, invece, è copiare i dati su una partizione diversa ma dello stesso disco fisico... semplicemente, è inutile.
Qualsiasi metodo utilizziate, almeno una copia deve essere geograficamente lontana, perché avere tutti i supporti fisicamente vicini li espone al rischio della distruzione simultanea in caso di incidenti gravi, come incendi o terremoti (esperienza personale, per fortuna senza conseguenze).

Per quanto riguarda il punto 3, basta ricordarsi che non è sufficiente fare lo sforzo di fare le copie una volta per tutte: vanno continuamente aggiornate con le modifiche o con i nuovi dati. Per fortuna ci possono venire in aiuto diversi programmi dedicati proprio a questo (spesso i dischi esterni ne hanno uno in dotazione): normalmente fanno il confronto (o in automatico, o su vostro comando) tra dischi/cartelle distinte, anche remote, e copiano i file necessari, ed in caso di necessità, li ripristinano.

Ultimo consiglio: almeno per le cose più importanti non affidatevi ad altri, nessuno meglio di voi conosce la reale situazione dei vostri dati, e inoltre dovete essere in grado di ritrovare le vostre copia da soli, senza dover chiedere informazioni.
Seguendo questa pratica, la perdita di dati può essere realmente minimizzata, limitandosi a dati poco importanti; purtroppo ritengo impossibile eliminarla del tutto.

sabato 3 dicembre 2016

Il pericolo ransomware

La settimana che sta finendo ha portato agli onori della cronaca, almeno quella di settore, 2 episodi gravi: l'attacco che ha mandato offline milioni di utenti internet in Germania, e il ricatto informatico subito dalla Metropolitana di San Francisco. Sul primo non spendo parole in quanto ripropone lo stesso tema già trattato nel mio primo post. Sul secondo invece vale la pena di soffermarsi, anche perché personalmente lo ritengo il pericolo maggiore a cui siamo sottoposti tutti noi internauti, in questo momento storico.

Il ricatto in questione avviene attraverso una categoria particolare di virus, denominato "ransomware" (ransom in inglese è appunto ricatto), il quale agisce rendendo il nostro dispositivo in qualche maniera inservibile, e pretendendo soldi per "sbloccarlo". Il pagamento, per quanto mi riguarda, non è un'opzione: intanto perché si andrebbe ad alimentare il giro criminale ed a renderlo ulteriormente appetibile; inoltre, il pagamento normalmente è piuttosto complesso (viene richiesto di effettuarlo in bitcoin, una moneta virtuale ma dal valore reale, attraverso la cosiddetta "darknet", cioè quella porzione di internet usata soprattutto, non a caso, per commettere crimini).
Nella mia esperienza, una volta colpiti, resta poco da fare: estirparlo è complicato, e quasi sempre è necessario reinizializzare completamente il dispositivo, operazione lunga e non alla portata di tutti. In più, i dati spesso vengono persi, per effetto della reinizializzazione o perché vengono cifrati (è infatti questa la tecnica più diffusa per il blocco). In rari casi (solo se  i criminali sono degli sprovveduti) esiste la possibilità di decifrare i file; ma è comunque un'operazione non banale e lunghissima.

L'unica possibilità è difendersi ed essere pronti a questa eventualità.

La prima  e più importante difesa è il nostro comportamento! I ransomware (e più in generale tutti i virus) al giorno d'oggi si diffondono come allegati alle mail, come falsi avvisi di sicurezza o finti programmi da scaricare che si trovano sui siti web (attenzione: non solo quelli pornografici o per trovare materiale privato, capita anche su siti assolutamente normali), sulle chat, e solo raramente diffondendosi via rete da un dispositivo ad un altro. Esistono anche altri metodi di diffusione, ma in ogni caso è assolutamente necessario che siamo tutti in grado di riconoscere questi pericoli e quindi evitare di fare operazioni di cui non siamo assolutamente certi. Non dobbiamo  fidarci se non delle fonti che conosciamo con assoluta certezza, sapendo che i criminali fanno a gara per trovare il modo di confonderci e ingannarci! In definitiva, mai fidarsi, su internet.

Dal punto di vista tecnico, le difese ci sono. La più ovvia è l'antivirus: averlo e tenerlo aggiornato è indispensabile! Ma anche il miglior antivirus ha delle limitazioni, la prima delle quali è che tra l'uscita di un nuovo virus e l'aggiornamento che lo riconosce passano alcune ore, durante le quali siamo indifesi (succede; esperienza personale).

Ma cosa facciamo se tutto ciò non basta? Mettiamoci l'animo in pace e ripartiamo da zero. In realtà se siamo stati previdenti possiamo non ripartire proprio da zero, e limitare i danni in termini di tempo e dati persi. Essere previdenti significa avere salvato il contenuto del nostro dispositivo da "un'altra parte": i backup. Argomento questo talmente importante da meritare un post dedicato. Adesso mi preme sottolineare che dobbiamo averci pensato prima che si presenti il problema. Tra poco quel "prima" potrebbe diventare "tardi".