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

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


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

نوع: Type: پایان نامه

مقطع: Segment: کارشناسی ارشد

عنوان: Title: تشخیص و مقابله با آسیب پذیری های برنامه کاربردی اندروید با استفاده از روش های ترکیبی

ارائه دهنده: Provider: ناصر سعیدی کوشا - رشته کامپیوتر

اساتید راهنما: Supervisors: دکتر رضا محمدی - دکتر محمد نصیری

اساتید مشاور: Advisory Professors:

اساتید ممتحن یا داور: Examining professors or referees: دکتر مهدی عباسی - دکتر محمد نصیری

زمان و تاریخ ارائه: Time and date of presentation: 10 اسفند 1401 ساعت 16

مکان ارائه: Place of presentation: سالن آمفی تئاتر دانشکده مهندسی

چکیده: Abstract: این روز ها اکثر مردم در حال استفاده از تلفن های همراه و برنامه های نصب شده بر روی سیستم عامل اندروید هستند. از این رو اطلاعاتی که در تلفن های همراه ذخیره شده است برای هکرها جذاب است. همین موضوع باعث ایجاد حمله های زیادی از سوی هکرها به سمت برنامه های کاربردی اندروید می شود. اغلب این حمله ها با سوء استفاده از آسیب پذیری برنامه های کاربردی رخ می دهد. سالانه میلیون ها برنامه کاربردی وارد بازار می شود، اگر از امنیت کافی برخوردار نباشند امنیت اطلاعات کاربران را به خطر می اندازند. برای جلوگیری از نشت اطلاعات کاربران، نیاز به شناخت و کشف آسیب پذیری برنامه های کاربردی اندروید می باشد. سه روش ایستا، پویا و یادگیری ماشین برای کشف آسیب پذیری ها استفاده می شود. در این مقاله از هر سه روش بر روی پایگاه داده Androsec با 1179 برنامه کاربردی استفاده شده است. در واقع یک راهکار ترکیبی برای استخراج میزان آسیب پذیری برنامه کاربردی بررسی شده است. ابتدا تحلیل پویا با تولید کد خودکار انجام می شود. کد خودکار توسط برنامه appium تولید و اجرا می شود. در این مرحله تست نفوذ با حملاتی از سمت برنامه Drozer به برنامه هدف اجرا می شود. سپس تحلیل ایستا با الگوریتم های مختلف یادگیری ماشین انجام می گیرد. هشت ویژگی مهم برای قسمت آموزش و تست مدل یادگیری ماشین استفاده شده است. نتایج مقایسه نشان می دهد الگوریتم های جنگل تصادفی در روش ایستا با توجه به سرعت بالایی که دارد در تشخیص برنامه های کاربردی با آسیب پذیری کم، دقت 99 درصدی دارد. همچنین مشخص شد الگوریتم بردار پشتیبان و رگرسیون لجستیک در تشخیص برنامه های کاربردی با آسیب پذیری کم به ترتیب دارای 87 و 74 درصد دقت هستند که در رتبه های بعدی قرار می گیرند.

فایل: ّFile: