The SaaS CTO Security Checklist Redux
goldfiglabs.com
goldfiglabs.com
IMO a security program which cannot justify its own worth to others in the organization is incomplete.
Most security professionals I've met (and I've been one of them, too) assume that security is or should be everyone's top priority. They struggle to deal with people for whom security is just one of many competing concerns.
Risk assessment and threat modeling are huge for creating such a prioritization. Whether it’s formal and in depth or informal depends again on where things are.
Beyond these concepts, well engineered software simply has less security defects, so focusing on quality and managing technical debt often means less security debt as well.
It’s down to being an immature practitioner to think security concerns are always the primary ones. I think it’s a hard skill to master though, so I am not saying that with great judgement, someone should be a champion for security at most organizations and advocate for it. I think using empathy and curiosity goes a long way to maturing as a practitioner, but it took me many years of practice.
I think one of the best things we can do as security professionals is to identify or work to create security measures that have outsized ROI and advocate for those. Using battle-tested software is one, as are, I believe, measures like MFA.
There are three things that most security types don’t understand:
1. Security is a small component of risk. Impact (in dollars) x Likelihood = Risk
2. Cybersecurity insurance can change the risk equation dramatically
3. It is possible for a security remediation to kill/harm more people than the underlying insecure system that the fix is being applied to
Once you realize that security is a risk problem then you’re able to quantify that problem in dollars. Lives affected can be used as a metric too but dollars are the magical language that everyone can understand.
Do they check if you implement best practices in security? I could imagine, that this will have an impact on the premium.
I also recognise that "when a measure becomes a target it ceases to be a good measure", and cash as the bottom line risks increasing this tendency.
Too idealistic, probably :)
And when you accept this fact, you can skip lamenting about all sorts of ethical questions and just know that everything will be a monetary decision in the end.
1. It clarifies your thinking around impact. The simple exercise of sitting down and trying to put a dollar amount on the reputation damage your organization would suffer if Bad Thing were to happen will help you better understand the likelihood and potential consequences of Bad Thing.
2. It allows for more easy comparison to the costs that will be incurred while mitigating the risk. If you think the impact of Bad Thing will be "significant reputation damage", that's bad, but it doesn't help you decide how much time, effort, and money you ought to dedicate to preventing Bad Thing.
Blindly chasing metrics can lead to pathological behaviour, for sure, so you need to balance that with strong cultural values, but overall I would say the security industry is terribly heavy on cultural values right now and pays little to no attention to measuring what actually matters to organizations.
Two things:
1. Security to some extent doesn't always need to impede engineering. Enterprise IT security is very much focused on removing risky behaviour, without providing any alternatives.
2. The cost to the business losing IP it cannot generate due to excessive security practices should be taken into account when doing these exercises.
I'd argue that the security part of this organization has gone "rogue" and is solely focused on justifying its own existence. It's as if the security part is more focused on reducing liability for itself than it is on actually securing systems.
That said, I still think that most organizations put too little emphasis on security, not too much. And oftentimes, too late.
EDIT: an analogy I like to use is that oftentimes these people try to build a castle surrounded by massive walls without doors or gates, but since people inside still have to get things from the outside they just dig a tunnel circumventing the whole thing. But since it wasn't approved there is no liability problem for the security part of the org.
An immature one, of the sort many companies have, may have difficulty with some or all of these steps. Often the immaturity is invisible until it's too late - an impact or likelihood is far higher than estimated (and thus your quantification was wildly off and you took your estimate too seriously), there's no organizational accountability (so nobody who makes serious mistakes has to learn from it), and so on.
I don't know how many SaaS startups have mature risk management processes, but I know I've seen companies well beyond the startup stage that suffer from immature ones.
In an ideal world, every company would have dedicated resource for this and a well targeted/justified programme of work, but I think there's quite a few where responsibility falls on the CTO and there lists like this can be useful.
- Prioritize items on this list relative to each other.
- Prioritize items on this list relative to other work.
- Communicate the reasons for that prioritization to other members of leadership, at least.
Regulation in software "does not exist" as the actual threat is minimal. If your program crashes then nobody dies ('m not talking about rockets). Therefore it always looks like security people always have temper tantrums as there is no meaningful quantifiable risk.
In our org we ended up asking pentesters to get into the systems instead of just giving us an automatically generated report that contains links to CVEs. If they cannot use existing risks to get into the system then that risk is trivial.
I thought security checklists were long until I ran into ISO.
Edit: Typo (and coffee).
Shipping is easy. Shipping makes the product better. Shipping gets the customers and the funding and furthers the mission. You do what it takes to ship, to get the thing working, to do what you're burning to do, and the rest is details.
Taking the time to ensure you've thought through your authentication strategy and done your key management well does not directly do any of these. It feels like a waste of time by comparison. What does it matter? You'll fix it later. You don't need bullshit corporate malware endpoint management, you only hire good professionals.
-----
It's so easy to slip into that mindset. Because you mean well, you want only the best, but you have priorities to balance. I can empathize with everyone involved in a list like this... but speaking as a security professional I ultimately prioritize the safety of the user.
1. Do an initial internal audit against a (few) known security standard(s) that are relevant to your org (ISO27001, NIST, PCI etc).
2. Create a System Security Plan document that outlines what your intended security posture is for each control in the standard you are following and also recording what your current posture is. Record evidence in this document too (screenshots etc) along with an caveats and mitigations.
3. Once you have the results create a Security Risk Management Plan (SRMP) with a risk register annex for an itemised record of gaps. This document should outline what gaps you have and categorise according to the the risk they represent for your company using the risk matrix https://en.wikipedia.org/wiki/Risk_matrix
4. Once you have the SRMP you can create a roadmap starting with the highest risk items and working down. It might take years for you to get to a good point but at least this process will focus efforts and give you a plan to tackle what seems like an insurmountable volume of work.
If you read this comment and thought "We should do this" I highly recommend to contract in a security consultancy to act as your organisations CISO to help you with this process. They will provide experience, structure and knowledge that is no doubt missing from your org. Rating risks can be non-intuitive for example.
Given that NIST is tracking so many controls (1190 controls & enhancements in the current revision) it becomes hard to see the singular burning trees from the forest view that is NIST.
There are at least the following major factors:
* what might happen (event A,B, ...) ?
* how probable is eventi?
* what is the cost if eventi happens?
* how can one deal with eventi? (action 1, 2 ...) ?
* how much / how long does actioni take?
* what actions should we perform with the skills/resources/time we have?
My algo:
1 enumerate possible security issues
2 assign approx probability and cost to business
3 re-order by prob*cost
4 imagine ways to address issues, assign cost to address
5 decide on courses to address issues
6 for next epoch, address issues
7 goto 1
I've found even in a 100 person startup there's probably appetite for 1, MAYBE 2 people who are 100% dedicated to security.
Whilst a security professional should take an approach like the one you describe, it a) takes time and b) experience. Things like enumerating possible risks and assigning probability require a level of experience in security which may not be something a non-specialist has.
Best practice approaches are necessarily less targeted, but I think they still have value in the sense of being good starting points.
Perhaps the best place to start is with the lack of risk aversion that most startup founders have. In my experience, your are more likely to sell a startup type on the business opportunity that being secure creates as opposed to risk. You are likely dealing with a person who cannand will go all in on pair of threes.
Edit: Based on Austin’s below reply it looks like you can register directly with Cloudflare now. Thanks Austin!
Note: They released the beta fairly recently, which is why a lot of folks don’t know about it yet.
Honestly, I thinks it’s a case that most people don’t know about it, so they don’t know to implement it. The same goes for DMARC as well.
Unclear how it makes sense to do something allegedly security related that best-regarded security teams recommend against. Sounds like security theater.
Meanwhile, consider the failures: https://ianix.com/pub/dnssec-outages.html
Misconfiguation can cause the sites to disappear from the internet.
Interesting to see info about the failures, though. Thanks for pointing that out.
I’ve been running a ton of sites on domains with dnssec enabled and haven’t had any issues that I’m aware of.
DNSSEC has virtually no real-world commercial deployment. There have been years, I believe, when US deployment went down. It's dead. Let it lie.
I recently ran the DNP Scores of all domains of companies in the Fortune 500 and only about 8 percent had high scores, and we check for dnssec as part of the algorithm.
So less than 8 percent of the Fortune 500 have dnssec implemented.
(For transparency, I wrote the algo behind DNP Score.)
I know you can provide indications with DMARC, but the usual thing is that if an email is SPF verified then it's considered legitimate even when not signed. Accordingly, DKIM can help land emails but only helps security in the unusual situation where you're trying to argue something in an inbox definitely came from you.
There is plenty of prior art about this on hacker news. Example: https://news.ycombinator.com/item?id=25802366
"Require 2FA wherever possible" - Given the target audience, it would be nice if this was explicit about the reason to use hardware keys (including those builtin to TouchID + chromebooks).
"Accustom your team to locking their computers" - This is good advice, but I'd recommend configuring locking on inactivity a higher leverage effort
"Hire your first security engineer" - "do we have a security roadmap? do we manage to deliver on it?" is not a good heuristic for whether you need a security hire. I'd argue that most startups will lack a formal security roadmap when they don't have dedicated security staff. For example, the linked First Round article [1] has a more actionable recommendation, with justification: "Onboard your first, full-time security hire between 30-100 employees."
"Set up a bug bounty program (NEXT)" and "Monitor your user’s suspicious activities (NEXT)" being placed before "Have a security incident response plan (LATER)"
[1] https://review.firstround.com/how-early-stage-startups-can-e...
As the company will probably lack a decent security roadmap and be poorly positioned to develop one, the right move is generally to hire someone equipped to do so. Which is to say a Director of Security. They will need that rank for the inevitable political battles with Product and Marketing / Sales. Those early political fights will do more than you think to shape the culture for years to come.
With Sqreen's acquisition, the list's previous home unfortunately redirects the their acquisition announcement. We're grateful that they released the list under CCA and we look forward to keeping it updated and relevant to startups on beginning their infosec journeys.
They want to send messages with codes to my phone? I'll live with it. But then they want me to buy a phone with more recent android version. Then they want to enforce biometrics and encryption on my phone. Then they want to remotely erase my phone?
No. If central IT wants that kind of access, they should buy me a phone.
So the costs / resources are not to be underestimated.
Good thing about many RASP solutions is that they integrate easily into our existing developers processes / tooling, so that's a big endorsement.
I could make a case for MFA if really pressed, but M=2 is such a bad choice too.
At best being ignorant of that risk is going to result in fiscal losses and dubious legalities wrt sanctions, at worst existential risk to the company.