Smadi و همکارانش اعتقاد داشتند که بیشتر راه حل هایی که برای حملات فیشینگ ارائه شده است میزان مثبت کاذب بالا و میزان دقت یا accuracy پایینی دارند. بیشتر راه حلها از الگوریتم های داده کاوی برای استخراج ویژگی ها استفاده می کنند و بعضی از راه حل ها از لیستهای سفید و سیاه که چندان اثر ندارد چرا که طول عمر وب سایتهای فیشنگ کمتر از ۲٫۵ روز است.
یک سری از راه حل ها هم به صورت content base به همراه lexical URL می باشد. راه حلی که برای شناسایی حملات فیشینگ ارائه داده اند به صورت استخراج ویژگی ها از پستهای الکترونیکی بر اساس زبان برنامه نویسی JAVA می باشد.این پروسه شامل استخراج ویژگی ها در header و بدنه پست الکترونیکی است که ترکیب این دو کل ظاهر پست الکترونیکی را پوشش میدهد.
بخش اصلی کار آنها عبارت است از:
۱-انتخاب ویژگی ها در سیستم شناسایی
۲- به کار گرفتن یک متد برای پیش پردازش data set
۳- تعیین بهترین الگوریتم داده کاوی.
آنها پس از بررسی کارهای مشابه به این نتیجه رسیدند که بهترین کلاس بندی پستهای الکترونیکی بر اساس ویژگیهای ترکیبی است که از header و محتوا پست الکترونیکی با استفاده از تکنیک های داده کاوی استخراج می شود. و مشاهده کرده اند که تحقیقات قبلی از مثبت کاذب بالا و میزان پایین accuracy بهره می برند علاوه بر این تحقیقات انجام شده از data set مناسبی برخوردار نبوده و یا تعداد کمی از موارد نشان دهنده حملات فیشینگ را مورد تجزیه و تحلیل قرار داده اند.
پروسه داده کاوی آنها از ۷ فاز تشکیل شده است که عبارتند از:
۱-باید data set از اطلاعات نویز دار و مشکل دار پاک سازی شود که شامل پستهای الکترونیکی فیشینگ و سالم میباشد.
۲-جمع آوری اطلاعات از منابع مختلف است که با هم ترکیب شده اند و شامل ۴۵۵۹ پست الکترونیکی فیشینگ از منبع Nazarioو ۴۵۵۹ پست الکترونیکی از spam assassin project
۳- انتخاب داده، که مناسب بودن داده ها را برای آنالیز بررسی و این داده ها از طریق data set به دست می ایند.
۴-انتقال اطلاعات یا data transformation جایی که اطلاعات از فرمت eml به فرمت arff تبدیل میشوند که برای داده کاوی مناسب است و به وسیله آن می توان به استخراج دانش و ویژگیهای مورد نظر از data set پرداخت.
۵- داده کاوی :این قسمت بسیار ضروری می باشد به علت اینکه الگوی داده ها استخراج می شود و همین طورمی توان مدل شناسایی را دراین قسمت ایجاد کرد بسیاری از الگوریتمهای داده کاوی دراین قسمت ایجاد می شوند.
۶- ارزیابی الگو یا pattern evaluation که برای شناسایی الگوهای درست و نمایش دانش بر اساس داده های درست مورد استفاده قرار میگیرد.
۷- دراین قسمت که فاز پایانی است برای ارائه نتیجه به کار برده می شود به عبارت دیگر از تکنیکهای visualization برای ارائه نتیجه به کاربر مورد استفاده قرار میگیرد.
شکل زیر نمای کلی از طرح آنها را نمایش می دهد.
عمل پیش پردازش یا Preprocessing بسیار مرحله مهمی می باشد به دلیل اینکه استخراج داده از data set دراین مرحله اتفاق می افتد و برنامه JAVA می تواند با خواندن پستهای الکترونیکی از system file به صورت اتوماتیک داده را استخراج نماید.این عمل در ۳ فاز تقسیم میشود.
در فاز اول header پست الکترونیکی استخراج می شود تا چک شود domain پیام با domain فرستنده یکی است یا خیر؟ونتیجه آن به صورت یک فایل arrf ذخیره میشود تا به عنوان فایل ورودی الگوریتم کلاس بندی مورد استفاده قرار گیرد.بعد از آن برنامه قبل از آن که به فاز دو برود محتویات پست الکترونیکی را چک میکند تا ببیند به صورت text است یا html و یا ترکیبی از آن دو .
در فاز دوم چهار ویژگی از محتویات پست الکترونیکی استخراج می شود به این صورت که برنامه چک می کند که بدنه دارای فرم html است یا javascript popups و سپس تعداد تصاویری که به عنوان لینک قرار داده شده و تعداد تصاویری که به لینکها map شده است را می شمارد. تمامی این داده ها به صورت فایل arrf ذخیره می شوند و تمامیHyperlink ها در درون بدنه پست الکترونیکی قبل از آن که وارد فاز ۳ شوند استخراج میشود.
فاز ۳ بیان گر این است که ویژگی هایی که از Hyperlink استخراج می شود و در بدنه پست الکترونیکی قرار دارد بسیار مهم است چرا که مهاجم از آنها برای هدایت قربانی به سایت مخرب استفاده می کند
در قسمت بعد ویژگی های استفاده شده در پست های الکترونیکی تشریح خواهد شد.
منبع: