هرزنامه (E-mail spam) چیست و چگونه با آن مقابله کنیم؟
هرزنامه یا اسپم (E-mail spam) به معنای سو استفاده از سرویسهای انتقال پیام است و ارسال گروهی پیامهای ناخواسته و بیمورد برای کاربران است.
اصلیترین شکل شناخته شده هرزنامه، پست الکترونیک است، حال آنکه هرزنامه میتواند از طریق پیامهای کوتاه موبایل یا حتی بهصورت درونشبکهای در سازمانهای بزرگ نیز ارسال شود.
بهطورکلی هرزنامه در ارتباط با هرزنامه گروههای خبری، هرزنامه موتورهای جستجو وب، هرزنامه در بلاگها، هرزنامه در ویکی، هرزنامه در تبلیغات طبقهبندی شده آنلاین، هرزنامه در پیامهای گوشیهای همراه، هرزنامه در انجمنهای اینترنتی، فکسهای ناخواسته، هرزنامه در شبکههای اجتماعی و هرزنامه در شبکههای اشتراک فایل هم دیده میشود.
فرستادن هرزنامه هنوز هم به دلیل صرفه اقتصادی انجام میشود، زیرا تبلیغکنندگان هیچ هزینهای صرف مدیریت فهرست ایمیلهایشان نمیکنند و این، کار را برای مسئول دانستن فرستندگان ایمیل سخت میکند. آمارها نشان میدهند 80 درصد ایمیلهای ارسالی در جهان هرزنامه هستند.
روشهای مختلفی برای این منظور وجود دارد که از مهمترین آنها به موارد زیر باید اشاره کرد:
یادگیری ماشین مبتنی بر بیز ساده (Naïve Bayes)
الگوریتمهای یادگیری ماشین از مدلهای آماری برای طبقهبندی دادهها استفاده میکنند. در صورت شناسایی هرزنامه، یک مدل یادگیری ماشین باید تشخیص دهد که آیا ترتیب کلمات موجود در ایمیل با کلمات موجود در نمونه ایمیلهای هرزنامه شباهت دارد یا هیچگونه ارتباطی در میان نیست. امروزه الگوریتمهای مختلف یادگیری ماشین میتوانند هرزنامه نامهها را تشخیص دهند، اما الگوریتم بیز ساده یکی از قدرتمندترین گزینهها در این زمینه است. همانگونه که از نام این الگوریتم مشخص است، بیز ساده مبتنی بر قضیه بیز (Bayes’ theorem) است که احتمال وقوع یک رویداد را بر اساس دانش قبلی توصیف میکند.
بررسی واژهها: مثبت کاذب (False Positives)
همه دوست داریم که سیستم تشخیص هرزنامه بهدرستی کار کند و به همین دلیل توازن میان ایمیلهایی که بهدرستی بهعنوان هرزنامه شناخته میشوند، در مقایسه با ایمیلهایی که بهاشتباه بهعنوان هرزنامه انتخاب میشوند، بسیار حیاتی و مهم است.
برخی از سیستمها به کاربران این اجازه را میدهند که در ساختار سیستم تشخیص هرزنامه دست ببرند و تنظیمات آن را تغییر بدهند. اما آنچه که مهم است آن است که در هر حالتی، این روشها دارای خطاها و مشکلات خاص خود هستند.
بهعنوانمثال، یک سیستم تشخیص هرزنامه ممکن است که در تشخیص تعداد زیادی از ایمیلهای هرزنامه دچار مشکل شود و درعینحال بسیاری از ایمیلهای مهم کاربر را بهصورت اشتباه بهعنوان هرزنامه تشخیص دهد.
تشخیص هرزنامه بر اساس واژه کلیدی و بررسی آماری رایانامه دو روش محبوباند؛ هر چند که دارای مشکلات خودش است.
در روش اول واژه کلیدی، سیستم بر اساس کلمات خاصی مانند خبر جعلی یک ایمیل را بهعنوان هرزنامه تشخیص میدهد. بهعنوانمثال اگر زمانی در داخل متن رایانامه، واژه خبر جعلی وجود داشته باشد، این سیستم بهصورت خودکار آن ایمیل را بهعنوان هرزنامه اعلام میکند.
مشکل این سیستم آن است که اگر زمانی دوست شما ایمیلی برای شما ارسال کند، آن ایمیل بدون آن که متوجه آن شوید، بهعنوان هرزنامه برچسب میخورد.
روش دوم که دارای دقت بیشتری نسبت به روش اول است، ایمیلی بهصورت آماری (بر اساس محتوا و غیر از محتوا) مورد بررسی قرار میگیرد بهگونهای که وضعیت آماری نسبت به محتوا و واژه کلیدی مسدود شده مورد سنجش قرار میگیرد.
به همین دلیل اگر زمانی دوست شما ایمیلی به شما ارسال کرد که حاوی واژه فوق باشد، آن ایمیلی را بدون مشکل دریافت خواهید کرد.
دادهها
شناسایی هرزنامه یکی از بزرگترین چالشهای پیشروی یادگیری ماشین مبتنی بر نظارت است. به بیان دیگر، شما باید مدل یادگیری ماشین خود را با مجموعهای از نمونه پیامهای هرزنامه و هامها آموزش دهید و به مدل اجازه دهید تا الگوهای مربوطه که این دو گروه مختلف را جدا میکنند، پیدا کند.
بیشتر ارائهدهندگان خدمات ایمیلی مجموعهدادههای غنی از ایمیلهای برچسبگذاری شده دارند. به طور مثال، هر بار که ایمیلی را بهعنوان هرزنامه در حساب ایمیلی خود مثل جیمیل نشانهگذاری میکنید، دادههای آموزشی را برای الگوریتمهای یادگیری ماشین گوگل ارسال میکنید.
البته توجه داشته باشید که الگوریتم شناسایی هرزنامه گوگل بسیار پیچیدهتر از آن چیزی است که در این مقاله در مورد آن بحث میکنیم. به طور مثال، گوگل مکانیسمهایی برای جلوگیری از سوءاستفاده از ویژگی گزارش هرزنامه (Report Spam) در اختیار دارد.
برخی از مجموعههای دادهای منبعباز نظیر مجموعهدادههای spambase متعلق به دانشگاه کالیفرنیا، ایروین و مجموعهدادههای هرزنامهای انرون نیز به شکل عمومی در اختیار شرکتها قرار دارند. بااینحال، مجموعهدادهها برای اهداف آموزشی و آزمایشی ارائه شدهاند و در زمینه ساخت مدلهای یادگیری ماشین در سطح تجاری کاربرد چندانی ندارند.
شرکتهایی که سرورهای ایمیل سازمانی را میزبانی میکنند این قابلیت را در اختیار دارند تا مدلهای یادگیری ماشین خود را متناسب با مجموعهدادههای تخصصی که در اختیار دارند آموزش دهند تا بتوانند مانع دریافت هرزنامهها در صندوقهای ایمیل سازمانی شوند.
بااینحال، دقت کنید که مجموعهدادههای سازمانی با یکدیگر یکسان نیستند. به طور مثال، مجموعهدادههای موسسهای که خدمات مالی ارائه میدهد با شرکتی فعال در زمینه ساختوساز متفاوت است.
شناسایی از طریق پردازش زبان طبیعی
اگرچه پردازش زبان طبیعی در سالهای اخیر پیشرفتهای هیجانانگیز زیادی داشته، اما الگوریتمهای هوش مصنوعی هنوز زبان انسانها را بهدرستی درک نمیکنند؛ بنابراین، یکی از مراحل کلیدی ساخت مدل یادگیری ماشین ردیاب هرزنامه، آمادهسازی دادهها برای پردازش آماری است. قبل از آموزش طبقهبندی مدل مبتنی بر بیز ساده، مجموعه نامههای هرزنامه و هام باید طی مراحل خاصی در اختیار مدل قرار بگیرد. به طور مثال، یک مجموعهداده که شامل جملات زیر است را در نظر بگیرید.
- استیو میخواهد برای مهمانی ساندویچ پنیر کبابی بخرد.
- سالی مقداری مرغ را برای شام کباب میکند
- مقداری پنیر خامهای برای کیک خریدم
دادههای متنی باید قبل از اینکه در اختیار الگوریتمهای یادگیری ماشین قرار بگیرند نشانهگذاری (برچسبگذاری) شوند. این کار باید در زمان آموزش مدل و زمانی که قرار است دادههای جدیدی را برای ارائه پیشبینیها دریافت کند انجام شود.
در حقیقت، نشانهگذاری به معنای تقسیم دادههای متنی به بخشهای کوچکتر است. اگر مجموعهدادههای فوق را به کلمات منفرد تقسیم کنید که در اصطلاح تخصصی به آن یونیگرام (unigram) میگویند، واژگان زیر را خواهید داشت. توجه داشته باشید که من هر کلمه را فقط یکبار وارد کردهام.
استیو، میخواهد، بخرد، پنیر، ساندویچ، کبابی، برای، مهمانی، سالی، کباب میکند، برخی، مرغ، شام، من، خامه، کیک خریداری کردم.
ما میتوانیم کلماتی را که در نامههای اسپم و در ایمیل وجود دارند، حذف کنیم تا روند تشخیص سادهتر شود. بااینحال، این تکنیک بهتنهایی راهگشا نیست. این واژگان، کلمات متوقفکننده (stop words) نامیده میشوند.
علاوه بر این واژگان عمومی دیگری نظیر for، is، to، and و موارد اینچنینی نیز وجود دارند. در مجموعهدادههای بالا، حذف کلمات توقف باعث کاهش دایره واژگانی میشود که باید روی آنها متمرکز شویم.
علاوه بر این، میتوانیم از تکنیکهای دیگری مانند بنواژهسازی (lemmatization) و ریشهیابی (stemming) استفاده کنیم تا کلمات به شکل پایه تبدیل شوند.
به طور مثال، در مجموعهدادههای نمونه ما، خرید (buy) و خریداری (bought) دارای ریشهای مشترک هستند، به همین شکل کباب و کبابکردن نیز چنین هستند. واژهسازی و ریشهیابی میتوانند به سادهسازی بیشتر مدلهای یادگیری ماشین کمک کنند.
در برخی موارد، از دوکلمه قبلی (bigrams) که نشانههای دو – کلمهای هستند، سه کلمه قبلی (trigrams) که نشانههای سه کلمهای هستند یا ان – گرامهای بزرگ استفاده میشود.
به طور مثال، علامتگذاری مجموعهدادههای فوق بهصورت دو کلمهای اصطلاحاتی مانند “کیک پنیری” تولید میکند و با استفاده از تکنیک سه کلمهای “ساندویچ پنیر کبابی” را تولید میکند.
کمکردن هرزنامهها
پخش ایمیل خود تنها در بین گروههای محدودی که میشناسید یکی از راههای محدودکردن اسپمها است. این روال بر اساس صلاح دید تمام اعضای گروه است. چرا که آشکارکردن آدرس ایمیل در خارج از گروه، اعتماد داخل گروه را از بین میبرد؛ بنابراین باید ارسالکردن دوباره ایمیلهای دریافتی به کسانی که نمیشناسید نباید حتیالامکان صورت گیرد.
اگر گاهی اوقات هم ضروری باشد به کسی که نمیشناسید ایمیل ارسال کنید، یک کار خوب این است که لیست تمامی این آدرسها را بهجای to بعد از bcc بیاورید.
پیشگیری از پاسخ به اسپمها
کسانی که اسپم میفرستند غالباً به پاسخهایی که برایشان ارسال میشود توجه میکنند. حتی اگر آن پیامی باشد که در آن گفته شود لطفاً برای من ایمیل ارسال نکنید. بهعلاوه بسیاری از پیامهای اسپم حاوی لینکها و آدرسهایی است که کاربر خودش تصمیم میگیرد آن آدرس را از لیست اسپمها خارج کند.
در برخی از موارد حملهکنندههای اسپم این لینکها را امتحان میکنند که حاوی اطلاعاتی باشند که امکان حذف آن توسط کاربر کم شود. درخواست شکایت ممکن است باعث اصلاح لیست آدرسها شود.
کاهش شکایتها منجر به این میشود که ارسالکننده اسپم بتواند قبل از نیاز به بهدستآوردن حسابهای کاربری جدید و فراهمکنندگان خدمات اینترنت، فعال باقی بماند. آدرسهای ارسالکننده در پیامهای اسپم اغلب جعل میشوند.
بهعنوانمثال از آدرس دریافتکننده بهعنوان آدرس جعلی ارسالکننده استفاده میشود؛ بنابراین پاسخ به اسپم ممکن است منجر به عدم دریافت شود یا به کاربرانی بیگناه که آدرسهای آنها مورد سوءاستفاده قرار گرفته، برسد.
عدم اشتراکگذاری سراسری
اشتراکگذاری یک آدرس ایمیل تنها در میان یک گروه محدود از مکاتبهکنندگان یک راه برای محدودکردن شانس این خواهد بود که آدرس بهصورت هدفمند توسط هرزنامه برداشته شود.
به طور مشابه، هنگام ارسال پیام به تعدادی از دریافتکنندگان که یکدیگر را نمیشناسند، آدرس گیرنده را میتوان در “bcc: field” قرارداد بهطوریکه هر دریافتکننده یک لیست از آدرسهای ایمیل دریافتکنندگان دیگر را دریافت نکند.
Address munging
آدرس ایمیل ارسال شده در صفحههای وب، دانلود مستقیم اتاقهای گفتگو در برابر برداشت آدرس ایمیل آسیبپذیرند. آدرس munging عمل پنهان است که یک آدرس ایمیل برای جلوگیری از جمعآوری خودکار در این راه انجام داده است. اما هنوز هم به خواننده اجازه میدهد آن را بخواند و منبع آن را بداند.
یک آدرس ایمیل مثل “no-one at example.com” ممکن است بهصورت “no-one at example dot com” نوشته شده باشد. بهعنوانمثال یکی از تکنیکهای مرتبط برای نمایش تمام یا بخشی از آدرس ایمیل بهعنوان یک تصویر، یا بهصورت متن مخلوط با کاراکترهای سفارشی ذخیره گردد.
عدم پاسخگویی به اسپم
رعایت این نکته که به اسپمها پاسخ داده نشود، بسیار حائز اهمیت است. زیرا بهعنوان یک نمونه رایج، اسپمها میتوانند بهسادگی باتوجهبه پاسخ بفهمند که آدرس ایمیل معتبر است.
به طور مشابه، بسیاری از پیامهای اسپم حاوی لینکهای وب یا آدرسهایی است که کاربر دستور به حذف آن از فهرست اسپمها داده است و این کار میتواند خطرناک باشد.
درهرصورت، آدرسهای فرستنده اغلب در پیامهای اسپم جعلی هستند؛ بنابراین در پاسخ به اسپم ممکن است تحویل ناموفق باشد یا ممکن است به شخص ثالث کاملاً بیگناهی برسد.
غیرفعالکردن html در ایمیل
بسیاری از برنامههای پست الکترونیکی مدرن دارای قابلیتهای مرورگر وب، مانند نمایش HTML، آدرسها و تصاویر هستند. جلوگیری یا غیرفعالکردن این ویژگی به جلوگیری از اسپمها کمکی نمیکند.
بااینحال ممکن است برای جلوگیری از برخی از مشکلها استفاده شود. اگر یک کاربر یک پیام هرزنامه را باز کند، تصاویر مهاجم که توسط جاوا اسکریپت یا حملههای آسیبپذیریهای امنیتی در اجرای html، باگهای وب را ردیابی میکند.
آدرسهای ایمیل یکبارمصرف
یک کاربر ایمیل ممکن است گاهی اوقات نیاز به دادن آدرس به یک سایت بدون اطمینان کامل به این که صاحب سایت برای کاربر هرزنامه ارسال نمیکند، داشته باشد.
یکی از راههای کاهش خطر ارائه یک آدرس ایمیل یکبار مصرف است. (آدرسی که کاربر میتواند پس از فرستادن ایمیل با اکانت واقعی آن را غیرفعال یا رها کند.) شماری از سرویسها ایمیلهای یکبار مصرف عرضه میکنند.
آدرسهایی که میتوان آن را بهصورت دستی غیرفعال کرد، میتوانند پس از یک فاصله زمانی معین منقضی شوند یا پس از فرستادن تعداد معینی پیام منقضی شوند.
رمزهای Ham
سیستمهایی که از پسورد Ham استفاده میکنند، میخواهند فرستنده ناشناس باشند و ایمیل دارای یک رمز است که نشان دهد که یک پیام Ham است و هرزنامه نیست.
به طور معمول آدرس ایمیل و رمز عبور ژامبون در یک صفحه وب شرح داده شده و رمز عبور Ham در خط موضوع پیام ایمیل یا اضافهکردن به «نام کاربری» بخشی از آدرس ایمیل با استفاده از روش اضافهکردن آدرس استفاده میشود.
فیلتر بر اساس بررسی
فیلتر بر اساس بررسی، سوءاستفاده از این واقعیت است که پیامها بهصورت تودهای ارسال میشوند و آنها یکسان و با تغییرهای کوچک خواهند بود. فیلتر بر اساس بررسی کامل از هر چیزی که ممکن است بین پیام متفاوت باشد صورت میگیرد.
کاهش مواردی که برای بررسی پایگاه دادهای که پیامها با ایمیل دریافتکنندگان جمعآوری شده و درنظرگرفتن آنها بهعنوان هرزنامه. برخی افراد یک دکمه در ایمیل دریافتکننده قرار میدهند تا بتواند با کلیک بر روی آن، پیام را بهعنوان هرزنامه معرفی کند.
اگر بررسی در پایگاهداده انجام شود پیام به احتمال زیاد هرزنامه است. مزیت استفاده از این نوع فیلتر این است که اجازه میدهد تا کاربران عادی در شناسایی هرزنامهها کمک کنند و تنها برای ادمینها نیست.
در نتیجه جلوگیری از هرزنامهها بسیار افزایش یافت. اشکال این روش این است که فرستنده هرزنامه میتواند هرزنامه بهصورت نامرئی و عجیب در بین هر یک از پیامها درج کند. (که به آن هش باستر میگویند.) در نتیجه هر پیام باید بهصورت منحصربهفرد بررسی شود.
فهرست غیرمجاز بر اساس DNS
از فهرست غیرمجاز بر اساس DNS یا DNSBLs برای اکتشاف یا مسدودکردن استفاده میشده است. یک سایت فهرستی (عموماً آدرس آی پی) را از طریق دیاناس منتشر میکند.
سرویسدهندههای ایمیل میتوانند در زمان این منابع را قبول یا رد کنند. امتیاز DNSBLs این است که میتواند سیاستهای مختلفی را اتخاذ کند. برخی از سایتهای شناخته شده هم هرزنامه نیز منتشر میکنند.
همچنین لیستی از پروکسیها و لیستی از آی اس پیهای شناختهای که هرزنامه منتشر میکنند. سیستمهای تولید فهرست غیرمجاز بر اساس DNS دامنه یا آدرسهای سایت را به دودسته خوب (سفید) و بد (سیاه) تقسیم میکنند از جمله: RHSBLs و URIBLs
فیلترینگ آدرس اینترنتی
بیشتر پیامهای اسپم یا فیشینگ حاوی یک یو ار ال اند که با کلیککردن بر روی آنها قربانیان را به خود جلب میکنند؛ بنابراین یک روش محبوب از اوایل سال ۲۰۰۰ شامل استخراج یو ار الها از پیامها و نگاه به آنها را در پایگاهداده مانند لیست دامنههای بلوک هرزنامهها SURBL, URIBL, (DBL)است.
اجرای دقیق استانداردهای RFC
تجزیهوتحلیل ایمیلهای سازمان با استاندارد آر اف سی برای پروتکل ساده انتقال ایمیل (SMTP) را میتوان برای قضاوت درباره احتمال هرزنامه بودن آن مورداستفاده قرارداد.
بسیاری از هرزنامه نویسان از ضعفهای نرمافزاری و عدم تطابق با استانداردها استفاده میکنند. چرا که آنها بهصورت قانونی کنترل نمیشوند و از آن کامپیوترها برای ارسال هرزنامه استفاده میکنند (کامپیوتر زامبی).
با تنظیم محدودیتهای بیشتری برای انحراف از استانداردهای انر اف سی که توسط ام تی سی پذیرفته شده، یک ادمین ایمیلی میتواند بهطور قابل توجهی هرزنامهها را کاهش دهد. اما همه این روشها نیز خطر نپذیرفتن ایمیل از سرورهای قدیمیتر یا دارای نرمافزار ضعیف و پیکربندی شده را دارند.