OLPC and Security
The One Laptop Per Child (OLPC) project has an interesting take on building security for the laptop. Here is my list of why the OLPC is especially vulnerable to security issues.
They recognize that there are two kinds of ways of breaking into a computer:
Being able to brick a laptop that has been stolen should greatly reduce laptop theft (once the thieves learn that they can't use it or sell it).
I think it's great that the OLPC project wants the child to be able to hack their laptops. This forces them to think better about how to make the laptop secure. The knee-jerk method would be to lock the machine so the child can't do very much which would make the laptop far less useful. Older kids can even get a developer key so they can create slightly more powerful programs, but still security is not compromised. Good job guys.
- 100's of millions of these near identical laptops will be produced, making it a target for crackers.
- The OLPC group want the child to be able to hack their own laptops, get right down to the code.
- Some of the children are going to be very young, entering a password or even replying to dialog prompts may be asking too much.
- These devices automatically connect to each other and automatically connect to the Internet.
- Nearly all programs running on the laptop will be running in a fortified chroot, sort of like BSD jail.
- Programs will store their data on a new object oriented filesystem. This filesystem will automatically keep backups and store different versions of the files. There are limits on what directories a program can read or write to.
- Most programs can only access a file through a file open dialog. So a malicious program can't secretly read private data on the laptop without the user knowing about it.
- There are limits to how many times a file can be written to per minute.
- Network utilization will be limited for each program. Each program can have a different set of settings:
- Network on/off restriction
- Bandwidth throttling with burst allowance
- Connection rate limiting
- IP/port destination restrictions
- Time of day restrictions
- Server port listening restrictions
- Each laptop has an id that is also held by the government. If a laptop is stolen the next time it connects to the internet it will discover that fact and disable itself. If the laptop doesn't connect after a period of time (say 40 days) it also disables itself until you connect to the internet.
- The laptop will use the OpenId specification and will automatically authenticate the laptop for the child when going to OpenId sites.
- When connected to a network that has a backup service, the laptop will automatically backup it's files there in a secure manner.
They recognize that there are two kinds of ways of breaking into a computer:
- A user downloads a malicious program and runs it (thinking it's something else)
- A hole is found in an non-malicious program and a program can install itself via that hole
Being able to brick a laptop that has been stolen should greatly reduce laptop theft (once the thieves learn that they can't use it or sell it).
I think it's great that the OLPC project wants the child to be able to hack their laptops. This forces them to think better about how to make the laptop secure. The knee-jerk method would be to lock the machine so the child can't do very much which would make the laptop far less useful. Older kids can even get a developer key so they can create slightly more powerful programs, but still security is not compromised. Good job guys.
Comments