Kategoriarkiv: SCADA

Knäckta satellitkrypton och hemliga algoritmer

Ars Technica skriver om hur forskare i Tyskland lyckats knäcka krypton som används vid satellitkommunikation.

Satellitkommunikation

Eftersom signalen från en satellit täcker så stora ytor är det enkelt att fånga in signalen. För att skydda samtal från avlyssning krävs därför ett bra konfidentialitetsskydd – ett bra krypto.

Det är den internationella standardriseringsorganisationen ETSI som specificerat både kryptona GMR-1 och GMR-2 kryptona samt hur dom ska användas. Hur dom ska användas är öppen information, men själva kryptona är hemliga. ETSI skriver i sin specifikation (pdf):

The internal specification of algorithm A5-GMR-1 is managed under the responsibility of the GSC; it will be made available in response to an appropriate request

Att algoritmerna är hemliga hindrade dock inte forskarna. Genom hacka sönder uppdateringsfiler av programvaran till telefoner samt genom att analysera trafiken vid användande av satellittelefoner från Thuraya och Inmarsat kunde forskarna räkna ut hur algoritmerna fungerar.

Forskarnas analys visar att det skydd kryptona ger är så svagt att det finns en klar risk att satellitbaserad trafik inklusive samtal går att avlyssna. I artikeln Don’t Trust Satellite Phones: A Security Analysis of Two Satphone Standards skriver forskarna:

In this paper, we analyze the encryption systems used in the two existing (and competing) satphone standards, GMR-1 and GMR-2.

We were able to adopt known A5/2 ciphertext-only attacks to the GMR-1 algorithm with an average case complexity of 2**32 steps. With respect to the GMR-2 cipher, we developed a new attack which is powerful in a known-plaintext setting. In this situation, the encryption key for one session, i.e., one phone call, can be ecovered with approximately 50–65 bytes of key stream and a moderate computational complexity.

A major finding of our work is that the stream ciphers of the two existing satellite phone systems are considerably weaker than what is state-of-the-art in symmetric cryptography.

(På forskarnas egna webbplats finns mycket mer information.)

Forskarnas bedömning är att eftersom det skulle kosta så mycket att byta algoritmer kommer dessa inte att ändras. Istället rekommendrar dom att betrakta kommunikationen som öppen och sedan komplettera med ytterligare lager av skydd. Tyvärr kostar dessa extraskydd kapacitet i en förbindelse som redan har ganska begränsad kapacitet. Dessutom kan dessa skydd införa ökad fördröjning och andra trafikala problem. Inmarsat, som även är operatör av satellitkommuninkation har över än så länge inte kommenterat eller gett några officiella råd till sina kunder.

Tyvärr är detta inte första gången ett hemligt krypto visat sig vara svagt och långt ifrån vad man kan förvänta sig av ett krypto som används i befintliga system. I smarta kort av MiFare Classic-typ, som bland annat används för betalning i publika transportsystem i Göteborg och Stockholm, finns ett hemligt krypto kallat Crypto-1. Trots att kryptot var hemligt lyckades forskare klura ut både hur kryptot fungerar, och att dess säkerhet var i stort noll.

Keeloq är ett krypto som används i elektroniska bilnycklar av i stort sett samtliga stora biltillverkare. Även detta krypto var hemligt och även här lyckades forskare räkna ut hur det fungerar samt visa på kryptots monumentala brister.

För ETSI är forskarnas nya resultat ännu ett misslyckande. Deras kryptostandarder för DECT, GSM, 3G och satellitkommunikation har alla visat sig ha stora brister. När det kommer till kryptoalgoritmer är det frågan om ETSI lever upp till sin devis World Class Standards.

Att hålla informationen om vilka kryptografiska algoritmer du använder hemliga är inte ett problem. Du kan helt enkelt strunta att berätta det. Problemet är om säkerheten hos ditt system beror av att denna information är hemlig.

Information som om den kommer ut kan skada din verksamhet ställer krav på skydd som kostar pengar. Du behöver införa mekanismer och metoder för att begränsa tillgången. Skyddet behöver dessutom övervakas så att du vet att det faktiskt fungerar.

