Bitcoin Forum

Local => Desenvolvimento & Discussões Técnicas => Topic started by: sabotag3x on November 14, 2023, 05:15:36 PM



Title: Randstorm, vulnerabilidade antiga em carteiras de Bitcoin
Post by: sabotag3x on November 14, 2023, 05:15:36 PM
Para quem gosta dessas vulnerabilidades, encontraram mais uma e deram o nome de Randstorm.

Resumindo, afeta carteiras criadas entre 2011-2015 (blockchain.info, brainwallet, bitgo, bitaddress, etc).. estima-se que US$ 1,2 a 2,1 bilhões estejam em risco.

https://www.talkimg.com/images/2023/11/14/zR0Sz.png
Carteiras afetadas.

Fonte: https://www.unciphered.com/blog/disclosure-of-vulnerable-bitcoin-wallet-library
Mais informações: https://www.unciphered.com/blog/randstorm-you-cant-patch-a-house-of-cards
Outro link: https://www.unciphered.com/randstorm


Title: Re: Randstorm, vulnerabilidade antiga em carteiras de Bitcoin
Post by: TryNinja on November 14, 2023, 06:55:51 PM
Pelo menos parece ser menos mal do que a última do leite triste. ;D

Quote
[...] however, the amount of work necessary to exploit wallets varies significantly and, in general, considerably increases over time. That is to say, as a rule, impacted wallets generated in 2014 are substantially more difficult to attack than impacted wallets generated in 2012.

Novamente é um problema de baixa entropia nos algoritimos de randomização. :P

Detalhe que vários dos afetados já tinham realizado mudanças que acabaram dificultando o exploit em carteiras geradas depois de certos períodos. A Blockchain.info realizou melhoras em 2014, por exemplo.

E claro, as maravilhas do open-source:

https://imgs.xkcd.com/comics/dependency.png


Title: Re: Randstorm, vulnerabilidade antiga em carteiras de Bitcoin
Post by: bitmover on November 16, 2023, 06:16:00 PM
Curioso que em um dos links eu vi uma explicação que a vulnerabilidade tem a ver com a função Math.random()

Nem sou especialista nisso  mas no pouco que já estudei de numeros e criptografia em javascript , todo lugar fala pra não usar essa função. Daí uma lib enorme, que todo software de carteiras de bitcoin utiliza,  esta la usando essa funcao  :D,


Quote
The source of the vulnerability is the SecureRandom() function found in the JSBN javascript library, combined with weaknesses that existed in major browser implementations of Math.random().

Olha o alerta bem no começo da página
Quote
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Math/random

Nota: Math.random() não gera números criptograficamente seguros. Não a use para nada relacionado a segurança. Use a API Web Crypto, mais precisamente o método window.crypto.getRandomValues()