وب سایت آموزشی ، تحقیقاتی


به نام خدا

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

اطلاعات بیشتر ......


نیازمندی های جستجو در اینترنت اشیا و چالش های موجود »

مترجم  (با دخل و تصرف ) ، گردآورنده : مسعود معاونی

منبع : نشریه IEEE Computer Society دانلود اصل مقاله (به زبان اصلی) از اینجا


اینترنت اشیاء خدمات داده ای را برای دستگاه های کاربران در هر زمان و هر مکانی ارائه می دهد . کیفیت ، زمان تاخیر ، اعتماد ، دسترس پذیری ، قابلیت اطمینان و تداوم از جمله پارامترهای کلیدی در استفاده از اطلاعات در اینترنت اشیاء می باشد .

خدمات جستجوی فعلی و روش های کشف و دسترسی چندان مناسب اینترنت اشیاء نمی باشد و داده ها معمولا به صورت استاتیک ذخیره می شوند بنابراین نیاز به تغییرات عمده در هسته موتورهای جستجو و پویایی در آن ها برای خدمات دهی به اینترنت اشیاء احساس می شود . در این مقاله ما به دنبال ارائه راه حلی برای جستجو منابع در اینترنت اشیاء می باشیم و چالش های موجود در این مسیر را نیز بیان خواهیم کرد .

جستجو در وب :

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

چالش های جدید با پیشرفت اینترنت اشیاء :

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

چالش های جدیدی امروزه با ظهور اینترنت اشیاء در موتورهای جستجو بوجود آمده است . در اینترنت اشیاء ما نیاز داریم تا علاوه بر توصیف محتوا(داده) به توصیف منابع(دستگاه ها و شبکه ها) که بیشتر بر مبنای اَبر(Cloud) هستند بپردازیم . شاید الهام گرفتن از وب معنایی بتواند برای ما به عنوان یک راهکار موثر در نظر گرفته شود .

دامنه اینترنت اشیاء امروزه به سرعت در حال رشد و پیشرفت است و بسیاری از پروتکل ها و قوانین آن در حال ترکیب با اینترنت فعلی و اشیاء دنیای واقعی می باشند . در آینده نه چندان دور IOT ها یک فرمتی از شبکه های رایج خواهند بود . داده های مرتبط با  IOT را می توان با توجه به دستگاه ها و شبکه های مرتبط با آن ها ارائه داد و از سایر داده های دستگاه هوشمند برحسب نیاز استفاده کرد . این داده ها را می توان یا به صورت مستقیم استفاده کرد و یا با استفاده از gateway ها به کار گرفت .

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

اکوسیستم اینترنت اشیاء :

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

یک راهکار ارائه شده قابل توجه دیگر که از آن به عنون راه حلی موثر نام برده می شود جستجو ماشین به ماشین (Machine to Machine) می باشد . یکی از تفاوت های اصلی اینترنت اشیاء با وب معمولی این است که در وب ما به دنبال محتوا و کسب اطلاعات از آن هستیم که مصرف کننده واقعی آن انسان می باشد . اما در اینترنت اشیا ما با استفاده از یک سری اطلاعات زمینه ای مانند محل ، زمان ، سوابق قبلی و … به دبال آموزش تجهیزات و آماده کردن آن ها برای اجرای فرامین هستیم .

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

باید توجه داشت که سیستم جستجو در اینترنت اشیاء مبتنی بر URL و هنجارهای رایج فعلی نمایه سازی نخواهد بود . در سیستمی مبتنی بر IOT همه عناصر باید یکپارچه باشند تا بهترین نتایج جستجو را ارائه دهند و تفسیر ایده آلی از اطلاعات صورت پذیرد . در چنین سیستم هایی با داده های بزرگی(Big Data) سروکارخواهیم داشت که باید مکانیزم های پردازش های بزرگ(Process Large) را برای آن ها به کار ببریم و به توصیف معنایی داده ها (Semantically Described Data) بپردازیم .

انتشار داده ها و اشتراک داده ها و بازیابی اطلاعات ، بررسی حق دسترسی و استفاده از داده از مباحث پیچیده ای هستند که چالش های خاص امنیتی را ایجاد می کنند که وقتی این چالش ها را در کنار روش های کشف پویا با سرعت بالا قرار دهیم سختی کار پیش رو مشخص خواهد شد . هم چنین باید این واقعیت را در نظر گرفت که مفهوم اَبر(cloud) می تواند کمک شایان توجهی در یکپارچه سازی داده ها و ترکیب و پردازش منابع مختلف در حجم زیاد را بنماید .

مرور کلی بر نرم افزارهای مخرب در مهندسی اجتماعی ، روند ، تاکتیک و پیامدها »

مهندسی اجتماعی

مهندسی اجتماعی

دانلود مقاله لاتین از اینجا>>>

گردآورندگان : نیلوفر مظفریان – مسعود معاونی

چکیده :

مهندسی اجتماعی هم چنان به عنوان روشی برای انتشار بد افزارهای مخرب محسوب می شود .ما در این مقاله سعی داریم تا به بررسی اقدامات متقابل در نرم افزارهای مخرب مهندسی  اجتماعی بپردازیم و به  سازمان ها برای برنامه ریزی امنیت اطلاعات کمک کنیم.

معرفی :

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

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

روش های مقابله سیستماتیک بسیاری امروزه تعریف گردیده است از جمله روش های فیلتر ایمیل و سیستم های هشدار دهنده را می توان نام برد .

موضوعات مهم در نرم افزارهای مخرب مهندسی اجتماعی :

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

نمودار حملات مهندسی اجتماعی

نمودار حملات مهندسی اجتماعی

همان طور که در شکل مشخص است این حملات به شکل گسترده ای در این سال ها افزایش یافته اند .

کانال های نفوذ :

نرم افزارهای مخرب از انواع کانال ها برای ورود به یک سیستم و تکثیر خود استفاده می کنند . در زیر ما به معرفی مهم ترین این کانال ها می پردازیم :

  1. Email: پست الکترونیک محبوب ترین رسانه مورد استفاده مهاجمان در فریب کاربران است .

  2. وب سایت : وب سایت ها امروزه به طور فزاینده ای برای راه اندازی یک نرم افزار مخرب بر روی سیستم قربانی مورد استفاده قرار می گیرند . بسیاری از نرم افزارها در مقابل هک آسیب پذیر هستند و وب سایت های جعلی مشابه نمونه اصلی (Phish) نیز در این زمینه قابل توجه هستند . حتی سایت های خبری مطرح مانند BBC نیز بعضا یکی از عوامل انتشار دهنده این بدافزارها بوده اند .

  3. نرم افزارهای اجتماعی : تاکتیک های حمله با استفاده از شبکه های اجتماعی با توجه به استفاده فراوان آن ها امروزه یک کار رایج می باشد . هر چند این شبکه ها محیطی برای تبادل اطلاعات محسوب می شوند اما هم زمان مکانی برای انتشار بدافزارها و ویروس ها هستند . هم چنین این شبکه ها استعداد قابل توجهی برای سرقت اطلاعات و حدس رمزهای عبور دارند .

  4. درایورهای ذخیره سازی قابل حمل :CD-ROM ها و هارددیسک ها و فلش های امروزی ابزاری برای انتقال نرم افزارهای مخرب و همیاری مناسب برای روش های مهندسی اجتماعی می باشند .

تاکتیک ها :

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

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

  3. تاکتیک فنی : نرم افزارهای مخرب به دنبال مبارزه با مکانیسم های محافظتی موجود در سیستم های امنیتی هستند و سپس به دنبال باز کردن درب پشتی (Back Doors)  می باشند .

اقدامات بدافزارها :

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

مفاهیم مقابله ای :

روش های مطرح در مهندسی اجتماعی نیاز به یک رویکرد چند جانبه برای مبارزه با حملات مهندسی اجتماعی دارد . سازمان ها باید شکاف های موجود در یکپارچه سازی اطلاعات را از بین ببرند . افراد نیز نقش مهمی در موفقیت سیاست های امنیتی یک سازمان دارند . راهکارهای زیر را می توان برای افزایش امنیت مطرح کرد :

  1. افزایش آگاهی و اطلاعات عمومی در مورد امنیت

  2. استفاده از مانیتورینگ منظم و همیشگی

  3. مدیریت استفاده شخصی از کامپیوتر و کار با آن ها

  4. ایجاد انگیزه در کاربران برای ایجاد شیوه های امن اطلاعاتی

  5. مسئولیت اجتماعی در مبارزه با نرم افزارهای مخرب مهندسی اجتماعی

نتایج :

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

پایان

 

کانال تلگرام

کانال تلگرام

مفاهیمی مرتبط با شبکه SDNو مباحث احراز هویتی »

RADIUS Server

RADIUS Server

Open BSD

Open BSD

hostapd

hostapd

دریافت آمار ترافیک در یک شبکه SDN با استفاده از Open Flow »

آمار در mininet

آمار در mininet

اصل مقاله لاتین را از این آدرس دریافت کنید .

شبکه SDN یک مزیت قابل توجهی به دلیل آسانی تنظیم و معرفی ویژگی های دیگر دارد . اگر چه در کارهای گذشته بر روی مشکلات مدیریت شبکه تمرکز می شد و کنترل به منظور بهبود QoS توسط مشتریان تنها برای اندازه گیری عملکرد شبکه استفاده می شد . از جمله تاخیر ، توان و از دست دادن بسته .

در این مطالعه به دنبال معرفی روش های برای اندازه گیری آمار در دستگاه های متصل به یک شبکه SDN می باشیم . از لحاظ مانیتورینگ ، Open Flow امکان استفاده از آمار ترافیک در دستگاه های متصل به شبکه را می دهد . در محیط تست ما آمار ترافیک برای محاسبه پهنای باند در دسترس و بار موجود در شبکه استفاده می شوند .

به طور کلی آزمایشات جدید در شبکه های واقعی سنتی به دلیل ایده های جدید غیر استاندارد معمولا سخت است . ساخت و ترکیب این تغییرات غیر استاندارد در شبکه های سخت افزاری مشکل است . در شبکه SDN که Data و Control  از یکدیگر جدا شده اند control plane توسط یک دستگاه متمرکز دیگر مدیریت می شود . کنترلر با دستگاه های شبکه ارتباط داشته و اطلاعات را جمع آوری کرده و بر اساس آن به پیکربندی و مدیریت دستگاه های شبکه می پردازد. کنترلر اطلاعات همه سوئیچ ها را دریافت می کند ، یک کنترلر می تواند توپولوژی شبکه را ایجاد کند .

وقتی جدول جریان سوئیچ ها به کنترلر می رسد ، سوئیچ بسته های را که در جدول جریان نیستند را برای تعیین تکلیف به کنترلر می فرستد .

کنترلر می تواند جریانی را اضافه ، حذف و یا بروزرسانی کند . در این مطالعه ما برروی open flow1.3 متمرکز می شویم و برروی ترافیک کار خواهیم کرد .

پروتکل open flow توابعی را برای جستجو بسته ها در سوئیچ ها و یا جریانات خاص را فراهم می کند . در کارهای قبلی برروی ماتریس ترافیک در دوره رای گیری خاصی معمولا پرداخته می شد . به طور سنتی ، تکنیک های متعددی برای نظارت بر شبکه های SDN وجود دارد . معمولا در این روش های اندازه گیری نیاز به سخت افزار جداگانه و نصب و راه اندازی و یا پیکربندی یک نرم افزار دارد و این کار معمولا خسته کننده و هزینه بر است . اما Open Flow واسط های لازم را برای پیاده سازی بدون نیاز به سفارش سازی فراهم می کند .

با استفاده از پروتکل Open Flow می توان آمار مربوطه را بدست آورد ، دو نوع پیام در open flow موجود می باشد :

۱- درخواست آمار : پیام ارسال شده از کنترلر به یک سوئیچ

۲- پاسخ آمار : پیام ارسال شده از یک سوئیچ به کنترلر .

هم چنین روش های اندازه گیری شبکه به طور کلی به دو دسته تقسیم می شوند : فعال و غیرفعال .

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

اما در روش های فعال بسته های اضافی به شبکه تزریق می شود . هردو روش فعال و غیرفعال برای جمع آوری اطلاعات از شبکه مفید هستند .

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

ما از mininet و یک سوئیچ CPqD که از Open Flow 1.3 پشتیبانی می کند استفاده می کنیم . کنترلر ما هم از نوع Flood Light می باشد .

open flow1.3 از متر پشتیبانی می کند . این کار را می توان در کنترلر Flood light بوسیله IOFswitchListener انجام داد . یکی از موارد دریافتی در آمار کل جریان همسان خواهد بود به منظور رسیدن به آمار ،open flow ویژگی ها را در سطح پورت فراهم می کند و با استفاده از این اطلاعات آمار دقیقی از یک پورت خاص را می توان بدست آورد و در سطح جریان مدت زمان جریان(نانوثانیه)بسته و تعداد بایت اعلام می شود .

این طرح نشان می دهد که می توان از open flow برای سیاست های مهندسی ترافیک به راحتی استفاده کرد .

 

زنجیره ای از ابزارهای امنیتی در یک DMZ با نظارت درون خطی محصولات big switch : »

Big Switch

Big Switch

اصل مقاله و ترجمه این مقاله را از لینک زیر دریافت کنید :

مقله اصلی فایل پی دی اف                  ترجمه مقاله فایل پی دی اف

زنجیره ای از ابزارهای امنیتی در یک DMZ با نظارت درون خطی محصولات big switch :

___________________

مشاهده قابلیت های شبکه و کاهش تهدیدات پویا

تامین  امنیت شبکه های شرکت های بزرگ و هم چنین دارایی های آنلاین از اهمیت فوق العاده ای برای هر سازمان مدرن برخوردار است . همیشه افزایش اتکا به شبکه برای عملیات حیاتی هر کسب و کاری مهم است و این اهمیت منجر به افزایش تهدیدات سایبری[۱] گردیده است .

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

تیم های طراحی امنیت شبکه برای دستیابی یک جا به تمامی اهداف فوق به دنبال جداسازی مناطق قابل اعتماد[۲] از مناطق غیرقابل اطمینان[۳] هستند و به دنبال استقرار ابزارهای امنیتی و نظارت بر یک شبکه در یک محیط DMZ (بین دومنطقه) هستند . ابزارهای امنیتی می توانند هر بسته ای را که از منطقه مورد اعتماد به غیر قابل اطمینان می رود را پیگیری کنند و به صورت فعالانه به ارزیابی آن پرداخته و جلوی نفوذها را بگیرند .

در این متن ما به بررسی مانیتورینگ محصولات big (در حالت درون خطی) می پردازیم که می تواند در یک دسترسی سطح بالا مستقر شده و پیکربندی را قادر می کند تا تهدیدات را کاهش داده و برای چالش های سنتی که ما با آن مواجه هستیم راه حل های کم هزینه تر ، ساده تر و بر محور SDN ارائه دهد .

استقرار ابزار در داخل یک DMZ در روش سنتی :

به طور سنتی، تیم های امنیتی دو روش برای استقرار درون خطی چندگانه برای تجزیه و تحلیل ترافیک تولیدی در شبکه DMZ  استفاده می کردند :

روش ۱ :

قرار دادن ابزار خطی به صورت ترتیبی در بین گره ها . به همان صورتی که در شکل ۱ نشان داده شده است . در این شیوه چندین چالش وجود دارد :

روش ۲ :

پیکر بندی پیچیده بر پایه مسیریابی WCCP یا بر پایه سیاست های مسیریابی( PBR) برای مدیریت ترافیک . در حالی که در نگاه سطحی این طرح چابک به نظر می رسد اما دارای مجموعه ای از چالش ها می باشد :

ملاحظات کلیدی در عملیات  :

مباحث بالا نیازهای کلیدی را برای ابزارهای مدیریت امنیت داخلی در یک DMZ برجسته کرد و هم چنین چالش های استقرار طرح های سنتی را نشان داد . به طور خلاصه :

       رویکرد Big switch  : مانیتورینگ داخلی محصولات Big با سوئیچ های SDN قابل برنامه ریزی :

کنترل  درون خطی محصولات Big باعث می شود که امنیت به صورت فراگیر در DMZ اجرا شده و راه حل هایی برای چالش های سنتی آدرس ها با هزینه کم و سادگی مناسب بر محور SDN بوجود آید . مانیتورینگ محصولات Big متشکل از یک کنترلر و سوئیچ های باز اترنت که دسترسی بالایی دارند می باشد . ابزارهای امنیت درون خطی به طور مستقیم به سوئیچ های اترنت متصل می شوند .(به صورت اختیاری از طریق تجمع لینک) .

اهرم مانیتور محصولات Big  ، کنترلر می باشد که به عنوان نقطه مرکزی مدیریت و پیکربندی سیاست های مسیریابی از طریق ابزارهای درون خطی مطرح می باشد و هم چنین شامل مجموعه ای از ابزارهای زنجیره ای متکی بر سیایت های پایه می باشد . در نتیجه مانیتورینگ محصولات درون خطی به چالش کلیدی عملیات مرتبط با استقرار ابزارهای امنیتی در DMZ مطرح می باشد .

شکل ۲ : استقرار ابزار امنیتی در DMZ با محصولات مانیتورینگ درون خطی Big

A : جدایی امنیت و زیر ساخت های مدیریت شبکه با استفاده از SDN :

مانیتورینگ درون خطی محصولات Big مشکلات روش های سنتی شبکه و مدیران امنیتی با استقرار ساده و مدیریت چند خطی امنیت یا ابزارهای آنالیزی داخل محصولات شبکه را برطرف می کند . همان طور که در شکل ۲ نشان داده شده است سوئیچ های مانیتورینگ درون خطی Big توسط یک جفت کنترلر مدیریت می شوند . این معماری اجازه می دهد تا یک جدایی شفاف از قوانین بین شبکه و مدیران امنیتی صورت پذیرد . ابزارها و قوانین حاکم بر جریان ترافیک از طریق ابزارهای مدیریتی بوسیله تیم مدیریتی اعمال می شوند . این درحجالی است که مدیریت و رسیدگی به شبکه وظیفه تیم شبکه می باشد .

B : استفاده از ابزار بهینه برای متعادل کردن بار و خدمات زنجیره ای :

محصولات مانیتورینگ درون خطی Big از زنجیره ای از ابزارهای پشتیبانی می کنند که برای ترافیک ورودی و خروجی در DMZ مناسب می باشند . ابزارها می توانند ورودی را در مقابل جریان خروجی به صورت نامتقارن انتخاب کنند . جریان ترافیک می تواند به موازنه پهنای باندهای پایین ابزارها بپردازد .

برای بهینه سازی ابزارها ، مدیران از ارسال ترافیک لازمه استفاده می کنند . علاوه بر این یک تصمیم با توجه به یک جریان خاص ساخته می شود و ابزارها می توانند تصمیم های خارج از بار را برنامه ریزی کنند (بوسیله برنامه کاربردی REST) ، ابزارها این کار را از طریق Drop یا Pass کردن جریان انجام می دهند . هم چنین برای کارآمدتر شدن ابزارها اشتراک گذاری ابزارها در سراسر زنجیره با یکدیگر کاملا متفاوت خواهد بود .

C : طراحی محصول انعطاف پذیر در به کارگیری HA :

یکی دیگر از نکات کلیدی در استقرار این است که  به شکست های درون خطی ابزارها رسیدگی کنیم . محصول های مانیتورینگ Big درون خطی بر پایه ARP هستند که به بررسی سلامت ابزار و شکست های ابزار می پردازند . سازمان های مختلف دارای معماری های HA متفاوتی هستند و بر این اساس دارای استراتژی ها و مدل های رابط مرتبط با آن ها می باشند . به طور خلاصه در ادامه به موارد کلیدی در این زمینه پرداخته خواهد شد :

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

مانیتورینگ درون خطی Big : یک جایگزین امن برای سوئیچ های جانبی

بسته های کارگزار در شبکه های سنتی (NPB) از راه حل های ابزارهای درون خطی زنجیری حمایت  می کنند و با قابلیت متعادل کردن بار برخی مواقع به پشتیبانی از سخت افزارهای جانبی می پردازند . در این صورت سخت افزار سوئیچ های فرعی ، اگر یک سوئچ دچار شکست شود همه ابزارها دچار مشکل می شوند (شکست باز [۱۰]) و یا تمام ترافیک در یک چاله سیاه[۱۱] قرار خواهد گرفت (شکست بسته[۱۲] ) . بنابراین سازمان در مقابل ترافیک غیر مطمئن بی دفاع خواهد بود . حتی در حالتی که سوئیچ سخت افزاری جانبی مستقر شود ، مداخله دستی برای جلوگیری از شکست نیاز است .

استقرار جفت سوئیچ های کنترلر باز اترنت SDN در مقایسه با سوئیچ های سخت افزاری فرعی امن تر است . این سوئیچ ها با استفاده از ASIC مشابه ، که همان سوئیچ های قابل اعتماد در مقیاس بزرگ در شبکه های تولیدی هستند ، پیاده سازی می شوند .

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

به صورت پیش فرض شکست ها در هر فاصله ای از ابزارها باشند به مدیریت هشدار می دهند . هم چنین گزینه ای برای جبران شکست و کنترل خطا ارائه می شود . این هم یک قابلیت برای ابزارها با API  ، REST فراهم می کند .

نتایج :

محصولات مانیتورینگ Bigدرون خطی می تواند در یک استقرار با دسترسی بالا (HA) به فعال کردن امنیت فراگیردر DMZ بپردازد و چالش آدرس ها را در روش سنتی حل نماید و  این کار با هزینه کم تر و بر اساس SDN به سادگی انجام می شود .

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

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

درباره Big Switch :

شبکه های Big Switch یک رهبر در بازار فن آوری های شبکه و دیتا سنترها می باشد که مخاطبان گسترده ای دارد . این شرکت ، فناوری سوئیچ های باز اترنت و SDN و نرم افزارهای کنترلی را بر روی محصولات خود ارائه داده که برای ارائه دهندگان ابر و ارائه دهندگان خدمات قابل استفاده می باشد .

www.bigswitch.com

 

ترجمه و گردآوری : مسعود معاونی

www.moaveni.ir

Tel : 0915 322 78 58

[۱] Cyber threats

[۲] Trusted

[۳] Untrusted

[۴] Down

[۵] Edge

[۶] Stable

[۷] Active –  Active

[۸] Active – Standby

[۹] Redundancy

[۱۰] Open Fail

[۱۱] Black Hole

[۱۲] Close Fail

مقاله Ethane »

ترجمه این مقاله را به صورت فایل پی دی اف از این لینک دریافت کنید و به دیگران نیز توصیه کنید .

اصل مقاله لاتین را از این جا دریافت کنید .

ترجمه و گردآوری : معاونی


Ethane :

مقاله Ethane : در اختیار گرفتن کنترل

Ethane : Taking control of the enterprise

چکیده :

در این مقاله ما به ارائه Ethane می پردازیم که یک معماری شبکه ای جدید برای شرکت ها است . Ethane اجازه می دهد تا مدیران به تعریف یک شبکه گسترده با سیاست های خاص بپردازند و سپس آن را به طور مستقیم به اجرا بگذارند .

Ethane به همراه سوئیچ های ساده اترنت مبتنی بر جریان با یک کنترلر متمرکز که مدیریت پذیرش و مسیریابی را برعهده دارد ، می باشد .  در دیدگاه کلی ،  این طرح با طرح های قبلی که در آن میزبان ها و سوئیچ ها وجود داشتند سازگار است . ما در اجرای Ethane به سخت افزار و نرم افزاری نیاز داریم که هم از میزبان های سیمی و هم بی سیم پشتیبانی کنند . عملیات بر روی شبکه Ethane با بیش از ۳۰۰ هاست در ۴ ماهه گذشته در دانشگاه استنفورد را پشتیبانی کرده است و این تجربه بر روی استقرار Ethane به صورت قابل توجهی تاثیر گذار بوده است .

کلمات کلیدی : شبکه ،  معماری ، امنیت ، مدیریت

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

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

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

یک گزارش توسط گروه Yankee نشان می دهد که ۶۲%  از خرابی شبکه ها در شبکه های چند فروشنده[۱] از خطای انسانی نشات می گیرند و ۸۰% بودجه برای تعمیر و نگهداری و عملیات مربوط به آن صرف می شود .

تلاش های بسیاری برای شبکه های که کنترل پذیرتر و امن تر باشند صورت پذیرفته است (مدیریت آسان تر ) .

یکی از این روش ها که بر روی middle box خاص معرفی شده است ، این است که می تواند کنترل را به طور موثر تنها در نقاط انسداد شبکه قرار دهد . ولی اگر ترافیک به صورت تصادفی در سراسر middle box ها جریان یابد (و یا این که منحرف شود ) دیگر شبکه ای موفق و امن نخواهیم داشت .

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

این را می توان اضافه کرد که یک لایه جدید از اسکریپت روتکل و برنامه کاربردی انجام می شود که می تواند به پیکربندی خودکار مدیریت به منظور کاهش خطاها منجر شود .

با این حال این راه حل ها نهان ،  پیچیدگی مدیریت را کاهش نمی دهند چرا که پروتکل ها به طور مداوم برای پتیبانی از سرعت در حال تغییر هستند و رابط های مدیریت اختصاصی تولید شده توسط عناصر[۲] مدیریت می شوند .

به جای ساخت یک لایه جدید پیچیده در بالای شبکه ، ما باید به این سوال پاسخ دهیم که چگونه ما می توانیم معماری شبکه سازمانی را تغییر دهیم تا مدیریت بیشتری بر روی آن داشته باشیم ؟

پاسخ ما این است که می توانیم معماری به نام Ethane را متصور شویم . Ethane بر اساس سه اصل ساخته شده است که برای مدیریت شبکه ها جز مهم ترین راه حل ها هستند :

  1. شبکه باید با سیاست های اعلام شده سطح بالا اداره شود :

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

  1. سیاست تعیین مسیر جریان بسته ها باید اعمال شود :

دلایل متعددی برای تعیین سیاست مسیرها وجود دارد .

اول این که این سیاست ممکن است بسته ها را به عبور از طریق یک middle box متوسط نیازمند کند . برای مثال یک کاربر مهمان ممکن است به ارتباط با یک پروکسی نیاز داشته باشد یا کاربر از یک سیستم عامل اصلاح نشده برای ارتباط با یک سیستم تشخیص نفوذ[۳] استفاده کند .

دوم این که ترافیک موجود می تواند خدمات مناسب تری را دریافت کند اگرمسیر خود را کنترل کند . مدیریت ارتباطات لحظه ای[۴] در مسیرهای کم ترافیک تر و کاهشمسیرها و ایجاد ارتباطات خصوصی در تمامی مسیرها یک اعتماد مناسب ایجاد کرده و منجر به خدمات بهتر می شود .

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

  1. شبکه باید یک اتصال قوی بین یک بسته و منشا آن تولید کند :

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

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

برای رسیدن به این اهداف ما به دنبال سرمشق گرفتن از پروژه ۴D هستیم و به دنبال اتخاذ یک ساختار کنترل مرکزی می باشیم . راه حل های متمرکز معمولا برای محققان شبکه جالب نمی باشد اما ما احساس می کنیم که آن یک رویکرد مناسب برای مدیریت شبکه است .

بهترین مدل برای IP این است که هم ساده و هم تغییر ناپذیر باشد و مناسب الگوریتم های توزیع شده باشد . مدیریت شبکه کاملا برعکس است ، مدیریت نیاز به پیچیدگی و سازگاری قوی دارد تا از ان برای محاسبات پیچیده در موضوع توزیع استفاده کند .

اعتراضات بسیاری به روش های استاندارد متمرکز وجود دارد ، مانند انعطاف پذیری و مقیاس پذیری . با این حال در این مقاله ما نشان می دهیم که یک روش استاندارد می تواند انعطاف پذیری بسیار عالی را ارائه دهد و سرعت پردازنده امکان مدیریت تمامی توابع کنترلی روی یک شبکه (در حدود ۲۵۰۰۰هاست) را بوسیله یک کامپیوتر PC فراهم می کند .

Ethane شباهت قابل توجهی به SANE دارد که اخیرا در طرح Clean-Slate به شرکت های امنیتی پیشنهاد شده است . SANE دارای تعدادی Clean Slate بود که استقرار آن ها دشوار بوده و به همین دلیل هرگز آزمایش و تست نشدند . در حالی که SANE شامل تعداد قابل توجهی از ایده های ارزشمند بود . Ethane این کار قبلی را در مسیر اصلی گسترش خواهد داد .

مدیریت امنیت :

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

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

پس با طراحی Ethane ، ما تصمیم گرفتیم که یک رویکرد گسترده برای مدیریت شبکه در نظر بگیریم ، تا امنیت هم در آن به خوبی کار کند .

قابلیت گسترش افزایشی :

SANE به یک بالابر[۵] برای جایگزینی تمام زیرساخت های شبک سازمانی نیاز داشت و باید در تمامی میزبان ها تغییراتی را اعمال می کرد . این کار ممکن است در برخی از موارد مناسب باشد و به وضوح مانعی در مقابل استفاده گسترده آن بوجود نیاید .

Ethane طوری طراحی شده است که بتوان آن را به صورت تدریجی در یک شرکت مستقر کرد وبدون آن که  نیازی به  تغییراتی در میزبان ها وجود داشته باشد . سوئیچ ها Ethane می توانند به صورت تدریجی در کنار سوئیچ های اترنت موجود در شبکه مستقر شوند .

استقرار تجربی قابل توجه :

Ethaneدر هر دوقالب نرم افزاری و سخت افزاری اجرا شده است . (مخصوصا سو ئیچ های اترنت Gigabit) و در بخش علوم کامپیوتری دانشگاه استنفورد در حدود ۴ ماه مدیریت بیش از ۳۰۰ میزبان را بر عهده داشته است .

تجربه فوق به ما امکان تحلیل مسائل عملیاتی از قبیل مواجه با طراحی های خاص و نتایج تغییرات و توسعه ها را در طرح اصلی داده است .

در این مقاله ما به توصیف کار خود در طراحی ، پیاده سازی و استقرار Ethane می پردازیم . ما به یک مرور کلی سطح بالا از آغاز طراحی Ethane پرداخته و در بخش سوم شرح مفصلی از آن را ارائه می کنیم . در بخش چهارم ما به بیان سیاست POL-Eth پرداخته که در آن به توصیف اجرایی مدیریت Ethane می پردازد . در بخش پنجم ما به بیان تجربه اجرا و استقرار Ethane می پردازیم و سپس تجزیه و تحلیل عملکرد را در بخش ششم بررسی کرده و در بخش هفتم به بیان محدودیت های حال حاضر پرداخته و در بخش هشتم به بیان کارهای مرتبط می پردازیم و نهایتا در بخش ۹ نتیجه گیری مقاله قرار دارد .

کنترلر های Ethane اجازه برقراری ارتباط با هر میزبانی را بدون کسب اجازه صریح ندارند . این تحمیل از طریق دو جزء اصلی ایجاد می شود .

مولفه اول یک کنترلر مرکزی می باشد که سیاست شبکه را در  تعیین سرنوشت بسته ها مشخص می کند . هنگامی که یک بسته به کنترلر می رسد و کنترلر تصمیم می گیرد که آیا به جریانی که بسته ۱ را ارائه داده است باید اجازه عبور بدهد یا نه . کنترلر توپولوژی شبکه را می داند و مجاز به انجام محاسبات مسیر برای جریان ها است . این دسترسی صریح (محاسبات مسیر) جریان را قادر می سازد تا سوئیچ های شبکه مناسب را در طول مسیر انتخاب کند . کنترلر می تواند برای اجتناب از افزونگی و افزایش عملکرد به بازسازی دست بزند .

مولفه دوم مجموعه ای از سوئیچ های Ethane می باشند . در تضاد  با کنترلرهای واقف به همه چیز[۶] ، سوئیچ ها ساده و کند[۷] هستند که از یک جدول جریان ساده تشکیل شده اند و دارای یک کانال امن با کنترلر بوده و سوئیچ های ساده بسته را به سمت کنترلر ارسال می کنند.

هنگامی که یک بسته می رسد که در جدول جریان وجود ندارد ، سوئیچ ها بسته را (این شیوه بعدا توصیف خواهد شد ) به همراه اطلاعات موجود در مورد پورتی که بسته از آن جا رسیده است به کنترلر می فرستند . اگر بسته ای که وارد سوئیچ می شود  ، اطلاعات آن از قبل در جدول جریان وجود داشته باشد ، سوئیچ آن بسته را به صورت مستقیم به مقصد می فرستد . (چون قبلا کنترلر رفتار با آن را تعیین کرده است ) .

هر سوئیچی که در شبکه Ethane قرار می گیرد الزاما نباید سوئیچ Ethane باشد چرا که طراحی ما اجازه می دهد تا سوئیچ ها به تدریج به شبکه اضافه شوند و شبکه می تواند هر سوئیچ جدیدی که اضافه می شود را به راحتی مدیریت کند .

۱-۲ : اسامی ، اتصالات و سیاست های زبانی :

زمانی که یک کنترلر یک بسته را کنترل می کند در واقع سیاست عمومی را کنترل کرده و به ارزیابی بسته با مجموعه ای از قوانین ساده مانند ” مهمان ها برای برقراری ارتباط با HTTP تنها می توانند از یک پراکسی وب استفاده کنند ” و یا ” تلفن های VOIP امکان برقراری ارتباط با لپ تاپ ها را ندارند ” . اگر ما بخواهیم سیاست های عمومی را بر روی قطعات فیزیکی اعمال کنیم ، نیاز داریم تا قابلیت اطمینان و امنیت یک بسته را بوسیله ارتباط با کاربر و گروه و یا ماشینی که بسته را می فرستد تامین کنیم . اگر نگاشتی بین نام ماشین ها و آدرس های IP (DNS) وجود داشته باشد یا بین آدرس IP ها و آدرس های MAC (ARPو DHCP) که در جای دیگر به کار گرفته می شوند و غیر مجاز هستند ، ما نمی توانیم به بسته ها اجازه ارسال بدهیم حتی اگر کاربر معتبری در شبکه باد . این یک ضعف گسترده در شبکه های فعلی می باشد .

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

نخست ، Ethane تمامی آدرس های اتصالات را برعهده می گیرد . وقتی که ماشین ها از DHCP برای در خواست IP استفاده می کنند ، Ethane می داند که پورت سوئیچ به دستگاه متصل است و Ethane صفات یک بسته رسیده از پورت فیزیکی را می تواند بدست آورد .

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

چندین نتیجه عالی از کنترل می توان بدست آورد که درباره کاربران و ماشین ها و اتصالات بین آن ها می باشد .

اول این که کنترلر ها می توانند موقعیت هر کدام از موجودیت ها را نگهداری کنند و هنگامی که آن ها حرکت می کنند کنترلرها بسته های را که از پورت های مختلف سوئیچ ها می رسد را کشف می کنند .کنترلرها می توانند اجازه انتخاب به جریان جدید بدهند یا آن را مجبور به انکار جریان انتقال داده شده کنند ( به عنوان مثال برای محدود کردن تلفن ها VOIP سیار (موبایل) با توجه به مقررات E911)

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

در اصل Ethane استفاده از یک سیاست خاص زبانی را اجبار نکرده است. ما با این حال ما Pol—Eth را طراحی و استقرار داده ایم که در آن سیاست ها مجموعه ای از قوانینی هستند که شامل اسنادی برای تطبیق جریان های که مجموعه ای از نتایج اقدامات [۸] هستند ، می باشند .

(به عنوان مثال ، اجازه می دهد[۹] ، انکار[۱۰] می کند و یا مسیری با چند ایستگاه[۱۱] را پیشنهاد می دهد ) . همان طور که خواهیم دید Pol – Eth مجموعه کوچکی از قوانینی است که به سادگی می توانند درک شوند و سیاست های انعطاف پذیری و قوی را برای شبکه های بزرگ و پیچیده ایجاد کنند .

۲-۲ : Ethane در استفاده :

ما در حال حاضر ۵ فعالیت اساسی را برای تعریف شبکه Ethane تعریف می کنیم که در شکل ۱ نمایش داده شده است :

شکل ۱ : مثالی از ارتباطات در شبکه Ethane

راه اندازی روتر با نقطه چین و مسیر اولیه بسته هر جریان با خطوط بریده نمایش داده شده است .

ثبت نام [۱۲]. تمام سوئیچ ها ، کاربران و میزبان ها در کنترلر ثبت نام می کنند و اعتبار آن ها باید تایید شود . اعتبار بستگی به نحوه استفاده از مکانیزم های احراز هویت دارد . به عنوان مثال ، میزبان ها ممکن است بوسیله آدرس MAC احراز هویت شوند و کاربران برای تصدیق خود از نام کاربری و رمز عبور استفاده کنند و سوئیچ ها برای این هدف از گواهی امن بهره خواهند برد . تمام سوئیچ ها اعتبار مورد نیاز خود را از طریق کنترلر بدست می آورند  .( به عنوان مثال با استفاده از کلید عمومی کنترلر ).

خود راه اندازی [۱۳]. سوئیچ ها با ایجاد ریشه در یک درخت پوشا در کنترلر راه اندازی می شوند . درخت پوشا ایجاد شده هر سوئیچ را با ایجاد یک کانال امن احراز هویت می کند . (کانال امن بین سوئیچ و کنترلر ) . هنگامی که یک اتصال امن ایجاد شد ، سوئیچ ها به ارسال اطلاعات به کنترلر می پردازند و با این اطلاعات به بازسازی توپولوژی شبکه می پردازند .

راه اندازی جریان[۱۵] .

انتقال[۱۷] .

۱-۳ : یک شبکه Ethane :

شکل ۲ نوعی از شبکه Ethane را نمایش می دهد . میزبان ها در آن اصلاح نشده اند و اتصال با یک سوئیچ Ethane سیمی یا نقاط دسترسی[۱۸] بی سیم Ethane می باشد .( از این پس خطاب ما به هر دو نوع سوئیچ می باشد ) .

شکل۲ : مثالی از شبکه Ethane

هنگامی که ما یک سوئیچ Ethane را به شبکه اضافه می کنیم ،آن سوئیچ کنترلر را پیداکرده و یک کانال آمن به سوی آن باز می کند و به کنترلر کمک می کند تا شکل توپولوژی شبکه را بیابد .

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

از دیدگاه یک سوئیچ ، بسته های یک میزبان جدید تنها قسمت ساده ای از یک جریان جدید می باشد و بنابراین آن بسته ها به صورت اتومات در یک کانال امن به سوی کنترلر به همراه ID و پورت سوئیچی که به آن وارد شده ارسال می شوند .

کنترلر به احراز هویت میزبان ها و اختصاص آدرس IP به آن ها می پردازد . (کنترلر شامل یک سرور DHCP می شود).

۲-۳ : سوئیچ ها :

یک سوئیچ Ethane سیمی مانند یک سوئیچ اترنت ساده است که دارای چندین رابط اترنت می باشد که برای دریافت و ارسال بسته های اترنت استاندارد از آن استفاده می کند .

با این حال این سوئیچ ها بسیار ساده تر از سوئیسچ های معمولی اترنت می باشند که سوئیچ Ethane هیچ گونه نیازی به آن ها دارند چرا که یک سوئیچ Ethane نیازی به یادگیری آدرس ها ، پشتیبانی از VLAN ها و کنترل آدرس مبدا برای جلوگیری از کلاهبرداری را ندارد . (به عنوان مثال زمان شروع و پایان جریان ها ) .

یک سوئیچ Ethane به جایگزینی لایه ۳ سوئیچ یا روتر می پردازد و نیازی به حفظ جداول انتقال و ACL ها یا NAT ها ندارد .

هم چنین سوئیچ های Ethane نیازی به اجرای پروتکل های مسیریابی مانند OSPF ، ISIS ، RIP ندارند و نیازی به جداسازی پشتیبانی برای SPAN ها و پورت های تکراری ندارند . (به طور مستقیم از جداول جریان کنترلر استفاده می شود ).

هم چنین شایان ذکر است که جدول جریان می توانند چندین دستور کوچکتر از جدول انتقال در سوئیچ اترنت را انجام دهد . در یک سوئیچ اترنت ، سایز جدول حداقل ترافیک پخشی [۱۹]می باشد .

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

از سوی دیگر ، سوئیچ های Ethane جداول جریان بسیار کوچکتری دارند ، آن ها فقط نیاز به پیگیری جریان در حال پیشرفت را دارند . برای یک شبکه سیمی ، دریک زمان چیزی در حدود ۱۰۰ ورودی خواهیم داشت که در یک بخش کوچکی از یک تراشه سوئیچ نگهداری می شوند . حتی برای یک سوئیچ محیط باز ( محیط دانشگاهی ) که در آن شاید دهها هزار نفر در حال انجام عملیات بر روی جریان ها  هستند ، می توانند از یک تراشه حافظه برای صرفه جویی در وقت و انرژی استفاده کنند .

ما انتظار داریم که سوئیچ Ethane به مراتب ساده تر از یک سوئیچ اترنت باشد ، البته بدون آن که قابلیت های خود را از دست بدهند . در حقیقت ما انتظار داریم که یک box بزرگ که از تجهیزات قوی و گران قیمتی ساخته شده توسط چند تراشه که بر روی یک board قرار دارند جایگزین شوند .

جدول جریان ها و جریان های ورودی .

تعیین مسیر داده در سوئیچ ها در واقع مدیریت جدول جریان است . جریان ورودی حاوی یک سرآیند (برای مقایسه بسته ها با یکدیگر) و یک اقدام[۲۰] (به سوئیچ گفته می شود که با بسته چه عملی انجام دهد ) و پیش جریان داده (که آن را در ادامه توضیح خواهیم داد ) می باشد .

دونوع ورودی رایج در جدول جریان وجود دارد :

جریان ورودی و توصیفی از جریان های کاربردی که باید فرستاده شوند وجود دارد و هر میزبان ورودی توصیفی از رفتار میزبان ها با بسته ها را بیان می کند . (این بسته ها بر این اساس می توانند drop شوند ) . برای جریان TCP/UDP فیلدهای سرآیند TCP/UDP و IP را پوشش می می دهد و سرآیندهای اترنت اطلاعات پورت فیزیکی را پوشش می دهند .

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

