Essentials for Developing More Secure Mobile Applications - SECURITY INNOVATION

Page created by Howard Reid
 
CONTINUE READING
Essentials for Developing More Secure Mobile Applications - SECURITY INNOVATION
SECURITY
                INNOVATION

Essentials for
Developing More Secure
Mobile Applications
Essentials for Developing More Secure Mobile Applications - SECURITY INNOVATION
Table of Contents

            OVERVIEW                                     3

            CHALLENGES OF THE MOBILE PLATFORM            4

            COMMON MOBILE RISKS AND ATTACKS              6

            DATA RISKS                                   10

            3 WAYS TO OPTIMIZE YOUR MOBILE APPLICATION   14
            SECURITY PROGRAM

            CONCLUSION                                   19

            ADDENDUM: HOW SECURITY INNOVATION CAN HELP   20

            Essentials for
            Developing More Secure
            Mobile Applications
Overview

                          T
                                oday’s mobile applications and anywhere-anytime connections
                                present significant opportunities for your business and its users.
                                Unfortunately, the opportunities also extend to criminals, who adapt
                          their tactics to exploit the mobile environment.

                          In order to mitigate risk, your development team must be vigilant about
                          building security into mobile applications – even as they face increasing
                          pressures of delivering functional and intuitive applications quickly and
                          cost-efficiently.

                          Security vigilance begins with the developers’ solid understanding of the
                          types of threats and attacks that are unique to the mobile platform so that
                          these can be considered and addressed with appropriate countermeasures
                          in application design, code, and testing.

                          To that end, this paper describes a range of mobile-specific threats and
                          risks for developers to be aware of. It also examines three core components
                          of an optimized mobile application security program that will support your
                          developers in the design of more secure mobile applications.

Reasons Why Mobile Apps

                               77%                                         68%
Contain Vulnerable Code

                                      Rush to                            Lack of quality assurance
                                 release pressures                        and testing procedures

                               73%
                           Lack of understanding or training
                                                                           64%  Lack of internal
                              on secure coding practices                        policies or rules

                           Percentages reflect participant responses reported in Ponemon Institute’s
                           State of Mobile Application Insecurity publication.1

                                                                                      Security Innovation Inc.   3
Challenges of the Mobile Platform

T
     he convergence of computing and communication technologies
     is evolving continuously, with new mobile capabilities that can be
     accessed anywhere, anytime. Although mobile devices are useful
and convenient, they are exposed to traditional desktop and server
system risks in addition to mobile-specific risks, which greatly expands
the mobile attack surface and threat landscape.

While vulnerabilities often are similar across the various desktop and
server computing platforms (Linux, UNIX, Windows, MAC Operating
System (OS), etc.), each has distinctive idiosyncrasies, built-in defenses,
attack vectors, and threats. The same is true – and even more
pronounced – with mobile platforms (Apple iOS, Google Android,
etc.), where issues arise as a result of unique challenges in hardware
and resource constraints, increased physical security risks, different
permission models, and a more complicated patching model. (See
Table 1. Mobile-Specific Challenges.)

Many popular desktop and server applications now can run on mobile
devices. For example, mobile devices can process database queries
and store small SQL files locally, exposing mobile applications to many
traditional application security risks. Unfortunately, mobile browsers
do not have the same level of security scrutiny as desktop browsers
and are more likely to have vulnerabilities. Also, new versions of mobile
operating systems are released continually; vulnerabilities that exist in
Operating System Version 1.0 more often than not are very different
from vulnerabilities that exist in Operating System Version 2.0.

                                                                              Security Innovation Inc.   4
Challenges of the Mobile Platform

         Table 1. Mobile-Specific Challenges

            Challenge                          Overview

            Hardware and                       Mobile devices often have less processing power and
            Resource Constraints               memory than their desktop and server counterparts.
                                               This makes the impact and overhead of employing
                                               protection mechanisms (e.g., cryptography) more costly,
                                               and testing more difficult. The smaller screens and
                                               keyboards that are inherent in mobile devices often
                                               force developers to make certain security trade-offs.

            Increased Physical                 Their small physical size and portability make mobile
            Security Risks                     devices more susceptible to being lost, stolen, or
                                               temporarily misplaced, which exposes both users and
                                               organizations to security risks. If a mobile device or
                                               the data stored on it are not sufficiently protected,
                                               sensitive data can be leaked and the organization’s
                                               network compromised.

            Different                          Permission models differ from platform to platform.
            Permission Models                  Mobile application developers who create applications
                                               for multiple platforms, therefore, must be aware of
                                               and follow OS-specific coding requirements and best
                                               practices for OS-specific applications.

            Complicated                        Similar to other software applications, patches for
            Patching Process                   mobile applications often repair identified security
                                               gaps and coding issues. These patches typically are
                                               deployed through mobile platform vendor markets
                                               such as the Apple App Store and Google Play, but
                                               can be rejected or delayed by the vendor review
                                               processes. The increased time interval for patch
                                               availability often leaves end users exposed.

                                                                                            Security Innovation Inc.   5
