44. Existing controls may need to be re-evaluated (ie- out of band comms)ImpactConfidentially of data lost
45. Integrity of data not trusted16M2- Weak Server Side ControlsOWASP Top 10https://www.owasp.org/index.php/Category:OWASP_Top_Ten_ProjectOWASP Cloud Top 10https://www.owasp.org/images/4/47/Cloud-Top10-Security-Risks.pdf17M2- Weak Server Side ControlsPrevention TipsUnderstand the additional risks mobile apps introduce into existing architectures
55. Confidentiality of data lost19M3- Insufficient Transport Layer ProtectionReal World Example: Google ClientLogin Authentication ProtocolAuthorization header sent over HTTP
56. When users connected via wifi, apps automatically sent the token in an attempt to automatically synchronize data from server
71. 23M4- Client Side InjectionPrevention TipsSanitize or escape untrusted data before rendering or executing it
72. Use prepared statements for database calls…concatenation is still bad, and always will be bad
73. Minimize the sensitive native capabilities tied to hybrid web functionality24M5- Poor Authorization and AuthenticationPart mobile, part architecture
74. Some apps rely solely on immutable, potentially compromised values (IMEI, IMSI, UUID)
88. Circumvent licensing and payments28M6- Improper Session HandlingPrevention TipsDon’t be afraid to make users re-authenticate every so often
89. Ensure that tokens can be revoked quickly in the event of a lost/stolen device
90. Utilize high entropy, tested token generation resources29M7- Security Decisions Via Untrusted InputsCan be leveraged to bypass permissions and security models
98. Privilege escalation30M7- Security Decisions Via Untrusted InputsSkype iOS URL Scheme Handling Issuehttp://software-security.sans.org/blog/2010/11/08/insecure-handling-url-schemes-apples-ios/31M7- Security Decisions Via Untrusted InputsPrevention TipsCheck caller’s permissions at input boundaries
99. Prompt the user for additional authorization before allowing
100. Where permission checks cannot be performed, ensure additional steps required to launch sensitive actions32M8- Side Channel Data LeakageMix of not disabling platform features and programmatic flaws
123. Take advantage of what your platform already provides!38M10- Sensitive Information DisclosureWe differentiate by stored (M1) vs. embedded/hardcoded (M10)
124. Apps can be reverse engineered with relative ease