Експлойт Solana. Як захистити свої SOL та USDC
Притча про те, що Solana перебуває лише у двох агрегатних станах (або в стані шатдауну, або експлойту), мабуть, ніколи не застаріє.
Як ми вже писали, 8 тисяч гаманців користувачів були пограбовані в середньому на $1000 кожен.
Отже, якщо ваші SOL та USDC все ще залишаються у вас на балансі – то це не ваша заслуга, а недогляд хакерів. Жарт, але, як відомо, у кожному жарті є частка істини. Зараз, поки Solana та хакери в білих капелюхах співпрацюють з командами зламаних гаманців щодо пошуку вразливостей, є сенс знову задуматися про власну кібербезпеку.
Спробуємо вирішити це нетривіальне завдання за допомогою простої шкільної схеми «Дано-Знайти-Рішення». Для цього нам лише потрібно знати достовірно відомі параметри («Дано»), а також чітко уявляти, який результат нас цікавить («Знайти»).
Дано:
«a» = Користувачів пограбували дуже брутально. Вони нічого не підписували, вони не ходили на фішингові сайти і взагалі не здійснювали жодних активностей. Багато хто з них мирно спав. При цьому транзакції були здійснені, а записи в блокчейні були легітимні.
«b» = Вже встановлено, що прямого злому блокчейнів Solana/Ethereum не відбувалося.
«c» = Зламаними виявилися деякі мобільні гаманці для iOS/Android. Наприклад, апаратні гаманці типу Ledger зберегли активи. Також у безпеці були облікові записи на централізованих біржах (типу FTX або WhiteBIT).
«d» = Усі постраждалі гаманці не були активними в останні 6 місяців (тобто постраждали HODL’ери, а не якісь там нуби).
«e» = попереднє розслідування показало, що скомпрометованими могли бути бібліотеки відповідних гаманців на Github.
«f» = «крипта – не скам». Ми поки що не готові розчаровуватися в технології, щоб йти шліфувати болванку на заводі, і до кінця своїх днів збирати різані папірці з портретами померлих людей, які, ймовірно, ще й знеціняться.
Знайти:
План, при якому наші SOL та USDC завжди знаходяться там, куди ми їх поклали востаннє, незалежно від того, чи повторить хакер свій маневр.
Рішення:
Якщо припустити, що хакер повторить свій алгоритм (а чому не повторити, якщо ти поки що не в тюрмі, на кону $8 млн, і в тебе це вже виходило?), то напрошуються такі висновки:
1. Необхідно перемістити свої кошти в безпечне місце. Як ми вже зрозуміли, це можуть бути апаратні сховища або надійні кастодіальні гаманці, типу гаманця blockchain.com
2. Враховуючи, що проблема стосується саме мобільних додатків, варто подумати про перехід на браузерні версії гаманців із двофакторною аутентифікацією.
3. Є сенс скасувати всі автоматичні підтвердження («галочки»), які ви могли необачно залишити у будь-якому DApp на своєму телефоні.
4. HODL – це надто серйозний та довгостроковий проект, якому не по дорозі зі зберіганням на смартфоні, який може зависати, ламатися та губитися.
Update
З результатами своїх розслідувань виступили всі команди, користувачів яких торкнувся експлойт (Solana Labs, Slope, Phantom, Trust Wallet), а також низка публічних блокчейн-інженерів. Версія, яка залишається попередньо доведеною та єдиною, полягає у проблемі з боку гаманців Slope.
«Скомпрометовані адреси були згенеровані, імпортовані або використані саме в мобільному гаманці Slope».
Розробники Slope порекомендували користувачам негайно перевести кошти, що залишилися, на нові гаманці, обов’язково змінивши сід-фразу. Однак, чи змінить це щось у випадку, якщо буде доведено зберігання сід-фраз на сервері гаманця? Питання риторичне.