Common Mobile Risks and Attacks

A
    s we mentioned, mobile devices are exposed to many of the same
    risks as traditional desktops and servers – as well as mobile-specific
    vulnerabilities, attack vectors, and threats. Following are some of the
common risks and attacks that affect the mobile environment:

CLIENT-SIDE                                            IMPROPER STORAGE OF
INJECTION ATTACKS                                      SENSITIVE INFORMATION

Many software application types have                   The storage of information on a mobile device
transitioned to mobile devices, carrying               becomes an issue when the information is stored
related risks along with them. For example:            with global read/write/read-write permissions.
• Mobile applications that send SQL requests to        If the data is stored as plain text and is not
  a backend database server are vulnerable to          protected using a strong cryptographic algorithm,
  SQL injection attacks similar to those found in      there is potential for attackers to gain access to
  traditional web-based applications.                  that data – whether through unauthorized access
• Client-side injections allow an attacker to          to the victim’s mobile device (through physical
  execute malicious code on the victim’s device        device loss, theft, or unsupervised availability);
  via the mobile application.                          through other applications; or through a mobile
• The data entered by the attacker is processed        malware repackaged as a harmless mobile
  by the mobile application and then parsed by         application that steals sensitive information in the
  the operating system in a way that indirectly        background or executes attacker-controlled code
  allows an attacker to run remote or local code       on the mobile device.
  on the device.
                                                       While cryptography is well-suited to protecting
To reduce the risk of mobile injection attacks,        data at rest (i.e., stored) or in transit, several
teams should implement the same risk controls          challenges arise when implementing
that they implement for desktop and server             cryptography on data in-use. There often
applications, such as input validation and             are hidden cracks in the cryptography
output encoding.                                       implementation, including improper
                                                       implementation. Also, if the data is stored using
                                                       a weak encryption algorithm, an attacker can
                                                       reverse the encryption in order to gain access to
                                                       the sensitive plain text information.

                                                                                         Security Innovation Inc.   6
Common Mobile Risks and Attacks

       UNINTENDED DATA LEAKAGE                              CODING RISKS

       A mobile operating system can leak sensitive         Applications, mobile or otherwise, are vulnerable
       information data by means of operating system        to attacks associated with their coding language,
       crashes, network traffic caches, key presses,        including buffer overruns, format string attacks,
       copy-paste buffers, or by the way an application     and integer overflows. Mobile applications are
       logs the information. Data can also be leaked to     implemented in many of the same languages
       third-party servers over multiple communication      as their desktop and web counterparts, and
       channels, or by an adversary that has physical       therefore are susceptible to many of the same
       access to the mobile device. The leakage of          vulnerabilities and attacks. For example, Apple
       sensitive information could lead to multiple         iOS applications can be written using Objective-C,
       privacy and compliance violations as well as         an object-oriented version of the C programming
       reputational damage to the organization.             language that is used to code many desktop
                                                            applications. Common risks associated with
       WEB-BASED ATTACKS                                    implementation languages can be mitigated by
                                                            adopting a secure programming discipline that
                                                            includes language-specific best practices, skills
       Web-based attacks such as Cross-Site Request         development, and tools.
       Forgery (CSRF), redirection, and phishing –
       which require users to click on a malicious
       link – are prevalent with mobile browser-based       ATTACK ON BINARY CODE
       applications. The reason? Mobile browser
       limitations, including small mobile screen size,     Binary protection techniques help protect a mobile
       contribute to a greater chance of success for        application’s underlying binary code. Applications
       these web-based attacks. On a desktop or server      that lack any or sufficient binary protections
       system, users can view the links provided and        are at significant risk of exposure and access by
       actively look for signs of malicious code. But       adversaries who may reverse-engineer and/or
       smaller mobile screens restrict the user’s ability   make unauthorized modifications to the binary
       to inspect a link, or notice spelling and grammar    code. These modifications – including backdoor
       mistakes and other clues that might indicate that    coding and the detection and misuse of an
       the user is being (or has been) redirected to a      application’s hidden coded functionality – can
       malicious site. Also, the browser address bar and    allow an attacker to gain malicious access to
       the URL information contained within it may not      information that otherwise was assumed to
       be visible to the mobile user. Development teams     be stored securely in the binary; to access the
       must be aware of these limitations and ensure        organization’s systems; or to bypass client-side
       that applications incorporate the technical and      validations by means of debuggers.
       procedural controls required to reduce the risk of
       web-based attacks.

                                                                                             Security Innovation Inc.   7
