Bitcoin Core закрив прогалину, що дозволяла перенаправляти кошти без викрадення ключів
Ринкове зведення ШІ
Bitcoin Core об'єднав запобіжник, щоб не допустити підписання певних PSBT із використанням SIGHASH_SINGLE, де виходи можуть бути змінені без анулювання підписів, що за граничних умов дає змогу перенаправлення одержувача (не крадіжка ключів). Зміна зменшує ризик авторизації гаманця та апаратного підписувача, але вона є лише в гілці розробки, і наразі немає підтвердженої випущеної/портованої версії, тому найближчим часом увага зосереджена на валідації на боці гаманця та політиці підписувача.
Рівень впливу
● Середній
Активи, яких стосується
BTC/USDT+2.04%
Інсайт ШІ · BTC/USDTІнсайт ШІ
● Нейтральний
Торгувати
⚠️ Інсайти, згенеровані ШІ, ґрунтуються на новинних матеріалах і надаються виключно з інформаційною метою. Вони не є інвестиційною порадою та не відображають поглядів BingX. Інвестування пов’язане з ризиком. Будь ласка, торгуйте відповідально.
У Bitcoin Core додали запобіжник, який блокує підписання транзакцій у випадках, коли підпис може не "прив'язувати" витрачені кошти до адресата, схваленого користувачем. Зміну злили в основну гілку розробки (master) 25 вересня; про оновлення 2 жовтня повідомив Bitcoin Optech.
Проблема стосується вузького сценарію в partially signed Bitcoin transactions (PSBT), за якого можна отримати чинний підпис, не зафіксувавши криптографічно вихід (output), на який має піти платіж. Приватні ключі при цьому не розкриваються. Ризик інший: за певних умов підпис залишається дійсним, навіть якщо отримувача транзакції змінено.
Слабке місце пов'язане з режимом підпису SIGHASH_SINGLE, який має "закріплювати" вхід (input) за виходом у відповідній позиції. Якщо у транзакції немає виходу в цій позиції, захист руйнується по-різному залежно від типу витрачених біткоїнів. Для legacy-входів відсутність виходу може призвести до підпису фіксованого хеш-значення. Розробники Bitcoin Core зазначили, що за наявності тих самих структурних умов такий підпис може бути повторно застосований проти інших невитрачених виходів (UTXO), контрольованих тим самим ключем.
У SegWit v0 зберігаються сильніші гарантії: підпис усе ще прив'язується до конкретної монети, що витрачається, та її суми. Водночас вихід-призначення може залишатися незафіксованим, що створює проблему авторизації для гаманців і пристроїв підпису. Програмне забезпечення може показати користувачу одну оплату, але сформувати підпис, який не гарантує, що затверджений отримувач не буде змінений.
Bitcoin Core вже відкидав цей крайовий випадок через інтерфейс підписання rawtransaction. Проте шлях PSBT, включно з walletprocesspsbt, міг усе ще підписувати такі запити. Нова зміна переносить перевірку в спільну логіку створення підписів у Bitcoin Core. Це блокує підписання уразливих legacy та SegWit v0 входів, водночас дозволяючи підписувати інші коректні входи в тому самому PSBT.
PSBT широко застосовують для координації транзакцій між програмними гаманцями, апаратними пристроями та офлайн-підписувачами. Формат дозволяє конструктору транзакції передати дані окремій системі підпису без надання їй контролю над приватними ключами. Виправлення підсилює межу, яку мають забезпечувати розробники гаманців незалежно від безпеки ключів: коректний підпис повинен фіксувати саме ті параметри транзакції, які користувач реально схвалив.
Bitcoin Improvement Proposal 174, що визначає PSBT, вже вимагає від підписувачів відхиляти неприйнятні режими підпису та рекомендує SIGHASH_ALL, якщо інше не вказано. Зміна в Bitcoin Core прямо не допускає конфігурацію з відсутнім виходом до етапу підписання.
Поки що немає підтвердженого релізу для продакшну, який містить цей запобіжник. Зміна від 25 вересня інтегрована в гілку розробки, а в опублікованих списках релізів Bitcoin Core станом на 4 жовтня не було зазначено виправленої версії чи підтвердженого бекпорту. Для провайдерів гаманців та інтеграцій апаратного підпису це означає практичне рішення вже зараз: переглянути власну обробку запитів SIGHASH_SINGLE, а не чекати, поки захист буде примусово забезпечений релізом Bitcoin Core.
Матеріал "Bitcoin Core's new fix closes gap that could redirect funds without stealing keys" спочатку опублікував CryptoSlate.