Security By Design

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites & 1 Group

    Security By Design - Presentation Transcript

    1. Security by design By Arne Blankerts  October 21st, ZendCon 2009 Copyright © 2009 thePHP.cc, Germany
    2. Welcome
    3. Design?
    4. Design!  Done before actual work  Multiple aspects  Infrastructure  Architecture  Software  Visual Components
    5. Infrastructure
    6. Physical Access
    7. The Server
    8. Hardening
    9. Firewalling
    10. Firewalling  IP Level  Filter by source and destination  Port (service) based  Appplication Level  Also called Proxy  Can be used for performance and caching as well
    11. Network layout  Public Network  Proxy  Webserver  Private Network  Webserver  Datebase  Caches  Storage
    12. The Storage
    13. Architecture!
    14. Architecture  Establish Privilege separation  Work with least amount of privileges  Do not run anything as root  Separate Database access  Read only access  Write access
    15. Software
    16. Software  Written from the ground to be secure  Does not rely on secret implementations  Perfect for open source  Separation of concerns  Familiar concept from OOP
    17. Decouple
    18. Validate Input  Enforce types  Do not repair broken data  Sanitize input as needed  And where needed
    19. Keep it simple!
    20. Deny by default
    21. More rules?  Enable E_STRICT and E_NOTICE  Add E_DEPRECATED on PHP 5.3  Split code into modules  Allows for flexible security and access policies  Make sure your code can handle broken input gracefully
    22. Visual Feedback
    23. Visual Feedback Do not train users wrong An “alert” is not a confirmation
    24. Visual Design Try to follow HIGs Adopt to OS order of buttons and actions
    25. Visual Design Be specific in wording Do not mix PIN, Password, Code, Token for the same thing
    26. Visual Design Be aware of i18n / i10n Some icons may not mean the same all over the world
    27. Everything done as told
    28. Failure... or how to break it
    29. Oops.
    30. Man in the middle  Technically a Proxy  Quite a famous attack vector  Can work like a proxy  Even works with SSL  Extended Security Certificates may help here  Information disclosure
    31. Phishing  User is lurked to a cloned look-alike site  Usually slightly modified to contain  Additional input fields  Overwritten target for form submits  Hard to detect  Check referrer in logs  Disallow image loading from 3rd party  Implement anti csrf tokens  Blocks the clone from “save” redirects
    32. Click jacking  Not an exploit  Not a validation problem  Invisible iframe  Uses CSS to be made transparent  Not detectable server side  Only JavaScript to the rescue  Compare location of top and self  top.location.href == self.location.href
    33. Click jacking demo Copyright © 2009 thePHP.cc, Germany
    34. And There Was Light..
    35. 100% Secure?  Impossible to achieve  Never underestimate bored kids ;)
    36. Cost of security
    37. Security is a process A flexible process can be changed A flexible software can adopt to new needs
    38. Q & A
    39. Congrats!
    40. Thank you!
    41. http://joind.in/talk/view/914
    42. Contact  Slides will be on slideshare  http://slideshare.net/theseer  http://www.slideshare.net/group/thephpcc  Contact options  Email: team@thePHP.cc / arne@thePHP.cc  Follow us on twitter:  @arneblankerts  @thephpcc
    SlideShare Zeitgeist 2009

    + Arne BlankertsArne Blankerts Nominate

    custom

    438 views, 2 favs, 0 embeds more stats

    Security is more than filtering input and escaping more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 438
      • 438 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 55
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events