تحلیل و شناسایی آسیب پذیری Next-Intent در کاربردهای اندروید

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

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

عنوان: Title: تحلیل و شناسایی آسیب پذیری Next-Intent در کاربردهای اندروید

ارائه دهنده: Provider: زهرا کلوندی

اساتید راهنما: Supervisors: دکتر مهدی سخائی نیا

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

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

زمان و تاریخ ارائه: Time and date of presentation: 1400/09/30 ساعت 15:30

مکان ارائه: Place of presentation: مجازی

چکیده: Abstract: با پیشرفت روزافزون بستر‌های تلفن همراه، سیستم عامل اندروید به‌عنوان گسترده‌ترین و محبوب‌ترین سیستم‌عامل شناخته ‌شده است. این محبوبیت باعث ایجاد حمله های زیادی از سوی مهاجمان به سمت اندروید می شود. اغلب این حمله ها با سوءاستفاده از آسیب پذیری های متنوع در برنامه ها رخ می دهد. یکی از بزرگ ترین سطوح آسیب پذیری اندروید، قابلیت سازوکار ارتباط بین مؤلفه ای است که به توسعه دهندگان اجازه می دهد از مؤلفه‌های عمومی سایر برنامه ها استفاده کنند تا از ارائه خدمات تکراری در برنامه های مختلف جلوگیری شود. همچنین برنامه‌ها برای محافظت از مؤلفه‌های حساس خود می‌توانند آنها را بصورت خصوصی تعریف کنند؛ به این معنی که اجازه ارتباط با سایر برنامه‌ها را ندارند. این مدل ارتباطی، مزیت استفاده مجدد از کد را افزایش داده است؛ اما از طرفی دیگر، برنامه ها را در معرض تهدیدهای جدی قرار می دهد. یکی از این تهدیدها، دسترسی مهاجمان به مؤلفه‌های خصوصی برنامه ها می باشد که در صورت وجود آسیب پذیری Next-Intent رخ می دهد. در این آسیب پذیری، مهاجمان با برقراری ارتباط با مؤلفه‌های عمومی از طریق یک Intent که دارای Intentنهفته است، حفاظت مؤلفه‌های خصوصی را دور می زنند و به آنها دسترسی پیدا می کنند. از آنجایی که مؤلفه‌های خصوصی دارای داده ها و عملیات حساسی هستند، دسترسی به آنها عملکرد برنامه را دچار اختلال می کند. این آسیب پذیری از طریق عدم بررسی هویت مبدأ Intentها در مؤلفه‌های عمومی و استفاده از اطلاعات آنها در کل برنامه، رخ می دهد. بنابراین شناسایی برنامه های که دارای این آسیب پذیری می باشند از اهمیت بالایی برخوردار است. تا کنون رویکردهای امنیتی ارتباط بین مؤلفه ای اندروید، مورد توجه زیادی قرار گرفته است؛ اما تعداد کمی از آنها به شناسایی این آسیب پذیری در برنامه ها پرداخته اند. همچنین رویکردهای ارائه شده نیز دارای محدودیت هایی از نظر مدت زمان تحلیل هر برنامه می باشند. به طوری که نمی توان از آنها در بازارهای استاندارد برنامه های اندروید استفاده کرد. از این رو، در این پایان نامه یک ابزار مبتنی بر تحلیل ایستا به نام NIVFinder ارائه شده است که آسیب پذیری Next-Intent را به طور خودکار در برنامه ها شناسایی می کند. این ابزار در مرحله اول به شناسایی مؤلفه‌های عمومی که مستعد آسیب پذیری Next-Intent می باشند، می پردازد. مؤلفه‌های مستعد شامل روال های هستند که دارای APIهای مربوط به استفاده از Next-Intent می باشند. در واقع وجود این APIها، شرط اصلی این آسیب پذیری است. بنابراین با تولید مسیرهای اجرایی برای روال های که دارای این APIها هستند، می توان سربار تولید مسیرهای اجرایی برای تمامی مؤلفه ها را کاهش داد و مسیرهای کمتری را تولید و تحلیل کرد. برای تولید مسیرهای اجرایی، نمودار کنترل جریان درون روالی رسم می شود. سپس هر مسیر در این نمودار با استفاده از تحلیل جریان داده، مورد تجزیه وتحلیل قرار می گیرد تا جریان مابین APIهای مربوطه تأیید شود. در صورت یافتن چنین مسیری، برنامه، آسیب پذیر است و NIVFinder اطلاعات مربوط به روال های آسیب پذیر را گزارش خواهد کرد. برای ارزیابی، NIVFinder مجموعه 100 برنامه کاربردی اندروید را مورد تجزیه وتحلیل قرار داده است. نتایج این برنامه ها نشان می دهد که NIVFinder در مقایسه با سایر رویکردهای پیشین توانسته با دقت یکسان، مدت زمان تحلیل هر برنامه را کاهش دهد.

فایل: ّFile: دانلود فایل