Duplicate control: 2.6 and 6.4 #578
-
These controls are very similar:
From the MSTG (iOS), I can see the intended difference, but all of the techniques of 6.4 can also be applied to 2.4: Do you guys see an inherent difference? On Android, you could say that there is more of a difference (content providers vs exported activities), but these could also just be grouped in the same control. Especially with the 'activity for result' concept. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 1 reply
-
The inherent difference is that one focuses on the data, the other on functionalities. Both should have a different follow up. |
Beta Was this translation helpful? Give feedback.
-
The difference becomes more clear when we talk arguments for intentes/application urls for instance: this funciton by itself is not really sensitive,unless you:
To me that brings quiet a difference. But I must admit it requires a bit of explanation if you forget about the contexts of when it was written. For this, a little explanation could help i guess ? so overall definately something we can improve on in terms of explanation. |
Beta Was this translation helpful? Give feedback.
-
I think it makes sense to see it from two different ankles:
I was also going through the test cases for Android:
But you are right and I agree, they are definitely overlapping. We could structure it in a way so that MSTG-Platform-4 could be more about explaining the IPC mechanisms on Android and iOS, how to enumerate them and what the best practices are in terms of restricting access and MSTG-Storage-6 could be things like SQL injection in Content providers as there might still be coding issues in there that cannot be captured by MSTG-Platform-4. @TheDauntless does that make sense for you? |
Beta Was this translation helpful? Give feedback.
-
@sushi2k Your split up makes sense. One is from an architecture point of view, the other about the implementation. But I don't really agree with where you suggest to put them. Content providers, export activities, services, etc are all part of platform interaction. Without these functionalities, you don't have inter-app communication and together they make up the attack surface of the application. IMO this should all be put in section 6, where it currently is. The implementation part of your suggestion is already in 6.2:
Splitting it up between data vs functionality seems unnecessary. If you can query an exposed contentprovider for sensitive data, then it fits in both since the 'functionality' is 'querying data' and it is of course data as well. If you can extract something through SQLi, then that's because of a 6.2 violation. |
Beta Was this translation helpful? Give feedback.
@sushi2k Your split up makes sense. One is from an architecture point of view, the other about the implementation. But I don't really agree with where you suggest to put them.
Content providers, export activities, services, etc are all part of platform interaction. Without these functionalities, you don't have inter-app communication and together they make up the attack surface of the application. IMO this should all be put in section 6, where it currently is.
The implementation part of your suggestion is already in 6.2: