• No results found

PAN-Analys av IKEA TRÅDFRI. : En fördjupning av säkerhetsrisker kopplade till OTA-uppdateringar inom IKEA TRÅDFRI:s PAN.

N/A
N/A
Protected

Academic year: 2021

Share "PAN-Analys av IKEA TRÅDFRI. : En fördjupning av säkerhetsrisker kopplade till OTA-uppdateringar inom IKEA TRÅDFRI:s PAN."

Copied!
36
0
0

Loading.... (view fulltext now)

Full text

(1)

PAN-Analys av

IKEA TRÅDFRI

HUVUDOMRÅDE: Datateknik

FÖRFATTARE: Linus Jönsson, Oscar Schenström HANDLEDARE:Sigurd Israelsson

JÖNKÖPING 2020 juni

En fördjupning av säkerhetsrisker kopplade till

OTA-uppdateringar inom IKEA TRÅDFRI:s PAN.

(2)

Detta examensarbete är utfört vid Tekniska Högskolan i Jönköping inom Datateknik, inbyggda system. Författarna svarar själva för framförda åsikter, slutsatser och resultat.

Examinator: Johannes Schmidt Handledare: Sigurd Israelsson Omfattning: 15 HP (grundnivå) Datum: 2020-06-22

(3)

Abstract

Purpose – The purpose of this study is to elaborate security risks with OTA updates within

TRÅDFRI:s PAN. To ensure that today’s IoT devices maintains a high and robust standard to protect end-user’s integrity.

Method – To answer the questions and to provide research-based evidence the study was

carried out as a case study and two methods were applied in the study. An initial literature review in which the Zigbee protocol and it´s process for certification as well as OTA updates was studied. The literature review was followed by a qualitative experiment with focus on how IKEA implemented the PAN-security in practice.

Findings – The findings show reduced security within the TRÅDFRI:s PAN when a third party

device performs the OTA update. The experiments also questions parts of the certificate issued by Zigbee Alliance.

Implications - Due to the increasing popularity of IoT devices, requirements are increasing

from a data security perspective. The data security perspective is more important than ever and take up significantly more space during the development process as well as during the life cycle. This study discusses the OTA updates impact on integrity as well as how an established IoT company, such as IKEA, has implemented this necessary feature to maintain its products during the products life cycle.

Limitations – Data gathered from the experiment was limited to TRÅDFRI E27 LED Bulb and

therefore the result cannot be seen as a generalization of all TRÅDFRI products.

Keywords - Internet of Things (IoT), IKEA TRÅDFRI, Zigbee, Zigbee Certification, Personal

(4)

Sammanfattning

Syfte – Syftet med denna studie är att utöka kunskapen kring säkerhetsrisker gällande

OTA-uppdateringar inom TRÅDFRI:s PAN-nätverk. Detta för att säkerställa att dagens IoT-enheter upprätthåller en hög och robust standard för att skydda slutanvändarnas integritet.

Metod – För att besvara frågeställningarna och tillhandahålla forskningsbaserade bevis

gjordes en fallstudie där två metoder användes. En inledande litteraturöversikt undersökte Zigbee-protokollet och dess krav för certifiering samt OTA-uppdateringar. Litteraturöversikten följdes av ett kvalitativt experiment med fokus på hur IKEA implementerar säkerheten i praktiken.

Resultat – Resultaten visar på nedsatt säkerhet på TRÅDFRI:s PAN då det förlitar sig på att

OTA-uppdateringen kommer från en TRÅDFRI gateway, som i vanliga fall utför uppdateringen och implementerar mer OTA-säkerhet. Med experimentet motbevisas även en del av certifikatet erhållet från Zigbee Alliance.

Implikationer - På grund av den ökande populariteten av IoT-enheter ökar kraven ur ett

datasäkerhetsperspektiv. Datasäkerhetsperspektivet måste ta väsentligt större plats under utvecklingsprocessen likväl som under enheternas livscykel. Studien diskuterar OTA-uppdateringars påverkan på integritet men även hur ett etablerat företag inom IoT, som IKEA, har implementerat denna nödvändiga funktion för att underhålla sina produkter under produktens livscykel.

Begränsningar – Data insamlad från experimentet hämtades endast från TRÅDFRI E27 LED

Bulb och därmed kan resultatet inte ses som en generalisering av alla IKEA TRÅDFRI produkter.

Nyckelord – Internet of Things (IoT), IKEA TRÅDFRI, Zigbee, Zigbee Certifiering Personal

(5)

Akronymer

AES Advanced Encryption Standard

IoT Internet Of Things

JSON JavaScript Object Notation

JTAG Joint Test Action Group

MQTT Message Queuing Telemetry Transport

PAN Personal Area Network

RSA Rivest-Shamir-Adleman

SHA Secure Hash Algorithm

OEM Original Equipment Manufacturer

OTA Over-The-Air

TC Trust Center

(6)

Abstract ... i

Sammanfattning ... ii

Akronymer ... iii

Figurförteckning ...vi

1 Introduktion ... 1

1.1BAKGRUND ... 2 1.2TIDIGARE FORSKNING ... 2 1.3PROBLEMBESKRIVNING ... 2

1.4SYFTE OCH FRÅGESTÄLLNING ... 3

1.5OMFÅNG OCH AVGRÄNSINGAR ... 3

1.6DISPOSITION ... 4

2 Metod och genomförande ... 5

2.1HYPOTES ... 5 2.2ARBETSPROCESS ... 5 2.3UTRUSTNING ... 6 2.4SYSTEMINSTALLATION ... 6 2.5METOD FÖR EXPERIMENT ... 7 2.6DATAINSAMLING ... 10 2.7TROVÄRDIGHET ... 10

3 Teoretisk Ramverk ... 11

3.1ZIGBEE PROTOKOLLET ... 11

3.2NÄTVERKSTOPOLOGI OCH SYSTEM ... 12

3.3ZIGBEE CERTIFIED PRODUCT ... 12

3.4ECLIPSE MOSQUITTO ... 12

3.5PERSONAL AREA NETWORK (PAN) ... 13

3.6OVER-THE-AIR (OTA)UPPDATERINGAR ... 13

3.7IKEATRÅDFRI ... 15

(7)

4.2EXPERIMENT ... 19

5 Analys ... 21

5.1FRÅGESTÄLLNING 1 ... 21

5.2FRÅGESTÄLLNING 2 ... 22

6 Diskussion och slutsatser ... 24

6.1RESULTAT... 24

6.2IMPLIKATIONER ... 24

6.4SLUTSATSER OCH REKOMMENDATIONER... 25

6.5VIDARE FORSKNING ... 25

(8)

Figurförteckning

FIGUR 1:STUDIENS OMFÅNG OCH AVGRÄNSNINGAR ... 3

FIGUR 2:STUDIENS ARBETSPROCESS ... 5

FIGUR 3:LAYOUT AV SYSTEMET ... 6

FIGUR 4:EN ÖVERBLICK ÖVER KOMMUNIKATIONEN [16] ... 7

FIGUR 5:UTDRAG UR SENASTE VERSIONEN AV VERSION_INFO.JSON ... 7

FIGUR 6:UTDRAG UR DEN MODIFIERADE VERSION_INFO.JSON ... 8

FIGUR 7:LÄNK INNEHÅLLANDE JSON-FIL ... 8

FIGUR 8:MODIFIERING AV TRADFRI.JS ... 8

FIGUR 9:PARNINGSINTERVJU FÖR TRÅDFRIE27LEDBULB ... 9

FIGUR 10:SYSTEMBILD ... 9

FIGUR 11:TRÅDLÖSA TEKNOLOGIER [19] ...11

FIGUR 12:NÄTVERKSÖVERSIKT AV ETT ZIGBEE SYSTEM ...12

FIGUR 13:EXEMPEL PÅ EN IMPLEMENTERING AV EN OTA-UPPDATERINGSPROCESS [10] ...14

FIGUR 14:EXEMPEL PÅ HUR ETT IKEATRÅDFRI SYSTEM KAN SE UT ...15

FIGUR 15:FLÖDESDIAGRAM ÖVER OTA-PROCESSEN HOS TRÅDFRI:S GATEWAY [6](FIGUR 5.4) ...16

FIGUR 16:UTDRAG UR CERTIFIKATET [27] ...17

FIGUR 17:UTDRAG UR ZIGBEE LIBRARY SPECIFICATION [25] ...18

FIGUR 18:UPPDATERINGSPROCESS MED MODIFIERAD FIL-IDENTITETSBETECKNING ...18

FIGUR 19: INGA NYA UPPDATERINGAR TILLGÄNGLIGA ...19

FIGUR 20:SEKVENSDIAGRAM AV UPPDATERINGSPROCESSEN UNDER EXPERIMENTET ...19

FIGUR 21:ETT UTDRAG UR ZIGBEE2MQTT LOGGEN ...20

FIGUR 22:UTDRAG UR CERTIFIKATET [27] ...21

(9)

1 Introduktion

Kapitlet ger en bakgrund till studien och det problemområde som studien byggts upp kring. Vidare presenteras studiens syfte och dess frågeställningar. Därtill beskrivs studiens omfång och avgränsningar. Kapitlet avslutas med rapportens disposition.

