Нещодавно користувач опублікував повідомлення про втрату мільйонів юанів активів через фішингову аферу на Solana. За описом, він помилково натиснув на посилання, розміщене фішинговою групою під твітом проекту Maneki, що привело його на шахрайський веб-сайт.
що його здивувало, це те, що під час взаємодії з веб-сайтом здавалося, що не потрібно жодної операції авторизації токенів, і хакеру вдалося безпосередньо вкрасти активи. коли він усвідомив, що може бути проблема з веб-сайтом і спробував переказати токени зі свого гаманця, щоб уникнути крадіжки, виявилося, що кілька спроб переказу не вдалося, і він більше не міг зняти свої активи.
через обмежену кількість наданих деталей ми не можемо повністю відновити сцену інциденту. однак очевидно, що користувач втратив контроль над обліковим записом токена манекі, тому спроби переказу активів з його гаманця не вдалося. користувачам, звиклим до EVM, може бути незрозуміло, що означає контроль над обліковим записом.
це тому, що solana використовує реалізацію, відмінну від ланцюга evm. Продовжуючи взаємодіяти з solana за звички від evm, це схоже на використання застарілого меча для боротьби в сучасній битві, що неодмінно призводить до значних ризиків.
щоб насолодитися грою на solana, важливо розуміти характеристики solana та фішингові тактики. з цією метою ми склали деякі методи атак на solana, які відрізняються від тих на evm, сподіваючись допомогти користувачам, які не знайомі з solana, уникати пасток.
головний герой нашого відкриваючого випадку зіткнувся з цим типом атаки. у гаманці solana кожен токен має окремий обліковий запис (токен-рахунок), схожий на те, як у банківському рахунку можуть бути окремі рахунки для різних валют, таких як rmb та usd, які є незалежними один від одного. Кожен токен-рахунок також має атрибут власності.
за замовчуванням власником рахунку токенів визначається поточний гаманець. однак це не зашито у жорстке програмне забезпечення. викликаючи операцію createsetauthorityinstruction, власність рахунку токенів може бути змінена. хакери використовують цю операцію, щоб обманом змусити користувачів перевести власність рахунку токенів зі свого гаманця на гаманець хакера.
Після успіху, навіть якщо токени все ще знаходяться в гаманці, користувач не може їх переказати, що, по суті, те ж саме, що і крадіжка токенів.
Через високий ризик цієї операції, як Phantom, так і Gate,@Backpack_CNгаманці перехоплюють і попереджають користувачів про ризики транзакції, вимагають другого підтвердження для транзакції, якщо користувач настоює на затвердженні.
на evm, фішинговий контракт потребує від користувача авторизувати контракт на токен-контракті перед тим, як він зможе переказати токени з гаманця користувача. Фішинговий контракт може ініціювати операцію з переказу активів користувача лише після отримання авторизації.
однак на Solana "затвердження" не означає авторизації, а лише підтвердження транзакції. Якщо користувач помилково розглядає це як крок авторизації та підтверджує його, фішингова транзакція відправляється, залишаючи мало шансів на відновлення.
більш небезпечна ситуація полягає в тому, що якщо користувача обманють, щоб авторизувати токени на EVM, тільки авторизований токен буде постраждати, а інші неавторизовані токени залишаться в безпеці. На Solana, оскільки не потрібна авторизація, і для переказу токенів потрібне лише затвердження користувача, разом з третьою точкою, яку ми обговоримо далі, це може призвести до значних втрат для користувача.
дизайн транзакції Solana дозволяє включати кілька підтранзакцій в одну транзакцію, при цьому кожна підтранзакція завершує взаємодію, наприклад, передачу конкретного токену. Порівняно з EVM, де кожен токен вимагає окремої транзакції, ця функція Solana надає деякий зручність.
Наприклад, ваш гаманець може містити деякі токени з дуже низькою вартістю, менше 1 usd. Сол-знищувач використовує цю функцію, щоб дозволити користувачам пакетно відправляти токени малої вартості зі свого гаманця та конвертувати їх назад у sol без необхідності кількох конвертацій, які б споживали багато газу та заощаджували операційний час.
хоч ця функція забезпечує зручність, вона також значно сприяє хакерським діям. якщо хакер успішно обмане користувача, щоб підтвердити транзакцію, він може викрасти гаманець користувача з токенами, nft і навіть sol. тому, якщо ви бачите транзакцію, що включає переказ багатьох токенів, будьте обережні, оскільки це може бути хакер, який намагається опорожнити ваш гаманець за допомогою цієї функції.
У екосистемі EVM підписи дозволів користуються популярністю серед груп фішингу через їх прихованість та той факт, що вони не з'являються у гаманці авторизатора. Наразі понад половина атак фішингу використовують цей метод. У світі Solana існує подібний метод: стійкий одноразовий номер.
стійка функція nonce працює подібно до дозволу. якщо користувач навмисно підписує транзакцію, він не втратить активи або не побачить цю транзакцію в своєму гаманці негайно. замість цього інформація про підписану транзакцію надсилається групі фішингу, яка потім подає транзакцію до блокчейну. ця характеристика офлайн-транзакції є так само небезпечною, як і дозвіл.
Оскільки Solana може симулювати результати транзакцій, довгостроковий номер є більш зрозумілим, ніж дозвіл, що полегшує користувачам його ідентифікацію. Однак групи фішингу поєднали довгостроковий номер з оновленнями контрактів, щоб ефективніше красти активи, обійшовши попередження про симуляцію транзакцій.
Сайти для вилучення конфіденційної інформації спочатку взаємодіють з користувачами за допомогою звичайних контрактів без шкідливих транзакцій. Функція симуляції транзакцій гаманця не показує проблем на цій стадії. Як тільки користувач затверджує транзакцію, група для вилучення конфіденційної інформації не транслює її на блокчейн відразу. Замість цього вони чекають і пізніше оновлюють контракт до версії з шкідливим кодом перед транслюванням. Користувач в цей момент раптово виявляє, що його активи зникли, часто через кілька днів після підписання транзакції.
Цей вдосконалений метод атаки є надзвичайно хитрим і шкідливим. Поточні функції симуляції транзакцій не можуть відображати цей ризик. Тому важливо підтримувати високий рівень бджілля та не довірятися занадто сильно попередженням програмного забезпечення гаманця або сліпо довіряти результатам симуляції транзакцій.
початкова мета дизайну цих функцій полягала в зниженні бар'єрів для користувачів та забезпеченні більшого комфорту. Однак, як двосторонній меч, нові технології також надали групам фішингу більший спектр методів атак.
щойно перед написанням цієї статті, Solana випустила дві нові функції: Action та Blink. Хоча навколо цих функцій є багато очікувань, деякі також попереджають про можливість використання їх фішинговими групами.
Фішинг на Solana характеризується одноразовими операціями та високою недосяжністю. Через нестабільність RPC та інші причини, функції симуляції транзакцій можуть не завжди працювати, тому на них не можна повністю покладатися.
Рекомендується користувачам, які мають змогу використовувати апаратний гаманець Keystone для взаємодії. Це додає додатковий шар підтвердження, запобігаючи швидким підтвердженням операцій, спричинених імпульсом або помилковими кліками.
Додатково, Keystone розбирає транзакції на апаратному рівні. У випадках, коли симуляції транзакцій у програмному гаманці не вдаються, апаратний гаманець все ще може розібрати вміст транзакції, надаючи останню лінію захисту.
Технологія блокчейн постійно еволюціонує та трансформується. Поки ми турбуємося про ризики, пов'язані з новими технологіями, ми не можемо собі дозволити зупинятися. Групи фішингу подібні до шкідників, яких усі хочуть усунути, а професіонали, включаючи виробників апаратних гаманців та компанії з безпеки, постійно розробляють рішення для протидії новим загрозам.
як звичайним користувачам, важливо нагадати собі, що не слід даватися звабливим "безкоштовним подарункам", а уважно перевіряти деталі транзакції. З таким рівнем свідомості про безпеку, спроби фішингу набагато менш ймовірні.
Нещодавно користувач опублікував повідомлення про втрату мільйонів юанів активів через фішингову аферу на Solana. За описом, він помилково натиснув на посилання, розміщене фішинговою групою під твітом проекту Maneki, що привело його на шахрайський веб-сайт.
що його здивувало, це те, що під час взаємодії з веб-сайтом здавалося, що не потрібно жодної операції авторизації токенів, і хакеру вдалося безпосередньо вкрасти активи. коли він усвідомив, що може бути проблема з веб-сайтом і спробував переказати токени зі свого гаманця, щоб уникнути крадіжки, виявилося, що кілька спроб переказу не вдалося, і він більше не міг зняти свої активи.
через обмежену кількість наданих деталей ми не можемо повністю відновити сцену інциденту. однак очевидно, що користувач втратив контроль над обліковим записом токена манекі, тому спроби переказу активів з його гаманця не вдалося. користувачам, звиклим до EVM, може бути незрозуміло, що означає контроль над обліковим записом.
це тому, що solana використовує реалізацію, відмінну від ланцюга evm. Продовжуючи взаємодіяти з solana за звички від evm, це схоже на використання застарілого меча для боротьби в сучасній битві, що неодмінно призводить до значних ризиків.
щоб насолодитися грою на solana, важливо розуміти характеристики solana та фішингові тактики. з цією метою ми склали деякі методи атак на solana, які відрізняються від тих на evm, сподіваючись допомогти користувачам, які не знайомі з solana, уникати пасток.
головний герой нашого відкриваючого випадку зіткнувся з цим типом атаки. у гаманці solana кожен токен має окремий обліковий запис (токен-рахунок), схожий на те, як у банківському рахунку можуть бути окремі рахунки для різних валют, таких як rmb та usd, які є незалежними один від одного. Кожен токен-рахунок також має атрибут власності.
за замовчуванням власником рахунку токенів визначається поточний гаманець. однак це не зашито у жорстке програмне забезпечення. викликаючи операцію createsetauthorityinstruction, власність рахунку токенів може бути змінена. хакери використовують цю операцію, щоб обманом змусити користувачів перевести власність рахунку токенів зі свого гаманця на гаманець хакера.
Після успіху, навіть якщо токени все ще знаходяться в гаманці, користувач не може їх переказати, що, по суті, те ж саме, що і крадіжка токенів.
Через високий ризик цієї операції, як Phantom, так і Gate,@Backpack_CNгаманці перехоплюють і попереджають користувачів про ризики транзакції, вимагають другого підтвердження для транзакції, якщо користувач настоює на затвердженні.
на evm, фішинговий контракт потребує від користувача авторизувати контракт на токен-контракті перед тим, як він зможе переказати токени з гаманця користувача. Фішинговий контракт може ініціювати операцію з переказу активів користувача лише після отримання авторизації.
однак на Solana "затвердження" не означає авторизації, а лише підтвердження транзакції. Якщо користувач помилково розглядає це як крок авторизації та підтверджує його, фішингова транзакція відправляється, залишаючи мало шансів на відновлення.
більш небезпечна ситуація полягає в тому, що якщо користувача обманють, щоб авторизувати токени на EVM, тільки авторизований токен буде постраждати, а інші неавторизовані токени залишаться в безпеці. На Solana, оскільки не потрібна авторизація, і для переказу токенів потрібне лише затвердження користувача, разом з третьою точкою, яку ми обговоримо далі, це може призвести до значних втрат для користувача.
дизайн транзакції Solana дозволяє включати кілька підтранзакцій в одну транзакцію, при цьому кожна підтранзакція завершує взаємодію, наприклад, передачу конкретного токену. Порівняно з EVM, де кожен токен вимагає окремої транзакції, ця функція Solana надає деякий зручність.
Наприклад, ваш гаманець може містити деякі токени з дуже низькою вартістю, менше 1 usd. Сол-знищувач використовує цю функцію, щоб дозволити користувачам пакетно відправляти токени малої вартості зі свого гаманця та конвертувати їх назад у sol без необхідності кількох конвертацій, які б споживали багато газу та заощаджували операційний час.
хоч ця функція забезпечує зручність, вона також значно сприяє хакерським діям. якщо хакер успішно обмане користувача, щоб підтвердити транзакцію, він може викрасти гаманець користувача з токенами, nft і навіть sol. тому, якщо ви бачите транзакцію, що включає переказ багатьох токенів, будьте обережні, оскільки це може бути хакер, який намагається опорожнити ваш гаманець за допомогою цієї функції.
У екосистемі EVM підписи дозволів користуються популярністю серед груп фішингу через їх прихованість та той факт, що вони не з'являються у гаманці авторизатора. Наразі понад половина атак фішингу використовують цей метод. У світі Solana існує подібний метод: стійкий одноразовий номер.
стійка функція nonce працює подібно до дозволу. якщо користувач навмисно підписує транзакцію, він не втратить активи або не побачить цю транзакцію в своєму гаманці негайно. замість цього інформація про підписану транзакцію надсилається групі фішингу, яка потім подає транзакцію до блокчейну. ця характеристика офлайн-транзакції є так само небезпечною, як і дозвіл.
Оскільки Solana може симулювати результати транзакцій, довгостроковий номер є більш зрозумілим, ніж дозвіл, що полегшує користувачам його ідентифікацію. Однак групи фішингу поєднали довгостроковий номер з оновленнями контрактів, щоб ефективніше красти активи, обійшовши попередження про симуляцію транзакцій.
Сайти для вилучення конфіденційної інформації спочатку взаємодіють з користувачами за допомогою звичайних контрактів без шкідливих транзакцій. Функція симуляції транзакцій гаманця не показує проблем на цій стадії. Як тільки користувач затверджує транзакцію, група для вилучення конфіденційної інформації не транслює її на блокчейн відразу. Замість цього вони чекають і пізніше оновлюють контракт до версії з шкідливим кодом перед транслюванням. Користувач в цей момент раптово виявляє, що його активи зникли, часто через кілька днів після підписання транзакції.
Цей вдосконалений метод атаки є надзвичайно хитрим і шкідливим. Поточні функції симуляції транзакцій не можуть відображати цей ризик. Тому важливо підтримувати високий рівень бджілля та не довірятися занадто сильно попередженням програмного забезпечення гаманця або сліпо довіряти результатам симуляції транзакцій.
початкова мета дизайну цих функцій полягала в зниженні бар'єрів для користувачів та забезпеченні більшого комфорту. Однак, як двосторонній меч, нові технології також надали групам фішингу більший спектр методів атак.
щойно перед написанням цієї статті, Solana випустила дві нові функції: Action та Blink. Хоча навколо цих функцій є багато очікувань, деякі також попереджають про можливість використання їх фішинговими групами.
Фішинг на Solana характеризується одноразовими операціями та високою недосяжністю. Через нестабільність RPC та інші причини, функції симуляції транзакцій можуть не завжди працювати, тому на них не можна повністю покладатися.
Рекомендується користувачам, які мають змогу використовувати апаратний гаманець Keystone для взаємодії. Це додає додатковий шар підтвердження, запобігаючи швидким підтвердженням операцій, спричинених імпульсом або помилковими кліками.
Додатково, Keystone розбирає транзакції на апаратному рівні. У випадках, коли симуляції транзакцій у програмному гаманці не вдаються, апаратний гаманець все ще може розібрати вміст транзакції, надаючи останню лінію захисту.
Технологія блокчейн постійно еволюціонує та трансформується. Поки ми турбуємося про ризики, пов'язані з новими технологіями, ми не можемо собі дозволити зупинятися. Групи фішингу подібні до шкідників, яких усі хочуть усунути, а професіонали, включаючи виробників апаратних гаманців та компанії з безпеки, постійно розробляють рішення для протидії новим загрозам.
як звичайним користувачам, важливо нагадати собі, що не слід даватися звабливим "безкоштовним подарункам", а уважно перевіряти деталі транзакції. З таким рівнем свідомості про безпеку, спроби фішингу набагато менш ймовірні.