بخشی از مقاله

چکیده

در دنیای ارتباطات، تأمین امنیت شبکههای اطلاعاتی ازجمله نیازهای حیاتی این حوزه به شمار میآید. شناسایی ترافیک شبکه و مشخصسازی ابزارهای استفادهکننده از شبکه سازمان میتواند بهعنوان یک ابزار سودمند در راستای برآورده کردن این نیاز مورداستفاده قرار گیرد. در محیطهای جدید ارتباطی و با توجه به تغییر ترافیک ابزارها بهصورت مبهم و رمز شده، روشهای پیشین این حوزه - با استفاده از شماره درگاه و محتوا - کارایی خود را ازدست داده اند.

در این راستا ارائه روشهای مبتنی بر یادگیری ماشین و استفاده از ویژگیهای آماری جریانها، پیشرفتهای قابلملاحظهای در این حوزه ایجاد کرده است که کارایی هر چه بیشتر این دسته از روشها را تضمین میکند. بر همین اساس، در این پژوهش تلاش بر آن شده است تا با استفاده از یک راهکار طبقهبندی نیمهنظارتی این هدف محقق شود. پیادهسازی این سامانه بهگونهای میباشد که شناسایی ابزارهای موردنظر را بهصورت آنلاین و در مدتزمان کوتاهی به انجام میرساند.

برای تحقق این راهکار ابتدا بستر موردنیاز پیادهسازی شده و سپس با دریافت و پردازش ترافیک واقعی دریافت شده از شبکههای متفاوت برای یک نرمافزار خاص، سامانه آموزش دادهشده و تست میشود. با استفاده از مجموعه ترافیک دریافتی از سایر دانشگاهها میزان پاسخهای صحیح و مثبت غلط را به دست آورده که نمایانگر ثبات عملکرد سیستم در شرایط مختلف میباشد.

1.    مقدمه

در سالهای ابتدایی مطرحشدن موضوع شناسایی دادههای شبکه، با توجه به تعداد کم برنامههای کاربردی و همچنین استفاده کاربردها از یک درگاه 1 معین بهرهگیری از شماره درگاه، یکراه حل مناسب و سریع به شمار میآمده است. بهمرورزمان با رشد و توسعه کاربردهای همتا به همتا2 و عدم استفادهی این برنامهها از شماره درگاههای ثبتشده و یا اختصاص دادهشده خودشان، موجب آن شده که دیگر، روشهای مبتنی بر شماره درگاه قابلاستفاده نباشد. این کاربردها از شماره درگاههای پویا یا از شماره درگاههای ثابتی که به نام یک کاربرد دیگر بر پایه شماره درگاه ثبتشده است استفاده میکنند و بدین سبب دیگر نمیتوان تفکیک صحیح و بدون ابهام داشت.

استفاده از محتوای داخلی بستههای تبادلی راهحل دیگری است که در سالهای اخیر برای طبقهبندی دادههای شبکه ارائهشده است. این روشها نسبت به روشهای پیشین از دقت بالاتری برخوردار هستند و با درصد بالایی توانایی تفکیک برنامههای کاربردی شبکه را دارند. این ویژگیها موجب آن شده است که هنوز هم در بسیاری از صنایع از این دسته از روشها استفاده شود. در اینگونه روشها که مبتنی بر امضا و یا الگوهای مشترک هستند، ابتدا با استفاده از یک مجموعه داده آموزش امضاها و الگوهای مشترک مابین جریانهای شبکه استخراج و ذخیره میشوند، سپس در ادامه بر مبنای آنها سایر دادههای شبکه تحت بررسی و شناسایی قرار میگیرند.DPIمعمولاً3 در یکی از عناصر شبکه مانند روتر، سوئیچ و ... انجام میشود.

هرچند که میتوان یک سختافزار مستقل برای آن در نظر گرفت تا سرعت پردازش بیشتر شود. L7-filter یک ابزار تحت لینوکس است که میتواند دادههای بستهها را بر اساس لایه کاربرد تشخیص دهد. این ابزار میتواند بستههای ابزارها و پروتکلهای مختلف مانندHTTP ، FTP، Bittorrent، Jabber، VoIPو ... را شناسایی و دستهبندی نماید.Hippie یک ماژول تحت کرنل لینوکس است که هر دو قابلیت DPI و فایروالینگ را پوشش میدهد. SPID آمار ترافیکی کاربران را گزارش میکند و الگوریتمهای این ابزار میتواند برنامههای لایه کاربرد را تشخیص دهد و این کار را حتی در فایلهای pcap نیز میتواند انجام دهد. بهعنوانمثال خروجی یک IDS مانند Snort که به فرمت pcap ذخیرهشده است را میتوان بهعنوان ورودی به این ابزار داد تا تحلیل آماری انجام دهد.

.2 یادگیری ماشین در تشخیص ترافیک شبکه

الگوریتمهای یادگیری ماشین بهطور عمده به با نظارت1 و بدون نظارت2 تقسیم میشود. در روشهای با نظارت، سامانه طبقهبندی جریانها با استفاده از نمونههای یادگیری برچسبداری3 که مربوط به تعدادی کلاس از پیش تعریفشده هستند، آموزش داده میشود. روشهای طبقهبندی ترافیک با نظارت، داده آموزشی نظارتشده را تحلیل کرده و یک تابع مرجع تولید میکنند که میتوانند کلاس خروجی را برای هر جریان آزمایش توسط آن پیشبینی کنند. در طبقهبندی ترافیک با نظارت، وجود داده آموزش کافی یک فرض عمومی است که تمامی طراحان این دسته از روشها در نظر میگیرند.

مرجع شماره [2]یکی از تکنیکهای بیزی ساده با نظارت را بهکاربرده است تا ترافیک شبکه را بر اساس ویژگیهای آماری جریان طبقهبندی کند. مرجع شماره [7] الگوریتمهای با نظارت را مورد ارزیابی قرار داده است که شامل الگوریتمهای بیزی ساده در حالت گسسته، درخت تصمیم C4,5 ، شبکههای بیزی و درخت بیزی ساده است. در مرجع شماره [8] بیانشده است که با طبقهبندی ترافیک بر اساس بستههای جدید هر جریان میتوان طبقه بند آنی4 داشت.

در مرجع شماره [9]از ویژگیهای یکطرفه برای طبقهبندی ترافیک در هسته شبکه استفاده کرده است و الگوریتمی باقابلیت تخمین ویژگیهای ازدسترفته ارائه داده است. در مرجع شماره [5] فقط از اندازه بستههای یک ارتباط SSL استفاده کردهاند تا کاربرد بستههای رمز شده را تشخیص دهند. در مرجع شماره [10]پروتکل اثرانگشتها بر اساس تابع چگالی احتمال ارائهشده است که به بیان سه ویژگی آماری ترافیک در یک فرم فشرده میپردازد. در مرجع شماره [6] از 5SVM های یک کلاسه برای طبقهبندی ترافیک استفاده کردهاند و برای هر مجموعه از پارامترهای کاری SVM، یک الگوریتم بهینهسازی ساده ارائه دادهاند. در مرجع شماره [11] سه روش با نظارت را برای یک سرویسدهنده ADSL که نقاط زیادی را مدیریت میکند، مورد ارزیابی قرار داده است و نتایج به دست آماده قابلمقایسه با راهحلهای کاوش عمیق - DPI - بودهاند.

تمامی پژوهشهای انجامشده از الگوریتمهای پارامتری روشهای با نظارت استفاده میکنند. در این نوع از روشهای با نظارت، الگوریتم یادگیری ماشین نیاز به یک مرحله یادگیری داشته که برخی مواقع برای الگوریتمهایی مانند SVM این مرحله طولانیمدت میباشد. دسته دوم از روشهای با نظارت الگوریتمهای غیر پارامتریای هستند که در این نوع، الگوریتم تشخیص، نیازی به مرحله یادگیری ندارد و درواقع این مرحله بهگونهای در زمان طبقهبندی گنجاندهشده است. کارهای کمی وجود دارند که از الگوریتمهای یادگیری ماشین غیر پارامتری استفاده میکنند.

در مرجع شماره [12] از روشهای NN و LDA و پنج دسته از ویژگیهای آماری برای طبقهبندی ترافیک استفاده نمودهاند. در مرجع شماره [3] بهطور گستردهای روش بر مبنای درگاه Corel Reef و BLINKو هفت روش با نظارت با استفاده از ویژگی آماری را بر روی هفت ترافیک مختلف مورد ارزیابی قرار داده است. در این ارزیابی عملکرد طبقه بند NN با کارایی روشهای برجسته SVM و شبکههای عصبی قابلمقایسه است که بر اساس آن روشهای غیر پارامتری ازلحاظ سرعت برتری داشته و درصد اندکی نسبت به روشهای پارامتریک دقت پایینتری دارند.

.1,2 رویه کلاسبندی ترافیک توسط یادگیری ماشین

بهطورکلی فرآیند کلاسبندی ترافیک با استفاده از الگوریتمهای یادگیری ماشین را میتوان به چهار مرحله تقسیم کرد که شامل تهیه مجموعه داده، محاسبه آمار ترافیک، پروسه یادگیری ماشین و ارائه نتایج کلاسبندی میباشد. اولین قدم در کلاسبندی، تهیه مجموعه داده است. ورودی اولیه در مجموعه داده بستههایی هستند که بهصورت برخط از شبکه دریافت میشوند همچنین این ورودی میتواند از طریق بستههای دریافت شده قبلی تأمین شود. سپس این بستهها بر اساس آدرس پورت مبدأ و مقصد و IP و پروتکلشان در داخل جریانها قرار میگیرند . در قدم دوم، مشخصات موردنظر از جریانها استخراج میشوند. میتوان گفت که این مرحله مقدمه تولید ویژگیهاست. در مواردی که مجموعه داده بسیار بزرگ باشد، نمونهگیری از داده صورت گرفته وزیر مجموعهای از ویژگی جریانها انتخاب میشود. این کار باعث کم شدن نمونهها و درنتیجه کاهش فضای جستجو برای الگوریتم یادگیری موردنظر است.

.2,2 انتخاب/ فیلتر کردن ویژگیها

استخراج ویژگیها در سیستمعامل لینوکس بهوسیله Netmate-flow انجام میگیرد.40 ویژگی از این نرمافزار استخراج میشود که در پیوست a آمده است. یکی از نکات کلیدی ساخت طبقه بند، پیدا کردن کوچکترین زیرمجموعه ضروری از ویژگیهای موردنظر است، زیرا حذف ویژگیهای نامربوط و اضافی جریان، باعث کاهش زمان یادگیری و کلاسبندی شده و نیز صحت کلاسبندی را افزایش میدهد. بهطورکلی الگوریتمهای انتخاب /فیلتر ویژگی به دودسته فیلتر و پوشه6 تقسیم میشود. در الگوریتمهای فیلتر بر اساس خصوصیات متداول داده وبه صورت مستقل از الگوریتمهای کلاسبندی، ویژگیهای بهینه انتخاب میشوند. بنابراین قبل از شروع یادگیری، به معیارهای خاصی برای انتخاب زیرمجموعه بهینه توجه میشود. اما الگوریتم پوشه، کارایی زیرمجموعههای متفاوت را با استفاده از الگوریتم یادگیری مشخصی تخمین میزند.

درنتیجه نتایج آن به الگوریتم یادگیری ماشینی که انتخاب میشود وابسته است. به دلیل کارایی بالاتر، بیشتر از روش پوشه و الگوریتم انتخاب روبهجلو ترتیبی استفادهشده است. روش کار به این صورت است که کلاسبندی با هریک از ویژگیها انجام میشود ویژگیای که بهترین نتیجه را تولید کند، انتخابشده و در SEL - 1 - قرار میگیرد. در مرحله بعد تمام ترکیبات ممکن SEL - 1 - و ویژگیهای دیگر امتحان میشوند. ترکیبی که بهترین نتیجه را تولید کند در SEL - 2 - قرار میگیرد این کار تا جایی ادامه مییابد که ترکیب جدیدی که کارایی را بهبود ببخشد پیدا نشود. درنتیجه فهرستی از ویژگیها به وجود خواهد آمد که بهترین نتایج را با توجه به ویژگیهای دادهشده اولیه تولید میکند.

