طبیعتا در جدول بالا، باید برخی از ویژگیها حذف شوند. برای مثال ، ویژگی IP برای مرحله خوشهبندی باید حذف شود زیرا معنا و مفهومی خاصی برای خوشهبندی ندارد. پیشپردازش دادهها از دیدگاه رکورد و ستون ، از اهمیت بسزایی برخوردار است. به گونهای که کارایی الگوریتم هوشمند ، تاثیر مستقیمی برکیفیت دادهها دارد.
قبل از انجام الگوریتم انتخاب ویژگیها ، فیلتر اولیهای بر اساس نظر شخص خبره اعمال میشود. برای این منظور ، تنها پروتکلهای TCP و UDP را نگه داشته و مابقی را حذف مینماییم. همچنین هاستهایی که فقط حجم ارسالی و یا دریافتی داشتهاند را نیز حذف میکنیم. در پایان نیز، هاستهایی که حجم ارسالی و دریافتی آنها بر حسب بایت، از مقدار پیش فرض (۱۵۰۰ بایت) کمتر باشد، آنها نیز حذف میشوند.
حال، دادهها از دیدگاه رکورد آماده میباشند و پیشپردازش بر روی رکوردها تمام شده است. باید ستونهای جدول نیز تعیین شوند. برای این منظور از روشهای انتخاب ویژگی استفاده میشود.
۳-۲-۴- انتخاب ویژگیها
انتخاب ویژگیهای مناسب، تاثیربسزایی در کارایی الگوریتمهای هوش مصنوعی دارد. روشهای مختلفی تاکنون برای انتخاب ویژگیهای معرفی شدهاست. در این پایاننامه نیز جهت انتخاب ویژگیها، از روش Relief algorithm [2] استفاده شد. در نهایت متغیرهای نهایی زیر انتخاب شدند:
MeanByteReceive, MeanByteSend , TotalByteReceive, TotalByteSend , TotalReceivePacket, TotalSendPacket
حال، دادهها آماده برای بخش خوشهبندی میباشد.
۳-۲-۵- خوشهبندی
امروزه دستهه ای متنوعی از روشهای خوشهبندی نظیر سلسلهمراتبی، گراف، فازی وغیره پیشنهاد شدهاست. در انتخاب روش خوشهبندی، باید چند نکته لحاظ شود:
۱) سرعت بالا.
۲) سادگی.
۳) قدرت بالا در مدلسازی دادهها.
در بین روشهای مطرح الگوریتم K-Means از محبوبیت ویژهای به دلیل هزینه زمانی و سادگی برخوردار است. اما این روش، در مدلسازی دادههای با رفتار ویژه (مخصوصا نامتوازن) ناکارا میباشد[۳]. در این کار، از روش خوشهبندی مبتنی بر روش K-Means و فاصله مینکوفسکی[۷۸] استفاده شدهاست[۴] که به عقیده نگارنده، در مدلسازی دادههای حوزه امنیت مناسب است.
بعد از این مرحله، خوشهبندی انجام شده و میتوان با تحلیل بر روی خوشهها، سالم بودن و یا مخرب بودن آنها را تشخیص داد.
۳-۲-۶- تشخیص هاست جدید.
با ورود هاست جدید و انجام تبادل داده، بعد از گذشت چند ارتباط ، باید اطلاعات آماری ارتباط، استخراج شود . سپس هاست جدید با توجه به اطلاعات استخراج شده ، اقدام به تعیین نزدیکترین خوشه میکنیم. به دلیل ماهیت روش خوشهبندی انتخابی در مرحله قبل (مبتنی بر مرکز) میتوان ویژگیهای هاست جدید را با مراکز خوشهها مقایسه نمود. با توجه به خوشه انتخابی، میتوان رفتار هاست جدید را تشخیص داد. جهت افزایش دقت، میتوان به صورت متوالی اطلاعات آماری ارتباط ، بروز شده و مجددا تعیین خوشه انجام شود.
۳-۳- پیادهسازی و شبه کد روش پیشنهادی
جهت پیادهسازی، روش پیشنهادی به دو بخش مجزا تقسیم شد. بخش خواندن فایل PCAP و تفسیر آن، بخش دادهکاوی شامل فیلتر اولیه، انتخاب ویژگیها و خوشهبندی. جهت پیادهسازی بخش اول ، از زبان برنامهنویسی C# استفاده شد. دلیل این انتخاب، قدرت و سرعت این زبان در خواندن فایلهای حجیم میباشد. خروجی این ماژول ، فایل اکسل حاوی اطلاعات آماری تمامی هاستها میباشد. پیادهسازی بخش دوم نیز توسط Matlab انجام شدهاست. در شکل ۳-۴، نمایی از چارچوب پیادهسازی مشاهده میشود.
شکل ۳-۴: چارچوب پیادهسازی
در شکل ۳-۵، شبه کد روش پیشنهادی مشاهده میشود.
Void main()
{
Cluster CL[ ];
Data=LoadData;// From ISOT dataset in a PCAP format
StructData=TranslateData(Data); // Writing in C#
D1=Filter(StructData);
FinalData=FeatureSelection(D1);
CL=Clustering(FinalData);
Evaluate(CL);
}
۳-۵: شبکه کد روش پیشنهادی
در این فصل، به بیان جزئیات روش پیشنهادی در تشخیص خودکار باتنتها پرداختهشد. جهت شناسایی خودکار باتنتها از روش خوشهبندی بر پایه روش محبوب K-Means استفاده شد. این روش میتواند به عنوان یک ابزار کمکی و قدرتمند در اختیار مفسر انسانی قرار گرفته و سبب افزایش کارایی در کنترل بستههای شبکه گردد. همانطور که گفتهشد ، ابتدا پیشپردازش دادهها در راستای رکوردها انجام شده و سپس ویژگیهای مورد نظر استخراج میشوند. روش نوین وکارای مبتنی بر K-Means که مخصوص دادههای نامتقارن میباشد ، انتخاب و جهت خوشهبندی استفاده شد. با پیادهسازی چنین سیستمی میتوان بات نتهای مهاجم را بعد از گذشت اندک زمانی از ارتباط شناسایی نموده و از تبادل دادهها جلوگیری نمود.
فصل چهارم
پیاده سازی
ارزیابی روش پیشنهادی
همانطور که در فصل قبل بحث شد، در روش پیشنهادی هدف بر آن است با با کمک اطلاعات جمع آوری شده از تبادلات تحت شبکه ، اقدام به شناسایی و خوشهبندی هاستهای سالم و بات نمود . حال میتوانیم با ورود یک هاست جدید ، آن را ارزیابی نموده و به نزدیکترین خوشه انتساب داد. از آنجایی که روش پیشنهادی مبتنی بر روشهای مبتنی بر مرکز هستند ، یافتن نزدیکترین خوشه ، تنها نیازمند مقایسه هاست ورودی با مراکز ثقل خوشهها دارد. در انتخاب روش خوشهبندی تلاش بر آن بوده است تا ضمن انتخاب روشی ساده ، معیارهای کارایی و نیز زمان اجرا ، لحاظ شود. برای همین منظور از توسعه روشی جدید مبتنی بر
K-Means استفاده شدهاست.
در روش خوشهبندی انتخابی ، مانند روش پایه ، از مرکز خوشهها و شباهت بین رکوردها استفاده میشود. طبق ادعای نویسنده، روش پیشنهادی در برخورد با دادههای نامتوازن نیز میتواند موفق عمل نماید.
در این فصل به بیان نتایج روش پیشنهادی ، مقایسه با روش خوشهبندی پایه و سپس محاسبه معیارهای پایه پرداخته میشود .
۴-۱- معماری چارچوب ارزیابی
تمامی مراحل ارزیابی و اجرا ، بر روی سیستمی با مشخصات زیر پیادهسازی شد. در انتخاب سیستم تست باید از انتخاب سیستم با قدرت پردازشی و قدرت ذخیرهسازی ممتاز جلوگیری نمود تا قابلیت مقیاسپذیری سیستم مشخص شود. علاوه بر مشخص نمودن ویژگیهای سختافزاری ، باید ویژگیهای نرمافزارها نیز مشخص شوند. در مقایسه روشها ، از مشغول پردازنده به سایر وظایف ، پرهیز نموده و تلاش بر آن بودهاست تا حداکثر توان پردازنده در اختیار برنامه اجرایی قرار گیرد .
پردازنده: ۲ هستهای ۲ گیگا هرتز.
حافظه اصلی: ۲ گیگا بایت.