October 13, 2022

Ackee Blockchain завершує аудит управління Neon

У період з 27 червня по 22 липня 2022 року Ackee Blockchain провів аудит безпеки контракту Neon на управління. Команда Ackee Blockchain складається з аудиторів і білих хакерів, які виконують перевірки та оцінки безпеки, включаючи перевірку коду, тестування, автоматизований аналіз і локальне розгортання/злом.

Наприкінці 26-денного процесу аудиту команді Neon Labs було надано звіт про висновки та рекомендації. У цій статті ми окреслимо обсяг, цілі та процес аудиту безпеки Ackee, а також підсумуємо важливі висновки.

Обсяг аудиту безпеки

Ackee Blockchain зосередила аудит безпеки на розумінні та перевірці контракту Neon SPL Governance. Крім того, команда перевірила вихідний код і безпеку програми обслуговування Neon і спеціальних надбудов.

Конкретним перевіреним комітом був f13d7e7c1507819306797688ce0bb1f6950a5038 сховища neonlabsorg/neon-spl-governance

Охоплені програми включають:

  • maintanance/program
  • addin-fixed-weights/programa
  • addin- vesting/program
  • governance-lib

Під час огляду, Аckee звернув особливу увагу на:

  • чи правильно реалізовано специфікації контракту SPL-управління для спеціальних надбудов.
  • чи правильно програми використовують залежності чи інші допоміжні програми (наприклад, залежності SPL).
  • чи є код вразливим до маніпулювання голосуванням.

Мета/Цілі аудиту безпеки

Neon Labs завжди прагне досягти найвищих стандартів безпеки для наших сервісів і платформ, включаючи Neon Governance. Ackee виявив висновки аудиту, які будуть негайно розглянуті та продовжуватимуть кидати виклик і мотивувати нашу команду продуктів.

Основною метою аудиту безпеки було оцінити стан безпеки контракту про управління SPL і пов’язаних програм для виявлення потенційних вразливостей. Ackee Blockchain прагнув досягти цієї мети шляхом перегляду цільового вихідного коду та документації, виконання тесту на проникнення та оцінки процесу тестування.

Процедура аудиту безпеки

1. Огляд коду

Ackee розпочав перевірку безпеки, переглянувши специфікації, джерела та інструкції, пов’язані з контрактом Neon на управління SPL. Після початкової перевірки команда Ackee провела ручну построкову перевірку вихідного коду Neon.

2.Тестування та автоматизований аналіз

Після перевірки коду компанія Ackee провела автоматизовані тести, щоб переконатися, що договір SPL Governance функціонує належним чином. У рамках тестування Ackee також написав тести з відсутніми одиницями або «нечіткі тести», використовуючи свою систему тестування Solana, Trdelnik.

3. Локальне розгортання + злом

На останніх етапах перевірки безпеки Ackee ініціював хакерську кампанію білого капелюха, щоб спробувати маніпулювати системою на основі своїх висновків під час першого та другого кроків. Програми були розгорнуті локально для спроби атакувати та зламати систему, що знаходиться в зоні дії. Злом — це вигідний спосіб завершити аудит і переконатися, що у вихідному коді та платформі немає додаткових дірок.

Результат аудиту безпеки Neon EVM

Аудит безпеки Ackee представив результати, класифікувавши проблеми відповідно до серйозності, впливу та ймовірності. Результати виявили деякі основні проблеми та обов’язкові заходи, які команда Neon Labs має вирішити, а також деякі рекомендації, які слід виконати.

Аудит безпеки виявив вісім проблем, які за ступенем серйозності варіюються від критичних до інформаційних. Команда Neon Labs розглянула ці проблеми та вже почала їх вирішувати.

Аудит виявив дві критичні проблеми:

1. Можна маніпулювати процесом голосування, використовуючи надбудову з фіксованою вагою.

Ця вразливість дозволяє користувачам вибирати число вище за 100%, що надає додаткову вагу їхньому голосу до такої міри, що окремий користувач (член керівного органу) може практично самостійно прийняти рішення щодо будь-якої пропозиції.

2. При використанні додавання інвестицій (для сфери) перший користувач зможе прийняти рішення щодо будь-якої пропозиції після депозиту.

У цьому сценарії перший користувач, який викличе депозит, може негайно створити пропозицію та проголосувати за неї. Оскільки їхній голос матиме 100% вагу, пропозиція буде позначена як успішна.

Висновок:

Сподіваємось, ви знайшли цю статтю інформативною. Якщо у вас виникли запитання щодо перевірки безпеки контракту Neon SPL Governance, не соромтеся зв’язатися з ними. Ви можете зв’язатися з командою через Discord. Нарешті, залишайтеся на зв’язку з командою в TwitterGitHubYouTube та Medium для отримання додаткової інформації про розробку та оголошень