Ошибка Π² JavaScript-классС ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ уязвимых ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΊΠΎΡˆΠ΅Π»ΡŒΠΊΠΎΠ²

Π‘Ρ‚Π°Ρ€Ρ‹Π΅ адрСса Bitcoin, созданныС Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· JavaScript-прилоТСния, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ уязвимы. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сгСнСрированныС ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ случайными.

БпСциалист ΠΏΠΎ бСзопасности Дэвид Π”ΠΆΠ΅Ρ€Π°Ρ€Π΄ Π² своём Π±Π»ΠΎΠ³Π΅ сообщил, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ класс SecureRandom() JavaScript-прилоТСния ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚ ΠΌΠΎΠ³Π»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ уязвимыС ΠΊΠ»ΡŽΡ‡ΠΈ. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ.

Π’ Ρ‡Ρ‘ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°?

Ѐункция Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΅ 48 Π±ΠΈΡ‚ энтропии. Π—Π°Ρ‚Π΅ΠΌ SecureRandom() запускаСт Π½ΠΎΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Ρ€Π΅Π· ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RC4. Π­Ρ‚ΠΎ Π΅Ρ‰Ρ‘ большС сниТаСт количСство Π±ΠΈΡ‚ энтропии, Π° ΠΊΠ»ΡŽΡ‡ становится Π±ΠΎΠ»Π΅Π΅ прСдсказуСм.

Уязвимы адрСса, созданныС с использованиСм BitAddress Π΄ΠΎ 2013 Π³ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Bitcoinjs Π΄ΠΎ 2014 Π³ΠΎΠ΄Π°. Π‘Π»Π°Π±Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии jsbn.js Π΄ΠΎ 2013 Π³ΠΎΠ΄Π° β€” ΠΎΠ½ΠΈ содСрТат SecureRandom().

Π’ Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 2017 Π³ΠΎΠ΄Π° Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Reddit ΡƒΠΊΡ€Π°Π»ΠΈ Bitcoin Cash Ρ‡Π΅Ρ€Π΅Π· сСрвис рассылки Mailgun. РасслСдованиС ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π²Π·Π»ΠΎΠΌΠ°Π» Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ сотрудника сСрвиса ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π» смСну ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