© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
Mobile pitfalls to avoid:
Breaking down the OWASP
Top 10 Mobile Risks
Katie Strzempka
Director of Services
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Keith Mokris
Product Marketing Manager
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
1
Improper
Platform Usage
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Misuse of a platform feature or lack of
platform security controls for the
Android or iOS operating systems. Issues
may include incorrect use of the keychain
on iOS or Android intents.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Android - Implement intents carefully
Intents are used for inter-component signaling. Improper
implementation could result in data leakage, restricted functions being
called and program flow being manipulated.
https://books.nowsecure.com/secure-mobile-development/en/
android/implement-intents-carefully.html
iOS - Use the keychain carefully
iOS provides the keychain for secure data storage. However, in several
scenarios, the keychain can be compromised and subsequently
decrypted.
https://books.nowsecure.com/secure-mobile-development/en/ios/
use-the-keychain-carefully.html
Best practice(s):
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
2
Insecure
Data Storage
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Vulnerabilities that
leak personal information and
provide access to hackers.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
1 in 10apps leak private, sensitive data like
email, username, or password
NowSecure: 2016 NowSecure Mobile Security Report
Data from testing 400,000 mobile apps
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Implement secure data storage
Transmit and display but do not persist to memory. Ensure that an analog leak does not present itself
where screenshots of the data are written to disk. Store only in RAM (clear at application close).
https://books.nowsecure.com/secure-mobile-development/en/sensitive-data/
implement-secure-data-storage.html
Securely store data in RAM
Do not keep sensitive data (e.g., encryption keys) in RAM longer than required. Nullify any variables that
hold keys after use.
https://books.nowsecure.com/secure-mobile-development/en/ios/use-the-keychain-carefully.html
Best practice(s):
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
3Insecure
Communication
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Insecure communication refers to
communications being sent in
cleartext as well as other insecure
methods.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Best practice(s):
Implement secure transmission of sensitive data
Best practices call for app providers to use SSL/TLS effectively to secure the
transmission of passwords, login IDs, and other sensitive data over the network, and
even go further and leverage app-layer encryption to protect user data.
https://books.nowsecure.com/secure-mobile-development/en/sensitive-data/
implement-secure-network-transmission-of-sensitive-data.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
4Insecure
Authentication
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Mobile apps need to
securely identify a user and maintain
that user’s identity, especially when
users are calling and sending
sensitive data such as financial
information.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Best practice(s):
Hide account numbers and use
tokens
Given the widespread use of mobile apps in public
places, displaying partial numbers (e.g. *9881) can
help ensure maximum privacy for this information.
Unless there is a need to store the complete number
on the device, store the partially hidden numbers.
https://books.nowsecure.com/secure-mobile-develo
pment/en/sensitive-data/hide-account-numbers-
and-use-tokens.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
● India’s largest startup with $1.1B
in funding was hacked to allow
unlimited free rides
● Hacker used MITM Proxy to view
API calls over HTTP
● No OAuth token mechanism or
encryption was in place to guard
APIs
Source: The Next Web
Example: Ola
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
5Insufficient
Cryptography
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
The process behind
encryption and
decryption may allow
a hacker to decrypt
sensitive data.
The algorithm behind
encryption and
decryption may be
weak in nature.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Implement secure data storage
If storing sensitive data on the device is a requirement,
add an additional layer of verified, third-party
encryption. By adding another layer of encryption, you
have more control over the implementation and mitigate
attacks focused on the main OS encryption classes.
https://books.nowsecure.com/secure-mobile-developme
nt/en/sensitive-data/implement-secure-data-storage.ht
ml
Best practice(s):
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
6Insecure
Authorization
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Insecure authorization refers to
the failure of a server to properly
enforce identity and permissions
as stated by the mobile app.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Best practice(s):
Implement proper web
server configuration
Certain settings on a web server can increase
security. One commonly overlooked
vulnerability on a web server is information
disclosure. Information disclosure can lead to
serious problems because every piece of
information attackers can gain from a server
makes staging an attack easier.
https://books.nowsecure.com/secure-mobile-d
evelopment/en/servers/
web-server-configuration.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
7
Client Code
Quality
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Risks that come from vulnerabilities like buffer
overflows, format-string vulnerabilities, and
various other code-level mistakes where the
solution is to rewrite some code that's
running on the mobile device.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Vulnerabilities in the Vitamio SDK
NowSecure Blog: World Writable Code Is Bad, MMMMKAY
Best practice(s):
Test third-party libraries
Third-party libraries can contain vulnerabilities
and weaknesses. Many developers assume
third-party libraries are well-developed and
tested, however, issues can and do exist in their
code.
https://books.nowsecure.com/secure-mobile-d
evelopment/en/coding-practices/
test-third-party-libraries.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
8Code
Tampering
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
When attackers tamper with or
install a backdoor on an app, re-sign
it and publish the malicious version
to third-party app marketplaces.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
● 50M downloads in 19 days on
Android alone
● Within 3 days of initial release,
malicious DroidJack software
found on third-party app stores
● Remote Access Tool (RAT) can
open a silent, backdoor for
hackers
Source: NowSecure Blog
Example: PokemonGO
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Best practice(s):
Implement anti-tampering techniques
Employ anti-tamper and tamper-detection techniques to prevent illegitimate
applications from executing. Use checksums, digital signatures, and other validation
mechanisms to help detect file tampering.
https://books.nowsecure.com/secure-mobile-development/en/coding-practices/
anti-tamper-techniques.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
9Reverse
Engineering
OWASP MOBILE TOP 10 2016 DRAFT
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Reverse engineering refers to
the analysis of a final binary to
determine its source code,
libraries, algorithms, and more.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
● Hackers decompiled mobile app
and recompiled it so they didn’t
have to pay for premium content
● If it is possible, hackers will find a
way
Source: Forbes
Example: Tinder
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Best practice(s):
Increase code complexity and use obfuscation
Reverse engineering apps can provide valuable insight into how your app works.
Making your app more complex internally makes it more difficult for attackers to see
how the app operates, which can reduce the number of attack vectors.
https://books.nowsecure.com/secure-mobile-development/en/coding-practices/
code-complexity-and-obfuscation.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
1 Extraneous
Functionality
OWASP MOBILE TOP 10 2016 DRAFT0
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Developers frequently include hidden
backdoors or security controls they
do not plan on releasing into production.
This error creates risk when a feature is
released to the wild that was
never intended to be shared.
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
● Manufacturer of hardware chips
and processors for mobile
devices
● A debug tool, left open for
carriers to test network
connections, was left open on
shipped devices
Source: The Hacker News
Example: MediaTek
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
Best practice(s):
Carefully manage debug logs
Debug logs are generally designed to be used to detect and correct flaws in an
application. These logs can leak sensitive information that may help an attacker create
a more powerful attack.
https://books.nowsecure.com/secure-mobile-development/en/caching-logging/
carefully-manage-debug-logs.html
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
Review the NowSecure Secure
Mobile Development
Best Practices in their entirety:
Read Now
© Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information.
You can view the GitHub
repository here:
https://github.com/nowsecure/
secure-mobile-development
Contribute to the Secure Mobile
Development Best Practices

OWASP Mobile Top 10

  • 1.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. Mobile pitfalls to avoid: Breaking down the OWASP Top 10 Mobile Risks
  • 2.
    Katie Strzempka Director ofServices © Copyright 2016 NowSecure, Inc. All Rights Reserved. Proprietary information. Keith Mokris Product Marketing Manager
  • 3.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 1 Improper Platform Usage OWASP MOBILE TOP 10 2016 DRAFT
  • 4.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Misuse of a platform feature or lack of platform security controls for the Android or iOS operating systems. Issues may include incorrect use of the keychain on iOS or Android intents.
  • 5.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Android - Implement intents carefully Intents are used for inter-component signaling. Improper implementation could result in data leakage, restricted functions being called and program flow being manipulated. https://books.nowsecure.com/secure-mobile-development/en/ android/implement-intents-carefully.html iOS - Use the keychain carefully iOS provides the keychain for secure data storage. However, in several scenarios, the keychain can be compromised and subsequently decrypted. https://books.nowsecure.com/secure-mobile-development/en/ios/ use-the-keychain-carefully.html Best practice(s):
  • 6.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 2 Insecure Data Storage OWASP MOBILE TOP 10 2016 DRAFT
  • 7.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Vulnerabilities that leak personal information and provide access to hackers.
  • 8.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. 1 in 10apps leak private, sensitive data like email, username, or password NowSecure: 2016 NowSecure Mobile Security Report Data from testing 400,000 mobile apps
  • 9.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Implement secure data storage Transmit and display but do not persist to memory. Ensure that an analog leak does not present itself where screenshots of the data are written to disk. Store only in RAM (clear at application close). https://books.nowsecure.com/secure-mobile-development/en/sensitive-data/ implement-secure-data-storage.html Securely store data in RAM Do not keep sensitive data (e.g., encryption keys) in RAM longer than required. Nullify any variables that hold keys after use. https://books.nowsecure.com/secure-mobile-development/en/ios/use-the-keychain-carefully.html Best practice(s):
  • 10.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 3Insecure Communication OWASP MOBILE TOP 10 2016 DRAFT
  • 11.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Insecure communication refers to communications being sent in cleartext as well as other insecure methods.
  • 12.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Best practice(s): Implement secure transmission of sensitive data Best practices call for app providers to use SSL/TLS effectively to secure the transmission of passwords, login IDs, and other sensitive data over the network, and even go further and leverage app-layer encryption to protect user data. https://books.nowsecure.com/secure-mobile-development/en/sensitive-data/ implement-secure-network-transmission-of-sensitive-data.html
  • 13.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 4Insecure Authentication OWASP MOBILE TOP 10 2016 DRAFT
  • 14.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Mobile apps need to securely identify a user and maintain that user’s identity, especially when users are calling and sending sensitive data such as financial information.
  • 15.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Best practice(s): Hide account numbers and use tokens Given the widespread use of mobile apps in public places, displaying partial numbers (e.g. *9881) can help ensure maximum privacy for this information. Unless there is a need to store the complete number on the device, store the partially hidden numbers. https://books.nowsecure.com/secure-mobile-develo pment/en/sensitive-data/hide-account-numbers- and-use-tokens.html
  • 16.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. ● India’s largest startup with $1.1B in funding was hacked to allow unlimited free rides ● Hacker used MITM Proxy to view API calls over HTTP ● No OAuth token mechanism or encryption was in place to guard APIs Source: The Next Web Example: Ola
  • 17.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 5Insufficient Cryptography OWASP MOBILE TOP 10 2016 DRAFT
  • 18.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. The process behind encryption and decryption may allow a hacker to decrypt sensitive data. The algorithm behind encryption and decryption may be weak in nature.
  • 19.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Implement secure data storage If storing sensitive data on the device is a requirement, add an additional layer of verified, third-party encryption. By adding another layer of encryption, you have more control over the implementation and mitigate attacks focused on the main OS encryption classes. https://books.nowsecure.com/secure-mobile-developme nt/en/sensitive-data/implement-secure-data-storage.ht ml Best practice(s):
  • 20.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 6Insecure Authorization OWASP MOBILE TOP 10 2016 DRAFT
  • 21.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Insecure authorization refers to the failure of a server to properly enforce identity and permissions as stated by the mobile app.
  • 22.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Best practice(s): Implement proper web server configuration Certain settings on a web server can increase security. One commonly overlooked vulnerability on a web server is information disclosure. Information disclosure can lead to serious problems because every piece of information attackers can gain from a server makes staging an attack easier. https://books.nowsecure.com/secure-mobile-d evelopment/en/servers/ web-server-configuration.html
  • 23.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 7 Client Code Quality OWASP MOBILE TOP 10 2016 DRAFT
  • 24.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Risks that come from vulnerabilities like buffer overflows, format-string vulnerabilities, and various other code-level mistakes where the solution is to rewrite some code that's running on the mobile device.
  • 25.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Vulnerabilities in the Vitamio SDK NowSecure Blog: World Writable Code Is Bad, MMMMKAY Best practice(s): Test third-party libraries Third-party libraries can contain vulnerabilities and weaknesses. Many developers assume third-party libraries are well-developed and tested, however, issues can and do exist in their code. https://books.nowsecure.com/secure-mobile-d evelopment/en/coding-practices/ test-third-party-libraries.html
  • 26.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 8Code Tampering OWASP MOBILE TOP 10 2016 DRAFT
  • 27.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. When attackers tamper with or install a backdoor on an app, re-sign it and publish the malicious version to third-party app marketplaces.
  • 28.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. ● 50M downloads in 19 days on Android alone ● Within 3 days of initial release, malicious DroidJack software found on third-party app stores ● Remote Access Tool (RAT) can open a silent, backdoor for hackers Source: NowSecure Blog Example: PokemonGO
  • 29.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Best practice(s): Implement anti-tampering techniques Employ anti-tamper and tamper-detection techniques to prevent illegitimate applications from executing. Use checksums, digital signatures, and other validation mechanisms to help detect file tampering. https://books.nowsecure.com/secure-mobile-development/en/coding-practices/ anti-tamper-techniques.html
  • 30.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 9Reverse Engineering OWASP MOBILE TOP 10 2016 DRAFT
  • 31.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Reverse engineering refers to the analysis of a final binary to determine its source code, libraries, algorithms, and more.
  • 32.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. ● Hackers decompiled mobile app and recompiled it so they didn’t have to pay for premium content ● If it is possible, hackers will find a way Source: Forbes Example: Tinder
  • 33.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Best practice(s): Increase code complexity and use obfuscation Reverse engineering apps can provide valuable insight into how your app works. Making your app more complex internally makes it more difficult for attackers to see how the app operates, which can reduce the number of attack vectors. https://books.nowsecure.com/secure-mobile-development/en/coding-practices/ code-complexity-and-obfuscation.html
  • 34.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute. 1 Extraneous Functionality OWASP MOBILE TOP 10 2016 DRAFT0
  • 35.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Developers frequently include hidden backdoors or security controls they do not plan on releasing into production. This error creates risk when a feature is released to the wild that was never intended to be shared.
  • 36.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. ● Manufacturer of hardware chips and processors for mobile devices ● A debug tool, left open for carriers to test network connections, was left open on shipped devices Source: The Hacker News Example: MediaTek
  • 37.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Best practice(s): Carefully manage debug logs Debug logs are generally designed to be used to detect and correct flaws in an application. These logs can leak sensitive information that may help an attacker create a more powerful attack. https://books.nowsecure.com/secure-mobile-development/en/caching-logging/ carefully-manage-debug-logs.html
  • 38.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. Do not distribute.
  • 39.
    Review the NowSecureSecure Mobile Development Best Practices in their entirety: Read Now
  • 40.
    © Copyright 2016NowSecure, Inc. All Rights Reserved. Proprietary information. You can view the GitHub repository here: https://github.com/nowsecure/ secure-mobile-development Contribute to the Secure Mobile Development Best Practices