The SOC2 Starting Seven
latacora.singles
latacora.singles
SOC2 Type2 is really where you want to be, but it takes time. Navigating compliance for startups is pretty challenging and I see so many not having a clue how to navigate sales without certs but it's super doable, and getting these things finished get you pretty far along towards Soc2 type1, and shows a lot of goodwill to share these practices even _before_ you have any certs
One thing I'd like to highlight is that SOC2 is about having controls (of your choosing), and documenting and proving you are following those controls. I think it is important to pick controls you actually want to follow, and that those controls aren't so specific that you get fenced in to a bad process.
I've worked at a few companies that have gone through SOC2, one of them (Dropbox) did it very well. I think the average engineer didn't need to know about SOC2, or what all the controls were, because the controls were well thought out, and automation took care of the proof. At another company every engineer was constantly saying "you have to do that because of SOC2", because the controls intruded on the way engineers worked.
"SOC2 requires that two people approve every PR". Hmm, no the accountants that created SOC2 don't know what PRs are. "Only members of the team called 'QA' are allowed to transition Jira tickets from state A to state B, SOC2 requires it". No, I'm pretty user SOC2 doesn't specify issue tracker workflows. "You need to name your git branched XYZ-abc-foo-bar, because of SOC2". You're telling me that accountants are specifying source control conventions?
Then, all your other accounts - dev, prod, service, whatever - simply have roles and no user management overhead - i.e you aren't duplicating users in a bunch of accounts and having to deal with a bunch of different identities.
SOC2 doesn’t specify git branch logistics. In general you need to prove all system changes were reviewed, justified, and approved by another person. The goal is no single person can deploy unsupervised production system changes, and the justification for changes were approved and documented. How you do that is all in the art of IT.
And if the answer is "short lived credential", then I'd like to understand how short lived credentials that require a long lived credentials to get them are better than long lived credentials, if both can be just as easily revoked.
SOC2 does not require: SSO, MDM, or almost anything specifically (And what's with the JAMF pro recommendation? MDM is more than iPhones). What it does require are controls. It does not specify what those controls are. You need to create them yourself, and they need to be sufficient to meet the requirements of the Trust Services Criteria. And to have controls, you need to know what you are controlling and why.
This brings me to my point: To succeed in SOC2 you actually have to have a plan. You have to have written, reviewed, implemented, and audited policies. THAT is the single biggest hurdle for most companies.
You also need to know how to do a risk assessment on your organization. This is not terribly hard, but it is essential to SOC2.
And finally, you need buy-in from the governing bodies of your organization.
None of these things I mentioned are products. You can't buy them. They take work. A hell of a lot of work. I will guarantee that most companies doing this for the first time do not have half of the processes in place that SOC2 requires. I doubt that 20% have internal audit procedures, for example, or sufficient end-user training.
And one more thing that will take nearly anyone who had done security by surprise if they don't know it's there. The COSO Principles. These were added to SOC2 in the wake of the Lehman Bros/Enron scandal. They extend SOC2 to the entire governance structure of your organization, and include controls on financial reporting, hiring practices, employee review processes, etc. This is a major PITA, because it lies far outside the bailiwick of most CISOs or equivalent, and, again, it requires extensive cooperation from the rest of senior management.
As you can probably tell, I've done this before.
As we've said repeatedly, SOC2 doesn't "require" much of anything. It certainly doesn't call SSO or MDM out by name. What it instead involves are abstract control points that are addressed with evidence. As the top of the post says, the point is to engage in security engineering practices that generate evidence useful in SOC2 engagements.
So, you can certainly freestyle your application and infra access controls, and make up policy responses to the IRL questions on the fly. You can also sit around and worry about which of the "COSO Principles" you're covered on or not covered on.
Or, you can do some basic sensible security engineering things that are almost certain to cover the majority of the evidence requests your auditors generate, in most cases without even needing to be aware of the AICPA guidance line items.
You make your own process recommendation here: do a "hell of a lot of work" to have "written and audited policies" and a "risk assessment" and become aware of the "COSO Principles". I have no trouble believing that approach works, because after seeing and being involved in a bunch of SOC2 audits and talking to people who did SOC2 audits, I believe everything works.
More importantly, we see startups led around by the nose by insane questionnaires (and a SOC2 IRL is certainly that). We've talked to firms that have been told by their SOC2 auditors to install IDS systems, WAFs, and Mac AV software. We are alarmed by the prospect of a startup without in-house security or compliance expertise reading what's out there about SOC2 --- especially the AICPA documentation, or example IRLs --- and then just going and doing that stuff. They'd be wasting a tremendous amount of time without realizing that smart startups skip a lot of that work and deploy none of the junk and get SOC2'd just fine.
So, if you're going to do something, do something sensible.
What I think people should be especially careful about is taking advice from people who have just done SOC2 at a single company or with a single auditor. They are all different. There are processes where you'll end up explaining what a URL is. There are processes where you'll end up explaining why you have VPC flow logs disabled. The value we're offering here is that we've seen it done repeatedly, with multiple auditors.
That said, I don't understand this statement: "You can also sit around and worry about which of the "COSO Principles" you're covered on or not covered on."
In the end, to pass a SOC2 audit, you have to have evidence for each of the applicable TSC points, including the COSO Principles, which have little or nothing to do with information security but are all about general business governance. It's not a question of "sitting around wondering." It's understanding what the COSO Principles actually are after, so that you can assemble the appropriate evidence. And that means working with HR and finance.
You make it sound like the COSO Principles are irrelevant. Believe me, if I could skip them I would. If I could skip a risk assessment, I would. If I could skip all the "written and audited policies" I would. But you can't skip them. And in the case of a risk assessment, you shouldn't skip them. I mean, that's the whole point in the end: knowing your risks, and having the controls in place to mitigate them.
So yes, of course you need to be sensible. But you also have to do the work, and the work is hard. It is by far the last favorite part of my job.
But my point is: It's not about the product category boxes you have ticked. Security products are important. They make compliance much easer. No question. But for SOC2 to have real value to an organization (and I think there is real value that can be gained from it), it is far more about process, and it is process that is the most difficult thing to implement and religiously maintain and document.
At no point is anyone on the engineering side made familiar with TSC points or COSO; the runic accountancy is driven be the auditor. I would, in particular, not recommend that startups thinking about pursuing SOC2 spend a lot of time familiarizing themselves with the TSC or (god forbid) the COSO Framework, because it simply isn't going to matter.
My general belief is that SOC2 is of no intrinsic value to organizations, and going into it with a mind towards letting your engineering practice be guided by SOC2 rather than dictating SOC2 is a recipe for heartbreak. Among security engineers (and managers) at tech startups I've talked to, I don't seem to be far out of the mainstream. SOC2 is like most university degrees: it's a demonstration of seriousness, and nothing more.
If you think this blog post is about "buying the right products", you've entirely missed its point.
JAMF Pro is not just for iPhones.
(Plus, if you think this is about buying any particular product, you have woefully missed the point.)
This might be a good start, but it makes me a little uncomfortable. In a true incident, there is a metric ton of stuff that I would not want to be discoverable. I like to set aside an area with locked-down access to keep the truly toxic material found during a serious incident.
And for startups or other small companies reading this--the things mentioned here should not be a big deal or take enormous time to do. The earlier you do what is recommended in the post, the happier everyone will be.
I'm reminded of my Dad's saying: Tires are like insurance: When you need it, it is too late.
[edit typo]
MDM helps to detect issues earlier, and can remove the need for manual audits, but is not a hard requirement - same with most other things in SOC2.
:(
> We don’t have to grumble about why; we’ll just observe that this is what almost every security team does anyways.
I'm also not sure what SSO really buys you, except for just moving the criteria target to another SOC-2 report. ;)
Also, MDM is not really critical at all, as long as you have a solid/documented way of managing accounts on web and mobile apps.
I do like the rest of the article except for the list itself, however. SOC-2 is all about documentation and processes. Justifying your security choices is less important than carefully and fully documenting them, and the processes that you have in place.
What I can tell you is that the IRLs I've seen, both from big 4 auditors and from SOC2 boutiques, have dozens of questions that are directly answered by a sane SSO configuration.
We've watched clients clear SOC2 audits without any coherent SSO. It's clearly doable.
This is all made more tricky by the fact that different SOC2 auditors have different requirements. They're in one sense or another all negotiable, in that you can always switch auditors if they're unreasonable, and we've definitely collected several horror stories about aborted SOC2 processes that were resumed with a different vendor. And, to layer more complexity on that, different bigCo customers will have opinions about who did your SOC2. It's all a mess.
For malware in particular, on the server side, we've seen:
a) auditors not asking after seeing convincing endpoint answers
b) people be successful with scanning container images and then just arguing that containers aren't long-lived enough to matter (and having other infrastructure level controls to argue that if something does leave a container you'll see it somewhere).
That only works if you actually have short-lived containers though, of course :D
Are these really the only options? I'm not terribly comfortable with an external entity owning my SSO--ESPECIALLY Google.
This is really about having SSO, not about Octa or Google.
> You’re probably all Macbooks.
What if we're not? Are there any good MDM solutions for Linux? I would prefer not to force macOS on folks who don't want it.
> Another bonus point: standardize everyone on Chrome.
Why not stick with Firefox? It has the advantage of at least trying to keep user information secure.
There's a lot exciting in here, though. I would love to transition to SSH certificates issues by some fancy OAuth2 service. I imagine one could use a named pipe to request them on-demand, so one could just issue 'ssh foo' and everything would Just Work.
AD AES AICPA CISO
COSO CSO DEP FDE
FIM IDS IR JAMF
LDAP MDM OIDC SOC2
SSO S/N WAF
I don't recall ever seeing a comment thread with that many such things.AD active directory
AES advanced encryption standard
AICPA American Institute of Certified Public Accountants
CISO chief information security officer
COSO risk management framework
CSO many things, probably chief security officer in this context
DEP data execution prevention
FDE full disk encryption
FIM file integrity monitoring
IDS intrusion detection system
IR incident response
JAMF apple device management
LDAP lightweight directory access protocol
MDM mobile device management
OIDC open id connect
SOC2 audit standard
SSO single sign on
S/N serial number
WAF web application firewall
But sadly there isn't - that asterisk is supposed to be the next bullet point for Endpoint Protection and AV.
† So many missed opportunities. These things are so awful.
That's Say Anything. It's a movie from the previous century. The scene from Love Actually you can actually recognize from gifs and recent SNL parodies.
If you have a box you own on your own premises, you can have crummy security on that box and still be in good shape.
I like belt and suspenders. 2FA and physical security.
Is there one recommended by HN for multi-platform use?
I'm in the process of preparing for ISO27001 certification and as the topic has arisen, I'd love to get a few opinions if possible.
This isn't because the auditor is going to care whether you have to log into 15 different hosts to grep for 20 different log lines; they have no idea what "grep" even is. It's because it's a lot of work to document 15 different processes coherently.
This idea is the basic lens through which people should be reading our recommendations here.
Or maybe you mean for both?
If you write up your processes with your SSO provider and you follow your processes any SSO (or none!) works.
I think people both over and under-estimate audit (in different ways), but certainly if I have to pick it's the over-estimation of the value of audit which hurts and so the scepticism in this piece is warranted.
If you want to make SOC 2 easy, you should choose us (fleetsmith.com) over the competition.
There are some specific things SOC 2 cares about with regard to laptops. The ones that can take effort are:
- User to device inventory attribution ("give me a list of all your Macs and which employees they belong to")
- FileVault enforcement, with automatic (and secure) escrow of the recovery keys
- Enforcement of some kind of AntiVirus (either the native stuff built in to macOS, or deployment of a third party solution like MalwareBytes)
Each of those 3 items are very time-intensive efforts with competing products. With Fleetsmith, each of them are quite literally (not marketing hype) a few clicks.
We're also the leader in terms of security. If you're interested in the intersection of MDM and security research, check out the following:
"Hacking a Brand New Mac Remotely, Right Out of the Box" — Article summarizing research presented at Black Hat 2018.
https://www.wired.com/story/mac-remote-hack-wifi-enterprise/
--
A Deep Dive into macOS MDM (and how it can be compromised) — 61 page whitepaper related to Black Hat research.
https://i.blackhat.com/us-18/Thu-August-9/us-18-Endahl-A-Dee...
--
On DEP, MDM, device identity, and authentication — Blog post on the security of the device enrollment process. Includes Fleetsmith’s secure device enrollment implementation, in hopes that other vendors in the space will adopt it.
https://medium.com/fleetsmith/on-dep-mdm-device-identity-and...
--
An Enterprise Security Roadmap for macOS — Detailed blog post on improvements that Apple should make to macOS and MDM, and why. Includes a detailed list of over 50+ bug reports/feature requests.
https://blog.fleetsmith.com/macos-enterprise-security-roadma...
If anyone is interested in chatting about any of this stuff (the product or the security side) I'm on Twitter at @jesseendahl and on the MacAdmins Slack (macadmins.org) at @jesse.
1. Copy S/N to clipboard
2. Tab over to inventory spreadsheet
3. Command-F and pray your IT helpdesk recorded which employee the device belongs to
4. Tab back over to the MDM solution, select the employee from the dropdown menu.
This becomes extremely time intensive if you have hundreds or thousands of devices.
As for FDE--enforcing it is easy. Doing that while also reliability and securely escrowing its recovery key is a much different story.
On the reliability side--not every solution out there is equally reliable when it comes to ensuring that the recovery keys actually make it into the MDM.
On the security side, I believe we're the only vendor that does CA pinning across the entire management lifecycle. Those stages are covered in great detail in the previously linked BlackHat whitepaper.
On the server side, I believe we're the only vendor to automatically encrypt sensitive fields (such as FileVault keys) before the hit the database, with per-customer AES keys (key generation and key management handled by Hashicorp Vault's transit backend).
Last but not least, there's the matter of generating evidence for auditors to prove you're doing the things you claim to do. We automatically surface the status of these things in the product, instead of requiring people to input boolean logic and generate custom reports.
Overall, Fleetsmith is just much more "turnkey" when it comes to checking the boxes for SOC 2 than competing MDM solutions.
With GSuite in particular, nobody set up any LDAP. It's an OIDC app, you do not run Connect Verify or Connect Sync. There's LDAP going on when you're authing against Azure, but if you're in that situation AD seems like what you want?
I read your description as suggesting that if you pick anything other than your product, there's necessarily an AD DS or slapd in your future, and I hope we can agree that's definitely not the case. In the most common case for our audience (startups) it's not even any LDAP at all.
Is it fewer clicks in Fleetsmith? Maybe? Probably? And you have to know whatever the hell a "PreStage Enrollment" is which is not as easy as it could be. But I think you're making it sound a lot more hairy than it is, particularly for a deployment with "hundreds or thousands of devices". The hard problem facing that IT team is not finding someone who is unafraid of the words "Preference Domain", come on.
(To reiterate my position: I am not saying Fleetsmith is bad, I'm saying that I think your post makes it sound like anything besides Fleetsmith is a world of pain, and I accept that you probably extra-believe that as someone who founded Fleetsmith (not in the sense of "you're lying" but in the sense of you don't bet the farm on trying to fix things you don't think are broken), but, I think a) whatever Fleetsmith is fine and yes it's probably better at doing the limited set of things you should be doing but b) compared to our experience this is a pretty wide exaggeration of how bad anything else is like.)
Most startups are on Cloudflare and Cloudflare does WAF out of the box.
Yup. If you’re a fixer, knowing this beforehand is going to save you a lot of pain.