Internet of Things (IoT) är enheter inom exempelvis hushållsprodukter som LED-lampor och dörrklockor till bilar, maskiner och uppkopplade industrier. Tekniken används främst till att förenkla människors vardag, vilket tycks vara attraktivt. Dessa produkter bildar ett nätverk där de kan skicka data mellan varandra utan någon människa eller människa-maskinintegration. Insamling av stora mängder data, som ofta är av personlig karaktär, behöver skyddas [1]. Därför måste såväl företag som utvecklare samarbeta för en effektiv utveckling av integritetsskyddande säkerhetsåtgärder.

Inom IoT finns en stor mängd olika kommunikationsprotokoll. Denna studie fokuserar på protokollet Zigbee. Zigbee är en branschbevisad global standard för lågenergi och robusta nätverk som erbjuder kompletta och kompatibla IoT-lösningar för hem- och byggnadsautomation [2]. Protokollet är baserat på IEEE 802.15.4-standarden och tillhandahåller en förenklad metod för driftsättning av enheter på ett säkert sätt, samtidigt som användaren har möjlighet att bilda nätverk med mer än 250 enheter. Bakom Zigbee står organisationen Zigbee Alliance som idag består av många stora globala företag vars mål att utveckla den öppna standarden för IoT marknaden.

En ny aktör på IoT-marknaden är IKEA. 2017 lanserade de uppkopplade lampor för det smarta hemmet som heter IKEA “TRÅDFRI”. Eftersom IKEA är ett av världens största möbelföretag och har nästan en miljard besökare i sina varuhus varje år, har företaget ett stort ansvar för att produkterna som de säljer är säkra [3]. TRÅDFRI valdes på grund av dess tillgänglighet och vars pris gör produkten till ett konkurrenskraftigt alternativ till liknande produkter på marknaden. IKEA är i grunden fortfarande ett möbelföretag och dess breda kundbas kan göra att den tekniska kompetensen hos kunderna som köper TRÅDFRI varierar kraftigt. Denna sårbarhet skulle kunna utnyttjas av tredje part med fientliga intentioner.

Inom ett TRÅDFRI system finns det olika nätverksområden. Ett av dessa områden är Personal-Area-Network (PAN), PAN är ett lokalt datornätverk som möjliggör kommunikation mellan datorenheter nära en person [4]. Inom PAN-nätverket kan man hitta TRÅDFRI:s gateway samt de enheter man valt att koppla in, exempelvis en lampa eller fjärrkontroll.

OTA (Over-The-Air) är en metod som innebär att data skickas trådlöst. Denna metod används primärt för att distribuera mjukvaruuppdateringar till olika enheter och erbjuder många fördelar för IoT-enheter. Det möjliggör bland annat fjärrpatching av buggar och säkerhetsrisker istället för att tekniker eller oerfarna användare ska utföra uppdateringar [5].

Sedan tidigare har endast ett fåtal studier utförts på TRÅDFRI och den generella kunskapen är fortsatt otillräcklig när det kommer till hur säker produkten är [6]. Ett område som tidigare studier inte undersökt är sårbarheten i PAN-nätverket när det kommer till OTA-uppdateringar. Eftersom OTA-uppdateringar är en central del för att behålla TRÅDFRI:s produkter robusta behöver detta analyseras. Resultatet förväntas bidra med utökad kompetens kring TRÅDFRI och IoT ur ett säkerhetsperspektiv. Studien som helhet baseras på tidigare forskning inom data- och nätverkssäkerhet med huvudfokus på OTA-uppdateringar inom TRÅDFRI:s PAN-nätverk.

(10)

1.1 Bakgrund

IoT säkerhet är idag en allt mer diskuterad fråga sedan både efterfrågan och tillgängligheten på uppkopplade konsumentprodukter växer. Eftersom priserna pressas ner och företagen hastigt vill släppa nya produkter, saknar många av dessa enheter grundläggande principer om säkerhet eller har endast enklare skydd implementerade [7].

OTA-uppdateringar dyker ofta upp när det diskuteras sårbarhet hos IoT-enheter, av den orsaken att företag inte planerar hur framtiden ser ut för produkterna och framtida implementationer [8]. Det är då viktigt att förstå hur och var en OTA-uppdatering kan vara sårbar. Till exempel processen för nedladdning av uppdateringar presenterar en uppsättning med risker. Sändningsfel mellan kontroller och enhet kan skada något av filinnehållet. Hackare kan även utnyttja säkerhetsbrister i nerladdningen för att lura enheten att hämta data från en annan källa, vilket kan ersätta den befintliga mjukvaran med skadlig kod [9].

1.2 Tidigare forskning

En studie från Linköpings Universitet 2019 har undersökt hur OTA-uppdateringsprocessen ser ut hos TRÅDFRI:s gateway [6].Resultatet kom fram till att TRÅDFRI:s uppdateringsfiler för PAN saknade digital signatur. Detta genom att en oskyddad JSON-fil (JavaScript Object Notation) vid namnet version_info.json kunde hämtas publikt från IKEA:s http-server. Eftersom uppdateringsprocessen använder en oskyddad JSON-fil över ett oskyddat protokoll är processen i huvudsak sårbar för upp- och nedgraderingsattacker av mjukvaran. Dock visade det sig finnas ett filtilllägg i JSON-filen, ”.signed” vilket indikerade att något slags skydd kan vara implementerat. Genom att modifiera OTA-filen lyckades skribenten bevisa att TRÅDFRI:s gateway är designad till att neka uppdateringar vars digitala signatur är ogiltig.

Däremot ger studien [6] teoretiska exempel på möjliga sårbarheter och attacker på uppdateringsprocessen för andra enheter i PAN-nätverket som skulle kunna kringgå detta skydd. I teorin betyder detta att utvecklare skulle kunna kopiera den kända versionfilen, modifiera innehållet och sedan installera utan att det sker någon form av verifikation av TRÅDFRI givet att man förbikopplar TRÅDFRI:s gateway. Vilket kanske skulle kunna vara möjligt med mjukvara och hårdvara från tredjepart. Risken finns att detta skulle kunna användas för att uppdatera enheter eller hela systemet med skadlig mjukvara [6].

1.3 Problembeskrivning

IoT utvecklingen accelererar för varje år som går och nya produkter släpps hela tiden, denna ökande skalan i popularitet av IoT-enheter ökar även kraven ur ett datasäkerhetsperspektiv. Då utvecklingen går fort är det svårt att hinna med att undersöka enstaka produkter. Tidigare rapporter har bevisat att säkerheten är fortsatt bristfällig inom IoT och OTA-uppdateringar. Exempelvis diskuteras det i en rapport från Texas Instruments att OTA uppdateringar kan erbjuda en väg in för potentiell skadlig mjukvara och därmed äventyra säkerheten för både konsumenten och Original Equipment Manufacturer (OEM) [10]. Då det numera finns miljoner IoT-enheter kan även en liten procentandel av OTA-fel eller

säkerhetsbrott resultera i tusentals eller tiotusentals drabbade konsumenter. För att skydda den personliga integriteten, är det fortsatt av intresse att vidare kartlägga hur dagens enheter fungerar utifrån ett säkerhetsperspektiv.

(11)

1.4 Syfte och frågeställning

I 1.2 Tidigare forskning samt 1.3 Problembeskrivning framgår det att uppdateringsprocessen och metoden visar fortsatta sårbarheter och bör fortsätta undersökas djupare.

Vidare framgår det att mycket av tidigare forskning endast är teoretiskt lagd på grund av praktiska begräsningar och har därmed lämnat utrymme för vidare forskning.

Därmed är syftet med denna studie:

Att undersöka och öka förståelsen inom TRÅDFRI:s PANgenom vidare analys av OTA-uppdateringsprocessens påverkan på säkerheten teoretiskt såväl som praktiskt.

För att uppfylla syftet delas studien upp i två frågeställningar:

• Hur hanteras säkerheten med OTA-uppdateringar på TRÅDFRI:s PAN? • Går det att utföra en mjukvarunedgradering på en TRÅDFRI PAN-enhet? Ur denna studie väntas ytterligare förståelse för IoT-säkerhet framkomma, både teoretisk såväl som praktiskt. Examensarbetet som helhet kan ses som ett diskussionsunderlag vilket kan bidra till vidare studier inom Internet of Things och dess potentiella sårbarheter för konsumenter och företag.

Studien som helhet kommer att externt bevakas av Hanna Hansson samt Carl Bratt från Combitech AB. Combitech är ett svenskt konsultföretag med lång och erkänd erfarenhet inom cybersäkerhet.

1.5 Omfång och avgränsningar

Studien begränsas till IKEA:s produktserie TRÅDFRI som består en del av PAN. Studiens område inrutad i figur 1 nedan.

(12)

1.6 Disposition

Kapitel 2 Metod och genomförande, beskriver de metoder som använts för att besvara studiens frågeställningar. Kapitlet visar också hur arbetsprocessen ser ut.

Kapitel 3 Teoretisk Ramverk, introducerar teorier bakom studien samt de grundläggande kunskaper som krävs för att förstå rapporten.

Kapitel 4 Resultat, ger en översikt av den data som samlats in, såväl från litteratur som experiment.

Kapitel 5 Analys, ger svar på studiens frågeställningar genom att behandla insamlad empiri och teoretiskt ramverk.

Kapitel 6 Diskussion och slutsatser, ger en sammanfattande bild av studien som helhet. Vidare diskuteras studiens implikationer och begränsningar, dessutom beskrivs studiens rekommendationer. Kapitlet avslutas med att ge förslag på vidare forskning.

