Beveiligingsanalyse van ingebedde software in REWIRE

Image in image block

Het REWIRE-project streeft naar een schaalbare cybersecurity-oplossing voor open-source en open-specificatie hardware en software voor IoT-apparaten. Universitaire en industriële partners van het REWIRE-project zullen samenwerken aan het onderzoeken en ontwikkelen van een toolketen die ervoor zorgt dat cybersecurity op basis van zero-trust geïntegreerd is in de levenscyclus van een apparaat. Dit omvat de beveiligingsborging van processen, te beginnen bij het aan boord brengen van een apparaat naar een systeem, het opstarten, het beveiligen van communicatie met andere apparaten in het REWIRE-netwerk, en het verifiëren van software/firmware, inclusief beveiligde updates.

Secura is bezig met het onderzoeken en ontwikkelen van een schakel in deze toolketen die ervoor zal zorgen dat beveiligingsbedreigingen effectief kunnen worden ontdekt en behandeld door middel van een geautomatiseerd validatie- en verificatiemechanisme voor firmware. Dit is gericht op apparaatfirmware die wordt gebruikt in slimme steden, slimme satellieten en slimme voertuigen.

Image in image block

Here is the translation of the provided text into Dutch:

```html

BINARIE ANALYSETECHNIEKEN

Met behulp van state-of-the-art binarie analysetechnieken ontwikkelt Secura een module die fouten in software kan detecteren. Omdat de apparaten die in deze contexten worden gebruikt over het algemeen zeer gespecialiseerde code hebben, kan het moeilijk zijn om dergelijke fouten te detecteren. Software vertrouwt op bepaalde hardwarecomponenten die van apparaat tot apparaat kunnen variëren, en in veel gevallen is de broncode niet beschikbaar. De testmodule van Secura bootst daarom de code na alsof deze op zijn oorspronkelijke hardware draaide, en in het gehele REWIRE-project worden ontwerpbeslissingen genomen voor de hardwarearchitectuur van de apparaten. Dit maakt een nauwkeurige analyse van fouten mogelijk en draagt bij aan veiligere ingebedde software.

Beveiligingsanalyse van ingebedde software in REWIRE

Het uitpakken van de firmware gebeurt door middel van een combinatie van frameworks voor de verwerking van binarie bestanden (zoals firmware). Deze tools produceren een bestandssysteem met configuratiebestanden, bibliotheken en software die op het apparaat worden uitgevoerd, en als een volledig firmwarebeeld beschikbaar is, kan dit een opstartlader en kernel bevatten.

Aangezien de firmware zal worden nagebootst, is het belangrijk dat de integriteit ervan behouden blijft en dat verwijzingen, zoals symbolische koppelingen, bibliotheken en configuratiebestanden, ook intact zijn. Daarom wordt doorgaans een saneringsstap uitgevoerd om te controleren of dergelijke verwijzingen aanwezig zijn voordat de firmware daadwerkelijk wordt nagebootst.

UITVOERINGSANALYSE

De uitvoeringsanalyse verwijst naar het moment waarop de software in de firmware klaar is om te worden uitgevoerd. Dit kan betekenen dat het op hardware draait, maar aangezien de firmware in scope op verschillende apparaten draait, eventueel met enkele randapparaten, kan de uitvoeringsanalyse niet vertrouwen op de beschikbaarheid van de hardware. Het aannemen daarvan zou betekenen dat de verificatie slecht schaalbaar zou zijn, omdat er veel apparaten zouden moeten worden gebruikt. Daarom vertrouwt een uitvoeringsanalyse doorgaans op vele technieken die de bytecode kunnen evalueren zonder deze op de hardware uit te voeren waarvoor deze is gecompileerd. De gebruikte technieken in statische code-analyse zijn taint-analyse, die eventuele injectiekwetsbaarheidspatronen in de broncode detecteert, en symbolische uitvoering als een middel om een programma te analyseren om te bepalen welke invoer elk deel van een programma doet uitvoeren, en daarom problemen zou kunnen veroorzaken.

Dynamische analyse bestaat typisch uit symbolische uitvoering, taint-analyse en fuzzing - een geautomatiseerde softwaretestmethode die ongeldige, misvormde of onverwachte invoer in een systeem injecteert om softwarefouten en kwetsbaarheden te onthullen.

DEKKINGSGESTUURD FUZZING

Door de firmware op deze manier na te bootsen, kan deze met grote controle worden gefuzzed, aangezien het elke detail van de virtuele CPU kan controleren die wordt gebruikt om de firmware na te bootsen. Het mag dan ook geen verrassing zijn dat de snelste manier om kwetsbaarheden in firmware te detecteren dekkinggestuurde fuzzing is, een techniek waarbij de takken van de software die worden bereikt door een bepaalde invoer te verstrekken, worden bijgehouden, en invoer die nieuwe takken bereikt, wordt gebruikt voor verdere tests. Op deze manier kan een groot deel van de software snel worden getest.

"De uitvoer van de firmware-verificatie zal dienen als invoer voor een stellingbewijzer op een blockchain, die de juiste werking van het apparaat bevestigt." De resultaten van het verificatieproces zullen worden gebruikt als invoer om een stelling te formuleren over de beveiliging van het apparaat. Bovendien zullen eventuele kwetsbaarheden die tijdens het ver

Meer informatie

Wilt u meer weten over het REWIRE-project? Vul het formulier in en we nemen binnen een werkdag contact met u op.

USP