Weeve-vidnesbyrd – et tillidsfuldt skridt mod sikring af maskinøkonomi

(Gaurav Tiwari) (6. maj 2020)

Data er blevet sammenlignet med varer som olie eller guld. I denne sammenhængende verden vil flere og flere kvalitetsdata styrke den smarte beslutningsproces af maskiner, der er indsat på en fabrik eller forskellige gadgets, der er indsat i vores huse. Men der er en stor udfordring forude – hvordan kan kvalitet og pålidelige data leveres sikkert på en skalerbar og automatiseret måde? Branche ledere for low-end indlejrede enheder arbejder hårdt på at bringe de bedste hardware og softwaresikkerhedsmetoder, der er bredt tilgængelige på avancerede enheder, ned til disse mikrocontroller enheder. Begrænsede ressourcer i mikrokontrollere og med så mange operativsystemer og løsningsstakke fører til et komplekst og udfordrende landskab til integreret sikkerhed.

Vi kan kategorisere databeskyttelsesscenarierne som følger;

  • Data i hvile
  • Data i transit
  • Data i brug

Hos Weeve udvikler vi løsninger, der er skræddersyet til datasikkerhed for mikrocontroller-baserede IoT-enheder.

  • Vi beskytter data i hvile bruger en betroet lagerløsning. Disse data indeholder kryptografiske aktiver såsom nøgler eller nogle digitale aktiver såsom virtuelle mønter osv.
  • Med data i transit, Vi har udviklet Weeve MQTTS, et let og sikkert publiceringsabonnement bygget på MQTT-protokollen skræddersyet til low-end-enheder. Dette er et alternativ til MQTT over TLS, som bruger mere strømressourcer ved kanten.
  • For data i brug vi adresserer integriteten af ​​den proces, der kører på en IoT-enhed. Denne proces kan indsamle nyttige data ved hjælp af sensorer eller udføre et databehandlingstrin eller endda udføre en forretningslogik i tilfælde af en aktuatorenhed. Detektering og forebyggelse af softwareproblemer i processen er nøglen her. Vi udvikler Weeve-vidnesbyrd , en applikation til kontrolattestering i realtid, som er emnet for denne blogserie.

Før vi introducerer Weeve-vidnesbyrd, er der en lille smule teknisk baggrund for problemer, vi løser, og teknologier, der anvendes i vores løsning.

C-program sårbarhed Problemer

Næsten al lavt niveau integreret software og firmware er udviklet på C programmeringssprog. Cs mangel på ordentlig grænsekontrol af den tildelte tildelte hukommelse er en kilde til store sikkerhedstrusler. Ud over bufferoverløb lider C-programmet af heltal-overløb, sårbarhed i strengformat, overskrivning af returadresse osv. Der er også en ny klasse af sikkerhedstrusler mod et C-program såsom return-to-libc og mere generelt returorienteret programmering (ROP) , som er meget effektive mod almindelige afbødningsteknikker som f.eks. Forebyggelse af dataudførelse og kodesignering. Korrekt kodegennemgang med statiske og dynamiske applikationssikkerhedsværktøjer kan reducere sværhedsgraden af ​​sådanne sårbarheder. Andre teknikker i værktøjskæden, såsom stack-smashing-beskyttelse, i selve hardwaren som NX-bit, der er indstillet til datasegmenter, findes der i løbetid som ASLR (randomisering af adressepladslayout). Men programmet er stadig langt fra en rimelig sårbarhedsfri garanti. I forbindelse med mikrocontroller-baserede low-end-enheder implementeres den mest effektive afbødningsteknik for ASLR ikke på grund af praktisk funktion for at undgå at have en run-loader.

Vores tilgang til at mindske sårbarheder i C-program

For at løse sårbarhedsproblemer i C-program antager vi, at der altid vil være sikkerhedsfejl i programmet, og derfor vover vi at opdage dem i løbetid. Vi forestiller os eksistensen af ​​en mere privilegeret isoleret beskyttelsesproces, der inspicerer og vidner adfærden for et kørende C-program (MCU-firmwaren). Beskyttelsesprocessen skal være isoleret og mere privilegeret end den normale firmware, for hvis den er en del af den samme proces eller et lignende privilegieniveau som normal firmware, vil hackeren også være i stand til at hacke beskyttelsesprocessen ved at udnytte den samme sårbarhed i normal firmware . Vi forestiller os også behovet for en ekstern attestationsenhed, der på forhånd (ved hjælp af vores profilværktøj) kender alle de gyldige eksekverings snapshots af normal firmwareudførelse og vidner om disse snapshots med jævne mellemrum.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *