1-1- آسيب پذيري1
در مباحث امنيت کامپيوتر، يک آسيب پذيري، ضعفي است که براي مهاجم امکان سوء استفاده از اطلاعات يک سيستم را فراهم ميکند. سالانه هزاران آسيب پذيري کشف و گزارش ميشوند و ميليونها دلار در سرتاسر دنيا صرف مقابله با آسيب پذيريها ميگردد. براي بهره کشي از آسيب پذيري يک سيستم عموماً به سه عامل نياز است: حساسيت يا نقصي در سيستم، دسترسي مهاجم به نقص و توانايي مهاجم براي بهره کشي از نقص (1).
1-1-1- تعريف آسيب پذيري
آسيب پذيري از جمله مفاهيمي است که منابع مختلف تعاريف متفاوتي را برايش ارائه دادهاند. از جمله اين تعاريف ميتوان به موارد زير اشاره کرد:
ISO 27005: ضعف يک دارايي يا گروهي از داراييها که ميتواند توسط فرد يا گروهي از افراد مورد بهره کشي قرار گيرد (2). در اين تعريف دارايي به معناي هر چيزي که براي سازمان ارزشي داشته باشد، است، براي مثال منابع اطلاعاتي مورد حمايت سازمان.
IETF RFC 2828: يک عيب يا ضعف در طراحي، پياده سازي، عملکرد يا مديريت سيستم، که ميتواند باعث بهره کشي، در جهت نقض سياست امنيتي سيستم شود (3).
کميته ملي سيستمهاي امنيتي ايالات متحده آمريکا2، در دستورالعمل CNSSشماره 4009، در تاريخ 26 آوريل 2010، واژه نامه تضمين اطلاعات ملي: آسيب پذيري ضعف در يک IS، روشهاي امنيتي سيستم، کنترلهاي داخلي يا پياده سازي است، که ميتواند منجر به بهره کشي شود (4).
ENISA: وجود يک ضعف طراحي يا خطاي پياده سازي که بتواند منجر به رويداد غير منتظره نامطلوبي شود، که اين رويداد امنيت سيستم کامپيوتر، شبکه، برنامه يا پروتکل را به خطر اندازد (5).
گروه باز3: حالتي که قدرت مهاجم بيش از قدرت مقاومت در برابر آن باشد (6).
تحليل عاملي از خطر اطلاعات4(FAIR): احتمال اينکه يک دارايي قادر به مقاومت در برابر عوامل خطر نباشد (7).
امنيت داده و کامپيوتر، فرهنگ لغات مفاهيم و لغات استاندارد، نويسندگان دنيس لانگلي5 و مايکل شين6، استاکتون پرس7، ISBN 0-935859-17-9:
در امنيت کامپيوتر، ضعف کارکرد امنيتي سيستمهاي خودکار شده، کنترلهاي ناظران، کنترلهاي اينترنت و غيره، که بتوانند بوسيله يک مهاجم با دسترسي غير مجاز به اطلاعات، پردازش اطلاعات را مختل کنند.
در امنيت کامپيوتر، يک ضعف در لايه فيزيکي، سازمان، کارکرد، کارکنان، مديريت، سرپرستي، سخت افزار يا نرم افزار که امکان بهره کشي از آنها با هدف آسيب رساندن به سيستم يا فعاليت وجود داشته باشد.
در امنيت کامپيوتر، هر ضعف يا نقص موجود در يک سيستم، حمله، رويداد مضر يا فرصت دسترسي براي يک عامل تهديد کننده، که امکان تهديد را براي عامل فراهم کند، را آسيب پذيري گويند.
1-1-2- کلاس بندي آسيب پذيريها
آسيب پذيريها، براساس نوع دارايي به دستههاي زير تقسيم ميشوند (2):
سخت افزار، براي مثال: حساسيت به رطوبت، حساسيت به گرد و غبار، استعداد ابتلا به ذخيره سازي محافظت نشده.
نرم افزار، براي مثال: تست ناکافي، فقدان پيگيري.
شبکه، براي مثال: خطوط ارتباطي محافظت نشده، معماري شبکه ناامن.
کارکنان، براي مثال: روند جذب ناکافي، آگاهيهاي امنيتي ناکافي.
مکان، براي مثال: منطقه مستعد سيل،منبع برق غير قابل اعتماد.
سازماني، براي مثال: عدم پيگيري منظم، عدم تداوم برنامهها.
1-1-3- علتهاي ايجاد آسيب پذيريها
برخي از منابع و علتهاي ايجاد آسيب پذيريها عبارتند از:
پيچيدگي سيستم: احتمال وجود نقص و نقاط دسترسي ناخواسته در سيستمهاي بزرگ پيچيده، بيشتر است (8).
متعارف بودن سيستم: استفاده از کدها، نرم افزارها، سيستم عاملها يا سخت افزارهاي معمول و معروف، احتمال اينکه يک مهاجم بتواند به دانش و ابزار، جهت بهره کشي از نقص موجود دسترسي پيدا کند، را افزايش ميدهد (9).

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

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

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

