• 21m

    Chinese reporter: China likely sold the $3+ billion in Bitcoin, Ethereum affiliated with PlusToken

    CryptoSlate
  • 21m

    As price drops, are Bitcoin hodlers on the backfoot?

    AMBCrypto
  • 26m

    ETH mining difficulty soars

    Cryptopolitan
  • 33m

    Why a “Blue Wave” Victory in U.S. Politics Is Bullish for Bitcoin

    Crypto Briefing
  • 41m

    [SPONSORED] Velo Protocol powering the world’s premiere Federated Credit Exchange Network

    The Block
  • 51m

    Crypto Analysts React After China Seizes $4,200,000,000 in Bitcoin and Eight Altcoins

    The Daily Hodl
  • 51m

    Cardano, Cosmos, Compound Price Analysis: 28 November

    AMBCrypto
  • 53m

    Latest Bitcoin Dip Adds Credence to 1970s Gold Comparison

    Crypto Briefing
  • 57m

    Ripple продаст треть своей доли в MoneyGram

    forklog
  • 1h

    Ripple is selling a part of its stake in MoneyGram for the first time

    The Block
  • 1h

    Binance Coin, Stellar Lumens, IOTA Price Analysis: 28 November

    AMBCrypto
  • 1h

    Why Bitcoin’s volatility is falling, despite the drop to $17k

    AMBCrypto
  • 1h

    NY Times Examines Coinbase Racism Accusations

    be[in]crypto
  • 2h

    Вестник институционала: Pantera Capital пожинает плоды вложений, биткоин-активы Coinbase Custody достигли $20 млрд

    forklog
  • 2h

    Пpaвитeльcтвo Укpaины выпуcтилo пpoгpaмму o кpиптoвaлютax

    BitNovosti
  • 2h

    Bitcoin: Why it’s hard to know when to sell

    AMBCrypto
  • 2h

    Huobi launches in Malaysia to provide regulated trading

    be[in]crypto
  • 2h

    Yearn Finance integrates Cover Protocol

    Cryptopolitan
  • 3h

    4 Surefire Pillars of FinTech Marketing

    Cryptopolitan
  • 3h

    Правительство РФ одобрило законопроект о декларировании операций с криптовалютой

    forklog
  • 3h

    XRP long-term Price Analysis: 28 November

    AMBCrypto
  • 3h

    What Janet Yellen as Treasury Secretary Means for Bitcoin and Markets

    coindesk.com
  • 3h

    Crypto Strategist Says Huge Altcoin Relief Rally Coming After XRP’s Massive Drop From Yearly Highs

    The Daily Hodl
  • 3h

    Ethereum-based token of new DeFi trading platform surges 1,000% in two weeks

    CryptoSlate
  • 4h

    5 百億人民幣吸金案「PlusToken」二審結果出爐,超過 42 億美元上繳國庫

    Blockcast「區塊客」
  • 4h

    Ethereum mining difficulty hits an all-time high

    AMBCrypto
  • 4h

    SBI Group’s Exchange, VC Trade, Launches Crypto Lending Services

    NewsLogical
  • 4h

    Malta’s Pivots to Becoming a Fintech Haven

    be[in]crypto
  • 5h

    Эксперты назвали коррекцию биткоина «здоровой» и необходимой перед ростом к $86 000

    forklog
  • 5h

    How To Buy Bitcoin In Dubai / UAE

    Crypto News Flash
  • 5h

    Yearn Finance announces merger with Cover Protocol

    AMBCrypto
  • 5h

    Here’s Why Ripple Is Dumping One-Third Of Its Stake In MoneyGram

    ZyCrypto
  • 5h

    Analysts warn of new Bitcoin price drop as whales take profits

    Crypto News Flash
  • 5h

    For Billions of People, Bitcoin Has Already Hit New All-Time High, Says Pantera’s Dan Morehead

    The Daily Hodl
  • 5h

    Más de 10 mil dólares bloqueó PayPal a usuario que realizaba transacciones en Binance P2P

    Morocotacoin
  • 5h

    Stellar (XLM) Awakens With 100% Price Surge after Protocol Upgrade

    ZyCrypto
  • 5h

    High-net-worth Bitcoin investors aren’t all bearish—potential reasons why

    CryptoSlate
  • 5h

    Атака на «Манчестер Юнайтед», баги в TikTok и Xbox и другие события мира кибербезопасности

    forklog
  • 6h

    Blockchain Voting is Possible: Dispelling Myths & Fears

    be[in]crypto
  • 6h

    Bitcoin Undergoes Considerable Price Decrease to $16,800 as Whale Deposits Increase Yet Again

    Crypto Unit
  • 6h

    【狂人日記】弱勢震盪後,方向選擇一觸即發。11 月 28 日行情分析

    Blockcast「區塊客」
  • 1w

    Хакерская «прожарка»: специалисты рассказали о тонкостях аудита на примере смарт-контракта Yggdrasil

    forklog
Tue, Nov 17, 2020 11:52 AM by forklog

Хакерская «прожарка»: специалисты рассказали о тонкостях аудита на примере смарт-контракта Yggdrasil

Специалисты по информационной безопасности HackControl объяснили, как обеспечить безопасность систем и приложений, а также рассказали о главных уязвимостях смарт-контрактов и блокчейн-проектов. Исследователи отметили неэффективность сканеров кода: Сканеры кода способны выявить лишь самые примитивные ошибки программирования и не заменяют собой полноценный аудит и рефакторинг.  Почти все автоматические системы онлайн-аудита смарт контрактов не более чем обработчики регулярных выражений, по которым ищут шаблонные уязвимости из списка собственной базы уязвимостей.  Аудиторы, которые предлагают просто проверить код сканером, обычно умалчивают, что такая работа занимает всего лишь 10% времени, а 90% - это поиск и верификация уязвимостей, что и является самой большой ценностью аудита. Среди наиболее распространенных уязвимостей смарт-контрактов исследователи выделили:  Reentrancy. Программа разработана таким образом, что одна и та же копия ее инструкции в памяти может быть одновременно использована несколькими пользователями или процессами. При этом пользователь может инициировать множество транзакций и потенциально превысить баланс своего счета, нанеся ущерб проекту. Timestamp Dependence. Майнер может немного изменить метку времени блока. Количество блоков и среднее время на извлечение могут использоваться для оценки времени, но это не является надежным способом, так как время извлечения переменно. Gas Limit and Loops. Каждый блок имеет верхнюю границу количества газа, которое можно потратить для выполнения компьютерных вычислений. Если израсходованный газ превышает лимит, транзакция не состоится. Это приводит к возможности эксплуатации нескольких векторов отказа в обслуживании. Также в случаях неправильной обработки газа возможно возникновение бесконечных циклов. В HackControl также рассказали о часто встречающихся DoS- и DDoS-атаках: Transaction-Ordering Dependence. Майнер может оказаться злоумышленником: "Когда вы покупаете товар по заявленной цене, вы ожидаете, что заплатите эту цену, но мошенник может изменить ее до того, как завершится транзакция. Таким мошенником может быть майнер", - объяснили специалисты. Уязвимость байтового массива (byte array vulnerability). Байтовый массив очень медленный и дорогостоящий, что влияет на быстродействие. Такой массив можно легко "положить" посредством DDoS, отправив ему большое количество запросов.  Нарушение в API ERC. ERC 20 - это стандартный API для реализации токенов. Биржи и третьи стороны могут столкнуться с трудностями при интеграции токена, который ему не соответствует. Непроверенные внешние вызовы/непроверенная математика. Одна из основных опасностей вызова внешних контрактов заключается в том, что они могут взять на себя поток управления и внести изменения в данные, так как язык Solidity склонен к целочисленному переполнению и потере значимости. Переполнение приводит к неожиданным последствиям и к возможной потере средств в случае использования вредоносной учетной записи. Malicious libraries. Использовать непроверенные/нестандартизированные библиотеки заведомо небезопасно. Также важно использовать библиотеки с открытым исходным кодом. Unsafe type inference. Неявное определение типов переменных приводит к многочисленным ошибкам в коде. Часто полученное число выходит за рамки диапазона указанного типа. "Очень хорошо, если компилятор вам об этом "скажет", иначе - "большой бум", переполнение буфера и отказ в обслуживании", - отметили специалисты. Implicit visibility level. Уровни видимости в смарт-контрактах по умолчанию публичные. Нужно явно определять видимость функций и интерфейсов во избежание путаницы и несанкционированного доступа. В HackControl порекомендовали детально изучить, проверить, протестировать код смарт-контракта, независимо от количества строк и его сложности. Лучше всего делать аудит контракта после рефакторинга - аудитор должен быть последним, кто вносит правки. Для практической демонстрации потенциальных уязвимостей специалисты разобрали смарт-контракт проекта Yggdrasil. В нем были допущена несколько недочетов: Проблема 1. "Все забывают о релизере" Если учетная запись получателя, помеченная как релизер, является истинным условием, но не будет иметь интерфейса IReleaser, ее всегда следует отменить, и ее освобождение не завершится.  "Как-то у другого клиента похожая ошибка привела к тому, что уже после проведения ICO "внезапно" оказалось, что смарт-контракт никто не проверял и абсолютно любой пользователь EТН может выпускать токен вместе с собственником", - рассказали в HackControl. Проблема 2.  safeTransfer вместо Transfer  TokenSplitter: 451 должен использовать safeTransfer из библиотеки SafeERC20.  "Все меняется, и разработчик, скорее всего, случайно пропустил одну устаревшую функцию. По большому счету проблема решается использованием другой библиотеки", - указали в HackControl. Все найденные ошибки были исправлены. И не смарт-контрактом единым... Аудит смарт-контракта важен, но не стоит забывать про другие приложения и IT-системы, говорят специалисты. Они советуют регулярно проверять: основной сайт и личный кабинет пользователя; систему онлайн-платежей; API; шлюз взаимодействия со сторонними вендорами; мобильное приложение; внутреннюю сеть компании. Аудит только смарт-контракта без полного тестирования менее эффективен, ведь защищать нужно весь проект в целом, а не отдельную его часть, подытожили в HackControl. Подписывайтесь на новости ForkLog в Telegram: ForkLog Feed — вся лента новостей, ForkLog — самые важные новости и опросы.

Read full