امنیت

دامنه یکسان، Discord هم یکسان — پس چرا هنوز تست‌نت جعلی است؟ چطور از سایت‌های جاعل هویت محافظت کنیم

دامنه یکسان، Discord هم یکسان — پس چرا هنوز تست‌نت جعلی است؟ چطور از سایت‌های جاعل هویت محافظت کنیم

تست‌نت یکی از آسان‌ترین سناریوها در Web3 برای جعل است. مهاجمان رابط کاربری رسمی را کپی می‌کنند، دکمه Connect Wallet و پنل وظایف جعلی می‌سازند — هدفشان گرفتن مجوز از wallet اصلی شما یا سرقت private key است. این راهنما فرآیند تأیید ۵ مرحله‌ای و جدول مقایسه ورودی واقعی با جعلی ارائه می‌دهد تا قبل از اتصال wallet خطر را شناسایی کنید.

چرا تست‌نت آسان‌ترین هدف جعل است

تست‌نت معمولاً رابط کاربری ساده و یک دکمه Connect Wallet دارد — مهاجمان با هزینه بسیار کم این صفحه را کلون می‌کنند، فقط کد front-end را کپی کرده و آدرس contract را عوض می‌کنند. به دلیل تلقین ذهنی «تست‌نت = رایگان»، کاربران به طور طبیعی کمتر محتاط هستند. بسیاری فکر می‌کنند «به هر حال تست‌نت است، دارایی واقعی ندارد»، اما درخواست مجوز سایت جعلی به contract شبکه اصلی اشاره دارد — با امضا کردن، دارایی‌های واقعی شما تحت تأثیر قرار می‌گیرد.

در نوشتن راهنماهای تست‌نت، خودم با موقعیتی مواجه شدم که دامنه ظاهراً درست به نظر می‌رسید اما در واقع صفحه جعلی بود — از یک لینک دعوت قدیمی Discord وارد شده بودم که سرور آن قبلاً توسط مهاجم تصرف شده و کانال اطلاعیه به لینک فیشینگ تبدیل شده بود، اما نام و آواتار سرور دقیقاً همان قبلی بود. به همین دلیل «حساب اجتماعی ظاهراً مشکلی ندارد» نباید تنها معیار قضاوت باشد — حساب می‌تواند هک شود، لینک می‌تواند از پشت تعویض شود، و کاربر عادی فقط با نگاه به رابط کاربری نمی‌تواند این را تشخیص دهد.

ورودی واقعی در مقابل سایت جعلی — جدول مقایسه

بُعدورودی واقعیسایت جعلی
منبع دامنه سایت رسمی / X رسمی / اطلاعیه Discord بخش نظرات / پیام خصوصی / لینک کوتاه گروه چت
املای دامنه دقیقاً مطابق با اطلاعیه رسمی جایگزینی کاراکترهای مشابه (rn→m، і→i)
گواهی HTTPS SSL معتبر (اما فقط به قفل اعتماد نکنید) ممکن است SSL داشته باشد (گواهی رایگان)
پاپ‌آپ Wallet ورود با امضا یا مشاهده آدرس درخواست مستقیم token authorize یا unlimited approve
محتوای وظیفه مطابق با مستندات رسمی درخواست واریز، ارائه private key، دانلود افزونه
بررسی متقاطع شبکه اجتماعی همان لینک در X / Discord رسمی موجود فقط در پیام خصوصی یا نظرات دیده می‌شود
خود اکانت X در footer سایت رسمی / مستندات کراس‌لینک شده اکانت جعلی، فالوور خریداری‌شده برای وانمود «تیک آبی»
موقعیت نتیجه جستجو نتیجه طبیعی جستجو، مطابق با اطلاعیه خرید جایگاه تبلیغاتی، بالاتر از نتایج طبیعی

روش‌های بیشتر جعل: نه فقط عوض کردن دامنه

