new5 free

پيش بينی بهره کشی و خوشه بندی آسيب پذيری ها بوسیله ی متن کاوی

59.000تومان

توضیحات

دانلود و مشاهده قسمتی از متن کامل پایان نامه :

دانشکده مهندسی

پايان نامه­ي کارشناسي ارشد در رشته­ي مهندسی کامپيوتر- نرم­افزار

 

پيش بينی بهره  کشی و خوشه بندی آسيب پذيری­ها بوسیله ­ی متن کاوی

به کوشش

………………….

استاد راهنما

دکتر اشکان سامی

 

 

 

شهريور ماه 1390

از دانشگاه شیراز

شیراز

جمهوری اسلامی ایران

 

 

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

 

دکتر اشکان سامی، استادیار بخش مهندسی کامپيوتر (رئیس کمیته)……………………………………..

دکتر رضا بوستانی، استاديار بخش مهندسی کامپيوتر ……………………………………………………………..

دکتر شهرام جعفری، استادیار بخش مهندسی کامپيوتر……………………………………………………………

شهريور ماه 90

 

چکيده

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

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

در زمينه پيش بينی بهره کشی با استفاده از متن کاوی، تاکنون فقط يک تحقيق انجام شده است. اين تحقيق در KDD2010، با عنوان “فراتر از اکتشافی: آموزش برای، کلاس بندی آسيب پذيری و پيش بينی بهره کشی” ارائه شده است. اين تحقيق به سوالات زير، با استفاده از متن کاوی پاسخ داده است: آيا از آسيب پذيری بهره کشی خواهد شد؟ چه زمانی از آسيب پذيری موجود بهره کشی خواهد شد؟ اين مقاله در مقايسه با CVSS(که يکی از متريک­های معروف آسيب پذيری است) به نتايج خوبی رسيده است. در اين پژوهش به سوالات فوق و به سوالات جديد زير دقت بالايي پاسخ داده شده است:

اگر سيستمی مورد بهره کشی قرار گرفته، چه زمانی اين بهره کشی آغاز شده است؟ (دقت پاسخ­ها بين 94.5-84%)

اگر سيستمی آسيب پذير است، چه زمانی بسته اصلاح شده آن از سوی سازندگان ارائه خواهد شد؟ (دقت پاسخ­ها بين 91-68%)

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

در اين پژوهش از دو پايگاه داده معروف آسيب پذيری­ها (OSVDBو CVE)، و اطلاعات تاريخ آسيب پذيری­ها که استفان فری در اختيارمان قرار داد، استفاده شده است. برای پيش بينی بهره کشی از کلاس بندی کننده­های ماشين بردار پشتيبانی و جنگل تصادفی، و برای انجام خوشه بندی از روش نگاشت خود سازمانده نوخاسته استفاده شده است.

فهرست مطالب

 

 

 

عنوان صفحه
فصل اول: مقدمه 1
1-1-آسیب‏‏پذیری 2
1-1-1-تعریف آسیب‏پذیری 2
1-1-2- کلاس بندی آسيب‏پذيریها 3
1-1-3- علت­های ايجاد آسيب‏پذيری­ها 4
1-1-4- شناسايي و حذف آسيب‏پذيری‏ها 5
1-2- مفاهيم اوليه‏ی مورد نياز 5
1-2-1- متن کاوی 5
1-2-2- کلاس‏بندی  و پيش بينی 8
1-2-3- خوشه‏بندی 12
1-2-4- انتخاب ويژگی 14
1-3- هدف تحقيق 16
فصل دوم: مروری بر تحقیقات پیشین 18
2-1- نقش افراد و فرآيندهای مختلف بر آسيب‏پذيری‏ها 19
2-2- روش‏های ارزيابی و رده بندی آسيب‏پذيری‏ها 24
2-2-1- سيستم نمره دهی آسيب‏پذيری متعارف 25
2-3- دسته بندی آسيب پذيری‏ها 30
2-4- پيش بينی‏های امنيتی با استفاده از گزارش‏های آسيب پذيری‏ها 36
2-5- تشخيص آسيب پذيری‏ها با استفاده از سورس کد نرم افزارها 36
فصل سوم: دادههاوروشاستخراجويژگیها 39
3-1- داده‏های تحقيق 40
3-2- روش استخراج ويژگی‏ها برای کلاس‏بندی و پيش‏بينی 44
3-3- روش استخراج ويژگی‏ها برای خوشه‏بندی 47
فصل چهارم: روش انجام و نتايج آزمايشات 50
4-1- روش و نتايج آزمايشات کلاس‏بندی و پيش‏بينی 51
4-1-1- پيش‏بينی بهره کشی برون خط 51
4-1-2- پيش‏بينی بهره کشی برخط 54
4-1-3- پيش‏بينی زمان 56
4-2- مقايسه OSVDB و CVE 62
4-3- ارزيابی ويژگی‏ها 64
4-4- خوشه بندی آسيب پذيری‏ها 66
4-4-1- تحليل دسته‏های موجود در پايگاه داده OSVDB 68
4-4-2- ارائه دسته بندی آسيب پذيری‏ها 78
4-4-3- ارزيابی دسته‏بندی ارائه شده 84
فصل پنجم: بحث و نتيجهگيري 87
5-1- پيش بينی بهره کشی از آسيب پذيری‏ها 88
5-2- خوشه بندی آسيب پذيری‏ها 89
نتيجه گيری 89
پيشنهادات برای پژوهش‏های آينده 90
منابع و ماخذ 91

 

 

 

فهرست جدول‏ها

 

 

 

عنوان صفحه
جدول 3- 1: ويژگی‏های استخراج شده از هر صفت 47
جدول 4- 1: دسته بندی بهره کشی آسيب پذيری‏ها و نحوه برچسب زنی 52
جدول 4- 2: نتايج پيش بينی بهره کشی برون خط برای تعداد کلاس بندی کننده‏های مختلف 53
جدول 4- 3: دقت پيش بينی در آزمايش برون خط برای 9 کلاس بندی کننده 54
جدول 4- 4: پيش بينی اينکه آيا از آسيب پذيری در T روز آينده بهره کشی خواهد شد يا نه 58
جدول 4- 5: پيش بينی اينکه آيا از آسيب پذيری در T روز آينده بهره کشی خواهد شد يا نه با روش 10 اعتبار متقاطع 10 قسمتی 58
جدول 4- 6: پيش بينی اينکه آيا از آسيب پذيری در T روز گذشته بهره کشی شده است يا نه 59
جدول 4- 7: پيش بينی اينکه آيا از آسيب پذيری در T روز گذشته بهره کشی شده است يا نه، با روش 10 اعتبار متقاطع 10 قسمتی 59
جدول 4- 8: پيش بينی اينکه آيا بسته اصلاح شده در T روز آينده ارائه خواهد شد يا نه 60
جدول 4- 9: پيش بينی اينکه آيا بسته اصلاح شده در T روز آينده ارائه خواهد شد يا نه، با روش 10 اعتبار متقاطع 10 قسمتی 60
جدول 4- 10: نتايج متوازن سازی، نامتوازن‏ترينگروه‏های پيش بينی زمانی 61
جدول 4- 11: مقايسه OSVDB و CVE در پيش بينی بهره کشی برون خط 63
جدول 4- 12: مقايسه OSVDB و CVE برای پيش بينی زمان بهره کشی برای آسيب پذيری‏های روز –مثبت 64
جدول 4- 13: مقايسه OSVDB و CVE برای پيش بينی زمان بهره کشی برای آسيب پذيری‏های روز –منفی 64
جدول 4- 14: مقايسه OSVDB و CVE برای پيش بينی زمان ارائه بسته اصلاح شده 64
جدول 4- 15: گزارش مختصری از ويژگی‏های انتخاب شده 65
جدول 4- 16: انواع دسته بندی آسيب پذيری موجود در OSVDB 67
جدول 4- 17: درصد کل نمونه‏هادرهردسته 80
جدول 4- 18: نمونه‏ای از آسيب پذيری‏های هر دسته 81
جدول 4- 19: نمونه‏ای از آسيب پذيری‏های دارای همپوشانی در دسته‏ها 83
جدول 4- 20: فاصله منهتن برای دسته‏هابهروشESOM 85
جدول 4- 21: فاصله منهتن برای دسته‏هابهروشK- ميانگين 85

فهرست تصاویر

 

 

 

