Arbejdsstations softwarefejl udsætter industrielle kontrolsystemer for hacking

Den software, der bruges til at programmere og distribuere kode til forskellige industrielle controllere fra Schneider Electric har en svaghed, der kunne give hackere mulighed for fjernt at overtage tekniske arbejdsstationer.

Softwaren, kendt som Unity Pro, kører på pc'er, der bruges af ingeniører og inkluderer en simulator til test af kode, før den implementeres til programmerbare logiske controllere (PLC'er). Dette er de specialiserede hardwareenheder, der overvåger og kontrollerer mekaniske processer - spinding af motorer, åbne og lukke ventiler osv. - inde i fabrikker, kraftværker, gasraffinaderier, offentlige forsyningsvirksomheder og andre industrielle installationer.

Forskere fra det industrielle cybersecurity-firma Indegy fandt, at ikke-godkendte angribere kunne udføre ondsindet kode på Windows-computere, hvor Unity Pro PLC-simulatoren er installeret. Denne kode kører med fejlfindingsrettigheder, der fører til et komplet systemkompromis.

Da Unity Pro typisk er installeret på tekniske arbejdsstationer, ville et kompromis med disse systemer give angribere muligheden for at omprogrammere PLC'er i produktionen og forstyrre kritiske processer. Desuden kunne de give dem adgang til intellektuel ejendom, såsom hemmelige opskrifter på produkter, der fremstilles, og som kan stammer fra de legitime programmer, der er anvendt til PLC'er.

Ifølge Indegy-forskerne åbner Unity Pro PLC-simulatoren en netværkstjeneste på arbejdsstationer, der lytter på en bestemt TCP-port og tillader fjerncomputere at sende kontrolkode, der er pakket i et proprietært format til simulatoren.

Enhver computer, der kan kommunikere med den tekniske arbejdsstation via netværket, kan sende .apx-filer, der skal udføres af Unity Pro PLC-simulator uden godkendelse. Simulatoren understøtter binære formater til forskellige Schneider Electric PLC'er, inklusive dem, der bruger x86-arkitekturen.

Indegy-forskerne fandt, at de kan lave en .apx-fil, der indeholder ondsindede x86-instruktioner, og som Unity Pro-softwaren vil køre i en børneproces.

Problemet er, at denne proces kører med debug-privilegier på Windows, så du kan gøre alt, hvad du vil, til maskinen, sagde Mille Gandelsman, CTO for Indegy. At bryde ud af denne proces er trivielt, fordi der ikke er nogen sandkasse eller kodeisolering, sagde han.

På grund af deres privilegerede position er tekniske arbejdsstationer, hvad Gandelsman kalder kronjuvelerne i industrielle kontrolnetværk. Selv hvis der er firewalls, der adskiller PLC'er fra resten af ​​netværket, vil ingeniørarbejdsstationer altid være hvidlistede og vil være i stand til at kommunikere med dem, fordi det er deres rolle.

I henhold til en Schneider Electric-sikkerhedsrådgivning vedrørende dette spørgsmål er der mindst en begrænsende faktor: angrebet fungerer kun, hvis der ikke er noget andet applikationsprogram, der kører inde i PLC-simulatoren, eller hvis den applikation ikke er beskyttet med adgangskode.

På grund af dette tillader den nyligt frigivne Unity Pro version 11.1 ikke simulatoren at blive lanceret uden et tilknyttet program. Imidlertid "er det op til brugeren at vælge standardprogrammet Unity PRO, der skal lanceres af simulatoren, og at beskytte dette applikationsprogram med en adgangskode," sagde virksomheden i den rådgivende.

Schneider Electric svarede ikke straks på en anmodning om kommentar.

En anden begrænsende faktor er, at en potentiel angriber allerede har brug for adgang til en computer på netværket, der kan kommunikere med Unity Pro's tekniske arbejdsstation i første omgang.

Adgang til en sådan computer kan opnås på flere måder, herunder via malware-angreb, andre sårbarheder og endda ondsindede insidere. Denne sårbarhed fremhæver imidlertid betydningen af ​​korrekt netværkssegmentering, hvor industrielle kontrolaktiver, inklusive tekniske arbejdsstationer, er isoleret fra en virksomheds generelle IT-netværk.

Deltag i Network World-samfundene på Facebook og LinkedIn for at kommentere emner, der er øverste af sindet.