(13)

2 Metod och genomförande

Kapitlet ger en översiktlig beskrivning av studiens hypotes och arbetsprocess. Vidare beskrivs studiens utrustning och systeminstallation. Därtill beskrivs studiens

tillvägagångssätt för datainsamling. Kapitlet avslutas med en diskussion kring studiens trovärdighet.

2.1 Hypotes

Den litteraturöversikt som utförts ligger till grund för den hypotes som framställts. Tidigare forskning från Linköping 2019 säger:

”During reverse engineering it was discovered that the Zigbee OTA header did not contain a digital signature. If the gateway is somehow bypassed, for example by using a compromised Zigbee device, both firmware downgrade and modification attacks could still be possible.” [6]

Därmed har hypotesen formulerats enligt nedan:

Trådfri tillåter mjukvarunedgraderingar från tredje parts givet att den officiella gatewayen förbikopplas.

2.2 Arbetsprocess

Detta arbete genomförs som en fallstudie på OTA-uppdateringar inom konsumentprodukten TRÅDFRI. En fallstudie tillåter ett strategiskt urval av litteratur och en analys vars syfte är att utveckla helhetsförståelse, begrepp och teorier inom ämnet [11]. För att besvara frågeställningarna samt ge forskningsgrundande bevis krävs en inledande litteraturöversikt där Zigbee protokollet och dess process för certifiering samt OTA-uppdateringar studeras.

En litteraturöversikt valdes då den tar upp existerande fakta och åsikter om ämnet men även ger utrymme för tolkningar till de existerande åsikter. Det öppnar även upp för eventuella frågor som inte besvarats tidigare [12].

Litteraturöversikten efterföljs av ett kvalitativt experiment där en OTA-uppdatering observeras hos TRÅDFRI i praktiken, experimentet utförs i en kontrollerad miljö.

En kvalitativ undersökning valdes eftersom den söker efter generalisering, processer och svar för att beskriva mönster [13]. Då syftet är att undersöka OTA-uppdateringsprocessen som helhet passade ett kvalitativt tillvägagångssätt eftersom datan inte är numerisk utan representeras av text [14].

Då en hypotes har ställts lämpar sig ett experiment för att validera eller falsifiera detta. En överblick över arbetsprocessen kan ses i figur 2 nedan.

Tillvägagångsättet för hur experimentet kommer att utföras förklaras närmare under 2.5 Metod

för experiment.

(14)

2.3 Utrustning

För att kunna analysera systemet i TRÅDFRI behövs en miljö skapas där all kommunikation kan övervakas. Denna kommunikation i TRÅDFRI:s PAN-nätverk hanteras av en hårdvaruenhet som tillämpar Zigbee protokollet. I detta experiment används en CC2531 Texas Instrument Zigbee Sniffer.

Följande utrustning behövs för att uppfylla metoden:

Hårdvara

• En IKEA TRÅDFRI LED-lampa • Nätverksrouter

• CC2531 Texas Instrument ZigBee Sniffer/Transmitter, USB Dongle • CC-Debugger

• Laptop eller stationär dator med Windows 10 som operativsystem • Raspberry Pi

Mjukvara

• MQTT Explorer • ZigBee2MQTT • Node.js

• Eclipse Mosquitto Server

• Powershell eller likvärdig terminal

2.4 Systeminstallation

Experimentet installeras och kopplas upp enligt systemarkitekturen i figur 3 nedan.

Figur 3: Layout av systemet

(15)

2. Koppla upp Raspberry Pi:n mot internet och installera därefter Mosquitto Eclipse Server. Använd kommandot ”hostname -I” och anteckna ner IP-adress för senare användning.

3. På datorn som kör Windows 10 ska Zigbee2MQTT installeras. Följ dokumentationen som finns tillgänglig på deras hemsida [16].

4. I Zigbee2MQTT mappen öppna filen ”data\configuration.yaml” och lägg till Mosquitto serverns IP-adress. Exempel: server: mqtt://<raspberry ip>:1883 5. Ladda även ner och installera MQTT Explorer på datorn med Windows 10. Använd

IP-adressen från Mosquitto Eclipse servern för att koppla upp systemet [17].

Kommunikationen i systemet sker nu enligt figur 4 nedan. I MQTT Explorer skickas alla kommandon till Mosquitto servern som i sin tur pratar med CC2531. CC2531 agerar nu koordinator i Zigbee systemet.

Figur 4: En överblick över kommunikationen [16]

2.5 Metod för experiment

Experimentet genomförs på följande sätt:

Den oskyddade versionsfilen av typen JSON hämtas från IKEA:s publika http-server [18]. I filen hittar man alla TRÅDFRI:s produkter och deras senaste versionsnummer. Då studien använder produkten TRÅDFRI E27 LED Bulb är endast denna av intresse. Se figur 5 nedan för utdrag ur versionsfilen.

Figur 5: Utdrag ur senaste versionen av version_info.json

[ { "fw_binary_url": "http://fw.ota.homesmart.ikea.net/Tradfri_OTA_release_signed_2020_03_18_121911/bin /159695-2.1-TRADFRI-bulb-ws-1000lm-2.3.007.ota.ota.signed", "fw_file_version_LSB":30257, "fw_file_version_MSB":8960, "fw_filesize":208702, "fw_image_type":8706, "fw_manufacturer_id":4476, "fw_type":2 } ]

(16)

För att verifiera alternativt falsifiera experimentets hypotes behövs en modifierad fil av typen JSON skapas för att rikta om uppdateringen mot en gammal mjukvara. Nuvarande versionsnummer byts ut mot en tidigare känd version, i detta experiment valdes en version från mars 2017. Se figur 6 nedan från den modifierade versionsfilen.

Figur 6: Utdrag ur den modifierade version_info.json

När koordinatorn (CC2531) letar efter OTA-uppdateringar kommer den via ZigBee2MQTT anropa en JavaScript-fil, tradfri.js. tradfri.js hämtar den senaste version av IKEA:s

version_info.json från den publika http-servern. För att rikta om uppdateringen byts den

publika http-servern ut mot en egen-skapad länk via GitHub Gist, se figur 7 nedan. Denna länk innehåller den modifierade JSON-filen.

Figur 7: Länk innehållande JSON-fil

Innan man kan gå vidare behöver man även modifiera tradfri.js ytterligare för att tillåta en uppdatering. JavaScript-filen kör en jämförelse av versionsnumret av den nuvarande mjukvaran på TRÅDFRI E27 LED Bulb och mjukvaran den hämtat från den publika http-servern. I nuläget hade den modifierade version_info.json inte tillåtits då denna innehåller mjukvara äldre än befintlig. Const url ändras till GitHub Gist länken och jämförelsefunktionen för versionsnumret kommenteras bort, se Figur 8 nedan.

Figur 8: Modifiering av tradfri.js

[ { "fw_binary_url": "http://fw.ota.homesmart.ikea.net/Tradfri_OTA_release_signed_2017_03_29_153808/bin /156670-TRADFRI-bulb-ws-1000lm.ota.ota.signed", "fw_file_version_LSB": 22304, "fw_file_version_MSB": 4369, "fw_filesize": 158782, "fw_image_type": 4545, "fw_manufacturer_id": 4476, "fw_type": 2 } ] https://gist.githubusercontent.com/alflinusjonsson/0a8b633673e02f400ec8798ee2594499/ raw/aeb127803e8fbe6b9f0dd0034d93ab275cf9c387/json?fbclid=IwAR0HotUFoudrZbKXOZ USW_8C2HAnIu83-rFiLIqy54DGWjzS1IrWPaZwohI

(17)

Lokalisera mappen “zigbee2mqtt” i Powershell och kör kommandot “npm start”. MQTT startas och ska då identifiera en koordinator som är CC2531 Dongle som sitter i datorn. I nuläget är inga enheter anslutna i nätverket. TRÅDFRI E27 LED Bulb ansluts genom att göra en fabriksåterställning, vilket görs genom att stänga av och sätta på lampan sex gånger i följd. Se

figur 9 nedan.

Figur 9: Parningsintervju för TRÅDFRI E27 LED Bulb

Genom kommandot ”zigbee2mqtt/bridge/config/devices/get” skickat via MQTT Explorer returneras alla enheter som är kopplade till systemet. Nätverket har nu en koordinator (CC2531) och en nod (TRÅDFRI E27 LED Bulb). Se figur 10 nedan.

Figur 10: Systembild

För att göra en uppdateringsförfrågan används MQTT Explorer. Kommandot ”zigbee2mqtt/bridge/ota_update/update med produktens namn som payload anropar skriptet

tradfri.js som modifierades. Zigbee2MQTT loggen visar då händelseförloppet av

uppdateringen.

zigbee2mqtt:info 2020-05-03 14:58:59: Connecting to MQTT server at mqtt://192.168.0.106:1883 zigbee2mqtt:info 2020-05-03 14:58:59: Connected to MQTT server

...

zigbee2mqtt:info 2020-05-03 14:59:55: Device ‘0x90fd9ffffe7223d2’ joined

zigbee2mqtt:info 2020-05-03 14:59:55: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload

'{“type”:”device_connected, “message”:{“friendly_name”:”0x90fd9ffffe7223d2”}} '