اتصال: اتصالات فيزيکي، امتيازات8، پورتها، پروتکلها و سرويسهاي بيشتر و افزايش مدت زمان هر يک از آنها، دسترسي پذيري به آسيب پذيريها را افزايش ميدهد (7).
نقص در مديريت پسوردها: کاربران کامپيوتر از پسوردهاي ضعيفي که با تلاش اندکي کشف ميشوند، استفاده ميکنند يا اينکه آنها را در برخي برنامهها ذخيره ميکنند، و اين پسوردها بين بسياري از برنامهها و صفحات وب مشترک است (8).
نقصهاي طراحي در سيستم عاملهاي اصلي: طراحان سيستم عاملها، عموماً سياستهايي که کمتر کاربر/مدير سيستم را درگير کنند را برميگزينند. براي مثال سيستم عاملها، سياستهايي مثل پيش فرضهاي اعطاي مجوز به هر برنامه و دسترسي کامل کاربران به سيستم را دارند (8).اين نقصهاي سيستم عاملها، به ويروسها و بدافزارها، اجازه اجراي دستوراتي از طرف مدير را ميدهد (1).
مرور وبسايتهاي اينترنت: برخي وب سايتهاي اينترنتي داراي جاسوسها يا تبليغات خطرناکي هستند، که ميتوانند به صورت خودکار روي سيستمهاي کامپيوتري نصب شوند. بعد از بازديد از اين وب سايتها سيستمها آلوده ميشوند، اطلاعات شخصي جمع آوري شده و براي شخص ثالث فرستاده ميشود (10).
اشکلات نرم افزاري: اشکلات قابل بهره کشي در بسياري برنامههاي نرم افزاري وجود دارد. اشکلات نرم افزاري ممکن است به مهاجمان اجازه سوء استفاده از برنامه را بدهند (8).
وروديهاي کاربر کنترل نشده: برنامهها فرض ميکنندکه همهي وروديهاي کاربر امن است. برنامههايي که وروديهاي کاربر را بررسي نميکنند، در واقع امکان اجراي مستقيم دستورات ناخواسته و دستکاري در پايگاه دادهها را فراهم ميکنند (8).
1-1-4- شناسايي و حذف آسيب پذيريها
تلاشهاي زيادي در جهت ساخت نرم افزارهايي با قابليت کشف خودکار آسيب پذيريهاي سيستمهاي کامپيوتري انجام شده است. اگرچه نرم افزارهاي موجود ميتوانند در برخي موارد ديد کلي خوبي را نسبت به آسيب پذيريهاي سيستم فراهم کنند، اما نميتوانند جايگزين بررسي انسانيروي آسيب پذيريها شوند. تکيه بر گزارشات اسکنرها، ديد محدود همراه با تشخيصهاي اشتباه زياد، به همراه خواهد داشت. آسيب پذيريها در همهي نرم افزارهاي اساسي مثل سيستم عاملها وجود دارند. گاهي اوقات تنها راه حل اساسي مقابله با آنها نصب بسته نرم افزاري اصلاح شده آن محصول است و در فاصله زماني کشف تا ارائه بسته نرم افزاري با روشهايي مثل استفاده از ديوار آتش و يا نظارت مستقيم بر کنترلهاي دسترسي توسط ناظران سيستمها، ميتوان جلوي سوء استفاده از سيستم را گرفت. لازم به ذکر است که روشهاي نظارت مستقيم بر سيستمها، هم از نظر مالي و هم از نظر نيروي انساني بسيار هزينه بر هستند.
1-2- مفاهيم اوليهي مورد نياز
1-2-1- متن کاوي
مشکلي که دنياي امروز با آن رو به رو است، كمبود يا نبود اطلاعات نيست بلکه کمبود دانشي است که از اين اطلاعات ميتوان حاصل کرد. ميليونها صفحهي وب، ميليونها کلمه در کتابخانههاي ديجيتال و هزاران صفحه اطلاعات در هر شرکت، تنها بخشي از اين منابع اطلاعاتي هستند. اما نميتوان به طور مشخص منبعي از دانش را در اين بين معرفي کرد. دانش حاصلي است که از نتيجه گيري و فکر و تحليل بر روي اطلاعات به دست ميآيد. هدف داده کاوي مشخص کردن روابط ميان دادههاي موجود در پايگاه دادهها و استخراج دانش از ميان آنها ميباشد. زماني که دادههاي موجود ساخت يافته باشند استفاده از روشهاي داده کاوي و کسب دانش از آنها ساده است. اما امروزه بخش زيادي از اطلاعات به صورت متن نگهداري ميشود و متنها دادههايي غير ساخت يافته هستند. يک فرد براي دريافت دانش از اطلاعات يک متن، بايستي ابتدا آنرا درک کند، تا بفهمد چه معاني و مفاهيمي در آن موجود است و چه ارتباطي ميان مفاهيم وجود دارد. با اين حال عصر تکنولوژي به دنبال خودکارسازي است، حتي اگر اين کار “درک معني متن” باشد (11).
متن كاوي تمام فعاليتهايي كه به نوعي به دنبال كسب دانش از متن هستند را شامل مي‌گردد. تحليل دادههاي متني توسط روشهاي يادگيري ماشين، بازيابي اطلاعات هوشمند، پردازش زبان طبيعي، همگي در دسته فعاليتهاي متن کاوي قرار مي‌گيرند. تصوير 1-1 مراحل متعارف متن کاوي را نشان ميدهد. اولين گام در متن کاوي استفاده از روشهايي براي ساختارمند نمودن متنها است. متن از مجموعهاي از کلمات و عبارات زبان طبيعي تشکيل شده است. عموماً روشهاي متن کاوي ابتدا کلمات و عبارات، را از متن استخراج ميکنند و سپس آنها را مورد پردازش قرار ميدهند، براي مثال برخي کلمات مثل حروف اضافه و ضماير حذف، و کلمات باقي مانده ريشهيابي ميشوند. سپس مشخصات استخراج شده از متنها به روشهاي مختلفي مقداردهي ميشوند، از ميان اين روشها ميتوان به مقداردهي دودويي (بيانگر ظاهر شدن/ نشدن کلمه در متن است)، فراواني کلمه در متن، وزن TF-IDFاشاره کرد (12).در اين تحقيق از روش وزندهي TF-IDFاستفاده شده است، که در قسمت بعد درباره اين روش توضيح داده خواهد شد. با استفاده از مقادير به دست آمده بردارهاي ويژگي براي دادهها ساخته و از بين مجموعهي دادهها، دادههاي آموزش و تست کلاس بندي کننده انتخاب ميشوند. پس از آن يک روش کلاس بندي انتخاب ميشود. کلاس بندي کننده با استفاده از دادههاي آموزش، آموزش داده و با استفاده از دادههاي تست ارزيابي ميشود.

