Почему так много приложений требуют разрешения на чтение состояния телефона и идентичности? -- permissions поле с участием privacy пол android Связанный проблема

Why do so many applications require permission to read the phone state and identity?


90
vote

проблема

русский

Почему так много приложений требуют разрешения на чтение состояния телефона и идентичности?. В частности:

 <код> Phone calls    read phone state and identity   

Например, Quickedia - это портал Wikipedia, но хочет получить доступ к телефону. Каково объяснение этого?

Введите описание изображения здесь

Английский оригинал

Why do so many applications require permission to read the phone state and identity?. Specifically:

Phone calls    read phone state and identity 

For example Quickpedia is a Wikipedia portal, but wants access to the phone. What is the explanation for this?

enter image description here

     
   
   

Список ответов

59
 
vote

Это позволяет приложению читать уникальный идентификатор (идентификатор телефона с именем imei ), который связан с вашим телефоном.

Поэтому он может помочь с защитой от копирования или попытки отслеживать количество пользователей.
 

It allows the App to read a unique ID (a phone identifier named IMEI) that's associated with your phone.

It can therefore help with copy-protection or the attempt to track the number of users.

 
 
 
 
40
 
vote

Есть еще одна причина для этого, чем уникальный идентификатор. Я думаю, что половина приложений вообще не доступа к этим ценностям. Проблема в том, что для более низкой версии до Android 1.5 это разрешение не существует. Все могут получить доступ к этим ценностям, не запрашивая что-то.

Поэтому, если вы создаете приложение, совместимое с 1.5, это разрешение будет автоматически добавлено для эмуляции более низкой безопасности Android 1.5 из-за того, что вы могли бы проигнорировать это разрешение в большую часть времени, потому что он имеет тенденцию быть просто проблемой совместимости ,
 

There is another reason for this than the unique ID. I would guess that half of the apps don't access those values at all. The problem is that for a lower version up to Android 1.5 this permission does not exist. Everybody could access these values without requesting something.

Therefore if you create an app that is compatible with 1.5 this permission will automatically be added to emulate the lower security of Android 1.5 because of that you could ignore this permission in most of the times because it tends to be just a compatibility issue.

 
 
   
   
18
 
vote

Этот вопрос беспокоил меня довольно некоторое время. Так что теперь, наконец, я решил добраться до дна вопроса.

PlayStore имеет приложение с именем разрешение. read_phone_state < / a>, который запрашивает <код> READ_PHONE_STATE как единственное разрешение, и ничего не делает ничего, как распечатывать все данные, которые он может получить доступ или без него. Я установил это на моем LG Optimus 4x , укоренившись на сток Android 4.0.3 и отозвал разрешение с помощью LBE. Результаты, где довольно интересные, как следующие скриншоты:

Скриншот 1  Скриншот 2 Скриншот 3
Информация, собранная приложением разрешение. Read_phone_state (щелкните изображения для больших вариантов)

Как вы можете легко увидеть, даже некоторая информация о разработке, хотя и недоступна без разрешения, была свободно доступна: мой номер почтового ящика (замечание: Да, это правильный; с моим провайдером, который является ярлыком при наборе с собственного устройства, так что я могу свободно отображать его;) В конце первого скриншота вы видите:

    .
  • <код> CALL_STATE_IDLE . Таким образом, нет телефонного звонка входящие, исходящие или в процессе. Никакое приложение не требует этого разрешения на «Фон» на входящих вызове.

Даже возможно видеть, активны ли мобильные данные (<код> DATA_DISCONNECTED ; я был на WiFi при прохождении скриншотов, как вы можете увидеть в баре уведомлений), в какой стране вы находитесь, ваш провайдер (включая некоторые технические данные на него), имеете ли у вас SIM-карту, или если вы в роуминге.

Единственные вещи не , следовательно, идентифицируют данные: imei, simid, imsi и ваш собственный номер телефона.

Вывод: Это разрешение нужно только для идентификационных целей, ничего больше.

Почему так много приложений нуждается в этом тогда?

    .
  • для рекламных модулей, скорее всего, 1
  • потому что dev думал, что он нуждается в этом (как указано здесь некоторыми ответами) 2
  • , потому что приложение, посвященное приложению, предназначена для (также) на Android 1.5 и ниже (легко выяснить, как это перечислено на Google Play ).

вероятности в этом порядке, ИМХО.


1 Примечание by Пост Дэна в чате :

Политика Google Play теперь запрещает приложениям получить IMEI, чтобы идентифицировать вас для рекламных целей. Все библиотеки AD были обновлены сейчас, чтобы использовать Google Play-Services, предоставленные «Рекламному идентификатору», поэтому любой, который все еще использует IMEI для этой цели, следует сообщать в Google.

Как у вас сложно сказать, что приложение использует IMEI для, вы должны попросить разработчику объяснить сначала.


2 Другой разработчик только что указал мне на тонкое значение: в то время как разрешение не нужно для read текущего состояния вызовов (как я указал), это Может быть, необходимо будет зарегистрировать слушатель , чтобы быть уведомленным на изменениях из состояния вызова (см.: обнаружение Входящие и исходящие телефонные звонки на Android ). Хотя кажется, что это автоматически обрабатывает это, когда система звонит <код> onPause , что может не всегда подходить: подумать о вашем будильнике. Возможно, вы не захотите, что автоматически остановился на входящем вызове », особенно если ваш профиль установлен на громкость звонка« Приглушенный ».


3 опять a a коррекция от dan : только Получите дополнительное разрешение по умолчанию, если ваша приложение «Целевая» версия составляет 1,5. Если вы ориентируетесь на более позднюю версию, но ваша минимальная версия - 1.5, вы не получаете добавление разрешений автоматически.


Обновления

  1. Интересно, что есть есть Открытая проблема (21504) Разделите READ_PHONE_STATE в том, что необходимо) определить входящие вызовы и связанные с ними (телефония), а также второе разрешение на данные идентификации (IMEI, IMSI и т. Д.). Открыт 11/2011, все еще не работал. Звезда, если интересно :)
  2. и да, есть способ достичь того же (обнаружение входящих вызовов) без <код> READ_PHONE_STATE разрешения, как e.g. Указан Arno Welzel . В качестве входящего телефонного звонка вызвало бы Ringer, , что событие можно использовать с 9988777666 , который не требует какого-либо специального разрешения: если срабатывает приложение, приложение может проверить Callstate (опять же, без каких-либо специальных разрешений), чтобы увидеть, есть ли входящий вызов.

 

This question has been bothering me quite some time. So now, finally, I decided to get to the bottom of the issue.

The Playstore has an app named permission.READ_PHONE_STATE, which requests READ_PHONE_STATE as the only permission, and does nothing else than printing out all data it can access with or without using it. I've installed that on my LG Optimus 4X, being rooted on stock Android 4.0.3, and revoked the permission using LBE. Results where pretty interesting, as the following screenshots show:

Screenshot 1 Screenshot 2 Screenshot 3
Information gathered by the app permission.READ_PHONE_STATE (click images for larger variants)

As you can easily see, even some information the dev though inaccessible without the permission, was freely accessible: my mailbox number (remark: Yes, it's the correct one; with my provider that's the shortcut when dialing from your own device, so I can freely display it ;) At the end of the first screenshot you see:

  • CALL_STATE_IDLE. So no phone call incoming, outgoing, or in progress. No app needs this permission to "background" itself on incoming calls.

It's even possible to see whether mobile data are active (DATA_DISCONNECTED; I was on WiFi when taking the screenshots, as you can see in the notification bar), which country you're in, your provider (including some technical data on him), whether you're having a SIM card, or if you're in roaming.

The only things not accessible hence are identifying data: IMEI, SIMID, IMSI, and your own phone number.

Conclusion: This permission is only needed for identification purposes, nothing else.

