Marco Calamari

Cassandra Crossing/L'insostenibile inaffidabilità della complessità

di M. Calamari - Un ben documentato "Io l'avevo detto" di Cassandra; l'eccesso di complessità può compromettere in maniera catastrofica il nostro mondo connesso

Roma - La vastità delle problematiche rivelate dal bug delle CPU Intel ed AMD (ma non delle ARM7!) ha in parte sorpreso anche Cassandra, che pure sul tema della inutile e pericolosa complessità dell'informatica già si era espressa qui e qui un decennio or sono.

Pochi se ne sono resi conto, ma il bug rilevato nella maggior parte del silicio esistente al mondo è di tipo particolarmente benigno, visto che compromette "solo" la riservatezza dei dati processati dalla maggioranza delle CPU esistenti, e "solo" se un attaccante ha raggiunto un accesso locale al computer.

Quello che mozza il respiro di chi ha orecchie per intendere e fantasia per estrapolare il futuro è la vastità e la pericolosità di questa classe di problemi, non più teorici od ipotizzati ma dimostrati.
Un esempio per tutti; per trasformare un problema globale ma limitato come Metdown in un incubo, basterebbe trovare il modo non di leggere ma di corrompere la memoria del kernel, mandando così in crash il computer?

Che potenza avrebbe una cyber-arma contenete un tale "zero-day del silicio" se potesse essere sfruttata per mandare in crash tutte le CPU di un paese nemico, o magari del mondo?

Basterebbe utilizzarla usando come vettore una botnet esistente, od un malware a diffusione rapida come l'ormai antico SQL-slammer; la fine del cyberspazio del nemico, o di tutto il cyberspazio, in un'unica, rapida mossa.

Il problema di fondo è comunque ancora più preoccupante; la società moderna fa sempre più affidamento sulla tecnologia, senza preoccuparsi nemmeno teoricamente dei rischi di catastrofi note quando si manifestassero con dimensioni enormi ma bassa probabilità, eventi chiamati in letteratura cigni neri (cfr. Nassim Nicholas "The Black Swan: The Impact Of The Highly Improbable" 2008).

Tantomeno si preoccupa di quello di catastrofi sconosciute ed imprevedibili, oltreché enormi, in gergo doppi cigni neri (cfr. Maurizio Barbeschi e Paolo Mastrolilli - "Fare i conti con l'ignoto. Governare l'incertezza: epidemie improvvise, catastrofi naturali, attentati terroristici" - 2016).

Eppure il problema del "bug di silicio", pur così pubblicizzato dai media, potrebbe addirittura essere controproducente per un aumento della consapevolezza di questi problemi; tra qualche settimana, quando la notizia dal punto di vista mediatico sarà dimenticata, e nulla di grave sarà successo, tutto sembrerà tranquillo, e la gente, dai semplici utenti fino ai grandi produttori di hardware, ricomincerà a vivere come sempre ed a fare "business as usual".

Il pericolo globale da cui guardarsi non è un semplice silicio malprogettato, il problema vero è l'aumento continuo della complessità di qualsiasi oggetto tecnologico, che lo porta oltre la comprensione, sempre più limitata, dei suoi stessi progettisti.

Questo è aggravato dall'omogeneizzazione tecnologica che spinge, per motivi prevalentemente economici, verso l'adozione di piattaforme hardware e software sempre più simili che, come nel caso dell'omogeneità del genoma delle colture in campo biologico, può essere foriera di catastrofi causate da un singolo problema tecnico, come da un singolo parassita resistente.

La gestione e limitazione della complessità, unita al controllo dell'eccessiva omogeneizzazione tecnologica delle infrastrutture, particolarmente di quelle critiche, è l'unica cosa che può scongiurare doppi cigni neri tecnologici.
Non bisogna permettere di usare un robot con un piede grosso come fermaporta solo perché costa poco, così come non si può usare un pc per visualizzare una singola lettera su uno schermo LCD; ambedue i sistemi prima o poi falliranno perché sono troppo complessi per la semplice funzione che devono fornire.

