Automatische updates houden systemen van Ajax veilig

Deze week kwam in het nieuws dat bepaalde alarmsystemen door criminelen overgenomen konden worden. Er was weliswaar een update beschikbaar om dat te voorkomen, maar dat was bij zo’n 300 gebruikers niet bekend. Kan zoiets ook met alarmsystemen van Ajax gebeuren?
“De procedure rond de updates is een integraal onderdeel van de productontwikkeling en -verbetering”, benadrukt topman Aleksandr Konotopskyi van Ajax Systems. “Updates van het besturingssysteem OS Malevich van de Ajax-hubs verhogen de stabiliteit en veiligheid van het systeem, optimaliseren de prestaties, zorgen voor compatibiliteit met nieuwe apparaten en breiden de capaciteitenlijst uit. Omdat ze zo belangrijk zijn, zorgen we ervoor dat ze automatisch worden gedownload en geïnstalleerd. En voor de veiligheid van de gebruiker gebeurt dat alleen als het system is uitgeschakeld. Omdat de bestanden maximaal 0,5MB groot zijn, neemt de update hooguit 10 seconden in beslag, waardoor de werking van het systeem niet wordt beïnvloed.”
Strenge beveiliging tegen manipulatie
Ajax Systems doet al het mogelijke om manipulatie van de systemen te voorkomen. Zo worden firmware-bestanden voor de hub versleuteld opgeslagen op de Ajax Cloud-server. De server kent de sleutels en de versleutelingsmethode van het bestand niet. De toegang tot de firmware-database wordt slechts aan een beperkte groep mensen binnen het bedrijf verstrekt vanuit het interne netwerk van Ajax Systems. Omdat ze verschillende toegangsniveaus hebben, kan niemand essentiële wijzigingen aanbrengen en het systeem saboteren. Alle acties worden geregistreerd en gecontroleerd en het is precies bekend wie de wijzigingen heeft aangebracht en wanneer. De interne veiligheidsvoorschriften verbieden het gebruik van wachtwoorden om toegang te krijgen tot de firmware-database. In plaats daarvan worden SSH-sleutels gebruikt.
Automatische updates
De Hub maakt verbinding met de server met behulp van het eigen versleutelde protocol. Het authenticatie- en verificatiesysteem zorgen ervoor dat criminelen de server niet kunnen simuleren.
De Hub controleert elke 5 minuten of er updates zijn voor het besturingssysteem. Als de automatische update-optie is ingeschakeld, wordt de Hub automatisch geüpdatet. Als deze optie is uitgeschakeld, biedt de mobiele app de mogelijkheid om de update te installeren. Als het beveiligingssysteem is ingeschakeld wanneer de Hub nieuwe firmware detecteert, wordt de update op de achtergrond geladen, waardoor de werking van het systeem niet wordt beïnvloed. De update wordt dan na het uitschakelen van het systeem geïnstalleerd.
Extra controles
Nadat het updatebestand is gedetecteerd, begint de Hub met het downloaden van de firmware naar het externe flashgeheugen met behulp van een beschikbaar communicatiekanaal met de server: Ethernet of GSM (en wifi voor Hub Plus). Het downloaden wordt op de achtergrond uitgevoerd en heeft geen invloed op de werking van het systeem. TLS beschermt de verzonden gegevens tussen de Hub en de server in combinatie met de beveiligingsmethoden binnen het gesloten binaire protocol. De firmware van de Hub is versleuteld en voorzien van een controlesom. Als het firmware-bestand corrupt raakt (opzettelijk of als gevolg van transmissiefouten), wordt het genegeerd, omdat de controlesommen niet overeenkomen. Mocht een indringer het versleutelde firmware-bestand corrupt maken en de controlesom vervangen, dan zal de controlesom in het gedecodeerde firmware-bestand nog steeds niet overeenkomen met de handtekening en zal de Hub het updatebestand weigeren.
Sabotage uitsluiten
Het firmware-bestand kan hooguit worden uitgelezen vanuit het externe flashgeheugen van de hub. Het decoderen van dit bestand zal, met de mogelijkheden van moderne computers, duizenden jaren in beslag nemen, aldus Ajax Systems.
Het firmware-bestand bevat een systeem met markers en eigenschappen die vóór de installatie worden gecontroleerd. Informatie over deze markers en eigenschappen is slechts voor een beperkte groep mensen beschikbaar om zo de mogelijkheid op sabotage uit te sluiten. Als een marker of eigenschap niet wordt gevalideerd, wordt de update geannuleerd. De Hub zal de firmware van de Hub Plus ook dan niet installeren. Tijdens de update wordt het versleutelde firmware-bestand uit het externe flashgeheugen van de Hub gelezen door de bootloader die in de ROM van de microcontroller van het apparaat is opgeslagen.
Veilige decodering
De firmware wordt vervolgens alleen binnenin de microcontroller gedecodeerd, die van buitenaf niet toegankelijk is, zodat er geen mogelijkheid is om de firmware te lezen of te vervangen. Nadat het firmware-bestand is gedecodeerd, worden de controlesommen nogmaals geverifieerd om er zeker van te zijn dat er geen gegevens corrupt zijn geraakt tijdens het decoderingsproces.
De bootloader in de hub zorgt er ook voor dat de Hub correct werkt met nieuwe firmware. Als er fatale fouten of storingen worden gedetecteerd, verwijdert de hub de corrupte firmware-versie en verstuurt de laatste stabiele versie opnieuw.
Slechts een beperkt aantal mensen weet hoe de stabiele firmware wordt geselecteerd en hoe de juiste werking wordt gecontroleerd, wat sabotage bemoeilijkt. De bootloader zelf wordt niet geüpdatet, waardoor de mogelijkheid op sabotage van het rollback-mechanisme van de firmware wordt uitgesloten.
De nieuwste versie van OS Malevich is op dit moment 2.10.