فقط کنترلر می تواند ورودی ها را به جدول جریان اضافه کند . ورودی ها می توانند از جدول جریان خارج شوند زیرا ممکن است زمان آن خاتمه یافته باشد  و جریان آن ها غیرفعال باشد (تصمیم محلی) و یا توسط کنترلر لغو شوند (Revoke) .

کنترلر ممکن است یک جریان بدرفتار[۲۱] را لغو کند یا ممکن است گروهی از جریان های متعلق به یک هاست بدرفتار را حذف کند ، مثلا هاستی که یک شبکه را ترک کرده و یا هاستی که مرتب در حال ایجاد تغییرات است . جدول جریان با استفاده از دوجدول Exact و Match (دقیق و هماهنگ ) پیاده سازی می شود ؛ که یکی برای ورودی های جریان کاربردی می باشد و دیگری برای میزبان های بدرفتار . هرچند که جریان های ورودی دقیق و هماهنگ هستند و به راحتی می توان از طرح های درهم ساز[۲۲] برای حافظه های معمولی به جای TCAM های گران قیمت استفاده کرد .

اقدامات دیگر هم ممکن است به drop  و Forward اضافه شود . به عنوان مثال ، یک سوئیچ ممکن است صف های چندگانه ای برای کلاس های ترافیک مختلف ایجاد کنند و کنترلر می تواند صف بسته ها را در جریان کاربردی ، در داخل یک صف خاص قرار داده و ID صف را به جدول جریان اضافه کند . این می تواند برای جداسازی end to end ، L2 در کلاس های کاربران و یا هاست های استفاده شود .

یک سوئیچ هم چنین می تواند به ترجمه آدرس ها بوسیله جایگزینی سرآیند بسته ها بپردازد . این می تواند برای استفاده در آدرس های مبهم در شبکه های با آدرس مبادله ای [۲۳] در طول مسیر هر سوئیچی به کار رود و یک استراق کننده نمی تواند با میزبان ارتباط برقرار کند یا به پیاده سازی ترجمه آدرس برای NAT در داخل یک آدرس حفاظت شده بپردازد .

در نهایت یک سوئیچ  می تواند ، نرخ جریان را کنترل کند ، هم چنین سوئیچ می تواند ترافیک ارسالی به سمت کنترلر را تا حدودی کاهش دهد . این مقدار کاهش باید تا حد امکان کوچک باشد تا سادگی سوئیچ حفظ شود اگر چه این موضوع در اختیار طراح است .

از طرفی دیگر  ورودی ها می توانند ترافیک ورودی به کنترلر را کاهش دهند و هم چنین هر ترافیکی که در جدول جریان نتواند قرار گیرد بایدبه کنترلر ارسال شود بنابراین در این جا فقط بحث بهینه سازی[۲۴] مطرح است .

مدیریت سوئیچ های محلی .

سوئیچ ها نیاز به مدیریت محلی برای ایجاد و حفظ امنیت کانال برای کنترلر دارند و هم چنین باید بر وضعیت لینک ها نظارت کرده و یک رابط را برای اضافه کردن و تشخیص تغییرات سوئیچ ها در اختیار داشته باشند . (ما مدیریت را در لایه نرم افزاری سوئیچ پیاده سازی می کنیم ) .

دو راه برای گفتگو بین سوئیچ و کنترلر وجود دارد :

اول این که فرض کنیم سوئیچ ها قسمتی از شبکه فیزیکی کنترلر هستند . ما انتظار زیادی از این موارد داریم . به عنوان مثال در یک شبکه شرکتی در محیط گسترده .

در این مورد ، سوئیچ ، کنترلر را با اصلاح درخت پوشای کمینه که در بخش ۷-۳ توصیف شده است پیدا  می کند . نتایج فرآیند در این کانال امن از طریق سوئیچ های متوسط در همه کنترلر ها بسط داده می شوند . اگر سوئیچ در حوزه پخش(broad cast) کنترلر نباشد سوئیچ می تواند یک تونل IP به کنترلر ایجاد کند (بعد از پیکربندی دستی IP آدرس ها ).

این رویکرد می تواندمورد استفاده برای کنترل سوئیچ ها در محل ای دل خواه قرار گیرد به عنوان مثال در کنار یک روتر معمولی یا در مکان راه دور[۲۵] مورد استفاده قرار گیرد . در اولین کاربرد Ethane ، سوئیچ (به احتمال زیاد Access Point در یک شبکه بی سیم ) در یک تجارت کوچک خانگی قرار داده شده است و از راه دور بوسیله یک کنترلر از طریق یک کانال امن مدیریت می شود .

مدیریت در یک سوئیچ محلی وضعیت لینک را به کنترلر می فرستد تا کنترلر بتواند به بازسازی توپولوژی برای محاسبه مسیر بپردازد . سوئیچ شامل لیستی از سوئیچ ها همسایه هستند که با broad cast یک پیام و دریافت جواب این همسایه ها را شناسایی می کنند . لیست همسایه ها بعد از احراز هویت به کنترلر ارسال می شود و هر تغییر قابل تشخیص در وضعیت لینک ها در یک دوره متناوب[۲۶] ۱۵ ثانیه ای به کنترلر ارسال می شود .

۳-۳ : کنترلر :

کنترلر مغز[۲۷] شبکه است و وظایف متعددی دارد . شکل ۳ یک بلوک دیاگرام را نشان می دهد . این اجزا مجبور نیستند که در همه ماشین ها وجود داشته باشند ۰ در واقع آن ها در پیاده سازی ما نیستند ) به طور خلاصه ، کار قطعات به شرح زیر است :

مولفه احراز هویت [۲۸]. که همه ترافیک تایید شده یا آدرس MAC های غیرمحدود را قبول می کند پس کاربران را احراز هویت کرده و میزبان ها با استفاده گواهی نامه های ذخیره شده در پایگاه داده ثبت نام خود را تصدیق می کنند . زمانی که یک هاست یا یک کاربر احراز هویت می شود کنترلر به خاطر می سپارد که کدام پورت سوئیچ به آن ها (کاربر یا میزبان ) متصل است .

شکل ۳ : اجزا یک کنترلر از دید سطح بالا

کنترلر یک فایل سیاست[۲۹] را نگهداری می کند که از داخل جدول مراجعه گردآوری می شود .[۳۰] (به بخش ۴ مراجعه کنید )

هنگامی که یک جریان جدید شروع می شود ، کنترلر آن را با قوانین چک می کند تا ببیند اگر آن باید پذیرفته ، رد و یا مسیریابی شود از طریق ایستگاه بعدی این کار را انجام دهد  . بعد از ان که محاسبه مسیر با استفاده از توپولوژی شبکه صورت پذیرفت به انتخاب مسیر جریان می پردازد . توپولوژی توسط مدیریت سوئیچ   [۳۱] حفظ می شود و دریافت و بروزرسانی لینک های سوئیچ انجام می شود . در ادامه این بخش ما به توصیفات بیشتر عوامل هر جزء پرداخته و البته از بیان سیاست زبانی برای بخش های بعدی اجتناب می کنیم .

ثبت نام .[۳۲] تمام موجودیت های که توسط شبکه نام گذاری شده اند ۰مانند میزبان ها ، پروتکل ها ، سوئیچ ها ، کاربران و کنترل دترسی ها AP) باید ثبت نام شوند . مجموعه ای از موجودیت ها ثبت نام شده سیاست های فضای نام را می سازند و این اصول ثابت که برای اطمینان بیشتر ایجاد شده اند همواره معتبرند . موجودیت ها می توانند به طور ممستقیم در کنترلر ثبت نام کنند یا حتی در پیاده سازی Ethane امکان ثبت نام عمومی مانند LDAP یا AD وجود دارد تا تردیدی برای کنترلر دیگر بوجود نیاید . با ثبت نام سوئیچ ها ، این امکان برای Ethane وجود دارد تا سرویس های پلاگین را برای پیکربندی سوئیچ های اترنت فراهم آورد . براساس این پیکربندی ، سوئیچ ها کلید توزیع شده را در هنگام راه اندازی سیستم (به جای نیاز به توزیع دستی ) با این فرض که شبکه به خطر نیفتد در اختیار همدیگر قرار می دهند .

احراز هویت [۳۳]. همه سوئیچ ها ، هاست و کاربران مجبور هستند که در شبکه احراز هویت شوند . Ethane یک مکانیسم خاصی برای احراز هویت میزبان ها ندارد و یک شبکه می تواند از چندین روش احراز هویت استفاده کند (مثلا ۸۰۲٫۱ برای ورود کاربر مجاز) و موجودیت های مختلف را با این روش احراز هویت کند . در پیاده سازی به عنوان مثال میزبان ها بوسیله ثبت نام آدر س MAC احراز هویت می شوند و کاربراند از طریق یک وب که به سرور کربروس[۳۴] متصل است تصدیق می شوند . سوئیچ ها از SSL به همراه گواهینامه سرور- مشتری[۳۵] برای احراز هویت خود استفاده می کنند .

ردیابی اتصالات[۳۶] . یکی از ویژگی های قدرتمند Ethane این است که به راحتی می تواند تمامی اتصالات بین نام ها و آدرس و پورت های فیزیکی روی شبکه را پیگیری کند و حتی سوئیچ ها ، میزبان ها و میزبان های متصل و ترک کرده[۳۷] و حرکت در اطراف شبکه را ذخیره نماید .

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

یک اتصال همواره به احراز هویت نیاز دارد بنابراین برای جلوگیری از حمله یک مهاجم باید هویت میزبان یا کاربر دیگر را احراز کند . زمانی که کنترلر تشخیص دهد کاربر یا هاستی شبکه را ترک کند ، تمامی اتصالات مرتبط با آن بی ارزش شده و همه جریان ها در شبکه لغو[۳۸] می شوند . متاسفانه در برخی موارد ما نمی توانیم درباره اتصال و یا ترک کردن رخدادها در شبکه مطمئن باشیم . از این رو کنترلر ممکن است دچار وقفه ای برای تشخیص حرکت فیزیکی نقاط دسترسی قبل از لغو دسترسی آن ها شود .

رابط فضای نام[۳۹] . از آن جا که Ethane همه اتصالات بین کاربران ، هاست ها و آدرس ها را بررسی می کند می تواند اطلاعات لازم را به مدیران شبکه ، بازرسان و یا هرکس دیگری که به دنبال فهمیدن این است که چه کسی ، چه بسته ای و چه زمانی آن را ارسال کرد بدهد . در شبکه های فعلی این کار با جمع آوری اثربسته امکان پذیر بسته است و تقریبا غیرممکن است که کاربر یا حتی یک هاست بسته ای را از آدرس های که پویا هستند دریافت و به آن ها ارسال کند و هیچ رابطه شناخته شده ای بین کاربران و آدرس بسته ها وجود نداشته باشد .

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

ما انتظار داریم که کنترلرهای Ethane یک رابط کاربری فراهمبیاورند تا کاربران از طریق آن به اطلاعات دسترسی داشته باشند . در درون سیستم خودمان ما یک سرور DNS اصلاح شده ایجاده کرده ایم که صف های با برچسب زمانی[۴۰] را می پذیرد و فضای نام کاملی را برای هر کاربر ، میزبان یا آدرس IP را برمی گرداند .(ارجاع به بخش ۵) .

بررسی مجوز و دسترسی به آن[۴۱] . پس از دریافت یک بسته کنترلر به بررسی سیاست ها برای عمل به اقدامات (Actions) می پردازد . نتایج این بررسی ها (اگر جریان مجاز باشد) به مولفه محاسبه مسیر فرستاده می شود تا محدودیت های سیاستی برای تعیین مسیر اعمال شود .

در پیاده سازی ما همه مسیرها از پیش محاسبه شده و شامل یک جفت الگوریتم کوتاه ترین مسیر هستند . در بخش ۴ به توصیف این مدل و پیاده سازی آن می پردازیم .

محدودیت های اجرای منابع[۴۲] . موارد بسیاری وجود دارد که یک کنترلر می خواهد منابع را برای کاربران ، میزبان ها یا جریان ها محدود کند . برای مثال کنترلر مایل است که نرخ یک جریان را محدود کند ، این محدودیت می تواند در محدود کردن نرخ برای یک جریان جدید و یا محدودیت در تعداد آدرس IP های اختصاص یافته باشد .

این محدودیت ها به طراحی کنترلر و سوئیچ بستگی دارد و آن می تواند تا حدامکان در اختیار مدیر شبکه باشد . به طور کلی ، Ethane به اجرا در آوردن این محدودیت ها را آسان می کند و این کار را می توان با نصب یک فیلتر در جدول جریان یا اعمال محدودیت در نرخ جریان سوئیچ اجرا کرد . قابلیت مدیریت مستقیم منابع در یک کنترلر یکی از ابزارهای اصلی برای حفاظت شبکه است (و البته کنترلر ) و مانعی مهم برای حملات فرسایشی می باشد (نظیر DOS) .

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

اگر میزبان ها آدرس خود را جعل[۴۳] نمایند کنترلر می تواند پورت سوئیچ آن ها را غیر فعال کند . یک رویکرد مشابه می توان برای جلوگیری از احراز هویت سیل آسا میزبان ها تعریف کرد .

حملات فرسایشی جریان از طریق محدودیت منابع نیز امکان پذیر است . درخواست راه اندازی هرجریان به یک کاربر ، میزبان یا کنترل دسترسی(AP) مربوط می شود ، پس کنترلر نمی تواند تعداد جریان های هر منبع را شناسایی کند .

شبکه نیز ممکن است از سیاست های اختصاص جریان پشتیبانی کند . به عنوان مثال یک سوئیچ نرم افزاری ( سخت افزاری) یکپارچه که امکان پیاده سازی سیاست ها را دارد . این سیاست ها عبارتند از اجرای محدودیت سخت افزاری بر روی تعدادی از جریانات منابع و محدودیت بر روی جریان های که در ارسال جداول نرم افزاری کُند ( ویا فراوان می باشند ) هستند .

۴-۳ : مدیریت Broadcast  و Multicast :

شبکه های سازمانی معمولا ترافیک موجود را Broad cast یا Multi cast می کنند . Broad cast ترافیک ارزشمندتر (که باعث کشف پروتکل های از قبیل ARP می شود) از Multi cast ترافیک است (که اغلب در موارد کاربردی مانند ویدئو استفاده می شود ) . در داخل شبکه های بر پایه جریان مانند Ethane ، برای سوئیچ ها مدیریت Multi cast بسیار آسان است . سوئیچ یک نقشه بیتی از هر جریان را برای شناسایی پورت هایی که بسته ها در مسیر آن ها ارسال می شوند در اختیار دارد .

کنترلر می تواند  درخت Broad cast یا Multicast را محاسبه کرده و بیت های مناسب را به طول مسیر راه اندازی شده اختصاص دهد . در اصل پروتکل های اکتشافی Broad cast  به راحتی در کنترلر مدیریت می شوند .

به طور معمول یک هاست تلاش می کند تا یک سرور یا یک آدرس را پیدا کند ، مسلم است که یک کنترلر همه آن ها را می داند و می تواند به همه درخواست ها بدون ایجاد یک جریان جدید و Broad cast ترافیک پاسخ دهد .

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

در رویکرد ما پروتکل های که رایج تر هستند مستقیما در کنترلر پیاده سازی شده اند و انواع درخواست های ناشناخته با یک نرخ محدود Broad cast می شوند .

واضح است که این رویکرد به خوبی مقیاس پذیر نبوده و ما امیدواریم که Ethane در آینده در زمینه پروتکل های اکتشافی پیشرفت بیشتری نماید .

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

۵-۳ : بازسازی کنترل ؛ تحمل خطا و مقیاس پذیری :

طراحی معماری یک شبکه در اطراف یک کنترلر مرکزی نگرانی ها را در مورد دسترس پذیری و مقیاس پذیری[۴۴] افزایش می دهد . اندازه گیری های ما در بخش ۶ نشان می دهد که هزاران ماشین می توانند بوسیله یک کامپیوتر معمولی مدیریت شوند و چندین کنترلر به شکل مطلوب خطا را تحمل کرده یا مقیاس پذیری را در شبکه های بزرگ رعایت کنند .

در این بخش سه روش برای بازسازی کنترلر مطرح می شود :

در دو رویکرد ساده تر به تنهایی بر روی بهبود خطا متمرکز است . کنترلر فرعی آماده است تا اگر کنترلر اصلی دچار مشکل شد آن ها وارد عمل شوند .

بدون داشتن اتصالات با شبکه[۴۵] یا داشتن اتصال با شبکه[۴۶] . در این مدل بازسازی ، مقیاس پذیری بهبود یافته و درخواست از سوئیچ ها برای Broadcastکردن فعالانه کنترلر ها صورت می پذیرد .

در روش Cold-Standby یک کنترلر اصلی در ریشه درخت پوشای مینیمال (MST) قرار دارد و همه ثبت نام و احراز هویت می شوند و درخواست جریان ایجاد می شود . در این شیوه کنترلرهای پشتیبان گیری بیکار در انتظار به سر می برند تا اگر به آن ها نیازی بود وارد شوند . همه کنترلر ها در ساخت MST شرکت می کنند و پیام Hello  را به تمام ID سوئیچ ها می فرستند .

در یک درخت پوشای استاندارد اگر ریشه کمترین مقدار را داشته باشد ID آن حذف می شود و شبکه به سمت یک ریشه جدید همگرا می شود (یعنی یک کنترلر جدید ) . اگر ریشه MST جدید شروع به ارسال و دریافت درخواست های جریان کند و اقدامات[۴۷] را انجام دهد به عنوان کنترلر اصلی محسوب خواهد شد .