Ma il fallimento nella funzione primaria, anche se fosse catastrofico, sarebbe "solo" un cigno nero.

Un fallimento tecnologico imprevisto, come quello di un ipotetico "bug di silicio che resetti le CPU" sarebbe un doppio cigno nero, con conseguenze sia inattese che imprevedibili, praticamente illimitato nei danni che potrebbe provocare, specialmente se usato volontariamente come cyber-arma.

Sarebbe oltremodo opportuno che chi maneggia soldi pubblici o gestisce i budget di ricerca e sviluppo dei produttori di tecnologia, cominciasse a dar lavoro a chi si occupa di teoria delle catastrofi, di Analisi della complessità e di altre branche oggi marginali della fisica e della teoria dei sistemi per progettare tecnologie meno vulnerabili ed instabili, ed analizzare le possibili conseguenze di quelle già oggi esistenti e diffuse.
E che chiunque, ogni tanto, si fermasse un attimo nella vita frenetica che tutti conduciamo e si chiedesse "Se quello che sto usando cessasse di funzionare od addirittura scomparissse"?

Cominciando dall'acqua del rubinetto, continuando con il silicio che permea ormai la nostra vita e proseguendo con gli annunci dei nuovi doni che le future tecnologie ci porteranno... doni forse di legno e con la forma di cavallo.

Scrivere a Cassandra - @calamarim
Le profezie di Cassandra: @XingCassandra
Videorubrica "Quattro chiacchiere con Cassandra"
Lo Slog (Static Blog) di Cassandra
Per parlare con Cassandra
L'archivio di Cassandra: scuola, formazione e pensiero

Notizie collegate
  • AttualitàIntel, CPU col bacoUn grave bug di sicurezza mette a rischio gli utenti di PC basati su CPU Intel, soprattutto in ambito virtualizzazione. La patch, in arrivo, potrebbe peggiorare in maniera sensibile le prestazioni. AMD? Gongola: noi immuni
  • AttualitàMeltdown e Spectre, i super-bug dell'hi-techQuello che all'inizio sembrava un problema dei chip di Intel si è rivelato essere una falla "sistemica" dell'intero mercato delle CPU. I bug sono tre, le aziende coinvolte innumerevoli e gli effetti a lungo termine difficili da calcolare
19 Commenti alla Notizia Cassandra Crossing/L'insostenibile inaffidabilità della complessità
Ordina
  • Aneddotica Magazine presenta

    QUATTRO CHIACCHIERE CON CASSANDRA

    Rubrica digitale a cura di Marco Calamari

    cassandra@cassandracrossing.org

    L'insostenibile inaffidabilità della complessità
    Postfazione all'articolo di Punto Informatico

  • Secondo me le architetture complesse vengono utilizzate semplicemente per ridurre i costi. E' il principio delle vecchissime ULA (o dei cartellini del prezzo a 7 segmenti con i segmenti da cancellare): ti compri un circuito "pieno" standard e cancelli quello che non ti serve, configurando il resto.
    Nella maggior parte dei casi, sfruttare un SoC che fa 1000 volte le cose necessarie al progetto specifico costa una frazione rispetto allo sviluppo da zero di un dispositivo su misura. Non parliamo dei casi in cui l'espandibilità stessa della soluzione potrebbe avere un valore non da poco.
    La complessità dei sistemi moderni ci espone a rischi come quelli indicati da Calamari? Vero, ma non esiste soluzione esente da rischi. Io non ci tengo proprio ad usare un termostato controllabile via rete o un frigorifero "intelligente", ma le funzionalità di uno smartphone moderno hanno un'utilità strepitosa nella mia vita di tutti i giorni; non sempre la complessità è un male.
    La mia macchina, come tutte le altre costruite oggi, ha sistemi di assistenza alla guida che la rendono infinitamente più sicura rispetto ad una macchina di 40 anni fa. Certo, una volta c'erano solo dei tubi di liquido incomprimibile che agivano sulle pinze dei dischi, oggi ci sono centraline elettroniche, sensori di velocità della singola ruota, servoassistenza. Cento sistemi che cooperano per una semplice frenata, e basta che uno di essi si rompa perché la sicurezza sia compromessa. Ok, grazie ma io continuo ad apprezzare le macchine di oggi e i loro sistemi di sicurezza, in grado di agire su ogni singola ruota individualmente per controllare la stabilità del veicolo.
    Izio01
    4746
  • forse sarebbe stato meglio imparare a guidare...
    non+autenticato
  • - Scritto da: n&C
    > forse sarebbe stato meglio imparare a guidare...

    Ah scusa, Mr. Più Grande Pilota Dell'Universo.
    Ovviamente tu sei in grado di agire sulle singole gomme per compensare perdite di aderenza localizzate, ad esempio in caso di foratura, come fa l'ABS.
    Ma d'altra parte a cosa serve un sistema di sicurezza evoluto a Te? Guidi talmente bene che potresti anche fare a meno dei freni. Anzi, anche del motore!
    Izio01
    4746
  • Sei figlio della complessità nella quale vivi e ne sei contento.
    Hai argomenti intelligenti e preferenze personali.
    E non ti si può dire che hai torto.
    E' normale.
    Ed è proprio questo il problema.
    Ma è visibile solo a chi si mantiene distaccato.
    non+autenticato
  • Per le cose semplici, magari più utili e costruttive, è stato fatto quasi nulla. Il problema era la capacità di fare qualcosa da parte dell'utente.
    Meglio l'utonto.
    non+autenticato
  • Si chiama diversità: non abbiamo tutti gli stessi geni, proprio per sopravvivere, per esser più forti. Non è diverso per le architetture hw: se ne abbiamo diverse si fanno concorrenza e si migliorano prendendo spunto l'una dall'altra. Così era ai tempi in cui c'era un minimo di diversità: le Alpha, le Sparc, le Power, le HP_PA le MIPS ecc. Così non è più oggi dove c'è solo x86, arm e power ed ognuno nella sua nicchia.
    non+autenticato
  • - Scritto da: xte
    > Si chiama diversità

    Come fai a dire che la diversità oggi non è c'è? Abbiamo POWER, AMD, ARM, Intel, System Z e SPARC. POWER, AMD/Intel, ARM e System Z sono famiglie di processori molto diverse tra loro (anche nelle rispettive architetture dei computer di riferimento). Tutte queste famiglie soffrono dello stesso problema nonostante la loro diversità.

    Qui non è questione di processori diversi ma di implementazioni "carenti" lato sicurezza di algoritmi condivisi sulla esecuzione out-of-order sviluppati fondamentalmente negli anni '60. La soluzione sarebbe non usare gli stessi algoritmi ma, data l'architettura delle CPU utilizzate, secondo me sarebbe molto difficile.

    Tra l'altro PA-RISC, MIPS e Alpha implementavano soluzioni tecniche simili quindi è difficile dire che non sarebbero cadute sullo stesso problema.

    Comunque sulla mia scrivania ho un 486DX2 che pare non abbia problema.Occhiolino
  • Semplice: a casa tua cosa puoi usare di non x86? Vuoi investire 6k/8k euro per una workstation Power8? Poi su questa usi firefox giacché non c'è nessun altro browser moderno per questa architettura?

    Un tempo potevi cambiare *alla pari* una Workstation SUN (Sparc/Solaris) con una HP (HP_PA, vari OS) od una IBM (System P/AiX o GNU/Linux) ecc. erano macchine *analoghe* per analoghi scopi. Oggi questo non c'è più. Oggi le architetture superstiti sono per lo più abbandonate e comunque dedicate a nicchie specifiche nelle quali non han alcun concorrente.

    No, non hai scelta.
    non+autenticato
  • TRA POCO ESCE IL MODELLO NUOVO E TUTTI A COMPRARE
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 9 discussioni)