مشکل برنامه نویسان اپلیکیشن با تنظیمات امنیتی نسخه جدیدios
به گزارش کلیک، یک ماه بعد از تصمیم اپل مبنی بر بکار گیری موارد امینیت بیشتر برای اپلیکیشن های تحت سیستم عامل iOS، به نظر می رسد توسعه دهندگان اپلیکیشن های تحت سیستم عامل iOS هنوز آمادگی رویارویی با این تغییرات را ندارند.
نتایج منتشر شده از مطالعه انجام شده توسط شرکت امنیتی apptorithy بر روی ۲۰۰ اپلیکیشن تحت سیستم عامل iOS توسعه دهندگان این اپلیکیشن ها هنوز آماده پذیرش تغییرات امنیتی اپل برای اپلیکیشن های خود نیستند. در واقع در این مطالعه نحوه هماهنگی و تقابل اپلیکیشن های ساخته شده توسط این توسعه دهندگان با تغییرات امنیتی جدید اپل مورد بررسی قرار گرفته است.
تغییرات امنیتی اپل که به ATS یا App Transport security اپل مشهور است برای اولین بار به صورت پیش فرض بر روی سیستم عامل iOS 9 اعمال شد. در واقع در ATS تمام اپلیمیشن ها ملزم به بر قراری ارتباط با سرورهای اینترنتی تحت پروتکل HTTPS یا پروتکل HTTP بر روی SSl/TLs استفاده کنند و حتما از استانداردهای کارخانه برای رمز گذاری که بدون عیب و نقص هستند استفاده کنند. مثلا استفاده از نسخه ۳ SSl و همچنینی RC4 به دلیل قابلیت نفوذ بالا در آن ها قابل استفاده نیستند.
قبل از ATS توسعه دهندگان اپلیکیشن از HTTPs با استفاده از فریم ورک های شخص ثالث استفاده می کردند اما چون بکار گیری SSl/TLs بر روی آن سخت و مشکل بود به همین دلیل بروز خطا در آن ها امری عادی و اجتناب ناپذیر به شمار می رفت. در واقع این ضعف باعث می شد تا پروتکل نتواند در مقابل جاسوسی های ترافیکی و همچنین هک هایی که دارای عامل انسانی بودن، امن باشد.
در حال حاضر iOs از روش هایی استفاده می کند که در آن ها از ATS تنها برای ارتباطات مشخص به اینترنت استفاده می شود اما اپل ماه گذشته اعلام کرد که قصد تغییر این روش را دارد. در کنفرانس توسعه دهندگان دنیا در تیر ماه گذشته بر گزار شد، شرکت اپل اعلام کرد که تمام توسعه دهندگان اپلیکیشن های تحت سیستم عامل iOS که اپلیکیشن های آن ها در App Store در دسترس کاربران قرار دارد باید از ATS تا پایان سال جاری میلادی یعنی اواسط دی ماه سال جاری استفاده کنند.
البته برخی استثناء ها نیز وجود خواهد داشت اما توسعه دهندگان در صورتی که بخواهند اپلیکیشن ها تائید شود و در App Store قرار گیرد باید دلایل منطقی و قابل قبول خود را ارائه دهند.
بر اساس مطالعه صورت گفته توسط محققان Appthority حدود ۹۷ درصد از اپلیکیشن های آنالیز شده یعنی ۱۹۳ اپلیکیشن از ۲۰۰ اپلیکیشن از تنظیماتی استفاده می کنند که پیکره بندی ATS را بسیار ضعیف می کند.
در میان ۲۰۰ اپلیکیشن مورد بررسی در این مطالعه، حدود ۱۶۶ یعنی نزدیک به ۸۳ درصد حداقل از یکی از ملزومات ATS را با قرار دادن خصوصیت NSAllowArbitraryLoads بر روی حالت Truth در فایل Info.Plist عبور کرده اند. البته تمام این اپلیکیشن ها از ملزومات ATS برای تمام اتصالات به شبکه عبور نکرده اند. مثلا یک شرکت همچنان می تواند از ملزومات ATS برای اتصال به شبکه در دامنه آن شرکت پشتیبانی کند اما به ATS اجازه عبور از سایر اتصالات را بدهد.
نکته جالب توجه در نتایج این بررسی این است که از جمله اپلیکیشن های معروف و پرطرفداری که از پروتکل HTTPS استفاده نمی کردند، می توان به اپلیکیشن هایی مثل فیس بوک، توییتر، لینکداین، پیام رسان فیس بوک، اسکایپ، وایبر، واتس اپ، فاکس نیوز، سی ان ان، بی بی سی، نت فلیکس، ای اس پی ان، هولو، پاندورا، پخش کننده آمازون کلاد، ورد، اکسل، پاورپوینت و وان نوت اشاره کردکه البته اپلیکیشن های دیگری مثل فلش لایت، کیو آر کد ریدر و برخی از اپلیکیشن های بازی نیز از جمله اپلیکیشن هایی بودند که از پروتکل HTTPS استفاده نمی کرده اند.
البته ذکر این نکته که برخی از اتصالات به شبکه نیازی به استفاده از پروتکل HTTPs ندارند نیز لازم است. در واقع چون در این اتصالات انتقال داده های مهم و حساس انجام نمی شود بنابراین نیازی به استفاده از پروتکل HTTPS وجود ندارد. در تحقیق صورت گرفته توسط تیم تحقیقاتی امنیتی APPthority تعداد ۱۰ اپلیکیشن اطلاعات مهم کاربر که بر روی دستگاه ثبت شده است مثل شناسه دستگاه، آدرس ایمیل، آدرس فیزیکی ، کد پستی، اطلاعات مکانی و حتی رمز عبور و اطلاعات خصوصی دیگر را از طریق لینک های HTTP ارسال می کرده اند.
دلایل زیادی وجود دارد که چرا توسعه دهندگان نمی توانند از ATS برای تمام اتصالات خود استفاده کنند و سعی می کنند در رده استثناء ها برای استفاده از ATS قرار گیرند. برای مثال بسیاری از این اپلیکیشن ها تنها با سرور مربوط به توسعه دهنده خود ارتباط برقرار نمی کنند، در واقع این اپلیکیشن ها به منظور تبلیغات باید به سرورهای شخص ثالث، جستجو در بازار و همچنینی سرویس های تجزیه تحلیل تصاویر و ویدیو ها متصل شوند. در واقع استفاده از پروتکل HTTPS برای اتصال به این سرورها خارج از کنترل توسعه دهندگان اپلیکیشن ها است.
البته ATS استثناء هایی مثل NSAllowsArbitraryLoadsInMedia در دسترس توسعه دهندگان قرار داده است که این توسعه دهندگان بر اساس آن می توانند در حالی که سایر اتصالات را رمز گذاری کرده اند، نمایش ویدیو ها و محتوا را بر روی پروتکل HTTP قرار دهند.
هر چند بر اساس تحلیل های Appthority توسعه دهندگان اکثراً ترجیح می دهند تا از این استثناء ها برای تمام اتصالات خود به شبکه در اپلیکیشن های خود استفاده کنند تا مشکلات در حین اتصال به شبکه مواجه نشوند.
بسیاری از قابلیت ها و خصوصیات ATS در تمام اپلیکیشن های آنالیز شده در مطالعه صورت گرفته توسط Appthority غیر فعال بوده اند به عنوان مثال هیچ یک از اپلیکیشن ها از Transparency Certificate که از طریق ATS در دسترس است استفاده نکرده اند.
همچنین تعداد ۷ اپلیکیشن از میان ۲۰۰ اپلیکیشن بررسی شده تأییدیه SSl را غیر فعال کرده و تعداد ۴۶ اپلیکیشن از هیچ تأییدیه ای استفاده نکرده اند.
اما به نظر می رسد اپل همچنان انتظار دارد تا توسعه دهندگان با وجود تمام موارد گفته شده بعد از روز اول ژانویه سال ۲۰۱۷ یعنی ۱۱ دی ماه از رمز گذاری داده ها به روش جدیدی که مد نظر اپل است استفاده کنند.