zigbee2mqtt:info 2020-05-03 14:59:55: Starting interview of ‘0x90fd9ffffe7223d2’

zigbee2mqtt:info 2020-05-03 14:59:55: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload

'{“type”:”pairing”,”message”:”interview_started”,”meta”:{“friendly_name”:” 0x90fd9ffffe7223d2”}}’

zigbee2mqtt:info 2020-05-03 14:59:59: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload

'{“type”:”device_announced”,”message”:”announce”,”meta”:{“friendly_name”:” 0x90fd9ffffe7223d2”}}’

zigbee2mqtt:info 2020-05-03 14:59:59: Successfully interviewed ‘0x90fd9ffffe7223d2’, device has

(18)

2.6 Datainsamling

Studiens datainsamling påbörjades genom en litteraturöversikt inom ämnesområdet samt data från tidigare forskning kring säkerhetsrisker med fokus på Internet of Things. Litteraturöversikten gjordes genom att samla in data från tidigare studier på portalen DIVA angående IKEA. Tidigare studier som var av intresse på DIVA koncentrerades på arbeten med nyckelordet IKEA TRÅDFRI.

Översikten inkluderade även varierande dokumentation från Zigbee Alliance med fokus på OTA. Zigbee Cluster Library Specification är ett dokument från Zigbee Alliance som använts i översikten för att få en förståelse av vad tillverkarna som tillämpar Zigbee förväntas implementera i sina produkter. Utöver Zigbee Cluster dokumentet inkluderades även certifikatsfilerna för IKEA TRÅDFRI:s LED-lampa som senare var central i experimentet. Dessa filer visade hur LED-lampan var implementerad utifrån rekommendationerna i Zigbee Cluster dokumentet.

Utöver det samlades det in empirisk data från experimentet i form av observationer. En sammanställning mellan dessa möjliggjorde en bred analys och en konkret tolkning av resultatet.

2.7 Trovärdighet

2.7.1 Validitet

Validitet baseras på att fastställa noggrannheten av den resultatet insamlad utifrån insamlarens perspektiv och möjliga deltagare [12]. Validiteten kan fastställas på flera olika sätt varav ett av dessa är att spendera mycket tid inom ämnet för att uppfylla en bredare och djupare bild av ämnet. Då detta arbete har gjorts i par har båda kunnat undersöka olika områden inom ämnet, vilket gett en bredare och djupare kunskap [12]. Ett ytterliggare sätt att stärka validitet är genom extern granskning [12]. Detta arbete har externt övervakats av två anställda på konsultföretaget Combitech AB som kontinuerligt granskat experiment och rapport för att säkerställa validiteten.

För att vidare stärka validiteten i denna studie har installationerna och implementationerna gjorts enligt den dokumentation som fanns tillgänglig från tillverkarna av enheterna och applikationerna.Vidare har arbetet i största mån utförts i par för att minimera den mänskliga felfaktorn så mycket som möjligt. Arbetet har genomgående varit strukturerat och välplanerat, likaså testmiljön som har varit konstant för att undvika fel, vilket ytterligare väntas stärka validiteten men även studiens reliabilitet.

2.7.2 Reliabilitet

Reliabilitet indikerar på ett konsekvent och strukturerat tillvägagångsätt. Reliabilitet kan uppnås på flera sätt och ett av dessa sätt är att tillämpa metoder som har ett vetenskapligt värde och som visat sig signifikanta från tidigare forskning [12]. Detta arbete har använt sig av material som visat sig utmärkande vid tidigare studier. Exempel på detta är Zigbee-donglen CC2531 tillverkad av Texas Instruments. Den kontrollerande miljön som konstruerades gjordes med dokumentation från tillverkares rekommendationer för varje produkt.

(19)

3 Teoretisk Ramverk

Kapitlet ger en introduktion till den teoretiska grund som är nödvändig för att förstå resterande delar av studien, exempelvis förklaras viktiga begrepp djupare däribland studiens huvudfokus Zigbee och OTA.

Trådlösa överföringsprotokoll finns överallt omkring oss idag. WiFi, Bluetooth, Bluetooth Low Energy, RFID och givetvis den cellulära tekniken som gör det möjligt att kommunicera över telefon. Denna studie fokuserar på Zigbee, Zigbee skiljer sig väldigt mycket jämfört protokollen nämnda ovan. Exempelvis strävar de flesta trådlösa standarder efter att vara snabbare med ökad bandbredd medan Zigbee arbetar med långsammare datahastigheter och fokuseras på stabilitet [19]. En av det största fördelarna med Zigbee är att protokollet är extremt energisnålt, exempelvis har Philips utvecklat en fjärrkontroll för Zigbee helt utan batteri. Istället drivs den helt av kraften från varje knapptryck.

I figur 11 nedan visualiseras trådlösa teknologiers data rate gentemot avstånd.

Figur 11: Trådlösa teknologier [19]

3.1 Zigbee Protokollet

Diskussionen kring öppen standard jämfört med en sluten standard har pågått mer eller mindre sedan starten av IoT [20]. Från Zigbee Alliances sida tror man på det öppna, konsumenter idag kräver val och de flesta företagen i industrin har förstått detta [20]. I dagens teknik använder majoriteten av IoT-företagen standardiserade nätverksprotokoll så att konsumenterna inte är inlåsta. Tekniken har tagits fram för att göra kommunikation mellan enheter mer simpel, energisnål men framförallt mycket pålitlig, till exempel genom att använda sig av mesh networking för att hitta bästa möjliga väg att skicka vidare informationen. Förutom detta tillhandahåller Zigbee multicasting, träddirigering samt end-to-end bekräftelser, det vill säga att den mottagande noden bekräftar för den skickande noden att ett paket har mottagits [2]. Kommunikationen styrs med hjälp av standardprofiler. Profilerna beror på ändamål, exempelvis finns det profiler för hemautomation, lampor och energimätning. En av de vanligaste profilerna är Zigbee Light Link (ZLL) som används av bland annat Philips Hue och IKEA TRÅDFRI. Trots att kommunikationen historiskt sett har styrts av standardprofiler har kompatibiliteten mellan olika produkter från olika tillverkare varit undermålig. Det beror på att

(20)

hårdvaran är standardiserad i profilerna, men mjukvaran har varierat mellan olika system. Därav i den senaste versionen av Zigbee, Zigbee 3.0 som lanserades 2016 är en uppdatering av det tidigare protokollet vilket förde samman alla typer av Zigbee profiler som fanns. Dock marknadsförs Zigbee 3.0 under namnet Zigbee och inget annat. Den senaste versionen gör det numera möjligt för till exempel energimätning, hemautomation och smarta lampor att kombineras och samverka inom samma system. Dessutom är 3.0 bakåtkompatibelt med tidigare versioner av Zigbee [2] [19].

3.2 Nätverkstopologi och system

Koordinator: En koordinator utför start-, kontroll och routingfunktioner. Varje nätverk har

en enda koordinator, som ligger mitt i ett stjärnnätverk alternativt i roten av ett träd- eller meshnätverk, se figur 12 nedan. Koordinatorn spelar en viktig roll då den hanterar kommunikationssäkerheten samt även ofta agerar Trust Center (TC). TC ansvarar för att distribuera säkerhetsnycklarna som används för att kryptera kommunikationen i nätverket [19].

Router: Routerns funktion är att hantera kommunikationsvägar mellan enheter i nätverket.

Det kan finnas mer än en router i systemet beroende på storlek, tillsammans kan de samarbeta för att undvika trängsel vid dataöverföring [19].

Nod: Noderna kommunicerar endast med en router eller koordinator och har inga rättigheter

[19].

Figur 12: Nätverksöversikt av ett Zigbee system

3.3 Zigbee Certified Product

Zigbee Alliance erbjuder alla sina medlemmar certifiering av Zigbee-produkter och plattformar. Med ett certifikat visar tillverkaren att produkten fungerar som förväntat och följer alla krav från Zigbee Alliance. En viktig del som säkerställs är att produkten är kompatibel med alla andra produkter, oavsett vilken tillverkare den har. Eftersom certifiering av Zigbee-produkter inte är ett krav, värdesätts en certifierad produkt då det visar att produkten uppnår en hög standard [21].

3.4 Eclipse Mosquitto

Eclipse Mosquitto är en meddelandetjänst som implementerar Message Queuing Telemetry Transport (MQTT) protokollet. Denna meddelandetjänst skickar information från källapplikationen till servern som sedan kan tillhandahålla routing, meddelandeöversättning och leverans till lämpliga noder. MQTT-protokollet tillämpar en publish/subscribe metod för att utföra meddelanden. Genom att tillfråga enheten efter information istället för denna kontinuerligt ska sända sparar mycket energi, vilket gör det lämpligt för IoT enheter [22].

(21)

3.5 Personal Area Network (PAN)

PAN är ett datornätverk som möjliggör kommunikation mellan datorenheter nära en person. Nätverket kan etableras genom trådade anslutningar såsom USB och FireWire, men kan också etableras genom trådlös anslutning såsom Zigbee och Bluetooth. Majoriteten av PAN använder sig av två specifika frekvenser, 902–928 MHz och 2,4–2,4835 GHz. Zigbee är ett protokoll som man kan upptäcka på båda dessa frekvenser [23].

3.6 Over-The-Air (OTA) Uppdateringar

