Hi,
I will also add my "2 cents" to the root detection thread. My background
is mostly mobile banking, and I focus on the end users' security.
I think you should differentiate between detecting root/jailbreak and
actually doing something radical about it (like banning the app usage).
Long story short: IMHO detection is a good practice, but banning not
necessarily.
A few years ago there was an interesting case here in Poland. One of the
biggest banks decided to ban the usage of their mobile banking
application on rooted/jailbroken phones. The decision unexpectedly met
with a huge disaproval of the users, social media PR disaster, and
eventually they decided to pull back the changes and allow the rooted
users. So if you ban the power users who root/jailbreak their phones
themselves on purpose, they will most likely just get angry, go to
competition or use Xposed modules - and that won't make them more secure
or your business better.
A different story with users who don't know their phone is rooted. They
should definitely get to know it during first application startup, with
precise information on the risk and next steps to follow.
So I usually advise detecting root/jailbreak/tampering/malware etc. and
definitely reporting it to the backend (so that FDS could make better
decisions). But rather than denying - display clear information of risk
involved, and if need be liability disclaimer. If your clients want to
use the application anyway, IMHO its better when they take on the
responsibility for possible frauds on their own free will, than to
expose them for additional threats with root-hiding.
cheers
Slawek Jasek
On 04.03.2016 18:53, Jim Manico wrote:
> +1 I'm with you now, Paco. Good insights!
>
> Aloha,
> Jim
>
>
> On 3/4/16 12:51 AM, Paco Hope wrote:
>> I’m not so much implying no one can break anything ever. More about
>> whether it’s worth building detections and reactions to
>> jailbroken-ness. Let’s say you’re making a banking app. And you think
>> to yourself “do I need to worry about jailbroken phones?”. So you
>> think “out of the population of all my banking customers, what is the
>> percentage that might have jailbroken phones?”
>>
>> It all comes down to *why* someone wants to do jailbreak detection in
>> the first place? Are you a bank who wants to store something secret in
>> the app, assuming that no one ever will be able to extract that
>> secret? Then the “academics in Israel” argument matters. Because it’s
>> not that locked down, yet. Perhaps it never will be.
>>
>> Are you a bank who wonders whether a specific individual accountholder
>> might have their session token / personal data / password / etc.
>> stolen from the banking app by a different, malicious app running on
>> the same, jailbroken device? Google and Apple are rapidly diminishing
>> the likelihood of that happening. It will soon be completely
>> impractical for the average banking user to have a jailbroken iPhone.
>> Android is lagging behind, but will get there in the end.
>>
>> Maybe it’s global secrets versus per-user secrets. Devices are not yet
>> secure enough (and may never be secure enough) to put a global secret
>> in an app. But they are rapidly becoming secure enough to put per-user
>> secrets in the apps without fear of malware attacking the app across
>> the device. The vast majority of Android kit deployed today is not
>> secure enough even for that. But it will be. That’s where SafetyNet is
>> headed. And iOS devices are nearly there already.
>>
>> If your *only* concern is adjacent apps attacking your app on the
>> device, I think iOS has already hit the point where you don’t need to
>> worry about jailbreak detection. If your concern is malicious apps
>> attacking your mobile microservices, well, that’s probably better
>> protected at the microservices themselves. And if your concern is some
>> global key, secret, algorithm, etc. stored in your app that you don’t
>> want exposed, it’s better to work on fixing the design so that it
>> doesn’t rely on a stored global something (if that’s possible at all).
>> Securely rotating or changing the stored global something is probably
>> worth more effort on your iOS app than jailbreak detection is.
>>
>> In the end, jailbreak detection is a security control. I don’t
>> understand the risk that it’s controlling though. Nor do I understand
>> why it’s the right (for some definition of “right”: cheapest, easiest,
>> fastest, most effective, etc.) control for that risk. I think video
>> games have a better motivation to do root/jailbreak detection than
>> banks do. They care a lot about local manipulation, on-device of
>> per-user data.
>>
>> Paco
>>
>>> On 3 Mar 2016, at 22:15, Jim Manico
>>> <<mailto:
jim.m...@owasp.org>
jim.m...@owasp.org> wrote:
>>>
>>> "One day both Apple and Google will finally make these things
>>> fundamentally unbreakable."
>>>
>>> Eh, history does not back that up. Take research from
>>> yesterday
https://www.cs.tau.ac.il/~tromer/mobilesc/ f Pretty
>>> fascinating side-channel attack against this "unbreakable" phones.
>>>
>>> "One day" seems like a long ways away. I hope you are right about
>>> this, but I am skeptical. Anyone who claims their tool/server/app
>>> whatever is unbreakable usually regrets such statements.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "OWASP Mobile Top 10 Risks" group.
>> To unsubscribe from this group and stop receiving emails from it, send
>> an email to
owasp-mobile-top-1...@owasp.org
>> <mailto:
owasp-mobile-top-1...@owasp.org>.
> --
> You received this message because you are subscribed to the Google
> Groups "OWASP Mobile Top 10 Risks" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
owasp-mobile-top-1...@owasp.org
> <mailto:
owasp-mobile-top-1...@owasp.org>.