Sikkerhedsekspert: »IoT er som asbest. Om 20 år vil folk undre sig over, hvad vi havde gang i«

Illustration: Screenshot
Størstedelen af malwaretrafikken kommer nu fra Linux-enheder, fortæller sikkerhedsekspert Mikko Hyppönen.

Finske Mikko Hyppönen, en af verdens mest kendte it-sikkerhedseksperter, var hovedtrækplasteret under konferencen Netsecurity Summit, som netop har været afholdt i Oslo. Hans foredrag handlede denne gang om it-sikkerhed i fremtiden.

Den nære fremtid var en slags rød tråd gennem det hele. Mikko Hyppönen, som er forskningsdirektør i sikkerhedsfirmaet F-Secure, kom forbi en række forskellige sikkerheds-eksempler, som har det til fælles, at de kan blive et endnu større problem i morgen.

Unix-dominans

Et af de områder, Mikko Hyppönen talte mest om, var IoT (Internet of Things). Han begyndte med at fortælle, at operativsystemfamilien Unix, som fyldte 50 år sidste år, er i brug i et stort flertal af de computere, der findes i dag. I hvert fald hvis man inkluderer Linux-baserede operativsystemer. Både Androids og Apples operativsystemer bygger på Unix.

Et tredje, meget hurtigt voksende område er IoT-enhederne, som næsten udelukkende kører på et Linux-baseret operativsystem. For bare et tiår siden var Windows det dominerende operativsystem. Sådan er det altså ikke længere.

Dette mærkes på en række områder, blandt andet inden for kriminel brug af it.

»Tidligere var der næsten kun Windows-baseret malwaretrafik. Nu er der for første gang mere malwaretrafik, som kommer fra Unix, og primært fra Linux-baserede IoT-enheder,« fortalte Hyppönen.

»Vi har kun set begyndelsen. Bruger en ting strøm i dag, vil den før eller senere blive koblet til nettet,« mener han.

‘Hvad i helvede tænkte de på?’

»Jeg kalder det for it-asbest. Asbest var et fantastisk materiale, indtil det ikke var det længere. Om 20 år vil folk se tilbage på os og sige: ‘Hvad i helvede tænkte de på?’,« sagde Hyppönen.

Dårlig sikkerhed er så udbredt i IoT-enheder, at man let kan få det indtryk, at dette er reglen, der bekræfter undtagelsen. Et eksempel på dette er brugen af telnet, en gammel kommunikationsprotokol, som ikke er krypteret. Bedre alternativer har eksisteret i flere tiår.

»Telnet har gjort comeback på IoT-enheder. Jeg kan ikke forklare hvorfor,« sagde Hyppönen.

Selv om man ofte kan få det indtryk, at it-sikkerhedssituationen er blevet meget dårligere de seneste år, med omfattende angreb og store konsekvenser, så mener Hyppönen, at dette egentlig ikke er tilfældet. Som et eksempel på dette henviste han til sikkerheden i operativsystemer som Android og IOS.

»Disse ligger nærmere på en spilkonsol som Playstation end på computere. Du kan lave programmer til dem, men du kan ikke uden videre køre disse, uden at de først bliver godkendt af leverandøren,« sagde Hyppönen.

På de almindelige computere er der i udgangspunktet meget lidt, som forhindrer en bruger i at downloade et ondsindet program og køre dette.

»De [mobiloperativsystemerne, red.] er trods alt ikke perfekte sikkerhedsmæssigt. De er lette at miste og har færre filtre mod phishing. Blandt andet har de i browseren et mindre adressefelt, som kan afsløre noget,« sagde Hyppönen.

Amerikansk dominans

»Sikkerheden bliver dog stadigt bedre, selv om det ikke føles sådan. Mist ikke håbet! Problemet er, at fjenden ændrer sig hele tiden,« sagde han.

Noget af skylden for dette billede må pressen nok tage. Vi skriver stort set kun om det, som går galt.

»Fungerer sikkerheden, bliver det ikke til overskrifter i pressen. Succeserne forsvinder, som fyldte linjer i Tetris. Der er ikke nogen, der bliver takket for, at katastrofer ikke sker,« sagde Hyppönen.

Hyppönen kom i foredraget med en lille stikpille til blandt andet europæiske it-selskaber og myndigheder.

»De fleste af tjenesterne, vi bruger, kommer fra USA. Dette gælder også browsere, operativsystemet, CPU’en og så videre. Men de fleste af brugerne kommer fra helt andre steder. Hvis du tager de nordamerikanske brugere væk, vil det næsten ikke mærkes,« sagde han.

»World Wide Web blev opfundet i Europa. Så vi gør noget galt! Hvor er de europæiske markedsledere inden for it, spurgte Hyppönen, før han – måske halvt for sjov – nævnte, at IT-kriminalitet muligvis er en undtagelse. Megen af denne aktivitet foregår i de tidligere sovjetrepublikker.«

»Jeg håber, det bliver bedre i fremtiden,« sagde Hyppönen,

Kryptovaluta

Dette førte ham til emnet bitcoin og anden kryptovaluta.

»Kryptovaluta vil fortsat være én af megatendenserne, fordi det hjælper kriminelle med at skjule pengestrømme,« sagde Hyppönen.

Kryptovaluta bruges blandt meget andet som løsepenge i angreb med ransomware.

»Problemet med ransomware vil fortsat stige, så længe folk fortsætter med at betale,« mener Hyppönen.

Dyre ‘exploits’

Selv om Saudi-Arabien fuldstændig afviser, at landets kronprins, Mohammed bin Salman, har haft noget at gøre med den tidligere omtalte hacking af Amazon-chef Jeff Bezos mobiltelefon, omtalte Hyppönen hændelsen som en konspirationsteori, der faktisk kan være sand.

Forbindelsen mellem de to er den saudiarabiske journalist Jamal Khashoggi, som arbejdede for The Washington Post, da han blev dræbt på Saudi-Arabiens konsulat i Istanbul i 2018 - samme år som hackingen fandt sted. Jeff Bezos ejer The Washington Post gennem selskabet Nash Holdings.

