Slashdot Mirror


The Next 50 Years of Computer Security

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."

22 of 128 comments (clear)

  1. 50 years, eh? by grub · · Score: 5, Insightful

    [...] at the moment computer security is rather basic and mostly reactive.

    OpenBSD 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.

    --
    Trolling is a art,
  2. Sleeping....? by Valiss · · Score: 3, Insightful

    Seems to be the classic 'sleep with the devil' scenario. The problem occurs when the hackers, over time, want more than you want give/barter with.

    --

    -Valiss
    1. Re:Sleeping....? by Tackhead · · Score: 4, Insightful
      > 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 intruders, which they would zealously remove
      >
      > 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.)

      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.

  3. looking back on the last 50 years, by JeanBaptiste · · Score: 4, Insightful

    I can't see how anyone can claim to know what is going to happen in the next 50.

    1. Re:looking back on the last 50 years, by mov_eax_eax · · Score: 3, Informative

      RTFA. even if the title of the interview says "The Next 50 Years of Computer Security" the content is not related with the next 50 years, there are just some superficial random thoughts of alan cox about CURRENT security.

  4. Re:The next step in security: benevolent parasites by starfishsystems · · Score: 4, Insightful
    Isn't that rather like setting the fox to guard the henhouse?

    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.

    --
    Parity: What to do when the weekend comes.
  5. Fortunate? by Krast0r · · Score: 5, Insightful

    "In a sense we are fortunate that most attackers want to control and use systems they attack rather than destroy them." - however in a sense we are unfortunate that they generally take control of them to destroy someone elses computer, it just depends on how selfish you are.

    --
    Matthew Grint Midnight Artists
  6. Re:The next step in security: benevolent parasites by taustin · · Score: 4, Insightful

    Sounds like a classic protection racket to me.

  7. Global proofs of security are not on.. by Ckwop · · Score: 4, 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.

    1. Re:Global proofs of security are not on.. by querencia · · Score: 4, Insightful

      "I expect that Alan Cox doesn't understand the issues deeply enough."

      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.

    2. Re:Global proofs of security are not on.. by starfishsystems · · Score: 3, Insightful
      The next problem is that we haven't figured out a way to make security modularise.

      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.

      --
      Parity: What to do when the weekend comes.
  8. Bull! by cbiltcliffe · · Score: 3, Insightful
    In a sense we are fortunate that most attackers want to control and use systems they attack rather than destroy them.
    Not a chance. Because with that, we've got millions of clueless users who think that because their computer turns on, it can't possibly have a virus/worm/spy trojan, so they do absolutely jack shit about it. Meanwhile, I'm still getting copies of Netsky.P emailed to me. It's almost a year and a half old, for Pete's sake!!!
    --
    "City hall" in German is "Rathaus" Kinda explains a few things......
  9. 'tis a pity... by advocate_one · · Score: 5, Insightful
    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.

    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...

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  10. The good ol' days... by traveyes · · Score: 4, Funny

    ...when a virus just wiped your harddrive....

    .

    1. Re:The good ol' days... by TheRaven64 · · Score: 3, Insightful
      The most successful ones back then waited a few days / weeks and infected every floppy disk you inserted (executables and boot sector) so that they didn't die out immediately. Of course, the longer this period was, the more copies of the virus would exist and the more successful it was. Eventually, the period extended to infinity - the virus would infect the `host organism' and use it to create copies of itself until it was detected and killed. A virus with this strategy was far more successful - in fact the most successful virus would be one that didn't have any adverse effect on the computer at all.

      And that, my friends, is an example of both evolution and intelligent design in operation.

      --
      I am TheRaven on Soylent News
  11. Obligatory Simpsons Quote... by bigtallmofo · · Score: 3, Funny

    Professor Frink: Well, sure, the Frinkiac-7 looks impressive, don't touch it, but I predict that within 100 years, computers will be twice as powerful, 10,000 times larger, and so expensive that only the five richest kings of Europe will own them.

    --
    I'm a big tall mofo.
  12. Re:The next step in security: benevolent parasites by Clovert+Agent · · Score: 3, Funny

    "Yes, Mr Sarbanes Oxley Auditor, I exposed my entire desktop computing infrastructure to a group of self-proclaimed hackers so they could uninstall spyware for me. Great idea, huh? Huh? Hey! Come back! I haven't told you about the foxes guarding the corporate henhouse yet."

    I have a better idea. Swap some other commodity (like, say, money) for the same service, and call it an MSSP.

  13. Problem by mcc · · Score: 5, Insightful

    There are a large number of problems with your suggestion. I will outline only one.

    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; ... and then six months later your computer will be part of a gigantic DDOS or some other illegal act so large it will attract the FBI's attention. From here there are two possibilities. Possibility one is, the people you've been contracting with here are a legitimate business, in which case the FBI will get their contact information from you and have them arrested. Possibility two is, the people you've been contracting with here are not a legitimate business, in which case the FBI will arrest you for conspiring with an organized crime group. We can assume no group even remotely competent enough to even get into this hypothetical security "protection" business in the first place would be stupid enough to let possibility one happen. This leaves possibility two. See the problem?

  14. fast vs. slow spreading... by markana · · Score: 4, Insightful

    "In a sense we are fortunate that most attackers want to control and use systems they attack rather than destroy them."

    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.

  15. benevolent worm by someone1234 · · Score: 5, Funny

    A worm which would spread fast like slammer and destroy infected machines after a short time is actually benevolent. It will destroy only machines that would otherwise be used as spam zombies. The day after the outbreak the internet would be clean again!

    --
    Patents Drive Free Software as Hurricanes Drive Construction Industry
  16. Whitehat Extremists by mrwiggly · · Score: 4, Interesting

    A group of whitehat extremists may become tired of lusers that don't patch their systems, and decide that they don't deserve to use the internet.

    They then launch their virus and destroy on all non-patching infidels.

    What, it could happen.

  17. HOWTO: Provably Secure Linux by jd · · Score: 3, Interesting
    Here are some steps to produce a provably secure version of the Linux Operating System. And, yes, I mean provably secure. It is not the only method, it is not necessarily the best method, it is merely a workable* method.

    *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

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)