To create such malicious Launcher it will need to:
- Disable Settings > Applications > Manage Applications
- Disable Settings > Applications > Development > USB Debugging
- Disable Market (to prevent you from downloading Home Switcher apps)
- Prevent all other Launcher-type application from opening (otherwise you can just start the other Launcher and go to Settings from there)
- Disable Terminal Emulator-type application (to prevent uninstallation by
pm
or rm
-ing the .apk)
- ...others?
This seems like a gaping security hole in Android, no?
No. When security experts talks about a system having a good security, they don't talk about a stupid user doing stupid thing to his system. A stupid user giving untrusted program unwarranted privileges are social problems, not security problem.
Linux (and Android) is secure not because it is impossible mess the system up (you can, very easily, just type sudo rm -rf /
). Linux is secure because a malicious program cannot mess up the system without the user's authorization and a user cannot mess the system up unless they have the appropriate privilege to mess up the system (a user with a root privilege can mess up the system in thousands of ways).
Unlike in some other OS, Linux (and Android) does not attempt to protect the user from doing something stupid (since such protection would also prevent power users from doing anything smart). It will blindly follow your order when you told it to destroy itself (as long as the user has the privilege to command the system to destroy itself).
The following sudo's first-time-sudoers lecture sums up the Unix/Linux way to security:
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
In any case, if such malicious Launcher comes into the Market, we can be sure that Google will remove it from Market immediately with no delay (and probably issue a remote uninstall command). And if you install such Launcher from outside Market, then you are not a "typical user", you are responsible for your own if you're installing programs from outside Market.