Plc-malware verspreidt zich zonder tussenkomst pc

Pieter Edelman
9 mei 2016

Duitse beveiligingsonderzoekers hebben plc-malware gepresenteerd die zich zonder tussenkomst van een pc kan verspreiden. Tot nu toe is plc-malware zoals Stuxnet steeds opgezet als regulier pc-virussen die uiteindelijk via de plc-programmeersoftware een payload in de industriële controllers injecteren. Op de Black Hat Asia-conferentie vorige maand lieten Ralf Spenneberg en zijn collega’s echter zien hoe Siemens Simatic S7-plc’s elkaar rechtstreeks kunnen herprogrammeren. Ze denken dat de aanpak ook bruikbaar is voor andere merken en types.

De onderzoekers schreven hun malware in Structured Text, een van de programmeertalen voor de controllers. Om de plc’s elkaar te laten infecteren, bouwden ze de relevante delen van het communicatieprotocol na in de malware. Eenmaal besmet scant een plc voortdurend het netwerk af naar soortgelijke devices door te proberen te communiceren op tcp-poort 102, dat specifiek voor de Siemens-controllers wordt ingezet. Wanneer het systeem hier een reactie op ontvangt, gebruikt die de herprogrammeercommando’s om de malware toe te voegen. Vervolgens wordt het commando gegeven om opnieuw op te starten.

De onderzoekers moesten wel uitkijken dat hun malware de executietijd van een cyclus niet overschrijdt, anders herstart de plc zichzelf. Deze is standaard ingesteld op 150 ms. Om dat op te lossen, voert de malware elke cyclus slechts enkele stapjes uit. Via een toestandsmachine wordt bijgehouden hoe ver het programma gevorderd is.

De onderzoekers doen ook enkele aanbevelingen om de malware te stoppen. Zo kan een firewall ingezet worden om poort 102 te monitoren of te blokkeren. Ook de ongeplande herstart van de plc kan als verdacht worden aangemerkt. Daarnaast kunnen de plc’s op ‘readonly’ worden ingesteld, maar standaard gebeurt dit niet.