سیستم شناسایی مهاجمان برنامههای کاربردی تحت وب به وسیلهی ردگیری درخواستهای HTTP مبتنی بر مدل مخفی مارکوف
توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد
سیستم شناسایی مهاجمان برنامههای کاربردی تحت وب به وسیلهی ردگیری درخواستهای HTTP مبتنی بر مدل مخفی مارکوف دارای ۲۱۸ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد سیستم شناسایی مهاجمان برنامههای کاربردی تحت وب به وسیلهی ردگیری درخواستهای HTTP مبتنی بر مدل مخفی مارکوف کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی سیستم شناسایی مهاجمان برنامههای کاربردی تحت وب به وسیلهی ردگیری درخواستهای HTTP مبتنی بر مدل مخفی مارکوف،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از متن سیستم شناسایی مهاجمان برنامههای کاربردی تحت وب به وسیلهی ردگیری درخواستهای HTTP مبتنی بر مدل مخفی مارکوف :
بخشی از فهرست سیستم شناسایی مهاجمان برنامههای کاربردی تحت وب به وسیلهی ردگیری درخواستهای HTTP مبتنی بر مدل مخفی مارکوف
چکیده ۱
طرح مسئله و اهداف ۳
۱-۱ مقدمه ۴
۱-۲ طرح مسئله ۵
– اهداف و محدوده ۶
۱-۴ دستاوردها ۷
۱-۵ ساختار پایاننامه ۸
مفاهیم پایه: امنیت در برنامههای کاربردی تحت وب، آسیبپذیریهای متداول آنها و نقش درخواستهای HTTP ۱۰
۲-۱ مقدمه ۱۱
۲-۲ برنامه های کاربردی تحت وب ۱۳
۲-۲-۱ معماری وب ۱۴
۲-۲-۲ تکنولوژیهای برنامههای کاربردی تحت وب ۱۶
۲-۲-۲-۱ HTTP ۱۶
۲-۲-۲-۲ URL ۱۹
۲-۲-۲-۳ کوکی ۲۰
— HTTPS ۲۱
۲-۲-۲-۵ عملیات وب ۲۱
۲-۲-۲-۶ روشهای کد گذاری ۲۲
۲-۳ امنیت برنامه های کاربردی تحت وب ۲۴
۲-۳-۱ This site is secure ۲۴
۲-۳-۲ مسئلهی اصلی امنیت: کاربران میتوانند ورودی دلخواهی را ارسال کنند ۲۵
۲-۴ مکانیسمهای دفاعی ۲۶
— مدیریت دسترسی کاربران ۲۷
۲-۴-۱-۱ احراز هویت ۲۷
۲-۴-۱-۲ مدیریت نشست ۲۸
— کنترل دسترسی ۲۹
— کنترل ورودی کاربران ۲۹
۲-۴-۲-۱ انواع ورودیها ۲۹
۲-۴-۲-۲ راهکار های کنترل ورودی ۳۰
۲-۴-۳ کنترل مهاجمان ۳۲
— مدیریت خطا و استثناء ۳۳
۲-۴-۳-۲ نگهداری از فایل ثبت بازرسی ۳۳
۲-۴-۳-۳ هشدار به مدیران ۳۵
۲-۵ آسیبپذیریها و حملههای متداول برنامههای کاربردی تحت وب ۳۶
۲-۵-۱ ورودیهای نامعتبر ۳۷
۲-۵-۲ کنترل دسترسی شکسته شده ۳۸
۲-۵-۳ مدیریت نشست ۳۸
۲-۵-۳-۱ Session hijacking ۳۸
۲-۵-۴ XSS ۳۹
— تزریق ۴۱
۲-۵-۵-۱ SQL Injection ۴۲
۲-۵-۵-۲ سرریز بافر ۴۳
— ارجاع ناامن و مستقیم به شی ۴۳
— مدیریت خطا و استثناء ۴۴
۲-۵-۸ نقص در کنترل دسترسی URL ۴۵
۲-۵-۸-۱ Forced browsing ۴۵
۲-۶ URL ۴۶
۲-۶-۱ ساختمان URL ۴۶
۲-۶-۲ ارسال پارامترها ۴۸
۲-۶-۳ رمز نگاری URL ۵۰
— Meta-Characters ۵۱
— سوء استفاده از رمز های URL ۵۳
— آسیب پذیری رمز گشایی دوباره و یا رمز گشایی زائد ۵۴
۲-۷ بحث و نتیجهگیری ۵۵
۳ تکنیکهای تشخیص الگو: دستهبندی ۵۶
۳-۱ مقدمه ۵۷
۳-۲ رویکردهای تشخیص الگو ۵۸
۳-۳ تشخیص الگوی آماری ۶۰
۳-۴ دستهبندی کنندهها ۶۲
– شبکههای عصبی ۶۳
۳-۵-۱ ساخت یک شبکه عصبی ۶۷
۳-۵-۱-۱ تعداد لایهها و نرونها ۶۷
۳-۵-۱-۲ توابع فعال سازی ۷۰
۳-۵-۲ MLP ۷۱
۳-۵-۳ یادگیری ۷۲
۳-۵-۳-۱ الگوریتم پس از انتشار خطا ۷۲
— ملاحظات یادگیری ۷۵
۳-۵-۳-۳ الگوریتم Particle Swarm Optimization برای تعیین اوزان اولیه ۷۶
۳-۵-۴ دسته بندی چند کلاسی الگوها در شبکه های عصبی ۷۹
۳-۵-۴-۱ سیستم با M شبکهی عصبی با مدل سازی OAO ۸۱
۳-۵-۴-۲ سیستم با یک شبکهی عصبی آموزش دیده با روش OAA ۸۲
۳-۶ مدل مخفی مارکوف ۸۳
۳-۶-۱ مفاهیم ۸۴
— پارامترها ۸۵
۳-۶-۳ انواع مدلهای مخفی مارکوف ۸۶
۳-۶-۴ فرضیات تئوری مدل مخفی مارکوف ۸۷
۳-۶-۵ معیار درست نمایی ۸۸
۳-۶-۶ سه مسئله اصلی ۸۹
۳-۶-۷ دسته بندی و تشخیص الگو ۹۱
– ترکیب دسته بندی کنندهها ۹۲
۳-۷-۱ طراحی و آموزش گروههای دسته بندی کننده ۹۵
— ترکیب کننده ۹۷
کارهای مرتبط ۹۹
۴-۱ سیستمهای تشخیص نفوذ مبتنی بر ناهنجاری ۱۰۰
۴-۱-۱ تشخیص ناهنجاری ۱۰۳
۴-۲ کارهای مرتبط و سیستمهای طراحی شده ۱۰۴
— روشهای آماری ۱۰۵
— روشهای مبتنی بر یادگیری ماشین ۱۱۰
۴-۲-۲-۱ آنالیز دنبالهای مبتنی بر فراخوانی سیستم ۱۱۰
۴-۲-۲-۲ شبکههای بیزی ۱۱۲
۴-۲-۲-۳ تحلیل مؤلفههای اصلی ۱۱۳
۴-۲-۲-۴ مدلهای مارکوف ۱۱۳
— روشهای مبتنی بر دادهکاوی ۱۱۸
۴-۲-۳-۱ تشخیص حمله مبتنی بر دستهبندی ۱۱۸
۴-۳ معیارهای ارزیابی سیستمهای تشخیص نفوذ ۱۲۱
۴-۳-۱ منحنی ROC ۱۲۲
۴-۳-۲ AUC ۱۲۴
ADS-WEB، یک سیستم شناسایی مهاجمان وب: معرفی و ارزیابی ۱۲۶
۵-۱ پیشزمینه ۱۲۷
۵-۱-۱ تشخیص ناهنجاری ۱۲۷
۵-۱-۲ دسته بندی چند کلاسی الگوها در مقابل تک کلاسی ۱۳۲
۵-۱-۲-۱ دسته بندی چند کلاسی الگو ها ۱۳۳
۵-۱-۲-۲ دسته بندی تک کلاسی الگوها ۱۳۵
۵-۲ نمای کلی سیستم ۱۳۷
۵-۳ HRC ۱۳۹
۵-۳-۱ ویژگیها ۱۳۹
۵-۳-۱-۱ طول درخواست ۱۴۰
۵-۳-۱-۲ توزیع کاراکتری درخواست ۱۴۰
۵-۳-۱-۳ حضور و عدم حضور یک پارامتر ۱۴۰
۵-۳-۱-۴ نظم پارامترها ۱۴۱
۵-۳-۲ کلاسهای الگو ۱۴۱
۵-۳-۳ ساختار شبکهی عصبی ۱۴۲
۵-۳-۴ بردار ویژگی ۱۴۴
۵-۳-۵ آموزش HRC ۱۴۷
۵-۳-۶ ساختار HRC ۱۴۹
۵-۴ ADR ۱۵۰
۵-۴-۱ HMM ۱۵۳
۵-۴-۱-۱ ارزیابی ۱۵۴
۵-۴-۱-۲ آموزش ۱۵۶
۵-۴-۱-۳ پیشبینی ۱۵۹
۵-۴-۲ ساختار لایهی دوّم ADS ۱۶۰
۵-۴-۲-۱ ADRj ۱۶۱
۵-۵ پیاده سازی، آزمایشات و ارزیابی ۱۶۳
۵-۵-۱ جمع آوری مجموعه دادههای آموزشی و تست ۱۶۳
— ارزیابی ADS ۱۶۶
— ارزیابی ADR ۱۶۸
نتیجه گیری و کارهای آینده ۱۷۶
۶-۱ جمعبندی و نتیجه گیری ۱۷۷
۶-۲ پیشنهادات و کارهای آتی ۱۷۸
۷ منابع ۱۸۲
اتصال روزمره تعداد زیادی از مردم به اینترنت باعث شده است تا برنامههای کاربردی تحت وب به یک هدف جذاب برای خرابکاران و نفوذ گران رایانهای تبدیل گردد. بر اساس تحقیقاتی که تیم X-Force شرکت IBM در سال انجام داده است، مشخص شده که برنامههای کاربردی تحت وب بیش از از آسیبپذیریهای کشف شده تا امروز را به خود اختصاص دادهاند. به عنوان مثال ممکن است یک سرویس وب مورد حمله واقع شود تا یک بد افزار مخرب به سرعت گسترش یابد و یا اعتبارنامه دسترسی کاربران را از سرویسهای وب سرقت کنند. برای حفاظت از برنامههای کاربردی از اینگونه فعالیتها استفاده از یک سیستم تشخیص نفوذ ضروری میباشد. متأسفانه، حفاظت از برنامه های کاربردی تحت وب یک کار مشکل است چرا که آنها به طور کلی بزرگ، پیچیده و به شدت سفارشیاند. سیستمهای تشخیص نفوذ سنتی مبتنی بر امضا به دلیل ضعفشان در مقابل حملات جدید، به اندازهی کافی حفاظت مناسبی را تضمین نمیکنند. از طرفی سیستمهای مبتنی بر ناهنجاری هر چند این ضعف را پوشش دادند و جایگزین مناسبی برای سیستمهای مبتنی بر امضاء میباشند، اما هشدارهای اشتباه فراوانی تولید میکنند.
در این پایاننامه یک سیستم مبتنی بر ناهنجاری جدید برای حفاظت از برنامههای کاربردی تحت وب پیشنهاد میگردد. این سیستم با پیگیری درخواستهای HTTP که به یک کاربرد تحت وب ارسال میشوند، مهاجمان را شناسایی کرده به طوری که تعداد هشدارهای اشتباه را به طور قابل توجهی کاهش داده و از طرفی توانایی پیشبینی حملات را نیز به دست آورد. در اکثر کارهای گذشته، شناسایی و کشف یک حمله فقط محدود به بررسی یک درخواست HTTP بوده، اما این سیستم به محدودهی شناسایی خود وسعت داده و بر رفتار کاربران نظارت میکند. فرآیند تشخیصی این سیستم از دو لایه تشکیل شده است؛ لایهی اول مانند سیستمهای گذشته، هر درخواست HTTP را به صورت موردی وارسی کرده و با بهکارگیری یکی از تکنیکهای تشخیص الگو (مانند شبکههای عصبی)، برچسب شناسایی را با آن تخصیص میدهد. آنچه که در این لایه اهمیت دارد، نگاه نرم آن به کلاسهای دستهبندی درخواستها میباشد؛ یعنی برخلاف دستهبندیهای سنتی که نرمال یا غیر نرمال بودن یک درخواست HTTP مدنظر بود، طیف بیشتری به کلاسهای هدف داده و بین نرمال و غیرنرمال بودن، کلاسهای جدیدی تعریف میکند. این امر باعث میشود به جای ایجاد یک تمایز تیز بین دو رفتار نرمال و حمله، به صورت انعطافپذیری با الگوهایی که نزدیک مرز تصمیمگیری قرار دارند، رفتار شود. لایهی دوم، برعکس لایهی اول که الگوی خود را یک درخواست HTTP انتخاب کرد، رفتار یک کاربر را به عنوان الگوی خود معرفی میکند. این لایه پنجرهی زمانی در سابقهی رفتاری کاربران مشکوک گشوده و بر اساس روند تعاملی که آن کاربر با کاربرد تحت وب داشته، تصمیم نهایی را اتخاذ میکند. در واقع لایهی دوم، برچسبهای خروجی لایهی اول را در قالب یک سری زمانی به عنوان ورودی دریافت کرده و بر اساس مدل مخفی مارکوفی که در فاز آموزش از رفتار کاربران نرمال و مهاجمان بنا کرده بود، رفتارهای غیر نرمالی را که به یک حمله شباهت دارند، کشف و حتی پیشبینی میکند.
آزمایشات انجام شده روی درخواستهای HTTP جمعآوری شده از سرور یک دانشگاه، نشان داده است که این سیستم با نرخ کشفی معادل ۹۸.۹۶% و نرخ مثبت کاذب ۰.۸۷% دارای کارایی بسیار مناسبی میباشد؛ همچنین توانسته ۱۴.۲% حملات را قبل از کامل شدن تراکنششان، پیشبینی کند.
امروزه اینترنت نقش مهمی را در ایجاد و پیشبرد راههای کسب و کار جدید ایفا میکند. نیاز های کسب و کار و راهکارهای درآمدزایی که با انگیزه های دولتی و تجاری در سرتاسر جهان توسعه یافتهاند، سبب پیچیدگی شبکههای اطلاعاتی شدهاند. چنین شبکههایی شامل مجموعهای از تکنولوژیها مانند سیستمهای ذخیرهسازی توزیع شده، تکنیکهای رمزنگاری و احراز هویت، صدا و تصویر روی IP، دسترسی از راه دور و بیسیم و سرویسهای وب میباشد. علاوه بر این شبکههای دانشگاهی و سازمانی بیشتر در دسترس قرار گرفتهاند. به عنوان مثال، بسیاری از کسب و کارها اجازهی دسترسی به سرویسهای موجود بر روی شبکه های محلیشان را میدهند و به مشتریان این امکان را میدهد تا توسط تراکنشهای تجاری با شبکههایشان تعامل کنند [۱]. این نقاط دسترسی، شبکههای امروزی را نسبت به نفوذ و حملات آسیبپذیرتر کرده است. دامنهی جرم و جنایت فضای مجازی فراتر از هک کلیشهای شد و پیوستن کارکنان ناراضی به گروه هکرها، شرکتهای فاسد و حتی سازمانهای تروریستی باعث بحرانیتر شدن این موضوع شدهاند. جای تعجب نیست که با آسیب پذیری نرم افزارها و پروتکلهای امروزی و افزایش پیچیدگی حملات امروزی، حملات مثبتی بر شبکه گسترش یابند. نتیجه بررسی که توسط شرکت VanDyk [2] در سال ۲۰۰۳ انجام شد، نشان میدهد که حدود ۶۶ درصد شرکتها، نفوذ به سیستم را به عنوان بزرگترین تهدید تجاری خود میشناسند. در طی این بررسی حدود ۸۶ درصد پاسخدهندگان از دیوارهای آتش استفاده میکردند، که این امر حاکی از کافی نبودن دیواره آتش برای فراهم کردن سطح امنیتی مناسب میباشد. چنین گستردگی در آسیب پذیری نرم افزارها، باعث ناامن شدن محیطهای محاسباتی و شبکهای شده است و در نتیجه سیستمهای تشخیص و جلوگیری از نفوذ به عنوان یک زمینه سیستمهای تشخیص و جلوگیری نفوذ به عنوان یک زمینهی پراهمیت علمی در حال تکامل معرفی شده است. در واقع سیستمهای تشخیص نفوذ به عنوان مکمل دیواره های آتش در زمینهی امنیت کامپیوتری میباشند که به ترتیب انجام وظایف شناسایی و ممانعت را بر عهده دارند.
در این میان یکی از محصولات اینترنت که بیش از هر محصول دیگر مورد استقبال قرار گرفته است، برنامههای کاربردی تحت وب میباشند که در زمینههای مختلف ارتباطی، علمی، پزشکی، کسبوکار و سرویسهای عمومی گسترش یافتند. برنامههای کاربردی تحت وب نیز خارج از این قاعده نبودهاند و حتی به دلیل ساختاری که دارند، بیشتر تحت تأثیر حملهها و نفوذهای غیرمجاز قرار میگیرند. آقای Robertson و همکاران [۳] مدعیاند که تعداد زیادی از برنامههای کاربردی توسط افراد کم تجربه به زمینهای امنیت توسعه یافتهاند، که باعث شده است آسیبپذیریهای برنامههای کاربردی از کل حفرههای امنیتی لیست CVE [4] از سال تا را تشکیل دهند.
گسترش برنامههای کاربردی تحت وب باعث شده است که موضوع حفاظت شبکههای کامپیوتری به یک چالش تبدیل شود. شکل ۱ ۱ نتایج تحقیقات اخیر تیم X-Force را نشان میدهد که بیان میکند بیش از از آسیبپذیریهای کشف شده در نیمسال اول مربوط به برنامههای کاربردی تحت وب میباشد [۵]
تشخیص نفوذ، عمل شناسایی اقداماتی میباشد که سعی در مصالحهی قابلیت اطمینان، جامعیت یا دسترس پذیری یک سیستم با شبکه را دارند. سیستمهای تشخیص نفوذ با جمع آوری، تجزیه و تحلیل اطلاعات نواحی مختلف یک کامپیوتر با یک شبکه، به شناسایی رخنه های امنیتی ممکن میپردازد و به دو صورت سیستمهای مبتنی بر امضا، سیستمهای مبتنی بر ناهنجاری (رفتار غیرعادی) دسته بندی شدهاند. سیستمهای مبتنی بر امضاء به شناسایی الگوهای ترافیک یا دادههای نرم افزاری که مخرب فرض شدهاند میپردازد. در صورتی که سیستمهای مبتنی بر ناهنجاری، بر روی شناسایی رفتارهایی که عادی نمیباشند، تمرکز دارد. سیستم اول، حملات شناخته شده را نسبتاً قابل اعتماد و یا نرخ کاذب کمی کشف کند، اما از آنجا که برای کشف هر حمله ای نیاز به یک امضای از قبل شناسایی شده دارند، در نتیجه در کشف حملات جدیدی که نفوذ گران و مهاجمان ایجاد میکنند ناموفق عمل میکند. این ضعف در سیستمها مبتنی بر ناهنجاری به دلیل مدل سازی اعمال و رفتار نرمال یک شبکه با یک کامپیوتر، برطرف شده است. بنابراین یک مهاجم به دلیل شناخته شدن فعالیتهای نرمال هدف مورد نظر، به سختی میتواند بدون شناسایی، به نفوذ یا خرابکاری بپردازد. اما این سیستمها همراه با اشکالاتی نظیر پیچیدگی ذاتی، نرخ خطای بالا و تعیین مشخصات دقیق یک نفوذ یا حمله میباشد.
۱-۱ طرح مسئله
ابتدا به دو موضوع زیر توجه کنید:
۱- معمولاً یک حمله به صورت یک عمل منفرد انجام نمیپذیرد [۶-۸, ۱]، بلکه به دنباله رفتارهایی که در گذشته اتفاق افتاده بستگی دارد. بنابراین فرآیند تشخیص هجوم یا نفوذ به صورت موردی فقط بر روی یک رویداد انجام نمیشود؛ در واقع این فرآیند یک مسئلهی سری زمانی است که در آن دنباله رویدادهایی که در طول زمان اتفاق میافتادهاند، الگوی یک حمله را شکل میدهند. مدلسازی نفوذ یک مدلسازی مبتنی بر زمان فعالیتها است که یک نفوذ را فراهم میآورند. مهاجم حملهی خودش را با اعمال مقدماتی شروع کرده و به فعالیتهای خود ادامه میدهند تا به یک دسترسی غیرمجاز و عمل مخرب دست یابد. هر گونه تلاشی که در طول جریان حمله توسط هر شخصی صورت گیرد، تهدید شناخته میشود.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.