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

Builders Vs. Breakers - Head to Head - BSidesCh...

Builders Vs. Breakers - Head to Head - BSidesChicago 2012

In this Builders vs. Breakers talk, Jon Claudius and Matt Konda go toe to toe talking about developer and security concerns. The talk was moderated by Dan Schleiffer and given at BSides Chicago in 2012. This was the first talk where the Builder roasted a Breaker by doing some code review.

Matt Konda

April 28, 2012
Tweet

More Decks by Matt Konda

Other Decks in Programming

Transcript

  1. Head to Head •Introduce a topic •2 audience members debate

    •Commentary •Audience Votes •Win Beer!!! •Repeat
  2. Breaker I’m a badass, of course I’ll own it High

    Risk Vulnerabilities Speed and Coverage
  3. Breaker “The PHP developers will never learn, never improve because

    they are repeating the same mistakes over and over again” – Breaker on Twitter
  4. Builder “… only good at ranting. Zero contribs, and almost

    zero constructive feedbacks but bashing” – Developer reply
  5. 11

  6. 12 A default in Rails that makes programming faster and

    easier manifests in a concrete security issue for github. So called “Mass Assignment” allows a hash of input to be dynamically set onto a model object unless a restriction is set.
  7. “Hackers love Mass Assignment” RailsCast 26 5/2/2007 Rails Issue 3453

    Rails Issue 4062 Rails Issue 3157 Rails Issue 3952 Github Rails Fun 3/2-3/4 2012 2008 2009 2010 2011 2012
  8. 23

  9. 25

  10. “it was also coded under major time crunch” “just bear

    in mind it’s essentially a POC not real production-caliber tool” “<braces for impact>” “Am I getting pre-emptively defensive?”
  11. Code Review Results • Not standard ruby • Naming conventions

    (case and _ / camel) • File layout • Not abstracted • Input / Options parsing could be shared • Unnecessary imports • Config options externalized / overridden • Rake for gem • Tests • Bundler • Lots of even more nitpicky stuff • Let’s talk about OO
  12. 32 “I’m releasing a new vuln today AND I’m including

    a patch” “Look at you making me more responsible, this sucks!!!” “Funny thing was, I found more vulns fixing (building) than breaking”