در این روش ، کنترلرها تا حد زیادی از یکدیگر بی اطلاع هستند و پشتیبان گیر تنها به اطلاعات ثبت نام و سیاست شبکه نیاز دارد . ( تغییرات داده ای به آهستگی صورت می پذیرد و روش های سازگار به آسانی می توانند استفاده شوند .  مزیت اصلی روش های Cold –Standby  سادگی آن ها است . آن چه مهم است این است که میزبان ها ، سوئیچ ها و کاربران نیاز به احراز هویت مجدد و اتصال مجدد برای گریز از شکست دارند . علاوه بر این در شبکه های بزرگ ممکن است MST به راحتی همگرا نشود .

روش Warm – Standby رویکردی پیچیده تری دارد اما بازیابی آن سریع تر است . در این روش یک MST جداگانه برای هر کنترلر ایجاد می شود . کنترلرها بر همدیگر نظارت زنده می کنند و پس از تشخیص یک مشکل اولیه یک کنترلر جایگزین به صورت استاتیک کنترل کار را برعهده می گیرد و مانند قبل به آرامی به تغییرات در ثبت نام و سیاست های شبکه که باعث سازگاری کنترلر ها است می پردازد اما نیاز به جایگزینی اتصالات در سراسر کنترلرها داریم ، زیرا اتصالات به سرعت از کاربران و میزبان ها جدید می آیند .

ما توصیه می کنیم که سازگاری به تنهایی به صورت ضعیف حفظ شود زیرا کنترلرها رخدادهای اتصال را به صورت تنها [۴۸] می سازند و با اولین شکست این اتصالات دیگر کارایی نداشته و نیاز است تا کاربران و میزبان ها برای کنترلر جدید خود را مجدد احراز هویت کنند .

رویکرد باسازی کامل [۴۹] یک گام جلوتر است و دو یا چند کنترلر فعال دارد . در حالی که یک MST دوباره برای هر کنترلر ساخته می شود ، یک سوئیچ نیاز دارد تا خود را برای کنترلر دیگر احراز هویت کند و می تواند درخواست های جریان را گسترش دهد ( با hash کردن و round-robin) . در بازسازی ما نباید کار آن ها را دست کمتر از نگهداری سازگاری اتصال ها بدانیم . ما انتظار داریم که بسیاری از پیاده سازی ها به آسانی شرایط را برای ضعف سازگاری رخدادها فراهم آورند . تکنیک های عملی می توانند جلوی بسیاری از مشکلاتی که به این صورت بوجود می آیند را بگیرند به عنوان مثال می توان به استفاده کنترلرها از آدرس IP های خصوصی در DHCP برای جلوگیری از تخصیص IP های موقت را نام برد .البته شناخت خوبی از جایگزین های قوی تر که سازگاری راضمانت می کند وجود دارد ( به عنوان مثال ماشین های بازسازی) .

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

۶-۳ : شکست لینک :

خرابی لینک و سوئیچ ها نباید شبکه را از کار بیندازد[۵۰] .به یاد دارید که سوئیچ  ها همیشه پیام شناسایی همسایگان را به کنترلر ارسال می کردند تا بتوانند موقعیت لینک ها را پیگیری کنند . هنگامی که یک لینک خراب می شود ، سوئیچ تمام ورودی های جدول جریان را که وابسته به پورت خراب هستند را حذف کرده و اطلاعات جدید موقعیت لینک ها را به کنترلر ارسال می کند . به این ترتیب کنترلر توپولوژی جدید را یاد می گیرد . وقتی بسته ای که مربوط به یک جریان حذف شده از سوئیچ است می رسد ، بسته ها به کنترلر ارسال می شوند ، دقیقا مشابه با یک جریان جدید ، کنترلر به محاسبه و نصب یک مسیر جدید بر اساس توپولوژی جدید می نماید .

۷-۳ : خود راه اندازی[۵۱]  :

هنگامی که شبکه راه اندازی می شود سوئیچ ها مجبور به اتصال و احراز هویت بوسیله کنترلر هستند . راه اندازی Ethane مشابه روش SANE است ، در هنگام راه اندازی شبکه به ایجاد یک درخت پوشا کمینه می پردازد و کنترلر به عنوان ریشه انتخاب می شود .

هر سوئیچی با اعتبار کنترلر پیکر بندی می شود و هر کنترلر با اعتبار سوئیچ پیکربندی می شود . اگر یک سوئیچ یک مسیر کوتاه تر به کنترلر پیدا کند ، اگر سوئیچ یک مسیر کوتاهتر با کنترلر پیدا کند ، تلاش می کند تا از طریق آن مسیر احراز هویت صورت پذیرد حتی قبل از آن که مسیر معتبر اعلام شود .

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

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

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

Pol-Eth  یک زبانی است که برای اعلام سیاست های یک شبکه Ethane استفاده می شود .در حالی که Ethane  برای یک زبان خاص اجباری ندارد ما به توصیف Pol-Eth با یک مثال می پردازیم . ما به پیاده سازی Pol-Eth پرداخته و از آن در شبکه نمونه استفاده می کنیم .

۱-۴ : مرور :

در Pol-Eth سیاست شبکه به اعلان مجموعه ای از قوانین است که هرکدام شامل یک سری شرایط و اقدامات[۵۲] مرتبط با آن شرایط می باشند . به عنوان مثال ، قانون خاصی که به کاربر Bob اجازه برقراری ارتباط با یک وب سرور را با استفاده از HTTP می دهد به شکل زیر است :

شرایط . شرط ها یک رابطه از چندین گزاره هستند که خواص مشخصی از یک جریان را که باید اقدام خاصی روی آن انجام شود نشان می دهد . مثلا در قانون قبلی ، اگر کاربر Bob جریانی را شروع کند و جریان از پروتکل HTTP استفاده کند و مقصد جریان websrv باشد سپس به چنین جریانی اجازه (allow) عبور داده می شود . در سمت چپ یک دامنه گزاره ای خاص را نشان می دهد که اگر نتیجه آن درست باشد باید اقدام متناظر با آن صورت پذیرد .

به عنوان مثال گزاره urc=”bob”  شامل همه جریان های می شود که در آن منبع باب است . دامنه های معتبر شامل usrc  ، udst ، hsrc ، hdst ، apsrc ، apdst و protocol می باشند که به ترتیب دلالت بر کاربر ، میزبان و Access Point و پروتکل جریان دارد .

در Pol-Eth ارزش گزاره ها ممکن است تنها شامل نام ها باشد (به عنوان مثال باب) و یا لیستی از نام ها باشد (باب و لیندا) و یا گروهی را شامل شوند (مانندیک ایستگاه کاری) . همه نام ها باید در کنترلر ثبت نام شوند و در فایل سیاست های گروه اعلام شوند .

اقدام [۵۳]. اقدامات شامل اجازه دادن[۵۴] ، انکار[۵۵] ، ایستگاه بین راه[۵۶] ، خارج از مرز[۵۷] (برای امنیت NAT ) می باشند . اعلام ایستگاه بین راه شامل لیستی از موجودیت ها می شود که به مسیریابی جریان از طریق ایستگاه های بین راهی می پردازند (مانند ids و webproxy) .

۲-۴ : قانون و اولویت اقدام :

قوانین Pol-Eth مستقل هستند و حاوی سفارشات نمی باشند بنابراین قوانین چندگانه با اقدامات ناسازگار ممکن است باعث رضایت یک جریان یکسان شود . برای حل این مشکل به اختصاص اولویت[۵۸]  به قوانین و اعلام آن می پردازیم . اگر یک قانون در فایل سیاست موجود باشد که باید همواره به  قوانین دیگر ارجحیت داشته باشد  برای آن اولویت بالاتری را در نظر می گیریم .

متاسفانه در سیستم عامل های چند کاربره امروزی ، دشوار است که از دیگاه شبکه به موضوع خصوصیات ترافیک خروجی به سمت یک کاربر خاص پرداخته شود . در Ethane  اگر چند کاربر جداگانه وارد یک دستگاه مشابه شوند (و درون شبکه قابل شناسایی نباشند ) Ethane   حداقل اقدام (Action) محدود را برای هر جریان انجام می دهد . این باعث یک آرامش مشخص در سیاست امنیتی می شود . ما برای پرداختن به این موضوع به دنبال یکپارچه سازی سیستم عامل های میزبان با کاربر می باشیم .(هر کاربر یک ماشین مجازی با یک MAC منحصر بفرد داشته باشد ).

شکل ۴ : یک مثال از  فایل سیاست با استفاده از Pol-Eth

۳-۴ : نمونه ای از سیاست :

شکل۴ شامل سیاست های حاکم برای اتصال در طرح توسعه ای دانشگاه ما می باشد . فایل سیاست Pol-Eth شامل دو گروه از قوانین جدا از هم می باشد . در این سیاست ، هم جریان های که با قوانین مطابقت نمی کنند مجاز هستند (توسط آخرین قانون) . سرور اجازه برقراری ارتباط با بقیه شبکه را ندارد و باید حفاظت مشابه با DMZ های امروزی را فراهم آورد . تلفن ها و کامپیوترها هرگز نمی توانند ارتباط برقرار کنند . لپ تاپ ها از جریان های داخلی محافظت می شوند (شبیه به حفاظتی که در مورد NAT وجود دارد ) در حالی که ایستگاه های کاری می توانند با یکدیگر ارتباط برقرار کنند .

کاربران مهمان از نقاط دسترسی بی سیم تنها برای استفاده HTTp و وب پروکسی بهره خواهند برد در حالی که کاربران هیچ محدودیتی برای احراز هویت خود ندارند .

۴-۴ : پیاده سازی :

با توجه به چگونگی ایجاد جریان جدید و چگونگی تصمیمات سریع باید سیاست زبانی ساخته شود و این کار در عمل بدون تفسیر سیاست شبکه امکان پذیر نمی باشد . در عوض ، ما نیاز داریم تا آن را کامپایل کنیم . اما کامپایل Pol-Eth کار بیهوده ای است زیرا که فضای نام به صورت بالقوه در شبکه بزرگ است و ایجاد یک جدول مراجعه[۵۹] برای همه جریان ها در سیاست ها عملا غیر ممکن خواهد بود .

پیاده سازی Pol-Eth ما ترکیبی از گردآوری و هم زمانی در ایجاد توابع جستجو خواهد بود . هر قانون با اصولی که به آن اعمال می شود مرتبط است . این هزینه یکبار در زمان راه اندازی و یا ایجاد تغییرات در سیاست ها انجام می شود . اولین باری که یک فرستنده با یک گیرنده جدید ارتباط برقرار می کند یک تابع بررسی اجازه دسترسی سفارشی را به صورت پویا برای رسیدگی به همه جریان های بعدی بین جفت های منبع و مقصد ایجاد می کند . این تابع مجموعه ای از قوانینی است که برای اتصال به کار می رود . در بدترین حالت ، هزینه تولید تابع با تعدادی از قوانین به صورت خطی[۶۰] می باشد (با فرض هر قانون در مورد هر موجودیت منبع).  اگر همه قوانین شامل شرایطی باشد که در آن بشود استاتیک بودن را در زمان اتصال بررسی کرد (به عنوان مثال ، گزاره های که به تنهایی به تعریف کاربران ، میزبان ها و نقاط دسترسی بپردازند ) ، آن گاه تابع بدست آمده تنها شامل یک Action خواهد بود .در غیر این صورت ، هر درخواست جریان نیاز به اقداماتی برای تجمیع در زمان واقعی دارد .

هم چنین ما به پیاده سازی یک کامپایلر منبع به منبه پرداختیم که کدهای تولیدی C++ را در فایل سیاست Pol-Eth اجرا می کنند . در نتیجه این منبع کامپایل و ارتباط دودویی[۶۱] Ethane را بر عهده دارد . تغییرات سیاست ها در حال حاضر نیاز به ارتباط مجدد با کنترلر دارد . ما در حال ارتقاء سیاست های کامپایلر هستیم به گونه ای که تغییرات سیاست ها بتوانند پویایی بارگذاری را در زمان اجرا بوجود آورد .

ما یک شبکه Ethaneکاربردیرا ساخته و آن را در ۴ ماه گذشته در دانشگاه مستقر کرده ایم . در زمان نوشتن این مقاله Ethane به بیش از ۳۰۰ میزبا ثبت نام شده و چند صد کاربر متصل شده بود .

ما ۱۹ سوئچ را در سه نوع متفاوت مستقر کرده ایم :

نقاط دسترسی (AP) بی سیم Ethane و سوئیچ های اترنت Ethane در دو طعم مختلف ( یک Gigabit  در سخت افزار اختصاصی و یکی دیگر در حالت نرم افزاری ) .

ثبت نام میزبان ها که شامل لپ تاپ ها ، پرینترها و تلفن های VOIP و کامپیوترهای رومیزی ، ایستگاه های کاری و سرورها بودند انجام پذیرفته است . ما هم چنین یک سوئیچ راه دور [۶۲] را در یک مکان خصوصی مستقر کرده ایم . تونل های سوئیچ به کنترل از راه دور متصل اند که به مدیریت همه ارتباطات در شبکه خانگی می پردازند . کل شبکه توسط یک کنترلر که بر پایه PC [63] است مدیریت می شوند . در بخش زیر ، ما به توصیف نمونه Ethane و استقرار آن در بخش علوم کامپیوتری دانشگاه استنفورد خواهیم پرداخت و بدین ترتیب به بیان درس ها و نتایجی بر اساس این تجربه خواهیم پرداخت .

۱-۵ : سوئیچ ها :

ما سه سوئیچ Ethane مختلف ساخته ایم :

یک نقطه دسترسی (AP) بی سیم ۸۰۲٫۱۱g (برپایه یک کنترل دسترسی تجاری) ، یک سوئیچ اترنت ۴ پورتی سیمی Gigabit که بسته را به سرعت خط به جلو می برد ( بر پایه یک پلت فرم سوئیچ قابل برنامه ریزی NetFPGA ) و یک سوئیچ اترنت ۴ پورتی سیمی داخل لینوکس که بر روی یک PC رومیزی اجرا می شود ( در نرم افزار ، هر دو به عنوان یک محیط توسعه هستند و اجازه به کارگیری سریع و تکاملی را می دهند ) .

برای طراحی که قابلیت استفاده مجدد را داشته باشد ما به پیاده سازی جدول جریان مشابه در طراحی هر سوئیچ پرداختیم ، حتی از طریق یک پیاده سازی واقعی ما به بهینه سازی پلت فرم پرداختیم .

در جدول اصلی برای بسته های که باید به جلو (Forward) فرستاده شوند (در بخش ۲-۳ ببینید ) در حدود ۸۱۹۲ جریان ورودی وجود دارد وبا استفاده از یک جستجو به مطابقت دقیق همه سرآیندها می پردازیم . ما با استفاده از دو تابع درهم ساز[۶۴] (دو CRCs) احتمال برخورد را کاهش می دهیم و تنها یک جریان در هر جدول خواهیم داشت .

هم چنین ما به پیاده سازی یک جدول دوم[۶۵] با ۳۲k ورودی پرداختیم . ما این کار را انجام دادیم چرا که کنترلر ما دارای مکان مشخصی نیست و ما می خواهیم که اقداماتی که در جدول جریان در خارج از ناحیه می باشند را هم پیاده سازی کنیم .

هنگامی که یک جریان خروجی شروع می شود ، ما تمایل داریم که به راه اندازی مسیر بازگشت در همان زمان بپردازیم (زیرا کنترلر مکان ثابتی ندارد و نمی تواند به یاد آورد که جریان خروجی اجازه داشته است یا نه ).  متاسفانه زمانی که از پروکسی ARP استفاده می شود ما نمی توانیم از آدرس های MAC  جریان بسته ها در مسیر معکوس تا زمانی که بسته برسند ،  مطمئن باشیم .

بنابراین ، ما با استفاده از جدول دوم ، به نگهداری جریان ورودی برای مسیرهای برگشت می پردازیم ( با کلمات آدرس MAC ) و هم چنین برای بسته های Drop شده استفاده می شود .

یک کنترلر با کیفیت به این ورودی ها نیازی ندارد . در نهایت ما یک جدول کوچک را برای جریان در هر فیلد نگه می داریم . این جدول در طول نمونه سازی ما به راحتی وجود دارد که ما می توانیم چگونگی استقرار تعداد ورودی ها یی را که به راه اندازی و کنترل ترافیک نیاز دارند را تعیین کنیم . در حال حاضر جریان ورودی برای درخت پوشا ARP و پیام های DHCP نگهداری می شوند .

نقاط دسترسی (AP) بی سیم Ethane . نقطه دسترسی ما بر روی یک ابزار روتر بی سیم WRTSL54GS اجرا می شود (۲۶۶MHZ MIPS, 32Mb RAM ) که به اجرای OpenWRT می پردازد .

مسیر داده و جدول جریان براساس خطوط ۵k از C++ هستند (۱٫۵k برای جدول جریان است ) . مدیریت سوئیچ محلی در یک نرم افزار نوشته شده است و به کنترلر می گوید که پشته TCP اصلی لینوکس در حال استفاده است . وقتی که هسته در حال اجرا است ، Ethaneاجرای مسیر را با سرعت ۲۳Mb/s انجام می دهد با پل زدن L2 و IP را با همان سرعت به لینوکس می فرستد .

سوئیچ اترنت ۴ پورتی گیگابیت Ethane .

راهحل سخت افزاری . این سوئیچ در NetFPGA نسخه ۲ با ۴ پورت Gigabit اترنت پیاده سازی شد . یک Xilinx Virtex-II FPGA با ۴Mb حافظه SRAM برای بافر بسته ها و جدول جریان وجود دارد . مسیر ارسال سخت افزاری شامل ۷k خط Verilog  می باشد . طول جریان ورودی ۴۰ بایت می باشد . سخت افزار ما می تواند بسته های با حداقل سایز را در یک خط دو طرفه با نرخ ۱Gb/s ارسال کند .

سوئیچ اترنت ۴ پورتی Ethane .

راه حل نرم افزاری . ما هم چنین یک سوئیچ PC رومیزی با قاعده را ساخته ایم (با CPU 1.6GHZ Celeron  و ۵۱۲ Mb DRAM )و یک کارت ۴ پورتی ترنت گیگا بیت بر روی آن قرار دارد .  مسیر ارسال و جدول حریان به صورت بازتابی در سخت افزار ما پیاده سازی می شوند (برای کمک به اشکال زدایی ) .

سوئیچ نرم افزاری ما در داخل هسته می تواند به انتقال بسته های با سایز MTU با ۱Gb/s بپردازد . با این حال ، سایز Drop بسته ها نمی تواند با درهم سازی و وقفه های سرریز در سوئیچ نگهداری شود . در ۱۰۰ بایت ، سوئیچ می تواند تنها به توان عملیاتی ۱۶ Mb/s دست یابد . واضح است در حال حاضر ، سوئیچ نیاز به اجرا در سخت افزار برای دست یابی به عملکرد بالا دارد .

۲-۵ : کنترلر :

ما کنترلر را روی یک PCلینوکس استاندارد اجرا کرده ایم ( CPU با ۱٫۶GHZ از نوع Celeron و DRAM 512 Mb) . کنترلر براساس ۴۵k خط C++ است (با یک ۴k خط اضافه شده برای ایجاد سیاست های کامپایلر ) و ۴٫۵k خط پایتون برای مدیریت رابط ها می باشد .

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

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

در واقع در این جا هر طرح احراز هویتی می تواند مورد استفاده قرار گیرد و هرکسی طرح خود را به اجرا بگذارد .

هم چنین سوئیچ های Ethane نیز به صورت اختیاری میزبان ها را بر اساس آدرس  MAC هایشان که با آن در کنترلر ثبت نام کرده اند احراز هویت می کنند .

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

ما از Brekeley DB برای تنظیم برچسب های زمانی در ورود به سیستم[۶۷] استفاده می کنیم . ما سرور DNS هایمان را برای پشتیبانی از پرس جوهای از نوع key.domin.type-time ارتقاء داده ایم که type می تواند میزبان ، کاربر ، MAC یا پورت باشد . پارامترهای اختیاری زمان اجازه می دهد تا تاریخچه پرس و جوهای مختلف در زمان حاضر نمایش داده شوند .

محاسبه مسیر . مسیرها ازقبل با استفاده از یک جفت الگوریتم کوتاه ترین مسیر محاسبه می شوند . توپولوژی در صورت شکست لینک مجددا محاسبه می شود . این محاسبه با بروز رسانی موقعیت لینک ها به صورت پویا انجام می پذیرد . حتی در توپولوژی های بزرگ ، هزینه به روزرسانی مسیرها در صورت شکست حداقل است . به عنوان مثال به طور متوسط ، هزینه بروزرسانی در یک توپولوژی با ۳۰۰۰ گره چیزی در حدود ۱۰ میلی ثانیه است .

در بخش زیر ما به تجزیه و تحلیل زمان راه اندازی جریان در یک عملیات عادیو با شکست پیوند می پردازیم .

۳-۵ : استقرار :

نمونه Ethane ما در داخل دپارتمانمان با یک شبکه اترنت ۱۰۰mb/s مستقر شده است . ما یازده سوئیچ سیمی Ethane و هشت سوئیچ بی سیم Ethane را نصب کرده ایم . در حال حاضر حدود ۳۰۰ میزبان در داخل این شبکه Ethane قرار دارد که به طور متوسط ۱۲۰ میزبان فعال در پنجره های ۵ دقیقه ای قرار دارد . ما یک سیاست شبکه ای برای تطبیق نزدیکتر  و در بسیاری از موارد کنترل اتصالات حاضر در محل ایجاد کرده ایم .

ما سیاست های موجود را با توجه به استفاده VLAN ها و پیکربندی فایروال میزبان ها و NAT ها و ACL روترها ایجاد نموده ایم . ما هم چنین متوجه شدیم که اغلب فایل های پیکربندی موجود شامل قوانینی هستند که مربوط به وضعیت فعلی شبکه نمی شوند ، در نتیجه این قوانین شامل سیاست های Ethane  نمی شدند .

به طور خلاصه ، در سیاست ما ، اجزایی غیر از سرور (مانند ایستگاه های کاری ، لپ تاپ ها و تلفن ها ) در حال حفاظت ارتباطات خارجی سرورها هستند در حالی که ایستگاه های کاری می توانند به صورت صریح ارتباط برقرار کنند . میزبان های که با یک پورت سوئیچ Ethane مرتبط هستند با یک آدرس MAC ثبت نام می شوند و به احراز هویت کاربران نیاز ندارند .

گره های بی سیم با WPA و یک رمز عبور حفاظت می شوند و به احراز هویت کاربر هم نیازی ندارند . اما اگر آدرس MAC میزبانی ثبت نشده باشد (در شبکه ما بدین معنا است که آن ها مهمان هستند ) آنگاه تنها به تعداد کوچکی از سرویس ها دسترسی خواهد داشت .

(از قبیل :  HTTP , POP , IMAP , SMTP , DNS ,HTTPS,SSH ) .

نقاط دسترسی (AP) بی سیم ما نیاز کاربران را به احراز هویت از طریق سیستم University wide برآورده می کنند . تلفن های VOIP دارای محدودیت های بیشتری  به نسبت دستگاه های غیر از تلفن می باشند و نقاط  دسترسی آن برای جلوگیری از حرکت ثابت می باشند (برای انطباق محل E911 ) . فایل سیاست ما در این زمینه دارای ۱۳۲ خط طولانی است .

استقرار  Ethane درس های به ما درباره عملیات متمرکز در شبکه می دهد و ما را قادر به ارزیابی بسیاری از جنبه های عملکرد و مقیاس پذیری به خصوص با توجه به تعداد کاربران و میزبان های نهایی و سوئیچ های آن ها می کند .

ما کار را با چگونگی انجام کار Ethane در شبکه خودمان شروع کردیم و سپس با استفاده از اندازه گیری های خودمان و داده های دیگران سعی می کنیم عملکرد را برای شبکه های بزرگتر ارتقا دهیم .

در این بخش ، ما ابتدا به اندازه گیری عملکر کنترلر به عنوان تابعی از نرخ درخواست جریان می پردازیم و سپس به بررسی چگونگی تعداد درخواست های جریانی که ما می توانیم از یک شبکه انتظار داشته باشیم تا با اندازه معین به آن ها پاسخ دهد ، می پردازیم . این کار به ما اجازه می دهد تا به سوالات اساسی زیر پاسخ دهیم :

چه تعداد کنترلر برای اندازه معین شبکه نیاز است ؟ ما سپس به بررسی رفتار یک شبکه Ethane در کنار کنترلر و شکست لینک ها می پردازیم .

در نهایت برای کمک به تصمیم گیری عملی و هزینه سوئیچ ها برای شبکه های بزرگتر این سوال را در نظر می گیریم که :

به جدول جریان چه اندازه ای در یک سوئیچ نیاز است ؟

۱-۶ : مقیاس پذیری کنترلر :

به یاد دارید که نمونه Ethane ما در حدود ۳۰۰ میزبان با میانگین ۱۲۰ میزبان فعال در پنجره ۵ دقیقه ای را پشتیبانی می کند . از این میزبان ها ، ما ۳۰-۴۰ درخواست جریان جدید را در هر ثانیه می بینیم (شکل ۵) که در اوج خود به ۷۵۰ جریان در هر ثانیه می رسد .

شکل ۵ : فرکانس درخواست راه اندازی جریان در هر ثانیه که برای کنترلر در طی یک دوره ده ساعته (بالا) و مدت ۴ روز (پایین) ارسال می شود .

شکل ۶ نشان می دهد که چگونه کنترلر در زیر بار کار خود را انجام می دهد . تا ۱۱۰۰۰ جریان در هر ثانیه ، بیشتر از اوج بار ، ما مشاهده می کنیم که جریان کمتر از ۱٫۵ میلی ثانیه در بدترین حالت تنظیم شده و CPU یک بار قابل اغماض را نشان می دهد .

شکل ۶ : زمان راه اندازی جریان به عنوان تابعی از بار کنترلر . اندازه بسته ۱۲B, 64B,256B به طور مساوی توزیع شده است .

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

با استفاده ذهنی از این موضوع ، این سوال ارزش پرسدن دارد که چه تعداد از میزبان های پایانی مربوط به چنین بارگذاری می شوند ؟

ما دومجموعه داده [۶۸] تازه را در نظر گرفته ایم : یکی با شبکه ای که ۸۰۰۰ هاست در LBL دارد و یکی دیگر شبکه ای با ۲۲۰۰۰ هاست در دانشگاه استنفورد می باشد .تعداد حداکثر جریان برجسته در LBL هرگز از ۱۲۰۰ جریان در ثانیه در تمام گره ها بیشتر نمی شود (شکل ۷) .

شکل ۷ : جریان های فعال برای LBL

مجموعه داده استنفورد حداکثر ۹۰۰۰ در خواست جریان جدید در ثانیه را شامل می شود (شکل۸ )

شکل ۸ : نرخ درخواست جریان برای شبکه استنفورد

شاید شگفت آور باشد ولی نتایج ما نشان می دهد که کنترلر تکی می تواند به راحتی یک شبکه با بیش از ۲۰۰۰۰ میزبان را مدیریت کند . در واقع تاخیر راه اندازی جریان برای ادامه بار تا ۶۰۰۰/s  کمتر است . ۶ میلی ثانیه ، معادل متوسط زمان تاخیر برای یک درخواست DNS در داخل شبکه استنفورد است . تاخیر راه اندازی جریان برای بارگذاری درخواست های زیر ۲۰۰۰ تا در یک ثانیه برابر ۴ میلی ثانیه است ، این تقریبا معادل با میانگین RTT بین میزبان ها در زیر شبکه های مختلف در یک شبکه دانشگاهی است .

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

۲-۶ : عملکرد در شکست ها :

از آن جا که کنترلر ما برای بازیابی در شکست ها به صورت cold-standby طراحی شده است (بخش ۵-۳ را ببینید ) ، شکست یک کنترلر منجر به قطع خدمات برای جریان های فعال و تاخیر می شود چرا که جریان باید دوباره ایجاد شده و ارسال شود .

درک این که چه مدت نصب مجدد و راه اندازی یک جریان طول می کشد خیلی مهم است . اتمام ۲۷۵ درخواست HTTP متوالی و بازیابی آن ها در مجموع ۶۳Mb خواهد بود . این در حالی بود که وقتی در خواست ها در حال انجام بود کنترلر ما سقوط [۶۹]کرد و مجبور شدیم آن را برای چندین بار راه اندازی مجدد کنیم .

جدول ۱ نشان می دهد که به وضوح یک جریمه برای هر شکست وجود دارد که چیزی در حدود ۱۰% زمان کلی را افزایش می دهد .

جدول ۱ : زمان اتمام ۲۷۵ فایل HTTP که کنترلر با شکست اولیه مواجه می شود . نتایج میانگین بیش از ۵ بار هستند .

این مشکل را می توان تا حد زیادی از بین برد ، البته در یک شبکه که از warm-standby استفاده کند کنترلر سریعتر می تواند شکستها را پوشش دهد (بخش ۵-۳ را ببینید ) .

در شکست لینک ها در Ethane نیاز است که همه جریان های برجسته دوباره با کنترلر به منظور برقراری مجدد مسیر تماس برقرار کنند . اگر لینک به شدت مورد استفاده قرار گیرد ، کنترلر در خواست Storm را دریافت کرده و متوجه می شود که عملکرد به زودی کاهش خواهد یافت .

ما به ایجاد یک توپولوژی با مسیرهای دارای افزونگی می پردازیم بنابراین شبکه می تواند در مقابل شکست لینک ها مقاومت کرده و زمان تاخیر تجربه شده توسط بسته ها اندازه گیری شود . شکست ها بوسیله یک لینک فیزیکی شبیه سازی شدند . نتایج ما در شکل ۱۰ نشان داده شده است .

شکل ۹ : جریان های فعال از طریق دو سوئیچ مستقر شده

شکل ۱۰ : زمان تاخیر رفت و برگشت توسط بسته از طریق توپولوژی در طول شکست پیوند

در تمام موارد ، مسیرها در کمتر از ۴۰ میلی ثانیه تبدیل می شوند اما یک بسته می تواند تا یک ثانیه تاخیر کند در حالی که کنترلر با سراسیمگی در حال رسیدگی به درخواست ها است . سیاست شبکه ما اجازه می دهد تا چندین مسیر مجزا زمانی که جریان شروع شد توسط کنترلر راه اندازی شوند . به این ترتیب ، همگرایی در طول شکست سریع تر می تواند رخ دهد به خصوص اگر سوئیچ ها شکست را شناسایی کنند می توان به پشتیبان گیری[۷۰] از جریان ورودی بپردازند .

ما این کار را در این نمونه پیاده سازی نمی کنیم اما در حال برنامه ریزی برای انجام این کار در آینده هستیم .

۳-۶ : اندازه گیری  جدول جریان :

در نهایت ما در مورد مقدار بزرگ شدن جدول جریان در سوئیچ ها صحبت می کنیم . در حالت ایده آل ، سوئیچ می تواند تمامی جریان های فعال اخیر را نگهداری کند . شکل ۹ نشان می دهد که چه تعداد جریان فعال در استقرار   Ethane ما دیده می شود . در این شکل هرگز بیش از ۵۰۰ جریان وجود ندارد . با یک جدول ۸۱۹۲ ورودی و دو تابع جدول درهم ساز[۷۱] ما هرکز با برخورد [۷۲]مواجه نمی شویم .

همان طور که قبلا در شکل ۷ توصیف شد ، هرگز شبکه LBL با بیش از ۱۲۰۰ جریان در ۸۰۰۰ میزبان شبکه خود مواجه نشد . در عمل ، تعداد جریان مداوم بستگی به این دارد که سوئیچ در کجای شبکه مستقر است . هرچه سوئیچ ها به لبه ها نزدیکتر باشند تعداد جریان های بیشتری متناسب با تعداد میزبان های متصل را دریافت خواهند کرد .(مثلا گنجایش خروجی خود ) سوئیچ های ما دارای گنجایش خروجی ۴ بوده و بیش از ۵ جریان وجود دارد . ( باید توجه داشت که این یک برآورد بسیار محافظه کارانه با توجه به تعداد کم جریان ها در شبکه LBL می باشد ) .

یک سوئیچ در مرکز یک شبکه به احتمال زیاد جریان های فعال تری را خواهد دید و بنابراین فرض ما این است که همه جریان های فعال را ببیند . هم چنین حافظه مورد نیاز برای یک سوئیچ Ethane در مقایسه با سوئیچ های اترنت امروزی کاملا مناسب است .

برای بررسی بیشتر  مقیاس پذیری کنترلر ، ما عملکرد آن ها را با ورودی شبیه سازی شده در نرم افزار شناسایی سربار آزمایش کردیم . کنترلر با یک فایل سیاست ۵۰  قانونی طراحی شده ااست و ۱۰۰ فرد ثبت نام شده وجود داشتند  و مسیرها مجدد محاسبه و ذخیره شدند . تحت این شرایط این سیستم می تواند ۶۵۰۸۴۵ رخداد اتصال در هر ثانیه ایجاد کرده و اجازه ۱۶۹۷۲۶۰۰ اتصال را در هر ثانیه بدهد .

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

هنگامی که در تلاش برای استقرار یک معماری کاملا جدید به جای شبکه های قدیمی هستید ، مطمئنا با برخی از موانع و محدودیت ها مواجه می شوید . این مسائل عبارتند از :

Broadcast و کشف سرویس ها . پروتکل های اکتشافی Broadcast ( از قبیل : ARP  ، OSPF ، شناسایی همسایه و .. ) که در شبکه های شرکتی که حجم عظیمی از ترافیک سربار را دارند با مشکل مواجه می شوند . در شبکه  ما ، این ترافیک ها بیش از ۹۰% جریان را تشکیل می دهند . یکی از بزرگترین دلایلی که VLAN ها در شبکه های شرکتی بزرگ حضور دارند کنترل Broadcast ترافیک (از نوع طوفانی یا همان Storm ) می باشد . میزبان اغلب پیام Broadcast  را به شبکه می فرستد و تلاش می کند تا آدرس ها ، همسایه ها یا سرویس ها را بیابند .

Ethane می تواند پروتکل را تفسیر کرده و پاسخ طرف مقابل را بدهد ، Ethane به Broadcast برای پاسخ به همه درخواست ها نیاز دارد ، و خود این موضوع شامل ایجاد تعداد زیادی جریان ورودی می شود که منجر به ترافیک زیادی خواهد شد و اگر یک بدخواه[۷۳] به همه میزبان های پایانی دسترسی داشته باشد شبکه دچار مشکل خواهد شد .

اگر یک استاندارد برای ثبت یک سرویس وجود می داشت آن گاه پروتکل اکتشافی Broadcast را می توانستیم حذف کنیم . طراحی چنین استانداردی کار ساده است ، SANE یک چنین طرحی را پیشنهاد داده است و عقیده ما این است که این کار در دراز مدت پیشنهاد درستی است .

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

به عنوان مثال اگر A مجاز به صحبت با B باشد ولی با C نباشد و اگر B بتواند با C صحبت کند سپس B می تواند به بازپخش پیام A برای C بپردازد . این کار می تواند در لایه ای بالاتر از IP رخ دهد . به عنوان نمونه یک برنامه P2P که باعث ایجاد پوشش در لایه کاربرد می شود و یا مشتریان خانگی که به چندین شبکه متصل می شوند می توانند این نقش را به انجام رسانند . این یک مشکل پیچیده است و به احتمال زیاد نیاز به یک تغییر در سیستم عامل و هر ماشین مجازی در حال اجرا بر روی میزبان دارد .

اطلاع از کار انجام شده برای کاربران . سیاست Ethane فرض می کند که شماره پورت انتقال نشان دهنده کار انجام شده توسط کاربر است . از قبیل پورت ۸۰ HTTP ، پورت ۲۵ SMTP و به همین ترتیب .

یک کاربر مخرب (بدخواه) می تواندتبانی کند و یا برنامه های کاربردی می توانند با فریب Ethane به استفاده از شماره پورت های غیر استاندارد بپردازند و می توانند از برنامه های کاربردی مشترکی که خوب به نظر می رسند و دارای بیش از یک پورت هستند (از قبیل پورت ۸۰) استفاده کرده و به فایروال باز دسترسی یابند .

تا حدودی می توان گفت همیشه مشکلاتی برای مکانیسم های مشابه Ethane وجود خواهد داشت مخصوصا در اتصالات بدون دخالت میزبان پایانی این مشکلات بیشتر نمایان خواهد شد . در کوتاه مدت ما  برای حل این مشکل می توانیم پروکسی های نرم افزاری را در طول مسیر قرار دهیم ( با استفاده از مکانیسم ایستگاه های بین راهی Ethane ) .

اختلال در آدرس اترنت . سوئیچ های Ethane در اتصالات بین یک کاربر و آدرس اترنت فقط به شناسایی جریان اعتماد می کنند . اگر یک کاربر به جعل [۷۴] یک آدرس MAC اقدام کند ممکن است Ethane فریب خورده و اقدام به انتقال بسته ها به میزبان پایانی نماید . راه حل این مشکل بسیار ساده است ، در یک شبکه Ethane که تنها هر پورت سوئیچ به یک میزبان متصل است و سوئیچ می تواند بسته های را که آدرس MAC آن ها اشتباه است را drop کند .

اگر دو یا چند میزبان پایانی به یک پورت سوئیچ مشابه متصل باشند ممکن است یک نفر خود را به جای دیگری جابزند (Masquerade) . یک راه حل ساده این است که جلوی آن ها را از طریق فیزیکی بگیریم . یک راه حل عملی تر در شبکه های بزرگتر استفاده از ۸۰۲٫۱X در رابطه با مکانیزم های رمزنگاری در سطح لینک از قبیل ۸۰۲٫۱AE می باشد که به تصدیق امن بسته ها و آدرس های می پردازد .

Ethane شامل فلسفه ۴D و ساده سازی Data plane و تمرکز Control plane برای به اجرا درآوردن اهداف شبکه می باشد . Ethane از ۴D منشعب شده (البته با آن متفاوت است) که در پشتیبانی از سیاست مدیریت سیستم به خوبی پشتیبانی می شود .

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

شبکه های Ipsilon تصمیمات مسیریابی را با ذخیره IP  جریان ها انجام داده و به منظور ارائه روشن تر یک سوئیچ چند سرویس را در یک مسیر سریع به روترهای سنتی تحویل می دهد . Ethane هم چنین جریان ها را به صورت ابتدایی انتقال می دهد ، با این حال گسترش انتقال Ethane شامل قابلیت های مفیدی برای اجرای امنیت از جمله مبادله آدرس و اجرای جریان خروجی می باشد .

در فایروال ها ی توزیع شده ، سیاست مرکزی در یک توپولوژی مستقل برای هر هاست نهایی اجرا می شود . علاوه بر این حسابرسی و مدیریت پشتیبانی متفاوت Ethane به دو روش اصلی انجام می شود :

اول : در داخل میزبان های پایانی Ethane که نمی  توان به آن ها اعتماد کرد فیلتر می شوند . این عدم اعتماد به معنای اولین پرش در سوئیچ می باشد . هر سوئیچ که جریانی را اجرا کند Ethane حداکثر دفاع در عمق را از آن می نماید .

دوم : بسیاری از قدرت Ethane بوسیله تضمین سطح شبکه فراهم می آید مانند سیاست ایستگاه های بین راه . باید توجه داشت که تنها از طریق یک میزبان  پایانی امکان فیلتر وجود ندارد .

سیاست های زبانی Ethane (Pol-Eth) با الهام از گزاره های به مسیریابی می پردازد . این گزاره های عمومی مسیریابی و فیلتر را به صورت یکپارچه اجرا می کنند و مجموعه ای از این گزاره ها اتصالات را توصیف می کنند . با گسترش مدل Pol-Eth می توان برای کاربران به ساخت کلاس ها و اشیاء اقدام کرد و گزاره های سطح بالا از گروه ها پشتیبانی خواهند کرد و محدودیت های در اتصالات را فراهم می آورند .

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

تعدادی هویت مبتنی بر شبکه (IBN)[75] سفارشی در سوئیچ ها وجود دارد مانند سرورهای امن AAA که به سیاست های سطح بالا اجازه تعریف می دهند اما به طور کلی اشاره ای به راه حل ها کنترلی بر روی مسیر داده در شبکه نمی کنند . تعدادی از آن ها به میزبان های پایانی برای اجرای قانون ها تکیه می کنند که باعث ایجاد خطر برای آن ها می شود .

یکی از پیامد های متفاوت این مقاله ساخت اولین نمونه می باشد که باعث می شود درس های متفاوت زیادی را به ما یاد دهد و معمولا به مقدار زیادی نتایج حاصله بیش از انتظار ما بود . Ethane نشان داد که دارای خواص خوب و بد زیادی است .

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

توسط ثبت های روزانه همه ثبت نام ها و اتصالات و مشکلات شبکه قابل شناسایی بودند و این برای مدیران شبکه نشانه خوبی است که می توانند ترافیک شبکه و نظارت شبکه را در کنار هم و به صورت متمرکز به راحتی در اختیار داشته باشند .

ما هم چنین راه هایی را برای اضافه کردن ویژگی های جدید به شبکه پیدا کرده ایم ، از جمله با گسترش سیاست زبانی ، اضافه کردن الگوریتم های مسیریابی جدید (مانند حمایت از مسیرهای زائد یا همان اضافه ) ، معرفی نرم افزارهای پروکسی جدید به ایستگاه ببن راهی .

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

ما مطمئن هستیم که کنترلرها می توانند از مقیاس پذیری در شبکه های بزرگ پشتیبانی کنند . نتایج ما نشان می دهد که یک کنترلر تکی می تواند ۱۰۰۰۰ ماشین را به خوبی مدیریت کند . در عمل ما انتظار داریم که کنترلرها امکان تکرار و کپی موقعیت های مکانی و توپولوژی ها را بر روی شبکه داشته باشند و در عین حال Ethane محدودیتی برای مدیر شبکه ایجاد نمی کند .

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

ما متقاعد شده ایم که سوئیچ های معمولی بهترین ها برای شبکه ما هستند و نیازی به مدیریت نرم افزاری بر روی آن ها نمی باشد . ما در حال حاضر تجربه ساخت سوئیچ ها و روترها را برای Ethane داریم و سوئیچ Ethane ساده ترین سوئیچی است که ما دیده ایم . علاوه بر این سوئیچ ها ، فقط در مرکز شبکه ساده تر از لبه های کناری هستند ، زیرا سوئیچ ها از یک جدول جریان تشکیل می شوند که ساخت آن به روش های ساده گوناگونی امکان پذیر است : در نرم افزارهای جاسازی شده در سخت افزارها ، داخل پردازنده های شبکه برای استقرار سریع و در ASICهای سفارشی برای حجم بالا و هزینه کم .

نتایج ما نشان می دهد که سوئیچ Ethane به طور قابل توجهی ساده تر ، کوچک تر و کم مصرف تر از سوئیچ ها و روترهای اترنت خواهد بود .

ما پیش بینی می کنیم که نو آوری در سوئیچ ها بیش از انتظار خواهد بود . برای مثال ، در حالی که سوئیچ ها یک صف FIFO  را حفظ می کنند می توانند به ایجاد صف های چندگانه[۷۶] بپردازند که کنترلر در آن تصمیم گیرنده و تععین کننده صف فعال جریان ها خواهد بود . این امر منجر به بسیاری از امکانات خواهد شد از جمله : هر کلاس یا جریان در صف ها می تواند اولویت بندی شود و بدین شکل می توان یک ترافیک خاص را منزوی کرد و به کنترل نرخ خط پرداخت .

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

تشکر و قدردانی

منابع و مراجع

مترجم : معاونی

www.moaveni.ir

Email:moaveni1@gmail.com

Tel: 0933 829 38 95

[۱] Multi – Vendor

[۲] Elements

[۳] IDS

[۴] Real time

[۵] Fork Lift

[۶] omniscient

[۷] Simple & Dumb

[۸] Actions

[۹] Allow

[۱۰] Deny

[۱۱] Route via away point

[۱۲] registration

[۱۳] Bootstrapping

[۱۴] Authentication

[۱۵] Flow Setup

[۱۶] Deny

[۱۷] Forwarding

[۱۸] Access Point

[۱۹] Broad Cast

[۲۰] Action

[۲۱] Badly behaved flow

[۲۲] Hash

[۲۳] Swapping

[۲۴] optimization

[۲۵] remote

[۲۶] periodically

[۲۷] Brain

[۲۸] Authentication Component

[۲۹] Policy File

[۳۰] Lookup Table

[۳۱] Switch manager

[۳۲] registration

[۳۳] Authentication

[۳۴] Kerberos

[۳۵] Client – side

[۳۶] Tracking Binding

[۳۷] Join & Leave

[۳۸] Revoke

[۳۹] Name Space Interface

[۴۰] Time Stamp

[۴۱] Permission Check and access granting

[۴۲] Enforcing Resource Limits

[۴۳] Spoof

[۴۴] Available & Scalable

[۴۵] Cold – Standby

[۴۶] Warm – Standby

[۴۷] Actions

[۴۸] Atomic

[۴۹] Fully – replicate

[۵۰] Down

[۵۱] Bootstrap

[۵۲] Actions

[۵۳] Action

[۵۴] allow

[۵۵] deny

[۵۶] waypoint

[۵۷] Out bound only

[۵۸] priority

[۵۹] Lookup Table

[۶۰] Linearly

[۶۱] Binary

[۶۲] Remote Switch

[۶۳] PC -based

[۶۴] Hash

[۶۵] Second table

[۶۶] Time Stamp

[۶۷] Log

[۶۸] dataset

[۶۹] Crash

[۷۰] Back up

[۷۱] Hash – table

[۷۲] collision

[۷۳] Malicious

[۷۴] Spoof

[۷۵] Identity Based Network

[۷۶] Multiple Queues

Open Flow »

دانلود نسخه پی دی اف این مقاله (لطفا امانتدار باشید )

به نام خدا

Open Flow :

فعال کردن نوآوری ها در شبکه های محیط دانشگاهی(باز) :

Open Flow : Enabling innovation in campus network

چکیده :

در این مقاله به ارائه پیشنهاد Open Flow می پردازیم : می خواهیم راه را برای محققان در اجرای پروتکل های تجربی در شبکه های که هرروزه از آن استفاده می کنیم باز کنیم .

Open Flow اساس کار سوئیچ های اترنت است است که در آن یک جدول جریان داخلی[۱] وجود دارد و یک رابط استاندارد شده برای حذف و افزودن جریان های ورودی دارد . هدف ما این است که فروشندگان تجهیزات شبکه را تشویق کنیم تا Open Flow را به محصولات سوئیچ خود اضافه کرده تا بوسیله آن به استقرار back bone های دانشگاهی و شبکه های سیمی خصوصی بپردازیم .

ما باور داریم که Open Flow در عمل سازگار است چرا که از یک سو به محققان امکان انجام آزمایشات را بر روی انواع سوئیچ های گوناگون (ناهمگن) را می دهد و از سوی دیگر لازم نیست که فروشندگان به افشای فعالیت داخلی سوئیچ ها بپردازند .

علاوه بر این به محققان اجازه می دهد تا ایده های خود را در یک ترافیک واقعی ارزیابی کنند . Open Flow می تواند به عنوان یک جزء از محیط باز برای محیط های مقیاس بزرگ [۲] مانند GENI استفاده شود .

دو ساختمان در دانشگاه استنفورد به زودی شبکه های Open Flow را اجرا خواهند کرد . آن  ها این کار را با استفاده از سوئیچ و روتر های اترنت تجاری[۳] انجام خواهند داد . ما برای استقرار این طرح در دیگر مدارس ، دیگران را تشویق می کنیم و به شما پیشنهاد می دهیم که به فکر استقرار Open Flow در شبکه دانشگاهی خود باشید .

کلمات کلیدی : سوئیچ اترنت ، مجازی سازی ، مبتنی بر جریان

امروزه شبکه ها به بخشی از زیر ساخت های حیاتی کسب و کار ما ، خانه ها و مدارس تبدیل شده اند . این موفقیت برای محققان شبکه هم مزیت دارد و هم عیب :

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

امروزه تقریبا هیچ راه عملی برای آزمایش بر روی شبکه های جدید (برای مثال پروتکل های جدید مسیریابی ، یا جایگزینی برای IP ) در سایز واقعی وجود ندارد . (به عنوان مثال در مقیاس ترافیک واقعی ) . به همین دلیل به راحتی نمی توان به آن ها اعتماد کرد و ان ها را در یک محیط واقعی استقرار داد . نتیجه ای که می شود گرفت این است که بسیاری از ایده های شبکه که توسط محققان مطرح شده اند هرگز تست و ازمایش نشده اند . به همین دلیل این باور در زیرساخت های شبکه مرسوم شده است که اجرای آنها “سخت” [۴]می باشد .

پس از این که این مشکل به رسمیت شناخته شد ، محققان به شدت بر روی توسعه شبکه های قابل برنامه ریزی از جمله GENI کار می کردند . در پروژه GENI یک مرکز تحقیقاتی پیشنهاداتی را از سراسر دنیا برای آزمایش بر روی معماری شبکه های جدید و سیستم های توزیع شده دریافت می کرد . این شبکه های قابل برنامه ریزی برای پاسخ به سوئیچ های و روترهای قابل برنامه ریزی (با استفاده از مجازی سازی) بودند که می توانند به طور همزمان بسته ها را برای جداسازی در آزمایش ها پردازش کنند .

برای مثال در GENI محققین انتظار داشتند تا قسمتی [۵] از منابع در کل شبکه مورد استفاده قرار قرار گیرد و عناصر با استفاده از آن به پردازش بسته ها بپردازند .برنامه محققان slice ها را انطور که آنها مایل هستند ایجاد می کنند . یک برش(Slice) می تواند در سراسر back bone گسترش یافته و به شبکه ها و محیط دانشگاهی و آزمایشگاه های تحقیقات صنعتی و شبکه های سیمی و بی سیم و حتی شبکه های حسگر بی سیم دسترسی داشته باشد .

شبکه های مجازی قابل برنامه ریزی می توانند مانع ورود ایده های جدید که نرخ نوآوری پایینی در زیر ساخت های شبکه دارند بشوند . اما ایجاد یک برنامه سراسری امکانات بلندپروازانه ای (پرهزینه) را نیاز دارد و سال ها طول می کشد تا بتوان آن را ایجاد کرد .

این مقاله بر روی بررسی یک سوال کوتاه متمرکز می شود که : محققان ، چگونه می توانند آزمایشات خود را در یک شبکه دانشگاهی اجرا کنند ؟

اگر ما بتوانیم این موضوع را متوجه شویم ، می توانیم این تکنولوژی را در سایر دانشگاه ها و کل جامعه گسترش دهیم .

برای مواجه با این چالش نیاز است که به چند سوال پاسخ دهیم :

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

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

سوئیچ و روترهای تحاری به طور معمول یک پلت فرم نرم افزاری باز را ارائه نمی دهند و هرگز حاضر به ارائه وسیله ای سخت افزاری یا نرم افزاری برای مجازی سازی نمی باشند .

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

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

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

همه به خوبی می دانند که سیستم عامل ها از مسیریابی بسته ها بین رابط ها و پروتکل های مسیریابی منبع باز پشتیبانی می کنند (به عنوان مثال می توان به لینوکس توزیع شده و یا XORP اشاره کرد) و در برخی موارد ممکن است نیاز به تغییر سیستم عامل برای پردازش بسته ها داشته باشیم ( مثلا استفاده از click ).

مشکل عملکرد این است که یک کامپیوتر نمی تواند از تعداد پورت مورد نیاز برای یک شبکه سیمی پشتیبانی کند .(بیش از ۱۰۰ پورت برای هر box مورد نیاز است ) و به کارایی پردازش بسته بستگی دارد (سوئیچ شبکه سیمی پردازش را با سرع ۱۰۰Gbit/s انجام می دهد در حالی که یک PC معمولی به زحمت از مرز ۱Gbit/s است).

پلت فرم های موجود با نرخ سرعت پردازش سخت افزارهای تخصصی شبکه های سیمی متناسب نیستند . به عنوان مثال روتر قابل برنامه ریزی مجازی ACTCA که super charged planet Lab platform نامیده می شودو در حال توسعه در دانشگاه واشنگتن است می تواند از پردازنده های شبکه برای پردازش بسته ها به طور همزمان از چندین رابط استفاده کند . این رویکرد در بلند مدت امیدوار کننده است اما در حال حاضر هدفی را مورد توجه قرار داده که بیش از حد برای استقرار در شبکه سیمی یک کالج گران است و از سوی دیگر NetFPGA هدف خود را استفاده در تدریس و آزمایشگاه های تحقیقاتی قرار داده است .

NetFPGA یک کارت PCI کم هزینه را با یک FPGA قابل برنامه ریزی کاربر برای پردازش بسته استفاده می کند و از ۴ پورت گیگابیتی اترنت بهره می برد .NetFPGA به ۴ رابط شبکه برای استفاده در شبکه های سیمی محدود شده است .

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

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

در این مقاله به توصیف مشخصات یک سوئیچ Open Flow می پردازیم که تلاش های مناسبی برای پاسخگویی به ۴ هدف بالا نموده است .

اساس این ایده به صورت ساده عبارت است از :

ما از این واقعیت بهره برداری می کنیم که بسیاری از سوئیچ ها و روترهای اترنت مدرن دارای جول جریان[۶] هستند که در اجرا و پیاده سازی فایروال ها ، QOS ، NAT و جمع آوری آمار مورد استفاده قرار می گیرند .

در حالی که جدول جریان هر فروشنده ای متفاوت است، ما مجموعه ای مشترک از توابع را که در بسیاری از سوئیچ ها و روترها اجرا می شوند را شناسایی کرده ایم . Open Flow از مجموعه این توابع مشترک استفاده و بهره برداری خواهد کرد .

Open Flow یک پروتکل باز را فراهم می کند تا بوسیله برنامه موجود در این پروتکل جدول جریان را در سوئیچ ها و روترهای مختلف کنترل نماید . مدیر شبکه می تواند ترافیک را به جریان تولیدی و پژوهشی (آزمایشی) تقسیم بندی کند . محققان می توانند جریان خود را کنترل کرده و با انتخاب مسیر بسته های خود را دنبال کرده و پردازش آن ها را دریافت کنند .

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

مسیر داده از یک سوئیچ Open Flow که متشکل از یک جدول جریان است تشکیل می شود و با هر جریان ورودی یک عمل (اقدام) خاصی را انجام می دهد .

مجموعه ای از اقدامات پشتیبانی شده توسط سوئیچ های Open Flow در حال توسعه است اما در ادامه حداقل های مورد نیاز برای تمام سوئیچ ها را توصیف می کنیم .

برای دستیابی به عملکرد بالا و هزینه کم در مسیر داده باید یک درجه از دقت و انعطاف پذیری وجود داشته باشد . این بدان معنی است که می توان از توانایی خاصی که در مدیریت هر بسته وجود دارد صرف نظر کرد و محدودیت را افزایش داد اما همچنان طیف وسیعی از اقدامات مفید را انجام داد . بنابراین ، در ادامه به تعریف پایه ای از تمامی اقدامات مورد نیاز برای تمام سوئیچ های Open Flow خواهیم پرداخت .یک سوئیچ Open Flow حداقل از سه بخش زیر تشکیل شده است :

با تعیین یک رابط استاندارد(پروتکل Open Flow) ورودی های داخل جدول جریان می توانند از آن خارج شوند و سوئیچ Open Flow از نیازمند بودن محققان به برنامه سوئیچ اجتناب می کند .

دسته بندی سوئیچ ها بسیار مفید و کاربردی است و این که سوئیچ های Open Flow پردازش های لایه های ۲و۳ نرمال را پشتیبانی نمی کنند و هدف کلی سوئیچ و روترهای تجاری Open Flow این است که از پروتکل جریان باز و رابط به عنوان یک ویژگی جدید استفاده کنند .

سوئیچ های اختصاص یافته به Open Flow :

یک سوئیچ Open Flow اختصاصی یک عنصر مسیر داده بی معنا است که بسته ها را بین پورت انتقال می دهد و یک فرآیند کنترل از راه دور را معرفی می کند .

Open Flow

اوپن فلو
Open Flow

شکل ۱ : ایده سوئیچ Open Flow . جدول جریان توسط یک کنترل از راه دور و از طریق یک کانال امن انتقال می یابد .

شکل ۱ نمونه ای از یک سوئیچ Open Flow را نشان می دهد .در این زمینه ، جریان به طور گسترده ای تعریف می شود . برای مثال یک جریان می تواند یک اتصال TCP را برقرار کند و یا همه بسته ها را از یک آدرس MAC خاص یا آدرس IP و یا تمام بسته ها را با برچسب VLAN متشابه یا همه بسته ها را از پورت سوئیچ مشابه دریافت کند .

برای آزمایش مربوط به بسته های غیر از IPv4 یک جریان می تواند تمام بسته ها را تعریف کرده (به جزء غیر استانداردها) و ان ها را با یک سرآیند خاص تطبیق می دهد .

هر جریان ورودی یک عمل ساده مرتبط با آن دارد ؛ سه کار اساسی آن ها (که تمام سوئیچ های Open Flow باید از آن پشتیبانی کنند ) عبارتند از :

یک جدول جریان ورودی دارای سه جز اصلی می باشد :

در نسل اول(TYPE 0) سوئیچ های Open Flow سرآیند یک جریان که ده تایی است را در جدول ۱ مشاهده می کنید :

جدول ۱ : سرآیند یک سوئیچ Open Flow نوع TYPE 0

یک جریان TCP می تواند در تمامی ده فیلد مشخص شده کار کند در حالی که یک جریان IP ممکن است در آن پورت های انتقال تعریف نشده باشد . هر فیلد سرآیند می تواند اجازه تجمع جریان ها را بدهد از جمله جریانی که در آن تنها IP ، VLAN تعریف شده است و ترافیک آن خاص می باشد .شرایط دقیق یک سوئیچ Open Flow بوسیله مشخصات سوئیچ های Open Flow تعریف می شود.

سوئیچ های Open Flow  فعال :

برخی سوئیچ و روترهای تجاری و نقاط دسترسی[۱] می توانند با افزودن ویژگی های Open Flow به جدول جریان خود و استفاده از کانال امن و پروتکل Open Flow ، از قابلیت های آن استفاده کنند .(لیست برخی از نمونه ها در بخش ۵ آمده است). به طور معمول ، جدول جریان دوباره توسط نرم افزار TCAMایجاد و استفاده خواهد شد . هم چنین کانال امن و پروتکل به سیستم عامل سوئیچ منتقل و اجرا می شوند .

شکل ۲ سوئیچ ها و نقاط دسترسی در یک شبکه تجاری Open Flow را نشان می دهد . در این مثال تمامی جداول جریان توسط کنترلر مدیریت می شوند و پروتکل Open Flow به یک سوئیچ اجازه می دهد که به وسیله دو یا چند کنترلر ، شبکه را کنترل کند تا بدین شکل عملکرد افزایش یافته و شبکه نیرومند تر شود .

شکل ۲ : مثالی از یک شبکه با روتر و سوئیچ های تجاری Open Flow

هدف ما این است که برای یک آزمایش در یک شبکه در کنار برنامه های کاربردی یک ترافیک منظم نیز تولید کنیم . بنایراین ، برای جلب اعتماد مدیران شبکه ، سوئیچ های Open Flow فعال باید ترافیک آزمایشی (تولید شده توسط جدول جریان ) را از ترافیک تولیدی که توسط لایه ۲ و خط لوله سوئیچ ها در لایه ۳ پردازش می شوند جدا کند .

دو راه برای این جدا سازی وجود دارد ، یکی از این راه ها این است که یک اقدام چهارمی را اضافه کنیم :

راه دیگر این است که برای مجموعه های جداگانه از VLAN ها برای تعریف ترافیک تجربی و تولیدی استفاده کنیم .

هر دو روش اجازه تولید ترافیک نرمال را می دهد اما تمامی سوئیچ ها امکان تولید نرمال ترافیک را ندارند . برخی از سوئیچ های Open Flow از یک رویکرد پشتیبانی می کنند و برخی دیگر از هر دو رویکرد پشتیبانی می کنند .

ویژگی های اضافه :

اگر یک سوئیچ از فرمت سرآیند و چهار اقدام اولیه ذکر شده پشتیبانی کند(مشخصاتی که در سوئیچ های Open Flow ذکر شد) ما آن را سوئیچ TYPE 0 می نامیم .

ما انتظار داریم که بسیاری از سوئیچ ها از اقدامات اضافه تری پشتیبانی کنند ، به عنوان نمونه به بازنویسی سرآیند بسته ها (به عنوان مثال برای NAT و یا آدرس های مبهم بر روی لینک های متوسط) بپردازند و بسته ها را در یک کلاس اولویت جای دهند .

به همین ترتیب برخی از جداول جریان قادر به مطابقت فیلدهای سرآیند بسته ها می باشند . بدین شکل آزمایشات قادر به کار با پروتکل های غیر IP جدید می شوند . مجموعه ای که این ویژگی های جدید در آن ظهور کند را ما به عنوان سوئیچ TYPE1 معرفی می کنیم .

کنترلرها[۱] :

یک کنترلر جریان های ورودی را به جدول کنترل اضافه و حذف می کند . به عنوان مثال یک کنترلر ثابت ممکن است یک برنامه ساده را بر روی یک PC اجرا نماید و یک جریان را برای اتصال به یک آزمایش ایجاد کند . این مورد جریان شبیه VLAN های است که در شبکه های فعلی یک مکانیزم ساده ترافیک آزمایشی را از ترافیک تولیدی شبکه جدا می کنند ، می باشد .

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

یک کنترلر پیچیده تر ممکن است از چندین محقق پشتیبانی کنند . این محققین هرکدام حساب ها و مجوزهای مختلفی دارند ولی همزمان قادر به انجام آزمایشات مستقل با مجموعه جریانات مختلف هستند .

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

به عنوان یک مثال ساده از این که یک سوئیچ Open Flow چگونه ممکن است استفاده شود ، تصور کنید که Amy (یک محقق) پروتکل Amy-OSPF را که یک پروتکل جدید مسیریابی است اختراع کرده و آن را جایگزین OSPF کرده است . او سعی می کند پروتکل خود را در یک سوئیچ Open Flow بدون ایجاد تغییر در نرم افزار هاست خود اجرا کند .

Amy-OSPF در یک کنترلر اجرا خواهد شد . هربار که جریان یک برنامه جدید  شروع می شود Amy-OSPF یک مسیر را از طریق سوئیچ Open Flow انتخاب می کند و آن جریان را به تمامی سوئیچ ها در مسیر می فرستد . Amy در آزمایش خود تصمیم به استفاده از Amy-OSPF برای ترافیک ورودی به شبکه Open Flow از PC خودش می گیرد بنابراین او اختلالی در کار دیگران در شبکه ایجاد نمی کند .

برای انجام این کار او به معرفی یک جریان ترافیک برای همه سوئیچ های Open Flow از طریق پورت سوئیچی که PC به آن متصل است می پردازد و جریان ورودی را با عمل کپسوله کردن و ارسال بسته ها به سمت کنترلر ادامه می دهد .

هنگامی که بسته به کنترلر برسد پروتکل جدید او یک مسیر را انتخاب کرده و جریان ورودی جدید را به هر سوئیچی که در طول مسیر باشد اضافه می کند . هنگامی که بسته به سوئیچی برسد ، آن باسرعتی معادل نرخ خط به پردازش بسته توسط جدول جریان می پردازد. سوالات درستی درباره عملکرد[۲] ، قابلیت اطمینان[۳] و مقیاس پذیری[۴] یک کنترلر که به صورت پویا جریان ها را به آزمایشات پیشرفته تر اضافه و یا حذف می کند وجود دارد :

آیا یک کنترلر متمرکز می تواند جریان جدید و برنامه سوئیچ ها را با سرعت کافی پردازش نماید ؟

زمانی که کنترلر از کار بیفتد چه اتفاقی خواهد افتاد ؟

تا حدی در مورد این پرسش ها در نمونه Ethane که از سوئیچ های ساده جریان و کنترل کننده مرکزی استفاده می کند پاسخ داده شده است . نتایج اولیه نشان می دهد که یک کنترلر Ethane در PC های کم هزینه می تواند تا ۱۰۰۰۰ جریان جدید را در هر ثانیه پردازش کند . که این اندازه برای یک محیط بزرگ(دانشگاهی)مناسب است . الیبته ،میزان جریان های جدید به پیچیدگی پردازش های محقق هم بستگی دارد . اما ما در مورد این اعداد که ذکر شد اطمینان داریم . مقیاس پذیری و افزونگی[۵] ممکن است در یک کنترلر ایجاد شوند که باعث می شود کنترلر در اجازه به تجهیزات جدا دچار مشکل شود .

۱-۳-  آزمایشات در یک شبکه تولیدی :

Amy در حال آزمایش پروتکل جدید خود در یک شبکه ای که توسط افراد دیگر در حال استفاده هست می باشد .بنابراین ما می خواهیم به شبکه دو ویژگی دیگر اضافه کنیم :

خصوصیت ۱ توسط یک سوئیچ Open Flow فعال بدست می آید . در آزمایش Amy ، اقدام پیش فرض برای تمام بسته ها که از کامپیوتر Amy نمی آمدند می توانستند از طریق خط لوله پردازش طبیعی انتقال داده شوند . بسته های خود Amy هم به طور مستقیم به پورت خروجی فرستاده می شد ، بدون این که در خط لوله نرمال پردازش شود .

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

ماهیت دقیق مکانیزم اجازه بستگی به پیاده سازی کنترل دارد . ما انتظار داریم که کنترل های مختلفی پدیدار شوند . به عنوان مثال برخی از محققان در حال کار بر روی کنترلری هستند که NOX نامیده می شود و به عنوان پیرو کار Ethane محسوب می شود . کنترلرهای کاملا متفاوت ممکن است باعث گسترش ظهور نرم افزار مدیریت شبکه Open Flow شوند (GENI).

۳-۲- مثال های بیشتر :

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

مثال ۱ : مدیریت شبکه و کنترل دسترسی :

ما به بررسی Ethane به عنوان اولین مثال می پردازیم که در آن تحقیقات از Open Flow الهام گرفته است . در واقع یک سوئیچ Open Flow می تواند به عنوان تصمیمی از سوئیچ مسیرداده Ethane محسوب شود .

Ethane از پیاده سازی یک کنترلر خاص استفاده می کند که برای مدیریت شبکه و کنترل مناسب است و مدیریت پذیرش و مسیریابی جریان را برعهده دارد . ایده اصلی Ethane ای است که دست مدیران را برای تعریف سیاست های گسترده شبکه در کنترلر مرکزی باز گذاشته و مدیران می توانند به طور مستقیم بر تصمیم گیری کنترلر در پذیرش و اجرای جریان جدید نظارت داشته باشند.

یک کنترلر مجموعه ای از قوانین را برای یک جریان جدید بررسی کرده که از آن جمله می توان به بررسی “مهمان ها امکان برقراری ارتباط و استفاده از HTTP را دارند اما تنها از طریق یک پروکسی وب این کار را می توانند انجام دهند ” یا “تلفن های VOIP مجاز به برقراری ارتباط با لپ تاپ ها نمی باشند ” .

یک کنترلر بسته های مرتبط با فرستندگان را با همه اتصالات بین نام و آدرس های آن ها مدیریت کرده و پروتکل های DNS و DHCP و احراز هویت تمام کاربران را پس از پیوستن به کنترلر پیگیری کرده تا مطمئن شود که پورت سوئیچ بین آن ها (یا نقطه دسترسی) متصل است .

یک نفر می تواند فرمت خاصی از Ethane را در ذهن خود مجسم کند که در آن یک سیاست خاصی حکمفرما است که براساس آن یک کاربر می تواند یک جریان خاص را به یک کنترلر ارسال کند ، از این رو یک محقق می تواند یک پردازش خاص را در شبکه انجام دهد .

مثال ۲ : VLAN ها :

Open Flow به راحتی می تواند با شبکه های جدا شده مانند VLAN ها نیازهای کاربران را فراهم آورد . ساده ترین روش این است که به صورت استاتیک مجموعه ای از جریان ها که در دسترس یک پورت مشخص هستند بوسیله ترافیک در یک VLAN ID قرار دهد . ترافیک رسیده از یک کاربر (برای مثال نشات گرفته از پورت سوئیچ خاص و یا آدرس MAC ) برچسب ها را از طریق یک سوئیچ (از طریق یک اقدام) مناسب با شناسه VLAN خود دریافت می کند . در یک روش پویاتر ممکن است یک کنترلر برای مدیریت اعتبار کاربران از دانش و مکان کاربران برای برچسب گذاری ترافیک در حال اجرا استفاده کند .

مثال ۳ : مشتریان VOIP در شبکه های بی سیم سیار :

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

مثال ۴ : یک شبکه بدون IP :

تاکنون مثال های ما در مورد شبکه های دارای IP بودند ، اما Open Flow نیازی ندارد که همه بسته ها را با یک فرمت ارسال کند بنابراین جدول جریان قادر به تطبیق سرآیند بسته ها خواهد بود . این مساله باعث می شود تا در آزمایشات از نامگذاری های جدید استفاده شده و طرح های برای مسیریابی و آدرس دهی وجود داشته باشد .

راه های مختلفی برای یک سوئیچ Open Flow وجود دارد که می تواند ترافیک غیر IP را پشتیبانی کند . به عنوان مثال ، جریان ها می توانند با استفاده از شناسایی سرآیند اترنت(MAC src و آدرس های DST) یک مقدار جدید برای Ether Type قرار داده و یا در سطح IP بوسیله شماره نسخه IP جدید شناخته شوند .

به طور کلی ، ما امیدواریم که در آینده سوئیچ های کنترلرها اجازه ایجاد یک ماسک عمومی [۶] (آفست +ارزش+ماسک)[۷] را داشته باشند تا بتوانند بسته ها را در راه تحقیقات خاص پردازش نمایند .

مثال ۵ : پردازش بسته ها به جای جریان :

مثال های که در بالا ذکر شدند مربوط به جریان ها هستند که در آن یک کنترلر از زمانی که جریان شروع می شود اقدام به تصمیم گیری می کند . البته ، می توان آزمایشات جالب دیگری هم براساس نیاز هر بسته به پردازش انجام داد . برای مثال یک سیستم تشخیص نفوذ[۸] که به بررسی هربسته می پردازد و یک مکانیزم کنترل ازدحام صریح و روشن دارد و یا برخی مواقع به اصلاح محتویات بسته می پردازد مانند زمانی که فرمت یک بسته را از یک پروتکل به پروتکل دیگر اصلاح می کند . دو راه اساسی برای پردازش یک بسته در Open Flow وجود دارد :

اولین و ساده ترین راه این است که تمام بسته های یک جریان را مجبور کنیم از طریق یک کنترلر عبور داده شوند . انجام این کار باعث می شود که یک کنترلر امکان اضافه کردن یک جریان جدید ورودی را به جریان سوئیچ نداشته باشد . آن کار فقط به سوئیچ اجازه می دهد تا به صورت پیش فرض بسته ها را به سمت کنترلر انتقال دهد . این کار مزیت انعطاف پذیری خوبی دارد و در هزینه ها هم کارآمد است  (هزینه کم) . این کار ممکن است یک راه مفید برای آزمایش قابلیت های یک پروتکل جدید باشد اما بعید است که برای استقرار در شبکه های بزرگ مناسب باشد .

راه دوم برای پردازش بسته ها این است که مسیر آنها را به یک سوئیچ قابل برنامه ریزی بدهیم تا پردازش بر روی بسته ها را انجام دهد . به عنوان مثال یک روتر قابل برنامه ریزی NetFPGA. مزیت این کار این است که بسته را می توان در نرخ خط در یک روش قابل تعریف برای کاربر پردازش کرد . شکل ۳ یک مثال از چگونگی انجام این کار را نشان می دهد که در آن سوئیچ Open Flow اساسا به عنوان یک patch – panel عمل کرده و به بسته ها اجازه می دهد تا به NetFPGA برسند . در برخی از موارد بورد NetFPGA (یک بورد PCI که به یک PCلینوکس متصل است) ممکن است در داخل یک شبکه سیم کشی شده در کنار یک سوئیچ Open Flow (به احتمال زیاد) و یا در یک آزمایشگاه قرار داده شده باشد .

شکل ۳ : به عنوان مثالی از پردازش بسته ها از طریق یک قطعه پردازش بسته خارجی از قبیل روتر قابل برنامه ریزی NetFPGA

کنسرسیوم Open Flow با اهداف عامه پسند به تولید این پروتکل و حفظ محصولات سوئیچ Open Flow می پردازد . این کنسرسیوم متشکل از گروهی از محققان و مدیران شبکه است که در دانشگاه ها و کالج ها ، تحقیقات خود را با این باور که اگر سوئیچ Open Flow را در شبکه خود نصب کنند به ماموریت و رسالت خود دست خواهند یافت .

امکان عضویت آزاد و رایگان برای هر کسی که در یک مدرسه ، کالج ، دانشگاه یا سازمان دولتی قرار دارد ،وجود خواهد داشت . کنسرسیوم Open Flow به افرادی که در استخدام شرکت های که در کار ساخت و فروش سوئیچ ها و روترهای اترنت و یا نقاط دسترسی های بی سیم نیستند خوش آمد می گوید .(زیرا ما می خواهیم کنسرسیوم را از نفوذ فروشندگان حفظ کرده و آن را به صورت آزاد نگهداریم ) .

برای پیوستن به ما به آدرس Join@OpenFlowSwitch.org ایمیل بزنید و یا به آدرس وب سایت کنسرسیوم www.openflowswitch.org مراجعه کنید . در این وب سایت سوئیچ های Open Flow خاص وجود دارد و یک لیست از اعضای کنسرسیوم و مراجع پیاده سازی سوئیچ های Open Flow قرار داده شده است .

مدل مجوز :

مشخصات Open Flow  این است که برای همه استفاده های تجاری و غیر تجاری رایگان[۹] است . سوئیچ ها و روترهای تجاری مدعی هستند که Open Flow باید با سوئیچ های Open Flow ازنوع TYPE 0 مطابقت داشته باشد . همان طور که در ویژگی Open Flow تعریف شده است ، Open Flow دارای علامت تجاری دانشگاه استنفورد است و از طرف کنسرسیوم حفاظت خواهد شد .

ما اعتقاد داریم که در بازار یک فرصت بسیار جالب برای فروشندگان تجهیزات شبکه برای فروش سوئیچ های Open Flow به جامعه پژوهشی وجود دارد . در هر ساختمان در هزاران کالج و دانشگاه که شامل شبکه های سیم کشی شده با سوئیچ ها و روترهای اترنت هستند و به راحتی نقاط دسترسی بی سیم در سراسر محوطه دانشگاه ها یافت می شود .

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

ما فروشندگان تجهیزات شبکه بسیاری را پیدا کردیم که به دنبال ایده اضافه کردن قابلیت های Open Flow  باز بودند . اکثر فروشندگان به دنبال حمایت از جامعه پژوهش هستند ، بدون این که نیازی به افشای فعالیت های داخلی محصولات خود داشته باشند .

ما در حال گسترش شبکه های Open Flow بزرگ در بخش های مختلف علوم کامپیوتری و مهندسی برق دانشگاه استنفورد هستیم . شبکه های دو ساختمان با سوئیچ های Open Flow جایگزین شده اند . در نهایت همه ترافیک بر روی شبکه Open Flow قرار خواهد گرفت در حالی که ترافیک تولیدی با ترافیک تجربی متفاوت بوده و VLAN های مختلف تحت کنترل مدیران شبکه قرار دارند . محققان می توانند ترافیک خود را کنترل کرده و قادر به اضافه کردن یا حذف جریان های ورودی خود می باشند .

ما هم چنین انتظار داریم تا سوئیچ های Open Flow مختلف توسط محققان توسعه یابند . وب سایت Open Flow شامل پلت فرم های مختلف TYPE 0 می باشد : لینوکس (نرم افزار) ، open WRT (نرم افزاری برای نقاط دسترسی ) و NetFPGA (سخت افزار ۴پورتی ).

طرح های مرجع بیشتری توسط محققان در حال ایجاد و ارسال است . ما توسعه دهندگان را به تست سوئیچ های خود در برابر طرح های مرجع تشویق می کنیم . همه مراجع سوئیچ های Open Flow در وب سایت خواهد بود و استفاده تجاری و غیر تجاری از آنان آزاد و رایگان خواهد بود .(برخی از سیستم عامل ها ممکن است محدودیت های را برای اجرا قرار دهند ، به عنوان مثال ممکن است محدودیت های در Linux GPL وجود داشته باشد .

ما باور داریم که Open Flow در عمل سازگار است و اجازه می دهد تا محققان به اجرای آزمایشات خود بر روی سوئیچ ها و روترهای ناهمگون پرداخته ، بدون آن که نیازی باشد فروشندگان تجهیزات به افشای فعالیت های داخلی محصولات خود بپردازند و یا این که محققان نرم افزار کنترلی خود را به فروشنده خاصی ارسال کنند . اگر ما توانسته ایم در استقرار شبکه های Open Flow در محیط های دانشگاهی موفق باشیم ،می توانیم امیدوار باشیم که Open Flow به تدریج در محیط های دانشگاهی دیگر هم رونق گرفته و تعداد شبکه های که از این تجربه پشتیبانی می کنند افزایش یابد . ما امیدواریم که نسل جدیدی از نرم افزارهای کنترلی ایجاد گردد که به محققان امکان استفاده مجدد از کنترلر ها و آزمایشات را بدهد و امکان ساخت و ایجاد در کارهای دیگران را هم داشته باشد . هم چنین امیدواریم که در طول زمان ، شبکه های Open Flow در دانشگاه های مختلف بوسیله تونل ها و شبکه های پوششی[۱۰] و شاید شبکه های Open Flow مدرن تر که در back bone دانشگاه ها اجرا می شوند با یکدیگر ارتباط برقرار کنند .

تقدیرات ، منابع و مراجع .

ترجمه : مسعود معاونی

Email:moaveni1@gmail.com

[۱] Controllers

[۲] Performance

[۳] reliability

[۴] scalability

[۵] Redundancy

[۶] Generic Mask

[۷] Offset+Value+Mask

[۸] Intrusion Detection System

[۹] Commercial & Non Commercial

[۱۰] Overlay

[۱] Access Point

[۱] Line – Rate

[۲] Drop

[۳] Denial Of Service Attack(DOS)

[۱] Internal flow table

[۲] Large Scale

[۳] Commercial

[۴] Ossified

[۵] Slice

[۶] Flow Table

دانلود نسخه پی دی اف این مقاله .

تشخیص حملات در بانکداری الکترونیکی با استفاده از سیستم ترکیبی فازی – راف(Fuzzy _rough) »

دانلود نسخه پی دی اف این مقاله (لطفا امانتدار باشید)

کلمات کلیدی :

بانکداری الکترونیکی ، حملات فیشینگ ، شناسایی جعل (تقلب) سیستم خبره فازی ، تئوری مجموعه های فازی

چکیده :

فیشینگ یک روش سرقت شناسه های الکترونیکی می باشد .فیشینگ زیر مجموعه ای از روش های مهندسی اجتماعی می باشد که با استفاده از وب سایت های جعلی به گمراه کردن کاربران و در نهایت آشکار سازی اطلاعات محرمانه کاربران که دارای ارزش اقتصادی می باشد می پردازد . فیشینگ دارای اثر منفی در از بین بردن اعتماد بین کاربران در یک شبکه کسب و کار در بدنه تجارت الکترونیک می باشد . کشورهای در حال توسعه مانند ایران با تهدیدات اینترنتی زیادی از جمله فیشینگ مواجه شده اند . البته فیشینگ در ایران با توجه به تفاوت های اجتماعی ، ممکن است با آن چه در سایر کشورها اتفاق می افتد متفاوت باشد . بنابراین برای تشخیص مناسب این فریب کاری ها طراحی یک روش تشخیص مناسب ضروری به نظر می رسد . هدف از مقاله حاضر ارائه یک سیستم تشخیص فیشینگ درسیستم بانکداری الکترونیکی در ایران می باشد . شناسایی ویژگی های برجسته از فیشینگ یکی از پیش شرط های مهم در طراحی یک سیستم تشخیصی دقیق می باشد . بنابراین در گام اول ، برای شناسایی ویژگی های نفوذ فیشینگ متناسب با بانک های ایرانی یک لیست از ۲۸ شاخص مطرح در فیشینگ آماده گردید . سپس با استفاده از الگوریتم انتخاب مبتنی بر نظریه مجموعه های سخت[۱] ، شش شاخص اصلی به عنوان موثرترین عوامل شناسایی گردیدند . پس از آن سیستم خبره فازی با استفاده از این شاخص ها طراحی گردید . نتایج نشان می دهد که سیستم پیشنهادی قادر به تعیین سایت های فیشینگ در بانکداری الکترونیک ایران با یک سرعت مناسب و داشتن دقتی در حدود ۸۸% می باشد .

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

بانکداری الکترونیکی متکی به شبکه و محیط مبتنی بر اینترنت می باشد . به عنوان یک شبکه عمومی ، اینترنت با حجم بالای اطلاعات محرمانه و امنیتی مواجه است ، که طبیعت آن باعث می شود که انواع تهدیدات و حملات مختلف در آن بوجود آید . توسعه مبهم شبکه اینترنت این مشکل را بیشتر خواهد کرد . عواملی که تهدید و حمله را در یک شبکه اینترنتی بوجود می آورند عبارتند از : دسترسی بدون محدودیت به اینترنت ، گمنامی افراد ، سرعت بالای انتشار ، عدم ارتباط چهره به چهره [۱] ، دسترسی آزاد به خدمات و محتویات ارزشمند و هم چنین عدم وجود قوانین و توافقات مناسب [۲] .

مجموعه عوامل فوق باعث ایجاد انواع تهدیدات امنیتی و سختی پیگرد قانونی می شود . به همین دلایلی که ذکر گردید بانکداری الکترونیکی آنلاین می تواند خطرات زیادی را برای موسسات اقتصادی ایجاد کند که باعث می شود این موسسات به برنامه های کنترل و غربال گری و مدیریت جامع ریسک[۲] نیاز پیدا کنند . بدیهی است با چنین وضعیتی که ذکر شد امنیت بانکداری الکترونیکی یکی از موضوعات مهم در تجارت الکترونیک است . هم چنین لازم به ذکر است که با افزایش امکانات و خدمات بانکی در اینترنت و رشد روزافزون تعاملات آنلاین توسط مشتریان ، وقوع جرایم مالی در صنعت بانکداری رشد قابل توجه ای داشته باشد . یکی از حملات اینترنتی خطرناک که اغلب بانکداری الکترونیکی را هدف قرار می دهد «فیشینگ» نام دارد [۳] .

فیشینگ یک روش مهندسی اجتماعی[۳] بوده که به معنای فریب کاربران اینترنت و هدایت آنان به بازدید وب سایت های که کاملا شبیه سایت هدف (اصلی) می باشد . این حمله معمولا در سایت های بانک ها ، موسسات اعتباری ، مزایده های اینترنتی ، شبکه های اجتماعی ، فراهم کنندگان خدمات اینترنتی[۴] و… بیشتر مشاهده می شود . ایده اصلی این حمله این است که یک طعمه [۵] برای افراد ارسال می شود به طوری که افرادی که جذب این طعمه شوند به دام این حمله خواهند افتاد .در بسیاری از موارد طعمه توسط یک ایمیل اسپم ارسال می شود به طوری که کاربر را ترغیب به ورود به وب سایت جعلی می

نماید . این نوع از فریب معمولا باعث می شود تا کاربر اطلاعات حیاتی خود از قبیل نام ، رمز عبور ، جزئیات کارت اعتباری ، اطلاعات حساب بانکی و غیره خود را فاش سازد ، سپس فیشر[۱] (کسی که به حمله فیشینگ را طراحی و بر روی کاربران اجرا می کند ) ، از این اطلاعات به سرقت رفته به منظور فریب و سواستفاده و غیره استفاده خواهد کرد [۴-۶].

جدول ۱

میزان حملات فیشینگ در صنایع مختلف در سال ۲۰۱۲

ردیف نام صنعت درصد
۱ خدمات اطلاعات ۳۶٫۲۹
۲ بانکداری ۳۲٫۹۹
۳ تجارت الکترونیک ۲۷٫۹۹
۴ ارتباطات ۱٫۸۶
۵ خرده فروشی ۰٫۴۴
۶ دولت ۰٫۳۷
۷ بیمه ۰٫۰۲
۸ ISPs ۰٫۰۲۷

حملات فیشینگ و خسارات مالی مربوط در حال رشد هشدار دهنده ای هستند . با توجه به گزارش کارگروه بین المللی مبارزه با فیشینگ (APWG) تعداد وب سایت های فیشینگ به صورت فزاینده ای در حال افزایش است [۷,۸] . به طوری که طبق آمار از هر ۵ میلیون ایمیلی که هدف آن فیشینگ می باشد ۲۵۰۰ نفر فریب می خورند . اگر چه این آمار تنها ۵% از گیرندگان ایمیل را شامل می شود ولی در واقع فیشینگ هنوز هم منبع مالی خوبی برای کلاهبرداران اینترنتی می باشد [۸] .

همانطور که در جدول ۱ که در ژوئن سال ۲۰۱۲ تهیه شده است ، نشان داده شد بسیاری از حملات فیشینگ به ارائه دهندگان خدمات اطلاعات مربوط می شود (به عنوان مثال کتابخانه ها و شبکه های اجتماعی ) و به ترتیب بانک ها و شرکت های فعال در زمینه تجارت الکترونیک قرار گرفته اند .

فیشینگ به کاربران ، سازمان ها و علامت تجاری در بسیاری از جنبه ها ضرر می رساند در ادامه بخشی از ضرر های این نوع از حمله ذکر می شود[۹] :

اعتماد [۱] یکی از مهم ترین ویژگی های بانکداری الکترونیکی است که فیشینگ می تواند به این اعتماد در کسب و کار الکترونیک آسیب وارد کند . مردم همواره از این که قربانی کلاهبرداری اینترنتی شوند ترس دارند و همین موضوع باعث می شود به تدریج اعتماد خود را نسبت به فعل و انفعلاتی که در بستر اینترنت بوقوع می پیوندد از دست بدهند [۱۱]. در واقع بسیاری از مردم امروزه بر این باورند که استفاده از بانکداری الکترونیکی احتمال سرقت اطلاعات و فیشینگ را افزایش می دهد . در حالی که هدف بانکداری الکترونیکی در مقایسه با بانکداری کاغذی مرسوم محافظت بیشتر از هویت و حریم خصوصی مردم می باشد[۱۰] .

در ایران فیشینگ بسیار مهم است چرا که آمار نشان می دهد در سال ۲۰۱۱ جرایم رایانه ای ۸٫۳ برابر سال قبل از آن گردیده است که اکثر آنها به جرایم اینترنتی بانکی (مالی) مربوط می شده است . بر اساس این گزارش ، حملات فیشینگ و نوع خاصی از آن یعنی حمله فارمینگ[۲] در رتبه سوم در میان جرایم اینترنتی ایران قرار دارد . علاوه بر این در سال ۲۰۱۰ در حدود ۱۰۳۵ جرم اینترنتی در ایران ثبت شد که این آمار در سال ۲۰۱۱ به ۴۰۰۰ مورد افزایش یافت و پیش بینی شده است که در سال ۲۰۱۲ این تعداد به چیزی در حدود ۸ تا ۱۰ هزار مورد افزایش پیدا کند[۳۷] .

روش تشخیص ارائه شده در این مقاله بر اساس منطق فازی است که با الگوریتم داده کاوی مجموعه های سخت[۳] ترکیب شده است . بنابراین ساختار این مقاله به شرح ذیل می باشد :در بخش ۲ ، معرفی آثار مربوط به تشخیص فیشینگ و کاستی های روش های موجود . در بخش ۳ ، اصول روش های عملی شرح داده می شود . در بخش ۴  ، تعیین مراحل برای متغییرهای ورودی و کاهش آن با نظریه راف به تفصیل شرح داده خواهد شد .پس از تعیین متغییرهای ورودی ، تعیین توابع متغییر عضویت ، فازی فایر و دی فازی فایر و موتور استدلال گر فازی ارائه شده است . در بخش ۵ ، بهره برداری از سیستمی که بتواند فیشینگ را شناسایی کند مورد بحث قرار گرفته است و سرانجام محدودیت ها و نوآوری ها در این مطالعه مورد بررسی قرار گرفته و نتایج در بخش ۶ قرار دارد .

همان طورکه در بخش قبلی ذکر شد ، واضح است که مبارزه با فیشینگ یکی از جدی ترین مسائل در بخش امنیت  بانکداری الکترونیک می باشد . به منظور تشخیص و دفاع در بربر فیشینگ روش های مختلفی استفاده شده است که می توان این روش ها را به صورت خلاصه این گونه عنوان کرد : ” فیلتر از طریق نوار ابزار مرورگر وب ” ،  “کشف ایمیل های فیشینگ ” ، ” تشخیص شباهت وب سایت ها ” .

این روش روش کاملی نیست ، زیرا در این روش از لیست سیاه[۱] استفاده می شود . لیست سیاه یک لیست از وب سایت های است ، که در حال حاضر ثابت شده است که جعلی هستند و اطلاعات آنها در مرورگر ثبت شده است . اگر url یک وب سایت منطبق با url یکی از وب سایت های فیشینگ شناخته شده باشد (موجود در لیست سیاه ) آن وب سایت به عنوان یک وب سایت فیشینگ شناخته می شود ، البته این روش نمی تواند وب سایت های فیشینگ جدید را شناسایی کند [۱۲,۱۳].

در این رویکرد که در آن کاربران اینترنتی ایمیل های حاوی آدرس URL های جعلی را دریافت می کنند . کاربران وسوسه می شوند تا دستور العمل های موجود در ایمیل را دنبال کنند و صفحات را باز کنند . به عنوان مثال از این روش می توان عنوان کرد که طراحان و معماران علاقه زیادی به CBART   و CART دارند که در محیط های تلفن همراه مورد استفاده قرار می گیرند و معمولا دارای قیمت بالای هستند که باعث فریب کاربران می شود[۷] .

روش های این رویکرد بر تشخیص فیشینگ مبتنی بر ایمیل تمرکز دارند و قادر به تشخیص انواع دیگر فیشینگ نمی باشند .

مبنای این روش بر این است که از شباهت بصری برای تشخیص وب سایت فیشینگ استفاده می کند [۱۵-۱۷ , ۳۴]. در این روش تصویر یک وب سایت به تعدادی تصویر کوچکتر تجزیه شده و با تحلیل و مقایسه بین بلوک های تصویری صفحات با وب سایت های واقعی ، اطلاعات بدست آمده در یک سیستم ضد فیشینگ ثبت می شود .

این روش تنها به شباهت بصری وب سایت ها توجه می کند و از دیگر ویژگی های بارز حملات فیشینگ که در تعیین اصالت یک وب سایت نقش دارند چشم پوشی می کند . علاوه بر این ، محدودیت دیگری که در رویکرد حاضر وجود دارد این است نمونه جعلی با وب سایت اصلی کاملا مشابه باشند و این باعث می شود که سایت جعلی را نتوان به راحتی از سایت اصلی  تشخیص داد و یا این که تفاوت ها بصورت پنهان و مخفی شده باشد [۱۲].

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

  1. ۱ . نظریه مجموعه های فازی

نظریه مجموعه های فازی در سال ۱۹۶۵ و توسط زاده مطرح گردید[۱۸] . هر مجموعه فازی به عنوان تابع عضویت خاص تفسیر شده است .هریک از اعضا در مجموعه فازی توسط یک درجه عضویت بین صفر و یک تعیین می شود . فرض کنید X مجموعه مرجع باشد که اعضای آن توسط x  نشان داده می شود ، از این پس مجموعه فازی A   در X به شکل زیر معرفی می شود :

رابطه1

رابطه یک

سیستم خبره فازی ، سیستمی مبتنی بر دانش است که با استفاده از قوانینی که از تخصص انسان استفاده می کند استخراج می شود . قلب هر سیستم فازی پایگاه قوانین [۱] آن می باشد که قوانین در آن به صورت اگر- آنگاه ذخیره شده اند[۱۹] . همان طور که در شکل ۱ نشان داده  شده است هر سیستم فازی دارای ۴ ماژول می باشد .

ماژول سیستم خبره فازی

سیستم خبره فازی

شکل ۱٫ ساختار اصلی یک سیستم خبره فازی

فازی ساز[۱] : در یک سیستم فازی روابط بین ورودی ها و متغییر های زبانی از طریق توابع عضویت معرفی شده اند . وظیفه فازی ساز خواندن داده کریسپ و تبدیل آن به یکی از مقادیر فازی موجود در قوانین پایگاه دانش در سیستم خبره فازی می باشد[۱۹] .

غیر فازی ساز[۲] : در واقع عمل عکس فازی فایر را انجام می دهد از آن جایی که خروجی موتور استنتاج از مجموعه های فازی است باید این عدد تبدیل به یک عدد در مجموعه اعداد کریسپ شود تا قابلیت استفاده پیدا کند . در واقع دی فازی فایر وظیفه تعیین نقطه را بر عهده دارد که بهترین معرف مجموعه های فازی می باشد[۱۹] .

پایگاه قوانین فازی [۳]:  به عنوان یک پایگاه دانش یک سیستم خبره فازی می باشد و یکی از مهم ترین بخش های سیستم خبره فازی می باشد که ترکیبی از تجربه و تخصص و دانش کارشناسان می باشد  و از قوانینی که به نوبه خود از متغییرهای زبانی ساخته شده اند تشکیل یافته است .  این قوانین عبارات شرطی بوده و به صورت کلی به شکل زیر هستند :

قوانین فازی

قوانین فازی

که در آن X   و Y  متغییر های ورودی زبانی هستند .x و y نیز مقادیر زبانی ممکن برای X و Y می باشند .خروجی O نیز یک متغییر زبانی با مقدار ممکن (مثلا Oi) است که یک مجموعه فازی می باشد [۲۰].

موتور استنتاج فازی [۱]:  موتور استنتاج فازی مرکز تصمیم گیری سیستم است که نتیجه منطقی ، تجزیه و تحلیل قواعد و دانش را در پایگاه داده برعهده دارد .انتخاب های مختلفی برای موتور استنتاج فازی براساس تجمع فازی[۲] ، مفهوم و عملگرهای مورد استفاده مانند s-norms  و t-norms وجود دارد . به عبارت دیگر موتور استنتاج فازی نگاشتی از مجموعه های فازی دریافتی از ورودی را به مجموعه های فازی فضای خروجی می دهد[۳۶] .

  1. ۲ . تئوری مجموعه های سخت[۱] :

در سال ۱۹۸۲ نظریه مجموعه های سخت توسط Pawlak به عنوان نظریه برای ارزیابی سیستم های خبره با اطلاعات کافی و مبهم ارائه شد .نظریه مجموعه های سخت یک روش ریاضی برای حل مشکلاتی از جمله عدم اطمینان و ابهام می باشد که در فازی کاربرد دارد . مجموعه های فازی و مجموعه های سخت در مقابل یکدیگر قرار ندارند بلکه مکمل یکدیگر هستند [۲۱,۳۸]. مجموعه های سخت دارای مفاهیم مبهمی هستند که با مفاهیم دقیق تری مانند تقریب بالا و تقریب پایین بیان می شوند . هر زیر مجموعه از مجموعه مرجع در واقع بین تقریب بال و تقریب پایین قرار می گیرد . هر عضو در مجموعه تقریب پایین لزوما یک عضو از مجموعه است با این حال ممکن است که اجزای مجموعه تقریب بالا هم عضو مجموعه باشند . نظریه مجموعه های سخت برای حذف ویؤگی های افزونگی از مجموعه داده های با ارزش گستته استفاده می شود[۲۲,۲۳] .

مجموعه سخت با تنظیم ویژگی ها امکان استخراج دانش از اطلاعات را فراهم می کند . با استفاده از نظریه مجموعه های سخت یک زیر گروه از ویژگی های اصلی را می توان بدست آورد که حاوی اطلاعات بیشتری از افزونگی است و آن را زیر گروه کاهش (Reduct) می نامیم . بدیهی است در این زیرگروه ، ویژگی های را حذف می کنیم که تاثیر زیادی نداشته باشند و تنها مقدار کمی از اطلاعات از دست بروند . در مجموعه های سخت دو شرط زیر به عنوان شروط اصلی محسوب می شوند[۳۹] :

شرایط مجموعه های سخت

شرایط مجموعه های ساخت

آنچه که باید توجه شود این است که در مفهوم کاهش (reduction ) ، داشتن حداقل تعدادی از اعضا مهم است . این حداقل تعداد از اعضا را به نام مجموعه “حداقل محصول [۱]” و یا “هسته[۲]” می نامیم و به صورت زیر تعریف می کنیم و

الگوریتم کاهش سریع[۱] QRA  ، محاسبه حداقل اعضا را بدون تولید تمام زیرمجموعه های ممکن را فراهم می کند .(شکل ۲)

الگوریتم کاهش سریع

الگوریتم کاهش سریع

این الگوریتم با یک مجموعه تهی آغاز می شود و سپس از طریق یک رویکرد گام به گام ، ویژگی های که حاصل جمع آن ها در حداکثر افزایش موثر است را اضافه می کند و این روند تا حداکثر ارزش افزوده (معمولا ۱) برای مجموعه داده ها ادامه پیدا می کند[۴۰] .

سیستم تشخیص پیشنهادی به مانند شکل ۳ طراحی شده است :

ساختار فازی راف

ساختار فازی راف

  1. ۱٫ تعیین متغییرهای ورودی :

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

بنابراین در مرحله اول ، پس از ارزیابی فرهنگی جامعه ای که در آن فیشینگ بوقوع پیوسته [۲۴-۳۱,۴۱]و ارزیابی نمونه های واقعی از وب سایت های سرقت هویت ، یک لیست از تمام ویژگی های حمله فیشینگ (به عنوان مثال نشانه های فیشینگ) استخراج می شود[۳۵] . این لیست اولیه و بدون هیچ اضافه کاری در جدول ۲ آورده شده است :

جدول ۲

شاخص های رایج در فیشینگ

ردیف عنوان ردیف عنوان
۱ منبع صدور گواهی ۱۵ وب سایت کپی
۲ استفاده از پورت تعویض ۱۶ درخواست آدرس غیرطبیعی
۳ سرور های غیر طبیعی کنترل کننده فرم ۱۷ استفاده از پنجره پاپ آپ
۴ خرید زمان دسترسی به حساب ۱۸ ایمیل های تولید شده عمومی
۵ جایگزینی کاراکترهای مشابه برای آدرس ۱۹ تغییر مسیر صفحات
۶ مخفی کردن لینک با حرکت موس ۲۰ آدرس غیر طبیعی
۷ گواهی تشخیص نام ۲۱ استفاده از آدرس آی پی در آدرس
۸ غیرفعال کردن راست کلیک ۲۲ استفاده از فرم با دکمه ارسال
۹ استفاده از کد کاراکتر هگزا دسیمال ۲۳ استفاده از نماد @ به اشتباه
۱۰ تکیه گاه غیر طبیعی آدرس ۲۴ تاکید پیش از حد به امنیت
۱۱ XSS کد تزریق حمله ۲۵ آدرس سایت طولانی
۱۲ اضافه کردن یک پیش وند یا پسوند به دامنه ۲۶ خطا های دستوری یا املایی
۱۳ حمله فارمینگ ۲۷ DNS غیرطبیعی
۱۴ کوکی غیرطبیعی ۲۸ استفاده از گواهی SSL

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

۴٫۲ . کاهش متغییرهای ورودی با استفاده از نظریه مجموعه های سخت :

در این مرحله شاخص های که در جدول ۲ معرفی شده اند با استفاده از الگوریتم QRA مورد بررسی قرار می گیرند و مواردی که در حمله فیشینگ تاثیرگذارتر هستند شناسایی می شوند .

به منظور راه اندازی این الگوریتم ، ۶۰ مورد از وب سایت های واقعی بانکداری الکترونیکی استخراج و استفاده می شوند . (جدول ۳ )

جدول ۳ : نتایج مراحل الگورینم کاهش سریع

مرحله کاهش
۱ {v1} ۰٫۷۷۲
۲ {v25,v1} ۰٫۸۳۵
۳ {v1,v3,v25} ۰٫۸۸۰
۴ {v1,v3,v10,v25} ۰٫۹۴۵
۵ {v1,v3,v10,v12,v25} ۰٫۹۸۵
۶ {v1,v3,v7,v10,v12,v25} ۱٫۰

زمانی که الگوریتم QRA اجرا می شود شش شاخص موثر باقی می ماند  که عبارتند از : “طول URL ” و “منبع صدور گواهی” و “گواهی تشخیص نام (جزئیات گواهی” و “تکیه گاه غیر طبیعی آدرس”  و  “سرورهای غیر طبیعی یا SFH غیر طبیعی ” و “اضافه کردن یک پیشوند یا پسوند به زیر دامنه” . موارد فوق با بررسی نمونه های واقعی و روش های متداول فیشینگ در زمینه بانکداری الکترونیک و مشورت با کارشناسان و بررسی شرایط موثر شناسایی شده اند . (شکل ۴) . پس از پیدا کردن متغییرهای زبانی ، پرسش نامه تهیه شد و در میان کارشناسان برای تعریف متغییرهای زبانی توزیع شد که نتایج آن در جدول ۴ نشان داده شده است .

مقادیر ورودی

مقادیر ورودی

جدول ۴

متغییرهای ورودی توابع عضویت فازی

مقادیر ورودی توابع عضویت

مقادیر ورودی توابع عضویت

۴٫۳٫ تعیین متغییرهای خروجی :

متغییر خروجی از موتور اسنتاج فازی نشان دهنده مقدار نرخ فیشینگ وب سایت می باشد که می تواند دارای مقادیر “درست(مشروع)” ، “کمی مشکوک” ، “مشکوک” ، “بسیار مشکوک” و “فیش(phish)” باشد . در واقع این موتور استنتاج وب سایت ها را به صورت زیر طبقه بندی می کند :

با توجه به شرح فوق ، طبقه بندی وبسایتها که با نظر کارشناسان تهیه شده است در جدول شماره ۵ آمده است . هم چنین شکل ۵ شش تابع عضویت متغییر خروجی را نشان می دهد .

جدول ۵

طبقه بندی خروجی متغییرهای زبانی بر اساس خروجی عددی (نرخ فیشینگ):

خروجی فازی ساز

خروجی فازی ساز

۴٫۴٫ فازی سازی[۱]:

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

با توجه به ممسائل فوق ، فازی ساز منفرد[۲]  برای پارامترهای ورودی در این تحقیق کاربردی استفاده می شود به طوری که اعداد کریسپ به اعداد فازی  با استفاده از فرمول زیر تبدیل شوند :

۴٫۵ . پایگاه دانش فازی :

برای ایجاد قوانین در پایگاه دانش از نظرات کارشناسان استفاده شده است .پایگاه قوانین سیستم خبره فازی – سخت از ۴۰ قانون ساخته شده است .بخشی از این پایگاه فازی در جدول ۶ نمایش داده شده است .

جدول ۶

 بخشی از پایگاه دانش

بخشی از پایگاه دانش

بخشی از پایگاه دانش

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

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

۴٫۶ .  غیر فازی ساز

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

 . موتور استنتاج فازی :

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

در این بخش ، شاخص فیشینگ مورد بررسی قرار می گیرد . فرض کنید که فیشرها به  جعل سایتی بپردازند که دقیقا مشابه با همان سایت اصلی باشد. ارزش شاخص استخراج شده از سایت در ۱۰ ردیف جدول ۷ ذکر شده است :

جدول ۷

 نتایج اجرای سیستم خبره فازی – سخت در ۱۰ وب سایت بانکی :

نتایج سیستم فازی - راف

نتایج سیستم فازی – راف

بر اساس نتایج حاصل شده  یک وب سایت جعلی معمولا طولی بیش از ۲۰ کاراکتر دارد این طول در طیف وسیعی از تابع ضویت پایین (low ) قرار دارد و طول مناسبی برای وب سایت های بانکداری الکترونیکی است . هم چنین این وب سایت ها دارای گواهی SSL با یک CA بسیار قابل اعتماد هستند . اگر چه فیشرها امکان استفاده از یک گواهی نامه از یک CA معتبر را ندارند اما فرض بر این است که آن ها از یک گواهی نامه منقضی شده استفاده می کنند . بنابراین جزئیات گواهینامه (DN) متوسط است . شاخص تکیه گاه URL دارای کمترین مقدار ممکن است که نشان می دهد یک متغییر زبانی بالا است . در این وب سایت  کد منبع و بر چسب فرم و SFH غیرطبیعی دارای عدد ی۱ می باشند . خروجی سیستم فازی نرخ فیشینگ را نشان می دهد که عددی بین ۰ و۱۰۰ است که در بخش ۴٫۳ مورد بحث قرار گرفت . هر چه این نرخ به ۱۰۰ نزدیک شود اعتماد به وب سایت کاهش یافته و احتمال فیشینگ افزایش می یابد . اولین گام در محاسبه نتیجه این است که به استخراج تابع عضویت برای هر متغییر ورودی پرداخته شود . به عنوان مثال برای این وب سایت طول URL  در محدوده پایین است .

بانک ملی ایران (BMI ) یکی از بانک های ایرانی و در رتبه بندی بین بانک ها اولین بانک ایران می باشد . این بانک در سال ۱۹۲۸ با دستور مجلس ایران تاسیس شد و از آن پس به طور مداوم یکی از بانک های با نفوذ ایرانی بوده است .  بانک ملی ایران در حال حاضر بزرگترین بانک تجاری در ایران و در خاورمیانه با بیش از ۳۲۷۱ شعبه فعال در ایران ، ۱۳ شعبه فعال در کشورهای خارجی و ۴ شرکت تابعه می باشد[۳۳] .

شکل ۸ صفحه اصلی پرداخت اینترنتی بانک ملی ایران را نمایش می دهد . اطلاعات این وب سایت در ردیف ۶ جدول ۷ استخراج و ذکر شده است .

بهبود سیستم قبلی فازی [۱۰]  در عملکرد و توان یکی از دست آورد های مقاله حاضر می باشد که این مهم با استفاده از سیستم ترکیبی و به دلیل سادگی و انعطاف پذیری و قابلیت اصلاح پایگاه قوانین بدست آمده است . بنابراین در مواجه با روش فیشینگ جدید در بانکداری الکترونیک ، به راحتی امکان افزایش قابلیت های سیستم و شناسایی تهدیدات جدید وجود دارد . روش حاضر مشکل پیدا کردن شاخص های فیشینگ موثر را به حداقل رسانده و یک راه حل سریع و آسان را ارائه می دهد .

شناسایی شاخص های فیشینگ در سیستم بانکداری الکترونیکی ایران کاری حیاتی است که بر اساس آن ما در این مقاله به استخراج قوانین فیشینگ برای دفاع از وب سایت های بانکداری ایران در برابر حملات فیشینگ پرداخته ایم . سیستم ترکیبی فازی – سخت در این مقاله برای تمام انواع حملات فیشینگ موجود در بانکداری الکترونیکی درست کار کرده و تمامی موارد را پوشش می دهد . از این رو ما مدعی هستیم این سیستم مانند یک اکسیر (نوش دارو) عمل می کند .

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

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

 در نهایت ، نتایج آزمون سیستم تشخیص فیشینگ مقاله حاضر در مقایسه با سیستم های که هدف آن ها شناسایی فیشینگ بود نشان داد که عملکرد مناسبی سیستم ما دارد (نتایج عملکرد در جدول ۷)  . روش ارائه شده مزایای بیشتری نسبت به هر روش دیگری در تشخیص فیشینگ صفحه وب دارد که می توان به میزان اشتباه کم و دقت بالا آن اشاره کرد . در عمل ما متوجه ششدیم که الگوریتم پیشنهادی قبلی پیش از حد در اجرا سنگین می باشد و حتی در صورت اجرا ، سیستم نهایی چابکی کافی را برای مواجه با خواسته های شبکه آنلاین ندارد .

در این مقاله یک سیستم خبره فازی – سخت برای تشخیص فیشینگ در بانکداری الکترونیکی ایران توسعه و اجرا شد . پس از استخراج عوامل موثر اولیه در تشخیص حملات فیشینگ در بانکداری الکترونیکی ، شش شاخص اجرای الگوریتم سخت در مورد ۵۰ نمونه از وب سایت های بانکداری الکترونیکی شناسایی شدند . در نهایت سیستم خبره ترکیبی فازی – سخت با شش ورودی و ۴۰ قانون ساخته شد پس از آن ملکرد سیستم خبره فازی – سخت ارزیابی و نتیجه نشان داد که سیستم دارای دقت ۸۸% می باشد .

دانلود نسخه پی دی اف این مقاله