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

Threat model of Parsec #89

Closed
hug-dev opened this issue Jan 20, 2020 · 7 comments
Closed

Threat model of Parsec #89

hug-dev opened this issue Jan 20, 2020 · 7 comments
Assignees
Labels
enhancement New feature or request security Issues related to the security and privacy of the service

Comments

@hug-dev
Copy link
Member

hug-dev commented Jan 20, 2020

After having updated our docs and diagrams we need to threat model Parsec.

@hug-dev hug-dev added the enhancement New feature or request label Jan 20, 2020
@hug-dev hug-dev added this to the Parsec production ready milestone Jan 20, 2020
@hug-dev hug-dev self-assigned this Feb 14, 2020
@hug-dev hug-dev pinned this issue Feb 14, 2020
@hug-dev
Copy link
Member Author

hug-dev commented Mar 31, 2020

Although the Threat Model has been merged, keeping this for review.

@hug-dev
Copy link
Member Author

hug-dev commented Mar 31, 2020

The Parsec Threat Model can be found at: https://parallaxsecond.github.io/parsec-book/threat_model/threat_model.html

@RichardAtArm
Copy link

Some notes from our threat model review discussion:
ReviewOfPARSECThreatModel-200407.txt

@hug-dev
Copy link
Member Author

hug-dev commented Apr 20, 2020

On the points raised above:

It might be helpful to show where data assets are exposed on the data flow diagram.

Agree. We will change that.

Is the secret Authentication Token the asset that must be protected, rather than the Application Identity, that is not secret?

That is correct! Will rename Application Identity -> Authentication Token

the Key Mapping store is vulnerable to tampering, as by Attacker – A6 and should be listed as an asset.

That is correct! Should add.

Mitigation A-3 typo?
Mitigation A-2 typo?

Well spot! Those should be assumptions, will find another group of letters.

If some sensitive data is going to be logged to persistent storage, possibly need encrypted file system.

True! We might be safer by checking that we do not log confidential data. I am sure we can log meaningfull information without being too informative.

In general, it looks like information disclosure from within the process hasn’t been considered. E.g. Auth Token exposed in memory after use.

That is something we thought separately from the TM (in #122). We should definitely add it in the TM in the Information Disclosure attacks.

Is the key data stored on-disk protected enough just by OS permissions? Does it need to be encrypted? Protected with HMAC?

We agree that this is a bit light. We created #118 to start thinking about options. Will add HMAC to the list.

Are not in the scope of the Threat Model, but could need their own TM to derive general security requirements for clients.

That is a good point, and as we are starting developping the Rust Client, we should also think about creating a threat model for it.

Make sure the findings of the threat modelling are acted on, e.g. by tracking tasks to: implement the Mitigations; document recommendations for the Operational Mitigations and document the risks and limitations due to the Unmitigations.

Great remark, will do that as soon as the review period for the TM is over.

it might be helpful to give recommendations or examples for a secure Linux environment:

We will think about adding in our documentation an example of a secure deployment implementing all our operation mitigations.

@hug-dev
Copy link
Member Author

hug-dev commented Apr 20, 2020

Will create issues to address those points as soon as the review period of the TM is over.

@ionut-arm
Copy link
Member

Created:

I've also recently updated #122 to be in sync with the PSA Crypto spec recommendations.

@ionut-arm ionut-arm added the security Issues related to the security and privacy of the service label Jun 8, 2020
@hug-dev hug-dev unpinned this issue Jul 6, 2020
@hug-dev
Copy link
Member Author

hug-dev commented Jul 6, 2020

Service and Rust client TM have now been updated and published, and the recommendations here have all been adressed.

@hug-dev hug-dev closed this as completed Jul 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request security Issues related to the security and privacy of the service
Projects
None yet
Development

No branches or pull requests

3 participants