تعریف:

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

 

لیست خطاهایی که باعث می‌شود برنامه‌ از دیدگاه گوگل مخرب شناسایی شود:

Billing Fraud: از جمله مواردی که می‌تواند یک برنامه را مخرب نمایش دهد، می‌توان به Billing Fraud اشاره کرد که معنای کلی آن تحمیل هزینه‌های نا‌آگاهانه به کاربر است. مانند ارسال اس‌ام‌اس، برقراری تماس، یا هر نوع از خدماتی که بدون اطلاع کاربر فعال می‌شود. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can add unauthorized charges to your mobile bill by registering for recurring charges."

Click fraud: در این حالت، بدون این‌که کاربر اطلاع داشته باشد روی تبلیغاتی که در برنامه است کلیک می‌شود و توسعه‌دهنده نیز از این راه کسب درآمد می‌کند. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app tries to use your device to commit advertising fraud." 

Commercial Spyware: مورد دیگر Commercial Spyware است که در این شرایط اطلاعات رفتاری کاربر بدون آگاهی او، توسط برنامه شناسایی و ذخیره شده و برای یک منبع خارجی ارسال می‌شود. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can spy on you by monitoring your location or your activity on this device."

Denial of Service: در این حالت درخواست‌های بسیاری برای یک سرویس‌دهنده ارسال می‌شود که به موجب آن، استفاده از آن سرویس را با اختلال مواجه می‌کند. در واقع حجم بالای این درخواست‌های ارسال شده،  بدون اطلاع کاربر بوده که باعث می‌شود آن سرویس‌دهنده توانایی پاسخ‌گویی به کاربران واقعی را نداشته باشد. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app tries to attack other mobile and computer systems."

Hostile downloaders: برنامه به خودی خود مخرب نیست، ولی می‌تواند منبعی برای دانلود این دست از برنامه‌ها باشد که در این‌صورت باز هم مخرب شناسایی می‌شود. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can install potentially harmful apps without your permission."

Non-Android threat: در این حالت، برنامه خطری برای کاربر با دستگاه‌ اندرویدی ندارد، با این‌حال می‌تواند محتوایی داشته باشد که برای دستگاه‌های غیراندرویدی تهدیدآمیز است. به همین دلیل از نظر گوگل مخرب محسوب می‌شود. به عنوان مثال برنامه‌ی اندرویدی که شامل ویروسی برای سیستم عامل ویندوز است. در این شرایط خطری دستگاه اندرویدی کاربر را تهدید نمی‌کند ولی به محض اتصال به دستگاه ویندوزی، آن دستگاه آلوده خواهد شد. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can harm non-Android devices."

Phishing: در این شرایط به نظر می‌آید برنامه از یک منبع معتبر و شناخته شده است و اطلاعات هویتی و رمزهای عبور کاربر در برنامه از وی درخواست می‌شود. در صورتی‌که این اطلاعات برای یک منبع خارجی ارسال می‌شود. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app is fake. It can steal your personal data, such as banking info and passwords."

Privilege Escalation: برنامه‌ای با این خصوصیت، بسترهای امنیتی را هدف قرار می‌دهد و با متزلزل کردن این بستر شرایطی را فراهم می‌کند تا امکان دسترسی به هستهٔ امنیتی وجود داشته باشد. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app tries to bypass Android's security protections."

Ransomware: این قبیل برنامه‌ها کنترل دستگاه کاربر و یا داده‌های موجود در آن دستگاه را به‌دست می‌آورد و اقدام به تهدید کاربر و طلب باج می‌کند. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can disable your device or threaten to reveal personal information unless you pay money."

Rooting: این برنامه‌ها بدون اطلاع کاربر اقدام به روت کردن دستگاه می‌کنند. لازم به ذکر است روت کردن از مواردی است که کاربر می‌تواند با اختیار خود انتخاب کند، با این‌حال برخی از برنامه‌ها این کار را بدون اطلاع وی انجام می‌دهند و در راستای آن فعالیت‌هایی که پیش‌تر به آن اشاره شد را نیز می‌توانند انجام دهند. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app tries to bypass Android's security protections."

Spam: در این حالت، برنامه بدون اطلاع کاربر اقدام به ارسال پیام به مخاطبان ثبت شده در دستگاه او می‌کند و به نوعی از دستگاه کاربر به عنوان منبعی برای ارسال هرزنامه استفاده می‌کند. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can spam other people with unauthorized messages."

Spyware: در این حالت، برنامه‌ اطلاعات شخصی کاربر را بدون اطلاع و رضایت وی منتقل می‌کند.  خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app tries to spy on your personal data, such as SMS messages, photos, audio recordings, or call history."

Trojan: در این وضعیت، به نظر می‌رسد کارکرد برنامه مشابه با سایر برنامه‌هاست. در صورتی‌که در عمل فعالیت‌هایی در برنامه صورت می‌پذیرد که به منفعت کاربر لطمه وارد می‌کند. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app is fake. It tries to take over your device or steal your data."