علاوه بر عوض کردن مستقیم دامنه، کلاهبرداران از روش‌های پیچیده‌تری هم استفاده می‌کنند که چون «درست به نظر می‌رسند» بسیاری از کاربران در آن‌ها گرفتار می‌شوند.

دامنه‌های همنویسه (homograph)

این نوع دامنه از کاراکترهای بصری مشابه برای فریب چشم استفاده می‌کند، مثلاً جایگزینی حرف لاتین «a» با حرف سیریلیک «а»، یا جایگزینی حرف «o» با عدد «0». در نوار آدرس، با چشم غیرمسلح تقریباً تفاوتی دیده نمی‌شود؛ باید فونت را بزرگ کنید یا در ویرایشگر متن ساده کپی-پیست کنید تا کاراکتر به کاراکتر بررسی شود. برخی مرورگرها برای دامنه‌های بین‌المللی (IDN) هشدار می‌دهند، اما همه مرورگرها این را به طور پیش‌فرض فعال ندارند، پس نباید فقط به مرورگر تکیه کرد.

اکانت جعلی X و فریب «تیک آبی»

تأیید پولی X به معنای تأیید هویت رسمی نیست. مهاجمان می‌توانند نشان تأیید بخرند و همراه با فالوور و تعامل خریداری‌شده، وانمود به «اکانت رسمی فعال» کنند. راه مطمئن‌تر این است که ببینید آیا این اکانت از سایت رسمی یا مستندات کراس‌لینک شده یا نه، نه صرفاً داشتن تیک آبی یا تعداد فالوور.

گروه جعلی Discord / Telegram

مهاجمان می‌توانند گروهی کاملاً جدید و شبیه‌سازی‌شده بسازند که آواتار، نام و پیام سنجاق‌شده را کپی کرده باشد و شما را به پیوستن دعوت کنند. حالت دیگر هک شدن سروری است که قبلاً اشاره شد — وقتی دسترسی ادمین گروه اصلی به دست مهاجم می‌افتد، لینک فیشینگ مستقیماً در کانال اطلاعیه قرار می‌گیرد. قبل از پیوستن به گروه، از پست سنجاق‌شده سایت رسمی یا X رسمی روی لینک کلیک کنید، نه از لینک فوروارد شده یا دعوت در پیام خصوصی.

فیشینگ جایگاه تبلیغاتی موتور جستجو

جایگاه تبلیغاتی Google، Bing و موتورهای جستجوی دیگر بالای صفحه نتایج قرار دارد، جلوتر از نتایج طبیعی. بسیاری از کاربران روی اولین نتیجه کلیک می‌کنند، اما ممکن است آن لینک جعلی و پولی باشد. کنار لینک تبلیغاتی معمولاً برچسب «Ad» یا «Sponsored» است که در عجله به راحتی از چشم می‌افتد. عادت کنید اول ببینید تبلیغ است یا نه، سپس املای دامنه را بررسی کنید.

لینک کوتاه در نظرات / پیام خصوصی

لینک کوتاه (مثل bit.ly، tinyurl) خود دامنه واقعی را پنهان می‌کند، پیش از کلیک نمی‌دانید به کجا می‌رود. پروژه‌های معتبر به ندرت از طریق پیام خصوصی با کاربران تماس می‌گیرند و لینک می‌فرستند، به خصوص پیام‌هایی مثل «تبریک می‌گوییم، شما در بتاتست انتخاب شدید» تقریباً قطعاً فیشینگ است. اکانت «پشتیبانی رسمی» سنجاق‌شده در بخش نظرات هم ترفند رایجی است؛ تیم رسمی به ندرت با اکانت جداگانه در نظرات عمومی به مسائل فردی پاسخ می‌دهد.

