The Next 50 Years of Computer Security 128
wbglinks writes "An informative interview with Linux guru Alan Cox, with an emphasis on Linux and security. Alan will be the keynote speaker at EuroOSCON this October." From the article: "It is beginning to improve, but at the moment computer security is rather basic and mostly reactive. Systems fail absolutely rather than degrade. We are still in a world where an attack like the slammer worm combined with a PC BIOS eraser or disk locking tool could wipe out half the PCs exposed to the internet in a few hours. In a sense we are fortunate that most attackers want to control and use systems they attack rather than destroy them."
The next step in security: benevolent parasites? (Score:2, Interesting)
This reminds me of a conversation I had with my business partner regarding computer security:
Imagine a hacker group that offered to protect your system against other hackers. In exchange for x% of your computer cycles, x% of your HDD space, a predetermined number of pop-up ads, etc., the group would guard your computer against others attempting to compromise it for its own use. The group would connect to your system from the internet, install their rootkits, and regularly scour your system looking for i
Sleeping....? (Score:4, Insightful)
Re:Sleeping....? (Score:1, Flamebait)
And since TripMasterMonkey is an incessant troll, please, don't be gentle.
Re:Sleeping....? (Score:5, Insightful)
>
> And once you let someone compromise your system, you'll never be able to fully trust it again. It's about the stupidest idea yet in computer security. The only reason it wasn't on that list of "top six stupid things" the other day is because it's not an adopted practice, and isn't taken seriously.
Is that not the functional specification for Windows Update? ( Ha ha, only serious. [catb.org])
For that matter, is that not the functional spec for every automatically self-updating piece of software?
Your machine is as trustworthy as those you permit to administer it. To the extent that you install auto-updating software, your machine is only as trustworthy as the authors of that software.
I'm highly confident that when my cron job asks apt-get to phone home, the maintainers of $MY_PET_DISTRO won't take advantage of the opportunity to place anything nasty on my machine.
I'm somewhat confident that Microsoft isn't going to auto-disable even pirated Windows installations, nor to install a RIAA/MPAA sniffing trojan as part of its updates - at least, not without providing a few weeks of warning.
I had so little confidence (as a matter of personal opinion) that the auto-updating and installation of DRM/software subscription services from www.steampowered.com, that I never purchased Valve's Half-Life 2. (If you trust Valve, hey, go for it -- but Steam is, IMO, fundamentally no different than having companies like EA and Adobe decide to outsource the management of "licencing component services" to organizations like Macrovision and the BSA. Would you like to get your "security components" from DRM providers?
And finally, I'd have no confidence whatsoever in any machine that was required, as part of the Homeland Cybersecurity Act of 2012, to download security updates from updatefarm.cybersec2012.gov.
On that scale, I'd place the original "cracker group" (perhaps affiliated with the Russian mafia) installing its own rootkits as somewhere between "less trustworthy than Steam, but more trustworthy than bsa.org".
But there's fundamentally no difference between any of these options.
Re:Sleeping....? (Score:1)
That actually sounds like a relatively sound method for the wholeale of distributed CPU time.
People give CPU time away to organizations like SETI. The only problem, is the maket value of CPU cycles vs the cost of administering a whole pile of insecure windows boxes.
Analogy (Score:2)
Re:The next step in security: benevolent parasites (Score:5, Insightful)
The controls that an organization would need to put in place to avoid being utterly exploited in such a scenario are pretty much the same controls needed to manage systems securely in the first place. So as a thought experiment, this is useful. As an actual practice, forget it.
Re:The next step in security: benevolent parasites (Score:5, Insightful)
Re:The next step in security: benevolent parasites (Score:1)
Re:The next step in security: benevolent parasites (Score:3, Insightful)
Re:The next step in security: benevolent parasites (Score:1)
It sounds like anti-virus companies are charging us protection money already!
What, like taxing? (Score:2)
Re:The next step in security: benevolent parasites (Score:1)
Re:The next step in security: benevolent parasites (Score:4, Funny)
I have a better idea. Swap some other commodity (like, say, money) for the same service, and call it an MSSP.
Re:The next step in security: benevolent parasites (Score:1)
KFG
Re:The next step in security: benevolent parasites (Score:2, Funny)
Yours truly,
The Visigoths.
Problem (Score:5, Insightful)
One problem is that your suggestion is wholly founded on the assumption of computational resources being valuable. This is to an extent incisive, since you have realized that the reason why the formation of zombie networks has increasingly become the endgoal of worms and such is that there is commercial value in those networks' computational resources. But this breaks down when you start to think about what they use those computational resources for.
Computational resources, by themselves, aren't particularly valuable or hard to obtain; even bandwidth resources are beginning to become expendable if you're smart about how you use them. Your average PC is absolutely awash in power it doesn't need. 20 years of "your computer is obsolete as soon as you buy it" has crashed out into "your five-year-old computer technically isn't obsolete yet". People who used to buy supercomputers often now just buy cheap PCs and leash them together. Anybody who just has a legitimate need for a lot of computation these days can most easily obtain this through totally legitimate channels.
The reason why hackers, worm-builders, spyware peoples, etc obtain their resources through illegitimate means (like worms) is because they have illegitimate intents for those resources. They don't so much want 20% of the resources of a PC, they want 20% of the resources of a PC that can't be traced back to them. This is because once they have these resources, they're going to be using them for things like, warez. Sending spam without compliance with local laws. Hosting dubious and virus-like spyware. Extorting businesses for money in exchange for not launching DDOS attacks against them. If you willingly give these people 20% of your hard drive and CPU they aren't going to be using it for things like 3d rendering or protein folding; if that was all they wanted, they wouldn't need to be using hacker methods to get it in the first place.
Instead, if we go by your scenario, you'll give them 20% of your hard drive, CPU and bandwidth; they will protect you from the other hacker groups; everyone will be happy;
Re:Problem (Score:3, Funny)
While I largely agree with your point, the quoted line made me think of this;
Man in black: [turning his back, and adding the poison to one of the goblets] Alright, where is the poison? The battle of wits has begun. It ends when you decide and we both drink - and find out w
Re:Key Phrases (Score:2)
Plausible Deniability
And don't forget... You can't arrest a corporation. Just the individuals that work for it. Thirdly, you can't go after the shareholder's assets unless they have been directly implicated in the crime.
Lastly, the crime might have been intentional in order to get the FBI's intention. Of course you'd be dealing wit
Re:Problem (Score:2)
First of all, computers have always been on a fairly constant cycle of getting faster, but it's never been 'overnight' except for people who go out and buy the bargain PCs the day before they release the new 'latest greatest' models. so, 'your computer is obsolete as soon as you buy it' only applies to c
Re:Problem (Score:2)
FWIW, it really depends on how much you need. If you need a lot of computing power, it tends to be very expensive, and the same is true of bandwidth. (Sometimes it is possible to do tricks like those done by SETI@home, but many problems just aren't decomposable that way.) But if you're willing to put up with just using reso
My services (Score:2)
For everyone else, Do you need mass advertising? Do you need to get your message out in a cheap and effective manner? Contact me for mass electronic messaging promotions.
Re:My services (Score:1)
Re:My services (Score:2)
Really depends on what you plan on doing.
Re:The next step in security: benevolent parasites (Score:2)
But it's not absolute trust; just as helpful bacteria in our mouths can get out of control, software may (will?) prove vulnerable. So we still have to monitor and maintain our systems, installing security patches and changing administration practices accordingly.
Re:The next step in security: benevolent parasites (Score:2, Insightful)
It would be no different than giving guns to thugs to protect your business. When they do finally get busted, the FBI will find your fingerprints on the guns.
Re:The next step in security: benevolent parasites (Score:2)
You mean they don't already do that? (Score:2)
Re:The next step in security: benevolent parasites (Score:2)
Re:The next step in security: benevolent parasites (Score:2)
Re:The next step in security: benevolent parasites (Score:1)
Re:The next step in security: benevolent parasites (Score:1)
1) Why would I give my computer up to 'hackers', by which I assume you mean people who break into machines illegaly or maliciously. There would be nothing to stop them from fully taking over the machine and doing whatever they want - ie. under this arrangement I have no power or control over them to ensure they hold up their end of the bargain. Since what they are doing is probably illegal and they are more than likely in a far off country I have no legal hold over them either.
2) What's the poin
Re:The next step in security: benevolent parasites (Score:2)
I'd think of it a bit like buying "cleaning services" for 10 cents a year, sure in aggregate that might be worthwhile for someone to do (if they can get 2 million victims, say) ... but if some super-new virus happens that takes out %1 of their userbase, they sure as hell aren't going to care.
For that kind of "price" it's going to be all automated software, which a bunch of companies already do ... for not significantly more, per. customer, and are much more likely to not want bad press with problems of e
50 years, eh? (Score:5, Insightful)
[...] at the moment computer security is rather basic and mostly reactive.
OpenBSD [openbsd.org] has been proactive since Day 1. And, really, can anyone speak authoritatively on computer issues 5 years in advance let alone 50?
If I drank a strong tea brewed from Theo de Raadt's toenail clippings I could glean knowledge from perhaps a couple of days in the future, but beyond that you're getting into the realm of Xenu.
Re:50 years, eh? (Score:1)
I hate to compare him to Jesus, but he has the beard and sandals...
looking back on the last 50 years, (Score:4, Insightful)
Re:looking back on the last 50 years, (Score:3, Informative)
Re:looking back on the last 50 years, (Score:1)
Re:looking back on the last 50 years, (Score:2)
Unix itself has shown to stand the test of time so far and with the continuance of Microsofts monopoly (and what amounts to the goverments near approval of it) monopoly the shape of things to come is
Oh, it's easy! (Score:2, Funny)
Computers will be so small, they'll be ingestable, with music players and cell phones being implanted in teeth. But DRM will be so pervasive that the RIAA will be allowed to inspect your mouth with toothpicks. The weakest link in computer security will still be the
Re:looking back on the last 50 years, (Score:2, Insightful)
In 50 years, we'll have flying cars, world hunger and poverty will be a distant memory, and we'll all have a small nuclear fusion reactor in our basement which will power everything from our maid service robot to the 512-core 650GHz Pentium 17 computer in your home office.
Bill Gates will disband Microsoft when he retires, and all his billions will be donated to help sick kids on Mars. (We'll have settlements there, after all, but the hospitals won't be quite up to snuff for a few more de
Re:looking back on the last 50 years, (Score:1)
Re:looking back on the last 50 years, (Score:2)
I was especially proud of the part about GWB the 5th....
Re:looking back on the last 50 years, (Score:1)
Re:looking back on the last 50 years, (Score:2)
Pathetic
Attempt to
Trivialize the
Rights of
Inoffensive
Ordinary
Taxpayers....
Fortunate? (Score:5, Insightful)
Re:Fortunate? (Score:1)
True. Well, if a system is obliterated on infection, it can't spread... not really the behaviour of a virus. Still, by letting them not do something cruel like wipe the BIOS or trash the filesystem or something and just hijacking it's internet connectivity and letting them spread, you can get maximum exposure while still causing plenty of infuriating moments.
My flatmate got a virus that lurked for a while and then deleted ntoskrnl.exe so Windows wouldn't boot anymore - that wasn't fun.
Re:Fortunate? (Score:2)
Those that have not been paying attention or are buying the MS FUD are taking a huge risk.
Destruction would yield better protection. (Score:2)
If the systems were destroyed, you'd see a lot more effort put into protecting them.
Re:Destruction would yield better protection. (Score:2)
1: Flash the BIOS to something useless that won't bring up the system.
2: There are some not-to-be-used ATA commands that can turn a hard drive into scrap metal. A while back on lkml there was a bit of discussion on whether or not to filter them out at the driver level.
I'm sure there are more, just waiting to be discovered. Time was, you could destroy older monitors by misprogramming th
Global proofs of security are not on.. (Score:5, Insightful)
This last area is very important. We know the theory of writing secure computer programs. We are close to knowing how to create provably secure computer systems (some would argue we can--e.g. EROS). The big hurdles left are writing usable, managable, provably secure systems, and the user.
It may be possible to establish "limited" proofs of security which are tightly defines in small areas but a provably secure operating system is impossible. It's impossible on so many levels that I expect that Alan Cox doesn't understand the issues deeply enough.
There are a number of problems with creating a secure operating system. One is the amount of code it takes. You can't create a security proof on huge volumes on code. Hundreds of lines? probably. Thousands of line.. maybe.. hundred of thousands? no chance.
The next problem is that we haven't figured out a way to make security modularise. You can't say "method 1 is secure, method 2 is secure therefore using method 1 after method 2 is secure. It just doesn't work like this. You can put two secure pieces of code and get insecurity. This means you have to treat the whole operating system as one huge program all of which needs to be proven secure.
The third problem is that even you establish a proof of security this still isn't enough. Your proof is based on some formalisation of the language but the compiler itself might be buggy (either by accident or on purpose) and might compile in a way that breaks your proof. Ouch! cuO
Too often we strive to absolutes in security. Security is not binary. It is not a zero or one but a complex set of trade-offs and risk mitigation.
Simon.
Re:Global proofs of security are not on.. (Score:5, Insightful)
I hope someday I am cocky enough to make that statement.
"You can put two secure pieces of code and get insecurity."
Of course you can. But you can also put two secure pieces of code and prove that the combination is secure. The fact that the two pieces that you're combining are provably secure means that there is less work for you to do. Nobody is talking about writing the "Linux is secure" proof. If you start with the building blocks of secure systems and make them provably secure, you can absolutely combine them to come up with "provably secure systems."
"... a provably secure operating system is impossible."
You are wrong. Perhaps a provably secure Linux is impossible. But Alan Cox didn't say "operating system." He said, "system." Always pause (at least briefly) before suggesting that you have a better understanding of operating systems than Alan Cox.
Re:Global proofs of security are not on.. (Score:2)
These guys [coyotos.org] are working on just such a concept, attempting to write a microkernel OS in a language that supports formal semantics amenable to verification and correctness proofs. It seems they are still just getting underway, but it looks like an interesting project
HOWTO: Provably Secure Linux (Score:4, Interesting)
*Workable means you can do this in finite time.
1) For each function, determine the preconditions, postconditions and the formal description of that function.
2) For each of the derived specifications, modify the specifications to be robust (ie: no invalid states are possible).
3) For each subunit of code that is referenced outside of the unit it is within, add mandatory access controls with a default of "deny", except for the mandatory access control system's check access function which should have a default access of "accept", and the bootstrap code which should have no access controls as the MAC system won't be running at the time.
4) MAC systems should be heirarchically defined in terms of linking a set of users to a set of rights those users can have. You then have as many mappings of this kind as you need. But because it is heirarchical, an application run by another application cannot assign rights it doesn't know about, nor can it assign rights to users it doesn't know about. An application accessed by paths with different rights must associate the rights to the path used to connect to it and define those as the superset of rights that path has when calling sub-components.
Oh, and MAC system interaction should follow the paradigm laid out under the Bezantine General's Problem - in other words, MAC systems should distrust each other enough that they can detect any MAC system that turns traitor.
5) MAC should apply to EVERYTHING. The network, memory pools, swap space, shared memory, everything. No resource should have permit access rights by default and no resource should allow unconstrained access granting. The resource should be able to control who can be granted access, so no one central system hands out access.
6) Remote connections (via any kind of connection outside of the defined physical machine) should be secure channels (host authentication, user authentication and data validation) and should have access rights limited to the subset of rights allowed to both remote connections, the remote host and the user who is performing the access. This is in addition to any constraints imposed by the application being connected to or any access rights it inherits (and is therefore limited to).
7) As part of 5, no "superuser" account should exist. Administrator accounts should only be permitted to administer, they should not be permitted to do anything else. There would be no "root" account, for example.
8) Once the specification has been hardened as above, it then needs to be re-implemented as code and then the code must be formally verified against the specification for correctness.
The first consequence of all of this is that paths would be very tightly constrained, making any kind of breaking out of the box about as close to impossible as you can get.
The second consequence is that because all access control is independent (but heirarchical), breaking the security of one module won't affect the security of anything else and won't grant any rights in excess of the subset defined by the intersection of the rights allowed by the path of connection, the broken module, the module then accessed and the broken module's rights within the module then accessed.
The third consequence is that, because the default is "deny", nothing can do anything not explitly authorized by the entire chain of connections.
Could this be done in Linux? Sure. If you add the kernel, X, KDE/QT, Gnome/Gtk, the GNU suite, etc, together, you're probably talking a billion lines of code. One million coders could probably do this entire eight-step lockdown over the whole of that codebase in a year, maybe two. There are more than a million coders o
Re:HOWTO: Provably Secure Linux (Score:2)
Re:Global proofs of security are not on.. (Score:2)
People have enough trouble managing simple systems like Unix-style permissions and Novell NDS permissions.
Most multiuser systems I've come across in actual use have pretty glaring security problems, just because of the complex nature of the way people want to use them.
At some point it becomes easier to just sa
Re:Global proofs of security are not on.. (Score:2)
Alas, Ckwop is right in saying it's hard (:-)) You indeed need to limit the thing you propose to have secure.
--dave
Re:Global proofs of security are not on.. (Score:2)
Hurd? (Score:2)
So we need to write smaller code. Perhaps the "kernel" of the OS should not be responsible for memory management and device drivers, but security of communication between all parts built on top of it (including APIs and hardware access). Perhaps the micro-kernel will have its day after all. How does the security model of the Hurd differ from that of Linux?
Re:Global proofs of security are not on.. (Score:2)
Don't ommit the obvious: if i unplug the computer, encase it in cement, and burry it in my garden, it is secure.
Functional? No. Secure? Yes.
Re:Global proofs of security are not on.. (Score:4, Insightful)
You raise several really interesting points.
I think it would be more correct to say that we haven't found a way to reduce the general security problem by means of modularization. It's an open conjecture that we could do so, even in principle, since we don't actually know what the general security problem is.
However, to the degree that we can isolate information processing into modular elements, we can individually reason about their security, and as far as I understand, those security properties are preserved under composition.
There are two parts to this. The first is to show that the application of functions such as F(G(x)) or (F*G)(x) need not expose functions F and G to each other. That is, composition doesn't violate modularity in the ordinary sense. I take your point that a faulty compiler is in a position to violate modularity, but that's an implementation error, not a reason to discard the formalism.
The second is that we have formalize what composition means in terms of information exchange. Ordinarily, composition is assumed to be purely a matter of topology. As in circuit topology, the wires don't count. But in the context of security, the interface explicitly exposes communication. But communication security has been very well studied, and we should be able to apply the results here directly.
Some details of my understanding may be wrong, and I'd be grateful for your thoughts on any of this.
Bull! (Score:4, Insightful)
'tis a pity... (Score:5, Insightful)
cos if they actually destroyed them, then people would take proper care... apparently, it's quite normal for people to view their ms-windows boxes filling up with vermin etc. as just a fact of computer life... they only do something when they can't get online anymore... and then it now appears cheaper to buy a new box than get the damned thing fixed properly...
Re:'tis a pity... (Score:1)
Not that I really wish for that to happen... (Score:3, Funny)
Then again, it might just be good for us who run not Windows. I mean, most important servers and the like aren't running Windows anyway, and those who do are probably pretty well firewalled. So we'd have the internet all to ourselves - probably the only thing I'd notice for quite some time is a shorter "Online Buddies" list.
Now, if we had the games, imagine those ping times!
Re:'tis a pity... (Score:2)
Not just users....
A Laptop at work got a virus. I was asked to help cleanit up. After 'cleaning' it, I suggested that we reboot and check again (actually, I suggested we just wipe the box and start again).
Sure enough, the reboot-and-scan found a few more files.
The local 'admin' just shrugged and said: "well, that's normal for windows, isn't it?"
The good ol' days... (Score:4, Funny)
.
Re:The good ol' days... (Score:2)
Erase the flash, write random data on the first MB of each HD (luckily it didn't use the hardware and only hit drives Win recognized, so my Linux partition was in tact).
The was the first time I used Linux exclusivly (I had an old computer at the time that I could run BBox on or the CL. I learned all about splitting windows in Emacs (to use an AIM client) and eventually I learned about ALT+Fkey so I didn't need to CTRL+Z emacs and than bg it so that I could run lynx a
Re:The good ol' days... (Score:4, Insightful)
And that, my friends, is an example of both evolution and intelligent design in operation.
Re:The good ol' days... (Score:1)
Take for example the common cold, which has stayed with us for many years, but is hardly as deadly as it used to be.
Obligatory Simpsons Quote... (Score:4, Funny)
Re:Obligatory Simpsons Quote... (Score:1)
Re:Obligatory Simpsons Quote... (Score:2)
I only scanned the article (Score:2, Interesting)
In 50 yrs I'm going to assume that IPv6 (or v7,8,9) has taken over the world. Wouldn't that do a lot for basic internet security? No more scanning and rooting boxen.
As for stuff like BIOS erasers and disk locking tools, e-mail will no longer be a useful attack vector due to filtering. The again, nothing can defeat stupidity.
Disclaimer: IANAL
The virus that 'helps' you (Score:2, Interesting)
Of course, we will have to worry about the attackers that inadvertently destroy systems while trying to control them.
I'm afraid I can't let you do that, Dave...this virus is too important for me to let you jeopardize it.
fast vs. slow spreading... (Score:4, Insightful)
This is not necessarily a good thing. I've read that Ebola and other very nasty diseases don't spread as far as they might, because they wipe out their carrier population too quickly. As opposed to HIV, which has time to slowly spread out. If an infected PC self-destructed after one round of outbound spreading, then it's not going to be continually spewing the junk like they do today.
Such a virus would burn through the supply of unprotected PCs quickly, and then go away.
Re:fast vs. slow spreading... (Score:1)
Re:fast vs. slow spreading... (Score:1)
Fortunately
Problem is Users... (Score:2, Insightful)
i know what it is. (Score:1)
Re:i know what it is. (Score:2)
Don't make me laugh!
The next 50 years of computing will see the introduction of intruding AIs to PCs in order to control the integrity and lawfulness of the user.
Obligatory MS bash... (Score:2)
So would a future version of Windows with this kind of AI uninstall itself the instant its switched on?
benevolent worm (Score:5, Funny)
Why the "Funny" mod? (Score:2)
Whitehat Extremists (Score:5, Interesting)
They then launch their virus and destroy on all non-patching infidels.
What, it could happen.
Re:Whitehat Extremists - Greyhays (Score:1)
Re:Whitehat Extremists (Score:1)
Indeed. What SPEWS does is not so different from what you are proposing.
Re:Whitehat Extremists (Score:2)
You mean, like, the Vorlons?
Pretty Unimaginative Vision (Score:1, Insightful)
No offense, but a *lot* can happen in 50 years...
Re:Pretty Unimaginative Vision (Score:2)
Yep. 50 years ago, the computers we have now would have been inconceivable. But 50 years ago, the computers we had 30 years ago were also inconceivable.
Re:Pretty Unimaginative Vision (Score:2)
Fortunate? (Score:2, Insightful)
In a sense we are fortunate that most attackers want to control and use systems they attack rather than destroy them.
Personally, I find it unfortunate. We would be more fortunate if the attackers did seek to destroy. I'd rather irresponsible people's computers were fried than to get tons of spam and viruses sent by them.
Perfect attack for hardware vendors (Score:2)
Wouldn't a variant of this attack be great for hardware vendors? Read the BIOS and kill a certain percentage of the oldest computers per year. They're old, so folks probably wouldn't think twice about a hardware failure.
Instant upgrade.
Profit!
stating the obvious but (Score:1)
Not much of a difference for most end users. (Score:2, Interesting)
Right, but I really don't see too much of a difference between a computer under the control of a hacker or hacker group and a destroyed computer, because either one makes a computer unusable for your average end user.
It's an exhaustive effort to get rid of hackers once they're in since they install all kinds of nasty software, so for people who don't know much except their computer is doing
How come nobody talks about... (Score:2)
Dammit Alan! (Score:2)
A virus as described should be released (Score:2)
The Best Solution (Score:1)
Re:But you said (Score:2, Insightful)