Onderzoekers van Check Point hebben een kwetsbaarheid in de beeldverwerking van Instagram ontdekt. Deze zou hackers in staat hebben gesteld om met één afbeelding iemands Instagram-account over te nemen en toegang te krijgen tot de locatie, contacten en camera van het slachtoffer.

Het software-beveiligingsbedrijf Check Point vond de kwetsbaarheid in Mozjpeg. Dat is een opensource JPEG-decoder die door Instagram wordt gebruikt om afbeeldingen te uploaden vanaf de telefoon. Door het slachtoffer simpelweg een kwaadaardig beeldbestand te sturen, kon de aanvaller het Instagram-account van die persoon overnemen en zijn telefoon in een spionagetool veranderen.

Drietrapsaanval
De aanval zag er in drie stappen zo uit:

1. De aanvaller stuurt een afbeelding naar het doelwit, via e-mail, WhatsApp of een ander media-uitwisselingsplatform.

2. De foto wordt opgeslagen op de smartphone van de gebruiker. Dit kan automatisch of handmatig gebeuren, afhankelijk van de verzendmethode, het type smartphone en de configuratie. Een foto die bijvoorbeeld via WhatsApp wordt verzonden, wordt standaard automatisch op de telefoon opgeslagen. Deze optie kun je overigens uitzetten.

3. Het slachtoffer opent de Instagram-app en activeert zo de hack, waardoor het toestel op afstand kan worden overgenomen.
De kwetsbaarheid geeft de aanvaller volledige controle over de Instagram-app, waardoor de hacker allerlei acties kan uitvoeren zonder medeweten van de gebruiker. Hij kan bijvoorbeeld privéberichten lezen op het Instagram-account, foto’s verwijderen en plaatsen of de accountprofielgegevens aanpassen.

Machtigingen
De Instagram-app heeft echter ook uitgebreide machtigingen die toegang geven tot andere functies op de telefoon van de gebruiker, zodat een aanvaller dezelfde kwetsbaarheid ook kan gebruiken om contacten, locatiegegevens, camera’s en opgeslagen bestanden te zien. Het ‘kleinste’ gevolg is dat een hacker de Instagram-app van de gebruiker kan laten crashen. De gebruiker heeft dan geen toegang meer en moet de app van zijn toestellen verwijderen en opnieuw installeren. Dat kan tot dataverlies leiden.

Gevaar door 3rd party code
De onderzoekers van Check Point vonden de kwetsbaarheid zoals gezegd in Mozjpeg, een opensource JPEG-decoder. Check Point waarschuwt appontwikkelaars dan ook voor de risico’s bij het gebruik van bibliotheken met code van derden in hun apps, zonder die eerst goed te controleren. App-ontwikkelaars schrijven immers vaak niet de hele applicatie zelf. In plaats daarvan besparen ze tijd en geld door code van derden te gebruiken voor veelvoorkomende taken zoals beeld- en geluidsverwerking, netwerkverbindingen en meer. Maar zo’n 3rd party code bevat vaak kwetsbaarheden die kunnen leiden tot beveiligingslekken in de volledig afgewerkte app, zoals in dit geval met Instagram.
Yaniv Balmas, hoofd van Cyber Research bij Check Point: "We dringen er sterk op aan dat ontwikkelaars van softwareapplicaties de 3rd party code-bibliotheken die ze gebruiken om hun app-infrastructuren te bouwen, goed doorlichten en er tegelijkertijd voor zorgen dat de integratie goed gebeurt. 3rd party code wordt in vrijwel elke app gebruikt en het is erg gemakkelijk om ernstige bedreigingen die erin zijn ingebed, te missen. Vandaag is het Instagram, morgen - wie weet?"

Veiligheidstips
Check Point heeft zijn bevindingen doorgegeven aan Facebook, de eigenaar van Instagram. Facebook heeft het probleem erkend en vervolgens een patch uitgegeven om de kwetsbaarheid op nieuwere versies van de Instagram-app te verhelpen. Check Point heeft dit nieuws daarom pas nu bekendgemaakt. Het bedrijf besluit met drie veiligheidstips voor gebruikers:

1. Update! Update! Update!
Zorg ervoor dat je de apps en het besturingssysteem van je smartphone regelmatig bijwerkt. Wekelijks zijn er tientallen kritieke beveiligingspatches die via deze updates worden verstuurd. Elk van deze patches kan een positieve invloed hebben op je privacy.

2. Monitor de rechten
Besteed meer aandacht aan de machtigingen die apps vragen. Het is heel gemakkelijk voor app-ontwikkelaars om de gebruiker meer rechten te vragen dan noodzakelijk.

3. Denk twee keer na over goedkeuringen
Neem telkens een paar seconden de tijd om na te denken voordat je iets goedkeurt. Stel jezelf de vraag: "Wil ik deze app echt zoveel toegang geven? Heb ik dat echt nodig?" En als het antwoord ‘nee’ is, keur het dan niet goed.