Wednesday, 25 May 2016

Coderdojo @ Riot Dublin

Tomorrow (26th May, 2016) many of the Rioters in the Dublin office will be partnering with Coderdojo for 24 hours (12pm, Thursday, to 12pm, on Friday) to fast-track some of their projects. We've got bean bags, refreshments, some surprises and, of course, coffee to move the needle for the Coderdojo team and help them clear out their backlog.

I'm personally incredibly excited to see what we can do to support Coderdojo and I expect there to be many tired Rioters on Friday, some folk are even supporting remotely whilst they travel :) Coderdojo does amazing work so we feel it's the very least we can do to help out.

Each project has a team captain, I just hope we don't have to follow too much scrum :) Oh yeah, stickers.....

Sunday, 22 May 2016

What's the point of (InfoSec) Certifications?

Quite recently, my GSE was up for renewal.

I'm currently in the middle of transporting my family to another continent and I've slightly more responsibilities work-wise in 2016 versus 2012. However, given the effort and study that it took to get the cert the first time (and to a lesser degree the expense), I figured it was a no-brainer to renew. For me, I've always been a huge fan of the GSE and considered it the epitome of InfoSec certifications, much like the CCIE for (Cisco) networking.

Personally, I learn better by "doing" and consider it as the evidence that someone knows their stuff so the "2-day lab" element in the GSE was a both a huge goal and challenge that I was excited about. I talked about the value of "doing" when trying to learn about yourself previously here with the infamous Security Ninja and here on my own blog so there's no point in repeating myself.

When I did the GSE, I absolutely loved the hands-on lab more than anything-else I'd done in the world of SANS or GIAC, outside of Mike Poor's 503 Packet Work book (if you like packets, this is heaven, literally :) ) and the "Capture the Flag" exercises created by Ed Skoudis in 504 and 560. I've also had some amazing instructors like Arrigo Triulzi (Arrigo teaching SEC504 actually convinced me that my future was in InfoSec) and Stephen Sims, however, I am questioning more than ever the value of certifications and to a lesser degree the training courses (which are priced to be exclusive to a tiny minority who are already fairly well off or lucky - I often recommend Coursera or the Offensive Security stuff to candidates when cost is a real issue).

I do truly value the education that I have received through SANS as well as the support from the companies I've worked at and more importantly my family in order to be able to do those certifications and ultimately get the GSE but now I'm questioning the value of many of them, more than ever. Maybe it's the fact that I've seen people turn up with certifications and know absolutely nothing (the CEH and CISSP-holders are more often than not jokers), though I've never seen a GCIA-holder turn up and not know packets :) I haven't encountered too many OCSP or OCSE holders to have full context on those but having read their syllabuses, the practical element sounds awesome.

As for SANS, as I've said, I've learned hugely there but it truly does seem over-priced. I recently did the FOR572 with Phil Hagen, who also seems to be a great instructor and an awesome dude (based on my limited interactions on email), however, I paid (or in this case Riot did) practically the same price for the course in "offline" format versus "attending the course physically for a week". I am truly baffled as to why there's such a minute difference but I've never seen or heard a good explanation. As for the course, it was very good although I was very familiar with the vast majority of the topic.The exam for this was easily the worst GIAC exam I've ever done - the questions were not clear, occasionally the answers were incorrect and there was too much ambiguity. SANS did reach out but the discussion didn't go too far, I suppose this is natural in comparison to the GSEC but both exams are around $400 to challenge on top or the SANS course or $1149 outright to challenge so surely the standard should be much closer.

Additionally, sadly SANS and GIAC still seemed to be heavily geared to the US Market. For example, with the GSE renewal, the cost is $399 and you get one set of books (i.e. either the GSEC, GCIA or GCIH) included. Sounds sweet, right? Unfortunately if you live outside of the US, you've to pay $199 to ship that one set outside of the US. Being a tight-ass, I used my old books :)