OTA programmering är ett samlingsbegrepp för olika metoder att distribuera ny programvara eller konfigurationsinställningar trådlöst. Den centrala funktionen inom OTA är att en administratör kan skicka en uppdatering till alla användare som inte kan vägra eller ändra den uppdateringen på något sätt. En säker och pålitlig uppdatering kan kopplas både till den underliggande hårdvaran såväl som mjukvaran hos IoT-enheten. Dessutom är OTA beroende av tjänster på molnsidan som gör det möjligt att uppdatera på avstånd.

3.6.1 Tillförlitlighet och säkerhet

En OTA-uppdatering kan idag vara kritisk på många sätt, processen representerar en uppsättning av risker som gör att känslig data kan äventyras. Till exempel, sändningsfel mellan kontroller och enhet kan skada något av filinnehållet, men även att hackare kan utnyttja säkerhetsbrister i nerladdningen för att lura enheten att hämta data från en annan server. Det kan också vara att en tidigare version innehöll säkerhetsbrister där en hackare tvingar tillbaka enheten till den versionen för att sedan utnyttja sårbarheten.

Efter att en ny programvarufil överförts trådlöst kan även fel ske, till exempel, vid strömavbrott eller fel i mjukvaran kan potentiella nätverksbuggar och eller problem med viktig service introduceras [24].

Som tidigare diskuterats är det vanligaste hoten mot processen under överföringen av ny mjukvara, det vill säga fjärranfall. Men faktum är att det fysiska skyddet hos en IoT-enhet också är viktigt, exempelvis att skydda portar som finns på kretskortet. Via en Joint Test Action Group (JTAG) port kan man ofta läsa ut information ur minnet, genom att neka denna portanvändning skyddar man sig på ett effektivt sätt.

3.6.2 Implementering

Först kommer en enhetshanteringstjänst att upplysa anslutna enheter i nätverket om att det nu finns en OTA-uppdatering tillgänglig. Enhetshanteringstjänsten ger enbart högt betrodda enheter i form av koordinator, tillgång till sin tjänst för att minimera att hackers eller att buggar i mjukvaran gör det möjligt att föra in skadlig kod.

Genom att stegvis informera och rulla ut nya OTA-uppdatering minskar man risken för överbelastning av servrar. En stegvis uppdateringsmetod tillåter också att allvarliga problem dyker upp före full distribution, vilket begränsar antalet konsumenter som kan drabbats negativt.

Efter att IoT-enheten har fått reda på att en uppdatering finns tillgänglig av koordinatorn måste den ladda ner denna. Det finns en rad metoder för en IoT-enhet att hämta en uppdatering, en enkel metod är att hämta denna från specifik uppdateringsserver. Eftersom enheten vanligtvis redan är ansluten till molnet via en kanal som använder protokollet kan man använda detta som alternativ.

(22)

När IoT-enheten är ansluten till källan för OTA-uppdateringen måste den kontrollera dess giltighet. Detta eftersom filen kan blivit skadad i överföringsprocessen men också att en “man-in-the-middle" attack kan ha skett. Denna verifiering kan ske på ett antal olika sett, till exempel, genom att IoT-enhetens OEM signerar filen med dess kodsigneringscertifikat och bifogar versionsnummer [10]. Se figur 13 nedan för en OTA-uppdateringsprocess.

Figur 13: Exempel på en implementering av en OTA-uppdateringsprocess [10]

3.6.3 Zigbee Over-The-Air Terminologi

Zigbee Over-The-Air Upgrading Cluster är en samling av bibliotek som används som riktlinjer för alla Zigbee teknologier. Dessa bibliotek tillhandahåller ett leverantörsoberoende sätt att uppdatera enheters mjukvara. När det kommer till säkerhet fokuserar standarden på tre huvudområden: filverifikation, filtransport samt filkryptering. Huvudområdena har sedan delats in i fem olika aspekter: Sekretess, Integritet, Autentisering, Tillgänglighet och

Oförnekbarhet [25].

Sekretess: Kravet är att ingen tredje part ska kunna läsa data som den inte är avsedd för att

göra.

Integritet: Kravet är att mottagaren ska kunna upptäcka om data har ändrats mellan den

tidpunkt då den ursprungligen skickades till tidpunkten då paketen mottogs av av den avsedda mottagen. Modifieringar av tredje part ska alltså kunna upptäckas.

Autentisering: Det här är egenskapen där identiteten för avsändaren av data kan verifieras

av den avsedda mottagaren.

(23)

Oförnekbarhet: Detta beskriver det hinder som omöjliggör att avsändaren förnekar att denne

är avsändaren. OTA Upgrade Cluster tar ej hänsyn till denna punkt [25].

För att bli Zigbee Certified krävs det att produkten har implementerat vissa funktioner enligt de riktlinjer som teknologin ger. Hur det implementeras beror helt på vilken applikationsstandard som används i grunden. Det vill säga det kan skilja sig mellan exempelvis Zigbee och Zigbee Smart Energy som är två olika teknologier, där Zigbee Smart Energy adderar ytterligare säkerhetsaspekter utöver de som är definierade i Zigbee [25].

3.7 IKEA TRÅDFRI

IKEA TRÅDFRI i sin standardutformning kommer i paket bestående av en gateway, tre ljuskällor samt en fjärrkontroll. Gatewayen tillsammans med IKEA Home Smart App applikation för Android eller iOS gör det möjligt att skapa grupper med ljuskällor och styra dem på olika sätt. Gatewayen fungerar som en koordinator i nätverket som ansluter dina ljuskällor till TRÅDFRI appen via ditt lokala WiFi-nätverk i hemmet, se figur 14 nedan. Utan gatewayen är det inte möjligt att styra källorna via appen utan endast då via medföljande fjärrkontroll. Därav är en gateway inte krav för att få ett fungerande system, men däremot ett krav för att få tillgång till alla funktioner [26].

IKEA arbetar aktivt med säkerheten kring deras produkter och har vidtagit flertalet säkerhetsåtgärder för att se till att deras produkter är säkra och uppdaterade. Till exempel använder IKEA:s smarta belysningsprodukter 128-bitarsstandarden AES för kryptering och har erhållet certifieringen Zigbee Certified Product [25, 27].

Figur 14: Exempel på hur ett IKEA TRÅDFRI system kan se ut

3.7.1 OTA i TRÅDFRI

För att OTA-uppdateringar ska nå PAN-enheter som lampor eller en fjärrkontroller måste systemet innefatta en koppling till internet. TRÅDFRI:s gateway är förbindelsen mellan PAN-nätverket och internet och har en publik http-server som den hämtar alla uppdateringar från. När det finns en ny uppdatering för en enhet i nätverket agerar gatewayen servern som distribuerar ut uppdateringen till alla noder på PAN. Om systemet skulle sakna en gateway skulle PAN-enheterna inte få möjlighet till uppdateringar utan en människa-maskinintegration [6].

(24)

Uppdateringsprocessen på gatewayen är sen tidigare känd och innehåller ett par olika säkerhetsmekaniker, se figur 15 nedan. En av dem är en 512 byte lång digital signatur som finns i slutet av uppdateringsfilen, vilket genereras genom krypteringssystemet Rivest-Shamir-Adleman (RSA). Den digitala signaturen säkerställer autentiseringen mellan gatewayen och servern. En annan säkerhetmekanism som är implementerad i gatewayen är Secure Hash Algorithm (SHA) som används för att säkerställa uppdateringsfilens integritet. Detta gör den genom att räkna ut en kontrollsumma som sedan jämförs med ett hashvärde ur en hashtabell [6].

(25)

4 Resultat

Kapitlet ger en översiktlig beskrivning av den empiriska domän som ligger till grund för denna studie. Vidare beskrivs empirin som samlats in för att ge svar på studiens frågeställningar.

4.1 Litteraturöversikt

Innan Zigbee 3.0, applicerades applikationsprofiler ovanpå den grundläggande Zigbee-stacken. Dessa utvecklades för att specificera OTA-meddelanden som krävs för att få enheternas respektive interoperabilitet beroende på inom vilken teknologi. Zigbee 3.0 introducerade ett allmänt beteende som är oberoende för alla Zigbee teknologier [28]. OTA-uppgraderingsfunktionen för programvaruppdateringar under drift säkerställer att enheter som redan installerats i samhället kan underhållas genom mjukvaruuppdateringar. Denna uppgraderingsfunktionen är frivillig att implementera men tillverkare uppmuntras att stödja detta enligt Zigbee Alliance [29].

Zigbee standarden inkluderar säkerhetsåtagande samt förslag på säkerhetsåtgärder för att skydda kommunikationen mellan noder, men har däremot aldrig hävdat att alla dessa måste implementeras för att uppnå en Zigbee-certifiering. Säkerhetsvalen med tilläggande åtgärder för produkterna lämnas alltså åt tillverkaren [30].

Närmare granskning av OTA Cluster XML-filen av Zigbee-certifikatet för TRÅDFRI E27 LED Bulb bekräftade att den följer OTA header-formatet, däremot när det gäller strukturen av uppgraderingsfilen visar certifikatet att IKEA inte uppfyller de krav som ställs för verifiering. Genom att ladda ner OTA Cluster XML-filen på Zigbee Alliances hemsida får man full tillgång till certifikatet [27]. Mer om detta under 5.1 Frågeställning 1. Se figur 16 nedan för ett utdrag ur certifikatet.