Common Mobile Risks and Attacks

       INSECURE                                              VULNERABILITIES IN THIRD-PARTY
       PLATFORMS                                             CODE AND SERVICES

       Both Android and iOS platforms have had               Mobile applications can be divided into four
       security bugs that allow attackers to gain root       general components:
       access to the mobile device. With root access, an     1. Application code and libraries
       attacker can read or modify all the data – even       2. Application services
       data that was secured during the development          3. Third-party code and libraries
       process or securely stored on the device.             4. Third-party services

       Also, many mobile device platforms supply             Vulnerabilities in any of these components create
       built-in security services – common functionality     risks for mobile applications, development teams,
       that allows mobile application development            and users. When vulnerabilities are discovered in
       teams to save time, focus their efforts on            application code, libraries, and services, mobile
       implementing the business logic, and get              development teams can respond by deploying a
       applications to market faster.                        code fix. The process becomes more complicated
                                                             for third-party code, libraries, and services because
       Each built-in security service, though, has its own   the team may not have the source code or be
       strengths and limitations that teams must be          capable of fixing the problem.
       aware of in order to use it effectively. Apple iOS
       devices, for example, feature Keychain Services,      Teams can reduce overall risk by developing
       which abstract the processes of encrypting            a sound overall security patching strategy
       and storing sensitive data securely – such as         that includes processes for tracking the third-
       authentication tokens and personal information.       party code and libraries that are used by their
       iOS developers can access the Keychain Services       applications – as well as associated code and
       directly to avoid having to implement their own       security updates. Processes also should be
       secure data storage code. A user can unlock           developed for timely download and integration of
       a keychain with a single password, and any            updated code and libraries into the organization’s
       Keychain Services-aware application can use a         applications.
       keychain to store and retrieve passwords. But
       in a jailbroken scenario, for example where
       manufacturer-, developer-, or operator-imposed
       restrictions are removed, the integrity of built-in
       security facilities such as Keychain Services no
       longer can be guaranteed.

       Mobile development teams can reduce the
       risks of insecure platforms and built-in services
       by implementing additional controls such as
       password-based encryption in their applications,
       especially in situations with high-business impact.

                                                                                               Security Innovation Inc.   8
Common Mobile Risks and Attacks

       MALWARE                                                  an LBS can be considered personally identifiable
                                                                information – such as mobile number, home
                                                                address, and locations frequented. Users may be
       Just like applications that are designed and             concerned not only with who owns that data but
       implemented for desktop and server systems,              also with how that data might be misused, and if
       mobile applications contain machine code – a             the “owner” can control that data through privacy-
       low-level programming language that is executed          enhancing technologies (PETs). For example, it
       directly by an operating system on a hardware            was discovered that Uber, the mobile-enabled
       device. As a result, mobile applications similarly are   car service company, was keeping track of the
       subject to infection and compromise by malicious         identities of users who had installed the Uber
       software – malware such as spyware, Trojan horse         mobile application on their phones – including
       programs, worms, and computer viruses.                   the users’ iPhone device registry details and
                                                                Apple-assigned device serial numbers – even
       Unlike traditional applications, though, mobile          after the application was uninstalled. Enterprise
       applications are subject to new infection mediums        development and security teams must understand
       such as Short Message System (SMS), Bluetooth,           security controls and their strengths and
       and other mobile-centric communication                   weaknesses, and implement appropriate security
       mechanisms. Malwares such as Pegasus and                 controls that help maintain user privacy.
       Trident silently jailbreak iOS devices and spy on
       the victims, collecting information from voice
       communications, camera, email, messaging, GPS,           DESIGN ATTACKS
       passwords, and contact lists. In order to reduce
       vulnerability with mobile malware, be sure that          Systemic design flaws often allow an application
       your teams understand these mobile-specific              to be exploited. The attack could be on the mobile
       communication technologies – and the techniques          application or on the server to which the mobile
       attackers use to exploit them.                           application speaks, on unprotected internal APIs,
                                                                alternate routes through and around security
       LOCATION SECURITY AND                                    checks, and/or on open server ports. These attacks
       PRIVACY ISSUES                                           can force loop conditions and fake their source.
                                                                Race conditions* and attacks that take advantage
                                                                of time discrepancies (Time of Check/Time of Use)
       A location-based service (LBS) uses a mobile             are of particular concern in this category.
       device’s geographic position to add value for
       the user, such as determining the location of            *A race condition exists when changes to the order of two
       the nearest bank, displaying local weather, or           or more events can cause a change in behavior. If the correct
       monitoring/tracking children.                            order of execution is required for the proper functioning of
                                                                the program, this is a bug. If an attacker can take advantage
                                                                of the situation to insert malicious code, change a filename, or
       LBS use, though, raises privacy and security
                                                                otherwise interfere with the normal operation of the program,
       concerns for the enterprise. Data collected by           the race condition is a security vulnerability.2

                                                                                                          Security Innovation Inc.   9
Data Risks

T
      here are many types of data, and “sensitive” data can mean different
      things to different organizations. Whether it is personally identifiable
      information, proprietary corporate information, or credit card
data, organizations must clearly define data by “type” and provide their
developers with well-defined policies and compliance-based procedures
for protecting all data – sensitive and non-critical – when it is both at rest
(stored) and in transit in the mobile environment.

PROTECTING DATA AT REST

In the traditional office, sensitive data resides on file servers, in email, or in
databases behind a firewall. In today’s mobile environment, mobile devices
often are used to store sensitive data. A mobile user, for instance, can save
email attachments locally on a mobile device and later access that data
offline on an airplane or in another location where Internet access may not
be available.

While the protection of sensitive data is essential regardless of location, the
mobile platform presents unique challenges – and passwords, corporate
data, and personally identifiable information are at risk if not stored properly.

Mobile developers need to understand and assess the risks associated with
data storage and implement sufficient controls to mitigate them based on
their own security policies and compliance requirements. (See Table 2. Mobile
Data Storage Risks and Impacts.)

                                                                                     Security Innovation Inc.   10
Data Risks

         Table 2. Mobile Data Storage Risks and Impacts

             Data Risk                                    Implication

             Using an Unsafe Data                         Sensitive data can be exploited on storage devices that do
             Storage Mechanism                            not have full disk encryption enabled, particularly when
                                                          application data is backed up off the device, or if the device
                                                          is lost or stolen and in the hands of a malicious user.
                                                          Examples include databases and basic mobile file systems.

             Storing Data in an                           Mobile applications typically are isolated from other
             Unprotected State                            applications on the device, meaning they cannot gain
                                                          visibility into another application’s resource space (for
                                                          example, a mobile application cannot inspect the file
                                                          system of another mobile application). This guarantee does
                                                          not apply in scenarios where the mobile device has been
                                                          jailbroken, or if a malicious user has gained root access
                                                          to the device. As a result, mobile application data can be
                                                          exposed if not encrypted. Sensitive data that is transferred
                                                          from a mobile device and saved on a remote server also is
                                                          at risk when not stored in a protected state.

             Storing Data on Unprotected                  Many popular mobile devices support removable micro
             Removable Drives                             Secure Digital (microSD) cards. These external storage
                                                          mediums are not encrypted by default. Unfortunately, a
                                                          malicious user simply can take the removable drive from
                                                          an unattended phone and extract its data. Sensitive data
                                                          stored on these drives is at risk if not encrypted.

             Storing Data on Shared                       Mobile devices often have shared data storage such as
             Data Storage                                 address books, media galleries, calendars, and more – all of
                                                          which are accessible to multiple applications on the device.
                                                          When sensitive data is written to shared data storage, it
                                                          often is exposed to unauthorized transfer of data and data
                                                          leakage risks.

             Unsafe Deletion of                           Decommissioned phones often are a source of serious
             Sensitive Data                               data leaks. Deleted sensitive data still is at risk if it was not
                                                          deleted using secure procedures, such as those described
                                                          by the National Institute of Standards and Technology
                                                          (NIST) Guidelines for Media Sanitization (Special Publication
                                                          800-88 Revision 1).3

                                                                                                          Security Innovation Inc.   11
Data Risks

PROTECTING DATA IN TRANSIT –                          the transaction, the trusted network goes down,
                                                      or perhaps the user walks out of that network’s
