Etikettarkiv: SCADA

10000 industriella kontrollsystem kopplade till Internet

Ett argument som ofta framförs när det gäller säkerhet för industriella kontrollsystem (på engelska ofta kallade ICS och SCADA) är att det inte finns några riktiga problem, detta för att systemen är isolerade och inte är kopplade till externa nätverk – exempelvis till Internet. Populära isolerande skyddmetoder är så kallade luftgap (på engelska air gap) samt datadioder. Med luftgap avses att det inte finns någon elektrisk förbindelse mellan kontrollsystemets nätverk och andra nätverk. Med datadioder avses mekanismer som gör att  trafiken i nätverket bara kan flöda åt ett håll.

Datadiod

Figuren visar hur en datadiod är tänkt att figuren. Notera att figuren egentligen är åt fel håll. Detta för att datadioder används för att isolera system som hanterar känslig information och där vill man inte att information ska läcka ut. I ett kontrollsystem är det oftast precis tvärt om som är intressant. Det går att skicka över mätdata från kontrollsystemet, men det går inte att skicka styrkommandon till kontrollsystemet. Leverantörer av industriella säkerhetssystem kräver ofta att deras utrustning ska skyddas genom isolering. Men hur fungerar det i verkligheten, och är detta egentligen bra och robusta metoder att hantera säkerhetsproblem?

Wireds säkerhetsblogg Threat Level rapporterar om resultat som säkerhetsforskaren Eireann P. Leverett nyligen presenterade som visar att det finns industriella kontrollsystem kopplade till Internet, mer exakt har Leverett hittat fler än 10000 stycken! Genom att använda nätverksscannern Shodan har Leverett letat efter kända industriella ontrollsystem, och även kunnat identifiera vilka versioner av system som används. Leverett har sedan mappat dessa i en fin graf över världen som visar var systemet finns:

Everetts graf som visar var olika industriella kontrollsystem finns och deras svagheter.
ICS med versioner och dess svagheter.

Av de system Everett hittade visade sig bara 17% över huvud taget använda någon form av enklare accesskontroll, exempelvis lösenord! Undersökningen är en del av den avhandling Everett arbetat med och för den som vill veta mer om Everetts undersökning finns hans avhandling Quantitatively Assessing and Visualising Industrial System Attack Surfaces hos Wired.

Jag anser att resultaten Everett presenterat visar att bara använda isolering som enda säkerhetsmetod för sitt industriella kontrollsystem inte ger ett adekvat skydd. I stora, komplexa kontrollsystem med tusentals mät- och styrnoder finns det stor risk att effektivisering, krav på snabb problemlösning, underhåll utfört av tredje part eller misstag leder till att hela eller delar av systemet kan exponeras mot omvärlden under kortare eller längre tid. Någon kopplar in ett GSM-router för att kunna övervaka en nod som sitter taskigt till rent fysiskt. En leverantör behöver möjlighet att få diagnostik. En del av systemet kopplas temporärt in på kontorsnätet. I dag är det inte heller nyfikna personer som sitter och för hand letar efter märkliga maskiner på Internet. Istället är det robotar, automatiska scannerverktyg som Shodan som periodiskt scannar av Internet. Risken att det exponerade systemet blir upptäckt är därför mycket större än man kanske tror.

Istället bör man räkna med att sitt industriella kontrollsystem kommer att kunna exponeras på olika sätt och börja ställa krav på säkerheten hos de noder och maskiner som är inkopplade i nätet. Att använda isolering är bra, men det bör kompletteras med säkerhet på djupet. Och om det nu finns kommunikationskanaler ut ska dom självklart använda vettiga autenticeringsmekanismer. Att 87% av de system Everett hittade inte ens har lösenordsskydd är väldigt skrämmande.

För den som ändå tror på isolering som fungerande metod bör studera Stuxnet-attacken. Där var kontrollsystemet isolerat. Men det som inträffade var att någon, avsiktligt eller oavsiktligt kopplade in ett USB-minne eller laptop och därmed infekterade systemen innanför luftgapet. Att tekniker tar med sig mätverktyg, laptops när dom ska lösa problem och kopplar in dessa i systemet borde knappast vara otänkbart scenario. Självklart ska det ställas krav på utrustningen som kopplas in, exempelvis uppdaterat virusskydd, men säkerheten måste även finnas inne i kontrollsystemet.

MQTT – ett nytt protokoll för Internet of Things

Förra veckan meddelade IBM att dom skulle donera ett nytt protokoll till Eclipse Foundation. Protokollet MQTT  (MQ Telemetry Transport) är ett transportprotokoll avsett för meddelanden till och från små Internetkopplade enheter (Internet of Things – IoT).

Vad gäller framtidens Internet tror många – Ericsson, Cisco inte minst att antalet uppkopplade enheter kommer att öka drastiskt, och domineras av saker runt omkring oss. Glödlampor, kylskåp, hissar, dörrar, tvättmaskiner och bilar är bara några exempel på prylar som nämns som tänkbara IoT-saker.

Ericssons vision om Internet of Things-utvecklingen
Ericssons vision om Internet of Things-utvecklingen