Figur 16: Utdrag ur certifikatet [27] <pics label="OTA upgrade image">

<picsItem>

<itemNumber>OUI1</itemNumber>

<feature>Is the OTA upgrade file format supported?</feature>

<reference>11.4</reference> <status>M</status> <support>true</support> </picsItem> <picsItem> <itemNumber>OUI2a</itemNumber>

<feature>Is the OTA upgrade file format supported with the ECDSA Crypto Suite 1 signature

tag?</feature> <reference>11.4.6</reference> <status>O.1</status> <support>false</support> </picsItem> <picsItem> <itemNumber>OUI2b</itemNumber>

<feature>Is the OTA upgrade file format supported with the ECDSA Crypto Suite 2 signature

tag?</feature>

<reference>11.4.9</reference> <status>O.1</status> <support>false</support> </picsItem>

<note ref="O.1">A device SHALL support OUI2a and/or OUI2b.</note> </pics>

(26)

I detta fall uppfylls inte kryptering med hjälp av ECDSA, en algoritm som Zigbee Alliance rekommenderar [27]. Enligt Zigbee OTA Cluster Library är det upp till företaget att bestämma om dessa två funktioner är viktiga för deras enhet, dessutom ges det utrymme för företaget att använda alternativ säkerhet istället för ECDSA. Skulle ett företag välja att implementara annan verifieringssäkerhet på uppgraderingsfilen skulle det kunna ersätta Zigbee Alliances rekommendation [25].

Certifikatet kräver att OTA-header formatet innehåller en fil-identifierare vars värde är fyra unika bytes som används för att enkelt kunna se om uppgraderingsfilen är en OTA-uppgraderingsfil. Zigbee Alliance har förbestämt denna till ”0x0BEEF11E” [25]. Se figur 17 nedan.

Figur 17: Utdrag ur Zigbee Library Specification [25]

Som man kan se i utdraget ur certifikatet i figur 16 följer TRÅDFRI detta krav men utifrån IKEA:s uppdateringsfiler kan man se att de har bytt ut den förbestämda identifieraren till ”NGIS” eller ”SIGN” i little endian, något som studien i Linköping kom fram till [6].

Vid en observation där TRÅDFRI E27 LED Bulb hämtar en modifierad uppdateringsfil där fil-identifieraren är ändrad till en annan än den förbestämda, väljer TRÅDFRI E27 LED Bulb att inte svara på uppgraderingsförfrågan och på så sätt skydda sig från en modifierad fil. Se figur

18 nedan.

Figur 18: Uppdateringsprocess med modifierad fil-identitetsbeteckning

Vidare visade litteraturöversikten att det är upp till varje Zigbee Alliance lösning att specifiera vad som gäller för just den. Till exempel en standard med strikt säkerhet (som Zigbee Smart Energy) kräver filsignatur samt kryptering i både nätverks- och applikationslagret jämfört med Zigbee som inte har dessa krav.

Slutligen observerades det i certifikatet för TRÅDFRI E27 LED Bulb att IKEA svarar nej på frågan om det är möjligt att nedgradera mjukvara [27]. Experimentresultatet visade dock andra svar, mer om detta under 4.2 Experiment samt 5 Analys.

zigbee2mqtt:info 2020-05-11 10:34:12: Updating 'TRADFRI' to latest firmware

zigbee2mqtt:info 2020-05-11 10:34:12: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload

'{"type":"ota_update","message":"Updating 'TRADFRI' to latest firmware","meta": {"status":"update_in_progress","device":"TRADFRI"}}'

zigbee2mqtt:error 2020-05-11 10:35:14: Update of 'TRADFRI' failed (Timeout: device did not

request any image blocks)

The value is a unique 4-byte value that is included at the beginning of all ZigBee OTA upgrade image files in order to quickly identify and distinguish the file as being a ZigBee OTA cluster upgrade file, without having to examine the whole file content. This helps distinguishing the file from other file types on disk. The value is defined to be “0x0BEEF11E”.

(27)

4.2 Experiment

Genom att applicera experimentmetoden beskriven i avsnitt 2.5 Metod för experiment sker en rad med händelser. Till en början initieras nätverket och alla routrar och noder tillfrågar koordinatorn om någon ny uppdatering finns tillgänglig. Koordinatorn har i detta fallet inga rutiner för OTA-uppdateringar och svarar därför att inga nya uppdateringar är tillgängliga. Se

figur 19 nedan.

Figur 19: Inga nya uppdateringar tillgängliga

Vidare skickas kommandot zigbee2mqtt/bridge/ota_update/update med payload TRADFRI som är friendly_name för TRÅDFRI E27 LED Bulb från MQTT Explorer vilket anropar uppdateringsrutinerna på ZigBee2MQTT. HTTP-länken med gammal mjukvara för TRÅDFRI E27 LED Bulb hämtas och skickas vidare till koordinatorn. Eftersom versionsjämförelsen i ZigBee2MQTT är utebliven notifieras TRÅDFRI E27 LED Bulb om att en ny uppdatering finns tillgänglig. TRÅDFRI E27 LED Bulb accepterar förfrågan om uppdatering och en OTA-uppdatering initeras.

Observationen som gjordes gav en bild av hur av uppdateringsprocessen för en PAN-enhet ser ut. Se figur 20 nedan.

Figur 20: Sekvensdiagram av uppdateringsprocessen under experimentet

zigbee2mqtt:info 2020-05-23 08:48:17: Connecting to MQTT server at mqtt://192.168.0.106:1883 zigbee2mqtt:info 2020-05-23 08:48:17: Connected to MQTT server

zigbee2mqtt:info 2020-05-23 08:48:17: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload

'online'

zigbee2mqtt:info 2020-05-23 08:48:17: MQTT publish: topic 'zigbee2mqtt/TRADFRI',

(28)

När OTA-uppdateringen är slutförd bekräftar TRÅDFRI E27 LED Bulb genom loggen att mjukvaruversionen negraderades från version ”2.3.007” till ”1.1.1.1-5.2.0” och bekräftas ytterliggare genom en förändrad datumstämpel. Se figur 21 nedan.

Figur 21: Ett utdrag ur Zigbee2MQTT loggen

"type”: ota_update",

"message”: ”Finished update of 'TRADFRI',

from '{\"softwareBuildID\":\"2.3.007\",\"dateCode\":\"20190520\"}' to '{\"softwareBuildID\":\"1.1.1.1-5.7.2.0\",\"dateCode\":\"20160927\"}'", "meta":{ "status”: update_succeeded", "device":"TRADFRI", from":{ "softwareBuildID":"2.3.007", "dateCode":"20190520" }, "to": { "softwareBuildID":"1.1.1.1-5.7.2.0", "dateCode":"20160927" } }

(29)

5 Analys

Kapitlet ger svar på studiens frågeställningar genom att analysera insamlad empiri och teoretiskt ramverk.

5.1 Frågeställning 1

Hur hanteras säkerheten med OTA-uppdateringar på TRÅDFRI:s PAN?

Som tidigare nämnts inkluderar Zigbee standarden säkerhetsåtagande samt förslag på säkerhetsåtgärder för att skydda kommunikationen mellan noder, men har däremot aldrig hävdat att alla dessa måste implementeras för att uppnå en Zigbee-certifiering. Då TRÅDFRI serien är certifierat av Zigbee Alliance visar det att produkterna är kompatibla med andra Zigbee system samt att det uppnått en viss nivå av gemensam säkerhet. Med tanke på att säkerhetspolicyn lämnas åt tillverkarna kan de i många fall ifrågasättas, vilket stärks av resultatet från denna studie. Autentiseringspolicyn, lagring av autentiseringsdata och drifttagningsmetoden avgör hur säkert ett Zigbee nätverk är. Men framförallt hur man hanterar systemets mest osäkra del, nätverksnyckeln. Nätverksnyckeln används av alla noder i nätverket och även om den anses överföras på ett säkert sätt genom en krypterad länknyckel är denna länknyckel ofta av den globala typen, kallad Trust Center Link Key. Vilket även i IKEA:s fall vilket bekräftas vid närmare analys av certifikatet. Ett utdrag ur detta kan ses i figur 22 nedan. Resultatet blir att nätverket blir mottagligt för exponering.

Figur 22: Utdrag ur certifikatet [27]

Eftersom kravet är ”Mandatory” (M) kräver Zigbee Alliance att produkten tillåter användning av den numera globalt kända Zigbee Trust Center Link Key som tidigare nämts, allt eftersom denna möjligör bakåtkompabilitet med äldre Zigbee enheter [31]. Se figur 23 nedan. Enligt resultatet, grundar sig problemet i att Zigbee 3.0 inte har några applikationsprofiler utan definerar ett ”Base Device Behavior” som antar och anpassar sig efter en väldigt tidig version av Zigbee, kallad Home Automation.

Figur 23: Utdrag ur Zigbee Specification [30]

Att tillåta bakåtkompabilitet leder till att man även tillåter gamla säkerthetsaspekter, varav problemet i detta fall således inte är hos IKEA utan i själva standarden som marknaden ska implementera efter.

<pics label="[LK] Link keys"> <picsItem>

<itemNumber>LK1</itemNumber>

<feature>Does the node contain the default global Trust Center link key?</feature> <reference>6.3</reference>

<status>M</status>

<support>true</support> </picsItem>

