Etikettarkiv: Octopi

Skräddarsyr programmeringsspråk för Sakernas internet

Robert Krook, doktorand och Koen Claessen, professor vid Institutionen för data- och informationsteknik på Chalmers. Foto: Lisa Jabar  / AnnalisaFoto
Robert Krook, doktorand och Koen Claessen, professor vid Institutionen för data- och informationsteknik på Chalmers. Foto: Lisa Jabar / AnnalisaFoto

Utvecklingen på programmeringssidan börjar komma i fatt Internet of Things. Förr fick programmerarna försöka pussla ihop nätverken med de program som stod till buds. Nu arbetar forskare på Chalmers med att utveckla ett programmeringsspråk som är skräddarsytt för ändamålet.

Tv, dammsugare, kylskåp, babymonitor och hemlarm är bara några exempel på saker i hemmen som kan kopplas upp mot internet. Fördelarna är många, uppkopplade apparater kan både effektivisera och skapa nya möjligheter att förenkla människors vardag. Problemet är att de även skapar möjligheter att hacka nätverken – och det är här som Koen Claessen, professor vid Institutionen för data- och informationsteknik på Chalmers, kommer in i bilden. Tillsammans med sin forskargrupp är han i färd med att utveckla Scoria, ett programmeringsspråk som är skräddarsytt för sakernas internet och gör uppkopplade enheter säkrare.
– De flesta av dagens uppkopplade apparater är programmerade i C-språket som inte är designat för den här typen av enheter. Det är väldigt lätt att göra fel och felen kan användas för att hacka nätverken, med allt det kan innebära i form av att till exempel låsa upp dörrar, stänga av larm eller aktivera en säkerhetskamera, säger Koen Claessen.

Viktiga tidsaspekter
En stor utmaning i utvecklingen av Scoria är tid, i två olika avseenden: batteritid och ”mötestid”.
– Det finns många uppkopplade enheter i ett hus som ska prata med varandra via små radiosändare och -mottagare. Men de ska inte lyssna hela tiden eftersom lyssnandet slukar batteritid. Därför vilar enheterna i ganska stor utsträckning och kommer överens om att vakna och utbyta information till exempel var femte minut. För att de ska kunna kommunicera på det här sättet krävs programmering som tillåter utbyte av information i realtid vilket vi har tagit höjd för i Scoria.
Projektet har redan kommit en bra bit på väg.
– Vi har en prototyp som vi implementerat som ett inbäddat språk i ett annat språk, Haskell. Just nu testar vi olika features och studerar om vi genom Bluetooth kan skapa ett nätverk där uppkopplade enheter kan skicka meddelanden till andra enheter som vaknar, informerar vidare och sedan återgår i viloläge.
Koen Claessen påpekar att det finns standardprotokoll för detta ändamål men att forskargruppen vill se om de kan göra samma sak i Scoria eftersom programmet är skyddat från de typiska fel som lätt görs i C-språket.
– Programmering kan inte lösa alla luckor i Sakernas internet men några av de vanligaste felen kan vi undvika på detta vis.

Chalmers – Octopi

Utvecklingen av Scoria ingår i Octopi, ett femårigt forskningsprojekt som leds av Alejandro Russo, biträdande professor vid Institutionen för data- och informationsteknik på Chalmers tekniska högskola. Tyngdpunkten ligger på att skapa ett skräddarsytt programmeringsspråk för Sakernas internet där säkerheten garanteras genom hela utvecklingsprocessen, snarare än att läggas till i efterhand. Projektet finansieras av Stiftelsen för strategisk forskning, SSF.

www.chalmers.se

Octopi i bräschen för säkra datorsystem

Carl-Johan Seger, professor i datorvetenskap och WASP-professor på Chalmers.
Carl-Johan Seger, professor i datorvetenskap och WASP-professor på Chalmers.

En kedja är aldrig starkare än sin svagaste länk. Det gäller i högsta grad även det uppkopplade samhället. Carl-Johan Seger forskar inom projektet Octopi om en säker datamiljö, där risken för säkerhetsbrister förebyggs från start.

Samhället i stort och alla de olika saker vi omger oss med digitaliseras snabbt. IoT, sakernas internet, ger många fördelar i form av smarta, kommunicerande enheter, men innebär också stora risker. Fientliga attacker mot systemen sker kontinuerligt och kan få förödande konsekvenser.
– Det finns en stor naivitet bland både beslutsfattare och vanliga medborgare om sårbarheten som kommer med digitaliseringen och IoT. Det brådskar att skapa felfri hårdvara och mjukvara, som redan i sin konstruktion skyddar mot läckor och attacker, säger Carl-Johan Seger, professor i datorvetenskap och WASP-professor på Chalmers. Han är sedan några år tillbaka på det universitet där han påbörjade sina studier för 40 år sedan, efter en lång karriär inom såväl industrin som akademin i Nordamerika och Storbritannien.

Gamla synder
Carl-Johan Seger förklarar att vi lever med gamla synder i våra datorsystem. Brister i mjukvaran är ofta enklare att åtgärda, men svagheter i hårdvaran kan vara oerhört svåra och kostsamma att komma åt och eliminera. Det SSF-finansierade projektet Octopi ligger i forskningsfronten för att utveckla system som är säkra från början. Det gäller både mjukvaruspråket, som forskarna utvecklar från lågnivå till högnivå, där buggar automatiskt upptäcks och städas bort, och hårdvaran, som är Carl-Johan Segers speciella expertisområde. I projektet utvecklar Carl-Johan Seger och hans team en verifierad krets som placeras direkt i hårdvaran och gör det nästan omöjligt för hackare att ta sig in.

Lapptäcke av teknologier
– Det är ett omfattande och komplext arbete. Mjukvarumiljön och hårdvaran ska vara som legobitar som passar perfekt in i varandra. Idag är det ett lapptäcke av olika teknologier, som ofta inte alls är anpassade för att fungera tillsammans. Vårt mål är att bygga en krets, som är felfri från början och skyddar mjukvaran som skalskyddet runt ett hus. Dessutom måste kretsen vara mycket energieffektiv för att fungera i en IoT, berättar Carl-Johan Seger.
Arbetet har kommit långt och kretsens arkitektur är redan nästan färdig. Sedan ska den slutliga designen verifieras och testas.
– SSF-finansieringen möjliggör vår forskning i detta viktiga område. Behovet av robusta, säkra och tillförlitliga system är stort, avslutar Carl-Johan Seger.

Chalmers – Octopi

Octopi är ett femårigt forskningsprojekt vid Chalmers universitet för att skapa en miljö där säker IoT kan utvecklas. Det innefattar såväl mjukvara som hårdvara. Projektet är en gemensam satsning mellan fem professorer och har fem doktorander för forskningens hela varaktighet. Projektet finansieras av Stift­elsen för strategisk forskning, SSF.

octopi.chalmers.se

Pionjärer för ett säkert Sakernas internet

: Alejandro Russo, biträdande professor vid Institutionen för data- och informationsteknik vid Chalmers tekniska högskola. Foto: Patrik Bergenstav
Alejandro Russo, biträdande professor vid Institutionen för data- och informationsteknik vid Chalmers tekniska högskola. Foto: Patrik Bergenstav

Vi står på tröskeln till en revolution, där allt fler saker är uppkopplade och sammankopplade – Sakernas internet, IoT. Men många apparater har allvarliga säkerhetsbrister, med potentiellt katastrofala följder. Octopi-projektet ligger i frontlinjen för forskning om ett säkert IoT.

Smarta elektroniska apparater och lösningar i våra hem, industrier och i hela samhället har stora fördelar, men de innebär också risker. Ofta har de programmeringsspråk som används när elektroniken tillverkas allvarliga säkerhetsbrister och når inte den höga säkerhetsstandard som interkonnektivitet kräver. Octopi-projektet vid Chalmers går i bräschen för att adressera detta.
– Osäkra elektroniska enheter gör det möjligt för fientliga hackers att få tillgång till information och orsaka stor skada, genom att stjäla, läcka eller sabotera data. Vi har redan sett många exempel på attacker och dessa kan få enormt svåra konsekvenser. Det är av största vikt att vi skyddar integriteten hos informationen och det görs bäst genom att stämma i bäcken och ha de korrekta programmeringsspråken och disciplinerna redan från start, säger Alejandro Russo, biträdande professor vid Institutionen för data- och informationsteknik vid Chalmers tekniska högskola.

Egna programmeringsspråk
Toppmoderna programmeringsspråk som används för IoT-enheter är inte tillräckligt detaljerade för att garantera ordentlig säkerhet. Octopi-teamet utvecklar nya programmeringsspråk med riklig abstraktion för sammankopplade enheter. Octopi har utvecklat två programmeringsspråk: HailStorm, som används direkt för IoT-enheter tillsammans med särskilt stöd för hårdvaran (som också har utvecklats av Octopi), samt Haskiot, som är ett programmeringsspråk skapat för att generera säker C-kod.

