پاسخ کوتاه
اسپمرها حروف را با نویسههایی عوض میکنند که همان شکل را دارند: а سیریلیک به جای a لاتین، صفر به جای o، یا یک نویسهٔ نامرئی وسط کلمه. آدم کلمه را عادی میخواند، اما فهرست کلمات کلمهٔ دیگری میبیند. راهحل این است که متن پیش از قضاوت نرمال شود، یعنی به حروف ساده برگردد.
نکات کلیدی
- نویسهٔ مشابه برای رایانه نویسهٔ دیگری است، حتی وقتی روی صفحه همان شکل را دارد.
- نام کاربری تلگرام فقط a-z، 0-9 و زیرخط میپذیرد. پس @username کپیشده با رقم، زیرخط و کلمهٔ اضافه ساخته میشود.
- نام نمایشی و متن پیام این محدودیت را ندارند. الفباهای دیگر و نویسههای نامرئی همانجا پیدا میشوند.
- فهرست کلمات دقیقاً همان نویسهها را تطبیق میدهد. عوض شدن یک حرف برای رد شدن از آن کافی است.
- ربات باید پیش از هر مقایسهای حروف مشابه را به متن ساده برگرداند.
اسپم با حروف مشابه چیست؟
اسپمی است که طوری نوشته شده که آدم یک کلمه بخواند و فیلتر کلمهای دیگر. اسپمر بعضی حروف را با نویسههایی عوض میکند که همان شکل را دارند ولی در اصل نویسههای دیگری هستند. نام فنیاش هوموگلیف (homoglyph) است. برای کسی که فارسی مینویسد این ماجرا آشناست: «ی» فارسی و یای عربی روی صفحه تقریباً یکیاند، اما برای رایانه دو نویسهٔ جدا هستند.
«c0inbаse» یک نمونه است. جای o صفر دارد و «a» دومش یک حرف سیریلیک است. شما نام برند را میخوانید. لیست سیاهی که نام همان برند در آن است چیزی پیدا نمیکند.
اسپمرها از چه ترفندهایی استفاده میکنند؟
| ترفند | نمونه | آنچه آدم میبیند |
|---|---|---|
| حرفی از یک الفبای دیگر | «аirdrop» با а سیریلیک | airdrop |
| رقم به جای حرف | «B1nance»، «c0in» | همان برند، با کمی تفاوت |
| دو الفبا در یک کلمه | «Suррort» با دو р سیریلیک | Support |
| نویسههای نامرئی | یک نویسهٔ بدون پهنا داخل «airdrop» | airdrop، بدون هیچ چیز عجیبی |
| فاصله و نقطهگذاری | «a i r d r o p»، «air.drop» | کلمهای که با یک نگاه خوانده میشود |
| الفباهای تزئینی | حروف «ریاضی» پررنگ یا دستنویس، حروف بزرگِ ریز | کلمهای با یک فونت فانتزی |
| جفتحرفها | «rn» به جای «m»، «vv» به جای «w» | همان کلمهٔ درست، در اندازههای ریز |
اسپمرها اینها را با هم ترکیب میکنند. یک پیام میتواند در نام برند رقم داشته باشد، در «claim» یک حرف سیریلیک و وسط متن لینک یک نویسهٔ بدون پهنا.
چرا فهرست کلمات آنها را نمیگیرد؟
فهرست کلمات نویسهها را یکییکی مقایسه میکند. «a» لاتین و «а» سیریلیک دو نویسهٔ متفاوتاند، پس «airdrop» و «аirdrop» دو کلمهٔ متفاوتاند. فهرست اولی را میگیرد و دومی را رد میکند.
میتوانید املای دوم را هم به فهرست اضافه کنید. اسپمر بعد از آن حرف دیگری را عوض میکند. کلمهای هفتحرفی که برای هر حرفش چند جایگزین ممکن وجود دارد هزاران املا دارد و فهرست همیشه یک قدم عقب است.
فهرست بلندتر هزینهٔ دیگر را هم بالا میبرد: اعضای خود شما که چون اسپم را نقل کردهاند یا به زبان خودشان نوشتهاند حذف میشوند.
حروف مشابه در نام کاربری و نام نمایشی کجا پیدا میشوند؟
این بخش را خیلیها اشتباه میفهمند، پس دقیق بگوییم.
- @usernames. نام کاربری تلگرام فقط a-z، 0-9 و زیرخط میپذیرد. حرف سیریلیک در آن جایی ندارد. نام کاربری کپیشده با همان چیزهای مجاز ساخته میشود: صفر به جای o، عدد 1 به جای l، «rn» به جای «m»، یک حرف تکراری، یک زیرخط اضافه، یا کلمهای اضافه مثل «support» یا «official».
- نام نمایشی. این محدودیت را ندارد. نسخهٔ کپی نام نمایشی مدیر شما را میشود با حروف یک الفبای دیگر یا با نویسههای نامرئی ساخت و در چت هیچ فرقی با اصلش نداشته باشد.
- بیوگرافی و پیامها. مثل نام نمایشی.
پس جاعل معمولاً نام نمایشیای دارد که بینقص به نظر میرسد و نام کاربریای که کمی فرق دارد. برای همین در راهنمای کلاهبرداری مدیر جعلی چیزی که بررسی میشود @username است، حرف به حرف.
گروهها و کانالهای کپیشده هم از همین نامهای کاربری با یک تفاوت ریز استفاده میکنند. این گروه تلگرام واقعی است؟ فهرست میکند پیش از عضویت چه چیزهایی را بررسی کنید.
حروف مشابه را چطور دستی پیدا کنم؟
- تایپ و جستجو کنید. متن مشکوک را در یک ویرایشگر متن ساده کپی کنید. کلمهٔ واقعی را خودتان تایپ و جستجو کنید. اگر جستجو کلمهٔ کپیشده را پیدا نکرد، دستکم یک نویسه فرق دارد.
- با کلید جهتنما روی آن حرکت کنید. اگر با یک بار فشردن کلید، مکاننما سر جایش ماند، همین الان از روی یک نویسهٔ نامرئی رد شده است.
- فونت را عوض کنید. حروف مشابهی که در یک فونت یکیاند در فونت دیگر اغلب فرق میکنند. فونت همعرض (monospace) بیشترشان را نشان میدهد.
- نام کاربری را بلند و نویسه به نویسه بخوانید. «صفر» و «زیرخط» را راحت میشود گفت و سخت میشود ندید.
- دربارهٔ لینک از روی متنش قضاوت نکنید. پیش از باز کردن ببینید به کجا میرود.
این روش برای یک پیام جواب میدهد. برای یک گروه شلوغ جواب نمیدهد.
ربات چه باید بکند؟
اول نرمال کند، بعد قضاوت. ربات پیش از آنکه پیام را با چیزی مقایسه کند باید متن را به حروف ساده برگرداند:
- نویسههای بدون پهنا و بقیهٔ نویسههای نامرئی را حذف کند.
- حروف مشابه از الفباهای دیگر و حروف تزئینی را به همان حرف سادهای برگرداند که از آن تقلید میکنند.
- رقمهایی را که به جای حرف آمدهاند همان حرف بخواند.
- بازی با فاصله و نقطهگذاری را جمع کند.
بعد دربارهٔ نتیجه قضاوت میکند. همین برای نامها هم صدق میکند: ربات باید نام نمایشی هر عضو را با نام مدیران شما مقایسه کند، بعد از آنکه هر دو را نرمال کرد.
نرمالسازی یک خطر دارد. متنی که واقعاً به روسی، یونانی یا هر زبان دیگری نوشته شده باید همان که هست بماند. نشانه، قاطی شدن الفباها داخل یک کلمه است، نه خود الفبا.
Targa این کار را در همهٔ طرحها انجام میدهد. حروف مشابه، ترفندهای نویسهٔ بدون پهنا و بازیهای فاصله را پیش از تطبیق به متن ساده برمیگرداند. لیست سیاه خود شما هم بعد از همین نرمالسازی اعمال میشود. عضوی که نام نمایشی یا عکس پروفایلش از یکی از مدیران شما کپی شده علامت میخورد و نامهای کاربری به شکل «@Brand_Official_Support» هم بررسی میشوند. اعضا هر بار که نام، بیوگرافی یا عکسشان عوض شود دوباره بررسی میشوند. هر اقدام دلیلی دارد که میتوانید با /why بخوانید.
کاری که از آن برنمیآید: دنبال جاعل تا چت خصوصی رفتن. نام کپیشده تا وقتی گرفته میشود که حساب در گروه شماست. برای تنظیماتی که بقیه را پوشش میدهند راهنمای جلوگیری از رباتهای اسپم را ببینید، یا بخوانید Targa چطور کار میکند.
پرسشهای رایج
حروف مشابه چیست؟
نویسههایی از یک الفبا یا مجموعهٔ نماد دیگر که شبیه حروفی هستند که انتظارش را دارید. а، е، о، р و с سیریلیک درست مثل a، e، o، p و c لاتین نوشته میشوند. برای آدم همان کلمه است. برای فیلتر نیست.
چرا فیلتر کلمات من اسپم واضح را نمیگیرد؟
چون نویسهها را مقایسه میکند، نه شکلها را. اگر کلمهٔ airdrop را ممنوع کرده باشید و اسپمر آن را با а سیریلیک، یک نویسهٔ بدون پهنا یا یک نقطه میان حروف بنویسد، فیلتر با کلمهای روبهروست که هیچوقت ندیده است.
آیا نام کاربری تلگرام میتواند حرف سیریلیک داشته باشد؟
نه. نام کاربری تلگرام فقط a-z، 0-9 و زیرخط میپذیرد. نسخهٔ کپی یک نام کاربری با همان چیزهایی ساخته میشود که باقی مانده: صفر به جای o، عدد 1 به جای l، rn به جای m، یک زیرخط اضافه یا یک کلمهٔ اضافه. نام نمایشی چنین محدودیتی ندارد.
یک کلمهٔ مشکوک را چطور دستی بررسی کنم؟
آن را در یک ویرایشگر متن ساده کپی کنید، کلمهٔ واقعی را خودتان تایپ کنید و همان تایپشدهٔ خودتان را جستجو کنید. اگر جستجو کلمهٔ کپیشده را پیدا نکرد، دستکم یک نویسه فرق دارد. با کلید جهتنما هم که روی کلمه حرکت کنید، نویسههای نامرئی پیدا میشوند.
آیا متنی که چند خط را با هم دارد همیشه اسپم است؟
نه. کسانی که به دو زبان مینویسند مدام الفباها را کنار هم میآورند، اما میان کلمهها. نشانهٔ خطر دو الفبا داخل یک کلمه است، بهخصوص در نام یک برند، نام یک کوین یا کلمهٔ support.
ببینید کلاهبردار در گروه شما چه میبیند
بررسی رایگان گروه نشانههای عمومی یک گروه را میخواند و نشان میدهد کجا آسیبپذیر است. نیازی به حساب نیست.