9923 The default value for the centralized security global trust center link key shall have a 9924 value of 5A 69 67 42 99 24 65 65 41 6C 6C 69 61 6E 63 65 30 39 (ZigBeeAlliance09).

(30)

Resultatet presenterar Zigbee-certifikatet som bevisar att TRÅDFRI E27 LED Bulb inte följer kraven för ECDSA verifiering, skulle det kunna vara att de har imlementerat en egen verifiering av filen. Tidigare studier spekulerar att det skulle kunna vara i form utav en Checksum på hela filen för att bekräfta att inget har hänt med filen under transporten [6]. Detta är dock inget denna studie har lyckats verifiera.

Däremot visade vår observation att TRÅDFRI E27 LED Bulb nekar en uppgraderingsfil om den inte innehåller uppgraderingsidentifieraren ”NGIS” i början av filen. Detta innebär att även om det inte finns en gateway i nätverket som kan bekräfta att mjukvaran stämmer, kommer PAN-enheten ändå skydda sig mot modifierade filer då den gör en egen bekräftelse på filen lokalt på enheten.

Det visar att, även om det är mycket OTA-säkerhet i gatewayen har IKEA implementerat säkerhet i PAN-enheten. Om IKEA inte hade implementerat någon säkerhet på PAN-enheten hade det varit möjligt att ta emot vilka filer som helst, exempelvis skadlig mjukvara.

IKEA:s implementation av Zigbee OTA i IKEA TRÅDFRI kan diskuteras enligt de säkerhetsaspekterna som omfattas av Zigbee OTA Upgrade Cluster tidigare nämnda i avsnitt

3.5.3 Zigbee Over-The-Air Säkerhet.

Filverifikation: Början på varje uppdateringsfil innehåller alltid fyra unika bytes kallat

”NGIS”. IKEA implementear detta skydd för att PAN-enheten enbart ska godkänna filer som kommer från IKEA. Utifrån observationen då PAN-enheten inte accepterade en modifierad fil, visar att det är troligt att det finns någon form av säkerhet.

Filtransport: Zigbee:s nätverkslager skyddar all transport av data mellan noder med hjälp av

en nätverksnyckel. Som tidigare nämnts använder IKEA den globalt kända nyckeln vilket gör det väldigt enkelt i dagsläget att avlyssna datapaket.

Filkryptering: Resultatet visade även att IKEA inte följer Zigbee:s rekommendation när det

gäller att kryptera filerna med hjälp av ECDSA. Däremot visade studien från Linköping att uppdateringsfilen består av en signering .signed vilket kan betyda att IKEA har implementerat någon form av skydd men hur detta skyddet fungerar i praktiken är oklart [6].

5.2 Frågeställning 2

Går det att utföra mjukvarunedgradering på en TRÅDFRI PAN-enhet?

Då det är känt att IKEA har implementerat en stor del säkerhetsåtgärder inom OTA i deras TRÅDFRI gateway skyddar den nätverkets PAN-enheter på ett effektivt sätt. Att bara ha en produkt som kan utföra uppdateringar på PAN-enheterna är både enkelt och kostnadseffektivt för företaget. Enligt Zigbee-certifikatet som produkten är märkt med, accepterar inte produkten mjukvara med lägre versionsnummer än den befintliga. Däremot visade det sig genom att rikta om http-länken till en egengjord länk innehållande gammal mjukvara signerad av utgivaren, gjorde den exakt detta. Vidare illustrerade experimentet förutsatt att ett PAN-nätverk inte består av den officiella gatewayen går det att genomföra en mjukvarunedgradering. Detta tilläts på grund av att PAN-enheten inte har någon implementerad säkerhet när det gäller versionsjämförelse från OTA-uppdateringsfilen mot befintlig version på enheten. Säkerheten idag är implementerad hos gatewayen eftersom den som vanligtvis utför uppdateringen. Experimentresultatet har därmed verifierat hypotesen definierad under 2.1 Hypotes som löd:

Trådfri tillåter mjukvarunedgraderingar från tredje parts givet att den officiella gatewayen förbikopplas.

Eftersom experimentets resultat bevisade att det går att genomföra en mjukvarunedgradering uppstår en rad frågor kring säkerheten. Givet dagens implementering skulle sårbarheten enkelt

(31)

kunna exploateras för fientliga syften, exempelvis genom att nedgradera produkten till en tidigare version innehållande kända säkerhetsbrister som man sedan kan utnyttja.

Sårbarheten i dagens implementering hade förslagsvis kunnat lösas genom en likhetsgranskning inom OTA-uppdateringsprocessen i varje PAN-enhet. Varje individuell enhet kan då utifrån granskningen ta ett eget beslut om mjukvaran är av intresse. En sådan uppdatering skulle kunna distribueras genom OTA till dagens enheter specifikt för att lösa detta problem. Skulle det göras en uppdatering gällande en likhetsgranskning skulle alla PAN-enheter med en gateway vara skyddade. De PAN-enheter som inte har en gateway kommer inte bli uppdaterade förräns en gateway kopplas in. För att utöka skyddade PAN-enheterna skulle IKEA kunnat tillöka appen med funktioner vilket skulle göra den mer efterfrågad och därmed får kunder att köpa gatewayen.

Det framgick i resultatet att certifikatet, ifyllt av IKEA, visar att TRÅDFRI E27 LED Bulb inte kan göra en mjukvarunedgradering. Detta är något som Zigbee Alliance certifikatet indikerade att produkten ska vara skyddad från men denna studien visar att detta skulle vara möjligt.

(32)

6 Diskussion och slutsatser

Kapitlet ger en sammanfattande beskrivning av studiens resultat. Vidare beskrivs studiens implikationer och begränsningar. Dessutom beskrivs studiens slutsatser och

rekommendationer. Kapitlet avslutas med förslag på vidare forskning.

6.1 Resultat

Resultaten visar att filtransporten mellan noderna krypteras av nätverksnyckeln som är allmänt känd vilket innebär att risken för avlyssning är hög. TRÅDFRI:s gateway implementerar större delen av OTA-säkerheten då den naturligt agerar OTA-server. System utan gateway är fortfarande mottagliga för OTA-uppdateringar vilket visar att PAN-enheten verifierar att uppgraderingsfilen inte blivit modifierad, förmodligen i form utav en Checksum. Den visar dock även på brister när det kommer till versionsverifieringen.

Med en utomstående koordinator går det att lura PAN-enheten till att nedgradera sin mjukvara och möjligtvis införa mjukvara med tidigare kända problem.

Utan en officiell IKEA TRÅDFRI gateway kommer man inte kunna använda IKEA Smart Home App likväl som man inte kommer kunna uppdatera mjukvaran i enheterna automatiskt. Detta kan anses vara ett problem då det kan finnas befintliga eller upptäckas nya säkerhetsproblem som skulle behöva en patch. Vilket inte är möjligt då man saknar en enhet som distribuerar ut mjukvaran.

Att IKEA valde att implementera Zigbee standarden som tillämpar mindre antal säkerhetsparametrar jämfört andra teknologier som exempelvis Zigbee Smart Energy, beror förmodligen på kompabiliteten med resten av smarta hemmet marknaden. Smart Energy teknologien är delvis kompatibel med Zigbee men adderar ytterliggare säkerthetsaspekter utöver de som är definierade i Zigbee.

6.2 Implikationer

På grund av den ökande populariteten av IoT-enheter ökar kraven ur ett datasäkerhetsperspektiv. Datasäkerhetsperspektivet måste ta väsentligt större plats under utvecklingsprocessen likväl som under enheternas livscykel. Både gällande frågan om OTA-uppdateringars påverkan på integriteten men även hur ett etablerat företag inom IoT, som IKEA, implementerar dessa. En första kontakt med IKEA gjordes 2020-05-10 via mail, efter vidare mailkonversation presenterades våra resultat för deras Zigbee expert Ulf Axelsson. Axelsson besvarade med att han delade bilden av att TRÅDFRI E27 LED Bulb går att nedgradera men kunde inte rakt av förklara varför. Information skulle skickas vidare internt och inför vidare Zigbee-certifieringar skulle OTA protokollet ses över. Resultatet och slutsatsen som framgår i denna studie väntas därmed kunna bidra till vidare säkerhetsarbete hos IKEA såvväl som vid framtida forskning inom detta och liknande områden.

Då studien genomfördes som en fallstudie begränsades räckvidden, fokus var endast på TRÅDFRI E27 LED Bulb och därmed har det inte tagits hänsyn till hur andra TRÅDFRI-enheter hanterar de problem som tagits upp. Studien har heller inte genomförts eller tagit hänsyn till andra icke IKEA Zigbee system. Resultatet ska därför inte ses som en generalisering.

(33)

6.4 Slutsatser och rekommendationer

OTA-uppdateringar på TRÅDFRI plattformen sker förnuvarande endast på ett säkert sätt med TRÅDFRI:s gateway som koordinator. Vilket kan anses vara oroande då TRÅDFRI marknadsförs av IKEA som en produkt vars grundläggande funktioner inte kräver en gateway. Som tidigare nämnt använder IKEA den senaste versionen av Zigbee, 3.0, som är bakåtkompatibelt med tidigare versioner vilket leder till att gamla säkerhetslösningar fortfarande används i aktuella produkter. Varför det är såhär är svårt att svara på, men däremot är det klart att protokollet är mottagligt för exponering. Att ifrågasätta Zigbee Alliance och deras krav är också känsligt då de har gjort klart för sig att majoriten av säkerhetsaspekterna är upp till tillverkarna. Men om man ska landa i någon slags slutsats hamnar den mitt i mellan. Med en ökande popularitet för Zigbee som numera är världsledande kommer även med ett ansvar, ett ansvar som bör innebära ett tätare sammarbete mellan företag och organisationen. I slutändan handlar det om att adoptera och anpassa sig men framförallt lära sig av varandra. När det kommer till certifikatet erhållet från ZigBee Alliance visar det att IKEA inte har svarat med full medvetenhet om produktens säkerhet, vilket stärks av studiens resultat.

