هشدار: نام عجیب وایفای، آیفون را از کار میاندازد!
ایتنا - یک پژوهشگر امنیت آنلاین کشف کرد اگر شبکه وایفای عمومی با نام «%secretclub%power» بسازد، میتواند قابلیت اتصال آیفون به وایفای را با راهحلی خاص از کار بیندازد.
کارل شو، مهندس نرمافزار، در توییتر فاش کرد که نام شبکه مذکور میتواند قابلیت اتصال دستگاه را کاملا از کار بیندازد و حتی راهاندازی دوباره (ریاستارت) دستگاه یا تنظیم مجدد آیفون هم نمیتواند آن را دوباره تنظیم کند.
به گزارش ایتنا و به نقل از ایندیپندنت، کاربران برای احیای قابلیت اتصال باید خود نسخه پشتیبان آیفون را دستکاری و نام بدافزارانه شبکه مذکور را از داخل پوشههای سیستم عامل دستگاه پاک کنند.
کارل شو میگوید: دلیل بروز این ایراد آن است که پردازشگر وایفایر نام شبکه را در یک رشته قرار میدهد که بعد به الگوریتمی که فرمت آن را تشکیل میدهد منتقل میشود و بعد آن الگوریتم اطلاعات دریافتی اشتباه را به دستگاه وارد میکند. نام مذکور باعث میشود الگوریتم فرمت ساز به دنبال رشتهها (S%) و نشانگرهایی (P%) باشد که وجود ندارند. در نتیجه تعیینکننده فرمت رشته هنگام خواندن آن از حافظهای که وجود ندارد یک نشانگر تهی میسازد که الگوریتم را از بین میبرد.»
این اولین خطای وایفای عجیبی نیست که آقای شو پیدا کرده است. ماه گذشته او کشف کرد دستگاههای اپل نمیتوانند به شبکههای وایفای با نامهایی نظیر «%p%s%s%s%s%n» متصل شوند و همچنین ویژگیهای شبکه داخلی گوشی مانند «ایر دراپ» را هم از کار میاندازد.
معلوم نیست این اشکال دقیقا چگونه اتفاق میافتد ولی سایت 9to5Mac میگوید به دلیل علامت «درصد» است که قبل از یک حرف میآید و باعث میشود زبان برنامهنویسی متغیرهای مختلف (نامهایی که ارزشهایی مشخص دارند) را به شکل یک رشته فرمت کند که ترکیبی از کاراکترها برای ذخیره کردن اطلاعاتاند، مانند ساختار جمله در زبان انگلیسی.
در زبان برنامهنویسی سی، عبارت «n%» عبارتی مشخص است که کاراکترهای نوشته شده در یک رشته را به شکل متغیری ذخیره میکند و به الگوریتم فرمتساز رشته انتقال میدهد. احتمالا سیستم وایفای آيفون و آیپد نام شبکه را به بایگانی داخلی دستگاه انتقال میدهد و آن را به شکل یک رشته درمیآورد که باعث میشود حافظه خودکار اطلاعات را از جایی بردارد و در جای دیگر ذخیره کند که به پر و سرریز شدن میانگیر (بافر) دستگاه منجر میشود.
حافظه خودکار حافظهای است که در سیستم محلی دستگاه وجود دارد و توسط هر رشته از نو نوشته میشود، در همین حال میانگیر روندی است که به دستگاه اجازه میدهد دستورهای خود را بدون تاثیر بر عملکردهای دیگرش انجام دهد. اگر میانگیر سرریز شود، یعنی دستورها در جاهای دیگری که نباید، خوانده و اجرا میشوند.
گرچه احتمال وقوع این اتفاق خیلی کم است اما در صورت وقوع راهی برای درست کردن آن وجود دارد: گزینه «Reset Network Settings» در تنظیمات آیفون به کاربران اجازه میدهد تمام رمزهایعبور وایفای ذخیره شده را پاک کنند که اسامی -و تاثیر- آنها را هم از حافظه دستگاه حذف خواهد کرد.
اپل قبل از انتشار مطلب به درخواست اظهارنظر درباره این ایراد پاسخ نداد.