On Dec 7, 2014, at 2:08 PM, Keith Bourne <
keithe...@gmail.com> wrote:
> Maybe there is an opportunity in this? Maybe an SDK-based service for tracking this type of fraud...
Fraud detection should be done on both the server and client. The client can always be compromised by a determined hacker, but it's still a good first line defense against fraud.
The server can detect 'funny' activity using rules such as 'multiple invalid credit card numbers from a single IP address within a few minutes' or '4+ different credit cards used by a single device within a day'.
On an iOS client, I would write a record to the keychain indicating the date of recent credit card rejections. The keychain will survive deleting and reinstalling an app, so users would have to wipe the device, jailbreak, hack into an app, or reverse engineer the protocol to circumvent.
I would write a UUID to the keychain as well so the server can uniquely identify a device, similar to the now-deprecated 'deviceIdentifier' but more persistent than the replacement 'identifierForVendor'.
All communications should be secure and rather than using standard HTTPS URLs, you could build the certificate into the application or at least check the certificate issuer. This will help prevent hackers from using proxy servers, packet sniffers, and self-signed certificates.
I would check application integrity using digital signatures.
Rather than using plain JSON, you can use a binary protocol that's harder to reverse engineer. Or you could put a checksum parameter into the protocol to prevent replay attacks.
You can check if the software is being debugged at runtime and, if so, refuse to run or run different code paths.
There is software from companies like Arxan that will de-symbolize and scramble your application to make it harder to reverse engineer. I think it's mostly used by banks and game companies - turns out hackers like hacking into multiplayer games to cheat.
We spent a lot of time coming up with crazy security schemes when I was at Widevine with the realization that hackers would spend even more time breaking them.
-Eric
------------------------------------------------
Eric Shapiro
sha...@relium.com
------------------------------------------------