SECURE COMMUNICATIONS                                 range and into the range of an untrusted network.
                                                      This untrusted network has been configured by
Mobile devices and mobile applications are            a malicious user with a Transport Layer Security
unique compared to their desktop and server           (TLS) proxy, which records all user data sent, such
counterparts. Because desktops and servers            as transaction details and account credentials. If
typically are stationary, the risk of those systems   the mobile application has not been designed and
transmitting sensitive data over unsecured            implemented to detect these types of risks, highly
wireless networks in the middle of a transaction      sensitive data and transactions may be exposed.
is minimal. In mobile scenarios, however, the
risk is significantly higher. The mobility of the     Mitigating these risks can be difficult on mobile
user means that the underlying network the            devices because of processing and network
device is connected to may change frequently          constraints that make cryptography overhead
as the user changes locations. And each network       more significant. As a result, when designing
is unique in its security settings, strengths,        and developing secure mobile applications,
and limitations. (See Table 3. Common Mobile          development teams need to ensure that sensitive
Communications Networks.)                             data always is transmitted securely and that
                                                      communication is protected end-to-end with TLS.
For users of mobile applications that transmit
sensitive data, risk increases when devices
are connected to unsecured or untrusted
networks. Consider an example of a mobile
user accessing bank account information. At
the beginning of the transaction, the user is
connected through a trusted network. During

                                                                                       Security Innovation Inc.   12
Data Risks

         Table 3. Common Mobile Communications Networks

             Network                         Overview

             Wi-Fi Networks                  Most mobile devices can connect to TCP/IP-based wireless
                                             networks. Although modern wireless networks provide protection
                                             such as Wi-Fi Protected Access (WPA2), the scope of this
                                             protection is valid only for that particular network. Once data is
                                             routed outside of that network, there are no guarantees that the
                                             data will remain protected, and it may be exposed to interception
                                             or modification by malicious users.

             GSM, 3G, and 4G Networks        Cellular networks – such as Global System for Mobile
                                             Communications (GSM), third generation (3G), and fourth
                                             generation (4G) – frequently are used for packet transmission.
                                             Although several of these standards include protection for data
                                             transmission, many have been broken or are insufficient. For
                                             example, the 3G standard utilizes the KASUMI block cipher to
                                             protect data, which has several weaknesses.

             Bluetooth Networks              While packet data can be transferred across Bluetooth networks
                                             in close proximity, it’s important to be aware of the many reported
                                             vulnerabilities relating to this protocol. These include malware
                                             and viruses that use Bluetooth to replicate and spread among
                                             mobile devices, and poor implementations of Bluetooth security
                                             that lead to data leaks and eavesdropping.4 Bluesnarfing, a device
                                             hack, enables the attacker to steal sensitive information from a
                                             device with a Bluetooth connection.5

             SMS and MMS                     Short message service (SMS) and multimedia messaging service
                                             (MMS) are used to send short text messages and multimedia
                                             content, respectively. Both suffer from numerous data-protection
                                             vulnerabilities and should not be used to transfer highly sensitive
                                             data. The latest draft of the Digital Identity Guidelines issued
                                             by NIST (Special Publication 800-63-3).6 recently acknowledged
                                             the risk of SMS messages being intercepted and encouraged
                                             adoption of other alternative authenticators for two-factor
                                             authentication. Other vulnerabilities include weak encryption and
                                             SMS spoofing.

                                                                                                 Security Innovation Inc.   13
3 Ways to Optimize Your Mobile
Application Security Program

A
       Ponemon Institute study indicates that proprietary business
       applications may be at a higher risk of attack than consumer
       applications.7 This often is the result of internal rush-to-release
pressures on developers, and a lack of clear security requirements, QA, and
testing procedures.

Mobile application development teams cannot mitigate security risk through
application code alone. As we’ve discussed, other factors including mobile-
specific challenges – such as physical risk and platform vulnerabilities –
also impact mobile security. Teams can reduce risks by following a secure
programming discipline that is specific to the mobile platform and that
describes mobile secure development best practices, tools, testing, libraries
and role-based activities.

Organizations can implement and/or optimize a secure programming
discipline by incorporating the following three core components into an
overall mobile application security program:

  1     POLICIES, STANDARDS, AND PROCEDURES

Documented policies, standards, and procedures for mobile application
development provide a set of guiding principles to ensure that team
members understand the organization’s expectations for mobile security and
know how to develop to those expectations, including ”building in” security
throughout the development life cycle. The following activities are central to
the development of a strong security discipline within your organization:

