Signal bagatelliseert encryptiesleutelfout, maar herstelt deze na X-drama
Signal verbetert eindelijk de beveiliging van zijn desktopclient door de manier waarop tekstversleutelingssleutels voor de datastore worden opgeslagen te wijzigen, na het probleem sinds 2018 te hebben gebagatelliseerd.
Zoals BleepingComputer in 2018 meldde, wordt bij het installeren van Signal Desktop voor Windows of Mac een versleutelde SQLite-database gemaakt om de berichten van een gebruiker op te slaan. Deze database wordt versleuteld met een sleutel die door het programma wordt gegenereerd, zonder input van de gebruiker.
Om een programma een versleutelde database te laten ontsleutelen en deze te gebruiken voor het opslaan van gegevens, moet het toegang hebben tot de versleutelingssleutel. In het geval van Signal wordt de sleutel als tekst opgeslagen in een lokaal bestand genaamd %AppData%Signalconfig.json in Windows en ~/Library/Application Support/Signal/config.json op een Mac.
Als Signal echter toegang heeft tot deze sleutel, kunnen andere gebruikers of programma’s die op de computer draaien dit ook, waardoor de versleutelde database waardeloos wordt en weinig tot geen extra beveiliging biedt.
Een oplossing die werd voorgesteld door de onderzoeker die dit probleem ontdekte, Nathaniel Suchy, was om de lokale database te versleutelen met een door de gebruiker opgegeven wachtwoord dat nergens wordt opgeslagen, zoals we zien bij cloudback-upsoftware, webbrowsers, wachtwoordmanagers en cryptocurrency-portefeuilles.
Toen BleepingComputer in 2018 contact opnam met Signal over het probleem, kregen we nooit een reactie.
In plaats daarvan reageerde een Signal Support Manager op de zorgen van een gebruiker in het Signal-forum en verklaarde dat de beveiliging van de database nooit iets was dat ze beweerden te bieden.
“De databasesleutel was nooit bedoeld als geheim. Versleuteling in rust is niet iets dat Signal Desktop momenteel probeert te bieden of ooit heeft beweerd te bieden,” reageerde de Signal-medewerker.
Om eerlijk te zijn tegen Signal, is het versleutelen van lokale databases zonder een door de gebruiker opgegeven wachtwoord een probleem voor alle toepassingen en zijn er extra stappen nodig om de beveiliging verder te versterken.
Het was echter vreemd dat een bedrijf dat prat gaat op zijn beveiliging en privacy het probleem afwees en geen oplossing probeerde te bieden.
Ontwerpfout duikt opnieuw op op X
Versnel bijna zes jaar vooruit en Elon Musk tweette: “Er zijn bekende kwetsbaarheden met Signal die niet worden aangepakt. Lijkt vreemd …”
Musk deelde niet welke kwetsbaarheden hij bedoelde, en sommigen zagen Musks tweet als een poging om Telegram te helpen in een campagne waarin werd beweerd dat het veiliger was dan Signal.
Signal-voorzitter Meredith Whittaker reageerde dat er geen bekende kwetsbaarheden zijn die moeten worden aangepakt, en als die er zijn, moeten deze op verantwoorde wijze aan de organisatie worden bekendgemaakt.
“Hallo, wij hebben geen bewijs van bestaande kwetsbaarheden ontvangen en wij zijn van niets op de hoogte gebracht. Wij volgen verantwoorde openbaarmakingspraktijken, bewaken en reageren nauwgezet op security@signal.org en lossen eventuele geldige problemen snel op,” tweette Whittaker.
Vorige week waarschuwde mobiele beveiligingsonderzoeker Tommy Mysk echter opnieuw op X om Signal Desktop niet te gebruiken vanwege dezelfde beveiligingszwakte waar we in 2018 over berichtten.
In een reeks tweets illustreerde Mysk hoe foto’s en apps die via de berichten-app worden verzonden, niet zijn opgeslagen op een veilige of versleutelde locatie en dat de versleutelingssleutel voor de berichtopslag nog steeds als tekst op het systeem is opgeslagen.
“De opmerkingen van de gemeenschap zijn verkeerd en Elon Musk heeft gelijk. De desktop-apps van Signal versleutelen de lokale chatgeschiedenis met een sleutel die als tekst is opgeslagen en toegankelijk is voor elk proces,” tweette Mysk in een andere thread.
“Hierdoor zijn gebruikers kwetsbaar voor exfiltratie. Het probleem werd in 2018 gemeld, maar er is niets aan gedaan.”
Als reactie bagatelliseerde Whittaker de fout en verklaarde dat als een aanvaller volledige toegang tot uw apparaat heeft, Signal de gegevens niet volledig kan beschermen.
“De gemelde problemen zijn afhankelijk van een aanvaller die *volledige toegang tot uw apparaat* heeft — hetzij fysiek, door een malware-inbreuk, of via een kwaadaardige applicatie die op hetzelfde apparaat draait,” tweette Whittaker.
“Dit is niet iets dat Signal, of een andere app, volledig kan beschermen. Noch beweren we dat ooit te doen.”
Hoewel het onduidelijk is wat volledige toegang tot een apparaat betekent, kan iedereen met externe toegang of malware die op het apparaat draait, toegang krijgen tot de gegevens.
De reactie was ongebruikelijk na Whittakers constante retweets over de beveiligings- en privacy-implicaties van Microsoft’s Windows Recall en hoe gegevens could worden gestolen door lokale aanvallers of malware.
Hoewel de Windows Recall-functie ongetwijfeld veel meer gevoelige gegevens verbruikt, kunnen vergelijkbare zorgen worden toegepast op Signal, dat wordt gebruikt voor vertrouwelijke berichten die in sommige landen iemand in de gevangenis kunnen brengen.
Microsoft reageerde echter op de zeer terechte kritiek en zei dat ze de release van Windows Recall zouden uitstellen om extra beveiligingen toe te voegen om verzamelde gegevens te beschermen tegen lokale aanvallen en het product verder te testen.
Signal zal nu database-versleuteling aanscherpen
In april heeft een onafhankelijke ontwikkelaar, Tom Plant, een verzoek ingediend om code te integreren die de SafeStorage API van Electron gebruikt om de datastores van Signal verder te beveiligen tegen offline aanvallen.
“Als een eenvoudige mitigerende maatregel heb ik de safeStorage API van Electron geïmplementeerd om de sleutel op opportunistische wijze te versleutelen met platform-API’s zoals DPAPI op Windows en Keychain op macOS,” legde Plant uit in het integratieverzoek.
De safeStorage API van Electron biedt extra methoden om de versleutelingssleutel die wordt gebruikt om lokaal op een apparaat opgeslagen gegevens te versleutelen, te beveiligen.
Wanneer gebruikt, worden versleutelingssleutels gegenereerd en opgeslagen met behulp van het cryptografiesysteem en de veilige sleutelhangers van een besturingssysteem. Op Mac’s wordt de versleutelingssleutel bijvoorbeeld opgeslagen in de Sleutelhanger en op Linux maakt het gebruik van de geheimestore van de windows manager, zoals kwallet, kwallet5, kwallet6 en gnome-libsecret.
De safeStorage API is ontoereikend voor Windows, omdat deze DPAPI gebruikt, wat alleen de versleutelingssleutel beveiligt tegen andere gebruikers op hetzelfde apparaat. Dit betekent dat elk programma of malware dat draait onder dezelfde gebruikerscontext als degene die Signal gebruikt, theoretisch toegang zou kunnen krijgen tot de gegevens.
Hoewel de oplossing extra beveiliging zou bieden voor alle Signal-desktopgebruikers, bleef het verzoek tot vorige week, na de X-drama, inactief. Twee dagen geleden antwoordde eindelijk een Signal-ontwikkelaar dat ze ondersteuning voor Electron’s safeStorage hebben geïmplementeerd, die binnenkort beschikbaar zal zijn in een aankomende bètaversie.
Terwijl de nieuwe safeStorage-implementatie wordt getest, heeft Signal ook een terugvalmechanisme geïntroduceerd waarmee het programma de database kan ontsleutelen met behulp van de legacy database-ontsleutelingssleutel.
“Naast de migratie naar versleutelde, op de op sleutelhanger gebaseerde lokale versleutelingssleutels voor databases op ondersteunde platforms, bevat onze implementatie ook enkele extra probleemoplossingsstappen en een tijdelijke terugvaloptie waarmee gebruikers hun berichtendatabase kunnen herstellen met behulp van hun legacy database-ontsleutelingssleutel als er iets misgaat,” legde Signal-ontwikkelaar Jamie Kyle uit.
“Dit zou moeten helpen om het gegevensverlies te minimaliseren als er tijdens het migratieproces en de uitrol van de productie randgevallen of andere bugs in de sleutelhanger worden ontdekt.
Signal zegt dat de legacy-sleutel zal worden verwijderd zodra de nieuwe functie is getest.
Hoewel het goed is om te zien dat deze extra beveiligingen naar Signal komen, zijn sommigen teleurgesteld dat dit pas gebeurde na de opschudding op X.
BleepingComputer nam contact op met Signal met verdere vragen, maar heeft nog geen reactie ontvangen.
Opzoek naar de laatste updates uit onze securitylog?
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----