Schepen zijn mechanische beesten met veel onderdelen die zorgen voor veilige, succesvolle reizen. Een digitaal equivalent zou software zijn. Net als softwareontwikkeling omvat scheepsbouw verschillende stappen en nauwkeurige engineering. Als alles klaar is, testen de bouwers hun creaties onder verschillende omstandigheden om er zeker van te zijn dat het schip veilig is en presteert zoals ontworpen. Vrijwel alle beste software die we tegenwoordig gebruiken, ondergaat tests om er zeker van te zijn dat ze ook veilig zijn.
Een van die tests is foutinjectie. Vergeleken met scheepsbouw zou foutinjectie vergelijkbaar zijn met nautische ingenieurs die opzettelijk gaten in hun schepen maken om te zien hoe ze omgaan met zinken...
Wat is foutinjectie en waarom is het belangrijk?
Foutinjectie is de praktijk van het opzettelijk creëren van defecten in een systeem. Het doel van deze oefening is om te analyseren hoe het systeem presteert onder stress. Hardware- en software-engineers veroorzaken doorgaans om verschillende redenen fouten in hun hardware of software.
Ten eerste willen ze storingen ontdekken en verhelpen die zich buiten de gecontroleerde omgeving van het productielaboratorium kunnen voordoen. Dit is belangrijk omdat ze geen controle hebben over de omstandigheden waaronder klanten hun producten zullen gebruiken. Hitte kan componenten of materialen die componenten bij elkaar houden in gevaar brengen; een serverstoring kan ertoe leiden dat een hele regio de toegang tot hun favoriete streamingdienst verliest; aanvallers kunnen een fout activeren die beveiligingsfuncties schendt. Wanneer dergelijke gebeurtenissen plaatsvinden, willen ontwikkelaars en apparaatfabrikanten ervoor zorgen dat hun producten stil blijven staan de integriteit van gebruikersgegevens en veiligheid te beschermen of de belastingsverdeling aan te passen om de service te minimaliseren ontregeling.
Uiteindelijk is foutinjectie nodig om apps en hardware veilig, beveiligd en betrouwbaar te maken. Evenzo helpt foutinjectie fabrikanten om intellectueel eigendom te beschermen, het risico op verlies te verminderen en het vertrouwen van hun klanten te behouden. Je zou je geld niet op een bank zetten als hun app de hele tijd crasht en hackers een velddag hebben om het te kraken, toch?
Hoe werken foutinjectieaanvallen?
Fabrikanten voeren opzettelijk foutinjectie uit om gebreken aan het licht te brengen die de veiligheid van hun producten in gevaar kunnen brengen. Niets weerhoudt aanvallers ervan om hetzelfde te doen om zwakheden in een systeem bloot te leggen en deze uit te buiten. De tools die worden gebruikt om foutinjectie uit te voeren, zijn immers openbaar en de methoden zijn niet al te ingewikkeld.
Bovendien kunnen ervaren aanvallers creatief worden met hun methoden en het systeem verder duwen dan normaal. Op dit punt moet u weten dat foutinjectie fysiek (in hardware) of digitaal (in software) kan zijn. Evenzo kunnen de tools en methoden die worden gebruikt bij aanvallen met foutinjectie beide vormen aannemen. Fabrikanten en hackers combineren vaak fysieke en digitale tools bij respectievelijk testen en aanvallen.
Sommige tools die worden gebruikt voor foutinjectie zijn FERRARI (Fault and ERRor Automatic Real-time Injector), FTAPE (Fault Tolerance And Performance Evaluator), Xception, Gremlin, Holodeck en ExhaustiF. Ondertussen omvatten FIA-methoden vaak het bombarderen van het systeem met intense elektromagnetische pulsen, het verhogen van de omgevingstemperatuur, onderspanning GPU's of CPU'sof een kortsluiting veroorzaakt. Met behulp van FIA-tools en -methoden kunnen ze een systeem lang genoeg beschadigen om een reset uit te buiten, een protocol te omzeilen of gevoelige gegevens te stelen.
Foutinjectieaanvallen voorkomen
U hoeft zich geen zorgen te maken over het voorkomen van FIA-aanvallen als u een regelmatige consument bent. Die verantwoordelijkheid ligt bij de fabrikant van het apparaat of de softwareontwikkelaar, net zoals de veiligheid van het schip de taak is van de zeilende bemanning. Fabrikanten en ontwikkelaars doen dit door veerkrachtigere beveiligingsprotocollen te ontwerpen en gegevensextractie moeilijk te maken voor hackers.
Toch zijn er geen perfecte systemen. Aanvallers ontwikkelen vaak nieuwe aanvalsmethoden en ze zijn niet beperkt in de manier waarop ze die methoden toepassen, aangezien ze zich niet aan de regels houden. Een hacker kan bijvoorbeeld FIA combineren met een side-channel aanval, vooral als hun toegang tot het apparaat beperkt is. Het team aan de andere kant moet dit feit erkennen bij het ontwerpen van veerkrachtige systemen en het plannen van hun foutinjectietests.
Moet u zich zorgen maken over de FIA?
Niet direct. Er zijn waarschijnlijker cyberbeveiligingsbedreigingen die u persoonlijker treffen dan aanvallen met foutinjectie. Bovendien is de FIA zelden geheim. Een aanvaller heeft fysieke toegang tot uw apparaat nodig om een foutinjectieaanval uit te voeren. Bovendien zijn foutinjectiemethoden over het algemeen invasief en resulteren ze in een bepaalde mate van tijdelijke of permanente schade aan het systeem. Het is dus zeer waarschijnlijk dat u merkt dat er iets mis is of dat u een apparaat achterlaat dat u niet kunt gebruiken.
De vangst is natuurlijk dat de aanvaller mogelijk gevoelige gegevens heeft gestolen tegen de tijd dat u het geknoei opmerkt. Het is aan de fabrikant of ontwikkelaar om de aanval in de eerste plaats te voorkomen en de beveiliging van hun producten te verbeteren.