Dessutom bör du ta fram en plan för hur du ska agera om informationen trots allt kommer ut. När hemligheten kommit ut måste den troligen bytas ut, alternativt att du måste kasta in handduken och införa andra skyddsåtgärder så som forskarna nu föreslår att användare av satellitkommunikation bör göra. Att byta algoritm kan bli väldigt kostsamt. Är det en algoritm som används i inbyggda system som tillverkas i stora volymer, används i fält och har lång livslängd är innebär bytet eventuellt att du måste byta ut hela systemet.

Hade din hemlighet istället bara varit en kryptonyckel hade bytet troligen handlat om att byta ut en sträng på 16, 32, 64 tecken eller liknande. Säkerheten sitter i nyckeln. Den är allt du egentligen ska behöva skydda.

Bra kryptoalgoritmer försvagas inte av att informationen om hur dom fungerar är känd. Tvärt om beror vår tillit på algoritmerna just av öppenheten. Algoritmen som utgör blockkryptot AES undersöktes ett stort antal gånger på olika sätt innan den accepterades som standard. Och AES fortstt under kontinuerlig undersökning. Det finns generationer av forskare som fixat sin hatt eller årets publiceringar genom att försöka hitta på nya sätt att vara elak mot AES.

Ju fler undersökningar som en algoritm står emot desto större tillit vågar vi sätta till den. Och det är öppenheten, tillgängligheten som gör dessa undersökningar möjliga.

I jämförelse med en öppen algoritm undersöks en hemlig algoritm mer sällan. Dessutom sker undersökningen oftast under en begränsad tid. När en hemlig algoritm bedömts som säker tas den i bruk och sedan sker sällan omvärdering av algoritmens säkerhet.

Det finns användare av hemliga algoritmer som vet vad dom gör, som har den spetskompetens som krävs att göra en bra bedömning. Men när erkända kryptoforskare som medlemmarna i ETSIs säkerhetsgrupp SAGE gör fel och försvagar snarare än förstärker en algoritm (som är fallet med KASUMI, byggt på MISTY-1) är det inte självklart att även en enskild grupp med aldrig så skarpa experter gör en bra bedömning. Den mekanism som har störst chans att ge bra algoritmer är öppna processer med många, oberoende tester över lång tid. Att skynda långsamt och kontinuerligt ompröva resultat.

AES togs fram genom en sådan process, strömkryptona i eSTREAM togs fram genom en sådan process och kommande hashfunktionen SHA-3 tas fram på detta sätt. Det finns inga garantier att detta ger säkra algoritmer, det visar bland annat eSTREAM där några krypton i dag är knäckta. Men detta är den bästa metod vi har i dag och det är en process som förbättras för varje iteration.

Även ETSI verkar till slut ha lärt sig av alla sina misstag och i arbetet med den senaste standarden ZUC har det faktiskt organiserats seminarier, workshops, diskussionsforum på nätet och varit en mycket mer öppen process (även om det finns mindre öppna designval även i ZUC).

Om du oroar dig för att någon ska veta hur ditt system fungerar så strunta att berätta vilket krypto du använder. Men hitta inte på egna algoritmer, utan använd öppna, etablerade standarder som stått emot granskning under lång tid. Gör du det är nyckeln till kostnadseffektiv,fungerande säkerhet din kryptonyckel.

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.

Säkerhet och management av miljarder Internetsaker

Ett av det mest intressanta trenderna tycker jag är Internet of Things – tanken att enkla saker ges en enkel, digital intelligens, kopplas upp på Internet och blir en del av informationsflödet. Att koppla upp allt på nätet och därmed göra det möjligt att övervaka och styra ger helt nya möjligheter.

Att exempelvis kunna läsa av och styra enskilda lampor i kontor och fabriker gör det möjligt att optimera ljussättning och därmed energianvädningen mycket mer exakt än idag. Cisco har gjort en mycket snygg illustration som förklarar Internet of Things.

Samtidigt, för att detta ska gå att genomföra behöver vi kunna lita på att de saker vi pratar med verkligen är de saker vi tror att det är. Vi behöver även kunna lita på den information som sakerna skickar. Och dessutom måste det gå att begränsa access till sakerna så att bara den som har rätt att styra sakerna får göra det. Vad det handlar om är klassisk IT-säkerhet och client-server-management – men för miljarder av enheter i komplexitet, noll kronor i kostnad och utan att förbruka energi.

