Zephyrnet-logo

7 Essentiële zaken voor meer beveiligingsbewuste ontwerpautomatisering

Datum:

Tegenwoordig is het continu up-to-date houden van ontwikkelaars van de nieuwste, secure-by-design best practices een belangrijk element voor productbeveiliging. Kunnen veelvoorkomende beveiligingsfouten echter worden voorkomen zonder dat hardwareontwerpers eerst worden opgeleid tot eersteklas beveiligingsexperts? 

Electronic Design Automation (EDA)-oplossingen zijn softwareprogramma's die ontwerpers helpen bij het ontwikkelen van elektronische systemen en halfgeleiderchips. Welke nieuwe mogelijkheden moeten de huidige EDA-oplossingen bieden voor veiligheidsgarantie, naast de traditionele focus op functionele correctheid? Hier zijn zeven kenmerken die volgens mij een zeer effectieve beveiligingsbewuste ontwerpautomatiseringsoplossing zou moeten bieden.

Gebruikers begeleiden om ontwerpafwegingen te maken door rekening te houden met zowel functionaliteit als beveiliging 
Om dat te bereiken, moet een slimme EDA-oplossing verschillende mechanismen bieden om de robuustheid van een ontwerp te karakteriseren op basis van de beveiligingsdoelstellingen. Het is echter niet voldoende om meetgegevens te rapporteren in de veronderstelling dat gebruikers weten wat ze ermee moeten doen. Gemeten gegevens moeten worden vertaald naar inzichtelijke, gemakkelijk te begrijpen statistieken, en die statistieken moeten leiden tot bruikbare, prescriptieve richtlijnen die gebruikers kunnen volgen om hun ontwerpen te verbeteren. Tegelijkertijd moeten de beveiligingsstatistieken worden gepresenteerd naast functionele statistieken zoals prestaties, stroomverbruik en matrijsgrootte om gebruikers te begeleiden bij het nemen van belangrijke ontwerpbeslissingen.

Instrueer gebruikers over best practices op het gebied van beveiliging wanneer ontwerpbeslissingen worden genomen 
Hoewel klassikaal leren een manier is om dergelijke kennis te verwerven, kan het benutten van on-the-job momenten om het bewustzijn van de gebruiker te vergroten de acceptatie van belangrijke veilig-door-ontwerp praktijken. De volgende generatie EDA-oplossingen zou de rol moeten spelen van een virtuele beveiligingsadviseur die gebruikers helpt bij het bouwen van een veilig product bij elke stap. De uitdaging is hoe de EDA-oplossing de context kan begrijpen om aanbevelingen te doen die tijdig, nauwkeurig en prescriptief zijn, maar niet overdreven opdringerig.

Detecteer beveiligingsproblemen in realtime wanneer code wordt geschreven
Hoe kunnen we een slimmere oplossing ontwikkelen die gebruikers waarschuwt als ze op het punt staan ​​beveiligingsproblemen in hun ontwerpen te introduceren? Een van de grootste uitdagingen met de oplossingen van vandaag is hun onvermogen om de bedoelingen van ontwerpers te begrijpen. Ontwerptalen zoals SystemVerilog bieden ontwerpers niet de middelen om aan te geven of een signaal, register of interface als vertrouwd moet worden beschouwd. Zonder een goed begrip van de beveiligingseisen lopen tools vaak blind tijdens de evaluatie. Dit leidt tot een groot aantal valse positieven en valse negatieven.

Naast het vinden van problemen, biedt u betrouwbare oplossingen om ze aan te pakken 
Tot nu toe is er weinig onderzoek gedaan naar het automatisch genereren van fixes, zelfs voor functionele problemen, om nog maar te zwijgen van beveiligingsproblemen. Dit onderzoeksgebied zou meer hulp kunnen gebruiken van de academische gemeenschap en in het bijzonder van machine learning-experts. Als we nog een stap verder gaan, zijn er vaak meerdere manieren om een ​​beveiligingsprobleem aan te pakken, maar elk kan de prestaties, het stroomverbruik en de grootte van het ontwerp op een andere manier beïnvloeden. Een beveiligingsbewuste oplossing zou niet alleen opties bieden die zijn geoptimaliseerd voor beveiliging, maar ook voldoen aan de timingbeperkingen van het circuit, het stroombudget en de vereisten voor de grootte van de matrijs op basis van de voorkeuren van gebruikers.

Naadloos de beste beveiligingen integreren 
Neem als voorbeeld fouten in geheugencorruptie in het softwarebeveiligingsdomein. Onderzoek heeft de afgelopen tien jaar grote vooruitgang geboekt door op hardware gebaseerde oplossingen te bieden die de software-workloads die er bovenop worden uitgevoerd, beschermen. Deze systemische maatregelen verhogen de barrière van aanvallen aanzienlijk en minimaliseren de negatieve effecten van software-exploitaties, waardoor praktische aanvallen veel moeilijker te slagen zijn. Hoewel softwareontwikkelaars de validatie van niet-vertrouwde invoergegevens voor gebruik kunnen blijven missen, kunnen veel van deze fouten niet langer worden misbruikt wanneer op hardware gebaseerde beveiligingen zoals Control-Flow Enforcement-technologie (CET) zijn ingeschakeld. De hardware-industrie heeft vergelijkbare onderzoeksinvesteringen nodig om ontwerpers te helpen, zoals foutbestendige standaard celbibliotheken, zelfherstellende circuits en cryptoprimitieven met constante tijd/kracht. Een beveiligingsbewuste EDA-oplossing kan vervolgens deze best-in-class mitigaties integreren en veerkrachtige circuits naadloos synthetiseren zonder directe tussenkomst van de gebruiker.

Beveel de meest efficiënte teststrategie aan voor een bepaalde dekkingsgarantie
Niet alle beveiligingseigenschappen kunnen worden geverifieerd door alleen het ontwerp statisch te analyseren. Hardwaresimulatie- en emulatietechnieken worden vaak toegepast om runtime-gedrag te evalueren dat essentieel is bij het identificeren van zwakke punten met betrekking tot race-omstandigheden, interacties met firmware, beveiligingsstromen en meer. Bovendien worden vaak formele verificatietechnieken toegepast wanneer de verificatieruimte simpelweg te groot is om te testen met brute kracht.

Tegenwoordig ligt de last om te bepalen welke verificatiemethode moet worden gebruikt, welke tests moeten worden uitgevoerd en welke parameters moeten worden gebruikt, op de schouders van het ontwikkelingsteam. Zelfs voor ervaren verificatie-experts is het een uitdaging om alle beveiligingseigenschappen te verifiëren zonder waardevolle testcycli te verspillen aan overbodige testgevallen.

Leer continu van gebruikers
Geen enkel systeem is perfect, zelfs niet voor een slimme EDA-oplossing. Om de nauwkeurigheid en kwaliteit in de loop van de tijd te verbeteren, moet het continu leren van de gebruikers. Gebruikers hebben echter niet altijd gelijk. Ook kan er tegenstrijdige feedback worden gegeven door verschillende gebruikers, aangezien elke gebruiker unieke voorkeuren en prioriteiten heeft. Voortdurende vooruitgang in AI-onderzoek zou een EDA-oplossing in staat stellen selectief te leren van feedback via crowdsourcing.

Hoewel het beveiligen van hardwaretechnologieën een kunst lijkt te zijn die het best is voorbehouden aan de meest bekwame mensen, moeten we onze investeringen in onderzoek verdubbelen om innovaties in automatisering te versnellen, zodat de industrie kan schalen. Op die manier kunnen ontwerpers profiteren van de volgende generatie, beveiligingsbewuste EDA-oplossingen om met vertrouwen veilige producten te creëren.

spot_img

Laatste intelligentie

spot_img