Start today, secure tomorrow.

Brucon: “ Hacking Driverless Vehicles” offtopic: wat leren we van deze “real life” kwetsbaarheden?

By Barry Sep 25, 2014

Deze dagen ben ik op Brucon. Zo nu en dan pak ik één van de onderwerpen om daar wat verder op in te gaan.

De presentatie van ZOZ ging over hoe je zelfsturende voertuigen kan aanvallen. Hoewel het topic van de presentatie anders was, begon ik steeds meer na te denken over onze houding tegenover bepaalde systemen in IT Security, en een link te leggen naar bepaalde “real life” gevolgen (die tastbaar zijn in het dagelijks leven) van kwetsbaarheden in systemen. Ik heb een aantal voorbeelden uitgewerkt:

Weird Machines

De zelfsturende voertuigen kennen diverse kwetsbaarheden welke misbruikt kunnen worden. Als je deze ontleedt, dan kom je op een aantal generieke oorzaken uit.
Allereerst kan het zo zijn dat “weird machines” worden geaccepteerd omdat we tegenwoordig gewend zijn om in marges te werken. Om processen zo snel en efficiënt mogelijk te laten verlopen accepteren we een bepaald risico. Maar zijn deze marges ook op elkaar afgestemd? Het kan zo zijn dat twee niet op elkaar afgestemde marges van afzonderlijke procesonderdelen voor grote oscillaties in de totale fout kunnen zorgen.

De parallel naar ICT Security: waar zijn de “weird machines” in onze organisatie? Kennen we deze überhaupt wel?

Volgorde van beslissingen: Hiërarchie

Binnen de programma’s die voor automatisch rijdende auto’s worden geschreven is een een hiërarchie belangrijk. Voor deze industrie zou de volgorde moeten zijn:

  1. Control loops
  2. Collision avoidance
  3. Navigation * Localization
  4. Mission task

Hiërarchie is essentieel om te bepalen wat het belangrijkst is om uit te voeren in geval van een onverwachte situatie. In het geval van deze auto’s is het bewaken van de veiligheid van primair belang. Er moet dus vertrouwd kunnen worden op de systemen (vandaar nummer 1).

Maar wat helaas regelmatig gebeurt is dat er uitzonderingen worden gemaakt, bijvoorbeeld om sneller resultaat te boeken. De voorspelbaarheid kan dan verminderd worden omdat de hiërarchie niet meer van toepassing is.

De parallel naar ICT Security: Is er een hiërarchie in onze systemen aanwezig en welke systemen en functies zijn belangrijker? Wat zijn de vooraf genomen beslissingen (continuïteit vs integriteit)?

Fouten in sensoren

Sensoren kennen hun limieten. Dat geeft niet, maar zorg er wel voor dat als één systeem faalt een ander systeem een goed antwoord kan geven.

Als voorbeeld nemen we een auto die op GPS bepaalt waar hij rijdt. Indien het GPS signaal wordt aangevallen of geblokkeerd kan dit ervoor zorgen dat dit de locatiebepaling en navigatie van de auto verstoort.
Volgens een correcte hiërarchie zou de auto op een andere manier moeten bepalen hoe te rijden, met als mogelijk resultaat dat het doel niet gehaald wordt, mits de veiligheid maar gewaarborgd wordt.

Een tweede voorbeeld is het herkennen van wegen of obstakels. Dit gebeurt op basis van technieken zoals Lidar, Radar, Beeldverwerking, etc. Deze sensoren zijn te manipuleren door middel van stoorsignalen of door het creëren van “ge-spoof-de” objecten. Bovendien zijn er grenzen aan wat deze sensoren kunnen waarnemen. Het combineren van deze systemen kan wel verbetering aanbrengen in het totale sensorbeeld, maar is het ook voldoende om beslissingen op te baseren?

De parallel naar ICT Security: In hoeverre leunen wij op één systeem (Denk aan die ene FW, IPS, NG Firewall)? In hoeverre herkennen wij de false-positives of negatives (deze zijn niet altijd zo zichtbaar als bij auto’s die een botsing veroorzaken) en wat doen wij ermee?

Overall

Eigenlijk is mijn conclusie: we leren niet voldoende van onze “real life” kwetsbaarheden; problemen komen vaak weer terug. In het dagelijks leven leiden fouten in systemen vaak tot zichtbare gevolgen, maar bij ICT systemen zijn veel fouten onzichtbaar en de gevolgen hiervan veel minder tastbaar. En zolang er geen inzicht is in de risico’s, is er ook geen inzicht in de mogelijke gevolgen en of die acceptabel zijn.
Probeer eens te bepalen wat er nou echt belangrijk is en bepaal of je weet of deze belangrijke zaken in gevaar komen.

Security