• Create an Application Security Policy and Standards document that
  describes your organization’s high-level security policy – the mandatory
  requirements for developing secure mobile applications. Standards define
  the system- or procedure-specific process and/or rules that support the
  policy, such as the organization’s accepted way to adhere to policy and how
  to carry out specific security-centric operations.

• Define secure coding standards to help developers avoid the most
  common mobile application vulnerabilities and provide a framework for
  conducting a security code review. Each mobile platform (e.g., iOS, Android,
  Blackberry) has unique security vulnerabilities. It is critical, therefore, to
  establish operating system- and language-specific standards and guidance
  to ensure that teams know how to navigate the nuances of each and
  implement security that addresses these risks effectively.

                                                                                   Security Innovation Inc.   14
3 Ways to Optimize Your Mobile Application Security Program

        Follow industry-based secure programming                                   SECURITY ENGINEERING
        processes and standards such as the                                   2
        OWASP8 Mobile Top Ten9 and SEI CERT Coding                                 ACTIVITIES
        Standards.10 These frequently updated resources
        provide developers with valuable information                       Security engineering does not require that you
        for building and maintaining secure mobile                         change your existing application development
        applications, and often include strict security                    process, just augment it with a set of high-impact
        requirements that apply to mobile application                      security activities. Core security engineering
        scenarios. Development teams should follow any                     activities easily and logically can be layered into
        relevant standards to reduce mobile security risk                  a normal software development process at the
        and potential exploitation.                                        appropriate times (See Table 4: Security Engineering
                                                                           Activities for the Application Development Life Cycle).
        Define relevant governance and compliance                          For instance, when you determine your functional
        drivers, for instance, mobile applications that                    requirements, you also would determine your
        accept credit card data must meet the Payment                      security objectives; when you apply design best
        Card Industry Data Security Standard (PCI DSS)                     practices, you would apply security design best
        requirements. Identify sensitive data elements,                    practices, etc. Table 5 provides more details on
        such as personally identifiable information (PII)                  effective security engineering activities.
        or credit card data, and define the appropriate
        standard levels of protection for each.

       Table 4. Security Engineering Activities for
       the Application Development Life Cycle

                                             CORE                                  SECURITY

          Planning

          Requirements and Analysis          Functional Requirements               Security Objectives
                                             Non-Functional Requirements
                                             Technology Requirements

          Architecture and Design            Design Guidelines                     Design Guidelines for Security Threat Modeling
                                             Architecture and Design Review        Architecture and Design Review for Security

          Development                        Unit Tests                            Code Review for Security
                                             Code Review
                                             Daily Builds

          Testing                            Integration Testing                   Security Testing
                                             System Testing

          Deployment                         Deployment Review                     Deployment Review for Security

          Maintenance

       [Source: Microsoft Patterns & Practices]

                                                                                                                    Security Innovation Inc.   15
3 Ways to Optimize Your Mobile Application Security Program

        Table 5. Security Engineering Activities Defined

          Activity                              Overview

          Identify Security                     If you don’t know the security considerations up front, it is difficult
          Objectives                            to be successful with later-stage activities

          Apply Security                        The adoption of proven design principles reduces the application’s
          Design Guidelines                     attack surface and ensures applications are secure from the start

          Conduct Security                      Vulnerabilities introduced in the design phase are the most
          Architecture and                      expensive to fix, so it is critical to identify and fix security problems
          Design Reviews                        that have a multiplier effect in later phases.

          Create Threat Models                  Secure applications start with understanding key threats. Threat
                                                modeling helps teams focus on the most critical threats at each
                                                phase by choosing security design components and coding
                                                defensively to mitigate that risk; and devising test plans that focus
                                                on high-risk areas.

          Perform Security                      Implementation vulnerabilities are the most common. Manual
          Code Reviews and                      inspections and test techniques that are executed manually can
          Penetration Testing                   uncover compound, business logic, and other critical vulnerabilities
                                                that elude tools. Rework can be saved and can help avoid costly
                                                exploitations.

          Conduct Security                      Security deployment reviews help to ensure that configuration and
          Deployment Reviews                    deployment problems are discovered before an application is in
                                                production. Even an effective application security process can be
                                                undone by a configuration error during deployment.

        For each mobile application, development teams must understand the
        associated application and data risks and make sure that engineering
        activities correspond appropriately, as described in Table 6. Security
        Engineering Activities Based on Application Type. A new or mission-critical
        application (See Mobile App A column) may warrant a heavier security analysis
        such as threat modeling, code review, and penetration testing by both
        internal and external teams. A legacy application (See Mobile App B column)
        may only require regular penetration testing and deployment reviews. A
        low-risk application (See Mobile App C column) that doesn’t handle sensitive
        data may require a design review and static application security testing
        (SAST)/dynamic application security testing (DAST) scans.

                                                                                                           Security Innovation Inc.   16