تصوير 1- 1: مراحل متعارف متن کاوي.
1-2-1-1- روش وزندهي فراواني واژه – معکوس فراواني سند9
به طور کلي اهميت يک کلمه در مجموعه اسناد با دو شاخص مشخص مي شود: يکي فراواني نسبي رخداد آن کلمه در سند که فراواني واژه10 ناميده ميشود و ديگري تعداد اسناد دربرگيرندة آن کلمه که فراواني سند11 نام دارد. بديهي است اگر کلمه‌اي با فراواني بالا در سندي رخ دهد، آن کلمه مهمتر از ساير کلمات در آن سند بوده و به عنوان کلمه کليدي آن سند محسوب ميشود. فراواني سند بيانگر نسبت اسناد دربرگيرنده آن کلمه در بين تمامي اسناد است. اگر فراواني رخداد يک کلمه در تمامي اسناد نسبت به سند موجود کمتر باشد، بيانگر اين است که آن کلمه، سند موجود را بهتر از ديگر اسناد متمايز مي‌کند (12). براي محاسبة آنها ابتدا فراواني واژه iدر سند j (Fij) محاسبه مي شود و با هنجار کردن آن در تمامي مجموعه، مقدار TFبه دست مي‌آيد يعني:
TFij = F ij / max (Fij)
اساس IDFبر اين است که واژه‌هايي که در اسناد زيادي ظاهر مي‌شوند، کمتر بيانگر موضوع کلي هستند، به همين دليل براي محاسبة آن، ابتدا تعداد اسنادي که در برگيرندة واژه i هستند (ni) و تعداد کل اسناد در مجموعه (N) مشخص شده، سپس IDFبه صورت زير محاسبه ميشود:
IDFi = log (N/ni)
در انتها، روش وزندهي TF-IDFبه صورت زير محاسبه ميشود:
TF-IDF = TFij * IDFi
اين رابطه نشاندهنده حاصل‌ضرب TFدر IDFو بيانگر اهميت يک کلمه در سند بوده و مي‌توان بر اساس آن کلمه‌هاي موجود در اسناد را بر حسب ميزان اهميت آنها رتبه‌ بندي کرد (11). در اين تحقيق از اين روش به منظور استخراج مشخصات از متن گزارشهاي آسيب پذيريها استفاده شده است.
1-2-2- کلاسبندي12 و پيش بيني
کلاسبندي فرآيند پيدا کردن يک مدل توصيف کننده و تميز دهنده براي کلاسهاي دادهها است. اين مدل بايد به شکلي باشد که بتوان از آن براي پيش بيني کلاس دادههايي که برچسب آنها نامشخص است، استفاده کرد. کلاسبندي کننده، بوسيله يک مجموعه داده آموزش که براي آنها برچسب کلاسها مشخص است، ساخته ميشود. مدل به دست آمده به شکلهاي مختلفي ميتواند ارائه شود، براي مثال ميتوان به قوانين کلاسبندي13، درختهاي تصميم14، فرمولهاي رياضي و شبکههاي عصبي15 اشاره کرد (11).
در زمينه کلاسبندي تحقيقات زيادي انجام شده و روشهاي زيادي براي ساخت و بهبود مدلها ارائه شده است. در ادامه اين قسمت روشها و مفاهيمي که در زمينه کلاسبندي در اين تحقيق استفاده شدهاند، شرح داده ميشوند.
1-2-2-1- ماشين بردار پشتيباني16
الگوريتم SVMاوليه در 1963 توسط وپنيک17ابداع شدو در سال 1995 توسط وپنيک و کورتس18براي حالت غيرخطي تعميم داده شد. الگوريتم SVM،جزء الگوريتمهاي تشخيص الگو دسته بندي ميشود.از الگوريتم SVM، در هر جايي که نياز به تشخيص الگو يا دسته بندي اشياء در کلاسهاي خاص باشد ميتوان استفاده کرد. اين روش با فرض اينکه دستهها به صورت خطي جدايي پذير هستند، به دنبال اَبُرصفحهاي با حداکثر حاشيه19 که بتواند دستهها را جدا کند، است. در مسائلي که دادهها به صورت خطي جداپذير نباشند، دادهها به فضايي با ابعاد بيشتر نگاشت پيدا ميکنند تا بتوان آنها را در اين فضاي جديد به صورت خطي جدا نمود. SVMدر حالت پايه يک روش کلاسبندي کننده دو کلاسه است، اما تحقيقات و پياده سازيها مختلفي برروي آن براي حل مسائل داراي بيش از دو کلاس نيز انجام شده است (12).
1-2-2-2- بگينگ20
در اين روش از ترکيب کلاسبنديهاي پيشبيني شده توسط چند مدل استفاده ميشود و نتيجه نهايي پيشبيني مدلها را يک رأي گيري ساده مشخص خواهد کرد. فرض کنيد چندين مجموعه داده آموزش با اندازههاي يکسان به صورت تصادفي از ميان دادههاي موجود انتخاب شدهاند و سپس با يک روش يکسان، کلاسبندي کنندههايي با اين دادهها، آموزش داده شدهاند. آيا واقعاً اين کلاسبندي کنندهها يکسان هستند؟ تجربه نشان داده است که نتايج پيشبيني حاصل از اين کلاسبندي کنندهها در برخي موارد يکسان نيست. اين تفاوت در حالتي که مجموعه دادههاي آموزش کوچک است، بيشتر ميباشد. هدف بگينگ اين است که نتايج اين کلاسبندي کنندههاي مختلف را با هم ترکيب کند، به عبارت ديگر کلاسي که بيشترين رأي را در بين پيشبينيهاي کلاسبندي کنندهها به دست آورد، به عنوان کلاس داده مورد نظر معرفي ميشود. تجربه نشان داده است که نتايج حاصل از بگينگ عموماً نسبت به حالتي که فقط از يک کلاسبندي کننده استفاده شده، بهتر است (12).
1-2-2-3- جنگل تصادفي21
جنگل تصادفي مجموعهاي متشکل از درختان تصميم است. يک جنگل تصادفي معمولاً از دهها يا صدها درخت تصميم ساخته شده است. در اين روش براي تعيين نتايج نهايي پيشبيني از بگينگ (يا بوستينگ22 که بگينگ وزندار است) استفاده ميشود. اين روش بر خلاف حالت استفاده از يک درخت تصميم حساسيت به نويز پاييني دارد و مدل پايدارتري را ارئه ميدهد. اين روش از نظر کارايي با کلاسبندي کنندههاي غيرخطي مانند شبکههاي عصبي مصنوعي و SVMدر رقابت است.
در اين روش هر درخت تصميم گيري با زيرمجموعهاي از دادههاي آموزش ساخته ميشود؛ اين زيرمجموعهها به صورت تصادفي همراه با جايگذاري انتخاب ميشوند. واضح است که برخي از دادهها بيشتر از يک بار در اين مجموعهها ظاهر ميشوند و برخي از دادهها اصلاً انتخاب نميشوند. به طور کلي تقريباً دو سوم دادهها در مجموعههاي آموزش ظاهر ميشوند و تقريباً يک سوم آنها انتخاب نميشوند. سپس با استفاده از هر يک از مجموعه دادههاي آموزش يک درخت تصميم ساخته ميشود و همانطور که پيش از اين نيز اشاره شد، رأيگيري به روش بگينگ نتيجه پيشبيني در اين روش را مشخص ميکند (11).
1-2-2-4- اعتبار متقاطع23
الگوريتمهاي دادهکاوي عموماً بخشي از دادههاي موجود را براي آموزش و بخش باقي مانده دادهها را براي تست کلاسبندي کنندهها استفاده ميکنند. در عمل معمولاً دو سوم دادهها براي آموزش و يک سوم آنها براي تست استفاده ميشود. واضح است که در اين روش امکان اينکه دادههاي متعلق به يک کلاس اصلاً در مجموعه دادههاي آموزش (يا تست) قرار نگيرند نيز وجود دارد. بنابراين ممکن است استفاده از چنين طبقه بندي کنندهاي منجر به بهترين و صحيحترين نتيجه نشود.
اما در روش “اعتبار متقاطع” تعداد ثابتي دسته24 يا بخش بندي براي دادهها در نظر گرفته ميشود. به عنوان مثال n براي تعداد بخشها انتخاب ميشود. سپس دادهها به n بخش تقريباً مساوي تقسيم ميشوند و در هر مرحله يک بخش براي تست و ديگر بخشها براي آموزش استفاده ميشوند و اين کار n بار تکرار خواهد شد. در نتيجه هر داده دقيقاً يک مرتبه به عنوان تست استفاده شده است. در نهايت ميانگين خطاي n مرحله به عنوان خطاي کلي در نظر گرفته ميشود.
عموماً از n=10 براي اعتبار متقاطع استفاده ميشود. آزمايشاتي که روي حجم انبوهي از مجموعه دادهها با الگوريتمهاي آموزش مختلف انجام شده نشان داده است که n=10 عددي مناسب براي دست يافتن به مقدار تقريبي بهترين خطا است، البته تعدادي مدارک نظري نيز براي مناسب بودن n=10 نيز وجود دارد. با توجه به انتخاب تصادفي دستهها، يک مرتبه انجام اعتبار متقاطع ممکن است، دقتي که کاملاً قابل اعتماد باشد را ارائه نکند، بنابراين بهتر است که انجام اعتبار متقاطع چندين بار تکرار شود (12).
1-2-2-5- اعتبار متقاطع نگهداشتن يکي25
روش “اعتبار متقاطع نگهداشتن يکي” مشابه اعتبار متقاطع معمولي است با اين تفاوت که n در اين روش برابر با تعداد نمونهها در مجموعه دادهها است. اين روش ابتدا يک نمونه را جدا ميکند، سپس آموزش با استفاده از همه نمونههاي باقي مانده انجام ميشود و پس از آن يک نمونه نگه داشته شده، به کلاسبندي کننده، براي تست داده ميشود. اين روش به دو دليل مورد توجه قرار ميگيرد: اول اينکه از بزرگترين مجموعه داده آموزش استفاده ميشود و اين مسئله شانس رسيدن به يک کلاسبندي کننده دقيق را افزايش ميدهد. دوم اينکه اين روش يک روش قطعي است. يعني مجموعهها به صورت تصادفي انتخاب نميشوند و با هر بار تکرار فقط يک نتيجه حاصل ميشود. اما اين روش هزينه محاسباتي زيادي دارد، زيرا براي هر داده يک بار فرآيند آموزش تکرار ميشود و در عمل اين روش فقط براي مجموعه دادههاي کوچک قابل استفاده ميباشد (12).
1-2-3- خوشهبندي26
يكي ديگر از اهداف داده‌کاوي پديده‌ي خوشه‌بندي مي‌باشد، كه به فرآيند تقسيم مجموعه‌اي از داده‌ها (يا اشياء) به زير كلاس‌هايي با مفهوم خوشه‌ اشاره دارد. يك خوشه‌، يك‌ سري داده‌هاي مشابه مي‌باشد كه همانند يك گروه واحد رفتار مي‌كنند. لازم به ذكر است، خوشه‌بندي تاحدوديمشابه کلاس‌بندي است، با اين تفاوت كه كلاس‌ها از پيش‌تعريف‌شده و معين نمي‌باشند و عمل گروه‌بندي داده‌ها بدون نظارت انجام مي‌گيرد (11).
برخلاف کلاس‌بندي كه داده‌ها را براساس كلاس‌ها تحليل ميكند،در خوشه‌بندي داده‌ها، بدون در نظر گرفتن برچسب‌هاي كلاس، تحليل ميشوند ومعمولاً برچسب كلاس‌ها درداده‌هاي آموزش مشخص نيست. خوشه‌بندي گاهي براي تعيين و توليد برچسبهايي براي دادهها بكار ميرود. دادههاي خوشه‌بندي‌ شده بر اساس اصل ماكزيمم شباهت بين اعضاي هر کلاس و مينيمم شباهت بين کلاس‌هاي مختلف گروه‌بندي مي‌شوند، يعني خوشه‌ها به‌گونه‌اي تنظيم مي‌شوند که اشياي داخل هر خوشه‌ بيشترين شباهت را با يكديگر داشته باشند. هر خوشه‌ به عنوان يك كلاس مي‌باشد، كه قوانين هر کلاس، از خوشه متناظرش مشتق ميشوند (12).
روشها و الگوريتمهاي بسياري براي خوشهبندي ارائه شده است. يکي از اين روشها نگاشت خود سازمانده27 ميباشد. در اين تحقيق از روش نگاشت خود سازمانده نوخاسته28 استفاده شده است. در ادامه اين بخش درباره SOMو ESOMتوضيح مختصري داده ميشود.

1-2-3-1- نگاشت خود سازمانده و نگاشت خود سازمانده نوخاسته

نگاشت خود سازمانده يک نوع از شبکههاي عصبي مصنوعي است که به صورت نظارت نشده آموزش ميبيند و هدف آن ايجاد يک نمايش از فضاي دادههاي ورودي به فضايي با ابعاد کمتر (معمولاً دو بعد) است. که به اين نمايش ابعاد پايين، نگاشت (يا نقشه) گفته ميشود. نگاشت خود سازمانده با ساير شبکههاي عصبي مصنوعي متفاوت است زيرا از يک تابع همسايگي به منظور حفظ خواص توپولوژيکي فضاي ورودي استفاده ميکند. اين مدل براي اولين بار توسط يک پروفسور فنلاندي به نام کوهونن29 ارائه شد، به همين دليل گاهي اوقات به نام نگاشت کوهونن شناخته ميشود (13).
همانند بيشتر شبکههاي عصبي مصنوعي SOMنيز در دو فاز آموزش و نگاشت اجرا ميشود. در فاز آموزش، نگاشت (يا نقشه) با استفاده از نمونههاي ورودي ساخته ميشود. آموزش يک فرآيند رقابتي است که به نام تدريج بردار30 نيز شناخته ميشود. در فاز نگاشت بردارهاي ورودي جديد به طور خودکار کلاسبندي ميشوند (13).
نگاشت خود سازمانده از اجزايي به نام نرون تشکيل ميشود. هر نرون با يک بردار وزن با ابعادي، برابر با ابعاد داده ورودي و موقعيتش در فضاي نگاشت مشخص ميشود. نرونها معمولاً در يک فضاي منظم به شکل يک شبکه شش ضلعي يا مستطيل شکل چيده ميشوند. همان طور که پيش از اين اشاره شد، نگاشت خود سازمانده توصيفي از فضاي ورودي با ابعاد بالا به نگاشتي با ابعاد پايين است. SOM براي قرار دادن يک بردار از فضاي داده ورودي در نگاشت، نروني که نزديکترين بردار وزن به فضاي داده ورودي را دارد، پيدا ميکند، پس از مشخص شدن نزديکترين نرون، مقدار بردار وزن نرون، با توجه به داده ورودي، به روزرساني ميشود. در اين روش استفاده از ماتريسU31 بسيار متعارف است. مقدار يک نرون در ماتريسU، ميانگين فاصله بين نرون و نزديکترين همسايههايش است. در يک شبکه مربعي 4 يا 8 همسايه و در يک شبکه شش ضلعي شش همسايه در نظر گرفته ميشوند. از جمله توسعههاي مفيدي که در اين نوع شبکهها داده شده است، ميتوان به شبکههاي چنبرهاي32 اشاره کرد. در اين شبکهها لبههاي مخالف به يکديگر متصل شدهاند و از تعداد زيادي نرون استفاده ميکنند (13).
نشان داده شده است که نگاشتهاي خود سازمانده، با تعداد کمي نرون همانند روش k – ميانگين33 رفتار ميکنند، درحاليکه شبکههاي خود سازمانده بزرگ دادهها را به روشي که مشخصات توپولوژيکي اصلي حفظ شوند، مرتب ميکنند. اين ويژگي باعث مطرح شدن شبکههاي ESOMشد. تفاوت ميان ESOMو SOMسنتي اين است که ESOMاز تعداد بسيار زيادي (حداقل چند هزار) نرون استفاده ميکند. بنابراين ESOMبراي ايجاد يک ديد کلي از ساختار دادههاي پراکنده34 و داراي ابعاد بالا مناسبتر است. در ESOMها ويژگي دادهها بهتر مشخص ميشود، بنابراين از ESOMها که هزاران نرون دارند، ميتوان براي خوشهبندي مناسبتر دادهها استفاده کرد (14).

1-2-4- انتخاب ويژگي35
انتخاب ويژگي، تکنيک انتخاب زيرمجموعهاي از ويژگيهاي مرتبط است، که هدف آن ساختن يک مدل يادگيري قويتر ميباشد. در يادگيري ماشين و آمار از عناويني مثل انتخاب متغيير، کاهش ويژگيها، انتخاب صفت يا انتخاب زيرمجموعهاي از متغييرها به جاي انتخاب ويژگي نيز استفاده ميشود (12). انتخاب ويژگي با حذف ويژگيهاي بيربط و کاهش ابعاد ويژگيهاي دادهها به دلايل زير باعث بهبود کارايي مدل يادگيري ميشود:
کاهش اثرات منفي ابعاد بالا
افزايش قابليت تعميم
افزايش سرعت فرآيند آموزش
بهبود قابليت تفسير مدل
انتخاب ويژگي، با بيان اينکه کدام ويژگيها مهمتر هستند و ويژگيها چگونه با هم در ارتباط هستند، به افراد کمک ميکند تا ديد بهتري از دادههايشان پيدا کنند. براي انتخاب ويژگي، تاکنون الگوريتمهاي زيادي ارائه شده است. هر يک از اين الگوريتمها با توجه به نوع و حجم دادهها، الگوريتم آموزش مورد استفاده و اينکه يادگيري نظارت شده يا بدون نظارت است، کاربرد دارند و الگوريتم انتخاب ويژگي بايد با در نظر گرفتن شرايط مسئله انتخاب شود. در اين تحقيق براي انتخاب ويژگي در بخش کلاسبندي از الگوريتم SVM-RFE و براي بخش خوشه بندي الگوريتم PCAاستفاده شده است، که در ادامه اين بخش درباره اين الگوريتمها توضيح داده ميشود.
1-2-4-1- ماشين بردار پشتيباني – استخراج ويژگي بازگشتي36
SVM-RFE براي اولين بار در تجزيه و تحليل دادههاي ميکرو آرايهها، بويژه براي پيدا کردن ژن بيماري استفاده شد. اين روش ژنهاي اضافي را حذف ميکند و زير مجموعهاي از ژنهاي بهتر را نگه ميدارد. در اين روش ويژگيها براساس يک معيار مرتبط با پشتيبانيشان از تابع جداکننده، حذف ميشوند و SVMدر هر گام مجدد آموزش ميبيند (15). SVM-RFEاز اندازه وزنها به عنوان معيار رتبهبندي استفاده ميکند و داراي چهار مرحله زير ميباشد:
آموزش دادن SVMروي مجموعه دادههاي آموزش
مرتب کردن مشخصات با استفاده از وزنهاي به دست آمده از کلاسبندي کننده
حذف کردن مشخصات داراي کمترين وزن
تکرار فرآيند آموزش با ويژگيهاي باقي مانده در دادههاي آموزش
در اين تحقيق از SVMبراي کلاسبندي دادهها و از SVM-RFE براي شناسايي بهترين مشخصات در بخش کلاسبندي استفاده شده است.
1-2-4-2- تحليل مولفههاي اصلي37
تحليل مولفههاي اصلي، يک مجموعه داده را به مجموعه داده جديدي تبديل ميکند، به شکلي که در مجموعه داده جديد احتمالاً تعداد کمتري ويژگي (يا حداکثر برابر با همان تعداد ويژگيهاي مجموعه داده اصلي) وجود دارد و اين ويژگيهاي جديد برخلاف دادههاي اوليه که عموماً به هم وابستهاند، مستقل از هم هستند. در واقع اين روش اطلاعات جديدي از دادهها را بر اساس شباهتها و تفاوتهاي ميان دادههاي اوليه به دست ميآورد. از جمله مزاياي اين روش، اين است که با تحليل دادهها و به دست آوردن الگوي آنها ميتوان به اطلاعات فشردهاي دست يافت، که اين اطلاعات اگرچه فشرده و کم حجمتر هستند اما تقريباً همه اطلاعات دادههاي اصلي را حفظ کردهاند. تحليل مولفههاي اصلي بر اصول آماري متکي است و کاهش تعداد ويژگيها در اين روش باعث شده است که به عنوان يکي از معمولترين روشهاي استخراج ويژگي نظارت نشده مطرح شود (11). در ادامه با فرض اينکه خواننده با مفاهيم پايه آماري مورد استفاده در اين روش آشنا است، توضيح مختصري درباره مراحل ششگانه اين روش داده ميشود (11):
جمع آوري دادهها
نوع ويژگيهاي دادههاي ورودي بايد عددي باشد.
تنظيم دادهها
ميانگين هر ويژگي از مقادير همان ويژگي کم ميشوند.
محاسبه ماتريس کواريانس
کواريانس دادهها محاسبه و ماتريس کواريانس دادهها ساخته ميشود.
محاسبه مقادير ويژه و بردارهاي ويژه ماتريس کواريانس
بردارهاي ويژه و مقادير ويژه با استفاده از ماتريس کواريانس محاسبه ميشوند.
انتخاب مولفهها و ساختن بردار ويژگي
بردارهاي ويژه حاصل از مرحله قبل داراي ارزشهاي متفاوتي هستند و با مرتب کردن آنها و حذف تعدادي از بردارهاي کم اهميت ميتوان با از دست دادن اطلاعات کمي، دادهها را متراکم کرده و حجم آنها را کاهش داد.
بدست آوردن دادههاي جديد
در آخرين مرحله با ضرب ترانهاده بردار ويژه به دست آمده در مرحله قبل، در ترانهاده دادههاي نرمال شده دادههاي جديد در ابعاد کمتر به دست ميآيند.
1-3- هدف تحقيق
هدف از انجام اين پژوهش ايجاد يک سيستم خودکار براي پيشگويي پاسخ سوالات زير ميباشد:
آيا مهاجمان ميتوانند به سيستم نرم افزاري، که داراي مشخصهي آسيب پذيري خاصي ميباشد، نفوذ کنند؟
چه زماني مهاجمان به سيستم آسيب پذير نفوذ خواهند کرد؟
از چه زماني آسيب پذيري سيستم توسط مهاجمان کشف شده و مورد سوء استفاده قرار گرفته است؟
چه فاصله زماني بين کشف آسيب پذيري، تا ارائه بسته نرم افزاري اصلاح شده وجود دارد؟
پاسخ سوالات فوق براي سازندگان و کاربران سيستمهاي نرم افزاري بسيار مهم است. اطلاعات مربوط به آسيب پذيري و نفوذ به سيستمها، در پايگاه دادههاي عمومي و تخصصي مختلفي ذخيره شده است. بخش قابل توجهي از دادههاي ذخيره شده در اين پايگاه دادهها متن گزارشات کاربران، ناظران يا سازندگان نرم افزارها است. اين تحقيق، به دنبال ارائه راه حلي از ميان متنها و ساير مشخصات آسيب پذيريها براي پيشگويي پاسخ سوالات فوق با استفاده از ابزارهاي متن کاوي است.
اگرچه تعداد گزارشات آسيب پذيريها بسيار زياد است، اما علت وقوع و تنوع ساختار در آنها چندان زياد نيست. يک دسته بندي مناسب براي آسيب پذيريها، در ساده کردن فهم آنها و ارائه راه حل براي آسيب پذيريها ميتواند بسيار موثر باشد. علاوه بر اهداف فوق، اين تحقيق با استفاده از روشهاي خوشهبندي، به دنبال ارائه يک دسته بندي مناسب براي آسيب پذيريها نيز ميباشد.


پاسخ دهید