نفوذ موفقیت‌آمیز به برنامه‌های اندرویدی از طریق Intentها

یک محقق امنیتی توانست با به‌کارگیری مؤلفه‌های افشاشده‌ی Activity یک برنامه‌ی اندرویدی، به آن نفوذ کند. طبق گزارش‌ها، این اشکال گسترده نیست، اما وجود دارد و مهاجمان می‌توانند از آن برای افشای اطلاعات مهم برنامه‌های اندرویدی و در نتیجه، به خطرانداختن بیشتر دستگاه‌ها بهره‌برداری کنند.

مؤلفه‌ی Activity، یکی از سه مؤلفه‌ی اصلی برنامه‌های اندرویدی است که به‌صورت استفاده از Intentها تعریف می‌شود. از سوی دیگر، Intentها اشیای پیام‌رسانی هستند که توسط برنامه‌ها برای برقراری ارتباط با مؤلفه‌های مختلف خود، مانند Activityها، Serviceها یا Broadcast Receiverها، به‌کار گرفته می‌‌شوند.

معمولاً، AndroidManifest.xml یک برنامه، Intent Filterها را تعریف می‌کند. این Intent Filterها، هم از نوع صریح (معمولاً برای شروع یک مؤلفه درون خود برنامه استفاده می‌شود) و هم از نوع ضمنی (یک عملکرد کلی را برای اجرا اعلام کرده و یک مؤلفه از برنامه‌ی دیگر می‌تواند آن را مدیریت کند) هستند. بنابراین، در هر برنامه‌ی اندرویدی که دارای AndroidManifest.xml است، می‌توان به اطلاعات دقیق آن برنامه، از جمله Intent ها دسترسی پیدا کرد.

این محقق امنیتی هنگام بررسی یک برنامه‌ی پیام‌رسانی داخلی که به‌طور خاص برای ارتباطات یک شرکت طراحی شده است، متوجه شد که در این برنامه یک سری Activityهای افشاشده استفاده می‌شوند. به گفته‌ی این محقق، این نوع Activityها اغلب می‌توانند برای فعالیت‌های مخرب، اجرای کد از راه دور و اعلان‌های جعلی مورد بهره‌برداری قرار بگیرند.

این محقق توانست با استفاده از یک شِل روت ADB متصل به دستگاهی که برنامه بر روی آن در حال اجرا بود، و ارسال یک Intent به مؤلفه‌ی افشاشده‌ی Activity، احراز هویت را دور بزند. در این مورد خاص، محقق قادر به ارسال یک Intent به یک Activity است که به‌عنوان رابط کاربری برای کاربران تأییدشده عمل می‌کند. این امر منجر به دسترسی به صفحه‌ی گفتگوی «My groups» بدون ارائه‌ی هرگونه گواهی‌نامه‌ای شد.

برای محدودکردن سطح این حمله، توسعه‌دهندگان برنامه‌ها باید تنها مؤلفه‌هایی را اکسپورت کنند که باید در معرض سایر برنامه‌ها قرار بگیرند. به این ترتیب، تعداد Activityهای افشاشده در AndroidManifest.xml به حداقل می‌رسد. اعتبارسنجی تمامی داده‌های دریافت‌شده در Intentها، مانند اعمال مجوز هنگام انتقال داده‌ها از برنامه‌های دیگر نیز می‌تواند امنیت را بهبود بخشد.

منبع

پست‌های مشابه

Leave a Comment