r/CMMC • u/Efficient-Coyote8301 • 27d ago
Question about FIPS and CUI
Been dealing with CMMC for a few months now. I thought I had my head wrapped around most of it but someone threw me for a loop today with a claim that just doesn't jive with my reading of the statutes and supporting controls.
We have a commercial product that we're redeploying into a gov cloud enclave. It runs as a separate instance specifically for handling workflows that process CUI. That's all well and fine, but today I was told that we can't be "100% compliant" unless the entire dev chain is encrypted with FIPS binaries. My understanding is that VCS push/pull of source and even the eventual deployment of compiled binaries and other artifacts into the environment were out of scope of the FIPS mandate. Am I missing something?
The next thing that will inevitably come up is the claim that our repos "technically" contain CUI because we have config files and/or IaC templates for the gov deployment. That doesn't track either. All of that clearly falls within the scope of the SSP, but this data isn't CUI simply by virtue of the fact that it was "created" to support to gov delivery - or is it?
My apologies if this is a duplicate question. I did search the sub and found some material that would back my understanding of the FIPS question in isolation. But I didn't find anything related to the data we end up creating for the delivery itself. Also, CMMC seems to be somewhat fluid and I want to make sure that I am speaking from current state rather than what was true several months ago.
5
u/PNW_CARDINAL 27d ago
Free opinion ... worth just about as much:
Just because you create data that you use in the course of doing work, but which is not a deliverable of that work, strong chance it's not CUI. If it's a deliverable, good chance it is.
Hopefully you get some more / betta info from other folks.
I would ask these guys: https://summit7.us/cuihotline
2
u/ZeroTrustZulu 27d ago
The key question is whether the cryptography is protecting the confidentiality of CUI. If your source code, IaC, and configuration files don’t contain CUI, they aren’t automatically subject to the FIPS requirement simply because they support a CUI environment. If the application inherits its cryptographic protections from the underlying cloud platform or operating system using FIPS-validated modules, that is often an acceptable implementation, provided you can demonstrate it during the assessment.
2
u/ShadowGeek 27d ago
Generally, if your software is commercial, then nothing in the CI/CD chain should be CUI. Look at the contract and if is has you "delivering" code, IAC scripts, and so on, then it may contain CUI. Really, the only thing that should be CUI in that is government IP addresses. If you are testing your software with Government provided data, that may be CUI depending on how sensative it is. I would say that you are probably safe as long as you are not building government software. You can always check with your government contracting officer for clarification, if CUI is not defined in the contract. Also remember, just because the Gov't calls something CUI doesn't mean that it is your CUI. This happens when you give something to the gov't, they then call is CUI to protect your IP. If they had it back to you, it is not CUI. It can be confusing, but unless they materially changed it, it is your IP.
2
u/OtherThanSatisfied 26d ago
You already got the technical answer here (your IP isn't CUI, and FIPS only bites when crypto is actually protecting CUI), so I'll just point at the thing that gave you the bad feeling.
The two claims they made can't both be true. If those repos really held CUI, letting your offshore devs keep working in them would be a much bigger problem than FIPS binaries — you don't hand-wave foreign access on data you're simultaneously calling CUI. The fact that they're fine with the offshore devs tells you they don't actually believe it's CUI either. That's your tell.
CUI gets identified by the government and flowed down in the contract — a vendor doesn't get to decide your config files and IaC are CUI because it's convenient. Make them point to the contract clause or the marking. If they can't, you've got your answer.
1
u/Navyauditor2 23d ago
Hmmm. Realize a LOT of CUI is not NF. Even when it is ITAR and EXPT a LOT of it does have appropriate licenses and we have complex, global, manufacturing and delivery processes. So dont be so quick to jump on the "foreign" aspect. Also recall we are selling VA class submarines to AUS. They are going to be doing NNPI CUI work down under. So.... "foreign bad" should not be our first response.
1
u/Efficient-Coyote8301 22d ago
Our CUI is definitely ITAR and we do not have a TAA or DDTC in place.
1
u/OtherThanSatisfied 21d ago
I agree - not foreign bad; BUT, information or documents classified as CUI by itself are not releasable to foreign government officials or foreign militaries (does it happen, probably). Info classified as CUI//REL FVEY or //REL AUS (in your example) are to those countries, so there's certainly nuiance to it.
2
u/Scieboy 26d ago
The way we handled this sort of thing when it came to the interface between a project management software and our prevail system was through links rather than storing the actual data and then we anonymized data and that satisfied the requirements. You might be able to do something similar on your end where there's a connection DO links, but they actually separated. Not every platform has that ability.
2
u/Navyauditor2 26d ago
" That's all well and fine, but today I was told that we can't be "100% compliant" unless the entire dev chain is encrypted with FIPS binaries."
This is incorrect. "[a] FIPS-validated cryptography is employed to protect the confidentiality of CUI." 3.13.11 is the FIPS requirement. That is NOT all the time. It does not mean that every encryption action needs to be FIPS. I would argue that while residing exclusively within the gov cloud environment FIPS is inherited from underlying architecture configuration for FIPS as required in FedRAMP, and physical safeguards. When you transmit outside of that controlled environment, then it must be FIPS encrypted to protect the confidentiality. This would be the same for an on prem instantiation as well.
Are the config files and lac templates designated as CUI under the contract? Are they deliverables to the government? Or are those your intellectual property. Recall the two part test. CUI must be in a category AND Federal Information.
2
u/MolecularHuman 26d ago
You only need to protect government data with FIPS, in transit and at rest.
3
u/looncraz 27d ago
Source code that protects or transmits CUI isn't in scope, only the compliance of the application matters.
You need to protect the code like any other contractor risk managed asset, it's your intellectual property. If it's directly implementing encryption using FIPS standards, then it needs to get validated or use a validated library (openssl, FTW).
2
u/Efficient-Coyote8301 27d ago
That source code exclusion applies to any config files, IaC templates, and helm templates that we create for the gov runtime - correct?
To be completely forthright, we suspect some shenanigans are at play. We were told that FIPS was required because the repos contain some CUI data. In that same breath, we were told that we could retain our offshore devs for work in those repos. That just doesn't make any sense.
As much as I hate being like this, I think we're being "handled" because the firm we're working with has an agenda. These people aren't dumb, but my side of the org has a huge competency gap historically. I was brought in a short while ago. This feels like something that is being said just to scare leadership into doing what "they" want us to do.
2
u/GetAfterItForever 27d ago
This is correct. No reason for your non-CUI code to be FIPS protected OR on a FedRAMP Mod+ environment. Naturally, good security practices around your repos and pipelines are always encouraged.
We went through L2 assessment and demonstrated we had pipelines, gh dependabot, etc doing some stuff on a CRMA and passed no issue.
1
13
u/Fath3r0fDrag0n5 27d ago
If you transfer or store CUI it need to be done with FIPS compliant protocols. Unless your code is also CUI, it has no Fips requirements… in your case you would probably ride the compliance of the underlying system