هر نسخه جدید از یک سیستمعامل را میتوان از جنبههای گوناگونی مورد بررسی قرار داد. Oreo هم از این قاعده مستثنی نیست و میتوان آن را از تغییرات ظاهری و بهبود واسط کاربری گرفته تا پشتیبانی از فناوریهای جدید، بررسی کرد. هدف ما در این مقاله بررسی ویژگیهای امنیتی Oreo است که باعث میشود کارشناسان، نصب آن را توصیه کنند.
در هنگام معرفی یک سیستمعامل جدید، کاربران معمولا به تغییرات ظاهری یا در بهترین حالت به بهبود عملکرد آن توجه میکنند. در این بین ویژگیها و بهبودهای امنیتی حداقل از سوی کاربران عام نادیده گرفته میشود. با این که بهبودها و ویژگیهای امنیتی غالبا در تیتر اخبار مربوط به یک نسخه جدید از سیستمعامل نیستند اما از اهمیت بالایی برخوردارند. اهمیت این موضوع تا حدی است که میتواند در تصمیمگیری برای ارتقای سیستمعامل فعلی نقش کلیدی داشته باشد. در ادامه برخی از پیشرفتهای هشتمین نسخه سیستم عامل اندروید را بررسی میکنیم که نشان میدهد ارتقا به این نسخه، بسیار ضروریست.
کنترل دقیقتر و امنتر نصب اپلیکیشنها از منابع مختلف
برخلاف محصولات اپل، ابزارهای اندرویدی امکان نصب اپلیکیشنها از منابع مختلفی به غیر از Google Play را هم در اختیار کاربران خود قرار میدهند. این موضوع برای بسیاری از کاربران از جذابیت بالایی برخوردار است تا جایی که حتی به مهمترین دلیل برای انتخاب پلتفرم اندرویدی به جای پلتفرم اپل تبدیل میشود. اما باید در نظر داشت که نصب نرمافزارها از منابع متفرقه میتواند با خطرات امنیتی بسیار جدی همراه باشد.
روش نصب دستی اپلیکیشنها در اندروید Oreo بهطور قابل توجهی تغییر کرده است. برخلاف نسخههای قبلی اندروید که در آنها با تنظیم یک گزینه واحد اجازه نصب دستی اپلیکیشنها از هر منبعی را صادر میکردید، اکنون Oreo کاربر را ملزم میکند تا در این مورد برای هر اپلیکیشن بهطور جداگانه تصمیمگیری کند. مثلا شما میتوانید نصب دستی اپلیکیشنها از یک منبع خاص را «مجاز» تلقی کنید، اما نصب اپلیکیشنهای دانلود شده از منبع دیگری را مسدود نمایید.
Verified Boot 2.0
بوت تایید شده اندروید (Android Verified Boot) یک ویژگی امنیتی است که این سیستم عامل از نسخه 4.4 (KitKat) به بعد از آن بهره میگیرد. برخی از بدافزارهای اندروید با بهرهگیری از مجوزهای روت قادر به پنهان کردن خود هستند که باعث میشود برای برنامههای امنیتی قابل تشخیص نباشند. اگر ساختار اصلی سیستمعامل توسط یک بدافزار دستکاری شده باشد، این ویژگی از بوت شدن ابزار جلوگیری خواهد کرد.
با اینحال هکرها میتوانند ابزار را به یک نسخه قدیمیتر اندروید تنزل دهند و بوت تاییده شده را دور بزنند. اما Oreo با نسخه دوم این ویژگی یعنی Verified Boot 2.0 عرضه شده است که از مکانیزمی تحت عنوان Rollback Protection پشتیبانی میکند. این ویژگی طراحی شده تا اگر ابزاری به یک نسخه قدیمیتر یا آسیبپذیرتر تنزل داده شد، از بوت شدن آن جلوگیری کند.
این کار با ذخیرهسازی اطلاعات نسخه سیستمعامل در یک سختافزار خاص انجام میشود که در حال حاضر گوشیهای Pixel 2/2 XL به آن مجهز هستند. گوگل به تولیدکنندگان توصیه میکند این ویژگی را در محصولات آتی خود پیادهسازی کنند.
پروژه Treble
پروژه Treble در اصل برای سرعت بخشیدن به انتشار نسخههای جدید اندروید توسط تولیدکنندگان ابزارها طراحی شده بود. این پروژه روی تفکیک کدهای سیستمعاملی وابسته به ابزار و غیر وابسته به ابزار تمرکز کرد. در این صورت میتوان بدون توجه به ابزار، بهروزرسانیها را به طور مستقیم به بخش مربوط ارسال کرد. سازندگان هم میتوانند بهروزرسانیهای لازم برای بخش کد مخصوص خود را ارسال کنند.
گذشته از بهروزرسانیهای سریعتر، Treble امنیت را هم بالا برده است. با توجه به ساختار ماژولار و تفکیک کدها، تهدیدهای یک بخش شانس کمتری برای تاثیرگذاری روی سایر بخشهای سیستم دارند.
لایه HAL (Hardware Abstraction Layer) یک رابط بین سختافزار و نرمافزار سیستم ایجاد میکند. این وضعیت بهمعنای دسترسی مستقیم به درایورهای هسته (Kernel) است که باعث میشود لایههای HAL مجوزها و دسترسیهای اضافهای به سختافزار داشته باشند که الزاما ضرورتی ندارد. در Oreo، هر HAL در جعبه شنی (sandbox) خودش اجرا میشود که نتیجه آن، سوءاستفاده کمتر از مجوزهای اپلیکیشن و درایورهای سختافزاری است. جعبه شنی یک مکانیزم امنیتی برای تفکیک و ایزوله کردن کدهای در حال اجرا است تا وجود اشکال یا آسیبپذیری در هر یک از آنها کمترین تاثیر را روی کل سیستم داشته باشد.
کنار گذاشتن نسخه ناامن SSL
پروتکلهای شبکه SSL/TLS برای تامین ارتباطات امن روی اینترنت مورد استفاده قرار میگیرند. در سال 2014، محققین شرکت گوگل یک آسیبپذیری امنیتی را در نسخه سوم SSL کشف کردند. با عرضه Oreo، اندروید دیگر از این نسخه قدیمی و ناامن پشتیبانی نمیکند.
از سوی دیگر، نسخه پشتیبان TLS هم دیگر مورد حمایت Oreo نیست. نسخه پشتیبان TLS (TLS Version fallback) یک راهکار حفظ سازگاری برای اتصال به سرورهایی است که از نسخه قدیمی TLS استفاده میکنند. حذف این راهکار، امنیت بهتری را در هنگام ارتباط با اینترنت برای کاربران فراهم میکند.
پشتیبانی از سختافزار ضد دستکاری
سیستمعامل Oreo از سختافزار ضد دستکاری هم پشتیبانی میکند. این سختافزار اطلاعات مهم مانند رمز عبور، PIN و الگوی قفلسازی گوشی شما را در خود ذخیره میکند. ذخیرهسازی اطلاعات روی تراشه باعث میشود دسترسی فیزیکی به اطلاعات شما توسط اشخاص دیگر بسیار دشوار شود. گوشی Pixel 2 شرکت گوگل اولین محصولی بود که به یک ماژول اختصاصی امنیت سختافزاری مجهز شده بود تا از رمز قفل گوشی شما در برابر حملات فیزیکی محافظت کند. Oreo بهطور کامل از این سختافزار پشتیبانی میکند.
سختافزار ضد دستکاری، به حافظه RAM اختصاصی و قطعات دیگری مجهز است که به آن امکان میدهد عملکردش را به طور کامل کنترل کند. گوگل مدعی است این ماژول میتواند در برابر تلاشهای خارجی برای دستکاری هم از خودش محافظت کند. این ساختار سختافزار به همراه مکانیزمهای امنیتی نرمافزاری، سطح بالایی از امنیت را فراهم میکند.
کلیدهای امنیتی فیزیکی
همه کارشناسان توصیه میکنند که تا حد امکان از تایید دو مرحلهای استفاده کنید، هر چند که استفاده کردن از کدهای منحصربهفرد در مرحله دوم این فرآیند میتواند دردسرساز باشد. کلیدهای امنیتی فیزیکی U2F برای جایگزین کردن مرحله دوم تایید ارائه شدهاند تا فرآیند را برای شما سادهتر کنند.
سیستمعامل Oreo از کلیدهای امنیتی فیزیکی هم پشتیبانی میکند. این کلیدها از طریق بلوتوث یا NFC به گوشی هوشمند شما وصل میشوند. البته ابتدا لازم است برنامهنویسان این ویژگی را در اپلیکیشنهای خود پیادهسازی کنند. بنابراین مدتی طول خواهد کشید تا محصولات مذکور بهطور گسترده در بازار دیده شوند.
قفل کرنل
سیستمعامل Oreo دسترسی به کرنل را با استفاده از فیلتر Seccomp محدود کرده است. بهگفته گوگل، Oreo با استفاده از این فیلتر میتواند فراخوانهای بلااستفاده سیستم را از کار انداخته و در نتیجه حملات کرنل را کاهش دهد. بهاین ترتیب امکان بهرهبرداری از کرنل توسط اپلیکیشنهای مخرب کاهش مییابد.