Эксплойт 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 млн, и у тебя это уже получалось?), то напрашиваются следующие выводы:
- Необходимо переместить свои средства в заведомо безопасное место. Как мы уже поняли, это могут быть аппаратные хранилища, или или надежные кастодиальные кошельки, типа кошелька blockchain.com
- Учитывая, что проблема касается именно мобильных приложений, следует подумать о переходе на браузерные версии кошельков с двухфакторной аутентификацией.
- Есть смысл отменить все автоматические подтверждения (“галочки”), которые вы могли опрометчиво оставить в каких-либо DApp на своем телефоне.
- HODL - это слишком серьезный и долгосрочный проект, которому не по пути с хранением на смартфоне, который может зависать, ломаться и теряться.
Update
С итогами своих расследований выступили все команды, пользователи которых были затронуты эксплойтом (Solana Labs, Slope, Phantom, Trust Wallet), а также ряд публичных блокчейн-инженеров. Версия, которая остается предварительно доказанной и единственной, состоит в проблеме на стороне кошельков Slope.
“Скомпрометированные адреса были сгенерированы, импортированы, или использованы именно в мобильном кошельке Slope”.
Разработчики Slope порекомендовали юзерам немедленно перевести оставшиеся средства на новые кошельки, обязательно изменив сид-фразу. Однако, изменит ли это что-то в случае, если будет доказано хранение пользовательских сид-фраз на сервере кошелька? Вопрос риторический.