Att lära sig av datan
Octopi har också ett forskningsspår som arbetar med att programmera enheter för att samla information om användarbeteende, samtidigt som individens integritet bevaras (med hjälp av en teknik som kallas Differential Privacy).
– Det handlar om att kunna få värdefull kunskap om grupper av individer som interagerar med IoT-enheter, men utan att urskilja enskilda personer, förklarar Alejandro.
Octopis forskning har fått mycket uppmärksamhet, i Sverige och internationellt. Exempelvis har forskningens resultat presenterats vid flaggskeppskongressen 41st IEEE Symposium on Security & Privacy och tillika 46th ACM SIGPLAN Symposium on Principles of Programming Languages, där den fick en utmärkelse.

Chalmers – Octopi

Octopi är ett femårigt forskningsprojekt för att skapa en miljö där säker IoT kan utvecklas. Det innefattar aspekter hos såväl mjukvara som hårdvara. Projektet är en gemensam satsning mellan fem professorer och har fem doktorander för forskningens hela varaktighet. Tyngdpunkten ligger på att skapa programmeringsspråk på hög nivå och i synnerhet domänspecifika språk, för att skapa en miljö där säkerheten garanteras genom hela utvecklingsprocessen, snarare än att läggas till i efterhand. Projektet finansieras av Stiftelsen för strategisk forskning, SSF.

E-post: russo@chalmers.se

Octopi säkrar programmeringen kring IoT-enheter

Alejandro Russo, biträdande professor vid avdelningen för informationssäkerhet, Institutionen för data- och informationsteknik vid Chalmers tekniska högskola. Foto: Patrik Bergenstav
Alejandro Russo, biträdande professor vid avdelningen för informationssäkerhet, Institutionen för data- och informationsteknik vid Chalmers tekniska högskola. Foto: Patrik Bergenstav

Inom forskningsprojektet Octopi leder Alejandro Russo ett team som utvecklar teknologier för att öka säkerheten kring programmeringen av Sakernas internet, sammankopplade digitala enheter som är oumbärliga för ett modernt samhälle.

Enheter med inbyggd elektronik blir kontinuerligt vanligare och återfinns i allt från industriella processer till bilar och smartphones. Fenomenet kallas Sakernas internet (Internet of Things, eller IoT) och är fortfarande relativt nytt, men i takt med att det blir mer vedertaget ökar också förekomsten av säkerhetsrisker och andra utmaningar.
– IoT blir alltmer utbrett efterhand som fler och fler enheter kopplas upp. Därmed stegras också sårbarheten för nätverk som byggts upp med sådana enheter i fokus. IoT utgörs av en mängd olika teknologier, inklusive hårdvara, operativsystem, programvara och protokoll, vilket medför ett stort antal svaga punkter som är lätta att kompromettera. Det skulle kunna äventyra de framsteg vi hittills har sett inom det här området, säger Alejandro Russo.

Möter flera utmaningar
Russo är biträdande professor vid avdelningen för informationssäkerhet, Institutionen för data- och informationsteknik vid Chalmers tekniska högskola. Målet med hans forskning är att utveckla programmeringsspråk för att hjälpa programmerare att identifiera sårbarheter i kod, och han är en pionjär inom området.
– De största orsakerna till säkerhetsrisker i IoT är brist på kunskaper inom säkerhet, användandet av enkla programmeringsspråk samt på systemövergripande kontroll. Programmerare behöver ta hänsyn till en uppsjö olika aspekter, och alla verktyg som kan hjälpa dem att skapa säker kod och att identifiera potentiella säkerhetsrisker är därför väldigt viktiga. Därför undviker vi att använda tungrodda eller komplexa tekniker – våra metoder ska kunna användas av vanliga utvecklare.

En spännande period för projektet
Nyligen tilldelades Russo ett stort anslag från Stiftelsen för strategisk forskning (SSF), vilket har gett honom förutsättningar att fokusera på att utveckla teamet genom att rekrytera lämpliga doktorander och post-doc.
– Vi avslutade precis rekryteringsfasen och har anställt flera utmärkta medarbetare. Under hösten kommer vi att fördjupa oss i forskningen på allvar. Det är en spännande period, inte minst på grund av ett stort intresse från företag och andra aktörer, vilket skapar förutsättningar för oss att prova nya idéer. Vi har mycket att se fram emot, avslutar han.

Chalmers – Octopi
Octopi utvecklar teknologier för att säkert kunna programmera IoT-system. Octopi kommer att designa specifikt utformade programmeringsspråk för att enkelt uttrycka och genomdriva systemövergripande säkerhetspolicyer och inom detta område är projektet banbrytande. För att uppnå sina mål samlar Octopi experter inom säkerhet, programmeringsspråk och hårdvarudesign.

Kontakt: Alejandro Russo
E-post: russo@chalmers.se