اخبار محصول

معرفی کتابخانه‌های وضعیت امنیتی AndroidX: نگاهی یکپارچه به امنیت دستگاه

۴ دقیقه مطالعه
۳ نویسنده
Maunik Shah, Alec Garcia, Joseph Yong

در اندروید، ما دائماً در تلاشیم تا داده‌های مورد نیاز برای محافظت از دستگاه‌ها را در اختیار توسعه‌دهندگان و شرکای سازمانی قرار دهیم. امروز، مفتخریم که انتشار پایدار کتابخانه‌های AndroidX Security State نسخه ۱.۱.۰ و Security State Provider نسخه ۱.۰.۰ را اعلام کنیم که یک مکانیسم متمرکز را برای ایجاد شفافیت بیشتر در وضعیت امنیتی جامع و به‌روزرسانی‌های در حال انتظار در سراسر اکوسیستم اندروید فراهم می‌کند.

چه در حال توسعه برنامه‌های کاربردی با امنیت بالا و مرتبط با مصرف‌کننده (مانند بانکداری، فین‌تک یا مراقبت‌های بهداشتی) باشید و چه در حال توسعه راهکارهای مدیریت دستگاه تلفن همراه (MDM)، این کتابخانه‌ها شما را قادر می‌سازند تا به صورت برنامه‌نویسی، وضعیت امنیتی دستگاه را به ازای هر جزء تأیید کنید. به جای تکیه بر یک سطح وصله امنیتی (SPL) زمخت و یکپارچه، می‌توانید از طریق کتابخانه androidx.security.state ، حفاظت واقعی در سطح جزء و اینکه آیا اصلاحات به طور فعال در حال انجام هستند یا خیر را ارزیابی کنید. برای تولیدکنندگان اصلی تجهیزات (OEM) و توسعه‌دهندگان کلاینت OTA، کتابخانه همراه androidx.security.state.provider به شما امکان می‌دهد تا از طریق مکانیسم‌های استاندارد، در دسترس بودن به‌روزرسانی‌ها را افشا کنید.

درک سطوح وصله امنیتی (SPL)

از آنجایی که اندروید به گونه‌ای تکامل یافته است که به‌روزرسانی‌های سریع و مستقل اجزا را از طریق سیستم‌های ماژولار مانند به‌روزرسانی‌های سیستم Google Play ارائه دهد، تکیه بر یک ویژگی ساخت SPL دیگر بهترین راه برای تعیین وضعیت امنیتی واقعی دستگاه نیست. برای ارائه قابلیت مشاهده در سطح اجزا، کتابخانه‌های Security State رابط‌های برنامه‌نویسی کاربردی (API) را برای سه سطح پچ مجزا ارائه می‌دهند:

  • SPL دستگاه (DSPL): سطح وصله امنیتی که در حال حاضر برای اجزای خاص سیستم روی دستگاه نصب و اجرا می‌شود، که از ویژگی‌ها و پیکربندی‌های دستگاه بدون فراخوانی شبکه استعلام می‌شود.
  • SPL منتشر شده (PSPL): آخرین سطح وصله که رسماً در بولتن امنیتی اندروید برای آن مؤلفه‌ها منتشر شده است.
  • SPL موجود (ASPL): سطح پچ آماده برای دانلود و نصب بر روی دستگاه خاص، که به صورت غیرهمزمان از طریق ارتباط بین فرآیندی (IPC) با کلاینت‌های به‌روزرسانی روی دستگاه، درخواست می‌شود.

کتابخانه‌های Security State این سطوح وصله را در اجزای زیر ردیابی می‌کنند:

  • سیستم: سیستم عامل اصلی اندروید، که از طریق به‌روزرسانی‌های OTA سیستم استاندارد/OEM به‌روزرسانی می‌شود.
  • ماژول‌های سیستم: زیرسیستم‌های سیستم عامل ماژولار که به طور یکپارچه در پس‌زمینه از طریق به‌روزرسانی‌های سیستم گوگل پلی به‌روزرسانی می‌شوند (Project Mainline).
  • هسته: لایه بنیادی که سخت‌افزار و نرم‌افزار دستگاه را به هم متصل می‌کند و از طریق نسخه‌های انتشار با پشتیبانی بلندمدت (LTS) (مانند ۵.۱۵.۱۵۹ یا ۶.۱.۹۱) به جای تاریخ‌های تقویمی ماهانه ارزیابی می‌شود.