»Bezos havde en iPhone, som blev angrebet med en exploit (software, som udnytter en sårbarhed i et it-system, red.), hvilket er både vanskeligt at gøre og dyrt. De koster ofte millioner af dollars. Derfor bliver de kun brugt af folk som disse, der ikke bekymrer sig om prisen,« mener Hyppönen.

Domæne for krigsførelse

Selv om myndighederne i mange lande er stadigt mere involverede i hacking via internettet, så mener Hyppönen ikke, at dette er noget, der vil berøre de fleste af os direkte.

»De fleste er ikke interessante nok. Er man derimod interessant nok, har man et stort problem,« sagde Hyppönen.

Med dette mener han, at myndighederne, i modsætning til it-kriminelle, ikke giver op. Kriminelle går videre til et nemmere offer, hvis de møder modstand. Myndighederne derimod, som måske har en general, der har beordret angrebet, fortsætter, indtil målet er nået, sagde Hyppönen.

Med ny teknologi opstår der også nye arenaer for krigsførelse. Både og fly har åbnet for krigsførelse til havs og i luften. It har åbnet muligheden for cyberkrig.

»Disse områder erstatter ikke de tidligere, men kommer i tillæg til de eksisterende. Så hvad er det næste? Kunstig intelligens,« sagde Hyppönen.

»Jeg tror, at dette vil øge sandsynligheden for konflikt,« sagde Hyppönen og henviste til en tale, som Vladimir Putin, Ruslands præsident, holdt i 2017:

»Den, som bliver førende inden for dette område, vil blive verdens hersker.«

»Hvis et land melder ud, at de snart har får adgang til overmenneskelig intelligens, vil de andre lande enten forsøge at stjæle eller ødelægge denne,« mener han.

Mikko Hyppönen tror dog ikke, at vi vil se for eksempel hjernesimulatorer i vores livstid.

Artiklen er fra Digi.no.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (38)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Anne-Marie Krogsbøll

"IoT er som asbest. Om 20 år vil folk undre sig over, hvad vi havde gang i"

Vi er jo en del, som begyndte at undre os allerede for 10 år siden. Men det bliver det ikke mindre sandt af.

Gad vide hvordan det ser ud på alle de Iot-enheder, vore politikere og forskere mener skal redde sundhedsvæsnet? Jeg vil blive forbavset, hvis det ser kønt, forsvarligt og gennemtænkt ud.

  • 14
  • 0
Christian Nobel

.. at "artiklen" er en oversættelse fra norsk, og denne igen er baseret på uddrag fra en tale.

Men det fremstår altså temmeligt rodet, der tales lidt i øst, for pludselig at adressere et problem i vest, osv.

Konklusionen er sådan set god nok, men nogen gange kunne man godt tænke sig lidt dybere og løsningsorienterede artikler.

  • 13
  • 2
Torben Rune

Havde man vidst hvor farlig asbest var inden det blev taget i brug, var det ALDRIG blevet brugt. Analogien til IoT må så åbenbart være, at vi ikke skal tage IoT teknologien i anvendelse. Den analogi er jeg ikke enig i.

De eksempler Mikko Hyppönen - som er ansat i F-secure (bør måske fremgå af artiklen) - er i mine øjne ikke noget som peger på at IoT er "farlig" som asbest. Alle eksemplerne gå på dårlig implementering, dårlige anvendelser og konsekvenserne heraf.

Og ja, dårlig sikkerhedsimplementering er et kæmpe problem - men det er det altså i alle systemer. Og det er godt at firmaer som F-secure gør opmærksom på det og har løsninger, men derfor er der ingen grund til at udskamme IoT.

Det store antal IoT enheder - er det så et problem. Næppe. Hvis en cyberkrig rammer et land, vil man nok ikke hacke millioner af IoT enheder, men et par kraftværker eller tre - og dermed ramme et meget stort antal husstande - hvis det er det man vil.

  • 4
  • 7
Jens Madsen

Problemet er vel operativsystemet. Hvis man udvikler en applikation til et bestemt formål som et embedded system, uden at anvende et operativsystem, så er der jo kun de features som man lægger ind i koden. Altså, udviklerne bestemmer selv, hvilke bagdøre de vil lægge ind. Men i virkeligheden, er det måske problemet... Udviklerne skal ikke stå til regnskab for deres handlinger - det skal kunderne, der er så dumme at købe produkterne.

  • 6
  • 2
Anne-Marie Krogsbøll

Torben Rune:

De eksempler Mikko Hyppönen - som er ansat i F-secure (bør måske fremgå af artiklen) - er i mine øjne ikke noget som peger på at IoT er "farlig" som asbest. Alle eksemplerne gå på dårlig implementering, dårlige anvendelser og konsekvenserne heraf"

Ja, det er sikkert rigtigt. Som jeg selv er ved at nå frem til, så er den menneskelige faktor nok ofte den farligste - men den er - heldigvis, for vi ønsker jo ikke at være robotter - fuldstændigt umulig at slippe af med. Og derfor synes jeg ikke rigtigt, at argumentet holder, for det følger jo skabelonen fra fortalerne fra våbenlobbyen i USA (sorry): At det ikke er våbnene, der er farlige, men alle idioterne med våben - og derfor skal man ikke regulere....

Det store antal IoT enheder - er det så et problem. Næppe. Hvis en cyberkrig rammer et land, vil man nok ikke hacke millioner af IoT enheder, men et par kraftværker eller tre - og dermed ramme et meget stort antal husstande

Hvem siger, at man ikke gør begge dele? Eller at man faktisk netop går målrettet efter private enheder, fordi disse - måske - er dårligere sikrede, og kan rammes i ét hug? Eller fordi man derved måske lettere kan få adgang til vital infrastruktur (indrømmet - det har jeg ikke forstand på, jeg gætter her)?

  • 3
  • 3
David Svarrer

Den gode Hyppönen, siger iflg. artiklen:

»Jeg kalder det for it-asbest. Asbest var et fantastisk materiale, indtil det ikke var det længere. Om 20 år vil folk se tilbage på os og sige: ‘Hvad i helvede tænkte de på?’,« sagde Hyppönen.

Jeg kan simpelthen ikke tro at han har sagt sådan noget vås. Ikke for at nedgøre manden, for han har virkelig min respekt, men - den her artikel kan ikke stå uimodsagt:

IOT er overhovedet ikke hverken farligt eller umuligt. Det er sandt, at der ikke på markedet idag, inklusiv markedet for Raspberry PI 4 B+, Arduino, ESP32 og alle de andre devices - IKKE - findes noget device, som er sikkert.

På den anden side, er Hr. Hyppönen så tilstrækkeligt gammel i gårde, at enten er han blevet groft fejlciteret, eller også har han ikke været i sit sædvanlige gode es.

Jeg arbejdede professionelt i 1994 og 1995 (Det er altså over 20 år siden!) med hardware løsninger til at standse viruser. Dengang havde vi ikke så mange kategorier af dem - der var Viruser og Orme.

Men så kom Microsoft med sin "Windows 95" - som var en katastrofe ovenpå Windows 3.X - og som stadig i sin seneste kloning - hedder det ikke Windows 365 nu - er lige slem. Systemet har aldrig været et såkaldt Ring-0 system. Et Ring-0 system er karakteriseret ved at systemsikkerhed mod skrivning er fastlagt i allerførste opstart, ved programmering af den hardware-komponent (som findes i enhver computer) der hedder Memory Manageren. Denne hardware-komponent modtager nogle instruktioner om hvilke dele af memory (inklusiv harddisk) må skrives til, og hvilke må ikke. Et ÆGTE sådant system forhindrer - eller KAN bringes til at forhindre - helt ned på hardware niveau - at visse sektorer i hukommelsen eller på harddisken kan blive skrevet til.

Men da Windows ikke er et Ring-0 system, så findes der ikke metoder, som er hardware-låste, som forhindrer dette, og så er der kun "Trial-and-Error" tilbage - en fantastisk gave til McAfee og Kaspersky og alle de andre blodsugere, der udmærker sig ved, at de ved ganske særlige højtider, da frigiver de scanneren til virus der endnu ikke er kommet på markedet :-) :-) ...

Man tager sig til hovedet i disse år.

Der findes - stadig på hardware-niveau - chips - altså - integrerede kredsløb - der indeholder hukommelse som ikke kan ændres uden hardware-indgriben. Navnene på disse er mange - men en særlig slags er EEPROM'en - som stadig findes. Der findes endda CMOS-RAM'er, eller flash-disks, som har en hardware-kontakt (en switch, til manuel brug), som forhindrer skrivning til hukommelsen.

Og stadig citeres Hyppönen for at påstå, at IOT devices er som asbest - med henvisning til at de ikke kan beskyttes, at de er en fare for netværker osv. osv. -

Men. Lad os tage yderligere fat i ikke kun IOT, men også NETVÆRKS-systemer - CISCO, DELL, og alt hvad de nu hedder. Disse systemer er gefundenes gefressen for hackere - for de kan jo hackes (!). Og også her ser det ud til at vores kære såkaldte sikkerhedseksperter giver fortabt. Man må overveje, om det at være ekspert, består i at være en tidligere PERT? (Pert: Professionel Elektronik Resource og Tekniker)?

Jeg skriver dette her, fordi det er så hamrende hamrende simpelt at standse disse der hackere, og at gøre det effektivt, en gang for alle, og uden at man er nødt til at kigge sig tilbage for at se om tårnet hælder. (Ref: Den verdensberømte fabel om Kongen og Tårnbyggeren).

Løsningen er lige så enkel som den er billig, og som den kan gennemføres: GENINDFØR EPROM'er - eller genindfør den fysiske lås på hukommelse. Det kan fuldstændigt udelukke enhver form for hacking, fordi - der er intet sted, hackeren kan placere sit malware. Ved eftersyn (via software, f.eks. IOS software i de avancerede routere), kan hackeren konstatere at han ikke mere kan tilte systemet, ikke mere kan uploade sin malware - for der er ikke noget memory hvori den kan sidde. Koden eksekveres fra en PROM, og hvis der skal skrives til denne PROM, skal der foretages et fysisk indgreb - altså - en switch skal toggles.

Grundet Microsoft's stunt med at blande kode og data (som de fik virkeligt promoveret via deres Macro'er i Word!), er der opstået en meget sårbar variant af et ellers stabilt system, idét man, i et sådant system, kan skrive data ned i et område, hvor instruktions-pointeren senere vil komme forbi, og dermed indlægge maliciøs kode, der så kan lave fis og ballade i systemet. Der er andre - hardware (naturligvis) - metoder som man kan anvende overfor den slags infektioner, og disse kan så anvendes til ganske enkelt at foretage sig en GENSTART af systemet (som har PROM-eksekverbar kode) - hvorved enhver form for sådan malware vil blive slettet ganske enkelt af at strømmen bliver taget.

Det er derfor aldeles grok uforståeligt, hvordan en hel verden af system-eksperter kan fortsætte med at vedligeholde den uvidendes tankesæt, når det er så såre simpelt at gøre noget helt radikalt ved det.

Det er så grelt, det her, at dette - som journalisten her på Version2 - citerer Hyppönen for - er blevet det gængse latin overalt i verden. Jeg har skrevet mig snart gasblå i kraniet om dette her - men til ingen verdens nytte.

DERFOR, har jeg for ganske få ugers tid siden nu startet et samarbejde med en kinesisk leverandør af Arduino - og har også kontaktet Arduino.cc selv - og håber at få skabt resonans for - at lave en demonstrations-computer, hvor det ovennævnte princip bliver anvendt.

Jeg tænker at denne her fuldstændigt til det vanvittige overdrevne angst er ved at tage pippet fra virksomhederne - særligt i disse IOT-tider - og - det er ganske og aldeles uvirkeligt og uforståeligt, da min virkelighed, med computere på både kontor-niveau og teknisk niveau - fortæller mig at dét at komme disse hackere til livs på IOT-systemerne, kun er et spørgsmål om nogle ganske og aldeles små, lette indgreb, men med massiv effekt.

