Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recommend supporting Certificate transparency as an alternative for pinning as L2 #294

Closed
commjoen opened this issue Sep 6, 2019 · 8 comments
Assignees

Comments

@commjoen
Copy link
Collaborator

commjoen commented Sep 6, 2019

As an alternative to pinning (so as a requirement next to pinning), have a requirement to support CTA (certificate transparency) validation, see:

Note: ios 12.1.1 requires it already.
https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md#certificate-transparency-for-enterprises for more info
NOTE: using CTA will require your domain (including internal domains) to be publicly registered which was made fun off by Jeroen Willemsen in https://xebia.com/blog/certshout-all-your-domains-are-public/, but oftne forgotten. So if you have a domain that you don't want to have that publicly available, you can pin, otherwise: consider CTA, but be aware that you need a CA that makes sure no weird shit happens with your cert.

@commjoen commjoen added this to the 1.2: New requirements milestone Sep 6, 2019
@TheDauntless
Copy link
Collaborator

CTA does not provide protection against the typical mitm, only against wrongfully issued certificates by publicly trusted root CA's.

So it's not an alternative to pinning. I also don't know if we need to include this in the MASVS. iOS supports it by default, Android most likely will too, and I don't think you're quickly going to have this issue on mobile endpoints of a specific app.

@commjoen
Copy link
Collaborator Author

maybe we can say it is a defense in depth control? after all, it is nice to detect that the ca went rogue ^^. And it might be good enough for some to whitelist a bunch of ca's and then still handle the fact that the cA went rogue. Because sometimes availability is more important than confidentiality.

@commjoen
Copy link
Collaborator Author

Meeting notes:

  • members will look at the internals and get back about it next meeting.

@commjoen
Copy link
Collaborator Author

Meeting notes:

  • members will look at the internals and get back about it next meeting.

@cpholguera
Copy link
Collaborator

cpholguera commented Oct 3, 2019

I agree with @TheDauntless , I don't see any additional requirement for the MASVS. It's covered by MSTG‑NETWORK‑3. And we could simply extend the MSTG‑NETWORK‑3 test case in the MSTG including yet another possible certificate validation check/method. From the MASVS req.: "Only certificates signed by a trusted CA are accepted." The MSTG can explain what does this mean in the context of CTA.

When doing so, we should highlight that the point of CTA is availability rather than confidentiality, as @commjoen pointed out.

@sushi2k
Copy link
Collaborator

sushi2k commented Oct 3, 2019

Agree with Carlos and Jeroen. A requirement about CTA in the MASVS might be too much, but putting it into the MSTG as part of an existing test case, makes the most sense.

@commjoen
Copy link
Collaborator Author

commjoen commented Oct 3, 2019

MEeting notes:

  • expand MSTG-Network-3 with CTA for both Android and iOS.

@commjoen
Copy link
Collaborator Author

commjoen commented Oct 5, 2019

Further taken care of in OWASP/owasp-mastg#1492

@commjoen commjoen closed this as completed Oct 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants