Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building secure mobile apps


Published on

This talk will be focused on how to develop secure mobile apps. We will look into specifics regarding mobile development and what are the best practices.

We will make an emphasis on all issues affecting the mobile platform such as protocols, secure storage, secrets, caching, logging, etc.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Building secure mobile apps

  1. 1. Building Secure Mobile Apps Sergey Gorbaty Senior Product Security Engineer @ser_gor Martin Vigo Associate Product Security Engineer @martin_vigo
  2. 2. Safe Harbor Safe harbor statement under the Private Securities Litigation ReformAct of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of, inc. could differ materially from the results expressed or implied by the forward-looking statements we make.All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available., inc. assumes no obligation and does not intend to update these forward-looking statements.
  3. 3. Martin Vigo Product Security Engineer
  4. 4. Sergey Gorbaty Senior Product Security Engineer
  5. 5. Outline • Attacks on Mobile Apps • Developing Secure Mobile Apps • What Frameworks Help You With
  6. 6. Attacks on Mobile Apps
  7. 7. Mobile App Threats • Native Mobile App Threats – File system, DB Storage, Logs – Network Communication – Clipboard – Backups – RPC, URL scheme handlers • Web App Threats – Input validation • Session management • Web app logic flaws – Web vulnerabilities • XSS, CSRF • Injections – SQL, header
  8. 8. Native App Threats • File system – Excessive Logging – Storing credentials and sensitive data unencrypted – Hardcoded secrets – Cached data • Network Communication – Not using TLS/SSL – Using self-signed SSL in QA and not disabling in production – Not using proper session management • Clipboard – Any app can read all messages • Backups – Sensitive data can be backed up to PC/Cloud
  9. 9. Web App Threats • Application logic flaws – Skipping through Activities in Android applications – Malicious Intents launched from attacker’s website • Web security – Input validation • Accept any input – Output Encoding • Make sure the tainted data is sanitized • XSS • Header injections – Protecting sensitive actions • CSRF
  10. 10. Outline • Attacks on Mobile Apps • Developing Secure Mobile Apps • What Frameworks Help You With
  11. 11. Developing Secure Mobile Apps • iOS/OS X ‘Secure Coding Guide’ – Comprehensive, 120 pages long – Covers topics from buffer overflows to web vulnerabilities – ecureCodingGuide.pdf • ‘Security Tips’ – 6 articles on • Storing data • Using permissions • Using networking • Using RPC • Webview security –
  12. 12. Outline • Attacks on Mobile Apps • Developing Secure Mobile Apps • What Frameworks Help You With
  13. 13. Mobile Frameworks The breakdown • All focus on rapid development using HTML • Most provide easy ways of creating secure TLS connections • Fair amount provide authentication support • Few provide secure credential storage • Very few provide secure data storage
  14. 14. Protecting Data Salesforce Mobile SDK - • Uses proper peer reviewed crypto with random IV, cipher mode and padding • Secrets are properly stored – Keychain – AccountManager • PIN code support for added security • TLS • Cordova plugins are properly scoped • Limited amount of logging
  15. 15. Demo Looking at files inside Apple Sandbox - iExplorer
  16. 16. Hybrid Apps • Can access device internals through plugins – Camera, photos – Accelerometer, GPS, Compass, Gyroscope – Keychain – SD card – Etc.
  17. 17. Demo XSS with BEEF on Hybrid mobile app
  18. 18. Protecting Mobile Apps What to focus on • Follow best development practices – Brush up on OWASP top 10 mobile threats – Review official vendor recommendations – Follow recommendations for storing secrets and data – Exercise minimal logging – Using TLS – Use security frameworks, don’t roll your own crypto • Use free security assessment tools – HTTP traffic examination: Burp Suite, Fiddler, Charles Proxy – App sandbox examination: iExplorer, drozer, Android debugging bridge – Source code review: Findbugs, Brakeman, Scanjs