حدود ۶ سال پس از آنکه فیسبوک برنامهی Free Basic خود را راهاندازی کرد تا اینترنت را در اختیار طیف وسیعی از افراد قرار دهد، با یک نوآوری جدید به نام Discover دوباره به آن رجوع کرد. این سرویس که بهعنوان یک برنامهی وب و اندرویدی تلفن همراه در دسترس است، به کاربران اجازه میدهد تا با استفاده از data capهای روزانهی رایگان اینترنت را مرور کنند.
برنامهی Discover فیسبوک درحالحاضر در پرو با همکاری شرکتهای مخابراتی محلی مانند Bitel، Claro، Entel و Movistar آزمایش میشود. آخرین پروژهی اتصال فیسبوک برخلاف مرور منظم rich-content، تنها مرور مبتنیبر متن با پهنای باند کم را فراهم میکند، به این معنا که انواع دیگر محتوای data-intensive مانند محتوای صوتی و ویدئویی پشتیبانی نمیشوند.
تفاوت اصلی دیگر Discver این است که با همهی وبگاهها بهطور یکسان رفتار میکند، درحالیکه کاربران Free Basics تنها به تعداد محدودی از وبگاهها محدود میشوند که توسط توسعهدهندگان تأیید شدهاند و معیارهای فنی تعیینشده توسط فیسبوک را دارند.
نحوهی عملکرد Discover بسیار شبیه به Free Basics است که در آن کل ترافیک از طریق یک پروکسی هدایت میشود. درنتیجه، دستگاه تنها با سرورهای پروکسی تعامل میکند که بهعنوان یک کلاینت برای کاربران وبگاهی که از آن درخواست کردهاند، عمل میکند.
این سرویس پروکسی مبتنیبر وب در یک دامنهی فهرست سفید در freebasics.com اجرا میشود که اپراتور، این سرویس را بهطور رایگان ارائه میدهد و سپس صفحات وب را به جای کاربر واکشی میکند و آنها را به دستگاه خود انتقال میدهد.
فیسبوک بیان کرد که منطق گستردهای در سمت سرور وجود دارد که با آن اطمینان حاصل شود لینکها و hrefها بهدرستی تبدیل شدهاند. همین منطق اطمینان میدهد که حتی وبگاههای HTTP-only نیز بهطور امن از طریق HTTPS در Free Basics بین کلاینت و پروکسی ارائه میشوند.
علاوهبرآن، کوکیهای استفادهشده توسط این وبگاهها بهصورت رمزنگاریشده روی سرور ذخیره میشوند تا از مواجه شدن مرورگرهای تلفن همراه با محدودیتهای ذخیرهسازی کوکی جلوگیری کنند. کلید رمزنگاری ick در کلاینت ذخیره میشود، بنابراین محتوای کلید بدون دانستن کلید کاربر قابل خواندن نیست.
هنگامی که کلاینت ick را ارائه میدهد، سرور در هر درخواست آن را فراموش میکند. اما به محتوای جاوااسکریپت وبگاههای شخص ثالث اجازه میدهد تا امکان تزریق کد مخرب را برای مهاجمان فراهم کند.
برای مقابله با این حمله، Discover فیسبوک از یک برچسب احراز هویتی به نام ickt استفاده میکند که از کلید رمزنگاری و یک کوکی شناساگر مرورگر ذخیرهشده در کلاینت به نام datr برگرفته شده است.
سپس این برچسب که در هر پاسخ پروکسی تعبیه شده است، با ickt در سمت کلاینت مقایسه میشود تا هر گونه علائم دستکاری را بررسی کند. در صورت عدم تطابق، این کوکیها حذف میشوند.
همچنین از یک two-frame solution استفاده میکند که در وبگاه شخص ثالث در یک iframe تعبیه شده است و توسط یک فریم بیرونی محافظت میشود و از این برچسب برای اطمینان از صحت محتوا استفاده میکند.
اما Discover در وبگاههایی که بهمنظور مقابله با حملات clickjacking بارگذاری صفحه در یک فریم را غیرفعال میکنند، با حذف سرآیند از پاسخ HTTP کار میکند، که این کار پس از اعتبارسنجی فریم داخلی انجام میشود.
علاوهبرآن، این سرویس برای جلوگیری از جعل هویت دامنهی Discover توسط وبگاههای فیشینگ، پیمایش به چنین لینکهایی را مسدود میکند، بنابراین مانع از اجرای کد غیرقابل اطمینان میشود.
گروه مهندسی فیسبوک نتیجهگیری میکند که این معماری آزمایشهای امنیتی داخلی و خارجی مهمی را گذرانده است. آنها معتقدند که طراحی آنها به اندازهی کافی قدرتمند است که بتواند در برابر انواع حملات برنامهی تحت وبی که تاکنون مشاهده شده است، مقاومت کند و بهطور امن اتصالی را که برای اپراتورهای تلفن همراه پایدار است، فراهم کند.