.3,2 روش نزدیکترین همسایه

در حالت کلی از این الگوریتم به دو منظور استفاده میشود. برای تخمین تابع چگالی توزیع دادههای تعلیم و برای طبقهبندی دادههای تست بر اساس الگوهای تعلیم. در این روش فرض میشود که تمام نمونهها نقاطی در فضای n بعدی حقیقی هستند و همسایهها برمبنای فواصل اقلیدسی استاندارد تعیین میشوند. فرض میکنیم ∈ {  1, … , } یک مجموعه از n الگوی ورودی باشد و   ′ ∈ نزدیکترین ورودی به نقطه تست x باشد. قانون نزدیکترین همسایه برای طبقهبندی x آن را در کلاسی مشابه باکلاس x' قرار میدهد.

قانون k نزدیکترین همسایه1 گسترشی از قانون نزدیکترین همسایه است به این صورت که این قانون x را در دستهای قرار میدهد که بیشترین تکرار را در بین k نزدیکترین همسایه x دارد . اگرچه هرگز فرضیه عمومی مشخصی ایجاد نمیکند، بااینوجود ممکن است سطح تصمیم القاشده توسط الگوریتم برای یک فضای دوبعدی را بهصورت ترکیبی از چند وجهیها نشان داد که هرچند وجهی مجموعهای از نقاطی را که توسط آن دستهبندی خواهند شد مشخص مینماید. نقاط خارج چندوجهی نقاطی خواهند بود که توسط سایر چندوجهیها دستهبندی خواهند شد.

الگوریتم k-NN را میتواند بهسادگی برای توابع هدف پیوسته نیز استفاده نمود .در این حالت بجای انتخاب متداولترین مقدار موجود در همسایگی مقدار میانگین k مثال همسایه محاسبه میشود:

میتوان عملکرد این الگوریتم را با در نظر گرفتن وزنی برای هر یک از k مثال همسایگی بهتر نمود. این وزن بر اساس فاصله نمونهها تا نمونه موردبررسی اعمال میشود معمولاً بافاصله نمونهها رابطه معکوس دارد.

در صورت اعمال وزن این امکان وجود خواهد داشت که بهجای k نمونه همسایه از تمامی نمونهها برای دستهبندی استفاده کنیم. اما این انتخاب باعث کند شدن عمل دستهبندی خواهد شد.

.3 مدل منتخب و انتخاب الگوریتم

با توجه به بررسیهای انجامشده بازدهی عملکرد روشهای نیمه نظارتی نسبت به روشهای دیگر بهتر بوده و ما نیز این روش را برای پیادهسازی سامانه موردنظر در نظر میگیریم. علاوه بر میزان دقت الگوریتم، به دلیل به هنگام بودن سامانه موردنظر، بایستی الگوریتمی انتخاب شود که خوشههای موردنظر را در کمترین زمان تشکیل داده و همچنین بتواند با استفاده از الگوریتمهای با نظارت غیر پارامتریک، بدون صرف زمان یادگیری، این خوشهها را به کلاسهای از پیش مشخصشده نگاشت نماید. ازاینرو چارچوب پیشنهادشده در مرجع شماره [13] که نزدیکترین روش به نیازمندیهای سامانه موردنظر ما را دارد موردبررسی قرار گرفت. در این چارچوب خوشهبندی ترافیک با استفاده از اطلاعات همبستگی2 یا بهصورت مخففTCC3 صورت گرفته و با ارائه یک الگوریتم غیر پارامتری بهطور مؤثری اطلاعات ارتباط جریان را با فرایند طبقهبندی ترکیب میکند.

شکل زیر مدل سامانه ارائهشده را نشان میدهد. در مرحله قبل از پردازش، سامانه، بستههایIP عبوری شبکه را حفظ و ضبط میکند و جریانهای4 ترافیک را با توجه به سربسته5 و تفکیک بستههایی که دارای مشخصات یکسان معرفی کننده خود هستند، تشکیل میدهد.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید