Pin kontroll attack

Pin control attack är en klass av attack mot ett system på ett chip (SoC) i ett inbäddat system där en angripare riktar sig mot I/O- konfigurationen av de inbäddade systemen och inaktiverar mjukvaru- eller operativsystems I/O-funktioner utan upptäckt. Attacken är möjlig på grund av bristande hårdvaruskydd för stiftkonfigurationer och stiftmultiplexkonfigurationer .

Det viktigaste målet för en pinkontrollattack är en programmerbar logisk styrenhet (PLC). Tillämpningen av pinkontrollattack på PLC:er är betydande eftersom I/O är den huvudsakliga mekanismen genom vilken PLC:er interagerar med och styr omvärlden. PLC I/O som andra inbyggda enheter styrs av ett stiftbaserat tillvägagångssätt. Pinkontrollattack är en attack där angriparen kan manipulera integriteten och tillgängligheten av PLC I/O genom att utnyttja vissa pinkontrolloperationer och avsaknaden av hårdvaruavbrott som är förknippade med dem.

Det första exemplet på en sådan attack avslöjades först på Black Hat Europe 2016. Pinkontrollattacken använder I/O perifera konfigurationsinställningar för PLC SoC för att fysiskt avsluta I/O-modulens kommunikationsgränssnitt från PLC:n. Genom att rikta in sig på PLC I/O-konfigurationen istället för PLC-körtiden eller ändra logikprogrammet kan angriparna undvika de typiska upptäcktsmekanismerna som finns i inbyggda system.

Bakgrund

Klassiska attacker mot PLC:er är beroende av att modifiera enhetens firmware, dess konfigurationsparametrar eller exekveringsflödet av pågående processer. Dessa typiska attacker utlöser avbrott i PLC:ns normala driftläge, som säkerhetsprogramvaran som IDS plockar upp och varnar den mänskliga operatören. En pinkontrollattack riktar sig mot PLC:ns dynamiska minne, där enheten lagrar sin I/O-konfiguration.

Attackvektorer

Forskarna föreslog minst två varianter av attacken: Pin Configuration Attack och Pin Multiplexing Attack. Även om dessa två attackvektorer agerar olika, är deras koncept liknande och båda avbryter fysiskt I/O från mjukvaruåtkomst utan ett hårdvaruavbrott, vilket förhindrar deras upptäckt.

Pinkonfigurationsattack

En PLC kan ta emot och sända olika typer av elektriska och elektroniska signaler. Ingången, som vanligtvis kommer från sensorer, och utgången, som kan användas för att styra motorer, ventiler eller reläer, är kopplade till in- och utgångsstift på en integrerad krets som kallas ett system på chip (SoC). SoC:s stiftkontroller kan konfigurera lägena för ett stift (dvs. de är inställda för att fungera som ingång eller utgång). Experterna upptäckte att en angripare som har äventyrat PLC:n kan manipulera indata och utdata utan att upptäckas och utan att varna operatörerna som övervakar processen genom ett mänskligt-maskin-gränssnitt (HMI).

Pin multiplexing attack

Inbyggda SoCs använder vanligtvis hundratals stift anslutna till den elektriska kretsen. Några av dessa stift har ett enda definierat syfte. Vissa tillhandahåller till exempel bara el eller en klocksignal. Eftersom olika utrustningsleverantörer med olika I/O-krav kommer att använda dessa SoC:er, producerar SoC-tillverkaren sina SoC:er för att använda ett visst fysiskt stift för flera ömsesidigt exklusiva funktioner, beroende på applikationen. Konceptet med att omdefiniera stiftets funktionalitet kallas Pin Multiplexing och är en av de nödvändiga specifikationerna för SoC-designen. När det gäller interaktionen av Pin Multiplexing med OS, rekommenderas det av SoC-leverantörer att endast multiplexa stiften under uppstarten eftersom det inte finns något avbrott för multiplexing. Användaren kan dock fortfarande multiplexa ett stift under körning och det finns ingen begränsning på det.

Den nuvarande designen av Pin Multiplexing på hårdvarunivå väcker säkerhetsfrågor. Anta till exempel att en applikation använder en viss perifer styrenhet ansluten till ett stift med en speciell multiplexeringsinställning. Vid ett tillfälle ändrar en annan applikation (andra applikationen) multiplexeringsinställningarna för stiftet som används av den första applikationen. När stiftet är multiplexerat, kopplas den fysiska anslutningen till den första kringutrustningen bort. Men eftersom det inte finns något avbrott på hårdvarunivån kommer operativsystemet att anta att den första kringutrustningen fortfarande är tillgänglig. Således kommer operativsystemet att fortsätta utföra skriv- och läsoperationerna som begärs av applikationen utan några fel.

Konceptet med att ändra funktionaliteten hos ett stift anslutet till I/O vid körning kallas Pin Multiplexing Attack.


Smyghet

Både Pin Configuration och Pin Multiplexing utlöser ingen varning eller maskinvaruavbrott. Under en aktiv attack kommer därför PLC-körtiden att interagera med ett virtuellt I/O-minne medan angriparen fysiskt avslutade anslutningen av I/O med virtuellt minne. Tillståndet där I/O-värden i mjukvaruminnet inte återspeglar det fysiska I/O-minnet kallas I/O-minnesillusion.

Se även