3 Ways to Optimize Your Mobile Application Security Program

        Table 6. Security Engineering Activities Based on Application Type

                                                         Mobile App A               Mobile App B            Mobile App C
                                                     (New/Mission-Critical)          (Legacy)                (Low-Risk)

         Define Security Objectives                             X                                                  X

         Apply Security Design Guidelines                       X                                                  X

         Threat Model                                           X

         Security Architecture and Design Review                X                                                  X

         Apply Security Implementation Guidelines                                                                  X

         SAST/DAST Scan                                         X                                                  X

         Security Code Review                                   X

         Security Penetration Testing                           X                        X                         X

         Apply Security Deployment Guidelines                                            X

         Security Deployment Review                                                      X

         3rd-Party Security Penetration Test                    X

                 SECURITY EDUCATION                                     Role-based training, in particular, ensures that
          3
                                                                        all team members have the knowledge and
                 AND TRAINING                                           specialized skills to implement security activities
                                                                        properly according to their specific role and the
        To build secure software, application                           mobile platform(s):
        development teams must know what to do and
        how to do it. And they must understand what                     • Executives and Managers need to understand
        they are up against including mobile-specific                     the unique threats to the mobile platform.
        idiosyncrasies, challenges, attacks, the unique                   To ensure the design of secure applications
        syntax of each mobile language, as well as mobile                 from the start, they should provide their
        platform security features that can help reduce                   development teams with the necessary
        the overall cost of developing secure mobile                      tools, training, and resources.
        applications.                                                   • Architects need to be able to choose
                                                                          secure mobile components, frameworks,
        Security education and training are critical                      communications, databases, and other
        to building and reinforcing the team’s overall                    architectural elements to serve as a blueprint
        knowledge and skills for implementing the                         for developers.
        organization’s security policies, procedures,                   • Developers need to understand how to
        standards and security engineering activities for                 code securely to avoid mobile-specific
        application development across the multiple                       vulnerabilities, and how to fix security
        mobile platforms.                                                 defects found in their code.

                                                                                                           Security Innovation Inc.   17
3 Ways to Optimize Your Mobile Application Security Program

        • Testers need to understand how mobile                   Training should be done over time, and paired
          applications are attacked and how                       with specific hands-on activities (“learn by doing”)
          vulnerabilities are exploited in their deployed         so that teams have a chance to absorb and apply
          environment. They need to have skills to                the material. Build your plan and break it into
          test applications running on different mobile           manageable and digestible chunks. Also consider
          operating systems and the tools required to             implementing security champions and other
          test risks associated with each system.                 leadership roles, and ensure that their skill levels
                                                                  are more advanced than the rest of the team.
        A formal training plan doesn’t mean a rigorous
        or bureaucratic system, but rather supports the           Table 7 shows an example of a role-based training
        entire development team in helping them gain              curriculum. While the courses and roles would vary
        the knowledge they need to build, deploy, and             for each organization, it is a good framework to help
        maintain secure mobile applications consistently.         you grasp the minimum skill levels needed and tie
        The benefits of a formal training plan cannot             them into a long-term skills development initiative.
        be understated.

        Table 7. An Example of a Role-Based Training Curriculum

                 Role                            Core                   Intermediate                       Advanced

                                 Fundamentals of Secure            How to Create Security
         Scrum Master
                                 Mobile Development                Requirements

                                 Fundamentals of Secure
         Product Owner
                                 Mobile Development

                                 Fundamentals of Secure            Architecture Risk Analysis   Creating an Application
         Architect
                                 Mobile Development                and Remediation              Security Threat Model

                                 Fundamentals of Secure            Creating Secure Code         How to Perform a Security
         iOS Developer
                                 Mobile Development                in Objective-C and Swift     Code Review

                                 Fundamentals of Secure            Creating Secure Code         How to Perform a Security
         Android Developer
                                 Mobile Development                in Java and Kotlin           Code Review

                                 Fundamentals of Secure            Classes of Security          Advanced Software Security
         Tester/QA
                                 Mobile Development                Defects                      Testing – Tools and Techniques

                                                                                                          Security Innovation Inc.   18