با ارائه این سه سطح مجزای پچ در سطح کامپوننت، توسعه‌دهندگان و شرکت‌ها اکنون می‌توانند دقیقاً میزان امنیت یک دستگاه را درک کنند، پچ‌های از دست رفته را شناسایی کنند و مراحل اصلاح پیشگیرانه را انجام دهند. یکی از راه‌های انجام این کار را می‌توان در مثال زیر مشاهده کرد.

به جای اتخاذ رویکرد همه یا هیچ برای دسترسی به دستگاه، توسعه‌دهندگان و شرکت‌ها می‌توانند DSPL، PSPL و ASPL را برای تصمیم‌گیری‌های امنیتی هوشمندانه و متناسب با شرایط ترکیب کنند. به عنوان مثال، یک برنامه بانکی یا سازمانی می‌تواند قبل از شروع گردش‌های کاری حساس مانند پرداخت‌های با ارزش بالا یا ثبت نام اعتبارنامه، وصله امنیتی فعلی دستگاه (DSPL) را با به‌روزرسانی‌های در انتظار (ASPL) مقایسه کند. اگر به‌روزرسانی در انتظار نصب باشد، توسعه‌دهندگان و شرکت‌ها می‌توانند از کاربر بخواهند که ابتدا دستگاه خود را به‌روزرسانی کند. برای کنترل دقیق‌تر، توسعه‌دهندگان و شرکت‌ها می‌توانند قبل از مجوز دادن به اشتراک‌گذاری داده‌های مجاورتی یا پرداخت با ضربه، بررسی کنند که آیا آسیب‌پذیری‌های پرخطر خاص (CVE) در دستگاه وصله شده‌اند یا خیر، مانند تأیید وجود اصلاحات حیاتی NFC یا بلوتوث.

جریان سطح بالا

blog_effective_security_state.png

برای توسعه‌دهندگان اپلیکیشن و مدیریت سازمانی

برنامه‌های کلاینت می‌توانند از کتابخانه androidx.security.state برای تصمیم‌گیری‌های آگاهانه و مبتنی بر زمینه استفاده کنند:

  • بررسی‌های وضعیت همگام (DSPL) : برنامه‌ها می‌توانند بلافاصله سطوح وصله‌های نصب‌شده سیستم، ماژول‌های سیستم و هسته را در هنگام اجرای برنامه بررسی کرده و با PSPL مقایسه کنند تا قبل از باز کردن قفل منابع حساس شرکتی یا دسترسی بیومتریک، تأیید کنند که آیا دستگاه با خط پایه امنیتی مورد نیاز سازمان مطابقت دارد یا خیر.
  • اعلان به‌روزرسانی در انتظار (ASPL) : به جای مسدود کردن فوری دستگاه کارمندی که دستگاهش کمی از وصله‌ها عقب است، برنامه‌های سازمانی می‌توانند از ASPL درخواست کنند تا بررسی کند که آیا به‌روزرسانی سیستم در انتظار یا به‌روزرسانی سیستم Google Play آماده نصب است یا خیر. در این صورت، برنامه‌ها می‌توانند راهنمایی‌های درون برنامه‌ای متناسب را نمایش دهند که کاربر را به تنظیمات سیستم برای تکمیل نصب هدایت می‌کند.
  • حسابرسی سطح آسیب‌پذیری (CVE) : برای موارد استفاده با اطمینان بالا، این کتابخانه امکان دانلود گزارش‌های آسیب‌پذیری خاص دستگاه از آسیب‌پذیری‌های متن‌باز (OSV) را فراهم می‌کند تا به صورت برنامه‌نویسی شده بررسی شود که آیا CVEهای خاص و حیاتی روی دستگاه برطرف شده‌اند یا خیر.

برای تولیدکنندگان اصلی تجهیزات و مشتریان به‌روزرسانی: استانداردسازی دسترسی به به‌روزرسانی‌ها

کتابخانه همراه androidx.security.state.provider یک مکانیزم استاندارد IPC اندروید برای کلاینت‌های به‌روزرسانی ایجاد می‌کند تا در دسترس بودن به‌روزرسانی را مستقیماً روی دستگاه گزارش دهند. از نظر تاریخی، حتی اگر کلاینت‌های OTA اختصاصی، در دسترس بودن به‌روزرسانی را گزارش می‌دادند، این اطلاعات به صورت جداگانه ذخیره می‌شد و توسط برنامه‌های شخص ثالث قابل پرس‌وجو نبود. از این به بعد، برنامه‌ها می‌توانند از طریق یک API واحد و یکپارچه، صرف نظر از اینکه به‌روزرسانی از طریق کلاینت OTA اختصاصی یک OEM یا Google Play ارائه شود، به جزئیات ASPL دسترسی داشته باشند، البته تا زمانی که توسط کلاینت به‌روزرسانی ارائه شود.

  • به‌روزرسانی‌های سیستم گوگل پلی از قبل ASPL را در دستگاه‌های اندروید GMS نمایش می‌دهند.
  • سرویس ابری گوگل (GOTA) نیز به این مجموعه اضافه شده است و ما در حال همکاری با تولیدکنندگان تجهیزات اصلی (OEM) در سراسر جهان هستیم تا مشتریان OTA آنها را با این چارچوب استاندارد شده آشنا کنیم.

