Forskere demonstrerer, hvordan kaprede programmerbare logiske controllere (PLC) kan kompromittere tekniske arbejdsstationer til at tillade lateral adgang.
De fleste angrebsscenarier mod industrianlæg, hvad enten det er i produktionen eller i kritisk infrastruktur, fokuserer på at kompromittere PLC’er for at manipulere med de fysiske processer, som de styrer og automatiserer. En måde at få skadesvoldende kode til at køre på PLC’er er først at kompromittere en arbejdsstation, som ingeniører bruger til at styre og implementere programmer på dem. Dette kan enten bruges til at kompromittere tekniske arbejdsstationer eller åbne døren for kraftige laterale angreb.
Forskere fra industrial control systems (ICS) cybersikkerhedsfirma Claroty beskriver PLC-angreb mod ingeniørsoftware fra syv ICS-producenter: Rockwell Automation, Schneider Electric, GE, B & R, Xinje, OVARRO og Emerson.
“Angrebet er rettet mod ingeniører, der arbejder hver dag på industrielle netværk, konfiguration og fejlfinding af PLC’er for at sikre sikkerheden og pålideligheden af processer på tværs af kritiske industrier som forsyningsselskaber, elektricitet, vand og spildevand, tung industri, fremstilling, og bilindustrien, blandt andre.” fortæller analytikerne
Fra skadelig bytecode til skadelig metadata
En PLC er i det væsentlige en indlejret computer, der styrer maskiner, en fysisk proces eller en produktionslinje. Den har sin egen CPU og kører et operativsystem i realtid (RTOS) med leverandørændringer og en bytecode-tolk. Ingeniører overvåger og programmerer PLC’er fra computere, der er forbundet med dem, ved hjælp af specialiseret ingeniørsoftware, der kan bruges til at skrive logikkoden, kompilere den til et format, som PLC-tolken forstår og dernæst implementere den.
Sammen med den kompilerede bytecode, også kendt som stigelogikken, gemmer PLC’erne en fuld kopi af det udviklede projekt, herunder metadata såsom programnavne og symboler, konfigurationsfiler til hardware og netværk, hukommelseskortlægninger, I / O-indstillinger, variable erklæringer, parametre og kildekoden, som ingeniørerne udviklede. PLC’en har teknisk set ikke brug for alle disse yderligere oplysninger for at fungere, men den er gemt der, så enhver anden ingeniør, der opretter forbindelse til PLC’en, kan få en fuld kopi af projektet, der kører på det, så de kan fejlfinde det eller ændre det.
Det betyder, at ingeniørsoftware ikke kun sender data til PLC’er, men også læser en masse data tilbage og analyserer dem. Historisk set har analyse af data i forskellige formater været kilden til mange hukommelsessårbarheder, og denne sag er ingen undtagelse. Faktisk hævder forskerne, at denne proprietære software ikke blev designet under den forudsætning, at de PLC’er, de opretter forbindelse til, og deres lagrede data kan stole fuldt ud på, så de mangler mange af de sikkerhedskontroller for dataparsing, som en moderne desktop-applikation ville have.
Det betyder ikke, at det er let at finde sårbarheder, da hver leverandør bruger sin egen proprietære kommunikationsprotokol til at skrive og læse data fra deres PLC’er, og projektfilerne gemmes ved hjælp af forskellige emballageformater, nogle af dem også proprietære. Forskerne var nødt til at reverse-engineer disse protokoller og filformater for hver af de analyserede engineering software, så de kunne forstå, hvad og hvordan en angriber kunne ændre det på PLC for at angribe den forbindende arbejdsstation.
Dette resulterede i, at sårbarheder blev opdaget og rapporteret i:
- TwinSoft, den tekniske software, der bruges til OVARROs TBOX-platform
- Automation Studio bruges til B&R’s (ABB) X20-system
- EcoStruxure Control Expert (Unity Pro), der anvendes til Schneider Electrics Modicon PLC’er
- ToolBoxST bruges af GE’s MarkVIe-platform
- Ccw (Connected Components Workbench), der anvendes af Rockwell Automations Micro Control Systems PLC
- PAC Machine Edition brugt af Emersons PACsystems
- XD PLC-programværktøjet, der bruges af Xinjes XDPPro
Fejlene varierede fra stikrydsninger til bunkeoverløb og usikre deserialiseringer, hvilket alt sammen resulterede i vilkårlig kodeudførelse på ingeniørmaskinen.
“For hvert mål / platform forsøgte vi at forstå hele download / upload-mekanismen ved reverse engineering firmwaren og den tekniske arbejdsstationssoftware,”Sagde forskerne i deres papir. “Vores mål var at finde uoverensstemmelser mellem, hvad PLC’en bruger, og hvad den tekniske arbejdsstation bruger. Hvis vi skulle finde sådanne uoverensstemmelser, kunne vi bevæbne PLC’en gennem en skadelig downloadprocedure for at gemme et specifikt udformet stykke data, der ikke påvirker PLC’en, men når det analyseres af ingeniørplatformen, vil det udløse og udnytte en sårbarhed.
Lateral inficering den største risiko
Det mest oplagte mål med et sådant angreb er lateral inficering inde i en organisations operationel teknologi (OT) netværk for at opnå vedholdenhed. Angribere kan kompromittere en teknisk arbejdsstation, der ikke er isoleret fra organisationens generelle it-netværk eller kunne endda bruge en insider til at plante malware på den.
For eksempel menes Stuxnet-ormen, der blev brugt til at ødelægge uranberigelsescentrifuger inde i Irans Natanz-atomkraftværk, at være blevet indsat af en insider, der arbejdede som mekaniker for et tredjepartsfirma, der udførte arbejde på anlægget. Når den først var indsat på en maskine indeni, fandt ormen vej til PLC’erne, der styrede centrifugerne ved hjælp af en kæde af nul-dages udnyttelser og sofistikerede teknikker.
Ikke alle hackere har muligvis Windows Zero-days udnyttelser til rådighed for at opbygge snigende og sofistikeret malware som Stuxnet, så de har muligvis brug for en anden måde at sprede sig gennem netværket, når de formår at inficere en enkelt arbejdsstation eller forgifte projektfilerne på en PLC er en måde at gøre det på.
PLC’er kan også kompromitteres eksternt, fordi mange af dem er forbundet til internettet via forskellige fjernstyringsgrænseflader. Ifølge scanninger på Shodan er der titusinder af SCADA- og PLC-enheder forbundet til internettet. I april 2020 lykkedes det angribere at få fjernadgang til systemer, der bruges til at kontrollere vandbehandling i Israel. I 2021 påvirkede et lignende angreb Oldsmar vandbehandlingsanlæg i Florida.
“Vores forskning tyder på, at angribere kunne bruge de internetvendte PLC’er som et omdrejningspunkt for at infiltrere hele OT-netværket,” sagde Claroty-forskerne. “I stedet for blot at oprette forbindelse til de eksponerede PLC’er og ændre logikken, kunne angribere bevæbne disse PLC’er og bevidst forårsage en fejl, der vil lokke en ingeniør til dem. Ingeniøren, som en metode til diagnostik, vil udføre en uploadprocedure, der vil kompromittere deres maskine. Angriberne har nu fodfæste på OT-netværket.”
Den laterale inficering gennem et Evil PLC-angreb kan endda ske på tværs af organisationer, fordi mange virksomheder er afhængige af tredjeparts systemintegratorer eller entreprenører til at styre deres PLC’er, især dem, der er implementeret på fjerntliggende steder. Hvis angribere kompromitterer en sådan PLC på et mindre sikkert sted og ved, at den betjenes af en systemintegrator eller entreprenør, kan de udløse en fejl i PLC’en for at lokke den rejsende ingeniør til den og derefter kompromittere deres computer. Denne ingeniør vil sandsynligvis derefter oprette forbindelse til OT-netværk fra andre organisationer og sprede den skadelige virus.
På den anden side, den samme angrebsvektor kunne vendes mod potentielle angribere i et honningkrukkelignende scenario, hvor forskere eller organisationer med vilje kunne efterlade en våbeniseret PLC udsat for internettet og se, om angribere målretter mod det. Da angribere skal bruge den samme tekniske software til at interagere med PLC’en, deres egne maskiner kan blive udsat.
“Denne metode kan bruges til at opdage angreb i den tidlige fase af opregningen og kan også afskrække hackere fra at målrette mod internetvendte PLC’er, da de bliver nødt til at sikre sig mod det mål, de planlagde at angribe,” sagde Claroty-forskerne.
Afbødning af skadelige PLC-angreb
Alle de sårbarheder, der er fundet af Claroty-forskerne, er blevet rapporteret til de berørte producenter, der frigav programrettelser eller afbødningsinstruktioner. Implementering af programrettelser i OT-netværk kan dog være en langsom proces. Forskerne anbefaler, at organisationer implementerer klientgodkendelsesmekanismer, hvor de er tilgængelige, så PLC’en verificerer identiteten af hver teknisk arbejdsstation, der opretter forbindelse til den, og kan acceptere forbindelser fra kun specifikke systemer.
Netværkssegmentering og hygiejne, hvor forskellige segmenter af netværket, der ikke behøver at tale med hinanden, er isoleret, er også meget vigtigt. Aktivering af trafikkryptering og godkendelse af offentlige nøgler mellem PLC’er og tekniske arbejdsstationer, hvor det er muligt, er også en god praksis samt generel overvågning af netværkstrafik for mistænkelige forbindelser.
Kilde: CSOonline
Foto: Pexels