La differenza tra flaw e bug: perché entrambi sono pericolosi e in cosa si distinguono

L'ultimo caso che riguarda i dispositivi Apple, ci obbliga a una distinzione tra queste due tipologie di "errori" di programmazione

11/09/2023 di Enzo Boldi

Fanno parte della stessa famiglia di “errori” o “difetti” nel gergo informatico, ma hanno delle differenze strutturali che rischiano di provocare gravissime vulnerabilità nei nostri dispositivi. Dai telefoni, ai tablet, passando per i pc. L’ultima vicenda riguarda uno dei più famosi produttori di device: Apple. Nei giorni scorsi, infatti, è stato rilasciato un aggiornamento urgente per correggere questi problemi che, come confermato dai ricercatori di Citizen Lab, hanno reso gli smartphone (e non solo) di Cupertino a rischio spyware. Non si tratta, però, del classico bug. Per questo motivo, occorre spiegare cosa è un flaw e perché è pericoloso tanto quanto un bug.

LEGGI ANCHE > Il nuovo flaw di Apple che è stato sfruttato da uno spyware di NSO

Partiamo dalla definizione. Come spiega il vocabolario del portale Computer Hope, il significato di “flaw” non sembra essere molto differente da quello di bug:

«È un termine che descrive un problema esistente in un programma software. Un difetto (flaw) è un rischio per la sicurezza, causa l’arresto anomalo del programma o causa altri problemi. Per risolvere i difetti, lo sviluppatore del software rilascia aggiornamenti o patch che aggiornano il codice e correggono il problema». 

Questo, però, è uno specchio solamente parziale che ci aiuta solamente a identificare l’esistenza di un problema strutturale all’interno della programmazione informatica di un software. Proviamo, dunque, a capire cosa è un flaw e in cosa si differenzia da un bug.

Cosa è un flaw e in cosa si distingue da un bug informatico

Un bug fa, infatti, parte della famiglia dei flaw (falla o difetto, in italiano), che può comportare il malfunzionamento di un sistema operativo, di un software o di un device. Proviamo a fare alcuni esempi sul come potrebbe essere provocato un bug:

  • Un errore di logica che potrebbe provocare un risultato errato;
  • Un errore di sintassi che potrebbe causare un crash del programma o del sistema;
  • Un errore di memoria che potrebbe provocare la perdita di dati.

La natura, dunque, è nella fase di programmazione e di scrittura di un codice. Quindi, si fa riferimento a un livello tecnico (che può provocare un malfunzionamento), ma non strutturale. Quando si parla di flaw, invece, il riferimento è a una sfera “più elevata” all’interno della gerarchia di programmazione:

  • Un errore di progettazione che potrebbe rendere il sistema vulnerabile agli attacchi informatici (di qualunque tipo);
  • Un bug hardware che potrebbe provocare diversi malfunzionamenti del sistema, aumentando il rischio di esposizione;
  • Una cattiva progettazione che potrebbe rendere il sistema difficile da mantenere al sicuro.

Stessa famiglia, dunque, trattandosi di falle nel sistema provocate da errori alla base del linguaggio di programmazione o di stesura di un codice. Ed è proprio questo il caso di Apple, scoperto dai ricercatori di Citizen Lab che hanno immediatamente segnalato questa vulnerabilità all’azienda di Cupertino che, in risposta, ha immediatamente rilasciato (come da protocollo) un aggiornamento (iOS 16.6.1).

Classificazione e identificazione

Viste le similitudini, bug e flaw vengono spesso confusi quando si fanno segnalazioni o si riportano eventi come quello che di recente ha coinvolto i dispositivi Apple (con uno spyware della NSO nel mirino). Le differenze, però, sono sostanziali, perché un flaw ha un livello di rischio molto più elevato rispetto a un bug. Per esempio, un difetto di questo tipo può portare al malfunzionamento del sistema, all’accesso non autorizzato al sistema, alla conseguente violazione della privacy e, infine, anche alla perdita dei dati personali contenuti all’interno di un dispositivo ad alta vulnerabilità a causa di un flaw.

Share this article
TAGS