گنجاندن داده‌های سطح بولتن

فراتر از یک رشته SPL، کتابخانه‌های وضعیت امنیتی، شفافیت لازم را در مورد معنای واقعی آن سطح وصله برای دستگاه فراهم می‌کنند. با ادغام با پایگاه داده آسیب‌پذیری‌های متن‌باز ( OSV ) برای به دست آوردن داده‌های بولتن امنیتی اندروید ، کتابخانه‌ها می‌توانند عمیق‌تر از همیشه نگاه کنند. به جای اینکه فقط بپرسند آیا یک تهدید خاص، مانند یک ورودی CVE، مسدود شده است یا خیر، این داده‌ها به کتابخانه‌ها اجازه می‌دهند وضعیت امنیتی «موثر» و جزئی دستگاه را نیز ارائه دهند.

در اینجا دو روش برای بهره‌مندی شرکت‌ها و تولیدکنندگان اصلی تجهیزات اندروید از این رویکرد آورده شده است:

  • گاهی اوقات، به‌روزرسانی امنیتی ماهانه هیچ تهدید جدیدی برای یک جزء خاص ندارد. در این حالت، کتابخانه‌ها به‌طور خودکار سطح امنیتی آن جزء را افزایش می‌دهند تا وضعیت امنیتی «موثر» آن را منعکس کنند. این امر تضمین می‌کند که یک دستگاه به‌طور دقیق به دلیل محافظت کامل در برابر تمام تهدیدات امنیتی شناخته‌شده، اعتباردهی شود.
  • یک ویژگی جدید که در اندروید ۱۷ معرفی شده است، به تولیدکنندگان اصلی تجهیزات (OEM) اجازه می‌دهد تا اصلاحات امنیتی خاصی را که بالاتر از SPL اعمال شده‌اند، از طریق یک فایل XML تکمیلی Patches اعلام کنند. این ویژگی به تولیدکنندگان اصلی تجهیزات (OEM) که اصلاحات امنیتی خاصی را پشتیبان‌گیری می‌کنند، اجازه می‌دهد تا بلافاصله انطباق دستگاه را بدون نیاز به انتظار برای یک به‌روزرسانی کامل SPL یکپارچه، اثبات کنند و اطمینان حاصل شود که تلاش‌های مداوم برای وصله‌گذاری به درستی ارزیابی می‌شوند. کتابخانه‌های وضعیت امنیتی (Security State) این اطلاعات جزئی را در اختیار برنامه‌ها و سرویس‌ها قرار می‌دهند و تضمین می‌کنند که تلاش‌های مداوم برای وصله‌گذاری در لحظه اجرا شناسایی شوند.

شروع کنید

کتابخانه‌های وضعیت امنیتی (Security State Library) برای توانمندسازی کل اکوسیستم اندروید ساخته شده‌اند.

  • توسعه‌دهندگان برنامه و MDMها: برای شروع محافظت از کاربران خود و ارزیابی وضعیت پچ در لحظه، راهنمای رسمی «درک وضعیت امنیتی دستگاه» را بررسی کنید.
  • تولیدکنندگان اصلی تجهیزات (OEM) و کلاینت‌های به‌روزرسانی: کلاینت‌های به‌روزرسانی خود را برای نمایش ASPL با استفاده از کتابخانه AndroidX Security State Provider آماده کنید. با انتشار XMLهای تکمیلی پچ‌ها، فوراً اعتبار وصله‌های پشتیبان‌گیری شده را مطالبه کنید.
  • یادداشت‌های انتشار: برای مشاهده‌ی گزارش‌های کامل تغییرات و امضاهای API، یادداشت‌های انتشار رسمی AndroidX برای کتابخانه‌های Security-State و Security-State-Provider را بررسی کنید.

ما برای بازخورد شما ارزش قائلیم! لطفاً کتابخانه‌ها را امتحان کنید و نظرات خود را با ما در میان بگذارید یا هرگونه مشکلی را در ردیاب مشکلات عمومی اندروید گزارش دهید.

    نوشته شده توسط:
    ادامه مطلب