Skip to content

Tone down importance of MASVS-RESILIENCE - #771

Open
randomstuff wants to merge 1 commit into
OWASP:masterfrom
randomstuff:tone-down-resilience
Open

Tone down importance of MASVS-RESILIENCE#771
randomstuff wants to merge 1 commit into
OWASP:masterfrom
randomstuff:tone-down-resilience

Conversation

@randomstuff

Copy link
Copy Markdown

This is a draft PR addressing discussion #757 as per #757 (comment)

@randomstuff

Copy link
Copy Markdown
Author

@ell1e, @mpeter50, @sushi2k

## Description

Running on a platform that has been tampered with can be very dangerous for apps, as this may disable certain security features, putting the data of the app at risk. Trusting the platform is essential for many of the MASVS controls relying on the platform being secure (e.g. secure storage, biometrics, sandboxing, etc.). This control tries to validate that the OS has not been compromised and its security features can thus be trusted.
Running on a compromised platform that can be very dangerous for the user, as this may disable certain security features, putting the data of the user at risk. A compromised platform can disable certain security features (e.g. secure storage, biometrics, sandboxing, etc.). This control tries to validate that the OS has not been compromised and its security features can thus be trusted.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

putting the data of the user at risk this is one part. Compromised platforms put the intellectual property of the owner of the app (e.g. API keys) equally at risk.

This change also removes the principle of chain of trust which is a cornerstone in app security.

I see this change as a decrease of quality in our document.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Diolor if you don't want me to possibly get my hands on an API key, don't store it on my machine. Anything else is anti ownership and not compatible with user freedom.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you don't want me to possibly get my hands on an API key, don't store it on my machine correct. And Resilience controls is the only (currently proven scientific) way a party can trust "your" machine when that is deemed necessary.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

putting the data of the user at risk this is one part. Compromised platforms put the intellectual property of the owner of the app (e.g. API keys) equally at risk.

The API key serves the purpose of giving access to the API for the user. At that point it is not your property, you have made it for the user. If you believe it is being misused, revoke it.

This change also removes the principle of chain of trust which is a cornerstone in app security.

It is indeed a cornerstone of security. Another cornerstone is trust itself, and trust is mutual, trust cannot be enforced. Trust is rooted in the user, more precisely the device owner. Otherwise, why are you providing services to them?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@randomstuff just wanted to mention, there is so much activity in these issues I can hardly participate in the discussion. I just opened these notifications by kind of a mistake, and I could not stand to not give my correction above. It is infuriating that the industry "best prectices" condone and even advise taking away user device ownership.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And Resilience controls is the only (currently proven scientific) way a party can trust "your" machine when that is deemed necessary.

"your" machine

are you directly debating ownership here? are you arguing, our devices are yours and your businesses to control? how should we interpret these quote marks?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quote marks means plural

Running on a platform that has been tampered with can be very dangerous for apps, as this may disable certain security features, putting the data of the app at risk. Trusting the platform is essential for many of the MASVS controls relying on the platform being secure (e.g. secure storage, biometrics, sandboxing, etc.). This control tries to validate that the OS has not been compromised and its security features can thus be trusted.
Running on a compromised platform that can be very dangerous for the user, as this may disable certain security features, putting the data of the user at risk. A compromised platform can disable certain security features (e.g. secure storage, biometrics, sandboxing, etc.). This control tries to validate that the OS has not been compromised and its security features can thus be trusted.

On the other hand, these controls are arguably the responsibility of the platforms. Moreover, The user may have legitimate reasons to run the application on an alternative platform, which make actually be more secure than the blessed platform and it may not be possible for the application to make the distinction between a compromised platform and an alternative platform chosen by the user. Refusing to execute on alternative platforms can therefore have a negative impact on security, sovereignty and reinforce anti-competitive practices by platform vendors. Therefore, while it may be reasonable to warn the user if the application has reasons to believe that some security features may be disabled or that the platform may be compromised, locking the user out of the application is usually not legitimate.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trade is clear to me: chain of trust vs. platform sovereignty.

The scope of MAS project on this tradeof is something different.

However I tend to agree that this is a limitation of Resilience controls which should be mentioned. To be precise: only from the perspective of the user. From the perspective of the company if a platform cannot be trusted, the device and app functionality can also not be trusted.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most businesses have no business in determining to trust or not certain platforms, or user devices. They should keep their secrets to themselves. Do they want to provide access to users, or not? If the users are your enemy, dont market to them.

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

Successfully merging this pull request may close these issues.

4 participants