Data collection: این حالت برای برنامه‌هایی‌ست که داده‌ها را جمع‌آوری کنند و آن‌ها را بدون رضایت و آگاهی کاربر منتقل کنند. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app can collect data that could be used to track you."

Impersonation: برنامه‌‌ای که عملکردی مانند یک برنامه اصلی دارد و سعی در فریب کاربر دارد تا او فعالیت‌های برنامهٔ اصلی را در این برنامه انجام دهد. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "This app looks like another app and can trick you into exposing personal data, misusing your device, or installing other apps."

Disruptive ads: در این حالت برنامه، تبلیغات را به صورت ناگهانی و غیرمنتظره به کاربر نمایش می‌دهد. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: “This app may display ads with unexpected behaviours (e.g., outside of the app environment, cannot be easily dismissed, or interfering with device functionality).”

Uncommon: برنامه‌های تازه منتشر شده و برنامه‌هایی که به ندرت مورد استفاده قرار می‌گیرند نیز ممکن است توسط گوگل به عنوان یک برنامهٔ مخرب شناسایی شوند. به این‌ دلیل‌که اطلاعات کافی برای تضمین آن‌ها در گوگل وجود نداشته است. خطایی که کاربر در این حالت مشاهده می‌کند بدین صورت است: "Play Protect doesn't recognize this app's developer. Apps from unknown developers can sometimes be unsafe."

 

نمونه‌ای از تصویر خطا که به کاربر نمایش داده می‌شود به شکل زیر است.


 

الف) مهم‌ترین دلایل بروز خطای Blocked By Play Protect:

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

 

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

جدول دسترسی‌های حساس
Permissions Permission Group

READ_CALENDAR
WRITE_CALENDAR

CALENDAR

READ_CALL_LOG
WRITE_CALL_LOG
PROCESS_OUTGOING_CALLS

CALL_LOG

CAMERA CAMERA

READ_CONTACTS
WRITE_CONTACTS
GET_ACCOUNTS

CONTACTS

ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION

LOCATION

RECORD_AUDIO MICROPHONE

READ_PHONE_STATE
READ_PHONE_NUMBERS
CALL_PHONE
ANSWER_PHONE_CALLS
ADD_VOICEMAIL
USE_SIP

PHONE

BODY_SENSORS SENSORS

SEND_SMS
RECEIVE_SMS
READ_SMS
RECEIVE_WAP_PUSH
RECEIVE_MMS

SMS

READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE

STORAGE

۳. TargetSDK Version: این عدد نمایان‌گر نسخه‌ای از اندروید است که برنامهٔ شما به هدف آن نسخه توسعه یافته باشد. برنامه‌هایی که برای نسخه‌های قدیمی‌تر اندروید تعریف شده‌اند، از نظر گوگل ممکن است مخرب شناسایی شوند. به همین دلیل اگر برنامه‌ای TargetSDK کم‌تر از ۲۶ (معادل با نسخهٔ ۸ اندروید) داشته باشد، در حین نصب در اندرویدهای ۸ و بالاتر از ۸ ممکن است با این خطا مواجه شوند. برای رفع این مشکل باید این عدد به مقدار بیش‌تر از ۲۶ افزایش پیدا کند. از نکات بسیار حائز اهمیت این است که لزوما با افزایش TargetSDK، تضمینی وجود ندارد که برنامهٔ توسعه یافته در نسخه‌های بالاتر اندروید به درستی کار کند، زیرا کد برنامه نیز می‌بایست برای این نسخه‌ها ارتقا داده شود.

ب) راهنما و مراحل تکمیل فرم گوگل برای رفع خطای Blocked By Play Protect

به منظور رفع خطای فوق، گوگل فرمی تهیه و ارائه کرده که توضیحات مرتبط با پُر کردن آن، در ادامه آمده است. ابتدا به صفحه Play Protect Appeals بروید و از طریق فرم موجود در این بخش اقدام به ارسال درخواست رفع خطا نمایید.


 

 

وارد کردن آدرس دانلود برنامه در تکمیل این فرم حائز اهمیت است. لینک وارد شده می‌بایست به صورت کامل درج شود، طوری‌که تمامی حروف و علامت‌های موجود در آدرس را داشته باشد، به عبارتی از ابتدای آدرس تا انتهای آن را Copy و سپس Paste کنید. این لینک می‌بایست امکان دانلود مستقیم برنامه را از آی‌پی‌ کشورهای آمریکا و آلمان فراهم کند. می‌توانید فایل .apk برنامه را در این سایت بارگذاری کنید و لینک دریافت شده را در فرم گوگل وارد کنید. پس از تکمیل تمامی فیلدها، روی گزینه‌ٔ SUBMIT کلیک کنید، سپس فرمِ تکمیل شده برای گوگل ارسال می‌شود. در صورتی‌که فرآیند و مراحل تکمیل فرم را به درستی انجام داده باشید، ایمیلی مشابه تصویر زیر برای شما ارسال خواهد شد.


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