Bitcoin Forum
April 28, 2024, 02:42:26 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Libsecp256k1 and Hertzbleed  (Read 62 times)
NotATether (OP)
Legendary
*
Offline Offline

Activity: 1582
Merit: 6697


bitcoincleanup.com / bitmixlist.org


View Profile WWW
January 29, 2024, 09:21:56 AM
Merited by vapourminer (1), pooya87 (1)
 #1

It's an old vulnerability, but take a look at this: https://crypto.stackexchange.com/questions/100649/is-the-elliptic-curve-cryptography-library-libsecp256k1-not-susceptible-to-the-h

The executive summary is that Hertzbleed exploits frequency scaling in x86 cpus - eg. running at 2.1 GHz or 1.8 GHz instead of 3GHz - and this can cause the wall time to change, which allows for manipulation of algorithms relying on the time, in particular RNGs and stuff like that.

Theoretically, Libsecp256k1 and therefore Bitcoin Core, Electrum, and other wallets that use this library, are vulnerable to this kind of attack, but there's a curious statement inside the answer that states that:

Quote
The attack is challenging and requires the attacker to perform a very large number of signatures on the same message, so some software using it may be effectively protected by automatically including randomness in the message that they're signing, or by having rate limits on the interface that the attacker uses. In particular, I don't know whether the Bitcoin software itself is be vulnerable.

Someone who is making a signed message function can include some random bytes inside the message to mitigate this kind of attack, but in the case of signed transactions, what is available? Perhaps adjusting the change output amounts by a few satoshis would introduce enough randomness in the transaction to defeat the manipulation caused by frequency scaling?

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
1714315346
Hero Member
*
Offline Offline

Posts: 1714315346

View Profile Personal Message (Offline)

Ignore
1714315346
Reply with quote  #2

1714315346
Report to moderator
1714315346
Hero Member
*
Offline Offline

Posts: 1714315346

View Profile Personal Message (Offline)

Ignore
1714315346
Reply with quote  #2

1714315346
Report to moderator
"This isn't the kind of software where we can leave so many unresolved bugs that we need a tracker for them." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714315346
Hero Member
*
Offline Offline

Posts: 1714315346

View Profile Personal Message (Offline)

Ignore
1714315346
Reply with quote  #2

1714315346
Report to moderator
1714315346
Hero Member
*
Offline Offline

Posts: 1714315346

View Profile Personal Message (Offline)

Ignore
1714315346
Reply with quote  #2

1714315346
Report to moderator
1714315346
Hero Member
*
Offline Offline

Posts: 1714315346

View Profile Personal Message (Offline)

Ignore
1714315346
Reply with quote  #2

1714315346
Report to moderator
ABCbits
Legendary
*
Offline Offline

Activity: 2856
Merit: 7409


Crypto Swap Exchange


View Profile
January 29, 2024, 10:48:46 AM
 #2

Someone who is making a signed message function can include some random bytes inside the message to mitigate this kind of attack, but in the case of signed transactions, what is available? Perhaps adjusting the change output amounts by a few satoshis would introduce enough randomness in the transaction to defeat the manipulation caused by frequency scaling?

Each UTXO is unique, so shouldn't it count as "different" message? CMIIW.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
January 29, 2024, 11:06:33 AM
Merited by pooya87 (4), ABCbits (2), HeRetiK (1)
 #3

There is no need to change the message and it's not desirable to do so.

Libsecp256k1 has context randomization available, as well as the nonce function aux randomness input. Either should be enough to mitigate this attack even if its vulnerable in the first place.

Making an application where an attacker can force you to make thousands of signatures while they time you is also not a great idea.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!