فرآیند تأیید ۵ مرحله‌ای

  1. دامنه را از کانال رسمی دریافت کنید — سایت رسمی، بیوی X رسمی، کانال اطلاعیه Discord منبع اولیه هستند. از تبلیغات موتور جستجو، فوروارد گروه چت یا پیام خصوصی لینک نگیرید.
  2. حرف به حرف با نوار آدرس مرورگر مقایسه کنید — بعد از باز کردن صفحه، به صورت دستی بررسی کنید که دامنه در نوار آدرس دقیقاً با دامنه رسمی مطابقت دارد. به کاراکترهای بصری مشابه مثل rn و m، I بزرگ و l کوچک توجه کنید.
  3. نوع مجوز پاپ‌آپ wallet را بررسی کنید — هنگام اتصال wallet، توجه کنید پاپ‌آپ «مشاهده آدرس» می‌خواهد یا «token authorize». در تعامل تست‌نت معمولاً فقط signature login لازم است، نه token approve.
  4. مطابقت محتوای وظیفه با مستندات رسمی را تأیید کنید — تست‌نت واقعی هرگز واریز به شبکه اصلی، ارائه private key یا دانلود افزونه اضافی نمی‌خواهد. اگر وظیفه با مستندات رسمی مطابقت ندارد، متوقف شوید.
  5. آدرس contract را در بلاک اکسپلورر تأیید کنید — آدرس contract استفاده شده در صفحه را در بلاک اکسپلورر زنجیره مربوطه کپی کنید و ببینید با آدرس contract رسمی پروژه مطابقت دارد یا نه.

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

همان اتفاق سرور Discord که قبل‌تر گفتم را دوباره مرور می‌کنم، چون خودِ ماجرا بهتر از هر فهرستی نشان می‌دهد چرا نگاه کردن به یک کانال کافی نیست. سرور نزدیک یک سال بدون هیچ تغییری همان بود — همان آواتار، همان اسم، همان لحن پیام‌ها. بعد یک روز کانال اطلاعیه پستی گذاشت درباره «دامنه جدید» تست‌نت، دقیقاً با همان قالب و ایموجی‌هایی که همیشه برای اطلاعیه‌های واقعی استفاده می‌شد. هیچ چیز غیرعادی به چشم نمی‌آمد.

کاری که در عمل کردم این بود: به جای کلیک روی لینک Discord، از بوکمارکی که ماه‌ها قبل از سایت رسمی ذخیره کرده بودم وارد شدم، نه از جستجو. از همان‌جا لینک X رسمی را در footer سایت پیدا کردم — نه با گشتن در X دنبال اسم پروژه. در بیو و پست سنجاق‌شده همان اکانت X، لینک مستندات بود که با چیزی که Discord ادعا کرده بود یکی نبود. صفحه مستندات را باز کردم؛ در همان صفحه اول یک اعلامیه «تنها دامنه رسمی» وجود داشت که دقیقاً با آدرس سایت و لینک X مطابقت داشت، اما با چیزی که در Discord نوشته شده بود نه. یعنی سه منبع مستقل — سایت، X، مستندات — با هم هم‌خوان بودند و فقط Discord از قافله جا مانده بود. نتیجه روشن بود: کانال اطلاعیه هک شده بود.

از آن به بعد ترتیب بررسی‌ام همیشه همین است: اول سایت رسمی از بوکمارک، بعد لینک X که از footer همان سایت گرفته می‌شود، بعد لینک مستندات که از بیوی همان X پیدا می‌شود، بعد اعلامیه «دامنه رسمی» داخل خود مستندات، و در آخر کانال اطلاعیه Discord فقط برای تأیید نهایی — نه به‌عنوان منبع اول. اگر یک منبع با سه منبع دیگر نخواند، به اکثریت اعتماد کن و همان یکی که جدا افتاده را مشکوک بدان؛ در تجربه من همیشه همان یکی، چیزی بود که هک شده بود. اگر وقت داشتید، تاریخ ثبت دامنه در WHOIS هم یک سیگنال کمکی خوب است — دامنه‌ای که ادعا می‌کند سال‌هاست فعال است اما چند روز پیش ثبت شده، به تنهایی برای رد کردنش کافی است.

