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

Making Security Invisible by Becoming the Developer's Best Friends

Making Security Invisible by Becoming the Developer's Best Friends

Here is the presentation I delivered in Oct 2011 at OWASP's AppSec Brazil conference:

I think I was able to capture how security tends to be seen by developers, how it is currently a TAX on the SDL and how we need to move Application Security into the 'application visibility' space so that we add value to the entire SDL (and create a positive model where the developers want to engage with us)

After you read the presentation, check out this video which I recorded also in Brazil: "A developer's rant about security professionals" http://www.youtube.com/watch?v=HYEPYSF32kQ (he was one of the developers that was at the audience which really related to the problem of receiving security guidance from security 'consultants' that don't understand his app).

The demos showed how the O2 Platform (http://o2platform.com) allowed this world to exist :)

diniscruz

April 07, 2012
Tweet

More Decks by diniscruz

Other Decks in Programming

Transcript

  1. The OWASP Foundation http://www.owasp.org Making Security Invisible by Becoming the

    Developer's Best Friends OWASP AppSec Latam 2011 (Brazil) Dinis Cruz [email protected] Tuesday, 8 November 2011
  2. Dinis Cruz Long-time OWASP contributor OWASP O2 Platform (project) OWASP

    Seasons of Code OWASP Summits (2008 & 2011) OWASP Training Days OWASP Books Helped multiple chapters and conferences Multiple tools & research at OWASP .NET Setup Application Security Team at Global Bank Performed Security Reviews (White and Black box) on 100s of apps Credited for vulnerability on .NET Framework and vulnerability on Spring MVC Worked for OunceLabs (now IBM AppScan Source) and made it work Didn’t joined IBM (after OunceLabs acquisition) and spent 18 months rewriting the OWASP O2 platform (and making my vision a reality) Currently at Security Innovation (Boston/Seattle company) Tuesday, 8 November 2011
  3. Dinis @ Security Innovation Responsible for the TeamMentor product i.e.

    I’m shipping code SI is going to Commercially Support the OWASP O2 Platform with a focus on findings-automation and security-tools-integration SI is a strong OWASP Supporter Silver sponsor at AppSec USA published OWASP TeamMentor Library under CC (Creative Commons) published OWASP Top 10 e-learning course under CC helping the clarify the commercial relationship with OWASP’s ecosystem Sponsored me to come here 3 Tuesday, 8 November 2011
  4. Don’t stop asking ‘why not?’ Try new ideas: 8 Barefoot

    walking/running Tuesday, 8 November 2011
  5. Don’t stop asking ‘why not?’ Try new ideas: 8 Barefoot

    walking/running Tuesday, 8 November 2011
  6. Don’t stop asking ‘why not?’ Try new ideas: 8 Barefoot

    walking/running Tuesday, 8 November 2011
  7. I’m going to speak as the developer of 12 and

    a couple other apps: HacmeBank, JPetstore, Altoro Mutual Tuesday, 8 November 2011
  8. In fact I want to security to be INVISIBLE (or

    transparent) 16 Tuesday, 8 November 2011
  9. As with every other developer, I don’t want my app

    to have security vulnerabilities 17 Tuesday, 8 November 2011
  10. ... as long as the workflow ‘works’ for me and

    my team 19 Tuesday, 8 November 2011
  11. You (security teams) are quite in the bottom of the

    food chain 24 Tuesday, 8 November 2011
  12. I’m smart If I wasn’t smart I wouldn’t be working

    (& paid) as a developer 25 Tuesday, 8 November 2011
  13. If I’m not Smart don’t tell that to my boss

    (specially NOT in a report format) 26 Tuesday, 8 November 2011
  14. Actually In the real world the issue is usually not

    ‘smart’ but ‘experience on the APIs/Framworks used’ 29 Tuesday, 8 November 2011
  15. if you want to talk about: jQuery, Javascript, MVC, Reflection,

    Hibernate, Struts, AoP, High performance Algorithms, Compression techniques, cache management, Agile, Pointers, Code Patterns, Authorisation Models, QA, User-acceptance- tests, Use-Cases, UML, SRCUM, StackOverflow, GIT, App Hosting/Clustering, etc.... 33 Tuesday, 8 November 2011
  16. I’m the one making money, grabbing eyeballs, creating value or

    whatever the business wants to call it 38 Tuesday, 8 November 2011
  17. Quiz Question: When was the last time that developers where

    REALLY exited to talk with Security Teams? 41 Tuesday, 8 November 2011
  18. Yeah I can see the Queue from here..... (I think

    some developers would shoot Security teams if that was legal) 42 Tuesday, 8 November 2011
  19. The devs can’t visualise how their app works 45 (and

    management) Tuesday, 8 November 2011
  20. The devs don’t understand how their app works 46 (and

    management) Tuesday, 8 November 2011
  21. The devs don’t understand how their app works 46 (and

    management) (and buyers) Tuesday, 8 November 2011
  22. The devs don’t understand how their app works 46 (and

    management) (and buyers) (and users) Tuesday, 8 November 2011
  23. what is the data-binding behaviour of the Frameworks used (case

    point MVC Frameworks) 52 Tuesday, 8 November 2011
  24. What are the connections between the managed layers (C# &

    Java) and unmanaged layers (C/C++)? 57 Tuesday, 8 November 2011
  25. (easier question) What is the real CALL FLOW of a

    request (from the web to the backend and back to the web) 59 Tuesday, 8 November 2011
  26. (harder question) What is the real TAINT FLOW of a

    request (from the web to the backend and back to the web) 60 Tuesday, 8 November 2011
  27. (much harder question) What is the real TAINT (with CONTROL)

    FLOW of a request (from the web to the backend and back to the web) 61 Tuesday, 8 November 2011
  28. If it compiles Ship it! (I see this behaviour at

    a lot of dev shops) 63 Tuesday, 8 November 2011
  29. If it compiles (and passes the ‘security tools’) Send it

    to the ‘Security Team’ (who now have funds to hire their own staff) 65 Tuesday, 8 November 2011
  30. and that is on companies WITH internal security teams &

    awareness 74 Tuesday, 8 November 2011
  31. One where ‘Application Security’ practices are invisible/transparent to 99% of

    the parties involved (the 1% are the ones directly involved in security, such as security teams, devs,architects, CISO, etc...) 79 Tuesday, 8 November 2011
  32. but before we get to the solution, lets set the

    stage.... 80 Tuesday, 8 November 2011
  33. receive a PDF (or portal) with security findings 82 I

    don't want to: Tuesday, 8 November 2011
  34. receive a tool result with partial (or zero) context about

    my app 83 I don't want to: Tuesday, 8 November 2011
  35. spent time sorting out the False positives created by tools

    84 I don't want to: Tuesday, 8 November 2011
  36. have tons of bugs filled into my bug tracking system

    85 I don't want to: Tuesday, 8 November 2011
  37. receive non-automated findings (that will force me to spend time

    replicating the issue) 86 I don't want to: Tuesday, 8 November 2011
  38. receive no information on the impact of the ‘proposed fix’

    the ‘blast ratio’ of a fix i.e. how much s*** will break 87 I don't want to: Tuesday, 8 November 2011
  39. be ‘lectured’ by a ‘security expert’ that doesn’t understand my

    application 88 I don't want to: Tuesday, 8 November 2011
  40. I don’t want to be told to ‘go to school’

    usually framed as “we need to give ‘security education’ to developers” 89 I don't want to: Tuesday, 8 November 2011
  41. I don’t think that (even if they tried) ‘security consultants’

    couldn’t OFEND more the developers than they do today 91 Tuesday, 8 November 2011
  42. I want to know the implications of the multiple APIs

    & frameworks used 93 Tuesday, 8 November 2011
  43. Ideally I should be able to use those APIs is

    the most efficient way 94 Tuesday, 8 November 2011
  44. I want to know when I use those APIs and

    Frameworks incorrectly 95 Tuesday, 8 November 2011
  45. if you don’t help me to understand how my Application

    works 102 Tuesday, 8 November 2011
  46. you are a TAX that I have to Pay or

    an INSURANCE that I have to Pay 103 Tuesday, 8 November 2011
  47. Did you noticed the lack of ‘security’ in the last

    slides? :) 104 Tuesday, 8 November 2011
  48. What I want from a security point of view (in

    red) Tuesday, 8 November 2011
  49. I want to know the Security implications of the multiple

    APIs & frameworks used 107 Tuesday, 8 November 2011
  50. Ideally i should only be able to use those APIs

    in a SECURE way 108 Tuesday, 8 November 2011
  51. I want to know when I use those APIs and

    Frameworks insecurely 109 Tuesday, 8 November 2011
  52. I want to understand the security risk profile of my

    Application! 110 Tuesday, 8 November 2011
  53. So how was I able to do what I wanted

    (from both a security and developer point of view) 112 Tuesday, 8 November 2011