Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Six Dumbest Ideas in Computer Security

The Six Dumbest Ideas in Computer Security

Written by Marcus Ranum. These are the slides I use when I lecture my students on the paper.

Avatar for Kevin Thompson

Kevin Thompson

January 03, 2015
Tweet

More Decks by Kevin Thompson

Other Decks in Education

Transcript

  1. What are the risks? ❖ Hacking ❖ Malware ❖ Social

    Engineering ❖ Misuse ❖ Physical ❖ Error ❖ Environmental ❖ These are the things that cause instability in our IT services pyramid.
  2. What are the assets? ❖ Health information ❖ Credit card

    information ❖ Online banking ❖ Personal Privacy
  3. How did it get this bad? ❖ That’s where the

    six dumbest ideas come in ❖ This is the genesis ❖ This is where it all went wrong ❖ This is the most important thing you will learn in this class.
  4. Background ❖ The Internet wasn't supposed to be what it

    is. ❖ It was just a research project ❖ Everybody knew and trusted each other. ❖ Nobody would ever do business on this thing!
  5. Background ❖ The Internet was engineered to solve the problems

    that it faced in its infancy. ❖ Connections were unreliable, so there is a lot of error checking. ❖ Memory was scarce, so protocols are low on overhead.
  6. Background ❖ We were just trying to make this incredible

    thing work. ❖ Security wasn't on our minds. ❖ Just make it work. ❖ We could always secure it later. ❖ Have you ever caught yourself thinking that?
  7. Background ❖ That was the environment that lead to the

    six dumbest ideas. ❖ We built it that way, but we couldn't fix it. ❖ Too many people depended on it. ❖ We were too busy building the next addition (which repeated the 6 dumbest ideas)
  8. Background ❖ We finally got TCP/IP working, but people can

    forge the source of packets. Should we fix that? ❖ Not right now. I really want to make this DNS thing work.
  9. Background ❖ DNS works, but people can spoof responses and

    redirect users. Should we fix that? ❖ Not right now. I think we should focus on creating "e- mail".
  10. Background ❖ Email is working, but this is a mess!

    We've got spam and hacking. We have to fix these problems! ❖ Hey look! I made a "facebook" and a "twitter" and a "myspace"
  11. Today ❖ The Internet has become mostly a naked lady

    machine that steals from us. ❖ So what were the six dumb ideas?
  12. Default Permit ❖ By default you allow programs, people, and

    machines to do whatever they want. ❖ The most powerful of all the six dumb idea. ❖ So powerful that the next two ideas could be its children.
  13. "On my computer here I run about 15 different applications

    on a regular basis. There are probably another 20 or 30 installed that I use every couple of months or so. I still don't understand why operating systems are so dumb that they let any old virus or piece of spyware execute without even asking me. That's 'Default Permit.'" -Marcus Ranum
  14. Default Permit ❖ The opposite is default deny. ❖ Default

    Permit: "You're all allowed to date my daughter unless I say no." ❖ Default Deny: "None of you are allowed to date my daughter unless I say yes."
  15. Enumerating Badness ❖ Trying to make a list of everything

    bad. ❖ Blacklisting instead of whitelisting. ❖ Antivirus software is the classic example.
  16. Enumerating Badness ❖ Would you rather: ❖ Make a list

    of everyone that is NOT allowed to take money out of your checking account. ❖ - OR - ❖ Make a list of everyone that IS allowed to take money out of your checking account.
  17. Enumerating Badness ❖ If you catch yourself doing this then

    it means that you already screwed up somewhere. ❖ Combat this with "Artificial Ignorance." ❖ Enumerating badness is internal evidence of our security failures.
  18. Penetrate and Patch ❖ This is dumbness in our response

    to external evidence of our failures. ❖ If your system is hacked, then you know there is a flaw. Patching is a quick fix until you can re-engineer the problem away.
  19. Penetrate and Patch ❖ Unless you never go back and

    do the re-engineering. ❖ Patching is where you don't address the root cause of a problem you created.
  20. Penetrate and Patch ❖ This does NOT mean that you

    shouldn't apply vendor patches. ❖ You have to work with the security tools that you're given. ❖ This does NOT mean that you shouldn't patch software you write. ❖ But you better be working on fixing the root cause or you'll just find yourself writing another patch next month.
  21. Penetrate and Patch ❖ Somebody discovers that a carefully crafted

    packet will make your database crash. ❖ Good Idea: Issue a patch to stop that packet while you study the problem and fix the underlying issue. ❖ Dumb Idea: Issue a patch to stop that packet.
  22. Hacking is cool ❖ This is a societal problem so

    I don't think there is much you can do about it. ❖ We all marvel at Danny Ocean stealing from the Bellagio. ❖ We don't marvel at the guy that built a safe so secure that it took 11 people months of planning to break in.
  23. Educating Users ❖ I can't agree with Marcus entirely on

    this one. ❖ It isn't the first time that Marcus and I have disagreed. ❖ What he is trying to say is that rather than educate users, we should engineer systems so that the user doesn't need to be educated.
  24. Educating Users ❖ But we have to live in the

    real world where people didn't engineer things that way. ❖ My modified rule: if user education is the only thing standing between you and failure, then prepare to fail.
  25. Action > Inaction ❖ This dumb idea is seen when

    people want to upgrade a working system just for the sake of upgrading. ❖ Changes are the enemy of stability, we learned that last 2 weeks ago. We should only change when we have a compelling reason to change.
  26. Action > Inaction ❖ "It is easier to not do

    something dumb than it is to do something smart." -Marcus Ranum ❖ Letting other people fail is an outstanding, free test environment.
  27. Review ❖ Default Permit ❖ Enumerating Badness ❖ Penetrate and

    Patch ❖ Hacking is cool ❖ Educating Users ❖ Action is better than Inaction ❖ You will be tested on this!
  28. Marcus Ranum ❖ This is Marcus. He is going to

    show up whenever we see one of the six dumbest ideas in this course. ❖ Marcus didn't give me permission to do that. He will likely punch me when he finds out.