تحلیل تاکتیک‌های رایج جعل

تاکتیک جعلیهدفواقعیت
«airdrop با زمان محدود، همین الان دریافت کنید» ایجاد حس فوریت برای کلیک airdrop معتبر از طریق پیام خصوصی اطلاع زمان محدود نمی‌دهد
«تأیید امنیتی رسمی، wallet را وصل کنید» جعل هویت رسمی مرجع رسمی هرگز در پیام خصوصی درخواست اتصال wallet نمی‌کند
«0.1 ETH واریز کنید تا تست فعال شود» سرقت دارایی واقعی تست‌نت نیازی به واریز در شبکه اصلی ندارد
«افزونه امن دانلود کنید تا ادامه دهید» نصب بدافزار تست‌نت معتبر نیاز به افزونه اضافی ندارد
«ابتدا واریز کنید تا تست باز شود» سرقت دارایی واقعی، به شکل «شرط» بسته‌بندی‌شده در تست‌نت چنین مکانیزمی برای باز کردن با پرداخت پول وجود ندارد
«ظرفیت محدود، تا ۳ دقیقه دیگر منقضی می‌شود» ایجاد فوریت با شمارش معکوس برای کاهش زمان بررسی شما رویدادهای معتبر تست‌نت معمولاً بازه زمانی طولانی‌تری دارند و با شمارش معکوس فشار نمی‌آورند
«airdrop قطعی، ابتدا wallet را ثبت‌نام کنید» کاهش هوشیاری با زبان قطعیت هیچ پروژه‌ای نمی‌تواند پیش از شروع رویداد airdrop را «قطعی» اعلام کند؛ این زبان خودش هشدار است

در سطح contract چه چیز دیگری قابل بررسی است: نه فقط مطابقت آدرس

مطابقت آدرس به تنهایی کافی نیست — حتی اگر آدرس درست باشد، به این معنا نیست که خود contract بی‌خطر است. چند دقیقه وقت گذاشتن در بلاک اکسپلورر می‌تواند بخش قابل‌توجهی از تله‌ها را فیلتر کند.

آیا کد contract متن‌باز است

پس از باز کردن آدرس contract در بلاک اکسپلورر، ببینید آیا برچسب «Contract Source Code Verified» یا مشابه آن دارد. contract تأییدشده به شما امکان می‌دهد منطق کد واقعی مستقر شده را ببینید؛ contract تأییدنشده مثل جعبه سیاه است — اصلاً نمی‌دانید چه چیزی در پشت آن نوشته شده. contract تأییدنشده در تست‌نت لزوماً مخرب نیست (بسیاری از تیم‌ها از سر تنبلی تأیید نمی‌کنند)، اما حداقل باید محتاط‌تر باشید و در چنین contractـی مجوزهای فراتر از نیاز ندهید.

آیا توابع مجوز پرخطر وجود دارد

در کد contract یا ابزار اسکن ریسک شخص ثالث، فهرست توابع را بررسی کنید که آیا توابعی مثل mint (ضرب نامحدود توکن جدید)، blacklist (مسدود کردن آدرس)، pause (توقف همه انتقال‌ها) وجود دارد و آیا هر کسی می‌تواند این توابع را فراخوانی کند یا فقط سازنده. طبیعی است که مجوزها در تست‌نت آزادتر باشند، اما اگر یک صفحه جعلی به اسم «قرارداد تست» شما را وادار کند همان کار را روی یک contract در شبکه اصلی انجام دهید، خطر کاملاً متفاوت است.

خطر proxy contract

برخی contractها از الگوی proxy قابل‌ارتقا استفاده می‌کنند — یعنی منطق پیاده‌سازی پشت آدرسی که با آن تعامل می‌کنید، هر زمان می‌تواند توسط مالک contract تغییر کند. حتی اگر امروز که بررسی می‌کنید منطق ایمن باشد، تضمینی نیست فردا به منطق مخرب تبدیل نشود. بلاک اکسپلورر معمولاً برچسب «Proxy Contract» نشان می‌دهد؛ با کلیک روی آن، آدرس پیاده‌سازی فعلی مشخص می‌شود. اگر صفحه‌ای مکرراً از شما re-approve بخواهد، یا سقف مجوز غیرعادی بزرگی تعیین شود، خطر تغییر منطق پشت proxy باید در نظر گرفته شود.

در پاپ‌آپ approve، اول spender را بررسی کنید

هنگامی که wallet درخواست token authorize می‌کند، پاپ‌آپ آدرس spender (یعنی contractی که مجاز به استفاده از توکن‌های شما می‌شود) و سقف مجوز را نشان می‌دهد. بسیاری بدون نگاه کردن مستقیماً تأیید می‌زنند، اما دقیقاً همین‌جا باید توقف کنید: آیا آدرس spender همان contract رسمی است که قبلاً تأیید کرده‌اید، و آیا سقف به طور پیش‌فرض روی «نامحدود» تنظیم شده. اگر افزونه wallet سقف را عددی نجومی یا «unlimited» نشان دهد، سعی کنید آن را به‌صورت دستی به میزان واقعی موردنیاز تغییر دهید و پیش‌فرض را نپذیرید.

برای چه کسی مناسب است / مناسب نیست

مناسب:

  • کاربران جدیدی که می‌خواهند تست‌نت انجام دهند اما از امنیت ورودی مطمئن نیستند
  • افرادی که می‌خواهند مهارت‌های ضد فیشینگ را به صورت سیستماتیک یاد بگیرند

مناسب نیست:

  • افرادی که فکر می‌کنند «لینک‌هایی که دیگران می‌فرستند مشکلی ندارد» — این فرض در محیط Web3 بسیار خطرناک است
  • افرادی که حاضر نیستند چند دقیقه صرف تأیید دامنه کنند — بررسی امنیتی کم‌هزینه‌ترین محافظت است

اشتباهات رایج

  1. در موتور جستجو روی لینک جعلی در جایگاه تبلیغاتی کلیک شد، توجه نشد که دامنه با نتیجه طبیعی متفاوت است.
  2. «لینک رسمی» دریافت شده در پیام خصوصی مستقیماً wallet وصل شد، بدون بررسی متقاطع در کانال رسمی.
  3. چون UI صفحه شبیه رسمی بود تصور شد امن است — مهاجمان در چند دقیقه front-end را کلون می‌کنند.
  4. فقط آیکون قفل HTTPS بررسی شد اما املای دامنه تأیید نشد — هر کسی می‌تواند گواهی SSL رایگان بگیرد.
  5. در سایت جعلی token authorize امضا شد، بعداً متوجه شد اما مجوز از قبل روی زنجیره فعال بود.

سیگنال توقف

در صورت مواجهه با هر یک از موارد زیر، فوراً عملیات را متوقف کرده و صفحه را ببندید:

  • دامنه با اطلاعیه رسمی مطابقت ندارد، حتی اگر یک کاراکتر تفاوت داشته باشد
  • برای «فعال‌سازی» یا «مشارکت» در تست واریز به شبکه اصلی خواسته شود
  • Private key یا seed phrase خواسته شود
  • پاپ‌آپ wallet درخواست unlimited token approve داشته باشد
  • ادعا شود «باید فوراً انجام دهید» وگرنه فرصت از دست می‌رود
  • دانلود نرم‌افزار اضافی یا افزونه مرورگر خواسته شود
  • به عنوان شرط «باز شدن» یا شرکت، ابتدا واریز پول خواسته شود
  • پیام خصوصی ناخواسته‌ای مثل «تبریک، شما در بتاتست انتخاب شدید» دریافت کنید
  • شمارش معکوس یا ظرفیت محدود برای کاهش زمان بررسی شما استفاده شود

سؤالات متداول

آیا تست‌نت جعلی می‌تواند دارایی من را بدزدد؟

بله. اگر با wallet اصلی به سایت جعلی وصل شوید و مجوز مخرب (مثل unlimited approve) امضا کنید، مهاجم می‌تواند مستقیماً توکن‌های مجاز شما را منتقل کند. حتی اگر عنوان صفحه «تست‌نت» باشد، تعامل روی زنجیره ممکن است به contract شبکه اصلی اشاره داشته باشد.

آیا داشتن HTTPS در دامنه یعنی امن است؟

نه. مؤسساتی مثل Let's Encrypt گواهی SSL رایگان ارائه می‌دهند، هر کسی می‌تواند برای هر دامنه‌ای درخواست دهد. HTTPS فقط به معنای رمزنگاری انتقال است، نه قابل اعتماد بودن سایت. باید املای دامنه را با نسخه رسمی مقایسه کنید.

آیا ورودی رسمی تغییر می‌کند؟

بله. پروژه ممکن است دامنه را ارتقا دهد، نسخه تست‌نت را عوض کند یا ساختار URL را تنظیم کند. قبل از هر تعامل، همیشه آخرین ورودی را از X یا Discord رسمی تأیید کنید، به بوکمارک یا تاریخچه مرورگر اعتماد نکنید.

آیا نتایج موتور جستجو قابل اعتماد هستند؟

کاملاً قابل اعتماد نیستند. مهاجمان جایگاه تبلیغاتی در موتور جستجو می‌خرند و دامنه جعلی را بالاتر از نتایج طبیعی قرار می‌دهند. همیشه از کانال رسمی لینک بگیرید، به اولین لینک نتایج جستجو اعتماد نکنید.

اگر اکانت X رسمی تیک آبی داشته باشد، می‌شود اعتماد کرد؟

فقط به این نباید کاملاً تکیه کرد. تأیید پولی X معادل بررسی هویت نیست — مهاجمان می‌توانند نشان تأیید بخرند و همراه با فالوور و تعامل خریداری‌شده، وانمود به اکانت رسمی فعال کنند. راه مطمئن‌تر بررسی این است که آیا این اکانت از سایت رسمی یا مستندات کراس‌لینک شده، نه صرفاً تیک آبی یا تعداد فالوور.

چطور بفهمم یک contract «متن‌باز تأییدشده» است؟

بلاک اکسپلورر زنجیره مربوطه را باز کنید، آدرس contract را جستجو کنید، ببینید برچسب «Contract Source Code Verified» دارد یا نه. contract تأییدشده اجازه می‌دهد کد مستقرشده را مستقیماً ببینید؛ contract تأییدنشده راهی برای مشاهده منطق داخلی ندارد. contract تأییدنشده در تست‌نت لزوماً مخرب نیست، اما به خصوص در عملیات مجوزدهی باید محتاطانه‌تر عمل کرد.

پاپ‌آپ wallet از من می‌خواهد approve را تأیید کنم، چه چیزی را بررسی کنم؟

عمدتاً دو نکته را بررسی کنید: اول، آیا آدرس spender همان contract رسمی است که قبلاً تأیید کرده‌اید؛ دوم، آیا سقف مجوز به طور پیش‌فرض روی نامحدود تنظیم شده. بسیاری از افزونه‌های wallet به طور پیش‌فرض سقف را به حداکثر می‌رسانند؛ می‌توانید آن را به‌صورت دستی به میزان واقعی موردنیاز این بار تغییر دهید، لازم نیست پیش‌فرض را بپذیرید.

بعد از فریب خوردن چه کنیم؟

فوراً از ابزارهایی مثل Revoke.cash مجوز contract مخرب را لغو کنید. اگر دارایی با ارزش بالا دارید، ابتدا دارایی را به آدرس wallet کاملاً جدید منتقل کنید، سپس مجوز آدرس قدیمی را اصلاح کنید. همزمان دامنه سایت جعلی را در انجمن رسمی پروژه گزارش دهید.

منابع