Liam Thorp è un trentaduenne britannico in ottima salute che scrive per il Liverpool Echo. Normalmente dovrebbe
essere in fondo alla lista d’attesa per le vaccinazioni anti-Covid, che vengono
fatte prioritariamente a chi è più avanti negli anni o ha problemi di salute, ma
la
BBC
racconta che gli è arrivato l’invito a vaccinarsi perché risultava clinicamente
obeso. Aveva infatti un indice di massa corporea di
28.000 (ventottomila), quando i valori normali di questo indice
oscillano fra 18 e 24.
Il disguido, che lui stesso racconta qui, è avvenuto perché la sua statura era stata registrata nei sistemi
informatici della sanità britannica immettendo piedi e pollici in un campo
fatto per contenere un valore espresso in centimetri. Thorp è alto 6 piedi e 2
pollici (187 cm), e così qualcuno ha immesso 6,2 (anzi, 6.2 secondo la notazione anglosassone).
Risultato: il sistema ha accettato senza batter ciglio che Thorp avesse una
statura di 6,2 centimetri ed è poi andato a calcolare il suo indice di massa
corporea prendendo il suo peso e la sua statura e ha quindi deciso che il
soggetto era incredibilmente obeso.
Il sistema ha poi preso questo dato di obesità impossibile e lo ha usato come
criterio per l’emissione dell’invito a vaccinarsi.
Thorp l’ha presa bene, ma se il sistema può commettere errori di questo genere
potrebbe anche commetterli nell’altro senso e negare una vaccinazione a chi ne
ha bisogno.
Questo genere di problema tipicamente informatico nasce dal fatto che chi
programma i computer non fa controlli di buon senso sui dati immessi. Un
programma fatto bene non dovrebbe nemmeno accettare una statura di 6,2
centimetri.
Questo tipo di controllo va sotto vari
nomi: input validation o input sanitization sono fra i più
frequenti. La validation consiste nel controllare che in un campo venga
immesso un dato pertinente (per esempio soltanto cifre in un campo destinato
ad accogliere un numero) e sensato (una statura deve avere limiti massimi e
minimi, per esempio).
La sanitization, invece, consiste nel verificare che i dati immessi non
contengano caratteri che possono causare problemi nell’elaborazione successiva
(per esempio qualcosa che possa essere interpretato come comando anziché come
dato).
Può sembrare banale, ma il mancato controllo dei dati immessi è la tecnica
tipica di intrusione nei siti: si chiama SQL injection. Cito in
proposito l’ormai storica vignetta di
xkcd:

