Pin control attack - Pin control attack

L'attacco con controllo pin è una classe di attacco contro un sistema su un chip (SoC) in un sistema integrato in cui l'attaccante prende di mira la configurazione I / O dei sistemi incorporati e disabilita le funzioni di I / O del sistema operativo o del software senza rilevamento. L'attacco è facilitato dalla mancanza di protezione hardware per la configurazione dei pin e le configurazioni di multiplexing dei pin .

L'obiettivo più significativo per l'attacco di controllo pin è un controllore logico programmabile (PLC). L'applicazione del pin control attack sui PLC è significativa perché l'I / O è il meccanismo principale attraverso il quale i PLC interagiscono e controllano il mondo esterno. Gli I / O PLC come altri dispositivi embedded sono controllati da un approccio basato su pin. L'attacco di controllo pin è un attacco in cui l'autore dell'attacco può manomettere l'integrità e la disponibilità dell'I / O del PLC sfruttando determinate operazioni di controllo pin e la mancanza di interrupt hardware ad esse associati.

La famiglia dell'attacco è stata presentata per la prima volta al Black Hat Europe 2016. L'attacco con controllo pin utilizza le impostazioni di configurazione della periferica I / O del SoC del PLC per terminare fisicamente l'interfaccia di comunicazione del modulo I / O dal PLC. Prendendo di mira la configurazione I / O del PLC anziché il runtime del PLC o modificando il programma logico, gli aggressori possono evitare i tipici meccanismi di rilevamento presenti nei sistemi integrati.

sfondo

Gli attacchi classici contro i PLC si basano sulla modifica del firmware del dispositivo, dei suoi parametri di configurazione o del flusso di esecuzione dei processi in esecuzione. Questi attacchi tipici innescano interruzioni nella normale modalità di funzionamento del PLC, che il software di sicurezza come IDS rileva e avvisa l'operatore umano. Pin Control Attack prende di mira la memoria dinamica del PLC, dove il dispositivo memorizza la sua configurazione I / O.

Vettori di attacco

I ricercatori hanno suggerito almeno due varianti dell'attacco denominate Pin Configuration Attack e Pin Multiplexing Attack. Sebbene questi due vettori di attacco agiscano in modo diverso, il loro concetto è simile ed entrambi terminano fisicamente l'I / O dall'accesso al software senza che il software se ne accorga a causa della mancanza di interrupt hardware per I / O Multiplexing e I / O Configuration.

Pin multiplexing attacco

I SoC integrati di solito impiegano centinaia di pin collegati al circuito elettrico. Alcuni di questi pin hanno un unico scopo definito. Ad esempio, alcuni forniscono solo elettricità o un segnale di clock. Poiché diversi fornitori di apparecchiature con requisiti di I / O diversi utilizzeranno questi SoC, il produttore del SoC produce i suoi SoC per utilizzare un determinato pin fisico per più funzionalità che si escludono a vicenda, a seconda dell'applicazione. Il concetto di ridefinizione della funzionalità del pin si chiama Pin Multiplexing ed è una delle specifiche necessarie del design SoC. Per quanto riguarda l'interazione del Pin Multiplexing con il sistema operativo, si consiglia dai fornitori di SoC di multiplexare solo i pin durante l'avvio poiché non ci sono interruzioni per il multiplexing. Tuttavia, l'utente può ancora multiplexare un pin in fase di esecuzione e non ci sono limiti a questo.

L'attuale design del Pin Multiplexing a livello hardware solleva questioni di sicurezza. Ad esempio, si supponga che un'applicazione utilizzi un particolare controller periferico collegato a un pin con una particolare configurazione di multiplexing. Ad un certo punto un'altra applicazione (seconda applicazione) cambia la configurazione di multiplexing del pin utilizzato dalla prima applicazione. Una volta che il pin è multiplexato, la connessione fisica al primo controller periferico viene scollegata. Tuttavia, poiché non ci sono interruzioni a livello hardware, il sistema operativo presume che il primo controller periferico sia ancora disponibile. Pertanto, il sistema operativo continuerà a eseguire le operazioni di scrittura e lettura richieste dall'applicazione senza errori.

Il concetto di cambiare la funzionalità di un pin connesso all'I / O in fase di runtime è chiamato Pin Multiplexing Attack.

Attacco alla configurazione dei pin

Un PLC può ricevere e trasmettere vari tipi di segnali elettrici ed elettronici. L'ingresso, che tipicamente proviene da sensori, e l'uscita, che può essere utilizzata per controllare motori, valvole o relè, sono collegati ai pin di ingresso e uscita su un circuito integrato noto come sistema su chip (SoC). Il controller pin del SoC può configurare le modalità di un pin (cioè sono impostati per servire come input o output). Gli esperti hanno scoperto che un utente malintenzionato che ha compromesso il PLC può manomettere l'input e l'output senza essere rilevato e senza allertare gli operatori che monitorano il processo attraverso un'interfaccia uomo-macchina (HMI).

Furtività

Sia la configurazione dei pin che il multiplexing dei pin non attivano alcun avviso o interruzione hardware. Pertanto, durante un attacco attivo, il runtime del PLC interagirà con una memoria I / O virtuale mentre l'aggressore ha terminato fisicamente la connessione dell'I / O con la memoria virtuale. Lo stato in cui i valori I / O nella memoria software non riflettono la memoria I / O fisica è noto come illusione della memoria I / O.

Guarda anche

Riferimenti