Applications
There are four types of applications.
- Native
- Java based
- Unix based
- X Window Systems (libraries available from XQuartz)
Application development can be done using
- Carbon (deprecated pre OSX)
- Cocoa
- Java (Java 6 used for OSX 10.7 – 10.11)
COTS Applications can be downloaded from
- Apple Store
- Requires Apple ID
- iCloud – syncing with all Apple products
- Traditional Installer using installer
- Usually comes in a package (pkg) with a certificate where root is Apple. This show that the application is safe and vetted by Apple
- Running the package will run the installer wizard
- Application will show in the Application folder
- If the install certificate was not correctly signed it will throw a warning
- Traditional Install using Drag and Drop
- Can drop and application into the Applications folder
- Usually a dmg file
Application Uninstall
- Launchpad
- Only apps from Apple Store
- Finder
- Move app to the trash folder
- This may leave behind some files, depends on the app
- Custom Uninstaller
- Developer of app may include an uninstaller
System Information can be seen from the Apple icon – Software Information.
Application Security
- Processes
- Every process has access restrictions
- File System permissions
- System Integrity Protection (SIP)
- Admin authorization required for installation
- Every process has access restrictions
- App Sandboxing
- Without sandboxing the app could access all user files
- With sandboxing the app can only access those files in their sandbox / container
- All Apple Store apps use sandboxing
- Code Signing
- Optional digital signature for app
- Developer gets unique ID
- All apps in Apple Store are code signed
- Quarantine
- Quarantine is part of OSX – all downloaded apps are Quarantined
- Quarantine is controlled by Apple – third party apps cannot quarantine other apps
- User or admin must approve the removal of the quarantine
- Malware
- Apple manages a deny list (black list) that are automatically denied from system
- Blocking plug-ins
- Similar to Malware, certain Apple apps block plug-ins such as Safari
- The Gatekeeper
- The main protector of Mac system
- It uses Quarantine and Code Signing to verify apps
- It blocks apps that have been altered
References
.