Jeg står til spank, straf, tæsk og korrektion af enhver der måtte mene at jeg er ganske idiotisk - sålænge det bliver fremført med konkrete argumenter og konkret teknologisk indsigt i, hvorfor det IKKE kan lade sig gøre at blokere malware fra at komme ind i programmerings-hukommelsen ved ganske enkelt at spærre for skrivning ind i denne hukommelse, med en helt almindelig kontakt.

Skulle nogen af jer have lyst til at deltage i eksperimentet, så skal I være hjertens velkomne - Jeg er den eneste med mit navn i hele verden - find mig på sociale medier - og ellers vil jeg skrive en artikel til version2.dk, når vi har gennemført eksperimentet med succes - og vi vil så fortælle jer alle hvordan det gik, hvad vi gjorde, hvordan vi gjorde - det vil vi måske offentliggøre på instructables (det er en site, hvor man deler viden med hinanden).

Venlig hilsen Rational Intuitive (Danmark, Kenya, Mauritius) David T. Svarrer RED Architect & CEO

  • 3
  • 13
Henrik Størner

Det store antal IoT enheder - er det så et problem. Næppe. Hvis en cyberkrig rammer et land, vil man nok ikke hacke millioner af IoT enheder, men et par kraftværker eller tre

Jo, antallet er et problem. Det er forholdsvis nemt at indrullere nogle hundredetusind IoT enheder i et botnet, og så bruge botnettet til at angribe kraftværket. Meget nemmere end at gå direkte efter kraftværket. Det var f.eks. fremgangsmåden da DynDNS blev DDoS'et. Og hvis DNS ikke virker - tjah, så er det egentlig lige meget om din server er oppe. Man kan ikke finde den.

Derudover er problemet med IoT enheder jo at de er forholdsvis billige, så der er ikke råd til at lave software-vedligehold. Så når først IoT dimsen er sat på nettet, så lever den der - i al sin sårbarhed - i lang tid.

  • 8
  • 0
Robert Larsen

Beklager David men din PROM løsning er ikke nok. At jeg ikke kan rette i eksekverbar hukommelse betyder ikke, at jeg ikke kan eksekvere malware på din maskine.

Tillad mig at begynde med det basale.

Hackere udnytter sårbarheder i software. En af mulighederne er RCE (Remote Code Execution), hvor jeg får din software til at udføre min kode (min malware). Det kunne ske ved at jeg kan overflowe en buffer på stakken og dermed overskrive, hvad der ellers ligger der. En af de ting, man finder på stakken, er retur adressen. Altså adressen, hvor eksekveringen skal fortsætte, når nuværende funktion returnerer. Kan jeg overskrive den, bestemmer jeg eksekveringens videre forløb, og kender jeg adressen på bufferen, som jeg har skrevet til, så kan jeg jo fortsætte der, og have fyldt den med maskinkode.

Operativ system og compiler udviklere har indset, at programmører laver fejl, som er svære at opdage programmatisk, så de har udviklet forskellige teknikker, som gør ovenstående sværere. En af dem er adresserums randomisering (ASLR). Stak og alt andet bliver lagt på tilfældige adresser, så nu kan jeg ikke længere forudse adressen på bufferen og derfor heller ikke overskrive returadressen med bufferens adresse. Men er der en info leak sårbarhed (som Heartbleed er et godt eksempel på), så kan jeg med lidt held udlede adressen på bufferen.

ASLR har altså hævet barren men ikke løst problemet.

En anden er stack canaries. Man compileren indsætter kode til at skrive en tilfældig værdi på stakken mellem bufferen og retur adressen. Inden der returneres tjekkes, om canarien har skiftet værdi, og har den det, så afslutter programmet. Men igen kan info leaks bruges til at udlede denne værdi.

Canaries har altså hævet barren men ikke løst problemet.

En tredje er Data Execution Prevention (DEP eller W^X). Memory pages kan have forskellige sikkerheds bits som f.eks. RWX (Read/Write/Execute). Man har så en politik om at hukommelse aldrig må være både Writable og Executable. Din PROM ligner lidt dette. En lignende teknik er at indføre code signing. CPUen vil da ikke eksekvere en memory page, som ikke er digitalt signeret af vendor. Nu kan jeg måske stadig returnere til min buffer, men jeg får den ikke eksevkeret....og jeg kan ikke rette i den del af hukommelsen, som KAN eksekveres. Problem solved, ikke?

Nej. Hackerne fandt på en teknik, som hedder Return Oriented Programming.

Når man laver et funktionskald, vil man gerne have eksekveringen til at fortsætte ved næste instruktion, når funktionen returnerer. Det sker ved at denne adresse lægges øverst på stakken. Kan jeg skrive til denne stak, så kan jeg bestemme, hvor eksekveringen skal fortsætte (som beskrevet ovenfor). Men jeg behøver ikke at udføre min egen kode. Jeg kan springe til små sekvenser af legitim signeret kode, som gør en lille del af, hvad jeg vil, og som efterfølges af en return instruktion...som altså tager næste adresse fra stakken (som jeg kontrollerer) og fortsætter der. Jeg skriver altså mange adresser på stakken og kan dermed lave min malware return oriented.

Det er ret besværligt at skrive større retur orienterede programmer, men man kan lave deciderede ROP compilere. Her er der en, som er lavet til at bygge cheats til CSGO: https://github.com/Speedi13/ROP-COMPILER

Du KAN til dels løse dette ved at gøre rekursions stakken speciel. Ligge den i hukommelse, som KUN kan ændres med call og ret instruktioner, men så er der stadig functions pointere og jump tabeller og den slags. Intet i modificerbar hukommelse må kunne ende i program counteren.

Kan du lave den arkitektur, så er du nok et godt stykke af vejen...men hackere er opfindsomme. De skal nok finde en vej udenom.

  • 12
  • 0
Sune Marcher

David, dit indlæg er rodet og har både begrebsforvirring og helt objektivt faktuelle fejl.

Men så kom Microsoft med sin "Windows 95" - som var en katastrofe ovenpå Windows 3.X - og som stadig i sin seneste kloning - hedder det ikke Windows 365 nu - er lige slem. Systemet har aldrig været et såkaldt Ring-0 system.

Jeg har aldrig hørt nogen tale om "Ring-0" systemer, men hvis du mener x86 arktitekturens ring arkitektur er du helt galt på den - Windows 95 har fra dag ét haft kernelmode komponenter i ring 0 og usermode i ring 3. Der blev valgt nogle kompromiser af hensyn til performance og kompatibilitet, men der var fuld brug af hardwarens memory protection.

Fokuset var på at stoppe kodefejl fra at crashe hele systemet, hvilket egentligt lykkedes forholdsvist godt, ikke på at beskytte mod decideret ondsindet kode. Til et single-user OS før internettet gav det fint mening, og kompromiserne var nødvendige for at kunne køre ting med fornuftig performance på hardwaren dengang. Ja, jeg kan crashe en Win9x maskine med to instruktioner, tre bytes - men so what.

Og så lader det til du ikke rigtigt har fuldt med siden resten af verdenen skiftede fra 9x til NT arkitekturen - nogle af os gjorde det tidligere, men mainstream blev med XP for små tyve år siden.

Du påstår derudover at det er "hamrende simpelt" at stoppe hackere, og det... well, det er det ikke. Hvis du skifter til eksotisk hardware og eksotisk operativsystem kan du måske komme i nærheden af det, men på standard hardware er det fløjtende ligegyldigt om du kører kode direkte fra ROM (hvilket for øvrigt er ekstremt langsomt sidst jeg kiggede på ROM-hastighed) - jeg har ikke behov for at mit malware bliver persisteret, det gør sit arbejde helt fint selvom det kun er i memory. Og hvis du er ude i noget med OS på (EEP)ROM er det sandsynligvis så besværligt at opdatere, at det bliver gjort sjældent... og så vil sikkerhedshullerne bliver der længere. Selv hvis IoT-dimsen skulle blive power-cycled kan jeg altså så nemt som ingenting re-inficere den.

Derudover er det ikke nødvendigt at "skrive data ned i et område, hvor instruktions-pointeren senere vil komme forbi" – der er masser af andre måder at exploite systemer :-)

  • 13
  • 0
Torben Rune

Jo, antallet er et problem. Det er forholdsvis nemt at indrullere nogle hundredetusind IoT enheder i et botnet, og så bruge botnettet til at angribe kraftværket.

Min pointe er, at det problem ikke er knyttet til IoT, men til alt netværksopkoblet udstyr. Og netop fordi IoT enheder er svage, kører langsomt, er batteridrevet (batterierne løber jo tør meget hurtigt hvis en enhed skal deltage i et DoS angreb), og med masser af begrænsninger i radiointerfacet (i de fleste anvendelser med en duty-cycle under 1%), så er det næppe det mest oplagte sted at slå til. Men ok - det kan selvfølgelig ikke udelukkes.