I'm immensely proud of passing the GSE back in 2012 and realise that I am also incredibly lucky to have a company (thanks AIB) to support me in the burden of the financial costs for the vast majority of the per-requisites. However, in 2016 I'm not so proud of passing my renewal. On the other hand, this could simply be me getting old, cynical and grumpy but I'm pretty sure I won't be renewing my GSE in 4 years, we shall see! Maybe if it was to be the practical 2-day lab again, I'd fail :)

I then see articles like this and this, which are two of many pushing people to certifications :( Two of the smartest and hardest-working people I've ever worked with that regularly kick my ass daily don't have degrees. If I ever started a company, they're the first people I'd hire again :)

Here's the complete list of InfoSec certifications, which is pretty incredible and many I've never heard of (it must have been so painful to compile this list). Seeing so many certifications is little scary for me but really, it's just indicative of the bloat in the InfoSec industry in general.

This is either a rant or random thinking aloud but I do feel better after getting it out of my head....

Subsequent Edit:

Some links to "Getting into InfoSec" as it came up in Twitter convos:

Tuesday, 3 May 2016

Being the Bug in Bug Bounty :: Fail & Tell

Late in December 2015, I sent the email below to all of "Engineering" across Riot Games. I want to share this externally because it's core to the security culture that we want to build in Riot, i.e. one of accountability and responsibility, where we aren't afraid to talk about our screw-ups.

Hey Folks,

So as most of you know, I'm a bit of a perfectionist with high standards :)

Well recently, I screwed up and didn't come close to meeting my own expectations.

What did I do?

Well, when testing (locally) Netflix's Security Monkey in 2014, I copied over some aws-related scripts I was using and found useful to a local directory on  my work laptop, where my Github repo was stored. I also mistakenly copied over a flask configuration file ( from the local version of Security Monkey that I was testing at the time.

To compound this mistake, prior to committing files and pushing to my Github repo, I performed a "git add" on the sub-directory (aws), not the specific files I'd added. As a result, was added to the changes to the repo and consequently, committed and pushed up to my personal Github.

What Happened Next?

Nothing for a year until I got a random late-night text from a colleague, nothing unusual there :)
  • Bug Bounty Ticket - xxxx
  • Internal Vulnerability Ticket - xxxx
However, this text was advised me to check our Bug Bounty system. The shear panic and "shit, shit, shit" went around in my head :-/ So unsurprisingly, I immediately logged on to  read the bug report.

What was the impact? 

Fortunately, close to nothing:
  • the file was a test file with no production credentials of any sort
  • we have publicly committed to the Security Monkey repo
  • we have publicly spoke about using Security Monkey
  • sheer embarrassment and annoyance on my behalf
What's the point of this email?
  • I'd like to apologise to you guys for screwing up.
  • To let you know that I've removed the personal repo and modified the controls on any public github repo that's been cloned to my system
  • This researcher was actually very cool (despite initially claiming it was an awesome vulnerability and significant information disclosure).
    • Validation is important on all (vulnerability/bug) reports coming in through our Bug Bounty or any other medium.
  • I feel like I got lucky
  • Run "git status" before "git push origin master"
  • .gitignore doesn't always save you :(
  • I got great support from the InfoSec team on this, which meant a lot and reminded me that we're a team at all times (success & failures).
  • Hopefully others will realise that it's not the end of the world to make mistakes and it's important that we don't try to hide them but share them and learn from them.
If you've any questions or feedback for me, please let me know.

This episode was a huge learning experience for me and I believe I can only improve from it (whilst, yeah, I was lucky). It was ultimately a very humbling experience, a nice reminder that we in #InfoSec make mistakes, that we should not be advocating for security from the our perches up high, feeling perfect.

We have a "no asshole" rule and I believe this is one reason (of many) why I had a pretty awesome and very supportive response from many across Riot, a nice reminder that it's often better to talk about your failures than your successes.