Ispg sm03 v2.0 - en
Ispg sm03 v2.0 - en
INFORMATION SECURITY
Practice Guide
for
Mobile Security
[ISPG-SM03]
Version 2.0
June 2021
Unless otherwise indicated, the copyright in the works contained in this publication is owned
by the Government of the Hong Kong Special Administrative Region. You may generally
copy and distribute these materials in any format or medium provided the following conditions
are met –
(a) the particular item has not been specifically indicated to be excluded and is therefore
not to be copied or distributed;
(b) the copying is not done for the purpose of creating copies for sale;
(c) the materials must be reproduced accurately and must not be used in a misleading
context; and
(d) the copies shall be accompanied by the words "copied/distributed with the permission
of the Government of the Hong Kong Special Administrative Region. All rights
reserved."
If you wish to make copies for purposes other than that permitted above, you should seek
permission by contacting the Office of the Government Chief Information Officer.
Amendment History
Amendment History
Table of Contents
1. Introduction ........................................................................................................................1
1.1 Purpose.................................................................................................................. 1
1.2 Normative References ........................................................................................... 2
1.3 Terms and Convention .......................................................................................... 2
1.4 Contact .................................................................................................................. 2
2. Information Security Management ....................................................................................3
3. Introduction to Mobile Security .........................................................................................5
3.1 Threats with Mobile Technology .......................................................................... 5
4. Mobile Device Security Management .............................................................................10
4.1 Mobile Device Usage Lifecycle.......................................................................... 10
4.2 Mobile Device Management Solution ................................................................ 17
4.3 Scenario Specific Security Guidance .................................................................. 20
4.4 Security Guidance On Privately-Owned Mobile Devices .................................. 24
4.5 Restrictions on Mobile Devices and Access Levels ........................................... 25
5. Mobile App Development Security .................................................................................26
5.1 Considerations in Mobile App Development ..................................................... 26
5.2 Mobile App Development Lifecycle .................................................................. 27
5.3 Security by Design and Data Privacy ................................................................. 30
5.4 Testing for Mobile App Development ................................................................ 31
5.5 Points to Note for Securing Mobile App Development ...................................... 33
5.6 Best Practices on Secure Mobile Development for Android and iOS ................ 35
Annex A: Sample Configurations for Security Hardening ......................................................37
Annex B: Containerisation Technology...................................................................................39
Annex C: Assessment Guidelines to Authorised Mobile Apps ...............................................41
1.1 Purpose
The purpose of this document is to provide common security considerations and best
practices to B/Ds on the management and use of mobile devices as well as secure
development of mobile apps. The best practices on the use and management of mobile
devices are described in Section 4 for staff who are involved in the use and adoption
of mobile devices and related management solutions. The security best practices on
mobile app development are described in Section 5 for developers who are involved
in related development life cycle.
The materials included in this document are general in nature and are prepared
irrespective of the types or platforms of the mobile devices. According to the
definition in government security documents, the term "mobile devices" means
portable computing and communication devices with information storage and
processing capability. Examples include portable computers, mobile phones, tablets,
digital cameras, and digital audio or video recording devices. Readers should consider
and select the security measures and best practices that are applicable to their own
environment.
The following reference are indispensable for the application of this document.
For the purposes of this document, the terms and convention given in S17, G3 and the
following apply.
NA NA
1.4 Contact
This document is produced and maintained by the Office of the Government Chief
Information Officer (OGCIO). For comments or suggestions, please send to:
Email: [email protected]
B/Ds shall also define the organisation structure on information security and provide
clear definitions and proper assignment of security accountability and responsibility
to involved parties.
B/Ds shall perform security risk assessments for information systems and production
applications periodically and when necessary so as to identify risks and consequences
associated with vulnerabilities, and to provide a basis to establish a cost-effective
security program and implement appropriate security protection and safeguards.
B/Ds shall also perform security audit on information systems regularly to ensure that
current security measures comply with departmental information security policies,
standards, and other contractual or legal requirements.
B/Ds could make use of the cyber risk information sharing platform to receive and
share information regarding security issues, vulnerabilities, and cyber threat
intelligence.
Nowadays, mobile devices bring much convenience to users and are vital to business
operation. However, they also bring security concerns, e.g. vulnerabilities of mobile
applications (mobile apps) increase risk of data loss. This section highlights the
security measures and best practices to address the common security concerns. B/Ds
may consider the security measures and best practices according to their business
needs and environment.
Major threats to mobile devices come from the devices themselves, network
connections (e.g. mobile communication networks and Internet) and mobile apps.
Comparing with workstations in the office area, mobile devices are generally used and
placed in the locations, outdoor or on the road, where they are having higher exposure
to threats and loss. The security concerns of mobile technologies are highlighted
below:
Mobile Devices
Lack of physical security controls
Mobile devices, usually small in size, are typically used in a variety of locations
outside the B/Ds' control, such as employees' homes, coffee shops, hotels, and
conference venues. The devices' mobile nature makes them much more likely to
be lost or stolen than other devices, so their data is at increased risk of compromise.
Networks
Use of untrusted networks
Mobile devices primarily use non-organisational networks, such as external Wi-
Fi or cellular networks, for Internet access. These networks are susceptible to
eavesdropping, which place sensitive information transmitted at risk of
compromise.
Application
Use of authorised apps
To safeguard the mobile security, mobile apps on mobile devices are for business
purposes. The installation of mobile apps for personal use, e.g. games, online
payment, online shopping, etc., should be avoided as far as possible on the B/Ds’
mobile devices unless a strong justification is provided.
Risk of geotagging
Commonly available in mobile devices, geotagging is a function that
automatically tags geographical information (i.e. location and GPS) to photos and
other media taken by the devices. The geographical information may increase the
risk of leakage of privacy concern as the names of photo owners and the physical
locations of photos taken are inadvertently collected by unknown persons and
potential attackers.
Insecure Communication
Insecure communication puts the data being transmitted at risk of exposure and
may lead to leakage of sensitive information. The issue could be caused by poor
handshaking, incorrect Secure Sockets Layer (SSL) versions, weak negotiation
and plain text communication of sensitive assets.
Insecure Authentication
Attackers may compromise passwords, keys, or authentication tokens to
impersonate the identity of other users. The issue could be caused by the absence
or improper implementation of authentication mechanisms and bad session
management.
Insecure Authorisation
Some apps, after authenticating users, grant them some authorizations by default.
These authorizations are sometimes mistakenly too extended, providing the apps
with rights they should not have. If an attacker gets access to privileged rights
in an application, it can result in unauthorised access to sensitive information.
Insufficient Cryptography
Attackers may steal or access poorly protected data if they are not encrypted or
encrypted by improper use of cryptographic functions.
Code Tampering
Attackers may modify a mobile app via creating malicious forms of the app
hosted in third-party locations. The attacker may also use phishing attacks to
induce users for installation.
Reverse Engineering
Attackers may analyse the core binary of the mobile app and perform reverse
engineering to obtain its source code, libraries, algorithms and other assets with
the aim of exploiting vulnerabilities, harvesting sensitive data or stealing
intellectual property.
Extraneous Functionality
Developers may add hidden backdoors or functions during application
debugging. If the developer forgets to remove such backdoors before
production, attackers can make use of them to perform malicious attacks.
This section describes how to protect mobile devices during their usage lifecycle, and
common security features of mobile device management solutions for users and
administrators who are involved in the use and adoption of mobile devices and related
management solutions.
Similar to other information systems, mobile devices include three major stages
throughout their usage lifecycle – Provision, Usage and Decommission. The
paragraphs below discuss the best practices on how to protect the mobile devices in
various stages of the lifecycle.
When considering the adoption of mobile devices in business, B/Ds should identify
the needs for mobile devices and how mobile device solutions can support their
business. A mobile device security policy should be established to specify the
business and security requirements for the use of mobile devices, and also develop
adequate processes and procedures for provision of mobile devices with the following
considerations:
The approval mechanism of mobile devices and the types of approved mobile
devices.
The data classification permitted on each type of mobile devices. Sensitive
information shall not be stored in privately-owned mobile devices.
The control mechanism to ensure the compliance with government security
requirements based on the data classification.
Define and maintain a list of authorised software including freeware, open source
software and programming libraries based on operational needs.
The procedures to ensure timely sanitisation of sensitive data stored in the mobile
devices when a staff is posted out or ceases to provide services.
B/Ds should review and modify their processes and procedures with necessary
adjustments to include the following best practices in the provisioning stage:
Identify the list of models that fulfils the operation and security requirements.
Perform risk assessments prior to deployment of new models of mobile devices,
and implement a continuous risk monitoring mechanism for evaluating changes
in or new risks associated with the mobile devices.
Install security control tools, such as Mobile Device Management (MDM)1, Data
Loss Prevention (DLP), personal firewall software and anti-malware solution
whenever feasible. The tools should be mentioned in B/Ds' hardening procedures.
Deploy ONLY authorised applications into mobile devices provided by B/Ds.
Users may install third-party applications if they are authorised by an officer as
designated by the B/Ds.
Perform security hardening and deliver hardened mobile devices to users.
Disseminate the use policy to users and obtain users' acknowledgement on
receiving the use policy and the mobile devices in good condition. The
acknowledgement can be a signed agreement or email reply.
Issue security reminders regularly to users to remind them to apply security best
practices.
Enable a power-on password.
Deploy minimal password length and complexity requirements according to
B/Ds' departmental security requirements.
Configure the mobile device in such a way that it locks automatically after a
period of inactivity.
Enable data erasing feature when there is consecutive incorrect attempts to enter
the password if available. The actual number of consecutive incorrect attempts
should be defined according to B/Ds operational needs. Remote wipe
functionality should also be enabled to protect data from device lost or stolen.
Moreover, selection of wiping solution should be carefully made such that
sensitive data should not be recovered after the wipe.
Enable device level, full disk or file based encryption feature for all storages of
mobile devices, where possible.
Consider using multi-factor authentication such as digital certification together
with password for VPN connections.
Maintain asset-tracking information such as serial number, inspect applications
on devices, and keep track of them for audit.
Mobile apps permission. In order to minimise the risk of compromise after
installation of mobile apps, mobile users should apply least privilege principle
with the least amount of system privileges and access rights that are required to
run the apps so that the attackers cannot access other applications (e.g. browsers,
contacts) or functions of the mobile devices.
During installation of apps, the user should read the content of the data disclosure,
privacy policy statement or equivalent and fully understand the security risk of
permissions before clicking “I agree” or “Allow”. Usually, some permissions
(e.g. contacts, microphone and location information) requested by the apps may
not be necessary for core functionalities and can be turned off via the app
permission on the mobile devices.
1 MDM is an application (or a set of applications) that provides management capabilities in policy, inventory,
security and service for mobile devices such as mobile phones and tablets. For details of MDM, please refer to
Section 4.2 Mobile Device Management Solution of this document.
Even if the security controls have been implemented in the provisioning stage, people
and process are two important factors for keeping mobile devices in a safe
environment. Therefore, this section focuses on the best practices related to the on-
going operation process for the management and use of mobile devices.
4.1.2.1 Administrators
pay attention to the security news, such as security alert or new release of the app
to check available update and/or patches for the mobile device OS and mobile
applications; timely take appropriate change management, such as updating the
mobile app to the latest version.
If a mobile app is end-of-support or no longer used, users should uninstall the app
immediately to prevent attack due to vulnerability of the app.
Apply the verified update and/or patches to mobile devices.
Check the status of mobile devices regularly to ensure security measures are in
place. Use of jail-broken, rooted and compromised devices should be detected
and restricted.
Enforce hardware encryption of a mobile device whenever possible.
Maintain an inventory record with user information and a list of installed mobile
applications for the mobile devices provided by the B/D. The list should be
maintained by officers as designated by the B/D.
Regarding to the license, B/Ds shall have accountability to regularly keep, update
and manage the record of license certificate for all software or mobile apps and
ensure an up-to-date and consistent record is kept for all software and mobile app
licenses purchased, being used and disposed of. For group license, it is necessary
to make sure that the number of software copies installed does not exceed the
number of software licenses purchased.
B/Ds should periodically perform inventory check of software and mobile apps
to ensure an adequate software license coverage and that no unauthorised
software nor mobile app is used.
Users should follow the use policy and security reminders including but not limited
to:
DON'Ts:
DOs:
- Data Collection. In general, mobile apps should have clearly stated the
purpose of data collection and what data is to be collected, used or processed
through the apps. In order to protect the mobile user’ privacy, the users should
avoid providing excessive personal data (e.g. identity card number, home
address, credit card number and signature, etc.) through the mobile apps, such
as registration of mobile app accounts.
- Data Usage. If the collected data is not used in the proper way as stated in the
privacy policy statement or terms and conditions of the mobile app, such as
sharing with other apps or parties, the personal data poses the risk of data
leakage. Unless the mobile user has given prior consent, personal data should
only be used for the purpose for which it is originally collected or a directly
related purpose.
- Data Retention. Usually, the data collected by the mobile apps would be
deleted when a user uninstalls the mobile apps. In order to prevent the
collected personal data to be transferred to other apps or parties, all app-related
personal data should not be kept longer than is necessary for fulfilment of the
purpose for which the data is used.
At the last stage of mobile device management, the devices may be decommissioned
due to physical damage, end of support, re-issue to other staff or other B/Ds, etc. B/Ds
should define device decommission procedures consisting of secure data deletion,
mobile devices factory reset and disposal such that mobile devices can be re-used or
securely disposed without data leakage. Mobile administrators and users should
follow the practices in order to protect government data in safe custody and reduce
the chance for data leakage to unauthorised parties.
Administrators
Mobile Users
It is noted that most of MDM solutions cannot be used to manage portable computers
installed with desktop platforms as MDM software is primarily designed for platforms
for mobile phones and tablets. B/Ds should check the latest features of MDM solution.
The following are some best practices commonly through MDM solution for security
management of mobile devices.
2 The patches for mobile device platforms are usually provided by the platform providers. If a mobile device
manufacturer has customised the platform, then the patch provided by the mobile device platform providers may
not be applied and thus the vulnerabilities may not be fixed in a timely manner.
With the help of MDM solution, technical measures could be uniformly enforced
on all mobile devices provided by B/Ds in accordance with the departmental IT
security policy and other relevant policies, procedures and guidelines. The
configured MDM security policies should be documented and reviewed regularly.
To access internal resources, the user and the device should be authenticated via
various means, for example, network-based device authentication, password
authentication, and token-based authentication. After idled for a predefined
period, the device should be locked automatically. Remote lock functionality
should be enabled such that administrators could lock the device remotely in case
the device is believed to be lost, stolen, or left in an unsecured location.
Data communications between the managed mobile devices and B/Ds' backend
services should be protected by strong encryption, such as Virtual Private
Network (VPN) technologies. Data stored on both built-in storage and removable
media storage should also be protected by strong encryption. Data within the
containers should be also encrypted. No copy/paste and cut/paste are permitted
outside the MDM realm. Remote wipe functionality should be enabled in case
the device has been lost or stolen. After a certain number of incorrect
authentication attempts, the device should wipe itself automatically.
Mobile users should pay attention to the permission request of mobile apps.
When users download or install mobile apps, they may be asked for permission
to let the apps access information on the mobile devices, e.g. access contacts,
collect the locations visited or the websites visited. Some permissions are not
absolutely necessary for the app’s operation. Also, some mobile app may request
to grant full permission of all functions (e.g. camera, contacts, location,
microphone, storage and telephone) by default. Such requests may raise personal
data privacy concern.
Data Residency
Mobile Security Risk Assessment aims to facilitate mobile users to perform self-
evaluation of mobile security before updating whitelist as well as installing authorised
software and mobile apps. This could help B/Ds assess the security risk of mobile
devices before installation of authorised software and mobile apps.
B/Ds are recommended to develop a security checklist for user reference. B/Ds should
clearly define their own checklist with security consideration based on the business
operation. The checklist should include but not limited to the following:
In compliance with the security requirements of the Government, B/Ds shall observe
government security requirements and documents. In addition, B/Ds should adopt the
following security practices to protect mobile devices and information against
common security threats:
If there is operational need for sharing mobile devices across government staff, the
staff should observe the following best practices:
Mobile devices are usually small in size and easy to be stolen or lost. B/Ds should
review and modify their security incident handling procedures with necessary
adjustments for incident handling of lost or stolen devices. Users should report
promptly and escalate if an information security incident occurs in accordance with
the security incident handling procedures.
In particular, B/Ds should consider including the following best practices for handling
lost or stolen mobile devices:
B/Ds should specify their business and security requirements for the use of mobile
device technologies in the mobile device security policy. For example, B/Ds may
limit the types of mobile devices (by operating system version, by brand/model of
mobile phone, etc.) and require tiered levels of access, such as allowing government
provided mobile devices to access many resources, while privately-owned mobile
devices running the B/D's mobile device management client software to access a
limited set of resources.
B/Ds should make their own risk-based decisions about what levels of access should
be permitted from which types of mobile devices. Some factors that B/Ds should
consider when setting mobile device security policy are highlighted in the following:
Sensitivity of work
Technical limitations
Work location
Risks will generally be lower for devices used only in the environment under
B/Ds' direct control than for devices used in a variety of locations.
This section is intended for developers who are involved in mobile app development
life cycle. For users and administrators who are involved in the use and adoption of
mobile devices and related management solutions, please refer to Section 4 - Mobile
Device Security Management.
Mobile apps are also susceptible to different threats as the applications are now used
to access sensitive information and perform business critical activities. As a best
practice to develop and maintain secure mobile apps, various security considerations
and measures, both technical and administrative, need to be implemented during
different stages of mobile app development.
The following are common stages and key security considerations to help identify
potential security risks in mobile app development:
Process should be in place to ensure the security concern has been explicitly
addressed when planning the architecture and design of the mobile app. The
functional and security roles of each component should be well defined. Topics
such as threat modelling, secure development and key management should be
covered. For example, apply relevant and sufficient security controls to safeguard
the data and transactions before implementation.
Developers should have good understanding on the type and sensitivity of data to
be handled and if any critical transaction would be involved. Sensitive data can
be unintentionally exposed to other apps on the same device and data may also be
leaked during transmission. Moreover, mobile devices are more easily lost or
stolen compared with other types of devices. Developers should adhere to
concerned laws and regulations on privacy, e.g. Personal Data (Privacy)
Ordinance, in order to define a suitable data storage and privacy requirements.
Privacy Impact Assessment (PIA) should be conducted if the mobile app has
significant privacy implications.
Cryptography Requirements
User accounts and sessions should be properly authenticated and managed. This
includes using randomly generated access tokens to authenticate client requests,
enforcing explicit password policy, and locking of user account when excessive
login attempts are found, etc. Applications should also be properly handled for
change of states, such as requiring re-authentication when the app resumes from
background.
Security coding practices should be followed in developing the app. For example,
the app should be signed with trusted certificate. The certificate should have
expiry date. Upon renewal, the security requirements of the certificate should be
reviewed (e.g. cipher algorithm, key length) to ensure the well-known
vulnerabilities are not inherited in the newly issued certificate. Mobile device
default accessed entitlement should be reduced to minimum (e.g. disable
camera/microphone and enable "Do Not Track" by default).
The design stage involves designing the application architecture in accordance with
the specifications aligned in the requirement stage. As application architecture is
established, development team should review the system design by identifying
possible compliance issues as well as security risks with reference to defined security
requirements. This includes designing appropriate security controls for a given type
of data and incorporating threat modelling to identify and address the risks associated
with the application.
Observing secure coding standards can help improving security and reducing the
number of common mistakes that may result in security breaches. Performing security
assessments during the development stage also helps to identify necessary security
controls, and provides timely feedback to developers regarding the security of their
codes. Source code security assessments should also be performed to provide an early
indicator of code quality in order to deliver consistent, high-quality mobile apps.
In addition to user acceptance test, system tests, stress tests, regression tests and unit
tests are also useful in validating the performance and accuracy of system
functionalities. Testing mobile apps could be more challenging than web apps due to
the high variant of platforms and testing environment. A comprehensive testing plan
should be established to design the testing approach and define the details on "what",
"when" and "how" to test.
A security risk assessment with security audit should be performed before the
production launch and after any major changes. Each vulnerability fix may require
updates to custom codes that could introduce new vulnerabilities. It is imperative to
continuously assess the risk and impact to maintain secure mobile app.
New functionalities to the app or updates to existing functions may introduce changes
in which security controls should be identified, documented, tested and reviewed to
ensure that the system can be effectively protected from attacks or being compromised.
Continuous testing is vital to maintain security assurance and protect the app where
most attacks occur. The app should be regularly reviewed to ensure sufficient security
is in place.
Consider decommissioning the app if it no longer meets the purposes, or when there
are other apps that can better serve the business. Some suggestions on the
decommission plan:
Security by design and data privacy should be embedded into the whole app system
design and development processes to protect the data and individual's right to privacy.
Developers should ensure that security issues are incorporated as part of the basic
architectural design. Detailed designs for possible security issues should be reviewed,
and mitigations for possible threats should be determined and developed. Related
laws, regulations and ordinances (e.g. Personal Data (Privacy) Ordinance) should also
be followed when defining the privacy requirements. Developers should pay attention
to the following best practices during system design in order to protect users' privacy.
User Notification
Inform users on what information / data that the app would collect, what purpose
it serves on and how data would be handled.
Allow users to opt-out from any personal data access/use.
Offer users with option to delete all app-related data and account related
information when they request to remove the app or delete the account.
Display privacy policy statement to the user on the installation page of the mobile
app to explain the purpose of data collection, access and use so as to enhance the
users’ trust.
Data Handling
Reduce the collection of personal data (especially for sensitive personal data) and
permission of mobile devices features (e.g. camera and location tracking) to the
absolute minimum.
Protect users' personal data from unauthorised access, disclosure or use by using
strong encryption and access control. Avoid storing personally identifiable
information (PII) (e.g. credential ID, call logs) or other sensitive data on the user
device.
Do not upload or synchronise sensitive information to external systems or devices
without users' permission.
Discard sensitive data after fulfilling the claimed data usage purpose (e.g. geo-
location data).
Testing mobile apps on mobile devices can be more challenging than testing web
applications on personal computers due to wide varieties of mobile OS, hardware
components and network environment, etc. The following areas should be considered
in mobile app testing cycle.
To make sure the mobile app functions properly on supported devices, functional
testing should be conducted to verify the mobile app features specification. There are
also different types of mobile app testing that need to be considered:
To ensure the source codes of mobile apps would not compromise due to
vulnerabilities, regular code scanning should be conducted to detect any
vulnerabilities or flaws that may pose a risk to the mobile devices at earlier stage.
Network communication between mobile devices and servers usually takes place over
untrusted networks. It may put the mobile app at risk of network-based attacks such
as packet sniffing or man-in-middle-attacks. Encrypted connection (e.g. HTTPS)
should be used to ensure confidentiality and integrity of the network data while
handling sensitive data. Intercept the incoming and outgoing network traffic of the
app being tested and make sure that the traffic is encrypted. A packet analyser can be
used to capture the network traffic and a network protocol analyser can be used to
display the captured traffic in a human-readable format. After all, verify that the
server is configured according to best practices.
Mobile apps are subject to similar security considerations and risks as other
applications, thus general best practices for application development are also relevant
to mobile app development. Due to varying use cases, usage patterns and various
mobile platforms, mobile app developers should also take note of the remote web
services, platform integration issues and insecurity of mobile devices. Developers
should consider the following areas to build a secure mobile app:
General Considerations
System/Software
Data
Network Management
Adopt security-in-mind approach and apply adequate protection for sensitive data
being handled.
Inform users on what information the app would access or upload, and for what
purpose.
Provide a personal information collection statement if personal information will
be collected.
Apply "least privilege" principle to run the app with the least amount of system
privileges and access rights.
Develop and implement the app according to best practices.
Design and provision an app to allow updates for security patches.
Refuse executing the app or alerting users in case jailbreaking or rooting is
detected if the app would process critical/ sensitive data.
Validate all client provided data before processing with expected whitelist of data
types, data range, and data length.
Inform users and obtain consent for any app activities that consumer a lot of data.
5.5.2 System/Software
Perform checking at the start of each activity/screen to see if the user is in a logged
in state. If not, switch to the login state.
Discard and clear all memory associated with the user data, and any master keys
used to decrypt the data when an app's session is timed out or user logout.
Server Controls
Assess backend services for mobile apps for vulnerabilities and ensure that the
backend system is running with a hardened configuration with the latest security
patches applied.
Ensure sufficient logs or information are retained on the backend servers to detect
and respond to incidents and perform investigation.
Review the code of the app to avoid unintentional data transfer between the
mobile app and backend servers.
Verify the app signature on start-up to ensure that the code has not been altered
or corrupted.
Use obfuscation software to protect source code and hide the app details as far as
possible if it is not compiled to machine code format to prevent reverse
engineering.
Implement anti-debugging techniques (e.g. prevent a debugger from attaching to
the process) for apps containing sensitive data.
Use reliable and/or official versions of software development tools (e.g. software
development kits, software libraries) to avoid introducing Trojan Horses or
backdoors unknowingly.
Track third-party frameworks/ APIs used in the mobile app for security patches
and perform upgrades.
Validate all data when received from and send to un-trusted third-party apps (e.g.
ad network) before incorporating their use in the mobile app.
5.5.3 Data
Only collect and disclose data which is required for business use of the app.
Classify data storage according to sensitivity and apply controls accordingly.
Process, store and use data according to its classification.
Personal data should be encrypted and limited access control based on “least
privilege” and “need to know” principles.
On-line Payment
Warn users and obtain consent for any cost implications for app behaviour.
If paid-for resources are involved, security controls such as a whitelist model or
re-authentication for paid-for resources should be implemented to prevent
unauthorised or accidental access.
Use secure mobile payment services if online payment is required. Use
application program interfaces (APIs)/templates provided by the official
providers and follow closely their guidelines for implementation.
Inform users the minimum technical specifications that a mobile device must
support for the payment service (e.g. TLS).
Adhere to the specific data security standard (e.g. The China Personal Information
Protection Law (PIPL), PCI DSS) on developing a mobile app with on-line mobile
payment.
Communication Security
5.6 Best Practices on Secure Mobile Development for Android and iOS
Developers may also refer to the Best Practice Guide for Mobile App Development
published by the Privacy Commissioner for Personal Data (PCPD), which is available
at PCPDs’ website.
(https://www.pcpd.org.hk/english/resources_centre/publications/guidance/files/Mobi
leapp_guide_e.pdf)
Security configurations for mobile device hardening are recommended below for reference.
The configurations may be enhanced and modified based on B/Ds' business needs. Some
configurations require additional security solution such as MDM or DLP solution for
enforcement purpose. B/Ds may seek advice from product vendors or third party consultants
for best practices on security hardening if necessary.
3 The control items are sample for controlling mobile devices, including portable computers, mobile phones and tablets. However, they are
not exhaustive such that B/Ds should modify a best-fit requirement list based on business needs.
4 All data should be encrypted when stored in mobile devices or removable media.
5 Remote wipe and local wipe may not be available for major computer OS. Therefore, B/Ds should consider the risk of lost or stolen
portable computer and apply encryption as one of the compensative controls.
The central aspect of a mobile management strategy is creating distinct lines of separation on
privately-owned mobile devices between users' personal apps and business apps and their
associated data. This has come to be known as containerisation, the securing of business apps
and their associated data within digital containers (either physical or virtual) that govern app
behaviour and prevent unauthorised interaction with personal apps.
With the various container offerings from different vendors, there are three main types of
containerisation, namely, physical container, virtual container and per-app container.
Physical Container
Working at the chipset or kernel level of a mobile device to separate business apps and their
data from a user's personal app. Physical containers create hardware level segmentation
between a mobile user's business environment and personal environment. Implying a separate
OS stack at the kernel level just for business apps to reside and operate. This OS stack is
completely distinct from the mobile device's normal OS stack where the users' regular apps
reside. As it is a separated domain, administrators can enforce organisation specific security
requirements to that particular "Physical Container". A key security aspect of physical
containers is that the OS stack typically has to leverage processor-specific capabilities.
One of the biggest benefits offered by physical containers is the top to bottom secure isolation
that they offer between the separate OS stack and the device's normal OS stack, ensuring that
no interaction can occur between business and personal apps. Since it is a separated platform,
the vulnerability will not inherit from mobile device.
However, this stack-level isolation creates one of the major drawbacks inherent to physical
container solutions—disruption of the user experience. Whenever users log into the mobile
devices' normal OS stack, they have to exit and then enter into another separate OS stack to
use a corporate app. When they want to use a personal app, they have to reverse the process.
The constant switching between physical containers not only creates user inconvenience, but
also would affect user productivity over an extended period of time. Currently, this kind of
solution is OS dependent; third-party and internal software developers have to customise the
application to support the physical container.
Virtual Container
Business apps are segmented within an encrypted workspace inside the operating system
comparable to a single sandbox with multiple apps running inside it. Policies are implemented
to govern what types of interactions may occur among apps inside the virtual container. All
interactions between business apps in the container stay within the container. All business apps
stay within the same container for interaction. Likewise, all of the data associated with the
virtual container's apps remains secure within the confines of the virtual sandbox.
Mobile users are required to input a separated password for authenticating the container and
perform business activities. With the adoption of virtual container, the logical separation
between the business apps and personal apps is executed by the operating system and kernel.
Since the container runs inside the mobile device, the vulnerabilities of the operating system
and kernel may affect the security of the container. Furthermore, the solution requires third-
party and internal software developers to develop or modify their apps to support a vendor-
specific container environment. Virtual container strategy also requires specific skills and
additional administration effort in the on-going support activities.
Per-App Container
Per-app container provides a secure self-contained sandbox to each individual app and its
associated data, which can provide more granular control to its administrators in securing
organisational data, while presenting users a more seamless user experiences. Under this model,
administrators can choose to configure general policies that apply to all apps, specific policies
for individual apps, or a combination of both. Administrators can also granularly control the
directional flow of data for each app, such as inbound and outbound communications.
Additionally, since each contained app's data is individually encrypted and secured by policy,
the business app will remain protected if a malicious app happens to infect the mobile device.
As enforcement is on per-app basis, users typically do not have to constantly enter and exit
contained and non-contained environments to switch between personal apps and business apps.
Users can easily see and access all the apps they are authorised to use whether they are personal
or corporate apps. The combination of the per-app policy governance and application-level
encryption gives B/Ds the additional level of security they need to keep their business apps and
data safe.
To assess if mobile apps are suitable to be installed, B/Ds are advised to understand whether
the purpose of the mobile app can meet the business or operational needs and whether the
mobile app is secured enough for use. One important consideration is that the installation of
mobile app should not result in the compromise of the security level of the existing mobile
environment or lead to data breach.
B/Ds are suggested to take a risk-based approach to assess the mobile apps in various aspects
as below:
The above criteria serve as general guidance and are not exhaustive. B/Ds are also advised to
regularly monitor the update of the mobile app, for example, whether the mobile app is still
available for download from official app store. For more stringent security requirements, B/Ds
are advised to conduct SRAA together with code scanning to understand the security level of
mobile app source codes as well as the appropriate use of third-party tools (software library,
advertising networks, API, etc.).
Regarding the formulation of the whitelist, some B/Ds may adopt the Software Asset
Management (SAM) to maintain software inventory and software licensing information to
ensure authorised software and mobile apps are used in B/Ds. SAM helps B/Ds control
software acquisition as well as reduce misuse of mobile devices and risk of unintentional
copyright infringements and maximise user productivity. The list of authorised inventory in
SAM can be considered as whitelist for users to install authorised software and mobile apps on
B/Ds’ mobile devices. Also, the list of pre-installed mobile apps on the B/Ds mobile devices
can be considered as well. Both inventories should be reviewed periodically to ensure that the
list of authorised software and mobile apps is up-to-date.
If software or mobile apps are not in the application whitelist, mobile users should submit
requests with supporting justification (e.g. support business needs/operations, improve work
productivity). B/Ds are recommended to perform mobile security risk assessment for the
required mobile apps as specified in Section 4.3.2 . All B/Ds shall comply with all software
and mobile apps licenses, purchase agreements and the existing legislation on copyright as
advised by Intellectual Property Department (IPD). B/Ds are advised to read the privacy policy
and the terms and conditions of software or mobile apps carefully. If in doubt, B/Ds are
recommended to consult the software vendor or IPD for clarification. After obtaining the
approval from the Heads of B/Ds via approval mechanism, B/Ds shall update the application
whitelist accordingly.
A whitelist consists of the list of trusted and authorised software or mobile apps which are
considered safe to be installed on the mobile devices provided by B/Ds. To develop application
whitelist, B/Ds should make reference to the inventory in SAM that is maintained by B/Ds.
Besides, the maintenance and review of application whitelist should be performed regularly.
A blacklist is the opposite of a whitelist. It is a list of the software and mobile apps that are
prohibited to be installed or run on the mobile devices as they could cause cyber security threats.
However, the effort of keeping a blacklist up-to-date would be great.
In general, whitelist and blacklist should include the following information for reference.
Blacklist configuration