Jeg undrer mig i øvrigt også over, at Mikko Hyppönen slet ikke nævner nogle af de mange tiltag der gøres på at skabe bedre og mere sikre IoT standarder. F.eks. er ETSI TS 118 103 ( https://www.etsi.org/deliver/etsi_ts/118100_118199/118103/02.04.01_60/ts... ) et meget godt eksempel på et IoT security framework. Tilsvarende har man gang i forskellige tiltag på key management i LoRaWAN, og LTE Cat-M1 og NB-IoT har sin egne sikkerhedsmetoder (se f.eks. https://www.gsma.com/iot/wp-content/uploads/2019/09/Security-Features-of... ). På disse IoT standarder arbejder man med bl.a. NIDD (Non-IP Data Delivery), dvs. transmission som går helt uden om internettet. (Om man så stadig kan kalde enhederne IoT er et filosofisk spørgsmål).

  • 2
  • 0
Maciej Szeliga

Havde man vidst hvor farlig asbest var inden det blev taget i brug, var det ALDRIG blevet brugt

Det er da meget naiv slutning... Asbest er farligt men har også nogle egenskaber som intet andet stof havde på det tidspunkt det blev opdaget og det er først for relativt nyligt at der er kommet alternativer.

Asbest blev brugt i rigtigt meget som en eller anden mirakel ingridiens og det er det der skabte problemer (og det er også det som gør at det er sammenligneligt med IOT).

  • 4
  • 0
Torben Rune

Asbest blev brugt i rigtigt meget som en eller anden mirakel ingridiens og det er det der skabte problemer (og det er også det som gør at det er sammenligneligt med IOT).

Det er muligt at jeg er naiv, men jeg håber og tror, at mange af de ingeniører som arbejder med udvikling i dag støtter op om Ingeniørløftet, og er bevidste om, at de påtager sig et etisk ansvar. Det gjorde men desværre ikke i forhold til asbest, selv om mange (navnlig teknikere) godt vidste at det var farligt. Og jeg mener fortsat at sammenligningen mellem asbest og IoT er skudt fuldstændig ved siden af.

Se: https://ing.dk/artikel/ingenioerloefte-skal-minde-ingenioerer-deres-etis...

  • 1
  • 5
Michael Cederberg

Problemet er vel operativsystemet.

Fejlen er ikke Linux. Eller Windows. Begge dele kan konfigureres sådan at der ikke er kendte angrebs muligheder og hvor antallet af angrebsvektorer er ganske få. Men naturligvis vil hackere konstant lede efter huller blot fordi Linux/Windows dominerer markedet.

Fejlen består i hvordan OS konfigureres. Og i hvilken software man kører på OS. Men vigtigst fordi udviklere og brugere tror sig sikre på lokalnettet.

Løsningen er ikke at kræve at alt software skal være perfekt eller at man ikke kan opdatere software (EPROM løsningen). Hvis software skal være perfekt så bliver der meget lidt af det og i praksis meget lidt IT (jeg har hørt en smule om Airbus processer for fly-by-wire softwareudvikling og det er absolut ikke effektivt selvom det giver høj kvalitet). På samme måde vil EPROM løsningen gøre udvikling meget dyrt og resultere i bunker af devices med upatchede sikkerhedshuller fordi de ikke kan opdateres.

Løsningen er opdeling af netværk - både lokalt og hele internettet. Hvorfor kan min Bosch tørretumbler connecte til alle IP adresser? Hvorfor skal Bosch ikke komme med et manifest der fortæller hvilke cloudservices dimsen tilgår og først derefter lukker min router op?

Basalt set er der to typer devices på internettet i dag. Der er devices hvor brugeren kreativt vælger at tilgå nye IP adresser, porte og services hver dag. Det er workstations, mobiltelefoner, tablets. For disse må man kræve at software hele tiden opdateres.

Ved siden af er der devices som nærmest er født ved et givent kommunikationsmønster (IoT, servere, etc.). Dette skifter ikke med mindre en bruger vælger at devicen skal bruges anderledes. Disse er kendetegnet ved at man køber devices, sætter strøm på og derefter glemmer at den eksisterer. Til disse kunne man lukke devicens muligheder for at kommunikere frit. Kundens router lukker kun op for den kommunikation devicen har i sit manifest og som ejeren giver tilladelse til. På den måde vil malware have meget begrænset impact og fx. ikke kunne bruges til at lamme et kraftværk.

Hvis der sker ændringer så skal manifestet opdateres og brugeren acceptere ændringerne.

  • 5
  • 0
Maciej Szeliga

På samme måde vil EPROM løsningen gøre udvikling meget dyrt og resultere i bunker af devices med upatchede sikkerhedshuller fordi de ikke kan opdateres.

Men det kunne løses med en EEPROM som kræver at en knap står til PROG og når den er i den stilling virker dimsen ikke som normalt (for at gennemtvinge at man slår omskifteren til RUN stilling efter opgradering).

  • 0
  • 2
Ditlev Petersen

Havde man vidst hvor farlig asbest var inden det blev taget i brug, var det ALDRIG blevet brugt.

Men for 120 år siden, begyndte læger at få mistanke til asbest, og det tog da sin tid at få det forbudt. Det var ikke uvidenhed, det var benægtelse. Tilsvarende (nej værre) var farligheden af at tilsætte organisk bly til benzin kendt, inden man begyndte på tilsætningen.

Hvis det kan svare sig og man kan lade som om, man aldrig har hørt om problemer, så kan alt tillades. Og det sker så nu igen. Giv mig din tegnebog, eller jeg zapper din pacemaker.

  • 3
  • 0
Michael Cederberg

Men det kunne løses med en EEPROM som kræver at en knap står til PROG og når den er i den stilling virker dimsen ikke som normalt (for at gennemtvinge at man slår omskifteren til RUN stilling efter opgradering).

Mange mennesker gider ikke opdatere deres devices i dag. At gøre det sværere vil bare reducere antallet af gennemførte opdateringer. Læg oveni devices som er placeret steder der er svære at komme til eller situationer hvor der er mange devices. I stedet burde man gå den anden vej og overveje at slå automatiske opdateringer til som default.

Noget helt andet er at malware fint kan leve bare i RAM. Mange IoT devices er "always on" hvor der går lang tid imellem reboots. Hvis blot malwaren har spredt sig til et par devices på ens netværk, så kan den inficere genstartede devices igen når de kommer på nettet. I praksis vil kun en strømafbrydelse kunne wipe sådan malware.

Men for nogen devices ville jeg gerne have sådan en knap der kan blokere opdateringer.

  • 3
  • 0
Robert Larsen

Dit svar er sandt i den nuværende situation.

Men, hvis de kære IOT-fabrikanter blot indførte ROM-baseret software som jeg har nævnt i en kommentar til denne artikel, så KAN den ikke hackes, da der ikke KAN injectes kode.

Jeg går ud fra, at denne er henvendt til mig?

Du har misforstået noget. At du har en ROM ændrer ikke på, at jeg kan udføre malware. Med ROP teknikken, som jeg beskrev ovenfor, injecter jeg lige netop IKKE kode. Jeg injecter retur adresser, og dermed kan jeg springe rundt i legitim ROM kode og udføre min malware ad den vej. Det kaldes også for "Code Borrowing".

Her er lidt shameless self promotion, men timingen er bare for perfekt. Hvis nogen skulle have lyst til at lære lidt om disse teknikker (også ROP), så afholder jeg i samarbejde med Prosa og HK en workshop over fem aftener (med en afsluttende CTF/hacker konkurrence) fra næste uge, hvor vi arbejde med binær reverse engineering, exploitation og shellcoding samt ROP. Kig efter "Don't be afraid of the dark" i Prosas eller HKs kursuskalender.

  • 3
  • 0
Leif Neland
  • 4
  • 1
David Svarrer

Det er igen her det samme. Ja, det ser sådan ud, nu. Men - ingen gider lytte - sikkerheds-"Eksperter" har alt alt for travlt med at tjene penge på at sælge plaster til sårene, i stedet for at styrke huden, så at sige.

Jeg tror, jeg er ganske overbevist, om at de fleste sikkerhedseksperter som der er RIGTIGT mange af, nu, i høje stillinger, med høje lønninger der modsvarer "skræk-niveauet", er hunderædde for at der kommer én som jeg, og en håndfuld andre simpelt tænkende mennesker, med denne føromtalte simple og effektive løsning på de største problemer indenfor hacking - nemlig invasion - altså - "Retro-virus" angreb med injection af malware.

HVIS det nemlig virker at sætte en EEPROM-baseret hukommelse i alle de følsomme device's - f.eks. IOT-devices, netværks-routere osv. - så KAN malware jo ikke få fodfæste

  • 0
  • 5
David Svarrer

Hej Robert Larsen,

He he he. Der er mange måder at både beskytte på og angribe på. ROM-metoden kan ikke stå alene, og det har du ret i. Man kan naturligvis - hvis man ellers kan få adgang (og det er der ikke nogen garanti for) - i så fald injecte forkerte data.

Men - der er rigtig hardcore metoder - hardware-baserede - som standser ROP også. Eksempelvis: continuerte CRC-checksummer af RAM-baserede data kan udløse simpel reset af maskinen hvis CRC-checksummen ikke passer.

Derudover er der "Call-tree-return-stack" checks, som man så vedligeholder som "nane-value" pairs - det kan du ikke fuske - og det betyder at ét forkert trin, og maskinen restarter.

Endelig er der data/kommunikations-segregering, der kan udføres i hardware, også - her med hjælp af en memory-manager. LIGE SÅ SNART, at du har din kode i ROM, så kan du få memory manageren til at låse de segmenter - det er så i mix'et mellem software og hardware - men FØR man åbner for nogen som helst porte for injection - og dermed er der nul adgang til nogen som helst ROP - for segmenterne er simpelthen låst, og på det tidspunkt, hvor man åbner for kommunikationen, låser man memory manageren i en flip-flop, der ikke kan toggles undtagen ved genstart.

Lad os ikke gå for dybt i det tekniske - du og jeg ved, at selv med ROP og selv med ovenstående, er der stadig "muligheder" for dirty dancing - men du og jeg ved OGSÅ, at det altsammen starter med den ROM, som vi smed ud af vinduet før år 2000, og erstattede den med "OTA opdateringer" og alt muliget andet ragelse - rigtig forfejlet kode-teknologi, når menneskeheden hverken er ærlig eller redelig.

  • 0
  • 3
David Svarrer

Beklager David men din PROM løsning er ikke nok. At jeg ikke kan rette i eksekverbar hukommelse betyder ikke, at jeg ikke kan eksekvere malware på din maskine.

Tillad mig at begynde med det basale.

Hackere udnytter sårbarheder i software. En af mulighederne er RCE (Remote Code Execution), hvor jeg får din software til at udføre min kode (min malware). Det kunne ske ved at jeg kan overflowe en buffer på stakken og dermed overskrive, hvad der ellers ligger der. En af de ting, man finder på stakken, er retur adressen. Altså adressen, hvor eksekveringen skal fortsætte, når nuværende funktion returnerer. Kan jeg overskrive den, bestemmer jeg eksekveringens videre forløb, og kender jeg adressen på bufferen, som jeg har skrevet til, så kan jeg jo fortsætte der, og have fyldt den med maskinkode.

Når du skriver RCE, så forudsætter du jo at du kan smide koden ned i RAM og eksekvere den. Hvis du - stadig på hardware niveau - ganske enkelt har instruktions-adresseringen til at hente alt i ROM, så kan der ganske enkelt ikke eksekveres nogen som helst kode fra noget andet sted end ROM.

Hold også fast i at vi diskuterer IOT. Ikke større maskiner. Det er mit generelle indtryk at der i den grad skal laves større ting om, hvis vi skal "gå tilbage" til at kunne sikre større systemer ordentligt (f.eks. Windows og Linux).

Derfor taler vi om systemer med microprocessorer, som kører relativt langsomt (MHz og ikke GHz clock-frekvens).

For at kunne overflowe en buffer, så den løber ind i stakken, så kræver det jo deciderede software fejl - hvilket naturligvis forekommer - men - langt de fleste læse-rutiner nu, har ikke disse (DOS..) problemer

  • 0
  • 3
David Svarrer

Hej Rune,

Jeg kan bestemt tage fejl, for jeg har kun det jeg ved fra de eksperter i Linux som jeg har talt med. Jeg kan bestemt have ombyttet enkelte dele. Hvad dog står fast er, at Windows IKKE - selv ikke nu - har styr på sin memory manager - og det har Linux. Dette er ikke et forsøg på at tale godt om Linux og skidt om Windows. Jeg har forstået fra både Windows og Linux folk at dette er tilfældet. Jeg har OGSÅ forstået at det man kalder Ring-0 delen af styresystemet er den del som afvikles inden man kobler ydre enheder på. Dernæst eksekveres Ring-1, og så Ring-2 osv. osv. - jeg forstår på dig at det IKKE forholder sig sådan. Nuvel - med den forståelse jeg har, afvikles de initielle dele af styresystemet således at den del jeg har forstået som liggende i Ring-0, kerne-mæssige ting fra operativsystemet som tager sig af at programmere memory manageren, både med hensyn til håndtering af memory-typer, og ydre enheder - hvorefter der åbnes for dem. Og grundet bagudkompatibilitet - som Windows aldrig er kommet ud over - har de aldrig fået løst dette problem. Bagudkompatibiliteten blev - som jeg forstod Windows-gutten - opgivet i en af de senere Windows-implementeringer - om det så er Windows 7, 8 eller 10 ved jeg ikke - men som jeg har forstået det, er det stadig ikke lykkedes for dem at få styr på hardware-management af memory.

Det skal da helt sikkert nok passe at jeg ikke har forstået hverken 80%, 90% eller 100% alt hvad der har at gøre med alle detaljerne!! Så lad mig lære ...

  • 0
  • 3
Maciej Szeliga

Alkohol blev afprøvet og fundet glimrende. Men man kunne ikke tage patent på alkohol, så den viden blev gemt væk (i følge en artikel i New Scientist for et par år siden).

Så du mener at motorer er blevet omkonstrueret for at undgå bly og man bare kunne tilsætte noget alkohol i stedet ?

Ventiler og ventilsæder i biler som er beregnet for blybenzin bliver helt beviseligt beskadiget når man hælder blyfrit på dem, alkoholen nedsætter ganske vist selvantændelsen (benken) men hjælper ikke på ventilproblemet. Det kan delvis afhjælpes ved at flytte tændingstidspunktet men så kører motoren dårligere og bruger mere benzin. Ventilerne og ventilsæder skal udskiftes for at motoren skal kunne køre på blyfri benzin + alkohol.

  • 2
  • 0
Aa ge

Tetraetylbly som additiv var den billigste løsning for bil og olie industrien, derfor blev den brugt. Man kunne have brugt sprit eller bedre raffinering af benzinen på brændstof siden, men så blev kost højere og man skal tage i betragtning at 1 gallon benzin (3,79 ltr.) lå omkring 0.31 $ i de glade 60ere i USA så der var ikke så meget at gøre med på pris siden, hvis man skulle have valgt en anden løsning end bly. https://www.eesi.org/papers/view/fact-sheet-a-brief-history-of-octane Dengang designede man en benzin motor helt uden CAD og computermodeller af motoren, blev metoden med først at konstruere motoren og få den til at virke og så derefter begynde at erstatte div. dyre dele med noge billigere indtil den brækkede sammen anvendt og man brugte så enten "Regular", "Premium", "Super" kvalitet af benzin der kunne købes på tankstationerne alt efter målgruppen for køberne til modellen til processen. Man gik så ind og fandt ud af hvad der fejlede og fixede så motoren igen kunne køre. Jeg er egentlig ikke klar over om man havde accellerede test, så man på relativ kort tid kunne simulere et livs slid etc. på motoren men måske nogle her ved præcist hvad man gjorde ?? Men i hvert fald var det interessant at spare bare en cent på en bil da hvis man producerede 1 mio. biler år så havde sparet 10.000$. Så enhver skrue, billigere matriale et sted i motoren etc. etc. blev vendt, også efter bilen var kommet i løbende produktion.

  • 1
  • 0
Robert Larsen

Hvad dog står fast er, at Windows IKKE - selv ikke nu - har styr på sin memory manager - og det har Linux.

Hvad mener du med dette? Windows kan eksekvere multiple processer i hvert deres virtuelle memory space. Det kræver en memory manager, og hvis ikke Windows har styr på den, hvem har så?

Din forståelse af ring modellen er forkert. De forskellige ringe giver forskellige privilegier. Ring 0 er den mest priviligerede og må alt. Rette i interrupt tabellen, rette i memory manageren, tilgå hardware og så videre. Det er her operativ systemets kerne ligger.

Ring 3 er den mindst priviligerede og må ikke ret meget. Det er her user space programmer kører. Når et program i userspace f.eks. vil skrive til disken, så må den udføre et system kald, med informationer som kerenen (som ligger i ring 0) så kan bruge til at skrive til disken.

Der er også en ring 1 og 2, men Linux bruger dem ikke, og jeg tror heller ikke at Windows bruger dem.

  • 5
  • 0
Robert Larsen

Når du skriver RCE, så forudsætter du jo at du kan smide koden ned i RAM og eksekvere den.

Nej. At smide kode ind i en proces er kun een type RCE og klart den lækreste og nemmeste. ROP er en anden slags RCE og mere besværlig, men er det den eneste, jeg kan opnå, så nøjes jeg med den. Og så længe man kan springe til adresser som peges på af modificerbar hukommelse (funktions pointere, jump tabeller, retur adresser, osv.), så kan jeg opnå kode eksekvering.

  • 2
  • 0
Sune Marcher

Jeg kan bestemt tage fejl, for jeg har kun det jeg ved fra de eksperter i Linux som jeg har talt med. Jeg kan bestemt have ombyttet enkelte dele. Hvad dog står fast er, at Windows IKKE - selv ikke nu - har styr på sin memory manager - og det har Linux.

David, det her er ikke bare forkert, det er ovre i "not even wrong"-territorie - det er så ukonkret at det ikke engang er muligt at fastslå om det, du lader til at have hørt med et halvt øre, handler om memory protection eller -allocation.

Jeg har OGSÅ forstået at det man kalder Ring-0 delen af styresystemet er den del som afvikles inden man kobler ydre enheder på. Dernæst eksekveres Ring-1, og så Ring-2 osv. osv. - jeg forstår på dig at det IKKE forholder sig sådan.

Ring 0, 1, 2 og 3 (og -1 for HyperVisor samt god-mode SMM) er specifikke termer i Intels x86 arkitektur. Ring 1 og 2 bruges så vidt jeg ved generelt ikke i mainstream OS'er (Win3.x og noget pre-VMX-CPU-support virtualiseringshardware undtaget). Og i forhold til memory protection er ringene en forholdsvis lille del. Andet hardware opererer fx blot med begreber som "user" vs "supervisor".

Jeg skal ikke kunne gøre mig klog på hvad de mindre microcontrollere har af beskyttelsesfaciliteter, men det er mit indtryk at før man begynder at have noget der er værd at skrive hjem om, er man oppe i ARM eller lignende ret standard arkitekturer. Og selvom det virker overkill for mig, er ARM åbenbart efterhånden så små og billige at det giver mening at anvende dem til fx smartbulbs. Nej, ikke i hubben der styrer dem, men i de enkelte pærer.

Du har set dig fuldstændigt blind på din execute-from-ROM idé, men den er irrelevant i det større sikkerhedsbillede - som Robert Larsen og jeg har nævnt, er der rigtigt mange måder at angribe systemer på, og vi behøver ikke storage-persistance til malware.

Udover at være besværligt at opdatere, jævnt langsommere end at eksekvere fra RAM, og ikke at give nogen reel sikkerhed, gør det faktisk situationen værre - du mister muligheden for ASLR.

Mere eksotiske tiltag kræver en blanding af nyt hardware, muligvis større OS-ændringer, compiler toolchain support, og eventuelt omskrivning eller i hvert fald recompilation af eksisterende software. Der er nogle interessante idéer derude, som måske er værd at efterfølge hvis man skal lave et eller andet helt specielt... men der er nok mere realistiske og effektive ting at gå efter på det standard-grej industrien anvender.

Man kunne fx starte med at indføre lovgivning om produktansvar og tvungen support lifetime.

  • 2
  • 0
Michael Cederberg

David, det her er ikke bare forkert, det er ovre i "not even wrong"-territorie -

Helt enig. Det er ammestuesnak suppleret med myter fra 80'erne. Man kan i øvrigt bashe Windows for meget, men kernen er faktisk tættere på microkernel arkitekturen som de fleste (inkl. Tanenbaum) regnede med ville være fremtiden i 80'erne og 90'erne. På mange måder er Windows kernen mere moderne end Linux kernen (det manglede også bare for Microsoft støvsugede branchen for experter i OS design da NT blev designet). At det ingen forskel gør er en ganske anden sag og det er en vigtig lære af Linux succes.

  • 2
  • 0
Log ind eller Opret konto for at kommentere