Ask Slashdot: Android Security Practices?
Soft writes "Smartphone security recommendations seem to boil down to Windows-like practices: install an antivirus, run updates, and don't execute apps from untrusted sources. On my own computers, running Linux, I choose to only install (signed) packages from the distribution's or well-known repositories, or programs I can check and compile myself, or run them as a dedicated user — and I don't bother with an antivirus. What rules should I adopt on my soon-to-be-bought Android device? Can I use it purely with open-source apps and still make the most of it? Are Android's fine-grained permissions (accessing the network, contacts...) reliable? Can apps be trusted not to scan your files and keyboard for passwords and emails? What precautions do security-conscious Slashdotters take to keep control of their phones?"
Install a firewall. Not to keep the hackers out, mind you, but to keep your data *in*. There are way too many apps that try to phone home or do things they don't need to ('live' wallpapers come to mind). Disable their network access. If an application requires network access, bring it home, set it up on your home wifi network, and run a sniffer to find out where the data goes. You don't need to know what the data is per se. Then, try blocking as much of it as you can until the application stops working. You've now found the minimum amount of access that app needs to function.
#fuckbeta #iamslashdot #dicemustdie
Only thing I can think of is to read details on the app, for example why would a notepad app need access to the internet or my contacts.
Another thing is to install only apps from Google or "Good known sources".
A smart phone is a computer like any other and should be treated as such. Trust mobile apps as much as you would trust desktop applications. Do not install unknown software from unfamiliar sources and in general be as vigilant as you are with your Windows, Linux, OS X system. If you are paranoid enough, there are firewall and app activity scanners out there. But perhaps you dont trust them either. In which case, write your own apps. Its not hard for even the inexperienced with the app-builder tools.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
The problem with Android is that the permissions aren't in fact "fine grained" (though they might seem so to the 'TL;DR' generation). They are relatively course-grained with respect to what modern applications might require. Any non-trivial app will require permissions from the available pool that can be abused by malicious developers. The user has to fall back on trust when installing any non-trivial app.
Android needs something more like a sandbox environment for each application and a reasonable system where the user is asked for permission before accessing sensitive information.
Android permissions == FAIL, at least from a personal privacy and security perspective.
At the very least, install Lookout.
"You cannot simultaneously prevent and prepare for war." -- Albert Einstein
Turn off GeoLocation.
I have one relatively cheap Android smartphone (HTC Slide), which I pretty much install a minimum of useful apps upon.
My second device is a Viewsonic G-Tablet (running TnT-Lite v4), which is a cheap (~$320 these days) but high-spec device. I use it for "playing" with apps and flash sites (some of them shady). Its main purpose is to let me to play with high-end apps and games while keeping me from doing anything too dangerous with my phone :-P
Custom OS updates come out for the latter quite often, so I'm usually flattening it and reinstalling it relatively often anyway. So as long as the malware isn't breaking into my gmail account, I'm mostly OK :-P
"When there's no limit to what Droid gets, there's no limit to what Droid does^H^H^H^H can do to you."
Take these for what they are worth, but here are my security practices:
1: Install DroidWall and use that to lock down everything except the apps you do want going out.
2: Use TouchDown or a discrete app for secure Exchange email. This allows you to keep contacts separate from the rest of the device, and the app can keep the contacts encrypted. If it is work E-mail, it is good to keep it separated anyway.
3: Consider a PIN protecting app for #2 above, as well as your terminal, settings, and su app.
4: Use Titanium Backup with the encryption feature and store on Dropbox. If you look at TB, you will find that the way it does encryption using RSA keys is pretty well designed, so storing backups of apps on DB can be done securely.
5: Get a utility (I use WaveSecure out of habit, but there are others) that will lock the phone if the SIM card is changed, airplane mode is put on, and even allow one to remotely wipe the device and SD card. I'd like a utility that would give the ability to wipe the device and SD card if the phone has not seen Net access in "x" amount of time, similar to what BlackberryOS provides.
6: Look at reviews before buying apps.
7: Look at what the app asks for security permissions. If a notepad app wants access to your contacts, phone, SMS, or perhaps even pops up the su dialog, get rid of it ASAP.
8: If you use nandroid, consider some type of file encryption. This sucks when restoring a ROM image, but there are ways around that (decrypting the image while the SD card is mounted via USB, using a temporary ROM image with no data for decrypting, etc.)
9: Use AdBlock with Dolphin Browser. Ad rotation services are a noted source of malware.
10: Use known ROMs. The ROM ecosystem has been astoundingly clean for now, but it is only a matter of time before blackhats start adding their own "functionality" and putting ROMs on xda-developers and other sites.
11: Consider PIN protecting your SIM card. This way, when you do a remote erase, the thief might have a clean phone, but won't have free access to bandwidth, SMS, or calling capabilities.
12: Consider a "stuffbak" sticker. If the phone is found, at least there is a small chance it might get back to you, as opposed to 0 chance without it.
13: Keep backups. This way, if you do lose your phone, you can get another Android phone, fire up Titanium Backup, log onto DropBox, type in your decryption key, and restore your apps with their saved data.
14: Bug Google for them to put volume encryption (LUKS) into Android, so it can be used on the SD cards.
security may be rapidly diminishing, unless it's one of the citizen issue droid powered drones. security is in the forecast? mild accompanied by disarmament. the good news is just piling up for us now
I don't have an Android device, but I do know you shouldn't run any computer (including smart phones) without basic security software (like anti-virus).
THAT INCLUDES LINUX. IT IS NOT IMMUNE.
Check out ClamAV for your Linux machines.
I use Lookout Security (virus scanner + location tracker) for my personal security, and for the paid version it also allows you to see in a compact view what personal information and permissions your apps are using. There are plenty of other free antivirus, firewall and security apps for Android. If you want to root your device (like jailbreaking an iPhone) you may also install firmware which encrypts the entire device automatically (MIUI etc) and allows infinite self modification of the system. When you install an app from the market it will tell you which permissions it needs, and android will stick to that. The only downside is (to my knowledge) you cannot install an app without giving it all the permissions it requires.
As a general rule of thumb, only use trusted sources to install apps from (Android Market) as almost all malicious apps are found in 3rd party markets
Check out the android market and do a few searches for what you need. Google hosts the whole market at http://market.android.com/
I embed the 4 laws of robotics in all my androids.
Check out the android market and do a few searches for what you need.
Unless your device didn't come with Android Market. A lot of Android-powered devices, especially Wi-Fi-only devices, run the AOSP version of Android instead of the OHA version. AOSP Android-powered tablets tend to come with AppsLib, and the user can install the APKs for SlideME Application Manager and Amazon Appstore, but Google doesn't officially offer Android Market for download as an APK.
What kind of weird environment is it when you can not run native apps on your own hardware? Only some bad imitation of Java applets!
If Google tried trivialization, they would find manufactures already know how to make the hardware, and why not sell 2 versions a GNU/Linux version and a prison version!
i am just surprised that SELinux kernel is not used
this is a perfect fit for it .
"I don't pitch OpenSUSE Linux to my friends, i let Microsoft do it for me
A restraining bolt, like the Jawas used.
Seriously, anti-virus for your mobile? I think I will go with iphone once I'm done with my Android phone even if I have to pay out the ass I'm not running fucking anti-virus on my phone.
Use common sense:
1. Don't root unless you REALLY need to.
2. If you are rooted, don't give root rights to an application unless you know what it is supposed to do AND you trust it to do just that.
3. Install a firewall.
4. Don't install applications from vendors you don't trust, or know little about.
5. Read the reviews of an application. See what people complain about.
6. Don't install applications which ask for rights that make little sense in context (a calculator which asks for access to the network and contacts for example).
7. If unsure about some permissions, check the developer's website to see if there is a good explanation. If not, contact the developer directly and ask.
8. If you suddenly find an app for free which you thought it was pay-only, check to see if it is cloned. If so, don't install it as it might be tampered.
9. Check if the developer of an application matches who you know it should be. If not don't install it as it might be tampered.
10. Personally I don't install or use an application which handles credit-card or bank account information directly/indirectly. This includes Paypal/Amazon and eBay. The reason for that is that I don't know how the information is stored on the phone, how it is transferred to the servers or if the authentication system is broken and can be hijacked (like the problem Google had the other day). Unfortunately I'm stuck with Google checkout, but I a secondary cash card.
Steps 8 and 9 would have saved quite a few people from grief in the last malware outbreak.
If you are so inclined (and rooted), you can also AdFree to block ad and some malware sites. This will also cause developers to lose income though.
The permission system works well but only if there is no root exploit involved. Once an app gets root rights it can do just about anything. For example, it can download a precompiled linux executable which will send all application info from your phone to a remote server. This will include contacts/application and preferences (point 10 above).
Soft wrote: "On my own computers, running Linux, I choose to only install (signed) packages from the distribution's or well-known repositories, or programs I can check and compile myself, or run them as a dedicated user — and I don't bother with an antivirus."
Seriously, what good are programs you can check and compile yourself?! If the program with 25,000 lines of contain a piece of "virus", how would you know?!
install an antivirus, run updates, and don't execute apps from untrusted sources.
That pretty much takes care of a majority of your issues. Read other user reviews. If you feel the Android Marketplace is too laxed, try the Amazon marketplace. And if you decide to root your phone, pay attention to which apps you are giving root permission to. I mean, you are a Linux user after all, you should understand simple security.
Oh, and I suggest that if you are going to buy an Android phone, check and see if its supported by CM7 - http://www.cyanogenmod.com/ Talk about a lifesaver - my Android phone ran like CRAP until I found this goody. You should realize as well that there are several projects to port CM7 to other phones that are not part of the official tree yet - my phone is not on this list, and the first ports for cm6 / cm7 happened just a couple of months ago. If you are using an unstable build, make sure you read the notes, and MAKE SURE you do a backup of the factory rom before you start installing your own stuff.
1. Use caution when installing software! Remember that the Android market place does not vouch for the security/integrity of the apps. To my knowledge, minimal analysis is performed on apps, but nothing that provides any real security guarantee to the mobile user. There is no guarantee that the app you are installing is not malicious in nature, or chuck full of software vulnerabilities. Many of the legitimate apps in the marketplace are rapidly developed by individuals with little or no secure coding background. Also I highly recommend you only install apps from publishers you trust and make sure you read the user comments. If the app has a few thousand reviews and rates at 4 stars this would often indicate added legitimacy.
2. When installing apps be cautious of the permissions requested. The READ_PHONE_STATE permission permits access to sensitive device specific values that would normally be an invasion of privacy to supply. The problem arises when developers use a function called GetDeviceId() to get a unique ID for the mobile device that is later used for user account correlation on third-party services. The correct way to do this is to use Settings.Secure.ANDROID_ID. Google has a blog describing this issue in depth:
http://ask.slashdot.org/story/11/05/20/188228/Ask-Slashdot-Android-Security-Practices
Be very cautious with apps that ask to read/write SMS messages, read/write contacts, and place calls. Malware frequently uses these to pilfer unsuspecting users.
3. Careful when jail breaking your phone. If you jailbreak your phone you are opening yourself up to more serious compromise. Ask yourself, if all you have to do is run "su" from a jail broken command shell, why can't a malicious app do the same and run as root? SuperUser.apk is a popular alternative to traditional dirty jail breaking. It attempts to guarantee that the user is active in the Android UI by prompting the user without a dialog asking if the privilege elevation should be allowed. Remember that you are allowing that particular app to escalate privilege from now on. If you allow "sh" to escalate to root then an app may be able to simply run the shell "sh" and then escalate from there.
4. Firewalls are an option and will add another layer to the phone security, especially when connected to Wi-Fi access. Currently there aren't many remote attacks to listening services on the Android phone, but I wouldn't be surprised if we start seeing them with more frequency as more hackers started riding the wave.
5. Disable services you are not currently using. For example; if you are not using Wi-Fi, then disable it until you need it. Same goes for Bluetooth.
6. Remove unused apps. Many apps expose themselves to compromise by examining incoming text messages, integrating with mime/file types, etc. Go through your installed app lists and remove anything you don't use.
7. Android security products are starting to appear on the market (shameless plug). Rather than blindly recommend ours I would rather recommend you search the Android Market for "security", "antivirus", "malware", and the similar criterion. Read the reviews and find something that will scan your apps prior to install.
-Riley Hassell
CEO,Founder | Privateer Labs
email: riley@privateerlabs.net
Website: http://www.privateerlabs.net/
That ridiculous list above for firewalls, PIN protectors, etc is exactly what will cause Android to eventually lose the mobile OS war. It's already behind in the US for tablets+phones, and waaaay behind overseas. Typical consumers can't be bothered with goofy shit like that.
Seriously. The android SDK is free, Eclipse is free. There's no monetary risk involved to experiement and see if you like doing it.
I screwed around with it for a month off-and-on doing all the tutorial programs on developer.android.com and by the time I was done, it made a lot more sense. I made extensive use of stackoverflow.com too. Good resource there.
If developing isn't for you, there are indeed open source style apps out there. A little bit of googling can find out if they are legit, or if the source is indeed available.
boycott slashdot February 10th - 17th check out: altSlashdot.org
seek out and kill Sarah Connor
The Kruger Dunning explains most post on
Get CyanogenMod and use it as your main OS - not all phones are supported, so check it out before you buy a phone: http://www.cyanogenmod.com/devices
Some phones are not on that list, but are usable - for example, the beta of CM for the Motorola Defy is the sixth-most-installed version of CM...
Why CM? No carrier bloatware/malware layered on top of Android ... even the 'pure google' Nexus S cannot really make this claim. Personally, I have found some of the most egregious privacy issues with carrier apps, not third party apps...
...and you will be safe for sure.
Anti-virus doesn't count as "basic security software." "Basic security software" is software that prevents (or at least makes the user aware of) activities which are not whitelisted.
AV software doesn't do that. It's a scam. No OS needs it, not even Windows. By the time your AV software detects something, it has already let a hundred successful attacks through. You need to deal with the real problems if there is ever any possibility that AV software might ever notice anything. Until the user is confident that AV software would be 100% pointless, they're not done locking down the machine at a very basic level.
Here is how (very easy to do):
---
ANDROID OS allows for the usage of custom HOSTS files, & that's how you stop this botnet from communicating "back to mama" (it's C&C botnet servers):
DO THE FOLLOWING (after obtaining a good reputable solid HOSTS file, like mvps' -> http://www.mvps.org/winhelp2002/hosts.htm )
---
1.) Get ahold of the "Android Debugging Bridge" (ADB) & install it
2.) Mount your system mountpoint as READ + WRITE (as powerful of priveleges as you need is this)
3.) Using the PULL command, copy the file over from your PC (or even on your ANDROID if its there already) using PULL & overwrite the etc. folder's copy of HOSTS
---
DONE!
APK
P.S.=> Yes, it's THAT simple... &, it works/helps - Of course, your HOSTS file will need to have the domain/hosts name of the C&C servers, & that you have to obtain for this to work vs. this threat + others! I've posted this here before & it did alright, being "modded up" +1 INSIGHTFUL:
http://mobile.slashdot.org/comments.pl?sid=1930156&cid=34713952
... ap
This may be betraying my ignorance, but I thought that the basic security model behind android held that one app couldn't see another app's code or private data. The sdcard is general storage, so all apps with sdcard permissions can see everything on the card, but mostly what is stored on the sdcard is not security critical anyway. Another caveat is that if you've rooted your phone then you're adult enough to look after yourself.
So, how is a virus scanner supposed to work? It will never be able to see any of the other apps. Similarly with a firewall - it wont be able to see when another app connects to the net. The only way it could work would be to break out of the standard security systems.
This suggests to me that most of these 'security apps' are scams (not counting stuff for rooted phones -- but rooting is itself a security risk. e.g. With most of the rooting mechanisms, if you hook a usb cable to a rooted phone then you get a root shell without any password protection - mmmmm security).
The 'security apps' that I could see working are:
- Apps that monitor the SIM ID so that they know when another SIM is inserted.
- Apps that allow remote phone tracking.
It is possible to detect some changes in phone state and quickly try and correct things, or at least alert the user to the issue. This is how the apps that add password screens/PINs to the front of other apps work - they detect the other app being brought to the front and quickly overlay their pin screen over the top. But this seems weak for general protection.
So, what specific protection do people think they're getting from these security programs? Which of the (non-root) programs more than a placebo, and how do they work?
Maemo.
...but no, seriously, using as open-source of an OS as possible is the way I go, and having plenty of data (about what programs are running, about the networking data, etc).Knowing what your system is doing is the first and most important line of defence (contrast it against all those people whose Windows boxes are "running so slow...guess it's time to upgrade", we've all met those folks).
That being said, if you're on a far less free-as-in-speech OS (you freedom-hater!), you can indeed still try and use open-source software. For Android (my emergency backup smartphone is an Android device...yes, I have an emergency backup smartphone, I'm posting on Slashdot is that really a surprise?) I always check F-Droid first when I'm looking for an app to do something. It's much smaller than the Android Market (obviously) but it's a good first place to check, and I like the interface more than the Market personally. That may largely be because it's more a Repository than a Market/Store and, being a Linux user, I'm more comfortable with that, but that's another reason to recommend too anyone with a similar background.
I remember sigs. Oh, a simpler time!
I dont know what to say. This web site is superb. Thats not actually a seriously huge statement, but its all I could come up with immediately after reading this. You realize much about this issue. Cheap Jewelry
I have been running an Android based phone since my first one (a G1, which I still have, but it's been relegated to being a part time GPS unit), and you know... there have been a ton of programs that I've seen on the market, and when I hit "install", and if I didn't like what permissions it wanted, or it didn't make sense (why the fuck would a calulator need my fine location?), then guess what? I did without it, and found one that did the same or similar thing WITHOUT the weird permissions. Every once in a while, I get weirdness, or software conflicts that I can't resolve, and since I'm NOT rooted (not knocking it, just not for me), I hit "factory reset", and poof... just like it came out of the box. Honestly, I agree with the earlier poster that said, if you are not a responsible technology user, well then quit using technology. You are just another carrier of bugs/viruses. If you don't think so, why not run your AV? Oh, yeh, you didn't think you needed one... I'm done with my rant.
Stone
Where's the "Marketshare" argument now, regarding iOS vs. Android, as far as "security" goes?
Honestly, I don't think that anyone (or nearly anyone) runs any kind of A/V on iOS devices; and yet...
So, can anyone please address this question like an adult; or is that too much to ask on Slashdot these days?
We examine mobile app security using forensics and post the results free on our appWatchdog page:
http://viaforensics.com/appwatchdog/
In a few weeks, we will have an "appWatchdog app" available for Android which will scan installed apps and advise which store your personal data insecurely. This is good practice in case of a lost phone or remote exploit which can gain access to /data/data.
Andrew Hoog
viaForensics
Parent asked if blackberry offers granular permission access, which it does. It looks to be a few layers more detailed than android, or maybe it just looks like that since it shows all security options wi something like permit/deny, which I like more than androids permit list.
I also like the blackberry since II can have an app and give it less permissions than it calls for, and just loose that function. I know of no way to to that in android and, to put words in the parents mouth, that is what you are looking for. A way to have an app and not give it requested permissions.
Those who can, do.