Tientallen Mac-apps onveilig door Sparkle: dit kun je eraan doen

Door Sparkle zijn tientallen Mac-apps kwetsbaar voor een aanval, waarbij malware geïnstalleerd kan worden. In 6 vragen leggen we uit wat het probleem is en hoe je jezelf beschermt.

Er is een nieuwe kwetsbaarheid ontdekt, die ervoor zorgt dat meerdere Mac OS X-apps onveilig zijn. DuetDisplay, Camtasia, uTorrent en diverse andere Mac-apps zijn kwetsbaar voor een man-in-the-middle aanval, waarbij kwaadaardige code wordt geïnstalleerd. Het probleem wordt veroorzaakt door Sparkle, een tool die veel ontwikkelaars gebruiken om app-updates te regelen. In 6 vragen leggen we uit wat het probleem is en wat je eraan kunt doen om jezelf te beschermen.


Zwart toetsenbord

1. Om welke apps gaat het?
Het gaat om apps van derden die via internet handmatig zijn geïnstalleerd en die een verouderde versie van de Sparkle-updater gebruiken. Deze tool zorgt ervoor dat apps regelmatig op de achtergrond controleren of er updates zijn.

Apps die via de Mac App Store zijn gedownload, zijn dus veilig. Ook zijn er apps die aanvankelijk wel last hadden van het probleem (bijvoorbeeld VLC Media Player) maar die inmiddels het probleem hebben opgelost door over te stappen naar een nieuwe versie van Sparkle.

Daarnaast zijn er apps die gebruik maken van Sparkle, maar waarmee je toch geen risico loopt. De populaire chatapp Adium gebruikt bijvoorbeeld wel Sparkle, maar communiceert beveiligd via https.

Het komt alleen voor op Macs met OS X Yosemite en OS X El Capitan.

2. Sparkle: hoe werkt het?

Spark is bedoeld om te checken of er updates zijn van bepaalde apps. Daarvoor maakt de app verbinding met een update-server. Dit levert dataverkeer op tussen de computer van de gebruiker en de server van de ontwikkelaar. Normaal is dit dataverkeer beveiligd en versleuteld, maar bij de verouderde versie van Sparkle is dat niet het geval.

Bij een man-in-the-middle aanval kan een kwaadwillende de communicatie tussen computer en server onderscheppen. In plaats van de software-update haalt de computer vervolgens kwaadaardige software op.

In onderstaande video legt de man die de kwetsbaarheid ontdekte uit, hoe het werkt:

Klik om inhoud van YouTube te tonen.
Learn more in YouTube’s privacy policy.

3. Hoe zit het technisch in elkaar?
Als de aanval is gelukt kan een kwaadwillende de controle van de computer overnemen. De kwetsbaarheid is niet ontstaan in het signeren van code, maar door functionaliteit van de WebKit-view, waardoor:

  • Onversleuteld HTTP-verkeer kan worden onderschept en aangepast
  • JavaScript kan worden uitgevoerd

Dat wil overigens niet zeggen dat de rendering engine WebKit zelf onveilig is, maar dat Sparkle WebKit niet goed had geïmplementeerd.

4. Wat kunnen ontwikkelaars doen?
Ontwikkelaars die te maken hebben met het probleem, kunnen het op twee manieren oplossen:

  • De nieuwste versie van de Sparkle-updater gebruiken, waarin het probleem is opgelost.
  • Apps aanbieden via de Mac App Store.

Het probleem in beide gevallen is dat gebruikers nog oude versies van de software blijven gebruiken en daardoor nog enige tijd kwetsbaar blijven.

5. Wat kan Apple doen?
Apple kan dit probleem niet meteen oplossen, omdat het gaat om software die buiten de Mac App Store om is geïnstalleerd. De ontwikkelaars moeten het zelf oplossen door updates van hun apps uit te brengen. Vandaar dat Apple steeds meer beveiliging inbouwt in OS X, zoals Gatekeeper. Dat zorgt ervoor dat een standaard gebruiker alleen apps via de Mac App Store kan downloaden (uiteraard kun je die beperking uitschakelen).

6. Wat kun je als gebruiker doen?
Je zou kunnen kijken of de apps die je gebruikt zijn getroffen door ‘Sparkle’. Op GitHub is een steeds groeiende lijst te vinden van apps die gebruik maken van Sparkle. Maar het gaat om tientallen apps en de kans is groot dat lijsten die je op internet vindt, niet compleet zijn.

Bovendien toont de lijst álle apps die gebruik maken van Sparkle en die zijn niet allemaal getroffen. Adium staat bijvoorbeeld in de lijst, maar zoals we al aangaven maakt die app gebruik van beveiligde communicatie. Ook maken lang niet alle apps in de lijst gebruik van de verouderde versie van Sparkle.

Dit kun je het beste doen:

  • Heb je apps via de Mac App Store gedownload, dan hoef je niets te doen. Sparkle treft niet deze apps.
  • Krijg je de komende dagen een pop-up dat er een update beschikbaar is voor een bepaalde app, voer dan niet de update via de pop-up uit. Je kunt beter naar de website van de ontwikkelaar zelf gaan en daar de laatste versie van de software downloaden.

Het probleem is dat ontwikkelaars de komende dagen in rap tempo hun software zullen updaten, waardoor je behoorlijk wat software-updates kunt verwachten.

Als gebruiker kun je je beschermen door apps bij voorkeur via de Mac App Store aan te schaffen.

Bonustip 1: check met Terminal
Voor een overzicht van apps met Sparkle die op jouw Mac staan kun je in Terminal het volgende commando intikken:
find /Applications -path '*Autoupdate.app/Contents/Info.plist' -exec echo {} \; -exec grep -A1 CFBundleShortVersionString '{}' \; | grep -v CFBundleShortVersionString

Bonustip 2: check met Python-script
Ben je vertrouwd met Python, dan kun je met dit script in kaart brengen welke apps op jouw systeem zijn getroffen.

Meer informatie over het probleem lees je op Ars Technica. Bonustips via Marnix en XIII.

Reacties: 10 reacties

Reacties zijn gesloten voor dit artikel.