Black Box Version 1.0 Uživatelský manuál

Procházejte online nebo si stáhněte Uživatelský manuál pro Sítě Black Box Version 1.0. Inside Apple`s MDM Black Box Why am I here? Uživatelská příručka

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 31
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 0
Inside Apple’s
MDM
Black Box
David Schuetz, Senior Consultant
aka Darth Null
@schuetzdj
Why am I here?
• Have customers who need MDM
• Ask questions like “How secure is it?”
We’d like to be able to answer them
• To answer, need to understand it
• Protocol wasn’t published
So we thought we’d share.
So why am I here today?
In a nutshell, we have customers who need mobile device management
capabilities, especially for iOS platforms. As security consultants helping
them to design the most secure deployment possible, they naturally ask
us “How secure IS this system?” And, frankly, we’d like to be able to
give them a good answer.
But to answer that question well, we have to understand just how MDM
works. Unfortunately, the protocol hasn’t been openly published, so not
many people really understand it that well. We understand it (at least,
we feel like we do), and so we thought we’d share so that others can
build on our knowledge and better help their organizations and
customers.
Zobrazit stránku 0
1 2 3 4 5 6 ... 30 31

Shrnutí obsahu

Strany 1 - Why am I here?

Inside Apple’s MDM Black BoxDavid Schuetz, Senior Consultant aka Darth [email protected]@schuetzdjWhy am I here?• Have customers

Strany 2 - Configuration

Authenticate Response• Server can decline enrollment• A blank plist is a valid “ok” response<?xml version="1.0" encoding="UTF-8"

Strany 3 - Configuration Profiles

Commands and ResponsesCommand List• Configuration–Install and Remove Configuration Profiles–Install and Remove Provisioning Profiles• Status–Device In

Strany 4 - Over-the Air Delivery

New in iOS 5• Configuration–Install, update, remove applications–Apply Configuration Settings–Apply Redemption Code• Status–List Managed Applications•

Strany 5 - Management

Client Initial Connection• Simple “status” message• Identifies self via UDID• Triggers server to provide command<plist version="1.0">

Strany 6 - Notifications - Client

Generic Response• Returned for many commands–Basically, anything other than a query cmd• If not Acknowledged, likely will get error msg<plist versi

Strany 7 - MDM Notifications

DIY MDM ServerDIY Server• Fewer than 500 lines of python• Uses standard libraries, plus:–web.py –APNSWrapper.py–OpenSSL (command-line)• Simple command

Strany 8 - Enrollment

DIY Server• Very rough:–Implements all commands–But not all responses–Only one device at a time -- “last in wins”• No guarantees• Good starting point

Strany 9 - Authenticate

MDM Limitations• User can terminate MDM relationship–Will lose whatever MDM installed–Corporate profile settings, etc.–But now the device tells MDM wh

Strany 10 - Token Update

Interesting Bugs?• Clearing passcode delay bug –Doesn’t immediately interrupt delay–Doesn’t clear failure count• Don’t mistype your new passcode the f

Strany 11 - Responses

Security Concerns• No command authentication–“Sign message” option not enforced• SSL authentication–Appears to accept any cert with ‘trusted’ root–MIT

Strany 12 - Command Flow

iOS ConfigurationEnd User Controls• Basic stuff• Passcodes, restrictions, etc.• Entered by user, can be removed by user• May password protect settings

Strany 13 - Command Format

Good Security Findings• Things you can’t do:–Install profile on locked device–Read installed profile details • List profiles gives meta-data only–Unlo

Strany 14 - Response - Device Info

Overwrite MDM Profile• Can’t install profile on locked device• Can install when device unlocked• If you reinstall the MDM profile...• ...it re-enrol

Strany 15 - DIY MDM

Man in the Middle• Use standard MITM techniques–Wi-Fi trickery, forge SSL cert, etc.• Or, since you have physical access to device:–Get onto device –A

Strany 16 - Mini MDM

Push Profile to Device• Can’t send the push message• But can instruct device to poll–MDMOutstandingActivities.plist• The “Status: Idle” message–Place

Strany 17 - Missing Features

Send Clear Passcode• Wait for another chance at device• DFU boot, force MDM poll• Evil server sends ClearPasscode• Now device fully unlocked–Browse ev

Strany 18 - Lock Out Bug

Isn’t this a bit crazy?• Yes. Yes, it is.• For a high-value target, not unheard of.• Levels of difficulty:–Access via DFU: Pretty difficult–Putting se

Strany 19 - Possible Attacks

Evil Lackey• Change:–“Hotel” to “Office”–“Maid” to “Passed-over Deputy to the Deputy”–“Hotel Bar” to “Office Gym”• Advantages:–Longer time-frame for a

Strany 20 - That’s not

But that’s not all...• Remember I said:–“Can’t install a profile to a locked device”That’s not entirely true

Strany 21 - Evil Maid Attack

Keybags• Literally a container of encryption keys• Used to decrypt protected data• (Also used for syncing and for remote unlock)• Lock: delete in-memo

Strany 22 - Duplicate MDM Profile

Implications• Device appears locked to user• Processes “privileged” MDM commands–Can Install Profile, and re-enroll in MDM• Access protected files via

Strany 23 - Re-Installing MDM

Configuration Profiles• Good for IT management• Install standard profile on many devices• Can be locked with password–But won’t preclude other persona

Strany 24 - Covering Your Tracks

To Sum Up...So... “How secure is it?”• Actually, not too bad.• Some limitations and some holes–No serious conceptual flaws–Issues should be reasonably

Strany 25 - Evil Maid

Bibliography / Links• Apple docs:–Troubleshooting Push Notifications–Local and Push Notification Programming Guide–Over-the-Air Profile Delivery and C

Strany 26 - Evil Lackey

New in iOS 5• Restrictions:–Force password for all iTunes purchases–Restrict Siri, iCloud backup / sync / photo stream–Restrict diagnostic data, rejec

Strany 27

Mobile Device ManagementMDM Basics• OTA + Push Notifications• Sends profiles directly to device• Can update enterprise in minutes• No reliance on end-

Strany 28

Overview• Enroll device–Installs profile linking device to MDM• MDM server pushes message–“Hey, call me” • Device connects to server–“You rang?”• Serv

Strany 29 - So What?

Notifications - Server• Short message –Payload <= 256 bytes• Sent in JSON format • Addressed by the DeviceToken• Signed by originator and sent to A

Strany 30 - To Sum Up

EnrollmentEnrollment Profile• Easily created in IPCU• URLs for enrollment and server–iOS 5 requires SSL, iOS4 works with just http://• Associate with

Strany 31 - Bibliography / Links

Enrollment - Network• Authenticate–Identifies device to server–MDM server may decline• TokenUpdate–Sends tokens to server–Enables push notification–Ke

Komentáře k této Příručce

Žádné komentáře