macOS Security Overview 2018
macOS Security Overview 2018
macOS Security
• System security: The integrated and secure software that forms the
foundation of macOS.
• Encryption and data protection: The architecture and design that protects
user data if the device is lost or stolen.
• App security: The systems that protect the Mac from malware and enable
apps to run securely and without compromising platform integrity.
For more information about macOS deployment and management, refer to the
macOS Deployment Reference at help.apple.com/deployment/macos.
UNIX
The macOS kernel—the heart of the operating system—is based on the
Berkeley Software Distribution (BSD) and the Mach microkernel. BSD provides
basic file system and networking services, a user and group identification
scheme, and many other foundational capabilities. BSD also enforces access
restrictions to files and system resources based on user and group IDs.
The kernel’s security is essential to the security of the entire operating system.
Code signing protects the kernel and third-party kernel extensions, as well as
other system libraries and executables developed by Apple.
For more information about these read-only areas of the file system,
see the Apple Support article “About System Integrity Protection”
at support.apple.com/HT204899.
Kernel extensions
macOS provides a kernel extension mechanism to allow dynamic loading of
code into the kernel without the need to recompile or relink. Because these
kernel extensions (KEXTs) provide both modularity and dynamic loading, they’re
a natural choice for any relatively self-contained service that requires access to
internal kernel interfaces, such as hardware device drivers or VPN apps.
• Are allowed to load without user consent by using the spctl command
available when booted from the macOS Recovery partition.
For more information about kernel extensions, see the Apple Support article
“Prepare for changes to kernel extensions in macOS High Sierra” at
support.apple.com/HT208019.
Note: The Apple T2 chip in iMac Pro prevents users from being able to reset
the firmware password, even if they gain physical access to the Mac. On a Mac
that does not have the T2 chip, additional precautions must be taken to prevent
users from gaining physical access to the internals of the Mac.
Internet recovery
Mac computers automatically try to start up from macOS Recovery over the
Internet when they’re unable to start up from the built-in recovery system. When
that happens, a spinning globe instead of an Apple logo appears during startup.
Internet recovery enables a user to reinstall the latest version of macOS or the
version that shipped with their Mac.
macOS updates are distributed through the App Store and performed by the
macOS Installer, which leverages code signatures to ensure the integrity and
authenticity of the installer and its packages prior to installation. Similarly, the
Internet Recovery service is the authoritative source for the operating system
that shipped with a particular Mac.
For more information about macOS Recovery, see the Apple Support article
“About macOS Recovery” at support.apple.com/HT201314.
APFS allocates disk space on demand. When a single APFS container has
multiple volumes, the container’s free space is shared and can be allocated
to any of the individual volumes as needed. Each volume uses only part of the
overall container, so the available space is the total size of the container, minus
the space used in all volumes in the container.
For macOS High Sierra, a valid APFS container must contain at least three
volumes, the first two of which are hidden from the user:
• Preboot volume: Contains data needed for booting each system volume in
the container.
www.bsigroup.com/en-GB/our-services/certification/certificate-and-
clientdirectory/search-results/?searchkey=company=apple&licencenumber=
IS+649475
www.bsigroup.com/en-GB/our-services/certification/certificate-and-
clientdirectory/search-results/?searchkey=company=Apple&licencenumber=P
II%20673269
Gatekeeper
To control the sources from which apps can be installed, macOS provides a
feature called Gatekeeper. Gatekeeper allows users and organizations to set a
required security level for installing apps.
With the most secure Gatekeeper setting, users can install only signed apps
from the App Store. The default setting enables users to install apps from the
App Store and apps that have a valid Developer ID signature. This signature
indicates that the apps were signed by a certificate issued by Apple and that
they haven’t been modified since. Gatekeeper can also be completely disabled
via a Terminal command, if necessary.
The major security benefit of the default protection model is that it provides
broad ecosystem protection. Should a malware author manage to steal or
otherwise obtain Developer ID signing capability and use it to distribute malware,
Apple can quickly respond by revoking the signing certificate. This will halt
further spread of the malware. Such protections undercut the economic model of
most malware campaigns on the Mac and provide broad protections to all users.
Users can temporarily override these settings to install any app. Organizations
can use their MDM solution to establish and enforce Gatekeeper settings, as
well as to add certificates to the macOS trust policy for evaluating code signing.
XProtect
macOS includes built-in technology for the signature-based detection of
malware. Apple monitors for new malware infections and strains, and updates
XProtect signatures automatically—independent from system updates—to help
defend Mac systems from malware infections. XProtect automatically detects
and blocks the installation of known malware.
Runtime protection
System files, resources, and the kernel are shielded from a user’s app space.
All apps from the App Store are sandboxed to restrict access to data stored by
other apps. If an app from the App Store needs to access data from another app,
it can do so only by using the APIs and services provided by macOS.
Apps from outside the App Store are normally signed with an Apple-issued
developer certificate as well. This lets you validate that the app is genuine and
hasn’t been tampered with. Apps developed in house should also be signed with
an Apple-issued Developer ID so that you can validate their integrity.
Keychain architecture
macOS offers a repository called Keychain, which conveniently and securely
stores user names and passwords, including digital identities, encryption keys,
and secure notes. It can be accessed by opening the Keychain Access app in
/Applications/Utilities/. Using a keychain eliminates the requirement to enter—or
even remember—the credentials for each resource. An initial default keychain is
created for each Mac user, though users can create other keychains for specific
purposes.
Touch ID
Mac systems with a Touch ID sensor can be unlocked using a fingerprint.
Touch ID doesn’t replace the need for a password, which is still required to log
in after startup, restart, or logout of a Mac. When logged in, users can quickly
authenticate with Touch ID whenever they’re asked for a password.
Users can also use Touch ID to unlock password-protected notes in the Notes
app, the Passwords pane of Safari preferences and many preference panes
within System Preferences. To increase security, users must enter a password
instead of using Touch ID to unlock the Security & Privacy pane in System
Preferences. If FileVault is turned on, users must also enter a password to
For more information on Touch ID and its security, see the Apple Support
article “About Touch ID advanced security technology” at
support.apple.com/HT204587.
Smart cards
macOS Sierra and above includes native support for personal identity
verification (PIV) cards. These cards are widely used in commercial and
government organizations for TFA, digital signing, and encryption.
Smart cards include one or more digital identities that have a pair of public and
private keys and an associated certificate. Unlocking a smart card with the
personal identification number (PIN) provides access to the private keys used for
authentication, encryption, and signing operations. The certificate determines
what a key can be used for, what attributes are associated with it, and whether
it’s validated (signed) by a CA.
Smart cards can be used for two-factor authentication. The two factors needed
to unlock a card are “something you have” (the card) and “something you know”
(the PIN). macOS Sierra and above has native support for smart card login
window authentication and client certificate authentication to websites on Safari.
It also supports Kerberos authentication using key pairs (PKINIT) for single sign-
on to Kerberos-supported services.
For more information about smart card deployment with macOS, refer to the
macOS Deployment Reference at help.apple.com/deployment/macos.
Per-message S/MIME
macOS supports per-message S/MIME. This means that S/MIME users can
choose to always sign and encrypt messages by default or to selectively sign
and encrypt individual messages.
TLS
macOS supports Transport Layer Security (TLS 1.0, TLS 1.1, and TLS 1.2)
and DTLS. It supports both AES-128 and AES-256, and prefers cipher suites
with perfect forward secrecy. Safari, Calendar, Mail, and other Internet apps
automatically use this protocol to enable an encrypted communication channel
between the device and network services.
High-level APIs (such as CFNetwork) make it easy for developers to adopt TLS
in their apps, while low-level APIs (such as SecureTransport) provide finegrained
control. CFNetwork disallows SSLv3, and apps that use WebKit (such as Safari)
are prohibited from making an SSLv3 connection.
As of macOS High Sierra and iOS 11, SHA-1 certificates are no longer allowed
for TLS connections unless trusted by the user. Certificates with RSA keys
shorter than 2048 bits are also disallowed. The RC4 symmetric cipher suite
is deprecated in macOS Sierra and iOS 10. By default, TLS clients or servers
implemented with SecureTransport APIs don’t have RC4 cipher suites enabled,
and are unable to connect when RC4 is the only cipher suite available. To be
more secure, services or apps that require RC4 should be upgraded to use
modern, secure cipher suites.
Network connections that don’t meet these requirements will fail, unless the
app overrides App Transport Security. Invalid certificates always result in a hard
failure and no connection. App Transport Security is automatically applied to
apps that are compiled for macOS 10.11 or later.
VPN
Secure network services like virtual private networking (VPN) typically require
minimal setup and configuration to work with macOS. Mac computers work with
VPN servers that support the following protocols and authentication methods:
• SSL VPN using the appropriate client app from the App Store
In addition to VPN solutions from third parties, macOS supports the following:
• Per-App VPN for facilitating VPN connections on a much more granular basis.
MDM can specify a connection for each managed app and specific domains
in Safari. This helps ensure that secure data always goes to and from the
corporate network—and that a user’s personal data doesn’t.
Wi-Fi
macOS supports industry-standard Wi-Fi protocols, including WPA2
Enterprise, to provide authenticated access to wireless corporate networks.
WPA2 Enterprise uses 128-bit AES encryption, giving users the highest level
of assurance that their data remains protected when sending and receiving
communications over a Wi-Fi network connection. With support for 802.1X,
Mac computers can be integrated into a broad range of RADIUS authentication
environments. Methods for 802.1X wireless authentication include EAP-TLS,
EAP-TTLS, EAP-FAST, EAP-AKA, PEAPv0, PEAPv1, and LEAP.
The macOS Setup Assistant supports 802.1X authentication with user name and
password credentials using TTLS or PEAP.
• Prevent the Mac from responding to ICMP probing and portscan requests
Single sign-on
macOS supports authentication to enterprise networks using Kerberos. Apps
can use Kerberos to authenticate users to services they’re authorized to
access.Kerberos can also be used for a range of network activities, from secure
Safari sessions and network file system authentication to third-party apps.
Certificatebased authentication (PKINIT) is supported, although app adoption of
a developer API is required.
GSS-API SPNEGO tokens and the HTTP Negotiate protocol work with
Kerberosbased authentication gateways and Windows Integrated Authentication
systems that support Kerberos tickets. Kerberos support is based on the
opensource Heimdal project.
• AES128-CTS-HMAC-SHA1-96
• AES256-CTS-HMAC-SHA1-96
• DES3-CBC-SHA1
• ARCFOUR-HMAC-MD5
AirDrop security
Mac computers that support AirDrop use BLE and Apple-created peer-to-peer
Wi-Fi technology to send files and information to nearby devices, including
AirDrop-capable iOS devices running iOS 7 or later. The Wi-Fi radio is used to
communicate directly between devices without using any Internet connection or
Wi-Fi access point. This connection is encrypted with TLS.
For more information about AirDrop, AirDrop security, and other Apple services,
see the “Network Security” section of the “iOS Security Guide” at
www.apple.com/business/docs/iOS_Security_Guide.pdf.
Password protection
On Mac computers with Touch ID, the minimum passcode length is eight
characters. Long and complex passcodes are always recommended, as they are
harder to guess or attack.
Administrators can enforce complex passwords and other policies using MDM
or by requiring users to manually install configuration profiles. An administrator
password is needed for the macOS passcode policy payload installation.
For details about each policy available in MDM settings, see help.apple.com/
deployment/mdm/#/mdm4D6A472A.
Configuration enforcement
A configuration profile is an XML file that allows an administrator to distribute
configuration information to Mac computers. If the user deletes a configuration
profile, all the settings defined by the profile are also removed. Administrators
can enforce settings by tying policies to Wi-Fi and data access. For example,
a configuration profile that provides an email configuration can also specify a
device password policy. A user won’t be able to access mail unless the password
meets the administrator’s requirements.
• Passcode policies
• Firewall settings
• Software updates
Users can install configuration profiles that are downloaded from Safari, sent
in a mail message, or sent over the air using an MDM solution. When a user
sets up a Mac in DEP or Apple School Manager, the computer downloads and
automatically installs a profile for MDM enrollment.
MDM
macOS support for MDM allows businesses to securely configure and
manage scaled Mac, iPhone, iPad, and Apple TV deployments across their
organizations. MDM capabilities are built on existing macOS technologies
such as configuration profiles, over-the-air enrollment, and the Apple Push
Notification service (APNs). For example, APNs is used to wake the device so it
can communicate directly with its MDM solution over a secured connection. No
confidential or proprietary information is transmitted by APNs.
Device enrollment
Device enrollment, part of Apple School Manager and Apple Deployment
Programs, provides a fast, streamlined way to deploy Mac computers that an
organization has purchased directly from Apple or through participating Apple
Authorized Resellers.
The setup process for users can be further simplified by removing specific steps
in Setup Assistant, so users are up and running quickly. Administrators can also
control whether or not the user can remove the MDM profile from the computer
and ensure that device restrictions are in place from the very start. Once
the computer is unboxed and activated, it enrolls in the organization’s MDM
solution—and all management settings, apps, and books are installed. Note,
Device Enrollment is not available in all countries or regions.
Restrictions
Restrictions can be enabled—or in some cases, disabled—by administrators to
prevent users from accessing a specific app, service, or function of the device.
Restrictions are sent to devices in a Restrictions payload within a configuration
profile. Restrictions can be applied to macOS, iOS, and tvOS devices.
© 2018 Apple Inc. All rights reserved. Apple, the Apple logo, AirDrop, Apple TV, Apple Watch, FaceTime, FileVault,
Finder, Handoff, iMessage, iPad, iPhone, iTunes U, Keychain,Mac, macOS, Safari, Touch ID, and watchOS are trademarks
of Apple Inc., registered in the U.S. and other countries. iMac Pro and tvOS are trademarks of Apple Inc. App Store
and iCloud are service marks of Apple Inc., registered in the U.S. and other countries. IOS is a trademark or registered
trademark of Cisco in the U.S. and other countries and is used under license. The Bluetooth® word mark and logos are
registered trademarks owned by Bluetooth SIG, Inc. and any use of such marks by Apple is under license. Other product
and company names mentioned herein may be trademarks of their respective companies. Product specifications are
subject to change without notice. March 2018