چگونه از سوءاستفاده متامسک جلوگیری کنیم؟

۱۱ تیر ۱۴۰۲
metamask

وقتی در دنیای وب۳ با توکن‌ها کار می‌کنید، ممکن است تاییدیه هایی را برای استفاده به دیگران واگذار کنید. این موضوع، “تایید توکن” نام دارد و ممکن است خطراتی هم داشته باشد. در این مقاله، به بررسی چگونگی کارکرد، ریسک‌ها و روش‌های محافظت از خود در مقابل این خطرات می‌پردازیم.

موضوع سوءاستفاده متامسک چیست؟

آیا می دانید هر زمان که با یک DApp که شامل توکن های ERC-20 شما می شود ارتباط برقرار می کنید، به آن اجازه دسترسی و انتقال توکن هایتان را به نام خودتان می دهید؟
این اجازه به نام “تأیید توکن” یا (approve) شناخته می شود و یک ویژگی حیاتی برای web3 است. اما اگر دقت نکنید، می تواند بسیار خطرناک باشد.
در این راهنمای کوتاه، شما یاد خواهید گرفت:

  1. منظور از تایید توکن چیست؟
  2. چگونه از تأیید توکن سوء استفاده می شود؟
  3. چگونه می توانید در برابر سوء استفاده از تأیید توکن خود را محافظت کنید؟

تابع تأیید توکن چگونه کار می کند؟

تابع approve() مانند دادن کارت اعتباری خود به شخصی است و به او بگویید چقدر می تواند با آن هزینه کند! این به یک برنامه غیر متمرکز دیگر (که یک خرج کننده نامیده می شود) اجازه می دهد تا برخی از توکن های شما را به نام شما استفاده کند. این عمل برای بسیاری از موارد استفاده از رمز ارز مانند مبادله توکن، وام دادن و فراهم کردن نقدینگی مفید است.
تابع approve() به دو چیز نیاز دارد: آدرس خرج کننده و مقدار توکنی که می خواهید اجازه استفاده آنها را بدهید. برای مثال، اگر آلیس می خواهد به باب اجازه دهد تا تا ۱۰۰ توکن برای او استفاده کند، او باید approve(Bob, 100) را فراخوانی کند.

تابع approve() فقط اجازه می دهد، اما در واقع هیچ توکنی را جابجا نمیکند. برای حرکت دادن توکن ها، خرج کننده باید تابع دیگری را، transferFrom()، فراخوانی کند که به سه چیز نیاز دارد: آدرس صاحب توکن، آدرس کسی که توکن ها را می گیرد، و مقدار توکن هایی که باید منتقل شوند.
تابع transferFrom() بررسی می کند که آیا خرج کننده اجازه کافی از صاحب توکن دارد و آیا صاحب توکن توکن های کافی برای حرکت دارد یا خیر. اگر هر دو صحیح باشد، توکن ها را از حساب صاحب به حساب گیرنده منتقل می کند، اجازه خرج کننده را به اندازه مقدار منتقل شده کاهش می دهد و یک سابقه از انتقال را ثبت می کند.

پس تأیید توکن بی نهایت چیست؟

گاهی اوقات، مقدار توکن هایی که تأیید می کنید بسیار زیاد است. این مانند دادن کارت اعتباری خود به شخصی است که به او بگویید که می تواند به اندازه ای که خواست با آن هزینه کند. برخی از برنامه ها برای این نوع تأیید درخواست می کنند زیرا نمی دانند چقدر توکن آینده برای استفاده شما نیاز خواهند داشت. شما همچنین می توانید با سوء استفاده از این ویژگی تمام دارایی خود را از دست بدهید!

چگونه از تأیید توکن سوء استفاده می شود؟

همه روش های سوء استفاده از تابع approve() یک چیز مشترک دارند: هکرها شما را فریب می دهند تا به آنها اجازه استفاده از توکن هایتان را بدون اینکه بفهمید بدهید.

یکی از روش ها برای انجام این کار این است که ایمیل های هرزنامه یا وب سایت های جعلی که شبیه یک پروژه یا برنامه معتبر به نظر می رسند، برای شما ارسال کنند. آنها از شما میخواهندد که مقدار بی نهایت از توکن ها را تأیید کنید. اگر این کار را انجام دهید، تابع transferFrom() می تواند برای سوء استفاده از کیف پول شما استفاده شود.
روش دیگر سوء استفاده از یک آسیب پذیری در قرارداد هوشمندی است که شما قبلاً تأیید کرده اید که از توکن هایتان استفاده کند. برای مثال، اگر قرارداد قابل ارتقاء باشد، کد مخربی که توکن های شما را منتقل می کند می تواند در آن قرار گیرد. یک قرارداد همچنین می تواند دارای یک اشکال یا درب پشتی باشد که به هکرها اجازه می دهد تا هر گونه دیوار آتش را دور بزنند.

تایید دسترسی بدون محدودیت در متامسک = چک سفید در دست هکر ها!

چگونه از سوء استفاده های بی نهایت تأیید توکن در متامسک محافظت کنید؟

در اینجا برخی از نکات و ترفندهایی وجود دارد که می توانید از سوء استفاده های بی نهایت تأیید توکن متا مسک محافظت کنید:
همیشه آدرس و مقدار توکن هایی را که قبل از تأیید معامله تأیید می کنید، بررسی کنید.

  • اطمینان حاصل کنید که به پروژه یا برنامه ای که درخواست تأیید شما را می کند اعتماد دارید و از وب سایت یا برنامه صحیح استفاده می کنید.
  • بر روی هیچ پیوند یا ایمیل مشکوکی که ادعا می کند از یک پروژه یا برنامه معتبر است کلیک نکنید.
  • مقدار بی نهایت از توکن ها را مگر اینکه واقعاً نیاز داشته باشید تأیید نکنید.
  • برخی از برنامه ها ممکن است از شما بخواهند که برای راحتی یا ذخیره سازی گاز، مقدار نامحدودی از توکن ها را تأیید کنید، اما این همچنین به آنها قدرت می دهد که در هر زمان تمام توکن های شما را بگیرند.
  • اگر ممکن است، فقط مقدار توکن هایی را که برای یک معامله یا فعالیت خاص نیاز دارید تأیید کنید، و وقتی کارتان تمام شد، تأیید را لغو کنید.
  • از ابزارها و سیستم هایی استفاده کنید که می توانند به شما کمک کنند تا تأیید توکن های خود را بررسی، لغو یا سفارشی کنید.
  • در مورد آخرین اخبار و هشدارهای امنیتی به روز بمانید. برای مثال، MetaMask یک رشته توضیحات در مورد ویژگی تأیید توکن منتشر کرده است.

چگونه دسترسی های قبلی را چک کنیم؟

می توانید از ابزار اکسپلورر Etherscan برای دیدن تمام قراردادها و توکن هایی که تأیید کرده اید استفاده کنید و هر یک از آنها را که غیرضروری یا مشکوک هستند لغو کنید. Etherscan همچنین یک توضیح خوب در مورد تأیید توکن برای مشاهده و تغییر مجوزات توکن خود برای قراردادهای مختلف دارد. این ابزارها می توانند به شما کمک کنند تا تأییدهای توکن خود را مدیریت کنید و آنها را تحت کنترل نگه دارید.

سخن پایانی

با اجرای این نکات ساده، از خطر سوء استفاده از توکن‌هایتان در MetaMask محافظت خواهید کرد. حالا با خیال راحت می‌توانید در جهان وب۳ قدم بگذارید و از تعاملات امن لذت ببرید.

8 نفر این مطلب را پسندیدند.
آیا این مطلب برای شما مفید بود؟
رای شما ثبت شد!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
ثبت نظر
مهدی عباس زاده
12 سال از فعالیتم در حوزه طراحی سایت و دیجیتال مارکتینگ میگذره و اخیرا به دنیای شگفت انگیز ارزهای دیجیتال علاقه مند شدم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *