Какое-то время назад мы в Symantec рассмотрели две популярные платформы – Android и iOS на предмет их безопасности. Без лишних предисловий объявляем подробности наших изысканий.
Итак, мобильные платформы Google и Apple в разной степени полагаются на пять основных принципов мобильной безопасности...
Мы представили эти принципы и особенности поведения платформ в таблице для наглядности:
1. Контроль доступа
|
|
- Каждое «родное» приложение является отдельным процессом, который работает напрямую с процессора ARM;
- Приложения не могут использовать общие объекты (напр., файлы DLL);
|
- Каждое приложение, основанное на байт-коде, работает на отдельной виртуальной машине, в отдельном Linux процессе;
- Приложения могут иметь «родные» общие объекты, основанные на ARM архитектуре (напр., файлы DLL).
|
2. Проверка происхождения приложений
|
|
- Каждое приложение должно быть подписано официальным сертификатом, выпущенным Apple;
- Приложения, размещенные для общего пользования, должны пройти ручную/автоматизированную проверку со стороны Apple;
- Приложения, размещенные для общего пользования, должны быть физически размещены в магазине приложений Apple;
- Сертифицированные компании могут распространять самостоятельно
разработанные приложения на устройствах своих сотрудников, на которые распространяется сертификат организации.
|
- Каждое приложение должно быть подписано цифровым сертификатом;
- Однако допускается самостоятельное подписание анонимными сертификатами;
- Приложения можно размещать без согласия и проверки со стороны Google;
- Приложения могут распространяться с любого веб-сайта (по умолчанию, с Android Market).
|
3. Шифрование
|
|
- iOS хранит все данные в зашифрованном формате на SD карте устройства;
- Данные автоматически расшифровываются при считывании iOS и приложениями, паролей нет;
- iOS во вторую очередь шифрует электронную почту при помощи кодовой защиты, блокируя доступ, кроме случаев, когда устройство очевидно разблокировано;
- Сторонние приложения также могут использовать шифрование при помощи кодовой защиты интерфейсов программирования приложений (API).
|
- У Android встроенное шифрование конфиденциальных данных (приложений, календаря, контактов, паролей, и т.п.) появилось только с версии 3.0;
- Приложения могут использовать Java шифрование интерфейсов программирования приложений (API) для сокрытия данных.
|
За некоторыми исключениями, подход Apple к определению происхождения приложений является очень эффективным. Нестрогий подход Google к определению происхождения приложений делает Android уязвимым для эволюционирующих вредоносных программ и легальных программ, атакованных троянцами. Облегченная сертификация привела к тому, что сегодня можно наблюдать постоянный прирост числа вредоносных программ для Android-устройств.
Идем дальше:
4. Изоляция процессов
|
|
- Приложения не могут переписывать/читать/записывать другие приложения/ОС/данные;
- Приложения ограничены режимом пользователя и не могут устанавливать драйвера;
- Правила изолирования блокируют доступ к папкам входящей электронной почте и SMS, отсылке SMS, инициировании телефонных звонков, GPS.
|
- Приложения могут переписывать другие приложения и исследовать их исходный код, но не конфиденциальные данные;
- Однако данные, хранящиеся на SD карте памяти по умолчанию, могут быть прочитаны всеми;
- Приложения ограничены режимом пользователя и не могут устанавливать драйвера;
- Приложения получают доступ к большинству системных услуг только после утвердительного ответа пользователя на запрос.
|
5. Разграничение доступа по ролям
|
|
- Пользователь должен дать разрешение на: доступ к GPS, включение удаленных уведомлений, начало телефонных звонков и отправку SMS;
- Политика доступа / блокировки для всех остальных подсистем встроена в iOS и процедуру одобрения/проверки со стороны Apple.
|
- Приложения могут переписывать другие приложения и исследовать их исходный код, но не конфиденциальные данные;
- Однако данные, хранящиеся на SD карте памяти по умолчанию, могут быть прочитаны всеми;
- Приложения ограничены режимом пользователя и не могут устанавливать драйвера;
- Приложения получают доступ к большинству системных услуг только после утвердительного ответа пользователя на запрос;
- ОС Android, а не Dalvik VM, обеспечивает изоляцию.
|
Модель изолированной программной среды iOS ограничивает потенциальный вред от приложений, но, в то же время, осложняет создание приложений для обеспечения безопасности iOS. Что касается Android, то за исключением возможности доступа к внешней SD карте, используемые по умолчанию правила изоляции являются даже более строгими, чем те, которые используется в iOS.
Конечно же, лишь немногие приложения ограничиваются используемыми по умолчанию правилами.
К сожалению, несмотря на довольно жесткие требования к безопасности, которые выдвигались еще при разработке препарированных нами платформ, степень их защищенности недостаточна для защиты корпоративной информации, которая так часто на них попадает. При правильном использовании и настройке обе платформы – Android и iOS – дают пользователям возможность одновременно синхронизировать свои аппараты с множеством (частных и корпоративных) облачных сервисов без риска утечки. При неправильном – дают злоумышленникам возможность украсть данные о местонахождении устройства, номер телефона, электронный адрес и контакты, украсть действительный код IMEI и установить его на деактивированный/поддельный телефон, получить плату за установку левых приложений, заставить телефон отсылать SMS сообщения или набирать номера для платных звонков, изменить настройки сервера доступа к интернет на прокси-сервер атакующих, шпионить и много чего еще.
Автор: symadmin