Why do so many apps need it then?

  • For the ad modules, most likely1
  • Because the dev thought he needs it (as pointed out by some answers here)2
  • Because the app in question is designed to (also) run on Android 1.5 and below (easy to find out, as that's listed on Google Play).

Likelihoods in exactly this order, IMHO.


1 Note by Dan's post on chat:

Google Play policy now forbids apps from getting your IMEI to identify you for advertising purposes. All the ad libraries have been updated now to use the Google-Play-Services-provided "advertising ID", so any that still use the IMEI for this purpose should be reported to Google.

As it's hard for the user to tell what the app is using the IMEI for, you should ask the developer to explain first.


2 Another developer just pointed me to a subtle difference: while the permission is not needed to read the current call status (as I've pointed out), it might be needed to register a listener in order to be notified on changes of the call status (see: Detecting incoming and outgoing phone calls on Android). While there seem to be means of handling this automatically when the system calls onPause, that might not always be suitable: think of your alarm clock. You might not want to have that automatically stopped on an incoming call xe2x80x93 especially not when your profile is set to ringer volume "muted".


3 Again a correction from Dan: You only get the default extra permission if your app's "target" version is 1.5. If you target a later version but your min version is 1.5, you don't get the permission added automatically.


Updates

  1. Interesting that there's an open issue (21504) to divide READ_PHONE_STATE in what's needed to a) detect incoming calls and related (telephony), and a second permission for the identification details (IMEI, IMSI, etc). Opened 11/2011, still not worked on. Star it if interested :)
  2. And yes, there's a way to achieve the same (detecting incoming calls) without the READ_PHONE_STATE permission, as e.g. pointed out by Arno Welzel. As an incoming phone call would trigger the ringer, that event could be used with onAudioFocusChange(), which does not require any special permission: if triggered by that, the app could check the CallState (again, without any special permission required) to see whether there's an incoming call.
 
 
       
       
19
 
vote

Причина в том, что Android 1.5 и ранее не требуют приложения к конкретному запросу этих разрешений и автоматически предоставляют их. Поскольку Android 1.6, эти разрешения должны быть специально запрошены приложением. Однако, если вы укажете, что ваше приложение может работать на устройствах с Android 1.5 и меньше, то это разрешение добавляется к приложению по умолчанию, и рынок показывает, что разрешение как запрашиваемое приложением.

Так, как резюме, приложение может не добраться до вашего «состояния телефона и идентичности», но если разработчик указал, что его / ее приложение может работать на устройствах с 1,5 или менее, то это разрешение будет показано.

 

The reason is that Android 1.5 and earlier did not require the application to specifically request those permissions and automatically granted them. Since Android 1.6, those permissions have to be specifically requested by the app. However, if you specify that your application can run on devices with Android 1.5 and less, then that permission is added to the application by default and the market shows that permission as being requested by the application.

So in summary, the application may not actually be accessing your "phone state and identity" but if the developer specified that his/her application can run on devices with 1.5 or less then that permission will be shown.

 
 
     
     
10
 
vote

