کلاهبرداران، کاربران ارزهای دیجیتال را با ترفند جدید «TransferFrom با ارزش صفر» هدف قرار می دهند
این ترفند به مهاجم اجازه می دهد تا تراکنش های بی ارزش را از کیف پول قربانی ببیند و تاریخچه تراکنش های کاربر را ربوده است.
دادههای Etherscan نشان میدهد که برخی از کلاهبرداران رمزارز با ترفندهای جدیدی کاربران را هدف قرار میدهند که به آنها اجازه میدهد تا تراکنشها را از کیف پول قربانی بدون داشتن کلید خصوصی قربانی تأیید کنند. حملات فقط در برابر تراکنش هایی با مقدار ۰ قابل انجام است. با این حال، برخی از کاربران ممکن است به طور تصادفی توکن هایی را در نتیجه برش و چسباندن از تاریخچه تراکنش ربوده شده برای مهاجم ارسال کنند.
شرکت امنیتی بلاک چین SlowMist این تکنیک جدید را در ماه دسامبر کشف کرد و آن را در یک پست وبلاگ فاش کرد. از آن زمان، هم SafePal و هم Etherscan از تکنیکهای کاهش برای محدود کردن تأثیر آن بر کاربران استفاده کردهاند، اگرچه ممکن است برخی از کاربران هنوز از وجود آن بیاطلاع باشند.
اخیراً گزارش هایی از جامعه در مورد نوع جدیدی از کلاهبرداری دریافت کردیم، کلاهبرداری انتقال صفر. در صورت مشاهده ۰ نقل و انتقالات مشکوک در پرونده کیف پول خود مراقب باشید.
۱/۱۰
— ورونیکا (@V_SafePal) ۱۴ دسامبر ۲۰۲۲
طبق یک پست SlowMist، این کلاهبرداری با ارسال یک تراکنش توکن صفر از کیف پول قربانی به آدرسی مشابه آدرسی که قربانی قبلا توکن ها را برای آن ارسال کرده است، کار می کند.
به عنوان مثال، اگر قربانی ۱۰۰ سکه را به آدرس سپرده صرافی ارسال کند، مهاجم می تواند ۰ سکه را از کیف پول قربانی به آدرسی بفرستد که به نظر شبیه است اما در واقع تحت کنترل مهاجم است. قربانیان ممکن است این تراکنش را در تاریخچه تراکنش خود مشاهده کنند و تشخیص دهند که آدرس نمایش داده شده آدرس سپرده صحیح است. در نتیجه، سکه ها می توانند مستقیماً برای مهاجم ارسال شوند.
ارسال معاملات بدون اجازه مالک
در شرایط عادی، یک مهاجم برای ارسال تراکنش ها از کیف پول قربانی به کلید خصوصی قربانی نیاز دارد. با این حال، ویژگی “زبانه قرارداد” Etherscan حفره هایی را در برخی از قراردادهای توکن آشکار می کند که به مهاجم اجازه می دهد تراکنش ها را از هر کیف پولی ارسال کند.
برای مثال، کد USD Coin (USDC) Etherscan از تابع “TransferFrom” برای انتقال مقدار سکه هایی که شما ارسال می کنید به صاحب آدرس استفاده می کند.
این معمولاً به این معنی است که یک مهاجم نمیتواند از آدرس شخص دیگری تراکنشهایی انجام دهد، مگر اینکه مالک مجوز را تأیید کند.
با این حال، در این حد خلأ وجود دارد. تلورانس ها به عنوان اعداد تعریف می شوند (به نام “نوع uint256”). این بدان معنی است که به عنوان صفر تفسیر می شود، مگر اینکه عدد دیگری تنظیم شود. این را می توان در تابع “Allowance” مشاهده کرد.
در نتیجه، تا زمانی که ارزش تراکنش مهاجم صفر یا کمتر باشد، مهاجم میتواند بدون نیاز به کلید خصوصی یا تأیید قبلی مالک، تراکنشها را از هر کیف پولی ارسال کند.
USDC تنها نشانه ای نیست که این امکان را فراهم می کند. کد مشابهی را می توان در اکثر قراردادهای توکن یافت. همچنین در قرارداد نمونه لینک شده از وب سایت رسمی بنیاد اتریوم ذکر شده است.
نمونه هایی از کلاهبرداری های انتقال ارزش صفر
Etherscan نشان می دهد که برخی از آدرس های کیف پول روزانه هزاران تراکنش بی ارزش را از کیف پول های قربانیان مختلف بدون رضایت قربانی ارسال می کنند.
به عنوان مثال، حساب با برچسب Fake_Phishing7974 از یک قرارداد هوشمند تأیید نشده برای اجرای یک بسته بیش از ۸۰ تراکنش در ۱۲ ژانویه استفاده کرد. هر بسته حاوی ۵۰ تراکنش بی ارزش بود که در مجموع ۴۰۰۰ تراکنش تقلبی در یک روز انجام شد.
آدرس گمراه کننده
نگاه دقیق تر به هر تراکنش انگیزه این هرزنامه را نشان می دهد. مهاجمان تراکنشهای با ارزش صفر را به آدرسهایی ارسال میکنند که بسیار شبیه به آدرسهایی هستند که قربانیان قبلاً به آنها پول ارسال کردهاند.
به عنوان مثال، Etherscan نشان می دهد که یکی از آدرس های کاربری که توسط مهاجم مورد هدف قرار گرفته است، این بود:
0x20d7f90d9c40901488a935870e1e80127de11d74.
در ۲۹ ژانویه، این حساب مجاز به ارسال ۵۰۰۰ Tether (USDT) به آدرس دریافت کننده زیر است:
0xa541efe60f274f813a834afd31e896348810bb09.
مدت کوتاهی پس از آن، Fake_Phishing7974 تراکنش های صفر را از کیف پول قربانی به این آدرس ها ارسال کرد:
0xA545c8659B0CD5B426A027509E55220FDa10bB09.
دو آدرس دریافت کننده دقیقاً ۵ کاراکتر اول و ۶ کاراکتر آخر یکسان هستند، اما همه کاراکترهای وسط متفاوت هستند. مهاجم ممکن است قصد داشته باشد که کاربر USDT را به جای آدرس واقعی به این آدرس دوم (جعلی) ارسال کند و سکه را به مهاجم بدهد.
در این مورد خاص به نظر نمی رسید که کلاهبرداری کار کند زیرا Etherscan هیچ تراکنشی از این آدرس به یکی از آدرس های جعلی ایجاد شده توسط کلاهبرداران را نشان نمی دهد. اما با توجه به حجم معاملات انجام شده در این حساب، ممکن است این طرح در موارد دیگری جواب داده باشد.
کیف پول ها و کاوشگرهای بلاک می توانند به طور قابل توجهی در نحوه یا اینکه آیا تراکنش های گمراه کننده را نشان می دهند متفاوت باشند.
کیف پول
ممکن است برخی از کیف پول ها اصلاً تراکنش های هرزنامه را نشان ندهند. به عنوان مثال، اگر MetaMask را مجددا نصب کنید، سابقه تراکنش خود را نخواهید دید، حتی اگر خود حساب دارای صدها تراکنش در بلاک چین باشد. این بدان معنی است که تاریخچه تراکنش های خود را به جای بیرون کشیدن داده ها از زنجیره بلوکی ذخیره می کند.
از سوی دیگر، اگر کیف پول دادههای خود را مستقیماً از زنجیره بلوکی دریافت کند، تراکنشهای هرزنامه میتوانند بر روی صفحه نمایش کیف پول ظاهر شوند. ورونیکا وونگ، مدیرعامل SafePal در اطلاعیه ای در توییتر در ۱۳ دسامبر گفت: هشدار داد کاربران SafePal که کیف پول آنها ممکن است معاملات را ببیند. او گفت که برای کاهش این خطر، SafePal نحوه نمایش آدرسها در نسخه جدید کیف پول را تغییر میدهد تا جستجوی آنها را برای کاربران آسانتر کند.
(۶/۱۰) در پاسخ به این امر اقدامات زیر را انجام داده ایم.
۱) با آخرین به روز رسانی V3.7.3، طول آدرس کیف پول نمایش داده شده در تاریخچه تراکنش ها را تنظیم کرده ایم.به طور پیش فرض ۱۰ رقم اول و آخر آدرس کیف پول نمایش داده می شود، این برای تأیید آدرس است.— ورونیکا (@V_SafePal) ۱۴ دسامبر ۲۰۲۲
در ماه دسامبر، یکی از کاربران نیز گزارش داد که کیف پول Trezor آنها تراکنش های گمراه کننده را نشان می دهد.
Cointelegraph از طریق ایمیل با توسعه دهنده Trezor SatoshiLabs تماس گرفته است تا نظر بدهد. در پاسخ، یکی از نمایندگان گفت که کیف پول تاریخچه تراکنشها را مستقیماً از زنجیره بلوکی بیرون میکشد «هر بار که کاربر کیف پول Trezor خود را متصل میکند».
با این حال، تیم در حال انجام اقداماتی برای محافظت از کاربران خود در برابر کلاهبرداری است. در بهروزرسانیهای آتی Trezor Suite، این نرمافزار «تراکنشهای مشکوک و بیارزش را علامتگذاری میکند، که نشان میدهد ممکن است چنین تراکنشهایی تقلبی باشند.» به کاربر هشدار میدهد که وجود دارد این شرکت همچنین گفت که کیف پول همیشه آدرس کامل همه تراکنشها را نمایش میدهد و به کاربران توصیه میشود که همیشه آدرس کامل را تأیید کنند و نه فقط اولین و آخرین کاراکترها.
بلاک کاوشگر
به غیر از کیف پول، بلاک اکسپلوررها نوع دیگری از نرم افزارهایی هستند که می توان از آنها برای مشاهده تاریخچه تراکنش ها استفاده کرد. برخی از کاوشگرها، مانند برخی کیف پول ها، ممکن است این تراکنش ها را به گونه ای نمایش دهند که نادرست و برای کاربران گمراه کننده باشد.
برای کاهش این تهدید، Etherscan شروع به خاکستری کردن تراکنشهای توکن با ارزش صفر کرده است که توسط کاربر آغاز نشدهاند. همانطور که در تصویر زیر نشان میدهد، این تراکنشها را با هشدار «This is a zero token transfer initiated by address other» علامتگذاری میکند.
سایر کاوشگرهای بلاک ممکن است اقدامات مشابه Etherscan را برای هشدار دادن به کاربران در مورد این تراکنش ها انجام داده باشند، اما ممکن است هنوز این مراحل را اجرا نکرده باشند.
نکاتی برای جلوگیری از ترفند “TransferFrom ارزش صفر”.
Cointelegraph با SlowMist تماس گرفت تا در مورد نحوه جلوگیری از قربانی شدن در ترفند “TransferFrom ارزش صفر” به شما راهنمایی کند.
یکی از نمایندگان این شرکت لیستی از نکات را برای جلوگیری از قربانی شدن در حمله به کوین تلگراف ارائه کرد.
- “لطفا قبل از انجام تراکنش آدرس خود را به دقت بررسی کنید.”
- “از ویژگی لیست سفید کیف پول برای جلوگیری از ارسال وجوه به آدرس اشتباه استفاده کنید.”
- “هوشیار و مطلع باشید. اگر به انتقال مشکوکی برخورد کردید، زمانی را برای حفظ آرامش خود اختصاص دهید و موضوع را بررسی کنید تا طعمه کلاهبرداران نشوید.”
- سطح سالمی از شک و تردید را حفظ کنید و همیشه هوشیار و هوشیار باشید.
با قضاوت بر اساس این توصیه، مهمترین چیزی که کاربران رمزارز باید به خاطر داشته باشند این است که همیشه یک آدرس را قبل از ارسال رمزنگاری تأیید کنند. اگرچه به نظر می رسد، این ارائه گمراه کننده است.
نویسنده: Tom Blackstone