Here’s my LASCON 2016 presentation on Lean Security, explaining how and why to apply Lean Software principles to information security!
Tag Archives: lascon
I wanted to mention a couple Austin area events folks should be aware of – and one international one! November is full of DevOps goodness, so come to some or all of these…
The international one is called All Day DevOps, Tuesday November 15 2016, and is a one long day, AMER and EMEA hours, 3-track, free online conference. It has all the heavy hitter presenters you’d expect from going to Velocity or a DevOpsDays or whatnot, but streaming free to all. Sign up and figure out what you want to watch in what slot now! James, Karthik, and I are curating and hosting the Infrastructure track so, you know, err on that side🙂 There’s nearly 5000 people signed up already, so it should be lively!
Then there’s CD Summit Austin 2016. There’s a regional IT conference called Innotech, and devops.com came up with the great idea of running a DevOps event alongside it. It’s Wednesday November 16 (workshops) and Thursday November 17 (conference) in the Austin Convention Center. All four of the Agile Admins will be doing a panel on “The Evolution of Agility” at 11:20 on Thursday so come on out! It’s cheap, even both days together are like $179.
But before all that – the best little application security convention in Texas (or frankly anywhere for my money) – LASCON is next week! Tues and Wed Nov 1-2 are workshop days and then Thu-Fri Nov 3-4 are the conference days. I’m doing my Lean Security talk I did at RSA last fall on Friday, and James is speaking on Serverless on Thursday. $299 for the two conference days.
Loads of great stuff for all this month!
Jason Chan (@chanjbs) is an Engineering Director of the Cloud Security team at Netflix.
Tell me about your current gig!
I work on the Cloud Security team at Netflix, we’re responsible for the security of the streaming service at Netflix. We work with some other teams on platform and mobile security.
What are the biggest threats/challenges you face there?
Protecting the personal data of our members of course. Also we have content we want to protect – on the client side via DRM, but mainly the pipeline of how we receive the content from our studio partners. Also, due to the size of the infrastructure, its integrity – we don’t want to be a botnet or have things injected to our content that can our clients.
How does your team’s approach differ from other security teams out there?
We embody the corporate culture more, perhaps, than other security teams do. Our culture is a big differentiator between us and different companies. So it’s very important that people we hire match the culture. Some folks are more comfortable with strong processes and policies with black and white decisions, but here we can’t just say now, we have to help the business get things done safely.
You build a security team and you have certain expertise on it. It’s up to the company how you use that expertise. They don’t necessarily know where all the risk is, so we have to provide objective guidance and then mutually come to the right decision of what to do in a given situation.
Tell us about how you foster your focus on creating tools over process mandates?
We start with recruiting, to understand that policy and process isn’t the solution. Adrian [Cockroft] says process is usually organizational scar tissue. By doing it with tools and automation makes it more objective and less threatening to people. Turning things into metrics makes it less of an argument. There’s a weird dynamic in the culture that’s a form of peer pressure, where everyone’s trying to do the right thing and no one wants to be the one to negatively impact that. As a result people are willing to say “Yes we will” – like, you can opt out of Chaos Monkey, but people don’t because they don’t want to be “that guy.”
We’re starting to look at availability in a much more refined way. It’s not just “how long were you down.” We’re establishing metrics over real impact – how many streams did we miss? How many start clicks went unfulfilled. We can then assign rough values to each operation (it’s not perfect, but based on shared understanding) and then we can establish real impact and make tradeoffs. (It’s more story point-ish instead of hard ROI). But you can get what you need to do now vs what can wait.
Your work – how much is reactive versus roadmapped tool development?
It’s probably 50/50 on our team. We have some big work going on now that’s complex and has been roadmapped for a while. We need to have bandwidth as things pop up though, so we can’t commit everyone 100%. We have a roadmap we’ve committed to that we need to build, and we keep some resource free so that we can use our agile board to manage it. I try to build the culture of “let’s solve a problem once,” and share knowledge, so when it recurs we can handle it faster/better. I feel like we can be pretty responsive with the agile model, our two week sprints and quarterly planning give us flexibility. We get more cross-training too, when we do the mid-sprint statuses and sprint meetings. We use our JIRA board to manage our work and it’s been very successful for us.
What’s it like working at Netflix?
It’s great, I love it. It’s different because you’re given freedom to do the right thing, use your expertise, and be responsible for your decisions. Each individual engineer gets to have a lot of impact on a pretty large company. You get to work on challenging problems and work with good colleagues.
How do you conduct collaboration within your team and with other teams?
Inside the team, we instituted once a week or every other week “deep dives” lunch and learn presentation of what you’re working on for other team members. Cross-team collaboration is a challenge; we have so many tools internally no one knows what they all are!
You are blazing trails with your approach – where do you think the rest of the security field is going?
I don’t know if our approach will catch on, but I’ve spent a lot of my last year recruiting, and I see that the professionalization of the industry in general is improving. It’s being taught in school, there’s greater awareness of it. It’s going to be seen as less black magic, “I must be a hacker in my basement first” kind of job.
Development skills are mandatory for security here, and I see a move away from pure operators to people with CS degrees and developers and an acceleration in innovation. We’ve filed three patents on the things we’ve built. Security isn’t’ a solved problem and there’s a lot left to be done!
We’re working right now on a distributed scanning system that’s very AWS friendly, code named Monterey. We hope to be open sourcing it next year. How do you inventory and assess an environment that’s always changing? It’s a very asynchronous problem. We thought about it for a while and we’re very happy with the result – it’s really not much code, once you think the problem through properly your solution can be elegant.
Nick Galbreath (@ngalbreath) is VP of Engineering with client9, LLC.
What are you doing nowadays since leaving Etsy?
I am managing a small DevOps team for a company whose engineering team is based in Moscow, from Tokyo, Japan. Some other executives and our biggest customer is from there. And, I love Japan!
I know you from Velocity and the other DevOps conferences. Why are you here at a security conference?
I’ve been active at Black Hat, DEFCON, etc. as well as DevOps conferences. I’ve found that if your company is in operational chaos you don’t need security. Once you have a good operational component and it’s not in chaos – standardized infrastructure, automation – you get up to the level where you can be effective at security. I used the same approach at Etsy – I started there working on security, stopped, worked in infrastructure until that was basically squared away, and only then started working on security again. You have to work your way up Maslow’s hierarchy.
It’s the same with development. My background is originally development and when you’re programming in C/C++ your main effort is stability, but all those NPEs and other bugs are also security issues. I don’t know any company doing well at security and not well at development, I’m not sure you can do it. Nail the basics and then the advanced topics are achievable.
What’s your opinion on how much the security space has left developers behind?
Look at the real core issues behind security. Dev teams have trouble with writing secure code, ops folks have problems with patching – at security conferences you don’t see anything for solving those problems. Working on offense/breaking and blocking tools is lucrative but inhibits us from going after the root causes.
For many security pros, working in a team instead of solo is a different skill set. “We don’t want to bother the developers with this” – siloed approaches are killing us.
What do you see as the most interesting thing going on in the security landscape right now?
What has happened in the last 3-4 months, as much as I hate to say it, with all the leaking of documents – we’ve been lazy about encryption and privacy and other foundational elements and we assumed it worked, now we’re doing some healthy review to do a next generation of those. It brought that discussion to the forefront. The certificate authority problems, and the NSA stuff – we need to spend some time and think about this. The next generation of SSL and certificate transparency are very interesting.
In terms of pure language work… Improvement of cryptography. Also, we’re making more business level APIs for common problems like PHP5’d password hashing APIs. If your’e building a Web app and need auth you’re starting from zero most of the time and now you’re starting to see things put into the languages that solve these problems.
Out in the larger DevOpsey world, what are the things to watch, what is your team excited about?
Stuff that we’re excited about is traditional devops stuff like really treating our infrastructure like code. No button clicking, infrastructure completely specified in config files in source control, code reviews, and then the file pushed to production to allocate/deallocate hardware and deploy software. That’s a big change.
How do we disseminate best practices/prevent worst practices through those who aren’t the technical “1%?”
Well, best practices are harder
People went into server programming because they don’t like doing user interface stuff. But the joke’s on us, there is still a user interface, it’s configuration files, installers, etc. which are nontrivial. We should either be bundling audit software or server-side config healthchecks to provide warnings. “Why do you have SSL v2 enabled?” “Why are your .htaccess files visible by default?” [Ed: Where the hell did apache chkconfig go?]
People in ops can write these but retroactively folks won’t use them… But the future can have them. If you at least get warned that your Apache config is using suboptimal security configs it’s your deliberate negligence to not do it right.
Maybe take the module approach (Apache wouldn’t want it in their core I’m sure) – if you want to work on it give me a call!
What message do you want to send to other security folks?
For security people, the message is, “It’s really important you start bringing your non-security friends to these security conferences.” Devs and ops and business and QA. They’ll find it interesting and get involved. It’s really important.
Last year, we had a dozen people from my company come out to AppSec. But except for me and our security team, they’re not back this year. There just wasn’t enough content to hold the interest of the devs. What can we do about that?
Really! Interesting. Maybe we need more of a proper dev track, with more things like Karthik’s talk.
A project I’ve wanted to do for a very long time – most people in business and development don’t have real idea of how much damage can be done, it’s why we have Red Teams. If someone’s really good at SQLi, etc. do a talk showing how much damage can be done.
Also – if you work at any company, you depend on an immense set of open source software and they don’t have a security person or anything. Get involved in their process, try to help them and make it better and it’ll improve quality of everyone’s systems. We could do a hackathon during the convention to improve some existing projects.
I’m afraid I only got to one session in the afternoon, but I have some good interviews coming your way in exchange!
User Authentication For Winners!
I didn’t get to attend but I know that Karthik’s talk on writing a user auth system was good, here are the slides. When we were at NI he had to write the login/password/reset system for our product and we were aghast that there was no project out there to use, you just had to roll your own in an area where there are so many lurking security flaws. He talks about his journey and you should read it!
AWS CloudHSM And Why It Can Revolutionize Cloud
Oleg Gryb (@oleggryb), security architect at Intuit, and Todd Cignettei, Sr. Product Manager with AWS Security.
Oleg says: There are commonly held concerns about cloud security – key management, legal liability, data sovereignty and access, unknown security policies and processes…
CloudHSM makes objects in partitions not accessible by the cloud provider. It provides multiple layers of security.
[Ed. What is HSM? I didn’t know and he didn’t say. Here’s what Wikipedia says.]
Luckily, Todd gets up and tells us about the HSM, or Hardware Security Module. It’s a purpose built appliance designed to protect key material and perform secure cryptographic operations. The SafeNet Luna SA HSM has different roles – appliance administrator, security officer. It’s all super certified and if tampered with blows up the keys.
AWS is providing dedicated access to SafeNet Luna SA HSM appliances. They are physically in AWS datacenters and in your VPC. You control the keys; they manage the hardware but they can’t see your goodies. And you do your crypto operations there. Here’s the AWS page on CloudHSM.
They are already integrated with various software and APIs like Java JCA/JCE.
It’s being used to encrypt digital content, DRM, securing financial transactions (root of trust for PKI), db encryption, digital signatures for real estate transactions, mobile payments.
Back to Oleg. With the HSM, there’s some manual steps you need to do, Initialize the HSM, configure a server and generate server side certs, generate a client cert on each client, scp the public portion to the server to register it.
Normal client cert generation requires an IP, which in the cloud is lame. You can isntead use a generic client name and use the same one on all systems.
You put their LunaProvider,jar in your Java CLASSPATH and add the provider to java/security and you’re good to go.
Making a Luna HA array is very important of course. If you get two you can group them up.
Suggested architecture – they ahve to run in a VPC. “You want to put on Internet? Is crazy idea! Never!”
Crypto doesn’t solve your problem, it just moves it to another place. How do you get the secrets onto your instances? When your instance starts, you don’t want those creds in S3 or the AMI…
So at instance bootstrap, send a request to a server in an internal DC with IP, instance ID, public and local hostanmes, reservation ID, instance type… Validate using the API including instance start time, validate role, etc. and then pass it back. Check for dupes. This isn’t perfect but what are ya gonna do? You can assign a policy to a role and have an instance profile it uses.
He has written a Python tool to help automate this, you can get it at http://sf.net/p/lunamech.
Everyone shuffles in slowly on the second morning of the con. I spent the pre-keynote hour with other attendees sitting around looking tired and comparing notes on gout symptoms. (PSA: if the ball of your foot starts hurting really bad one day, it’s gout, take a handful of Advil and go to your doctor immediately.)
- Impact Security
You can also see a bunch of great pictures from the event courtesy Catherine Clark!
The keynote this morning is from Robert “RSnake” Hansen, now of White Hat. It’s about blind spots we all have in security. Don’t take this as an attack, be self reflective.
Blindspot #1 – Network & Host Security
Internetworked computers is a very complex system and few of us 100% understand every step and part of it.
How many people do network segregation, have their firewall on an admin network, use something more secure than a default Linux install for their webservers, harden their kernel, log off-host and log beyond standard logs? These are all cheap and useful.
Like STS, it was only considered very tightly and the privacy considerations weren’t identified.
Blindspot #2 – Travel and OPSEC
Security used to be more of a game. Now the internet has become militarized. Don’t travel with your laptop. Because – secret reasons I’ll tell you if you ask. (?)
[Ed. Apparently I’m not security 3l33t enough to know what this is about, he really didn’t say.]
Blindspot #3 – Adversaries
You seed to be able to see things from “both sides” and know your adversary (personally ideally). Some of them want to talk! Don’t send them to jail, talk and learn. Yes, you can.
Blindspot #4 – Target Fixation
Vulnerabilities aren’t created equal. Severities vary. DREAD calculations vary widely. Don’t trust a scanner’s DREAD. Gut check but then do it on paper because your gut is often not correct. Often we have “really bad!” vulnerabilities we obsess about that aren’t really that severe.
Download Fierce to do DNS enumeration, do bing IP search, nmap/masscan/unicornscan for open ports.
Blindspot #5 – Compliance vs Security
These aren’t very closely related. Compliance gets you little badges and placated customers. Security actually protects your systems and data. Some people exercise willful negligence when they choose compliance over security. Compliance also pulls spend to areas that don’t help security. Compliance doesn’t care about what hackers do and it doesn’t evolve quickly.
Blindspot #6 – The Consumer
Consumers don’t really understand the most rudimentary basics of how the Internet works and really don’t understand the security risks of anything they do. They’re not bad or stupid but they can’t be expected to make well informed decisions. So don’t make security opt in.
We the security industry are not pro-consumer – we’re pro-business. Therefore we may be the first ones against the wall when the revolution comes. Give them their privacy now.
So pick one, work on it, we’ll be less blind!
Big Data, Little Security?
By Manoj Tripathi from PROS in Houston.
Big Data is still emerging and doesn’t have the mature security controls that older data platforms have.
Big data is a solution to needs for high volume, high velocity, and/or rich variety of data. Often distributed, resilient, and not hardware constrained (but sometimes is).
Hadoop is really a framework, with HDFS, Zookeeper, mapreduce, pig/hive, hbase (or cassandra?). He’ll talk a lot about this framework because it’s so ubiquitous.
NoSQL – Cassandra (eventually consistent, highly available, partition tolerant), MongoDB (consistent, partition tolerant).
Security is an afterthought in Big Data. It can be hard to identify sensitive data (schemaless). He says there’s provenance issues and enhanced insider attacks but I don’t know… Well, if you consider “Big Data” as just large mineable data separate from the actual technology, then sure, aggregate data insights are more valuable to steal… His provenance concern is that data is coming from less secured items like phones/sensors but that’s a bit of a strawman, the data sources for random smaller RDBMSes aren’t all high security either…
Due to the distributed architecture of hadoop etc. there’s a large attack surface. Plus Hadoop has multiple communication protocols, auth mechanisms, endpoint types… Most default settings in Hadoop on all of these are “no security” and you can easily bypass most security mechanisms, spoof, accidentally delete data… Anonymous access, username in URL, no perm checking, service level auth disabled, etc.
Hadoop added Kerberos support, this helps a lot. You can encrypt data in transit, use SSL on the admin dashboards.
But – it’s hard to configure, and enterprises might not like “another” auth infrastructure. It also has preconditions like no root access to some machines and no communication over untrusted networks. And it has a lot of insecure-by-default choices itself (symmetric keys, http SPNEGO has to be turned on in browsers, Oozie user is a super-user with auth disabled by default). No encryption at rest Kerberos RPC is unencrypted. Etc, etc, etc.
To Cassandra. Same deal. CLI has no auth by default. Insecure protocols.
NoSQL vulns – injections just like with SQL. Sensitive data is copied to various places, you can add new attributes to column families.
Practical Steps To Secure It
Cassandra – write your own authorization/authentication plugin. [Ed. Really?] But this has keyspace and column family granularity only. 1.2 has internal auth. Enable node-node and client-node encryption. If you do this at least it’s not naiively vulnerable. Also, use disk support for encryption.
Hadoop – basically wait for Project Rhino. Encryption, key mgmt, token based unified auth, cell level auth in hbase. Do threat modeling. Eliminate sensitive data, use field level encryption for sensitive fields, use OS or file level encryption mechanisms. Basically, run it in a secured environment or you’re in trouble. Apache Knox can enforece a single point of access for auth to Hadoop services but has scalability/reliability issues. Can turn on kerberos stuff if you have to…
Also. commercial hadoop/cassandra have more options.
We move into the afternoon of LASCON. The vendor room was all abuzz, complete with lockpicking village.
Stupid Webappsec Tricks
Zane Lackey, Security Engineer Manager from Etsy (@zanelackey)
Data driven security – look at your data instead of using your presuppositions about how attacks work.
Overwrite common methods but only phone home on interesting payloads.
8477 XSS attempts with mostly alert(), prompt(), confirm() (or multiples thereof). The payloads are mostly what you’d expect, “XSS,” document.cookie, integers (from scanners). Note you can’t match on “document.cookie” because it’ll already be expanded, so look for your domains, unique cookies, etc.
What else detects XSS well? Chrome’s XSS Auditor. Works great. But it can defend the user but doesn’t fix the XSS.
Server side attempt –
- Scan input for HTML esscapes/tag creation.
- If found, set flag to true and create array of hostile input.
- At output time, check flag, see if any hostile input is being output as valid HTML.
- If hostile input is being output, alert!
Need to fail open, stripping will break your app… And it should take you 20 minutes to push to production so detect to fix is a short path!
These are attack chains that can be instrumented. Detection step then exploit step.
Alert on SQL syntax errors showing up in your application today. It’s a bug even if it’s not an exploit.
Watch logs for unique sensitive db table names in requests. Occasional false positives are OK.
A SQL injection exploit response will be huge sized, often larger than is normal, detect that. Whitelist stuff that is supposed to give huge responses.
The more alerts you have in an attack chain the more visibility you have, but false positives happen. But if it’s happening in order down the chain, it’s probably not false.
“Temporary” debug stuff is permanent. How do you find this automatically? Access logs.
Map access logs to code paths. Endpoints that don’t get requests are anomalous. Alert off it then go take it out.
Cheapest way to find webapp vulns – Automation. Your best attackers are doing it manually anyway, but may as well beat out the kiddies. Break off-the-shelf scanners. They give off strong detection signals. User agents, request patterns, requests for stuff that doesn’t exist (*.asp or php on a Java site, for example).
Blocking IPs is easy but dangerous. You’ll break lots of legit things. IPs are not a strong correlation to identity.
- Classify a request as being from a scanner
- If yes, weight based on confidence
- Feed request into rate limiter (see Nick G’s rate limiting at scale talk) and drop if above threshold. They return a 439 “Request Not Handmade”🙂
This doesn’t impact browsing but does scripting. Set your thresholds high; allows for false positives but a scanner will definitely peg it.
Be ready for the weirdness that is the Internet! Tried auto-banning accounts that do scanning. They saw 437 scanners over the last week and only 10 were authenticated and 5 were false positives. Browser plugins is our guess. So don’t auto-ban.
Attacks don’t always happen like you’d expect. Look at the data before you make decisions. Get the instrumentation you need to make those decisions.
“Run a bug bounty program and the Internet shows up!”
And of course you can then insert false data sets to screw with people and increase the cost of attack.
We don’t run scanners of our own because it’s a time sink and requires manual babysitting. We have taken WAF concepts and build them into the apps; since we deploy 30x/day we don’t need the “coverage in the meanwhile” functionality they provide.
Stalking a City for Fun and Frivolity
By Brendon O’Connor, CTO of Malice Afterthought and law student. About CreepyDOL wifi surveillance. He was wearing a kilt and started out by telling us we’d “lost the mandate of heaven.” Why is this? Well…
Everything leaks too much data. Privacy has been disregarded. Fundamental changes are needed to fix this. We need to democratize security – the government is the worst way to do this.
Especially the case of the US persecuting legitimate security researches like Weev for doing things like accessing public information on Web sites.
Wireless. Your devices advertise networks they know for all our convenience. His little doodads find your probe list of wifi locations and gps location. Now we need a distributed way of doing this on a large scale with no centralized control. Academic sensor networks are kinda like this, but expensive. Hence, the F-BOMB hardware gizmo.
Raspberry Pi based, 5W, $57.08. Uses connection to municipal wifi to phone home, with automatic portal-clickthrough. Reticle, leaderless command and control software. Uses TOR to go out.
CreepyDOL is distribute computation for distributed systems. Want to digest on the nodes to minimize net traffic. Centralized querying for centralized questions only. Filters include Nosiness, Observation, and Mining. Visualization using Unity (the game engine). Oh look, you can see a map mashup of people wandering around and click on them and find their name and other useful info.
Bottom line is that all these technologies leak info about you like it’s going out of style and it’s pretty simple to get Orwellian levels of visibility on you for one low price.
I missed this in favor of the next talk; I’ve seen about a dozen gauntlt presentations over time since I know James, but here’s the slides! Integrate security into your CI pipeline you freaks!
Penetration Testing: The Other Stuff
David Hughes, OWASP Austin president and Red Team analyst for GM.
This started as being about organizational skills… It’s general tips on making your life as a pen tester easier.
- Clients aren’t always right about their environment and scope creep can happen.
- Don’t assume you’ll have Internet, there’ll be proxies…
- Prep your tools and do updates and test it ahead of time.
- Rehearse your toolchain
- Title your terminals
- Use mind maps (Freemind), outline tools (NoteCase Pro) to organize tools, systems
- HTTP-Screenshot module does screenshots as nmap scans
- Use output options or pipe to a file
- Reporting – keep organized, do it as you go, use ASCIIdoc to take text to pdf
- Do things the easy way – look for low hanging fruit. DEfault credentials, bad passwords, cleartext, social engineering, dumpster diving, open wireless. Easy stuff is higher risk and the client cares more than esoteric crap.
- Don’t rush recon, look for clues, broken windows
- Have a plan (PTS framework) but range off as needed
- Protect your customer’s data
- Encrypt your stuff
- Have backups
- Learn and use a scripting language
- Don’t rub it in with the client
- Get involved with the community!
And that’s everything but the drinking… Time for happy hour and the mechanical bull!
Here’s some pictures of the volunteers hard at work, the speakers’ green room (there were chair massages there in the afternoon!), and organizer Josh Sokol with Robert “RSnake” Hansen!