Onderzoekers hebben een kwetsbaarheid die woonachtig zijn in de JavaScript SecureRandom ontdekt() functie die wordt gebruikt voor het genereren van willekeurige Bitcoin-adressen en de bijbehorende privé-sleutels.
De fout maakt oude Bitcoin adressen gegenereerd in de browser of via JS-based portemonnee applicatie kwetsbaar voor brute-force aanvallen. Dientengevolge, aanvallers kunnen toegang tot portemonnee van gebruikers te krijgen en stelen hun cryptogeld fondsen.
JavaScript SecureRandom() Bibliotheek niet stevig Random
Cryptografie is diep meedogenloos van fouten. Je hoeft niet knoeien met het. Je hoeft niet te rollen uw eigen - je strijd geharde algoritmen die zijn martelingen-getest door de technisch meest meedogenloze codeurs vindt u nodig hebt, zei de onderzoekers die het probleem gemeld.
Daarbovenop, voegden ze eraan toe, "de populaire JavaScript SecureRandom() bibliotheek is niet goed willekeurige".
Het probleem is als gevolg van de functie niet het genereren van willekeurige gegevens zoals het hoort te doen.
De functie cryptografische sleutels te genereren dat, ondanks hun lengte, minder dan 48 bits entropie, wat betekent dat de output van de sleutel niet meer dan zal 48 bits entropie zelfs als het entmateriaal meer dan, onderzoekers toegevoegd.
SecureRandom() Vervolgens loopt het getal dat door de verouderde RC4 algoritme krijgt, waarvan bekend is meer voorspelbaar dan het zou moeten zijn, dat wil zeggen. minder bits entropie. Zo, uw sleutel is beter voorspelbaar.
Alle bovenstaande betekent dat de Bitcoin adressen gegenereerd door de SecureRandom() functie zijn vatbaar voor brute-force aanvallen die private sleutel van de gebruiker kan onthullen. Als het laatste gebeurt, fondsen van de gebruiker kan worden gestolen.
Wie wordt beïnvloed?
Blijkbaar, alle portefeuilles gegenereerd door js gereedschappen in browsers sinds het begin van Bitcoin totdat 2011 worden beïnvloed door de zwakke Math.random eventueel naar de betreffende implementaties, de Math.random of RC4 (Chrome) zwakte tussen 2011 en 2013, en RC4 zwak voor Chrome-gebruikers tot eind 2015, onderzoekers verduidelijkt.
Met andere woorden, deze toetsen makkelijk te kraken door brute force rekenkracht.
De kwetsbaarheid heeft betrekking op gebruikers als ze gebruik maken van oude crypto-adressen gegenereerd via JavaScript in de browser. Als dit het geval is, gebruikers moeten onmiddellijk hun fondsen te verplaatsen uit de buurt van deze portefeuilles.
De volgende zijn waarschijnlijk beïnvloed:
– BitAddress pre-2013;
– bitcoinjs vóór 2014;
– huidige software die oude repos ze vonden op GitHub gebruikt.
Recente JavaScript-gegenereerde adressen waarschijnlijk worden niet beïnvloed, onderzoekers zeggen. Echter, JavaScript is niet de beste manier om sleutels te genereren, dus het is best als gebruikers migreren hun fondsen.