پایان نامه مقطع کارشناسی ارشد رشته کامپیوتر

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

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

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

عنوان:

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

استاد راهنما:

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

برای رعایت حریم خصوصی نام نگارنده درج نمی گردد

تکه هایی از متن به عنوان نمونه :

چکیده:

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

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

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

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

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

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

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

فصل اول: مقدمه

1-1- آسیب پذیری

در مباحث امنيت کامپيوتر، يک آسيب پذيری، ضعفی می باشد که برای مهاجم امکان سوء بهره گیری از اطلاعات يک سيستم را فراهم می­کند. سالانه هزاران آسيب پذيری کشف و گزارش می­شوند و ميليون­ها دلار در سرتاسر دنيا صرف مقابله با آسيب پذيری­ها می­گردد. برای بهره کشی از آسيب پذيری يک سيستم عموماً به سه عامل نياز می باشد: حساسيت يا نقصی در سيستم، دسترسی مهاجم به نقص و توانايي مهاجم برای بهره کشی از نقص (1).

1-1-1- تعریف آسیب پذیری

آسيب پذيری مانند مفاهيمی می باشد که منابع مختلف تعاريف متفاوتی را برايش ارائه داده­اند. مانند اين تعاريف می­توان به موارد زير تصریح نمود:

ISO 27005: ضعف يک دارايی يا گروهی از دارايي­ها که می­تواند توسط فرد يا گروهی از افراد مورد بهره کشی قرار گيرد (2). در اين تعريف دارايي به معنای هر چيزی که برای سازمان ارزشی داشته باشد، می باشد، برای مثال منابع اطلاعاتی مورد حمايت سازمان.

IETF RFC 2828: يک عيب يا ضعف در طراحی، پياده سازی، عملکرد يا مديريت سيستم، که می­تواند باعث بهره کشی، در جهت نقض سياست امنيتی سيستم گردد (3).

کميته ملی سيستم­های امنيتی ايالات متحده آمريکا[1]، در دستورالعمل CNSSشماره 4009، در تاريخ 26 آوريل 2010، واژه نامه تضمين اطلاعات ملی: آسيب پذيری ضعف در يک IS، روش­های امنيتی سيستم، کنترل­های داخلی يا پياده سازی می باشد، که می­تواند منجر به بهره کشی گردد (4).

ENISA: وجود يک ضعف طراحی يا خطای پياده سازی که بتواند منجر به رويداد غير منتظره نامطلوبی گردد، که اين رويداد امنيت سيستم کامپيوتر، شبکه، برنامه يا پروتکل را به خطر اندازد (5).

گروه باز[2]: حالتی که قدرت مهاجم بيش از قدرت مقاومت در برابر آن باشد (6).

تحليل عاملی از خطر اطلاعات[3](FAIR): احتمال اينکه يک دارايي قادر به مقاومت در برابر عوامل خطر نباشد (7).

امنيت داده و کامپيوتر، فرهنگ لغات مفاهيم و لغات استاندارد، نويسندگان دنيس لانگلی[4] و مايکل شين[5]، استاکتون پرس[6]، ISBN 0-935859-17-9:

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

2-1-1- کلاس بندی آسیب پذیری ها

آسيب پذيری­ها، براساس نوع دارايي به دسته­های زير تقسيم می­شوند (2):

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

3-1-1- علت­های ايجاد آسيب پذيری­ها

 بعضی از منابع و علت­های ايجاد آسيب پذيری­ها عبارتند از:

  • پيچيدگی سيستم: احتمال وجود نقص و نقاط دسترسی ناخواسته در سيستم­های بزرگ پيچيده، بيشتر می باشد (8).
  • متعارف بودن سيستم: بهره گیری از کدها، نرم افزارها، سيستم عامل­ها يا سخت افزارهای معمول و معروف، احتمال اينکه يک مهاجم بتواند به دانش و ابزار، جهت بهره کشی از نقص موجود دسترسی پيدا کند، را افزايش می­دهد (9).
  • اتصال: اتصالات فيزيکی، امتيازات[1]، پورت­ها، پروتکل­ها و سرويس­های بيشتر و افزايش مدت زمان هر يک از آن­ها، دسترسی پذيری به آسيب پذيری­ها را افزايش می­دهد (7).
  • نقص در مديريت پسوردها: کاربران کامپيوتر از پسوردهای ضعيفی که با کوشش اندکی کشف می­شوند، بهره گیری می­کنند يا اينکه آن­ها را در بعضی برنامه­ها ذخيره می­کنند، و اين پسوردها بين بسياری از برنامه­ها و صفحات وب­ مشترک می باشد (8).
  • نقص­های طراحی در سيستم عامل­های اصلی: طراحان سيستم عامل­ها، عموماً سياست­هايي که کمتر کاربر/مدير سيستم را درگير کنند را برمی­گزينند. برای مثال سيستم عامل­ها، سياست­هايي مثل پيش فرض­های اعطای مجوز به هر برنامه و دسترسی کامل کاربران به سيستم را دارند (8).اين نقص­های سيستم عامل­ها، به ويروس­ها و بدافزارها، اجازه اجرای دستوراتی از طرف مدير را می­دهد (1).
  • مرور وب­سايت­های اينترنت: بعضی وب سايت­های اينترنتی دارای جاسوس­ها يا تبليغات خطرناکی هستند، که می­توانند به صورت خودکار روی سيستم­های کامپيوتری نصب شوند. بعد از بازديد از اين وب سايت­ها سيستم­ها آلوده می­شوند، اطلاعات شخصی جمع آوری شده و برای شخص ثالث فرستاده می­گردد (10).
  • اشکلات نرم افزاری: اشکلات قابل بهره کشی در بسياری برنامه­های نرم افزاری هست. اشکلات نرم افزاری ممکن می باشد به مهاجمان اجازه سوء بهره گیری از برنامه را بدهند (8).
  • شما می توانید تکه های دیگری از این مطلب را در شماره بندی انتهای صفحه بخوانید              
  • ورودی­های کاربر کنترل نشده: برنامه­ها فرض می­کنندکه همه­ی ورودی­های کاربر امن می باشد. برنامه­هايي که ورودی­های کاربر را مطالعه نمی­کنند، در واقع امکان اجرای مستقيم دستورات ناخواسته و دستکاری در پايگاه داده­ها را فراهم می­کنند (8).

4-1-1- شناسايي و حذف آسيب پذيری­ها

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

2-1- مفاهيم اوليه­ مورد نياز

1-2-1- متن کاوی

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

مشکلی که دنيای امروز با آن رو به رو می باشد، كمبود يا نبود اطلاعات نيست بلکه کمبود دانشي می باشد که از اين اطلاعات ميتوان حاصل نمود. ميليون­ها صفحه­ وب، ميليون­ها کلمه در کتابخانه­هاي ديجيتال و هزاران صفحه اطلاعات در هر شرکت، تنها بخشی از اين منابع اطلاعاتي هستند. اما نمي­توان به گونه مشخص منبعي از دانش را در اين بين معرفي نمود. دانش حاصلی می باشد که از نتيجه گيري و فکر و تحليل بر روي اطلاعات به دست می­آيد. هدف داده کاوی مشخص کردن روابط ميان داده­های موجود در پايگاه داده­ها و استخراج دانش از ميان آن­ها می­باشد. زمانی که داده­های موجود ساخت يافته باشند بهره گیری از روش­های داده کاوی و کسب دانش از آن­ها ساده می باشد. اما امروزه بخش زيادی از اطلاعات به صورت متن نگهداری می­گردد و متن­ها داده­هايی غير ساخت يافته هستند. يک فرد براي دريافت دانش از اطلاعات يک متن، بايستي آغاز آنرا درک کند، تا بفهمد چه معاني و مفاهيمي در آن موجود می باشد و چه ارتباطي ميان مفاهيم هست. با اين حال عصر تکنولوژي به دنبال خودکارسازی می باشد، حتي اگر اين کار “درک معني متن” باشد (11).

متن كاوي تمام فعاليت­هايي كه به نوعي به دنبال كسب دانش از متن هستند را شامل مي‌گردد. تحليل داده­هاي متني توسط روش­هاي يادگيري ماشين، بازيابي اطلاعات هوشمند، پردازش زبان طبيعي، همگي در دسته فعاليت­های متن کاوی قرار مي‌گيرند. تصوير 1-1 مراحل متعارف متن کاوی را نشان می­دهد. اولين گام در متن کاوی بهره گیری از روش­هايی برای ساختارمند کردن متن­ها می باشد. متن از مجموعه­ای از کلمات و عبارات زبان طبيعی تشکيل شده می باشد. عموماً روش­های متن کاوی آغاز کلمات و عبارات، را از متن استخراج می­کنند و سپس آن­ها را مورد پردازش قرار می­دهند، برای مثال بعضی کلمات مثل حروف اضافه و ضماير حذف، و کلمات باقی مانده ريشه­يابی می­شوند. سپس مشخصات استخراج شده از متن­ها به روش­های مختلفی مقداردهی می­شوند، از ميان اين روش­ها می­توان به مقداردهی دودويی (بيان­گر ظاهر شدن/ نشدن کلمه در متن می باشد)، فراوانی کلمه در متن، وزن TF-IDFاشاره نمود (12).در اين تحقيق از روش وزن­دهی TF-IDFاستفاده شده می باشد، که در قسمت بعد درمورد اين روش توضيح داده خواهد گردید. با بهره گیری از مقادير به دست آمده بردارهای ويژگی برای داده­ها ساخته و از بين مجموعه­ی داده­ها، داده­های آموزش و تست کلاس بندی کننده انتخاب می­شوند. پس از آن يک روش کلاس بندی انتخاب می­گردد. کلاس بندی کننده با بهره گیری از داده­های آموزش، آموزش داده و با بهره گیری از داده­های تست ارزيابی می­گردد.

[1]Privileges

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

[2] Open Group

[3] Factor Analysis of Information Risk

[4] Dennis Longley

[5] Michael Shain

[6] Stockton Press

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

متن کامل را می توانید دانلود نمائید

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

اما در فایل دانلودی متن کامل پایان نامه

 با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود می باشد

تعداد صفحه : 111

قیمت : چهارده هزار و هفتصد تومان