Mobile Comms and IOT Flashcards
Bring Your Own Device (BYOD)
Allowing employees to use a personal phone for company business and to store company data on the phone
Smartphone attacks
- Attack the device: Browser attack, phishing, SMS, rooting and jailbreaking
- Network attack: DNS cache poisoning, rogue access points, packet sniffing
- Data center or cloud attack:
OWASP Top Ten for Mobile
M1: Improper Platform Usage M2: Insecure Data Storage M3: Insecure Communication M4: Insecure Authentication M5: Insufficient Cryptography M6: Insecure Authorization M7: Client Code Quality M8: Code Tampering M9: Reverse Engineering M10: Extraneous Functionality
M1: Improper Platform Usage
Android intents,
platform permissions,
misuse of TouchID, the Keychain or other security control that is part of the mobile operating system.
M2: Insecure Data Storage
Insecure data storage and unintended data leakage,
M3: Insecure Communication
Poor handshaking, incorrect SSL versions, weak negotiations, clear-text communication of sensitive assets, insecure communications channels.
M4: Insecure Authentication
Failing to identify the user, failure to maintain user’s identity and weakness in session management
M5: Insufficient Cryptography
Anything and everything related to TLS or SSL but not if cryptography is not employed which is M2. This is attempting to use cryptography just not correctly.
M6: Insecure Authorization
Failures to properly authorize a user.
M7: Client Code Quality
Code level implementations in the mobile client like buffer overflows,
format string vulnerabilities, and
various other code level mistakes where the solution is to rewrite (patch) the code.
M8: Code Tampering
Binary patching, local resource modification, method hooking, method swizzling, and dynamic memory modification.
M9: Reverse Engineering
Analysis of binaries to determine its source code, libraries, algorithms, and other assets. Tools like IDA Pro, Hopper, otool are binary inspection tools.
M10: Extraneous Functionality
Build in a backdoor
Rooting and jailbreaking
Modifying a mobile OS to gain root access to the device. Rooting Android tools: KingoRoot, TunesGo, OneClickRoot, MTKDroid
Jailbreaking IOS tools: evasi0n7, GeekSn0w, Pangu, Redsn0w, Absinthe, Cydia
Three Techniques of Jailbreaking IOS
- Untethered jailbreaking: The kernel will remain patched (jailbroken) after reboot, with or without a system connection
- Semi-tethered jailbreaking: a reboot no longer retains the patched kernel but the software resides and can be applied again when needed
- Tethered jailbreaking: A reboot removes all jailbreaking patches and the phone may get stuck in a perpetual loop at startup requiring a USB system connection to repair.
Three types of Jailbreaking IOS
- Userland exploit: Cannot be tethered and can be patched by Apple. Provides user-level access but not Admin. Equates to OS level
- iBoot exploit: vulnerability found in the device’s bootloader. iBoot to turn codesign off and run a program. iBoot can be semi-tethered and patched by Apple
- BootROM exploit - Allows access to the file system, iBoot, and custom boot logos and is found in the device’s first bootloader, SecureROM. This can be untethered and cannot be patched by Apple. The bootrom exploit is the lowest level and the only way apple can “fix” this is by releasing new hardware.
Android Device Administration API
Provides system-level device administration to create security-aware apps.
Mobile Device Management - MDM
Can push security policies, applications, and monitor device, passcodes for device unlocking, remote locking, remote wipe, root or jailbreak detection, policy enforcement, inventory and monitoring. Solutions: XenMobile,
IBM MaaS360,
AirWatch,
MobiControl
Bluetooth
Open wireless technology for data exchange over short range (10 meters or less). Easy to discover and hack. Has two modes, Discovery Mode and Pairing Mode.
Bluetooth Discovery Mode
Determines how the device reacts to inquiries from other devices looking to connect. Has three actions:
- Discoverable - respond to all queries
- Limited Discoverable - restrict who can query
- Nondiscoverable - ignores all queries
Bluetooth Pairing Mode
Tells the device how to react when another Bluetooth system asks to pair with it.
- Pairable
- Nonpairable