Android App Permissions
Android App Permissions
This guide aims to provide the basic info most people want to know about the security of their
phones, and when to download, and when not to download applications from the Play Store.
It's my hope that this will help people make more informed decisions and be safe about their
application usage, privacy, and data. It is my firm belief that Android is a fundamentally safe
platform. With some common sense, diligence, and the right knowledge of the potential threats,
users can rest assured and enjoy their devices more thoroughly.
While most of these tips will apply to any of the new app stores and markets now available for
Android, this guide is written specifically for Google's original Play Store.
Also, while this guide attempts to be as comprehensive as possible, there may be errors or
misjudgments, or just opinions that are subjective. Please read it with the idea in mind that it's just
a part of the information you may want to consider when downloading your apps.
Deciding what to download is ultimately up to you, and that's the most important thing you'll need
to remember.
______________________________
Note: As of 2/21/2010 I became an Android developer. I wanted to post this in the interest of full
disclosure. You can read more about me, or my apps ( Listables and BlueMuze ),on my site: Lost
Packet Software
Printer friendly & downloadable PDF: Lost Packet Software
App version w/ permission search: PocketPermissions
______________________________
Background
This guide aims to provide the basic info most people want to know about the security of their
phones, and when to download, and when not to download applications from the Google Play
Store.
It's my hope that this will help people make more informed decisions and be safe about their
application usage, privacy, and data. It is my firm belief that Android is a fundamentally safe
platform. With some common sense, diligence, and the right knowledge of the potential threats,
users can rest assured and enjoy their devices more thoroughly.
While most of these tips will apply to any of the new app stores and markets now available for
Android, this guide is written specifically for Google's original Play Store.
Also, while this guide attempts to be as comprehensive as possible, there may be errors or
misjudgments, or just opinions that are subjective. Please read it with the idea in mind that it's just
a part of the information you may want to consider when downloading your apps. Deciding what
to download is ultimately up to you, and that's the most important thing you'll need to remember.
I am also an Android developer. I wanted to write this in the interest of full disclosure. You can
read more about me or my apps ( Listables and BlueMuze) on my site: http://alostpacket.com/
You can also contact me through the Play Store or my website with any thoughts you have on this
guide.
Benefits
- Will protect you from all past threats
- May protect you from a future threat
- Often can have additional features for privacy and data protection
- May have features to protect your phone if it is lost or stolen
Drawbacks
- May waste system resources like battery and memory
- It's hard to protect from future/unknown threats
- Can potentially cause serious harm to the OS (very rare but not unheard of)
- May provide a false sense of security and encourage risky behavior
Malware
Malware generally is an all-encompassing term used to describe any harmful program. This
includes spyware, viruses, and phishing scams. Sometimes the older term 'virus' is used in this
context, but malware is now considered more accurate.
Spyware
Spyware is used to describe software or applications that read your information and data without
you actually knowing it and reporting it back to some unknown third party for nefarious purposes.
Oftentimes this includes keystroke loggers to steal passwords or credit card information. Some
people include certain types of Advertising tracking in this category (sometimes called Adware,
see below). However that's a much larger debate we wont cover here.
Phishing
Phishing and spyware are closely related. They work on a similar principle: tricking the user and
sending user information to a 3rd party to steal it. The difference with phishing however, is that
the application (or website) will pretend to be from a trusted source to try and 'trick' you into
entering in your details. Contrastingly, spyware would try to hide itself from being known to the
user. One way to think about the difference is that phishing is masquerading while spyware is
hiding, but the end goal of stealing your data is the same.
An example of this would be an app or website pretending to be affiliated with your bank or
Paypal, Samsung Pay or your email provider (Gmail, Hotmail, Yahoo, Yandex). However it can,
and does, include any service where someone might want to steal your identity or password.
There have been known successful phishing attacks related to at least one bank on Android.
Virus
The definition of virus used to be more all-encompassing. These days that term has been replaced
by malware. Virus is more typically used to describe a specific type of software that takes control
of your operating system and either damages it, or uses it for its own purposes. An example might
be when a virus sends emails to everyone in your email address book. Again this is the type of
program least likely to be a problem for Android.
Trojan Horse
A trojan horse is really just a specific type of virus. It merely refers to the idea that the app
pretends to be something useful or helpful or fun for the user while actually causing harm or
stealing data. This term is often used to describe spyware and phishing attacks as well.
Adware
Adware is typically a bit of a grey area. Sometimes this is also called nuisance-ware. This type of
application will often show the users an excessive amount of advertising in return for providing a
service of dubious quality to the user. However, this type of program can often be confused with
legitimate ad-supported software, which shows a mild to moderate amount of advertising while
providing a useful service that the user wants. Because it can be hard to tell the difference, there
exists a grey area from most anti-virus companies as to how to handle adware.
Warez (warez")
This is a term you'll sometimes hear referring to 'pirated' or unlicensed software. Often warez
forums and web sites will offer "free apps" or "apks" ( Android Package ).
Don't be fooled by these sites, and do NOT download these files and load them to your phone.
These files are stolen from the real developers by unscrupulous people who have no regard for the
work put into apps by the developers, or the law. Oftentimes they will even try making money off
of the advertising on their "warez" forums. They are profiteers that do the entire
Android community a great disservice, and hurt the developers. Furthermore, this is very often the
most popular 'vector' (method) of attack that malware writers use. Some go as far as stealing apps
and putting them on the Google Play Store itself under different names.
If you are a user who cannot access the paid Google Play Store there are alternatives these days.
The most trustworthy markets (in my opinion) are the following:
- Android Market (Google Play Store)
- Amazon AppStore
- SlideMe
- Archos AppsLib
- AndAppStore (possibly)
- Verizon's Market (not sure if this is live yet)
- Motorola's Market (not sure if live or where, might be focused on Latin America)
Other than these markets, I would not advise anyone to download and install an app from
anywhere else.
However there are a few exceptions related to open source. These are places that independent
developers can upload free and/or open source apps. They don't guarantee your safety (nothing
does) but they are not warez sites and are much more likely to be safe.
Open source or free apps: (very likely safe, not warez)
- XDA Developers
- Googlecode (2012)
- GitHub
Privacy
Wi-Fi
One of the things to remember when trying to keep yourself safe is to be very careful with public
Wi-Fi. Whenever you connect to the internet through a public Wi-Fi, you should never use any
website that requires a password to sign into. The danger here is because you have no idea who is
connecting you to the website. A good analogy would be like trying to mail a letter to your friend
by giving it to a stranger in the street. For more info read:
Man-in-the-middle attack
(Wikipedia). There is also a risk that applications may be transmitting data in the background over
that Wi-Fi connection about you without encrypting it. This is also true of any applications over
any internet connection however. And while there are some good ways to secure your phone, I
personally don't use any public Wi-Fi at all. This may be seen as extreme in some circles, but I
believe it to be safest route (although somewhat limiting).
The community
If you are still unsure, ask around -- the community is your anti-virus
If you see an app you want, but it seems to be asking for more permissions than it should, or its
comments and ratings are mediocre, go ahead and ask around about the app. You will often find
dozens of people who know the answers and another whole bunch wishing to know the answers to
the same questions. Good places to ask include Android enthusiast web sites and forums.
I can't stress this point enough. This is the best part about Android. The community is usually the
first to identify any malware or dangerous programs, and is the best resource for finding quality
apps.
Read Contacts
Development tools / Your personal info
URI:
android.permission.READ_CONTACTS
Risk: MEDIUM-HIGH
Protection level: DANGEROUS
Official Description
Allows an application to read the user's contacts data.
Details
This permission is of high importance. Unless an app explicitly states a specific feature that it
would use your contact list for, there isn't much of a reason to give an application this permission.
Legitimate exceptions include typing or note taking applications, quick-dial type applications and
possibly social networking apps. Some might require your contact information to help make
suggestions to you as you type. Typical applications that require this permission include: social
networking apps, typing/note taking apps, SMS replacement apps, contact management apps.
Hardware controls
URI:
android.permission.RECEIVE_BOOT_COMPLETED
Risk: MODERATE-HIGH
Protection level: UNKNOWN
Official Description
Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the
system finishes booting.
Details
This permission is of low to moderate impact. It will allow an application to tell Android to run
the application every time you start your phone. While not a danger in and of itself, it can point to
an applications intent
Control vibrator
Development tools
URI:
android.permission.VIBRATE
Risk: LOW
Protection level: UNKNOWN
Official Description
Allows access to the vibrator
Details
This permission is of low importance. As it states, it lets an app control the vibrate function on
your phone. This includes for incoming calls and other events.
Battery stats
Hardware controls
URI:
android.permission.BATTERY_STATS
Risk: LOW
Protection level: UNKNOWN
Official Description
Allows an application to collect battery statistics
Details
This permission is of little to no importance.
Bluetooth Admin
Your accounts
URI:
android.permission.BLUETOOTH_ADMIN
Risk: MEDIUM
Protection level: DANGEROUS
Official Description
Allows applications to discover and pair bluetooth devices
Details
Bluetooth (Wikipedia: http://en.wikipedia.org/wiki/Bluetooth ) is a technology that lets your
phone communicate wirelessly over short distances. It is similar to Wi-Fi in many ways. It itself is
not a danger to your phone, but it does enable a way for an application to send and receive data
from other devices. Typical applications that would need bluetooth access include: sharing
applications, file transfer apps, apps that connect to headset or wireless speakers.
Change Configuration
Hardware controls
URI:
android.permission.CHANGE_CONFIGURATION
Risk: MEDIUM-HIGH
Protection level: DANGEROUS
Official Description
Allows an application to modify the current configuration, such as locale.
Details
This is a permission that generally should not be granted to regular apps. Other than changing the
locale (i.e. language), it is unclear what configuration changes this permission allows. As such, it
should be treated with considerable caution.
Flashlight
Development tools
URI:
android.permission.FLASHLIGHT
Risk: LOW
Protection level: UNKNOWN
Official Description
Allows access to the flashlight
Details
This allows apps to turn on or off the LED "flash" light used by the camera. This is a handy tool
but usually of no risk itself.
Record audio
Development tools
URI:
android.permission.RECORD_AUDIO
Risk: MODERATE-HIGH
Protection level: DANGEROUS
Official Description
Allows an application to record audio
Details
While this permission is not typically dangerous, it is a potential tool for eavesdropping. However
recording audio has legitimate uses such as note taking apps or voice search apps. As a side note
recording audio is typically a significant drain on the battery.
Set alarm
Hardware controls
URI:
android.permission.SET_ALARM
Risk: LOW
Protection level: UNKNOWN
Official Description
Allows an application to broadcast an Intent to set an alarm for the user.
Details
This permission seems to be of low risk because it doesnt allow the setting of the alarm directly.
Rather it allows the opening of the alarm app on the phone.
Set wallpaper
Hardware controls
URI:
android.permission.SET_WALLPAPER
Risk: LOW
Protection level: UNKNOWN
Official Description
Allows applications to set the wallpaper
Details
This permission poses little, if any, risk
Use SIP
Your accounts
URI:
android.permission.USE_SIP
Risk: MEDIUM-HIGH
Protection level: DANGEROUS
Official Description
Allows an application to use SIP service
Details
SIP stands for Session Initiation Protocol. It is a technology mostly used for making video and
voice calls over the Internet. While not a major security risk it should be treated with almost as
much caution as the standard "make phone calls" permission.
Read profile
Development tools / Your personal info
URI:
android.permission.READ_PROFILE
Risk: MEDIUM-HIGH
Protection level: DANGEROUS
Official Description
Allows an application to read the user's personal profile data.
Details
This a new permission that relates to a special new "Me" contact you can create in your phone or
tablet as your own profile.
Read SMS
System tools
URI:
android.permission.READ_SMS
Risk: MODERATE-HIGH
Protection level: DANGEROUS
Details
This permission is mostly a privacy concern. Any app that can read your SMS messages could
gather a lot of information about you. However there are quite a few legitimate reasons an app
may request this. Some apps are simply "SMS replacment" apps (such as Handcent) and would
naturally need this permission to function. Other apps sometimes use this as a way of sending a
special code to you device. This can be used by a paid app by sending a code to unlock the full
version of an app. Or, this can be used by security apps to listen for a special shutdown codes in
case your phone is stolen.
Write profile
Development tools / Your personal info
URI:
android.permission.WRITE_PROFILE
Risk: MODERATE-HIGH
Protection level: DANGEROUS
Details
This a new permission that relates to a special new "Me" contact you can create in your phone or
tablet as your own profile.
Add voicemail
System tools
URI:
com.android.voicemail.permission.ADD_VOICEMAIL
Risk: MEDIUM-HIGH
Protection level: DANGEROUS
Details
This seems to be a new permission related to Android's new centralized voicemail system. It
would be an unusual means for an app to use this permission maliciously. However few apps
should need it and, as always, it should be treated with caution.
Authenticate Accounts
Your messages
URI:
android.permission.AUTHENTICATE_ACCOUNTS
Risk: VERY-HIGH
Protection level: DANGEROUS
Details
This permission is of high importance. It allows an app to authenticate credentials (such as
passwords). Typical uses of this would be if an app had it's own type of account on your phone
such as Google, Facebook, or Twitter.This permission is closely related to the Account Manager
permission. Both are typically requested together.While this doesn't directly give an app access to
your personal information or passwords, it does present a security risk for phishing (tricking the
user into revealing their password). For more on phishing, see the Guides section of
PocketPermissions)
Read email attachments
Development tools / Your personal info
URI:
com.android.email.permission.READ_ATTACHMENT
Risk: HIGH
Protection level: DANGEROUS
Details
This is a custom permission for the default Android email app (i.e. not Gmail). This permission
should be treated with great caution. Many email attachments contain highly sensitive and
personal or financial information.
Receive SMS
System tools
URI:
android.permission.RECEIVE_SMS
Risk: HIGH
Protection level: DANGEROUS
Official Description
Allows an application to monitor incoming SMS messages, to record or perform processing on
them.
Details
This permission is mostly a privacy concern. Any app that can read your SMS messages could
gather a lot of information about you. However there are quite a few legitimate reasons an app
may request this. Some apps are simply "SMS replacment" apps (such as Handcent) and would
naturally need this permission to function. Other apps sometimes use this as a way of sending a
special code to you device. This can be used by a paid app by sending a code to unlock the full
version of an app. Or, this can be used by security apps to listen for a special shutdown codes in
case your phone is stolen.
Receive MMS
System tools
URI:
android.permission.RECEIVE_MMS
Risk: HIGH
Protection level: DANGEROUS
Official Description
Allows an application to monitor incoming MMS messages, to record or perform processing on
them.
Details
This permission is mostly a privacy concern. Any app that can read your MMS messages could
gather a lot of information about you. However there are quite a few legitimate reasons an app
may request this. Some apps are simply "SMS/MMS replacment" apps (such as Handcent) and
would naturally need this permission to function.
Install DRM
Hardware controls
URI:
android.permission.INSTALL_DRM
Risk: MODERATE-HIGH
Protection level: UNKNOWN
Details
DRM stands for Digital rights management. Typically this permission is not particularly
dangerous itself. However, it is a permission related to controlling access to medi such as books,
audio video, and more. Due to its purpose to control access, I would be especially careful
installing any app requesting it.More info:
http://en.wikipedia.org/wiki/Digital_rights_management
GooleTalk.
RECEIVE
(unknown group)
URI:
com.google.android.c2dm.permission.RECEIVE
Risk: LOW
Protection level: UNKNOWN
Details
C2D stands for Cloud to Device Messaging. This is a push notification technology that is being
phased out for a similar technology called GCM. (Google Cloud Messaging). This permission is
of little to no risk.
In-app billing
Services that cost you money
URI:
com.android.vending.BILLING
Risk: CRITICAL
Protection level: UNKNOWN
Details
This permission is of very high importance. This allows an application to directly bill you for
services through Google Play. Users will be required to confirm any purchase made however this
is potentially costly. Users should beware of games and other free apps with in-app billing.