Аудит безпеки гаманця Nym

Аудит безпеки гамана Nym

4 хвилин Читати

Вступ

У грудні 2022 року компанія Nym провела незалежний аудит безпеки, що його реалізувала Oak Security, консалтингова компанія з кібербезпеки, яка базується в Німеччині та спеціалізується на аудиті блокчейнів третього покоління та децентралізованих протоколів. З великою досвідченістю в таких екосистемах, як Cosmos, Terra, Polkadot і Flow, Oak Security отримав завдання оцінити два критичних компоненти екосистеми Nym: (1) Nym mixnet та контракти на розподіл (див. повний звіт) та (2) Nym Wallet (див. повний звіт). Аудит був спрямований на оцінку безпеки та надійності цих компонентів, виявлення потенційних уразливостей та забезпечення дотримання найкращих практик у безпечній розробці коду. Щоб спростити стеження за знайденими даними, ми розділили результати за кожним компонентом. Ви можете ознайомитися з підсумком аудиту Nym mixnet та контрактів на вестинг тут.

Анотація аудиту гаманця Nym від Oak Security

Аудит, який тривав два тижні, залучив команду з чотирьох експертів з Oak Security. Команда Nym надала повний доступ до кодової бази, специфікацій проекту та відповідної документації. Обсяг аудиту охоплював репозиторій "nym-wallet".

Аудитори провели всебічну оцінку репозиторію nym-wallet, оцінюючи його вразливості безпеки, механізми інтеграції, криптографічну надійність та загальне дотримання практик безпечного розвитку.

Компанія Oak Security використала гібридний підхід, поєднуючи автоматизований аналіз із ручним переглядом коду, щоб виявити вразливості безпеки.

Огляд висновків

Гаманець Nym виявився з добре структурованою кодовою базою із середньою та високою читабельністю. Аудитори рекомендовали покращити покриття тестами та документацію для підвищення надійності та підтримуваності.

Було зареєстровано всього 17 висновків для гаманця Nym. Ніхто не був класифікований як критичний; чотири були оцінені як значні, тоді як решта 13 були категоризовані як незначні чи інформаційні, що створює можливості для подальшого вдосконалення реалізації гаманця.

Команда Nym швидко відреагувала на всі основні знахідки, а Oak Security переглянув і затвердив виправлення.

NYM-WALLET-1: Пароль все ще в пам'яті після виходу (Важливо)

Аудитори виявили, що, на відміну від мнемонічного, пароль, використаний для його отримання, залишається видимим у пам'яті навіть після виходу користувача з системи.

Щоб вирішити проблему, Nym реалізував рішення, яке переробляє вікно під час виходу з системи та створення облікового запису. Ця дія ефективно знищує WebView, який утримує середовище виконання JavaScript і очищає будь-які чутливі дані, включаючи мнемонічну фразу та пароль з пам'яті.

NYM-WALLET-2: Мнемонічний код, збережений в пам'яті після створення облікового запису в гаманці (Основний)

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

Рішення, впроваджене в NYM-WALLET-1, також виправляє цю проблему.

NYM-WALLET-3: Обмежений набір спеціальних символів для паролів (Головне)

Аудитори виявили, що компонент PasswordStrength у гаманці використовує шаблон regex для забезпечення надійності пароля, але цей шаблон є надто обмежувальним і рекомендували використовувати більш гнучкий набір символів, щоб дозволити більший спектр паролів. Ми вирішили цю проблему, оновивши шаблон regex відповідно до рекомендацій аудиторів, щоб дозволити ширший спектр символів і підвищити безпеку паролів.

Ми вирішили цю проблему, інтегрувавши пакет Dropbox "zxcvbn" для більш точної та надійної перевірки надійності паролів.

NYM-WALLET-4: Користувача примушують скопіювати мнемонічну фразу в буфер обміну (Основне)

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

Щоб вирішити цю проблему, ми реалізували рекомендоване виправлення аудиторів, видаливши кнопку "Копіювати мнемоніку". Натомість ми додали вказівки щодо безпечного зберігання та використання мнемонічної фрази, а також прапорець для підтвердження користувачами того, що вони прочитали та зрозуміли надану інформацію.

Останні слова

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

Поділіться