Conclusion

             R
                  egardless of platform, application development teams are under
                  increasing pressure to deliver applications that are functional and
                  intuitive – while facing market pressures of cost and timing.

             Understanding the mobile-specific risks, attack types, and distinct
             communications is a critical step for these teams toward building effective
             security consistently into the mobile applications.

             A heightened organizational awareness of mobile-specific security
             translates to the implementation of more formal and optimized application
             development security programs that support mobile development teams
             with the essential tools, training, and resources they need to design and
             implement more secure mobile applications.

             Only then can organizations truly embrace the significant benefits of the
             mobile platform.

                                                                       Security Innovation Inc.   19
How Security Innovation
Can Help

     Driven by our Mobile Center of Excellence that conducts ongoing research
     on popular mobile platforms, technologies, and hardware components,
     Security Innovation offers solutions to help organizations assess risk and
     improve mobile security from multiple perspectives – external attackers,
     malicious internal users, and even well-intentioned employees.

MOBILE APPLICATION                                   For each identified vulnerability, we assign a risk
                                                     rating specific to your environment, describe
SECURITY TRAINING                                    the business impact, and provide prescriptive
                                                     remediation guidance (including code samples) for
Our curriculum covers all major roles,               your specific mobile platform and language.
technologies, and platforms and is comprised of
200+ computer-based and instructor-led               MOBILE APPLICATION CYBER RANGE
training courses. Popular mobile courses cover
the fundamentals of mobile development,
and creating secure code in various languages        Runstoppable is an insecure Fitness App that
including Objective-C/Swift (iOS) and Java/Kotlin    challenges players to use a real phone or an
(Android).                                           emulator to solve client- and server-side
                                                     challenges. It's the most hands-on way to build
                                                     mobile application security skills.
MOBILE APPLICATION
SECURITY ASSESSMENTS                                 SECURE SOFTWARE DEVELOPMENT
For more than a decade, organizations have           LIFE CYCLE OPTIMIZATION
relied on our engineers to conduct detailed
analysis and complex attacks on software,
devices, and back-end systems with the same          This service analyzes your existing Software
level of sophistication and determination            Development Life Cycle (SDLC) against industry-
that an attacker would. Our assessment               based secure programming processes and
solutions include:                                   standards: OWASP Mobile Top Ten, International
• Threat modeling to identify risks, cover           Organization for Standardization (ISO), NIST,
  multiple abuse cases, and guide test planning      and PCI DSS. The output is a roadmap that fills
• Security code reviews to find programming          gaps with proper training, activities, and tools
  mistakes that elude scanners                       usage to ensure secure and repeatable mobile
• Penetration testing to conduct operating           application development.
  system- and application-level attacks to unearth
  deeply rooted vulnerabilities

                                                                                     Security Innovation Inc.   20
Resources

     1
          Ponemon Institute. The State of Mobile Application Security.

     2
          Apple. Secure Coding Guide.

     3
          NIST. Special Publication 800-88, Revision 1: Guidelines for Media Sanitization.
          February 5, 2015.

     4
          Wikipedia. Bluetooth: History of Security Concerns.

     5
          Finjan Mobile. Blog. What Is Bluesnarfing? March 13, 2017.

     6
          NIST. Digital Identity Guidelines. June 22, 2017.

     7
          Ponemon Institute. The State of Mobile Application Security.

     8
          OWASP. Mobile Security Project.

     9
          Security Innovation. Blog. 2016 OWASP Mobile Top 10 Risks vs. OWASP Mobile
          2014 RC. Dinesh Shetty. November 30, 2016.

     10
          CERT. SEI CERT Coding Standards. Sandy Shrum. August 21, 2017.

                                                                                     Security Innovation Inc.   21
ABOUT SECURITY INNOVATION

Since 2002, Security Innovation has been the trusted partner for cybersecurity risk
analysis and mitigation for the world’s leading companies, including Microsoft,
Sony, GM, Disney, Google, and Dell. Recognized as a Leader in the Gartner Magic
Quadrant for Security Awareness Computer-Based Training for the third year in a
row, Security Innovation is dedicated to securing and protecting sensitive data in the
most challenging environments – automobiles, desktops, web applications, mobile
devices, and in the cloud. Security Innovation is privately held and headquartered in
Wilmington, MA USA. For more information, visit us at www.securityinnovation.com.
You can also read