En rekommendation för framtida versioner av TRÅDFRI plattformen är att verifieringsmetoden bör implementeras i noderna istället för gatewayen. Resultatet blir då att användaren är skyddad oavsett om man väljer att använda den officiella gatewayen eller inte. Den publika http-servern från IKEA innehållande det senaste versionerna bör bli icke publik och därav skulle användare inte längre få tag på versionsnummer eller möjligheten att modifiera denna fil.

En ytterligare rekommendation och tillvägagångsätt för att lösa problemet med uppdateringar utan gateway skulle IKEA kunna använda sig av Bluetooth Low Energy i kombination med en utökad funktion IKEA Smart Home App. Genom att låta telefonen via applikationen hämta uppdateringen för att sedan överföra denna via Bluetooth Low Energy till exempelvis en lampa. Resultatet blir då att användare utan gateway även kan ta del av de mjukvaruunderhåll som IKEA erbjuder, vilket i längden förlänger produktens livscykel.

Syftet till att arbetet inledde med en litteraturöversikt var för att kunna ge rapporten en högre validitet. Då en litteraturöversikt tillåter läsaren att ta del av redan existerande fakta och åsikter kan läsaren skapa sin egna bild av ämnet.

Det kvalitativa experimentet som efterföljde valdes då arbetet söker efter ett beteende vid en viss händelse. Som beskrivet i 2.2 Arbetsprocess passar experiment för att beskriva processer och händelser. En annan anledning till att ett experiment valdes var på grund av tidigare studier som använt liknande utrustning och visat sig resultatrika.

6.5 Vidare forskning

Då denna studie endast täcker TRÅDFRI E27 LED Bulb finns det utrymme för att undersöka fler enheter inom TRÅDFRI-familjen. Andra Zigbee-certifierade IoT-system kan vidare undersökas genom att applicera metod och hypotes från studien, t.ex Philips och Samsung. I filen version_info.json länkas man vidare till en url innehållade mjukvara beroende på vilken enhet som önskas uppdatera. Dessa länkar innehåller den kompilerade mjukvarufilen som installeras på hårdvaran. Mjukvarufilen är av typen hex, det kan möjligtvis finnas metoder för att dekompilera denna fil. Genom dekompilering kan man översätta ett program som tidigare kompilerats till maskinkod eller bytekod till ett högnivåspråk. När kodfilen är tillbaka till en typ

(34)

som går att redigera i högnivåspråk finns det möjligthet att modifiera innehållet. Vidare forskning kring uppdatering med egen modiferad mjukvara kan vara intressant att undersöka närmare.

(35)

Referenser

[1] F. Winter och J. Lundström, ”Insamling av data i en uppkopplad miljö,” Umeå Universitet, 2017. [Online]. Available: http://www.diva-portal.org/smash/get/diva2:1103587/FULLTEXT01.pdf. [Använd 20 Juni 2020].

[2] Z. Alliance, ”ZigBee - What is ZigBee,” [Online]. Available: https://zigbeealliance.org/solution/zigbee/. [Använd 4 Maj 2020].

[3] IKEA, ”IKEA Fakta och Siffror 2018,” [Online]. Available: https://www.ikea.com/se/sv/this-is-ikea/about-us/ikea-fakta-och-siffror-2018-pub76beaa40. [Använd 4 Maj 2020].

[4] I. Howitt och J. Gutierrez, ”IEEE 802.15.4 low rate - wireless personal area network coexistence issues,” IEEE, New Orleans, 2003.

[5] T. L. Hoffman, Cellco Partnership Co, 2000. [Online]. Available: https://patents.google.com/patent/US6622017B1/en. [Använd 15 June 2020].

[6] M. Szreder, ”IoT Security in Practice,” [Online]. Available: http://www.diva-portal.org/smash/get/diva2:1362068/FULLTEXT01.pdf. [Använd 5 Maj 2020].

[7] Digikey, ”Episode 5: The “S” missing from IoT is for Security – Very Important!!,” Digikey, [Online]. Available: https://www.digikey.se/en/maker/blogs/2019/the-s-missing-from-iot-is-for-security. [Använd 5 Maj 2020].

[8] OWASP, ”IoT Top 10 2018,” Network World, 2018. [Online]. Available: https://owasp.org/www-pdf-archive/OWASP-IoT-Top-10-2018-final.pdf. [Använd 4 Maj 2020].

[9] J. Z. Javier Lopez, Wireless Sensor Network Security, Amsterdam: IOS Press, 2008.

[10] N. Lethaby, ”A more secure and reliable OTA update architecture for IoT devices,” [Online]. Available: https://www.ti.com/lit/wp/sway021/sway021.pdf. [Använd 5 Maj 2020].

[11] B. B. o. D. Paulin, ”Kvalitativ och kvantitativ undersökningsmetodik,” Chalmers, 25 Februari 2015.

[Online]. Available:

https://student.portal.chalmers.se/sv/chalmersstudier/programinformation/maskinteknik/kandid atarbete/Documents/20150225%20Vetenskapsmetodik%20förel%202%20PS.pdf. [Använd 5 Maj 2020].

[12] J. D. C. John W Creswell, Research Design: Qualitative, Quantitative, and Mixed Methods Approaches, SAGE Publications, 2017.

[13] J. A. M. Bonnie Kaplan, i Qualitative Research Methods for Evaluating Computer Information

Systems, 2005, pp. 30-31.

[14] D. Byrne, Research design, Los Angeles: CA: SAGE Publications, Inc, 2016.

[15] K. Kanters, ”Flashing the firmware on the CC2531 USB stick,” [Online]. Available: https://www.zigbee2mqtt.io/getting_started/flashing_the_cc2531.html. [Använd 5 Maj 2020]. [16] Koenkk, ”ZIGBEE2MQTT,” [Online]. Available: https://www.zigbee2mqtt.io. [Använd 4 Maj 2020]. [17] T. Nordquist, ”MQTT Explorer,” [Online]. Available: http://mqtt-explorer.com. [Använd 5 Maj

2020].

[18] I. Developers, ”IKEA Version Feed,” [Online]. Available:

http://fw.ota.homesmart.ikea.net/feed/version_info.json. [Använd 4 Maj 2020]. [19] D. Gislason, ”Zigbee wireless networking,” Newnes, 2007, p. Chapter 1.

[20] Z. Alliance, ”ZigBee - Why standards,” [Online]. Available: https://zigbeealliance.org/why-standards/. [Använd 5 Maj 2020].

[21] Z. Alliance, ”ZigBee - Ceftification,” [Online]. Available: https://zigbeealliance.org/certification/. [Använd 5 Maj 2020].

[22] E. Mosquitto™, ”An open source MQTT broker,” [Online]. Available: https://mosquitto.org. [Använd 20 May 2020].

[23] P. Jay M. Jacobsmeyer, ”Connection on a personal level,” Urgent Communications, [Online]. Available: https://urgentcomm.com/2007/11/01/connecting-on-a-personal-level/. [Använd 5 Maj 2020].

[24] J. Borgini, ”6 common challanges to IoT OTA updates,” [Online]. Available: https://internetofthingsagenda.techtarget.com/tip/6-common-challenges-to-IoT-OTA-updates. [Använd 5 Maj 2020].

Figure

Figur 1: Studiens omfång och avgränsningar
Figur 2: Studiens arbetsprocess
Figur 3: Layout av systemet
Figur 4: En överblick över kommunikationen [16]
+7

References

Related documents

Sellgren (2005) menar också att relationen mellan lärare och elev är centrala för elevens kunskapsutveckling, läraren bör visa engagemang och vara tillgängliga i elevernas strävan

Den lärare som låg närmast en konstruktivistisk syn vad gäller uppfattningar om undervisning och lärande i matematik tar uppgifter från matematikboken i minst

Tabell 12 visar frekvensfördelningen avseende kvinnliga respektive manliga författare till läroböcker i matematik och svenska i studiens skola E.. För läroböcker i matematik

På frågan om hur IKEA motiverar sina anställda svarar Maida att det inte är enkelt, den första saken som är viktig är stämningen i varuhuset samt att verkligen poängtera

Ett framgångsrikt kundklubbskoncept innehåller en kombination av ekonomiska och icke- ekonomiska förmåner, en väl balanserad blandning av dessa leder till att

We saw that the notion of culture involves individual and collective sense-making processes (in balance with sense-giving attempts by means of ‘official’ cultural values

Enligt deltagarna i undersökningen är detta det mest avgörande för hur de upplever sitt välbefinnande, de menar att alla andra situationer och faktorer i deras

De skogsplacerade Enercon verken har betydligt lägre produktion i förhållande till (kWh/m navhöjd), vilket förklaras med att verken utrustats med högre navhöjder