Men för att detta ska gå att genomföra måste den intelligens som behöver byggas in i alla dessa prylar vara så kompakt och billig att det inte tillför kostnader. Kostnader såväl vid inköp som användning. Detta ställer stora krav på den tekniska implementationen i alla dess delar för att bli så billig, liten och energisnål som möjligt. Det som krävs är väsentligen:

  • Någon slags strömkälla. I vissa fall kan detta ske genom extern matning. Ett bra exempel är passiva RDID-brickor där avläsaren tillför den ström som krävs. Det pågår även mycket forskning om energy harvesting, vilket innebär olika tekniker att fånga in energi från omgivningen – exempelvis från ljus, rörelser, temperaturskillnader.
  • En kommunikationskanal – oftast en radio, men även enklare trådbunden kommunikation.
  • Eventuella sensorer – om det är så att prylen ska kunna rapportera sitt tillstånd, inte bara en identitet. Tänk en glödlampa där man troligen vill kunna veta inte bara vilken glödlampa det är, utan om den lyser eller inte. Eller om den är trasig.
  • En digital intelligens. Väsentligen en liten processor som implementerar de protokoll, kommandon och funktioner som krävs för att rapportera status, skicka larm ta emot förfrågningar och kommandon som krävs för att göra prylen till en IoT-pryl.
Det MQTT försöker göra är att förenkla kommunikationsprotokollen för att utbyta meddelanden.
MQTT är inte helt nytt. Två tidigare protokoll, SCADA protocol och MQ Integrator SCADA Device Protocol (MQIsdp) är samma sak som MQTT.
Säkerhetsmässigt innehåller MQTT stöd för att skicka lösenord(!). Men för att sökra sessionen föreslår MQTT-teamet att använda SSL.
I samband med donationen bildar Eclipse en arbetsgrupp runt M2M och pressreleasen beskriver syftet med arbetsgruppen närmare.
The Eclipse Machine-to-Machine Industry Working Group and the related open source projects will enable customers to integrate physical world systems into their enterprise solutions,” said Dr. Angel Diaz, vice president, software standards, IBM Software Group. “Data is being captured today as never before, the Eclipse M2M initiative helps expand the spectrum of information and intelligence into the systems and processes that make the world work and become a smarter planet.”
För den som vill veta mer om MQTT finns det massor att läsa, både på MQTT.org. Bland annat finns specifikationen för version 1.3 av MQTT-protokollet (fast specen ligger faktiskt hos IBM). Specifikationen listar några egenskaper med MQTT:
  • The publish/subscribe message pattern to provide one-to-many message distribution and decoupling of applications
  • A messaging transport that is agnostic to the content of the payload
  • The use of TCP/IP to provide basic network connectivity
  • Three qualities of service for message delivery:
    • ”At most once”, where messages are delivered according to the best efforts of the underlying TCP/IP network. Message loss or duplication can occur. This level could be used, for example, with ambient sensor data where it does not matter if an individual reading is lost as the next one will be published soon after.
    • ”At least once”, where messages are assured to arrive but duplicates may occur.
    • ”Exactly once”, where message are assured to arrive exactly once. This level could be used, for example, with billing systems where duplicate or lost messages could lead to incorrect charges being applied.
  • A small transport overhead (the fixed-length header is just 2 bytes), and protocol exchanges minimised to reduce network traffic
  • A mechanism to notify interested parties to an abnormal disconnection of a client using the Last Will and Testament feature
Jag vet inte riktigt hur jag ska ställa mig till MQTT. Att det kommer fram protokoll som gör det enklare (billigare) att implementera maskin-maskin-kommunikation (M2M) och IoT är bra. Det behövs definitvt och protokoll och säkerhetesmekanismer behöver anpassas för att möta de hårda kostnads- och enkelhetskrav dessa prylar ställer.Men jag svårt att se vad som fundamentalt förändras med MQTT. Vad gäller själva säkerheten lämnar protokollet över detta till SSL (och TLS – förhoppningsvis). Men dessa säkerhetsprotokoll är i sig så komplexa och dyra att implementera att kostnaden för transport- och meddelande-protokollet blir marginell.
Vidare blir jag tveksam till varför IBM väljer att donera MQTT till Eclipse Foundation. Eclipse Foundation gör en massa vädligt bra saker och har iaf ett projekt riktat mot M2M (Koneki). Men deras huvudfokus är knappast Internet of Things, och inte heller kommunikationsprotokoll. Varför donerades detta inte till IETF, W3C eller en ren SCADA- eller , M2M-organisation?
Uppdaterad 2011-11-14
Som Jonas påpekar nedan används MQTT av Facebook som del av deras meddelandetjänst. Lucy Zhang, utvecklare på Facebook beskriver deras erfarenhet av MQTT:
One of the problems we experienced was long latency when sending a message. The method we were using to send was reliable but slow, and there were limitations on how much we could improve it. With just a few weeks until launch, we ended up building a new mechanism that maintains a persistent connection to our servers. To do this without killing battery life, we used a protocol called MQTT that we had experimented with in Beluga.
MQTT is specifically designed for applications like sending telemetry data to and from space probes, so it is designed to use bandwidth and batteries sparingly. By maintaining an MQTT connection and routing messages through our chat pipeline, we were able to often achieve phone-to-phone delivery in the hundreds of milliseconds, rather than multiple seconds.

Två artiklar om Stuxnet

Elektroniktidningen har publicerat två artiklar om datormasken Stuxnet. Den första artikeln är en bra intervju med David Lindahl på FOI.

David Lindahl
David Lindahl

I intervjun pratar David om säkerheten hos industriella kontrollsystem (kallar ICS eller SCADA) och pbland annat att:

Styr- och driftsäkerhet är mycket bra. Men säker­het mot antagonister är inte ens dålig – den saknas i scadasystemen. Tidigare har scadasystem suttit avskilda. Men nu kopplas nät allt oftare ihop, med eller utan brandväggar, och då blir det problem.

Den andra artikeln innehåller några kommentarer från mig om Stuxnet. Det jag ser som ett stort problem med Stuxnet är att den ses som ett exempel på en digital version av smarta bomber och framtidens cyberkrig. Bomber som kan slå ut specifika mål. Men det är rätt stor skillnad mellan Stuxnet och en riktig bom (smart eller ej) och jag är rädd att dom som släppte lös Stuxnet antingen inte insåg det, eller mycket väl insåg det men tyckte att den potentiella kortsiktiga vinsten var viktigare.

Rent krasst, Stuxnet är inte en burk med högexplosiva ämnen som antänds. Stuxnet är ett program som lagras på media och exekveras av processorer. Bomben kan byggas i hemlighet, skickas på sitt mål och när den exploderar omvandlas den till energi. Stuxnet pillar på fysiska processer och kan ev försöka radera sig själv och gömma sig i digitala miljöer. Men den finns där och när Stuxnet inte körs är den en fil precis som andra filer. En fil den som skapade den, den som är måltavlan och alla andra kan titta på. Att släppa lös Stuxnet innebär att släppa lös kunnandet som krävdes för att bygga Stuxnet. Inte alls speciellt smart.

Den typ av ramverk för elak kod för ICS, SCADA-system jag nämner finns i dag. Ett sådant är Agora SCADA+ Pack. Riktigt intressant att avända för den som utvecklar, installerar och driftar denna typ av system. Och tyvärr även för den som vill attackera systemen.

För det finns en sak Stuxnet och denna typ av ramverk (och Metasploit) har gemensamt med en riktig bomb. När väl vapnet/bomben är utvecklad behövs inte samma kompetens för att använda vapnet. Och Agora, Metasploit, till skillnad från fysiska vapen är mycket, mycket enklare att skapa kopior.

Debatt om sårbarheten hos samhällsviktig IT-struktur

På SvD Brännpunkt publicerades en artikel av Fredrik Ljunggren från säkerhetsföretaget Kirei.

Fredrik Ljunggren
Fredrik Ljunggren.

Fredrik skriver om sårbarheten hos samhällsviktig IT-struktur. Poängen Fredrik gör i sin artikel är att då det saknas såväl lagmässiga krav på säkerhet för dessa system som kompetens och metoder för att kravställa på säkerhet vid upphandling och effektivt hantera incidenter. Fredrik skriver:

En stor mängd samhällsviktig IT-infrastruktur saknar effektivt skydd mot IT-angrepp. Särskilt tydligt blir det i kommunal verksamhet, som till exempel vattenförsörjning och fjärrvärme. Här saknas ofta både kunskap och resurser för att stärka motståndskraften mot IT-angrepp, och det finns heller inga affärsrisker eller verksamhetskrav som driver på arbetet.

Den myndighet som ansvarar för området är Myndigheten för Samhällsskydd och Beredskap (MSB), Fredrik ser dock inte att MSB i dag gör det jobb som krävs:

SB har utarbetat en gammal hederlig femårsplan som de kallar ”strategi för samhällets informationssäkerhet 2010-2015”, och som ges ut i form av en glättig fyrfärgsbroschyr. I strategin saknas dock helt konkreta mål, och undermeningen tycks vara att om vi bara pratar med varandra så löser sig allt av sig självt. Detta strutsbeteende riskerar att leda till att vi möter ytterligare ett förlorat decennium vad gäller säkerhet och mognad i samhällsviktig IT-infrastruktur.

Det Fredrik ser behöver göras är istället att driva på konkreta riktlinjer och krav samt se till att de efterlevs:

Reglering och juridiska verktyg i all ära, men Sverige behöver gå i bräschen för att utforma europeiska riktlinjer för IT-säkerhet i styrsystem, och ställa konkreta krav på alla verksamheter som kan betecknas som samhällsviktiga.

Fredrik har även kompletterat artikeln med en kommentar på Kireis webbplats.

Även om jag inte är säker på om den hotbild (dvs vem som utgör hotet) stämmer, men Jag håller med Fredrik om det grundläggande problemet. Jag ser en trend mot ökad uppkoppling av SCADA-system till administrativa system, och då ofta över Internet med hjälp av radio. Det finns många goda effektivitets- och kostnadsskäl för detta. Men det är sällan förändringar i särkerheten för systemen diskuteras och hanteras när detta sker.