عنوان صفحه
تصوير 1- 1: مراحل متعارف متن کاوی 7
تصوير 2- 1: چرخه آسيب پذيری تعريف شده بوسيله رويدادهای مشخص. توالی دقيق رويدادها بين آسيب پذيری‏ها متفاوت است (برگرفته از 16) 20
تصوير 2- 2: فرآيندهای اصلی اکوسيستم امنيتی و رابطه رويدادهای چرخه آسيب پذيری (برگرفته از 16) 21
تصوير 2- 3: متريک‏هایCVSS (برگرفته از 24) 25
تصوير 2- 4: وابستگی متريک‏هایCVSS (برگرفته از 24) 25
تصوير 2- 5: فرمول معيار پايه در CVSS 26
تصوير 2- 6: فرمول معيار زمانی در CVSS 27
تصوير 2- 7: فرمول معيار محيطی در CVSS 28
تصوير 2- 8: مدل ساده شده‏ای از چرخه آسيب پذيری‏ها (برگرفته از 29) 29
تصوير 2- 9: احتمالات محاسبه شده؛ P0، P1، P2 و P3 برای تصوير 2-8 (محور افق زمان t را نشان می‏دهد) (برگرفته از 29) 30
تصوير 3- 1: شمای پايگاه داده OSVDB (برگرفته از 44) 41
تصوير 3- 2: مراحل پيش پردازش داده‏هابرای پيش بينی بهره کشي 43
تصوير 3- 3: مراحل پيش پردازش داده‏هابرای خوشه بندی آسيب پذيری‏ها 44
تصوير 3- 4: مراحل استخراج ويژگی‏ها برای کلاس بندی و پيش بينی 46
تصوير 3- 5: مراحل استخراج ويژگی‏ها برای خوشه بندی 49
تصوير 4- 1: پارامترهای ورودیESOM 70
تصوير 4- 2: اجرای خوشه بندیESOM با 1359 ويژگی، الگوريتم آموزش k دسته، تعداد ستون‏ها 82 وتعدادسطرها 50،تعدادگام‏های آموزش 20، روش وزن دهی اوليه گوسی 71
تصوير 4- 3: اجرای خوشه بندیESOM با 1359 ويژگی، الگوريتم آموزش برخط، تعداد ستون‏ها 82 وتعدادسطرها 50،تعدادگام‏های آموزش 20، روش وزن دهی اوليه گوسی 72
تصوير 4- 4: اجرای خوشه بندیESOM با 586 ويژگی، الگوريتم آموزش برخط، تعداد ستون‏ها 82 وتعدادسطرها 50،تعدادگام‏های آموزش 20، روش وزن دهی اوليه گوسی 73
تصوير 4- 5: اجرای خوشه بندیESOM با 586 ويژگی، الگوريتم آموزش برخط، تعداد ستون‏ها 90 وتعدادسطرها 90،تعدادگام‏های آموزش 30، روش وزن دهی اوليه گوسی 74
تصوير 4- 6: اجرای خوشه بندیESOM با 586 ويژگی، الگوريتم آموزش k دسته، تعداد ستون‏ها 100 وتعدادسطرها 120،تعدادگام‏های آموزش 40، روش وزن دهی اوليه گوسی 75
تصوير 4- 7: اجرای خوشه بندیESOM با 586 ويژگی، الگوريتم آموزش برخط، تعداد ستون‏ها 90 وتعدادسطرها 60،تعدادگام‏های آموزش 30، روش وزن دهی اوليه انتخاب اعداد تصادفی از فاصله ميانگين منهای 2 برابر انحراف معيار تا ميانگين بعلاوه 2 برابر انحراف معيار 76
تصوير 4- 8: اجرای خوشه بندیESOM با 586 ويژگی، الگوريتم آموزش k دسته، تعداد ستون‏ها 90 وتعدادسطرها 60،تعدادگام‏های آموزش 30، روش وزن دهی اوليه انتخاب اعداد تصادفی از فاصله ميانگين منهای 2 برابر انحراف معيار تا ميانگين بعلاوه 2 برابر انحراف معيار 77
تصوير 4- 9: نمونه‏هاييازنقشه‏های بررسی شده 78
تصوير 4- 10: خوشه‏های انتخاب شده بروی نقشه مشخص شده است. 79
تصوير 4- 11: نقشه‏های از اجرا با پارامترهاییکسان 82

فهرست نمودار‏ها

 

 

 

عنوان صفحه
نمودار 4- 1: درصد خطای تجمعی کل، خطای منفی غلط و خطای مثبت غلط در آزمايش برخط 55
نمودار 4- 2: تاثير تعداد نمونه‏هابردقتپيشبينی روش‏هایSVM و جنگل تصادفی (برگرفته از (53)) 62

 

 

 

 

 

 

 

فصل اول

مقدمه

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. در امنيت کامپيوتر، ضعف کارکرد امنيتی سيستم­های خودکار شده، کنترل­های ناظران، کنترل­های اينترنت و غيره، که بتوانند بوسيله يک مهاجم با دسترسی غير مجاز به اطلاعات، پردازش اطلاعات را مختل کنند.
  2. در امنيت کامپيوتر، يک ضعف در لايه فيزيکی، سازمان، کارکرد، کارکنان، مديريت، سرپرستی، سخت افزار يا نرم افزار که امکان بهره کشی از آن­ها با هدف آسيب رساندن به سيستم يا فعاليت­ وجود داشته باشد.
  3. در امنيت کامپيوتر، هر ضعف يا نقص موجود در يک سيستم، حمله، رويداد مضر يا فرصت دسترسی برای يک عامل تهديد کننده، که امکان تهديد را برای عامل فراهم کند، را آسيب پذيری گويند.

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]

به طور کلي اهميت يک کلمه در مجموعه اسناد با دو شاخص مشخص مي شود: يکي فراواني

منابع و ماخذ

  1. The Three Tenents of Cyber Security, U.S. Air Force Software Protection Initiative. http://www.spi.dod.mil/tenets.htm. (Last visited 2011-07-10).
  2. ISO/IEC, Information technology- Security techniques-Information security risk management, ISO/IEC FIDIS 27005:2008.
  3. Internet Engineering Task Force RFC 2828 Internet Security Glossary
  4. CNSS Instruction No.4009, dated 26 April 2010.
  5. Risk Management Glossary Vulnerability, (Last visited 2011-08-23) http://www.enisa.europa.eu/act/rm/cr/risk-management-inventory/glossary#G52 .
  6. Technical Standard Risk Taxonomy ISBN 1-931624-77-1, Document Number: C081 Published by the Open Group, January 2009.
  7. An Introduction to Factor Analysis of Information Risk (FAIR), Risk Management Insight LLC, November 2006. URL: www.riskmanagementinsight.com.
  8. Vacca, J.R., 2009. Computer and Information Security Handbook, Morgan Kaufmann Pubblications Elsevier Inc p. 393, ISBN 978-0-12-374354-1.
  9. Krsul, I., 1997, Computer Vulnerability Analysis: Thesis Proposal, The COAST Laboratory Department of Computer Sciences, Purdue University.
  10. The Web Application Security Consortium Project, Web Application Security Statistics (Last visited 2011-08-23),

http://projects.webappsec.org/w/page/13246989/Web-Application-Security-Statistics.

  1. Han, J., AND Kamber, M., 2001. Data Mining: Concepts and Techniques. Morgan Kaufman.
  2. Witten, I.H., AND Frank, E., 2000. Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann, San Francisco.
  3. Kohonen T. Self-organizing maps. Berlin, Germany: SpringerVerlag; 1995.
  4. Ultsch, A., and Morchen F., 2005. ESOM-Maps: tools for clustering, visualization, and classification with Emergent SOM. Technical Report 46, CS Department, Philipps-University Marburg, Germany.
  5. Duan KB, Rajapakse JC, Wang H, Azuaje F, 2005. Multiple SVM-RFE for gene selection in cancer classification with expression data. IEEE Trans Nanobioscience 4: 228–234. URL http://view.ncbi.nlm.nih.gov/pubmed/16220686.
  6. Frei, S., Schatzmann, D., Plattner B., AND Trammel., B., 2009. Modeling the Security Ecosystem — The Dynamics of (In)Security. In Proc. of the Workshop on the Economics of Information Security (WEIS).
  7. Arora, A., Krishnan, R., Telang, R., AND Yang, Y. 2010. An Empirical Analysis of Software Vendors’ Patch Release Behavior: Impact of Vulnerability Disclosure. Information Systems Research Vol. 21, No. 1,115–132.
  8. Schryen, G., 2009. A Comprehensive and Comparative Analysis of the Patching Behavior of Open Source and Closed Source Software Vendors. Fifth International Conference on IT Security Incident Management and IT Forensics, 153-168.
  9. Joh, H.C., AND Malaiya, YK., 2009. Seasonal variation in the vulnerability discovery process. Proc. International Conference on Software Testing Verification and Validation, 191-200.
  10. United States Computer Emergency Readiness Team (US-CERT). US-CERT Vulnerability Note Field Descriptions, (last visited 2011-07-10). http://www.kb.cert.org/vuls/html/fieldhelp.
  11. SANS Institute. SANS Critical Vulnerability Analysis Archive. (last visited 2011-07-10). http://www.sans.org/newsletters/cva/.
  12. Microsoft Corporation. Microsoft Security Response Center Security Bulletin Severity Rating System. (last visited 2011-07-10). http://www.microsoft.com/technet/security/bulletin/rating.mspx.
  13. Forum of Incident Response and Security Teams (FIRST). Common Vulnerabilities Scoring System (CVSS). http://www.first.org/cvss/ (last visited 2011-07-10).
  14. Mell P., Scarfone K., and Romanosky S., 2007. The Common Vulnerability Scoring System (CVSS) and Its Applicability to Federal Agency Systems. NIST Interagency Report 7435.
  15. Mell, P., Scarfone, K., Romanosky, S., 2006. Common Vulnerability Scoring System. IEEE Security and Privacy 4(6). 85-89.
  16. Gallon, L., 2010, On the impact of environmental metrics on CVSS scores, IEEE International Conference on Privacy, Security, Risk and Trust, 987-992.
  17. Fruhwirth, C., and Mannisto, T., 2009, Improving CVSS-based vulnerability prioritization and response with context information, Third International Symposium on Empricial Software Engineering and Measurement, 535-544.
  18. Gallon, L., 2011, Vulnerability discrimination using CVSS framework, New Technologies, Mobility and Security (NTMS).
  19. Joh, H.C. and Malaiya, Y.K., A framework for software security risk evaluation using the vulnerability lifecycle and CVSS metrics, 430-434.
  20. Bishop M. A taxonomy of UNIX system and network vulnerabilities. Technical Report CSE-9510. Davis: Department of Computer Science, University of California; 1995.
  21. Krsul IV. Software vulnerability analysis. Available from: http://www.krsul.org/ivan/articles/main.pdf; May 1998.
  22. Venter HS, Eloff JHP. Harmonising vulnerability categories. South African Computer Journal 2002;29. ISSN: 1015-7999:24–31. Computer Society of South Africa.
  23. Kujawski P. Why networks must be secured. Cisco Systems, Inc.;2003.
  24. Microsoft Commerce Server 2002. The STRIDE threat model. Available from: http://msdn2.microsoft.com/en-us/library/ms954176.aspx; (last visited 2011-07-10).
  25. SAINT Corporation. Available from: http://www.saintcorporation.com/; (Last visited 2011-07-10).
  26. SFProtect. Available from:

http://www.winnetmag.com/Article/ArticleID/8401/8401.html; (Last visited 2011-07-10).

  1. MOREnet. Available from:

http://www.more.net/services/rva/categories.html; (last visited 2011-07-10).

  1. Venter H. S., Eloff J. H. P., and Li Y. L., Standardising vulnerability categories, Computers & Security In Press, Corrected Proof.
  2. Huang, S., Tang, H., Zhang, M., AND Tian, J., 2010. Text Clustering on National Vulnerability Database. Computer Engineering and Applications (ICCEA).
  3. Bozorgi, M., Saul, L.K., Savage, S., AND Voelker., G.M., 2010. Beyond Heuristics: Learning to Classify Vulnerabilities and Predict Exploits. KDD’10.
  4. Shin, Y., 2008. Exploring complexity metrics as indicators of software vulnerability. In Proc. of the Int. Doctoral Symp. On Empirical Soft. Eng. (IDoESE’08).
  5. Shin, Y., AND Williams, L., 2008. An empirical model to predict security vulnerabilities using code complexity metrics. Proc. International symposium on Empirical Software Engineering and Measurement, Kaiserslautern, Germany, pp. 315-317.
  6. Neuhaus, S., Zimmermann, T., Holler, C., AND Zeller, A., 2007. Predicting vulnerable software components. In Proc. of the ACM conference on Computer and communications security.
  7. OSVDB. The Open Source Vulnerability Database. http://osvdb.org/ (last visited 2011-07-10).
  8. CVE Editorial Board. Common Vulnerabilities and Exposures: The Standard for Information Security Vulnerability Names. http://cve.mitre.org/ (last visited 2011-07-10).
  9. The Word Vector Tool, http://wvtool.sf.net (last visited 2011-07-10).
  10. StatistiXL PCA tool, http://www.statistixl.com/.
  11. LIBLINEAR –A Library for Large Linear Classification. http://www.csie.ntu.edu.tw/~cjlin/liblinear/ (last visited 2011-07-10).
  12. Random Jungle, http://www.randomjungle.org (last visited 2011-07-10).
  13. Personal Communication with Mehran Bozorgi via Email (Feb 9, 2011).
  14. Personal Communication with Brian Martin via Email (Feb 13, 2011).
  15. Databionics ESOM Tool, http://databionic-esom.sourceforge.net/ (last visited 2011-07-10).
  16. Sordo, M., and Zeng, Q., 2005. On sample size and classification accuracy: A performance comparison. LNCS, 3745:193-201.

Abstract

Exploit Prediction and Vulnerability Clustering Using Text Mining

BY

Atefeh Khazaei Ghoujdi

Software vulnerabilities can lead to monetary and information losses. Due to limited human and financial resources prioritization of vulnerabilities is a crucial task. Prior to this work, many researchers have ranked vulnerabilities based on expert’s knowledge and statistics. But the variable nature of vulnerabilities sometime makes it impossible to provide a metric to rank it.

Vulnerability reports are recorded in different database continuously. Textual information on vulnerabilities has not been fully utilized using automated tools. The research explores the fact that information hidden in these texts can be used to build predictive models. Text mining can be an appropriate tool to provide knowledge for administrative decisions.

So far, there has been only one research that had used text mining for exploit prediction. The research has been presented at KDD2010, titled “Beyond Heuristics: Learning to Classify Vulnerabilities and Predict Exploits”. This paper provided answers to the following questions using text mining: Whether vulnerability will be exploited or not? When the existing vulnerability may be exploited? The paper in comparison with CVSS (which is a famous vulnerability metric) reaches good results. Our work provides highly accurate answers to the above and following questions:

If a system has been exploited, when this exploitation has begun? (Accuracy between 84-94.5%)

If a system is vulnerable, when revised patch will be released by vendors? (Accuracy between 68- 91%)

Various researchers and institutions have concerned themselves with the categorization of vulnerabilities. OSVDB has several categorizations for vulnerabilities, but none of them is based on the vulnerability descriptions. In this study vulnerabilities clustered by their description and the following vulnerability categories identified: buffer overflow, denial of service, data manipulation, remote controlling, misconfiguration, password cracking, unauthorized access to information, and unauthorized access to service. Human expertise is required to manually assign all the vulnerabilities to specific harmonized vulnerability categories and it is a tedious work. With these vulnerability categories, it is possible to develop an application that automates the process of vulnerability assessment.

In this research, two well-known vulnerability databases (CVE and OSVDB) plus date information on vulnerabilities provided by Stefan Frei have been used. For exploit prediction, SVM and Random Forest, and for vulnerability clustering, ESOM have been used.

IN THE NAME OF GOD

 

 

EXPLOIT PREDICTION AND VULNERABILITY CLUSTERING USING TEXT MINING

 

 

By

ATEFEH KHAZAEI GHOUJDI

THESIS

SUBMITTED TO THE SCHOOL OF GRADUATE STUDIES IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE (M. Sc.)

IN

COMPUTER ENGINEERING (SOFTWARE)

 

 

SHIRAZ UNIVERSITY

SHIRAZ

ISLAMIC REPUBLIC OF IRAN

EVALUATED AND APPROVED BY THE THESIS COMMITTEE AS: EXCELLENT

 

 

………………………….

………………………….

…………………………

September 2011

ShirazUniversity

 

Faculty of Engineering

 

 

M.S. Thesis in Software Engineering

 

 

 

EXPLOIT PREDICTION AND VULNERABILITY CLUSTERING USING TEXT MINING

By

ATEFEH KHAZAEI GHOUJDI

Supervised by

Dr. A. Sami

 

 

 

 

 

September 2011

[1] Vulnerability

[2] The committee on National Security Systems of United States of America

[3] Open Group

[4] Factor Analysis of Information Risk

[5] Dennis Longley

[6] Michael Shain

[7] Stockton Press

[8]Privileges

[9] Term Frequency – Inverse Document Frequency (TF-IDF)

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “پيش بينی بهره کشی و خوشه بندی آسيب پذيری ها بوسیله ی متن کاوی”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

59 + = 69