Een van de meest ongebruikelijke presentaties op de DEF CON 29-conferentie, die begin augustus werd gehouden, ging over kwetsbaarheden in landbouwapparatuur, die werden ontdekt door een Australische onderzoeker die bekend is onder de naam Sick Codes.
Kwetsbaarheden bij de grote fabrikanten John Deere en Case IH werden niet aangetroffen in tractoren en maaidorsers, maar in webdiensten waarmee onderzoekers meer vertrouwd zijn. Via deze diensten was het mogelijk rechtstreeks controle te krijgen over zeer kostbaar materieel van meerdere tonnen, wat natuurlijk bijzonder gevaarlijk is.
Moderne landbouwmachines
Voor wie niet vertrouwd is met moderne landbouw, lijken de prijzen van machines astronomisch. In zijn presentatie legde Sick Codes uit waarom tractoren en maaidorsers zo duur zijn. De beste voorbeelden van moderne landbouwmachines zijn geautomatiseerd en in vrij hoge mate geautomatiseerd. Dit wordt geïllustreerd door het voorbeeld van de John Deere 9000-serie hakselaar, waarvoor als volgt reclame wordt gemaakt:
De V12-motor van 24-liter en het prijskaartje van zes cijfers zijn niet eens het belangrijkste – deze specifieke reclamespot somt de technische mogelijkheden van de machine op: ruimtelijk oriëntatiesysteem, automatische rijenopname en locatiesensoren en synchronisatie met de vrachtwagen die het gemaaide graan verzamelt. Aan deze mogelijkheden voegt Sick Codes bediening op afstand toe en de mogelijkheid om automatisch technische ondersteuning rechtstreeks te verbinden met de oogstmachine voor het oplossen van problemen. Het is hier dat hij een gewaagde bewering doet: de moderne landbouw is volledig afhankelijk van het internet.
Dreigingsmodel van landbouwmachines
Het zal geen verbazing wekken dat moderne machines ook boordevol moderne technologie zitten, van conventionele GPS en 3G/4G/LTE plaatsbepalings- en communicatiesystemen tot tamelijk exotische inertiële navigatiemethoden voor plaatsbepaling op de grond met nauwkeurigheid tot op de centimeter. Het door Sick Codes bedachte dreigingsmodel is gebaseerd op IT-concepten, en klinkt behoorlijk bedreigend wanneer het wordt toegepast op de werkelijkheid.
Hoe ziet een DoS-aanval op een stuk landbouwgrond eruit? Stel dat we een paar variabelen in de software voor het sproeien van kunstmest op de bodem kunnen veranderen en de dosis meerdere malen kunnen verhogen. We kunnen deze grond zo eenvoudig jaren- of zelfs decennialang ongeschikt maken voor landbouw.
Of wat dacht u van een eenvoudigere theoretische variant: we nemen de controle over een maaidorser en gebruiken die om bijvoorbeeld een elektriciteitsleiding te beschadigen. Of we hacken de oogstmachine zelf, verstoren het oogstproces en veroorzaken zo enorme verliezen voor de boer. Op nationale schaal zouden dit soort “experimenten” kunnen leiden tot nationale voedselveiligheid. Landbouwapparatuur binnen een netwerk is dus echt kritieke infrastructuur.
En volgens Sick Codes laat de bescherming door de leveranciers van juist deze technologie en infrastructuur veel te wensen over. Hier leest u wat hij en zijn gelijkgezinde team konden vinden.
Brute-force-aanvallen op gebruikersnamen, wachtwoord-hardcoding en meer
Sommige van de kwetsbaarheden in de infrastructuur van John Deer die op de conferentie werden gepresenteerd, worden ook beschreven in een artikel op de website van de onderzoeker. Sick Codes begon met het aanmelden voor een legitiem ontwikkelaarsaccount op de website van het bedrijf (hoewel hij, zoals hij schrijft, later de naam vergat die hij gebruikte). Toen hij het zich probeerde te herinneren, stuitte hij op iets onverwachts: de API zocht telkens als hij een teken intikte naar gebruikersnamen. Een snelle controle leerde dat de gebruikersnamen die al in het systeem zaten inderdaad via een brute-force-aanval konden worden verkregen.
De traditionele limiet op het aantal verzoeken van één IP-adres in dergelijke systemen was niet ingesteld. In een paar minuten tijd verstuurde Sick Codes 1000 zoekopdrachten, waarbij hij controleerde op gebruikersnamen die overeenkwamen met de namen van de Fortune 1000-bedrijven. Hij verkreeg zo 192 hits.
De volgende kwetsbaarheid werd ontdekt in een interne dienst die klanten in staat stelt gegevens over aangekochte apparatuur bij te houden. Zoals Sick Codes heeft ontdekt, kan iedereen met toegang tot deze tool informatie bekijken over elke tractor of maaidorser in de database. De toegangsrechten tot dit soort gegevens werden niet gecontroleerd. Bovendien is deze informatie behoorlijk vertrouwelijk: eigenaar van het voertuig, locatie, enz.
Op DEF CON 29, onthulde Sick Codes iets meer dan wat hij op zijn website had geschreven. Zo slaagde hij er ook in toegang te krijgen tot de dienst voor het beheer van demonstratieapparatuur, met een volledige demonstratiegeschiedenis en persoonlijke gegevens van werknemers van het bedrijf. Ten slotte ontdekten zijn collega’s ook een kwetsbaarheid in de bedrijfsdienst Pega Chat Access Group, in de vorm van een hardcoded admin-wachtwoord. Hierdoor was hij in staat om toegang te krijgen tot de sleutel voor het klantenaccount van John Deere. Sick Codes heeft weliswaar niet gezegd wat deze sleutel precies opent, maar het lijkt een andere reeks interne diensten te zijn.
Om het evenwicht te bewaren heeft Sick Codes ook een aantal kwetsbaarheden gepresenteerd die van invloed zijn op de Europese concurrent van John Deere, Case IH. Daar kon hij toegang krijgen tot een onbeveiligde Java Melody-server die toezicht hield op enkele diensten van de fabrikant, die gedetailleerde informatie over gebruikers opleverde en de theoretische mogelijkheid liet zien om een account te kapen.
Contact met de bedrijven
Eerlijkheidshalve moet worden opgemerkt dat Sick Codes geen rechtstreeks verband legt tussen de bovengenoemde bedreigingen en de door hem ontdekte kwetsbaarheden. Wellicht is dit om gewone boeren niet in gevaar te brengen. Of misschien heeft hij zo’n verband gewoon niet kunnen vinden. Maar op basis van de triviale beveiligingsfouten die worden gepresenteerd, concludeert hij dat de veiligheidscultuur in deze bedrijven onvoldoende is, waardoor we kunnen aannemen dat de directe controle over de maaidorsers op soortgelijke wijze is beveiligd. Maar dit blijft natuurlijk wel een aanname.
Alle kwetsbaarheden in de John Deere-diensten zijn sindsdien verholpen, zij het onder enkele voorwaarden. De fabrikant beschikte niet over een speciaal contactkanaal om kwetsbaarheden te rapporteren. Sick Codes had een korte woordenwisseling met de social media-manager van John Deere, waarna hem werd gevraagd de kwetsbaarheden te melden via het bug-bounty-programma op de HackerOne-service – een dergelijke service werd echter niet gevonden. Uiteindelijk werd er een beloningsprogramma voor het melden van kwetsbaarheden ingevoerd, maar deelnemers moeten dan wel een geheimhoudingsovereenkomst ondertekenen.
De problemen met de website van het bedrijf werden gepatcht zonder enige vorm van reactie op de berichten van de onderzoekers. Of eigenlijk: er was wel een reactie, maar die was nogal vreemd. Nadat de kwetsbaarheden in april van dit jaar in het nieuws kwamen werd er een cryptisch bericht op het officiële Twitter-account van het bedrijf geplaatst: “This week’s forecast: one to three inches of nonsense.” Op hetzelfde moment werd een vacature voor een veiligheidsingenieur gepubliceerd met de begindatum in hoofdletters: NU METEEN:
Het recht om te repareren
In 2017 schreef het magazine Vice over de problemen waar de eigenaars van John Deere-landbouwapparatuur mee te maken hadden. Tal van software- en hardware-vergrendelingen verhinderen dat gebruikers zelf apparatuur repareren. In feite moet elk vervangend onderdeel worden “geregistreerd” in de besturingscomputer van de oogstmachine of in de database van de verkoper. Maar officiële dealers zijn langzaam en duur. Daarom kiezen landbouwers vaak voor niet-officiële firmware waarmee ze de machine kunnen loskoppelen van de maker.
Dat is een goed voorbeeld van het debat over het recht op reparatie: het blijkt dat de klanten van het bedrijf geen eigenaar zijn van wat ze kopen. In feite huren ze de uitrusting (maar tegen de volle prijs), en moeten ze gebruik maken van de onderhoudsdiensten van de fabrikant, zelfs als ze dat niet willen. De verkoper noemt vaak de veiligheid als reden, met name de noodzaak om te voorkomen dat een niet-geautoriseerde besturingseenheid bijvoorbeeld de controle over een complexe machine overneemt. Maar Sick Codes vraagt zich terecht af: welke veiligheid is er überhaupt, met zulke flagrante kwetsbaarheden in hun software?
Aan het eind van het rapport demonstreerde Sick Codes de John Deere-besturingsmodule met de cellulaire chip van Qualcomm, en somde een lange lijst op van kritieke kwetsbaarheden die daarin onlangs waren aangetroffen. Dit is natuurlijk een zwak argument: kwetsbaarheden moeten nog worden uitgebuit, en het feit alleen dat er bugs zijn gevonden, zegt weinig.
Het gaat niet om het aantal kwetsbaarheden, maar om het vermogen ze op te sporen en snel te verhelpen. Sick Codes probeert het publiek ervan te overtuigen dat landbouwmachines ongeveer even slecht beschermd zijn als medische apparatuur. Of dit nu echt waar is of niet: het probleem moet worden aangepakt, te beginnen met het openen van een dialoog met de fabrikanten. Het kan alleen maar in het belang van die laatstgenoemden zijn om acht te slaan op de waarschuwingen van ethische hackers, voordat cybercriminelen de strijd aangaan.