,

В Zcash обнаружили и устранили уязвимость неограниченной чеканки монет


В Zcash обнаружили уязвимость

5 февраля компания Zcash опубликовала подробности устраненной уязвимости, с помощью которой злоумышленники могли бы чеканить неограниченное количество фальшивых монет Zec. Вся эта покрытая тайной история развивалась с марта 2018 года и только сейчас Zcash решил открыть все детали выявленной проблемы.

Как работает уязвимость

Zcash – анонимная монета, в которой детали отдельных транзакций могут видеть только ее участники. Система под названием Sprout отвечает за «экранирование» этих транзакций, и, со слов программиста — разработчика Zcash Ариэля Габизона,

«злоумышленник мог бы создать фальшивые экранированные записи Sprout, содержащие… контрафактные средства без возможности обнаружения».

Оказывается, Габизон нашел ошибку еще в марте 2018 года и сообщил о ней Шону Боу, криптографу Zcash. После того, как Шон подтвердил существование уязвимости, были проинформированы Zooko Wilcox (генеральный директор компании Zcash) и Натан Уилкокс (технический директор компании Zcash).

Выявление ошибки, ее изучение и устранение хранились в секрете, чтобы никто из злоумышленников не смог воспользоваться этой уязвимостью, как написано в блоге Zcash

«Благодаря тщательной координации, вероятность фальшивой чеканки была уменьшена в сети Zcash без какого-либо известного дальнейшего раскрытия за пределами этой группы из четырех человек.»

Между тем, исправление бага разработчики провели с выпуском обновления Sapling еще в октябре 2018 года без публичного объявления проблемы сообществу.

Как заявлено в блоге, ошибка была очень сложной для использования, ее способны  идентифицировать только небольшое количество технически подготовленных специалистов. Даже эксперты и аудиторы не смогли обнаружить уязвимость, несмотря на то, что она существовала в течение нескольких лет.

Кроме того, для использования уязвимости злоумышленникам потребовался бы доступ к информации в большой расшифровке протокола MPC, которую криптографы удалили из открытого доступа сразу же после обнаружения уязвимости.

Фальшивые монеты не обнаружены

Если бы ошибку нашли злоумышленники, ущерб для капитализации монеты и сети был бы катастрофическим, в Zcash это прекрасно поняли и постоянно мониторили сеть в поисках признаков подделки. Контролируя общее количество монет в экранированном пуле Sprout и просматривая определенные следы на блокчейне, компания Zcash в состоянии определить, имела ли место атака.

До сих пор криптографы Zcash не нашли никаких доказательств какой-либо фальшивой «чеканки» монет. Чтобы обеспечить безопасность двух проектов (форков Zcash) — Horizen и Komodo, они уведомили их о проблеме. В Zcash заявляют и считают маловероятным, чтобы фальшивая «чеканка» имела место в сети монеты или ее вилках.

«Zcash не был подвержен этой атаке с момента активации Sapling», — написано в блоге.

Уязвимость неограниченной чеканки монет (подделка) не является характерной только для Zcash. В 2017 году программисты Monero нашли похожую ошибку в алгоритме Cryptonote, с помощью которой была атакована сеть Bytecoin. В 2018 году в протоколе биткоина была выявлена ошибка инфляции, которая позволила хакерам провести атаку 51% на Pigeoncoin.