بخشی از مقاله
چکیده - در این مقاله یک سیستم تشخیص وب سایتهای فیشینگ مبتنی بر یک الگوریتم فرا ابتکاری ارائه میگردد. این سیستم از دو بخش انتخاب ویژگی و مکانیزم تشخیص فیشینگ تشکیل میشود. در بخش انتخاب ویژگی از یک مجموعه داده مرجع استفاده میشود که شامل 11056 نمونه وبسایت قانونی و جعلی میباشد. با استفاده از الگوریتم wrapper یک زیرمجموعه از ویژگیهای مهم موجود در مجموعه داده انتخابشده و بهعنوان ورودی به سیستم تشخیص فیشینگ داده میشود.
در مکانیزم تشخیص فیشینگ از الگوریتم ژنتیک مبتنی بر رگرسیون غیرخطی برای تشخیص وبسایتهای جعلی استفاده میشود. در بخش تشخیص، 70 درصد دیتاست برای آموزش و 30 درصد آن برای تست در نظر گرفته میشود. الگوریتم wrapper در این مقاله با دقت 96/32 درصد توانست ویژگیهای مهم را از مجموعه داده جدا سازد. تعداد 20 ویژگی از 31 ویژگی موجود در مجموعه داده انتخاب شده و با توجه به نتایج آزمایشها، الگوریتم ژنتیک پیشنهادشده با استفاده از این ویژگیها میتواند با دقت تست 88,6567 درصد وبسایتهای جعلی را تشخیص دهد.
-1 مقدمه
همین دلیل روشهای مقابله با فیشینگ بهصورت عمده به آنالیز وب سایتها میپردازند.[7] با توجه به گستردگی و پیچیدگی فیشینگ و توجه به این موضوع که روزبهروز به روشها و مکانیزمهای این حملات اضافه میشود، پیدا کردن راهحل برای تشخیص تمام وبسایتهای فیشینگ کاری مشکل و دشوار است. بهطورکلی این روشها را میتوان به دو دسته تقسیم کرد: روشهای هوشمندانه و روشهای سنتی. الگوریتمهای هوشمندانه از پدیدههای طبیعی الهام گرفتهاند و توانایی تصمیمگیری دارند.[8] بهعنوانمثال بعضی از این الگوریتمها مانند کلونی مورچهها - ACO - ، مهاجرت پرندگان - PSO - ، ژنتیک - GA - ، جستجوی هارمونی - - HS و ... هرکدام بهنوعی از یک پدیده طبیعی نشأت گرفتهاند و اگر بهدرستی آموزش ببینند میتوانند بهراحتی تصمیمگیری کنند.
در مقابل الگوریتمهای سنتی به کلاسبندی و آموزش احتیاج ندارند.[9] مزیت دیگر الگوریتمهای سنتی، ساده بودن آنها میباشد. علاوه بر این زمان اجرای کمتری هم دارند زیرا به آموزش نیازی ندارند. روشهایی که در این دسته قرار میگیرند شامل روشهای بر اساس قانون، لیست سفید، لیست سیاه، لیست مخلوط و لیست سیاه توسعه یافته است. مرورگرهای امروزی نظیر IE، فایرفاکس یا نوارابزار Netcraft دارای لیست سیاهی هستند که آدرس موردنظر کاربر را با آدرسهای موجود در لیست سیاه خود مقایسه میکنند و اگر یکسان بود وبسایت را فیلتر میکنند تا کاربران در دام فیشرها اسیر نشوند.
این روش علیرغم اینکه وبسایتهای جعلی که در لیست سیاه وجود دارند را به خوبی تشخیص میدهد، اما بسیاری از فیشرها میتوانند با یک آدرس تقلبی از سد لیست سیاه عبور کنند که این باعث میشود تا بسیاری از وبسایتهای تقلبی، قانونی جلوه دهند. استفاده از این روش به تنهایی دارای ریسک زیادی است.[10] در[11] با استفاده از روش انتخاب ویژگی ترکیبی ایمیلهای فیشینگ را شناسایی میکند و این کار را با استفاده از 7 ویژگی انجام میدهد و مشخص میکند که وبسایت جعلی است یا قانونی و با انتخاب ویژگی ترکیبی دقت را تا 93 درصد نسبت به دیگر مراجع بهبود میبخشد. مولفین مرجع[12]، ابتدا به صورت تلفنی و با استفاده از پیام سعی کردند نظر کاربران را جلب کنند تا اطلاعات محرمانهی بانکی آنها را استخراج کنند.
در طی این آزمایش آنها 50 نفر را مورد بررسی قرار دادند که از این 50 نفر 16 نفر کل اطلاعات بانکی خود را در اختیار محققان قرار دادند و 8 نفر، فقط نام کاربری خود را افشا کردند و 26 نفر از دادن اطلاعات حساب بانکی خود امتناع ورزیدند. سپس یک وبسایت طراحی گردید که وبسایت جعلی بانک Ahli میباشد و از کاربران خواسته میشد تا اطلاعات حساب بانکی خود را در سایت وارد کنند که با توجه به جدول - 1 - مشاهده میشود که 44 درصد از کاربران توانایی تشخیص وبسایت اصلی از وبسایت جعلی را ندارند.
با توجه به تحقیقات انجامشده در مرجع[12]، 27 ویژگی مختلف از وبسایتهای قانونی و جعلی استخراج شدهاند. سپس هریک از این ویژگیها به شکل فازی تبدیل میگردد که دارای سه بازهی "قانونی، اصلی و مشکوک" میباشد. برای ارزیابی ویژگیهای انتخابشده محققان از تکنیکهای مختلف دادهکاوی استفاده کردهاند که شامل: JRip، PRISM، CBA، MCAR، P.A.R.T، C4.5 میباشند. در آزمایشهای انجامشده نشان داده شده است که ارتباط نزدیکی بین ویژگیهای دامنه و URL با امنیت و رمزنگاری برقرار است و در بین الگوریتمهای آزمایش شده،MCAR با دقت 88/4 درصد و با نرخ خطای 12/622 درصد بهتر از دیگر الگوریتمها در تشخیص فیشینگ بوده است.
در این تحقیق تلاش بر آن است که مکانیزمی برای تشخیص وبسایتهای جعلی ارائه شود تا حریم خصوصی کاربران محافظت گردد و این اطمینان به بانکها، مؤسسات و کاربران داده شود که بتوانند از امکانات اینترنت بهراحتی استفاده کنند؛ بدون اینکه خطری آنها را تهدید کند. در این مقاله با استفاده از روش انتخاب ویژگی Wrapper ویژگیهای مهم از دیتاست استخراج میشوند و سپس با استفاده از الگوریتم ژنتیک پیشنهاد شده، وبسایتهای جعلی شناسایی میشوند. ادامه مقاله به شکل زیر سازماندهی شده است. در بخش دوم اطلاعات مربوط به مجموعه داده بیان میشود. در بخش سوم الگوریتم انتخاب ویژگی معرفی میگردد و در بخش چهارم مدل ارائهشده مورد بحث قرار میگیرد. در بخش پنجم به بررسی نتایج شبیهسازی و دربخش ششم به جمعبندی و نتیجه گیری پرداخته میشود.
-2 مجموعه داده
در این تحقیق از یک دیتاست که از سایت مرجع UCI دانلود شده است استفاده میشود.[13] این دیتاست دارای 30 ویژگی - ستون - و 11055 نمونه - سطر - میباشد. ستون آخر این دیتاست مربوط به کلاس هر نمونه میباشد که شامل دو کلاس -1 و +1 میشود. کلاس -1 بیانگر وبسایت جعلی و کلاس +1 بیانگر وبسایت قانونی میباشد. جزئیات بیشتر این دیتاست در جدول زیر نشان داده شده است.
مفهوم راهحلهای ترکیبی را دارد، درحالیکه انتخابهای موفقیتآمیز ویژگی قبلی را حفظ میکند. بهعبارتدیگر این روش، یک روش بازخورد میباشد که از الگوریتم یادگیری ماشین در فرآیند انتخاب ویژگی استفاده میکند. ارزیابی زیرمجموعهها در این روش بهوسیلهی اجرای الگوریتم طبقهبندی در طول فازهای یادگیری و تست در هر انتخاب ویژگی، انجام میشود. در این تحقیق از درخت تصمیم برای این کار استفاده شده است.[15]
-3 انتخاب ویژگی
در این مقاله از الگوریتم wrapper برای انتخاب ویژگیهای مهم و حذف ویژگیهای اضافی استفاده میشود. این روش بهعنوان یک روش حلقه بسته شناخته میشود که با استفاده از الگوریتمهای یادگیری و کلاسبندی، زیرمجموعهی ویژگیها را مورد ارزیابی قرار میدهد.[14] همانطور که در شکل - - 1 نشان داده شده است، در روش استفادهشده در این تحقیق، از الگوریتم ژنتیک بهعنوان یک جستجوگر و از درخت تصمیم برای ارزیابی زیرمجموعهها استفاده میشود. دلیل استفاده از الگوریتم ژنتیک این است که این الگوریتم میتواند یک جستجوی تصادفی را انجام دهد و مستعد گیر افتادن در مینیمم محلی نمیباشد.
درهرصورت عملگر بازترکیبی استفادهشده در این الگوریتم، با توجه به شکل - 1 - ، در ابتدا دیتاست به 10 قسمت مساوی تقسیم میشود که با استفاده از الگوریتم ژنتیک 9 قسمت برای آموزش و 1 قسمت برای تست در نظر گرفته میشود. انتخاب این ویژگیها در ابتدا بهصورت تصادفی میباشد. در هر مرحله الگوریتم ژنتیک با استفاده از تکنیکهای جهش و وراثت، جمعیت - زیرمجموعه ویژگیها - را بهبود میبخشد. میزان خوب بودن زیرمجموعهها در هر مرحله توسط درخت تصمیم اندازهگیری میشود. درواقع، درخت تصمیم در هر مرحله ابتدا توسط دادههای آموزش، عمل یادگیری را انجام میدهد و سپس با استفاده از دادههای تست، میزان دقت الگوریتم در تشخیص کلاسها اندازهگیری میشود.