این دیدگاه را به اشتراک بگذارید

اسکن سمت کاربر، محتوا را روی دستگاه کاربر بررسی می‌کند؛ جایی که محتوا ممکن است پیش از ارسال یا پس از دریافت، از قبل خواندنی باشد. بنابراین می‌تواند مسیری برای افشای اطلاعات خارج از کانال تحویل رمزنگاری‌شده ایجاد کند. مقایسهٔ چک‌سام APK ثابت نمی‌کند که برنامه فاقد کد اسکن است. این کار به پرسشی محدودتر پاسخ می‌دهد: آیا بایت‌های انتخاب‌شده با یک چکیدهٔ مشخص مطابقت دارند؟

جدا نگه داشتن این ادعاها، هم رمزنگاری و هم بررسی نرم‌افزار را مفیدتر می‌کند.

چرا اسکن روی دستگاه مرز حریم خصوصی را تغییر می‌دهد

برنامه برای نمایش پیام یا آماده کردن عکس جهت ارسال باید با متن آشکار کار کند. قابلیت اسکن می‌تواند در همین نقطه عمل کند، حتی اگر پیام بعدی در شبکه به‌صورت سرتاسری رمزنگاری شود. آنچه از دستگاه خارج می‌شود به طراحی اسکنر بستگی دارد: ممکن است یک تطابق را گزارش کند، محتوای انتخاب‌شده را بارگذاری کند یا اطلاعات مشتق‌شدهٔ دیگری بفرستد.

مقالهٔ پژوهشی Bugs in our Pockets خطرهایی مانند سوءاستفاده، مثبت کاذب و افزایش سطح حمله را بررسی می‌کند. این‌ها دلایلی برای بررسی جریان داده و شیوهٔ راهبری یک سامانهٔ اسکن پیشنهادی‌اند. اما ثابت نمی‌کنند که هر قابلیت روی دستگاه نوعی نظارت است یا قانونی مشخص، الزام همگانی برای اسکن وضع کرده است.

یک قابلیت محلی تحت کنترل کاربر، خودبه‌خود معادل گزارش‌دهی اجباری نیست. بپرسید چه کسی نوع تحلیل را انتخاب می‌کند، چه چیزی آن را فعال می‌کند، چه کسی می‌تواند قواعدش را به‌روز کند و چه داده‌هایی می‌توانند از دستگاه خارج شوند.

چهار نوع متفاوت از شواهد نرم‌افزاری

بررسی چه چیزی را می‌تواند اثبات کند به‌تنهایی چه چیزی را نمی‌تواند اثبات کند
چک‌سام SHA-256 فایل با یک چکیدهٔ مرجع قابل‌اعتماد مطابقت دارد اینکه برنامهٔ مرجع امن است یا با کد منبع مطابقت دارد
بررسی امضای APK امضای بسته معتبر است و یک گواهی امضا شناسایی می‌شود اینکه امضاکننده قابل‌اعتماد است یا کد رفتار ناخواسته ندارد
ساخت بازتولیدپذیر منبع و ورودی‌های ساخت مشخص می‌توانند خروجی‌های مورد انتظار را تولید کنند اینکه منبع فاقد آسیب‌پذیری یا منطق زیان‌بار است
بررسی و آزمون مستقل یافته‌هایی دربارهٔ نسخه و دامنه‌ای تعریف‌شده تضمینی دائمی برای همهٔ به‌روزرسانی‌های آینده

مستندات apksigner در اندروید، بررسی بسته و گزارش اطلاعات گواهی را توضیح می‌دهد. تعریف ساخت بازتولیدپذیر توضیح می‌دهد چرا منبع، محیط ساخت و دستورالعمل‌ها همگی هنگام بازتولید یک خروجی اهمیت دارند.

یک بایگانی کد منبع و چک‌سامی که کنارش درج شده است، به‌تنهایی نتیجهٔ ساخت بازتولیدپذیر نیستند. به همین ترتیب، امضای معتبر روی یک انتشار مخرب همچنان امضایی معتبر است.

چگونه فایل دانلودشده را بدون برداشت بیش از حد از نتیجه بررسی کنیم

ابتدا انتشار موردنظر را مشخص کنید و APK و چکیدهٔ مورد انتظار آن را از مسیر توزیعی قابل‌اعتماد بگیرید. چکیده را به‌صورت محلی محاسبه کنید. اگر متفاوت بود، تا زمانی که علت اختلاف روشن نشده فایل را نصب نکنید: انتشار متفاوت، دانلود ناقص یا دست‌کاری همگی می‌توانند باعث عدم تطابق شوند.

اگر مطابقت داشت، انتشار و نتیجه را ثبت کنید. شما برابری بایت‌ها با آن مرجع را اثبات کرده‌اید، نه نبودِ اسکن سمت کاربر را. اگر همان مهاجم بتواند هم فایل دانلودی و هم چک‌سام نمایش‌داده‌شده را جایگزین کند، مقایسه همچنان ممکن است موفق باشد. مراجع مستقل، تداوم کلید امضا و شفافیت انتشار به رسیدگی به بخش‌های مختلف این مسئلهٔ اعتماد کمک می‌کنند.

برای ادعای تطابق منبع با فایل باینری، به دنبال دستورالعمل‌های مستند ساخت و نتایج بازتولید مستقل برای همان انتشار واقعی باشید. این ویژگی را از عبارت «متن‌باز» استنتاج نکنید.

به‌روزرسانی‌ها همچنان مهم‌اند

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

Proof Lab در Livara چه چیزی را اثبات می‌کند

Proof Lab در Livara، مقایسهٔ محلی چکیدهٔ APK و نمایش‌های رمزنگاری در مرورگر را ارائه می‌کند. صفحه تصریح می‌کند که سازوکارهای کامل راتچت LVR1/LGS1 را اجرا نمی‌کند و ممیزی پروتکل محسوب نمی‌شود. مدل تهدید آن نیز محدودیتِ وضعیتی را توضیح می‌دهد که مهاجم بتواند هم فایل و هم چکیدهٔ مورد انتظارش را جایگزین کند.

این بررسی‌ها در محدودهٔ خود مفیدند. اما ثابت نمی‌کنند گوشی‌ای که برنامه روی آن نصب شده عاری از بدافزار است، انتشارهای Livara به‌طور مستقل بازتولیدپذیرند، یا برنامهٔ آن نمی‌تواند رفتار اعلام‌نشده داشته باشد. برای مرزهای ادعاشدهٔ حفاظت از پیام، مستندات امنیتی را جداگانه بخوانید.

پرسش درست این نیست که آیا روی یک نشان نوشته شده «تأییدشده». پرسش این است که کدام ادعا، در برابر کدام مرجع قابل‌اعتماد و برای دقیقاً کدام انتشار آزمایش شده است.

برنامهٔ خود را در Proof Lab تأیید کنید
ادامهٔ این موضوعامنیت اندروید و دستگاه ↗
پایان مقالهادامهٔ مطالعه ↗