پژوهشگران امنیتی نشان دادهاند که یک حملهی app-in-the-middle جدید که به یک برنامهی مخرب نصبشده در دستگاه iOS کاربر اجازه میدهد تا با بهرهبرداری از پیادهسازیهای خاص شِمای آدرس اینترنتی سفارشی اطلاعات حساس را از سایر برنامهها به سرقت ببرد. بهطور پیشفرض در سیستم عامل iOS اپل، هر برنامهای داخل یک سندباکس متعلق به خود اجرا میشود که از دسترسی همهی برنامههای نصبشده به دادههای یکدیگر جلوگیری میکند. بااینحال، اپل برخی روشهای تسهیل ارسال و دریافت دادههای محدود بین برنامهها را ارائه میدهد.
یک چنین سازوکاری شِمای آدرس اینترنتی نامیده میشود که به آن Deep Linking هم گفته میشود که به توسعهدهندگان اجازه میدهد تا امکان راهاندازی برنامهها از طریق آدرسهای اینترنتی را برای کاربران فراهم کنند. بهعنوان مثال، هنگامیکه کاربر روی لینک «ثبتنام با حساب فیسبوک» در یک برنامهی تجارت الکترونیک کلیک میکند، بهطور مستقیم برنامهی فیسبوک نصبشده در دستگاه کاربر را راهاندازی میکند و بهطور خودکار احراز هویت را پردازش میکند.
پژوهشگران ترندمیکرو متوجه شدند که از آنجا که اپل بهطور صریح مشخص نمیکند که کدام برنامه میتواند از کدام کلیدواژهها برای شِمای آدرس اینترنتی سفارشی خود استفاده کند، برنامههای متعدد در یک دستگاه iOS میتوانند از شِمای آدرس اینترنتی واحد استفاده کنند که در نهایت میتواند اطلاعات حساس را بهطور غیرمنتظره یا با قصد خرابکاری به یک برنامهی کاملاً متفاوت ارسال کند.
پژوهشگران بیان کردند که درصورتیکه فرآیند ورود برنامهی A با برنامهی B مرتبط باشد، این آسیبپذیری بحرانی است. پژوهشگران برای نشان دادن این مسأله یک سناریوی حمله ارائه دادهاند که از یک نمونهی برنامهی خردهفروشی چینی Suning و پیادهسازی ویژگی «ورود با حساب ویچت» استفاده میکند که تشریح میکند که چگونه در برابر نفوذ آسیبپذیر است.
بهطور خلاصه، زمانیکه کاربران برنامهی Suning میخواهند بااستفاده از ویچت به حساب تجارت الکترونیک خود دسترسی پیدا کنند، این برنامه یک درخواست ورود ایجاد میکند و آن را با استفاده از شِمای آدرس اینترنتی iOS به برنامهی ویچت نصبشده در همان دستگاه ارسال میکند. سپس برنامهی ویچت یک توکن ورود محرمانه از سرور خود درخواست میکند و آن را برای احراز هویت به برنامهی Suning ارسال میکند.
پژوهشگران دریافتند که از آنجا که Suning همیشه از کوئری درخواست ورود یکسانی برای درخواست توکن محرمانه استفاده میکند و و ویچت منبع درخواست ورود را احراز هویت نمیکند، پیادهسازی آن در برابر حملهی app-in-the-middle از طریق شِمای آدرس اینترنتی iOS آسیبپذیر است و درنهایت به مهاجمان اجازه میدهد تا به دسترسی غیرمجاز به حسابهای کاربران دست یابند. با شِمای آدرس اینترنتی قانونی ویچت، میتوان یک حساب ویچت جعلی ایجاد کرد و Suning یک حساب جعلی برای توکن ورود درخواست خواهد کرد. ویچت آن را به رسمیت میشناسد، اما منبع درخواست ورود را احراز هویت نخواهد کرد. در عوض، بهطور مستقیم با یک توکن ورود به منبع درخواست پاسخ خواهد داد. متأسفانه، این منبع میتواند یک برنامهی مخرب باشد که از شِمای آدرس اینترنتی Suning سوءاستفاده میکند.
این به این معنا است که یک برنامهی مخرب با شِمای آدرس اینترنتی سفارشی بهعنوان یک برنامهی هدف میتواند برنامههای دیگر را فریب دهد تا دادههای حساس کاربران را با آن به اشتراک بگذارند و یا میتواند اقدامات غیرمجاز انجام دهد که منجر به نقض حریم خصوصی، جعل صورتحساب و یا نمایش تبلیغات پاپآپ آلوده شود.
پژوهشگران بیان کردند که برخی از این برنامههای مخرب را شناسایی کردهاند. از آنجا که قابلیت بهرهبرداری از این آسیبپذیری بهطور کامل به روش پیادهسازی شِمای آدرس اینترنتی بستگی دارد، به توسعهدهندگان برنامه و بسترهای محبوب توصیه میشود تا برنامههای خود را بررسی کنند و روشهای جلوگیری از درخواستهای غیر قابل اطمینان را اعتبارسنجی کنند.