Аудит смарт-контрактов и блокчейн

1
Тест на проникновение решения DEX и узлов Cardano

Во время теста на проникновение в торговое решение DEX была проведена оценка трёх полных узлов Cardano. Оценка проводилась в режимах "черный ящик" и "серый ящик". В результате было обнаружено, что не установлены 4 обновления безопасности, также были подтверждены 3 уязвимости на уровне ядра. Заказчик устранил обнаруженные уязвимости, после чего начал безопасно выполнять операции по управлению пулом.

Исходный код протокола ликвидности для несгораемых токенов, включая смарт-контракты, был подвергнут аудиту безопасности с использованием сопоставления уязвимостей по схемам классификации CWE/SANS Top 25, DASP Top 10 и SWC Registry. Были обнаружены дорогостоящие циклы, мертвый код, ненадлежащий уровень видимости функций в контрактах и интерфейсах, а также слабые места, на которые потенциально могут повлиять майнеры. Уязвимости были классифицированы как SWC-135, SWC-100, SWC-108 и DASP-8. Заказчик получил подробный отчет со всеми находками, которые впоследствии были успешно устранены и исправлены в новом релизе.

2
Анализ безопасности биржи с протоколом Milkomeda

Недавно нам удалось получить уникальный опыт анализа децентрализованной биржи, ориентированной на инновационный протокол Milkomeda L2. Протокол позволяет получить возможности виртуальных машин Ethereum в сетях блокчейн, где их поддержка не предусмотрена. 

В ходе аудита смарт-контрактов, обеспечивающих работу биржи, мы применили свою проверенную временем методологию. Анализ состоял как из автоматических проверок, так и из ручных. Были проведены тесты по поиску уязвимостей из SWC и DASP TOP10, а также развертывание контрактов в тестовой сети для реализации всех возможных сценариев атак.

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

3
Аудит смарт-контрактов Algorand

Нам была поставлена задача провести аудит смарт-контрактов, написанных для блокчейна Algorand — конкурента Ethereum.

Программирование на блокчейне Algorand является относительно новой областью, без множества стандартов безопасности, документации или выработанных практик.

Несмотря на это, смарт-контракты могут управлять десятками миллионов долларов, что делает их целью преступников.

Смарт-контракты Algorand используют специальный язык — Transaction Execution Approval Language (TEAL). Предоставленные нам смарт-контракты были созданы с помощью PyTeal — Python-библиотеки для генерации TEAL-программ.

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

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