Detta låter inte precis enkelt – och det är kanske till och med omöjligt. Naturligtvis kan inte kostnad och energiförbrukning vara exakt noll. Den forsknings- och ingengörsmässiga utmaningen är att hitta mekanismer (protokoll, system, komponenter) kapabla att skala upp till den komplexitet som det stora antalet enheter ställer, men där den lokala komplexiteten (per enhet) är så låg att den möter kostnads- och energibudget. För inbyggda system, och speciellt där det är systemet som skall läggas till en så enkel sak som en lampa, är kostnaden väsentligen noll. Det enda som räknas är funktionaliteten – och säkerhet är inte en del av funktionaliteten, den är bara ett sätt att säkra funktionaliteten.

Jag tycker dock att det låter utmanande, extremt lockande och jag ser att lösa dessa utmaningar är nyckeln till att visioner som Ericssons 50 Billion Connected Devices 2020 ska kunna lyckas. (Tyvärr ser jag inte att Ericsson pratar om dessa utmaningar i sin presentation, men den handlar i första hand om att sälja in visionen – inte beskriva vad som krävs).

En viktig komponent i säkerhetskedjan är tillgången på bra krypton. Nu vill jag direkt säga en sak: Jag stöter ofta på fall där man av olika skäl kommit fram till att systemet och affären runt systemet (produkten och eller tjänsten) kräver någon form av skydd. Och att man därför landat i att man behöver kryptera. Oftast har man dessutom tagit ett steg till och valt AES-256 som kryptolösning. Inte sällan är detta fel.

Hur kan det vara fel, undrar du säkert? Om vi tar glödlampan som exempel igen. Hur viktigt är det att någon utomstående vet att lampa med ID-nummer 31415926535 är tänd eller släkt – vad skulle kunna hända om den informationen kom i orätta händer? Det kan säkert finnas scenarion där det kan vara viktigt.

Det som är antagligen är mycket viktigare är att veta att statusinformationen verkligen kommer från 31415926535 och att du kan lita på att informationen är korrekt. Det som annars skulle kunna hända är att lampa 31415926535 och dess 10000 kompisar som används för att belysa Volvos nybilsparkering är släkta/trasiga och att tjyven kan härja fritt, men att du tror att dom är tända.

Det som oftast krävs är därför pålitliga identiteter och skydd av ett meddelandes integritet (så att ingen kan pilla på meddelandet utan att det upptäcks av mottagaren). Och ibland även att meddelanden inte går att läsa för den som inte är behörig – att meddelandet är konfidentiellt för andra än sändaren och mottagaren.

Ett symmetriskt krypto som AES ger i första hand konfidentialitetsskydd. Det kan även används för att ge integritetsskydd och identitetskontroll och förutsätter att sändare och mottagare på något sätt redan kommit överens om nycklar. Vanligare är att asymmetriska krypton (kallas även krypto med publika nycklar) och hashfunktioner används att etablera identitet och integritet.

Tyvärr är det svårt att hitta bra algoritmer som inte kostar för mycket. Speciellt asymmetriska algoritmer finns det för närvarande inga som egentligen fungerar för Internet of Things. Det som är positivt är att problemet har börjat uppmärksammas. EU-sponsrade ECRYPT II anordnar i november en konferens i ämnet. På konferensen CRYPTO 2011 hölls en rump session där Danilo Gligoroski presenterade del resultat som visar på mycket snabbare/effektivare asymmetriska krypton.

Även protokoll som inte är för komplexa, men samtidigt säkra behöver utvecklas. IETF anordnade i mars en workshop om problemställningarna runt Internet of Things, men än är det långt tills vi har standarder att bygga på.

Secworks gör uppdrag riktat mot utvecklingen av Internet of Things, och kommer att bevaka och försöka bidra till att få fram de teknologier som krävs. Jag kommer därför att posta mer om utvecklingen av säkerhet och management för Internet of Things här. Bland annat om de riktigt kompakta algoritmer och implementationer som faktiskt finns redan i dag. Häng med!

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.