Marlinspike's Droid Firewall Kills Tracking
mask.of.sanity writes "The first dynamic Android firewall, dubbed WhisperMonitor, has been released by respected security researcher Moxie Marlinspike. The firewall will allow users to stop location-tracking apps and restrict connection attempts by applications. Marlinspike, whose company created the application, designed WhisperMonitor in response to the incidence of location tracking and malware on Android platforms. It monitors all outbound connection attempts by applications and the operating system, and asks users to permit or block any URLs and port numbers that are accessed."
Like the phone itself? The applications aren't the only thing sending out the data..
For justice, we must go to Don Corleone
I used to use ZoneAlarm on Windows (still a version on my Win2K Starcraft PC), and tried NetBarrier for the PPC Macs. Both worked similarly, and I thought ZA was the greatest addition to Windows, ever.
Sounds like my impending Color Nook will be getting one of these, day 1.
Use an operating system that cooperates. It spares you the trouble of filtering your outbound traffic.
Not dynamic, but allows you to setup white/black lists of application to access 3g or wifi network.
Does a good job. You just have to remember to add new apps to the white list of you want to allow them access to a network.
http://code.google.com/p/droidwall/
Which is why i like my mobile phone to remain a mobile phone and not a mini-computer subject to the same problems that plague PCs. We already have malware and other crap for mobile devices and the need for firewalls.... bet the anti-virus companies are wetting their pants over the move from mobile phones to mobile computers.
If i find myself in an emergency situation i'd like to be sure my mobile phone is working and not suffering from a plague of outbound traffic sending spam to half the world.
It's only available as a 0.3 Beta for Nexus S and Nexus 1.
The Installers are only for Windows 7 (64Bit) and Linux 64Bit (and OSx).
It's a great idea. If it continues to be free, I'll install it when it becomes available for my HTC...
Excellent news for Android users. I guess that Apple would never accept a similar App for the iPhone - it might disturb the user experience.
The issue with Android is it is an advertising platform. But imho with a strangely bad implementation... At least in hindsight.
I like my HTC, but sincerely hate all the programs that "require" full internet access. The reason given is ads, which I am often alright with: I get stuff "for free" that I don't care enough to pay for (games, rarely used tools, apps I can easily live without). The problem is one newer knows what else they use this unrestricted access to. Much of this doubt could be removed if Google maintained a white-list of ad servers (also 3rd party). That way most programs would not require full internet access, but only *restricted* access to a *limited* amount of servers.
These servers can of course be hacked etc. but at least they can easily be black-listed, leaving a more well-defined security risk.
I newer understood why Google didn't implement it this way. Where they trying to "hide" that Android is made to open a new revenue source for them? Trying to make people believe they were "selling" a phone OS? Or did they sincerely not consider the risks of this implementation?
Blocking the ads is essentially stealing from the app developers (or more correctly; depriving them of income). I don't want to do that, but I would like a firewall.
This is currently supported for two devices (Nexus S and Nexus One) and not Android in general.
I mean I can see the benefit of being able to install an app that requires data permissions without the data, but this really should be something built into the operating system. Then again, perhaps a built-in firewall would be too much...
> "It monitors all outbound connection attempts by applications and the operating system, and asks users to permit or block any URLs and port numbers that are accessed."
Excellent. + 100 this is the way things should be !!!
I've been yammering on about this for ages now without being able to get any Linux devs interested. As far as I'm concerned without such a feature Linux is a dead duck as far as being an operating system suitable for the home user. I've stopped putting Ubuntu on peoples machines due to the complete lack of such a firewall. And no. IP tables and Firestarter etc. are not the same thing *at all*.
The end user should always be given the final decision before *ANYTHING* on the computer is allowed internet access. This single feature of the Zone Alarm firewall on Windows has allowed numerous "non computer savvy" friends and relatives to realise they have a problem well before malware has been able to phone home. Not to mention blocking all the crappy "auto updaters" and other such crap that idiots have started putting in their Windows apps.
1 The people who write Zone Alarm for Windows get it.
2 Moxie Marlinspike gets it.
3 The Linux devs simply do not get it. They seem to believe we live in Magic Fairyland where no program would ever do anything malicious and anything should be able to connect out without the user knowing about it. "But we're only fetching cover art/some other stuff". No you're reporting information to a third party that I do not wish sent thank you very much.
Without this simple feature your computer is simply a digital spy silently allowing any program to send any information it wants anywhere in the world.
Totally unacceptable in 2011. All machines should have firewalls that allow the user full control of what applications are allowed to talk to the local network and/or the internet.
Sky subscribers are morons. They pay to be advertised at !
What happened to "appliances"? Set it and forget it?
Now it's going to be Windows all over again:
My phone's too slow, buy another one.
-reinstall OS
-upgrade OS
-install antivirus
-check for rootkits
I'm not a lawyer, but I play one on the Internet. Blog
While it is less detailed and has no popups, it is open source and works rather well:
http://code.google.com/p/droidwall/
The main difference being that DroidWall is all or nothing.
It does spark the imagination as to what might be lurking inside these phones. Could they be chipped to spy on us without anyone knowing it? Do you know what each component is in that little phone? Does anyone? And even if you did know what components they are, who's to say "they" didn't slip in a chip disguised as something else. You would have to monitor the phone's output to see if it's broadcasting anything beside what it normally should. Then you have to consider, that it's function might be "on demand" and you may never catch it spying on you because "they" haven't chose to activate it, so you set there for God knows how long monitoring this suspicious phone.
Or you could assume that if they really are wanting to use the phones to spy on us, then would they put something in the client side of the hardware? It would require the cooperation of the manufactures, their engineers and risk exposure. The human element is going to fail always in such an operation as this. They would surely not risk exposure and do their spying from inside the network its self where they could passively monitor traffic, and user locations.
Now what I could fathom them taking the risk of exposure for is the camera. Imagine being able to access any cell phone with a camera, browse its contents, or even activate it secretly. Now that is something I wouldn't be able to resist if I was administrating a nation wide intelligence operation. Just think of the possibilities of such, you could take dumps from every phone in the country, sift it continuously with shape recognition software. Bad guy takes a picture of his buddies posing with their illegal weapons thinking they are all cool, but somewhere a computer recognized the weapons, logs the recognition, the time, the date, the location and has cataloged everyone in the picture. This information is dispensed out in the field to agents for them to react to immediately.
This sounds fine and dandy from an intelligence operation point of view, but it's a nightmare for civil liberties. That is the problem with making an effective intelligence tool, the party that makes it might have the best of intentions for its use, but that doesn't mean it will experience mission creep or just fall into the wrong hands, or just morph with bad times into a tool used for evil.
But here is the rub, if you put something like that in a phone, it will be found. And when it is, its going to piss off everyone, including officials who don't want blackmailed sometime in the future with this. Needless to say, if the information about you chipping the nation's phones gets out, you are finished politically, your next intelligence operation will be listening in on the chief of the village you are hiding out in.
Frankly, if I was going to risk such a gambit, I would put the chips in disposable phones, the prepaid ones that are the prime choice of people who don't want tracked but need a phone. Its win/win if they find the chip in those or not. If they don't, you have intelligence perhaps to be farmed. If they do, you will have planted a seed of doubt at least concerning their phones and you might shoo them into getting sloppy in their search for secure communication. I think the risk factor of exposure of the chips to prying noses would be less with the demographics that use those kinds of phones.
Anyway, I doubt that "they" are operating on that kind of level. It is the government after all, which is a political body. These tend to get mired down to a glacial pace with not only the machinations of the bureaucratic beast, but annoying amounts of accountability. It would take a mandate by them to get something like this done, because it would be like herding cats to get the manufacturers on board. You just know some idiot would flip out and run screaming to the press about "they" are trying to put a "backdoor" into everyone's phones.
I am not saying it couldn't be done. I think it could be pulled off, but it would need super deep pockets and oodles of background information on the engine
Take the Red Pill.
... Nexus One and Nexus S phones. Wow, what a let down. Says "More devices coming soon..." but you can pretty much count that they can't support all - or even most - devices, so this isn't an Android thing, it's a Nexus thing. Chances are it requires root which is why they can't support anything other than Nexus right now.
On linux we have AppArmor, we have possibility to distinguish PIDs in ip tables (already used for traffic shaping by Peer-2-peer aficionados), ...
The problem is not the technology, the problems are different :
- The main one is the interface. Someone has to write something which is user-friendly enough.
- The other problem is the massive amount of executable existing on Linux. ZoneAlarm works well on windows, because of its rather monolithic structure. There aren't that many process needing to be controlled. The Unix philosophy is opposite, a swarm of small tools which each do only one thing, but do it well. Something like ZoneAlarm on Linux would produce a metaphorical Zerg-rush of pop-ups.
Also it is slightly counter productive :
- Such tools are indeed important on Windows, because there is *NO* *OTHER* *WAY* to control the software. They are mostly binary only. So you can only control them be restricting their accesses
- On linux, the software is open-source, and mostly comes from the distribution. There are lots of different and better way to do it.
They seem to believe we live in Magic Fairyland where no program would ever do anything malicious
In a way, because the code is better reviewed that is partially true. The linux community has better ways to know what is happening inside a given software.
That also means that one of the best practice would be to standardize on some access-restriction mecanism (like AppArmor) and have the developper systematically write profiles. Thus :
- it will be easier for the end user, not to have to write a profile for every single application.
- it will be easier to quickly look at the profile to know what an application could do.
- in case of exploit, the access-restriction-mechanism could easily block the abnormal behavior which the application never asked for in the first place.
"But we're only fetching cover art/some other stuff". No you're reporting information to a third party that I do not wish sent thank you very much.
And guess what ? The source code is open, and there are a lot of paranoid linux users like you out there. Thus some have added code to ask permission : on their first run, both VLC and Amarok explain you the situation and give you choice : systematically download the art / only download on demand / never touch the internet.
What we need is :
- more such efforts
- and perhaps a better centralized way to control such elements. (think like a centralized "privacy control panel" in KDE's System Settings, or some Gnome & Unity equivalent).
This requires lots of collaboration and efforts, but that's something the Linux community *CAN* do (unlike the binary wolrd, for obvious technical reasons).
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
should be at least tear gassed as an example to their neighbors. unknown activities? attempts to become unsurveiled? complaints about the 'weather'? no proclaimed political or religious attachments? intercepted texts include words like disaramament, hymenologist etc...? no wonder we need unspy.us code?
waking up to the big flash wednesday has arrived. the joyfully anticipated total world disarmament is proceeding as the need becomes met. the other alternatives suck, & must include injections of massive amounts of unnatural death, debt & deception of body mind & spirit for almost every one of us.
I (still) have a Nokia Symbian based phone and turned off all email updates, GPS map updates etc before going on a trip to China. After one week I got an SMS warning me of large "roaming charges" despite only using the phone for sending a handful of SMSes. Either I missed some automatic update/sync that should have been turned off (unlikely) or the phone checks/updates something which can't be turned off.
Either way, a firewall application would have helped me to:
A) Be sure the phone isn't auto-doing anything.
B) Find which application/system component is misbehaving.
With "smarter" phones and applications we need better tools for monitoring and control.
FTA, only has installs for Nexus One and Nexus X, and installer comes in Windows, OSX, and Linux... and it looks like they're all 64bit installs only. Very limited. And there is DroidWall, which is available on the market, but I believe you need a rooted phone (which is probably true for any decent firewall). I use DroidWall and it's fantastic. It let's you choose to allow not just an app, but how it connects. You can, for instance, block Pandora on 3G, but not Wifi.
I8-D
Blistering Barnacles! Thundering Typhoons!
Grumble, whinge, standard functionality on a blackberry, whinge, grumble...
(get off my lawn)
If google doesn't figure out a way to make this unnecessary, it will be a huge advantage for Apple, because their "walled garden" reduces the need dramatically. Hey, I don't like the idea of gated communities, but I sooner live there than put bars on all my windows and sleep with a .45 under my pillow every night.
We can debate whether my ideas make me a bad person etc., but I am simply observing that virtually nobody will be willing to use a phone that requires this level of babysitting, and android will fail in the market if this really becomes necessary.
A fine display of seamanship.
The problem with this is it's not really addressing the core issue. Which is that these applications are able to access the location information in the first place.
We really need finer grained firewall like access for the gps. So that google maps can access the internal gps, yelp gets rough gps coordinates and games that have no business knowing my location get geo data from Britney Spears twitter feed...
Then it can run like shit like a windows desktop with the added bonus of a shortened battery life.
Decent linux distributions, like Debian, have a ton of applications packaged in their repositories.
If you want an idiot proof firewall, the rules can be packaged with each application. User never sees a prompt, and can never answer incorrectly.
It is only because of the anarchy that exists on windows that windows users may think a zillion popups is a good way to do things.
That said, a decent distribution isn't packaging malware. If you are an idiot, and install random crap from untrusted sources, then you kind of deserve what you get.
The parent post has zero rational content.
That's all.
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
The story, and even the article are misleading.
You need to flash your phone (if one of the two supported) with WhisperCore, and then you get this "app".
So whilst it's a brilliant idea, it's only available to a very small number of users.
Wonder if DroidWall works on a Cyanogenmod G1....?
Something like ZoneAlarm on Linux would produce a metaphorical Zerg-rush of pop-ups.
You're exaggerating hugely and even then it'd only be for a short period. Then you'd have a decent profile and could forget about it.
How could you be sure that all the users, including the "grand-ma/grand-pa" type of user will take time to properly configure all this stuff ? And won't simply get the habit to always "ok"-click-through everything ?
(Well, in the special case of a Linux distribution, one might expect that nothing abnormal will happen during the first few weeks. The only applications asking for network access will be the networked application. Picture-displaying application will remain off-line, and if a couple of months later some maliciously crafted image-file tries to exploit a bug, it will try accomplishing actions which weren't green-lighted during the learning phase and will trip an alarm).
?? You're suggesting that profiles be created for the thousands of programs on a machine for the hundreds of different classes of users out there. That's not even remotely sensible. And it doesn't even work with trojans.
First you must understand that I distinguish two clearly separate type of problems :
- trojan, viruses, exploits of bugs, etc... : which all would do actions which are guaranteed to be considered bad by 99.999% of users out there.
- legitimate software, which might sometime query data from the network. Some users like the service because it makes using the computer more convenient, others don't like it because it basically discloses some information (I might have music from said album as my player is fetching info about it) to third parties (wikimedia, amazon, and the likes)
AppArmor profiles are very nice against the first type of problem : illegitimate access. Say you have a nice small image editor. It's supposed to be able to open image files. It's never supposed to access other user data, modify system files, spawn processes, access network, emit e-mail, etc. So you can write a profile which describes what this program is supposed to do during it's normal day-to-day operations and what is abnormal behaviour. Maybe some day in the future an exploit would be found in the way a peculiar file format is decoded. Malicious hacker could craft a special file. When the exploit drops its payload inside the software, it will attempt actions which were never authorized in the first time. It the software is only authorised to open files of "image" types on the local driver, anything that the payload will attempt will trigger a (true) alarm.
(Which could also be coupled to a "file bug report" feature.)
It will work for trojan too : They are simply a new independent software (not a software with a buffer over-run exploit running un-authorized code), for which no AppArmor profile was provided by the standard distribution. An imaginary future distribution will necessarily flag the actions of the trojan as un-expected.
But for this situations to be useful you need profiles for pretty much any piece of software complex enough to be targeted by exploits. That means a lots of profiles. So its either a "zerg-rush of pop-ups" during the learning phase... or it's the job of the software writer to provide a profile about what their software do (I think it's a better solution because it distributes the effort, the software writers know their software better and could better fine tune the profile to the strict minimum, and (Depending on the language) some form of automatic profile generation could be done).
For the second type of problems, the situation is different.
For binary software, well there isn't much possibility : you need to control their behavior from outside and there isn't much possibility beyond AppArmor, iptables, and the like. Thankfully, there aren't that many binary software on a regular Linux install, so the learning phase should remain within sanity limit of false-ala
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]