Как известно, блокчейн Биткоин – система с открытым кодом. С одной стороны, это облегчает вовлечение сообщества программистов в процесс улучшения работы системы. Но с другой, открытый код куда проще анализировать хакерам на предмет уязвимостей, которые можно использовать в своих целях. Чтобы хоть как-то противостоять этому, разработчики создали специальную программу выдачи вознаграждений за найденные уязвимости – Decred. Любой программист, обнаруживший ошибку или метод, позволяющий нарушить нормальную работу системы, может сообщить о своём открытии и получить за это премию. Именно так и поступил некто Джавед Хан.
Он установил, что система уязвима к одной разновидности классических DoS-атак (или атак типа «отказа в обслуживании». С её помощью можно было «перегрузить» отдельные узлы или даже кластеры узлов настолько, что вызвать их временное отключение. Что крайне опасно для систем, требующих стабильной и безотказной работы.
В ситуации с блокчейном Биткоин это означало бы, что часть майнеров оказалась бы отрезана от основной сети. А часть транзакций, проходивших через отрезанные узлы, не добавлялась бы в основной блокчейн и в будущем призналась бы недействительной. Что можно было использовать в мошеннических целях. Также «упали» бы многие биржи, что привело бы к отмене множества сделок и большим потерям для трейдеров.
От злоумышленников требовалось всего лишь создать несколько специальным образом искаженных биткоин-транзакций, которые при обработке узлами приводили бы к неконтролируемому повышению потребления ресурсов, а затем и к банальному отключению узлов.
Данная уязвимость получила название INVDoS и оказалась опасной не только для блокчейна Биткоин, но и связанных с ним нод, работающих на основе Bcoin и Btcd. Под угрозой оказались и некоторые другие криптовалюты – хардфорки Биткоина - Litecoin и Namecoin.
К счастью, довольно быстро выяснилось, что опасность INVDoS исключительно потенциальная, и что протокол уже способен с ней справиться. Оказалось, что ещё два года назад некто Брейдон Фуллер – инженер по протоколам Bitcoin, обнаружил эту уязвимость и незаметно её исправил. Это действительно нужно было делать незаметно, поскольку процесс обновления протокола требует подтверждения большей части участников сети, а если бы кто-то узнал, что одно из «дополнений» призвано справиться с возможностью для мошенничества, он бы мог успеть её использовать в своих интересах. К счастью, никто так ничего и не заметил до момента внесения изменений. И только через 2 года внимательный пользователь сообразил, что такую возможность в принципе можно было использовать.
Уязвимости всё ещё есть
Согласно данным BeInCrypto, два исследователя из Еврейского института, что в Иерусалиме – Джон Харрис и Авива Зохар – обнаружили ещё одну потенциальную уязвимость, которая может использоваться кибер-преступниками для краж монет. Это тоже системная атака, но на этот раз объект не протокол Биткоин, а дополнительное расширение Lightning Network.
Суть, впрочем, та же самая – перегрузить систему запросами, а затем – использовать время «падения» для того, чтобы вывести монеты с чужих кошельков, подделав транзакции. Эксперимент прошел успешно. Впрочем, в своей статье исследователи предложили и ряд способов, позволяющих устранить эту уязвимость. Дело за малым – внедрить их в базовые протоколы.
Ещё одна проблема – так называемое «двойное расходование», а точнее - BigSpender. Смысл её в том, что злоумышленники могут отменять транзакции биткоинов, которые банки не могут идентифицировать. А многие кошельки к этому не готовы, поскольку по умолчанию считают, что подобные транзакции необратимые. Облегчает это дело и функция RBF (замена на плату), которую недавно добавили в Bitcoin Core на уровне протокола. И эту проблему всё ещё до конца не устранили.
Идеального программного обеспечения не существует, особенно когда его приходится постоянно обновлять, чтобы соответствовать новейшим тенденциям. И каждое такое обновление может таить в себе ряд потенциальных уязвимостей. Означает ли это, что использовать блокчейны для сделок опасно? Нет. Практически все существующие «дыры в защите» выявляются компетентными специалистами, очень глубоко понимающими особенности работы протоколов. Большинству мошенников такого уровня не достичь никогда. Да, некоторый риск есть – но не больше, чем сбой работы традиционных банковских систем. Однако всё это означает, что даже обычные пользователи блокчейнов должны следить за новостями, касающимися сетевой безопасности. Чтобы быть в состоянии быстро реагировать на вскрытые, но ещё не устранённые уязвимости. Например, оперативно переводя свои активы на другие блокчейны, более устойчивые к обнаруженным угрозам.
Опубликовано на сайте EXBASE. по материалам beincrypto.ru