Многие издатели объявлений используют это разрешение на то, чтобы получить идентификатор телефона для всех видов целей отслеживания. Есть и другие способы получить уникальный идентификатор, но, к сожалению, они багги в старших версиях Android (история сложнее, см., Например, https://stackoverflow.com/questions/2785485/is-theer-a-unique-and-device-iD или http://android-developers.blogspot.com/2011/03/ veynificify-app-installations.html < / a> Для более полной истории).

Так что, если приложение использует рекламу, существует справедливый шанс, что сам приложение на самом деле не нужна разрешение на Read_Phone_State, только провайдер AD.

 

Many ad publishers use this permission to get the Phone ID for all sorts of tracking purposes. There are other ways to get a unique ID, but unfortunately they are buggy in older Android versions (the story is more complicated, see e.g. https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id or http://android-developers.blogspot.com/2011/03/identifying-app-installations.html for a more complete story).

So if the app uses advertisements, there is a fair chance that the app itself does not actually need the READ_PHONE_STATE permission, only the ad provider does.

 
 

Связанный проблема

12  Насколько это практично использовать телефон Android, в обход Google полностью?  ( How practical it is to use an android phone bypassing google completely ) 
Одна из первых вещей, которые я заметил на моем Nexus One, когда я включал его в первый раз, был Gmail, Talk, голос, карты, календарь Google и многие другие у...

26  Почему New Chrome Update хочет, чтобы разрешение было использовать мою камеру и запись аудио?  ( Why does the new chrome update want the permission to use my camera and audio re ) 
Серьезно, это конкретно утверждает, что он может использовать камеру и аудиозапись в любое время, которое он хочет, если бы я желаю этому . Почему Chrome на ...

14  Как приготовить мой укорененный и модированный телефон для перепродажи?  ( How do i prep my rooted and moded phone for resale ) 
У меня есть укоренившийся mytouch 3G (HTC Magic), который я хочу продать, чтобы помочь оплатить стоимость моего нового телефона. Я бегаю цианогенмод по телефо...

8  Как синхронизировать контакты и календарь с системой Linux, без использования Gmail?  ( How to sync contacts and calendar with linux system without using gmail ) 
Как я могу синхронизировать мои контакты и календарь с системой Linux? Я бы предпочел синхронизировать с моим рабочим столом, но настраивая сервер в Интерне...

2  Мои контакты зашифрованы на моем андроиде?  ( Are my contacts encrypted on my android ) 
мои контакты, зашифрованные на моем андроиде и где они? Как я могу получить доступ к ним? Любые публичные API? (С ПК) ...

6  Вопросы о конфиденциальности Android  ( Questions about android privacy ) 
Предупреждение разрешений на рынке Android очень расплывчато. Кроме того, я не вижу разрешения приложений в коллективном районе всех приложений, которые я ран...

59  Есть ли какие-либо инструменты для Sandbox Malware Action даже больше, чем самые выданные разрешения на Android?  ( Are there any tools to sandbox a malware application even more than the granted ) 
Предположим, я хочу запустить некоторую программу, которая запрашивает слишком много разрешений. Например, запись от микрофона или прочитайте IMEI моего телеф...

10  Какой самый полный способ стереть все данные с моего телефона, чтобы он не мог быть восстановлен?  ( Whats the most complete way to erase all the data from my phone so it cannot be ) 
Я только что получил замену дроида и отправит мой нынешний дроид обратно на Motorola. Я уверен, что они собираются восстановить его и перепродать его. Я все п...

11  Как заблокировать все телефонные звонки, но разрешать только SMS и сети?  ( How to block all phone calls but only allow sms and networking ) 
Это вроде беспокоит, когда люди продолжают звонить мне во время работы или встречи, но мне все в порядке, если я получу короткие сообщения или сообщение Whats...

0  Как приложение для Android может ограничивать все мои учетные записи на моем телефоне?  ( How an android app can restrict all my accounts on my phone ) 
Я использую несколько учетных записей для приложения Android в моем телефоне. Сегодня приложение заблокировало все мои учетные записи, потому что не разрешено...

2  Блокировка системы Android, предупреждение батареи, Com.media Tek, общие данные ... 'От подключения к Интернету  ( Blocking android system battery warning com media tek common data service fro ) 
Я использую Noroot Firewall, чтобы заблокировать доступ в Интернет к некоторым приложениям. Это недавно уведомило меня, что это / эти приложения пытаются полу...

8  Безопасность / Обезыки о конфиденциальности относительно пользовательских Android ROM  ( Security privacy concerns regarding custom android rom ) 
Каковы проблемы безопасности и конфиденциальности, окружающие с использованием пользовательских Android ROM, такими как of цианоген ? ...

2  Как удалить файл из «Последние файлы» на Android 10?  ( How to remove file from recent files on android 10 ) 
В файлах приложение App android 10 (пиксель 2 XL), есть «недавняя» категория. Для причин конфиденциальности я хотел удалить файл в этой категории. Насколько я...

6  Почему приложения App Scaper Apps нужно так много разрешений? Я в безопасности?  ( Why do app locker apps need so many permissions am i safe ) 
Я пытался защитить пароль приложения, и кажется, что разрешения варьируются от приложения в приложение для блокировки приложений. Почему многие из них требу...

24  Какие данные Sync'd Android зашифрованы?  ( What android syncd data is encrypted ) 
с выпуском плагина fireesheep для Firefox он стал тривиальным для просмотра веб-сайта в открытых сетях Wi-Fi быть угнанным 3-го вечеринка. Android предлаг...

90  Почему так много приложений требуют разрешения на чтение состояния телефона и идентичности?  ( Why do so many applications require permission to read the phone state and ident ) 
Почему так много приложений требуют разрешения на чтение состояния телефона и идентичности?. В частности: <код> Phone calls read phone state and identity...

0  Nexus One Wi-Fi трафик проходит через Google?  ( Does nexus one wifi traffic go through google ) 
Когда я использую браузер по умолчанию (что это? Это Chrome? Firefox? Другое?) Для просмотра сайта (не обязательно через поиск Google), каковы кто-нибудь из э...

28  Аудиторские разрешения приложений легко в одном месте?  ( Audit app permissions easily in one place ) 
Есть ли в любом случае, чтобы перечислить все приложения, установленные на вашем телефоне, и разрешения, которые им требуют на одной странице, или экспортиров...

7  Почему мне нужен учетная запись Gmail для использования Android?  ( Why do i need a gmail account to use android ) 
Я новый пользователь телефона Android. Я имел владение iPhone. Я не помню, что нуждается в Apple Account, кроме того, используя его для загрузки приложений из...

22  Я продал свой телефон на eBay. Что мне делать, прежде чем я отправлю это?  ( I have sold my phone on ebay what should i do before i send it off ) 
У меня есть телефон Android, который я только что продал на eBay. Какие меры я должен принять, прежде чем публиковать его в новый дом? Пожалуйста, ответьте на...

9  Как вы зашифруете свое устройство, запущенное цианогенмоду 12.1?  ( How do you encrypt your device running cyanogenmod 12 1 ) 
Cyanogenmod 12 и 12.1 'Encrypt Phone' Site Site Share и было довольно долго. Есть ли способ шифровать телефон в какой-то другой моде? CAN CM останавливается...

11  Каковы последствия конфиденциальности использования Talk-to-Text?  ( What are the privacy implications of using talk to text ) 
Учитывая, что Android-реализация Tox-to-Text отправляет ваш голос на серверы Google, анализирует вашу речь в текст, а затем отправляет текстовую строку обратн...

0  Это, что возможно для Wallpaper Cache, сохранено в папку Android / Data? (Не укоренился)  ( It that possible for the wallpaper cache saved in android data folder being hac ) 
Мой парень шутил со мной, настраивая свое личное фото в качестве обоев. Я удалил фотографию, но обои еще остается там ... После просмотра некоторой информ...

3  Можно ли позвонить без доступа к списку контактов?  ( Is it possible to make a call without having access to the contacts list ) 
Можно ли позвонить без доступа к контактам телефона? Я Скажем, я позволил другу использовать свой телефон, и заблокируйте свои контакты, чтобы он требует выво...

2  Можно ли приложение OPS запустить на 4.4.4?  ( Can app ops run on 4 4 4 ) 
Я установил и попробовал несколько из " App Ops " стартовые приложения из магазина Google Play. Когда я бегу любой из них, появляется диалоговое окно «К сожал...

Связанный проблема

12  Насколько это практично использовать телефон Android, в обход Google полностью? 
26  Почему New Chrome Update хочет, чтобы разрешение было использовать мою камеру и запись аудио? 
14  Как приготовить мой укорененный и модированный телефон для перепродажи? 
8  Как синхронизировать контакты и календарь с системой Linux, без использования Gmail? 
2  Мои контакты зашифрованы на моем андроиде? 
6  Вопросы о конфиденциальности Android 
59  Есть ли какие-либо инструменты для Sandbox Malware Action даже больше, чем самые выданные разрешения на Android? 
10  Какой самый полный способ стереть все данные с моего телефона, чтобы он не мог быть восстановлен? 
11  Как заблокировать все телефонные звонки, но разрешать только SMS и сети? 
0  Как приложение для Android может ограничивать все мои учетные записи на моем телефоне? 
2  Блокировка системы Android, предупреждение батареи, Com.media Tek, общие данные ... 'От подключения к Интернету 
8  Безопасность / Обезыки о конфиденциальности относительно пользовательских Android ROM 
2  Как удалить файл из «Последние файлы» на Android 10? 
6  Почему приложения App Scaper Apps нужно так много разрешений? Я в безопасности? 
24  Какие данные Sync'd Android зашифрованы? 
90  Почему так много приложений требуют разрешения на чтение состояния телефона и идентичности? 
0  Nexus One Wi-Fi трафик проходит через Google? 
28  Аудиторские разрешения приложений легко в одном месте? 
7  Почему мне нужен учетная запись Gmail для использования Android? 
22  Я продал свой телефон на eBay. Что мне делать, прежде чем я отправлю это? 
9  Как вы зашифруете свое устройство, запущенное цианогенмоду 12.1? 
11  Каковы последствия конфиденциальности использования Talk-to-Text? 
0  Это, что возможно для Wallpaper Cache, сохранено в папку Android / Data? (Не укоренился) 
3  Можно ли позвонить без доступа к списку контактов? 
2  Можно ли приложение OPS запустить на 4.4.4?