Этот мобильный, мобильный мир

Этот мобильный, мобильный мир
Практика показывает, что в погоне за аудиторией о безопасности вспоминают только в конце или вообще после инцидента
Мы попробуем взглянуть на мобильный мир с точки зрения атакующего, целью которого является доступ к мобильным устройствам — смартфонам или планшетам.

Давно известно, что чем сложнее система, тем больше вероятность допустить в ней ошибку, особенно когда в процессе создания или разработки задействовано много различных предприятий и организаций. Безопасность мобильных устройств обеспечивается сегодня на всех этапах жизненного цикла.
- Производитель устройства
- Разработчик операционной системы (ОС)
- Оператор сотовой связи
- Разработчики сторонних приложений
- Корпоративная среда (компании, контролирующие устройства своих сотрудников)
- Пользователь

Рассмотрим по порядку каждый из этих этапов:

Производитель устройства

Производители устройств — к примеру, такие компании, как Apple, Google, LG, Samsung, Nokia, Huawei — занимаются сборкой телефонов и смартфонов, а значит, ответственны за их аппаратную начинку. К тому же на их «совести» лежит и пласт ошибок и уязвимостей на уровне «железа». Необходимо понимать, что это, пожалуй, самый серьезный слой, поскольку уязвимости на уровне «железа» могут быть исправлены только его заменой. 

Вспомним, кстати, ситуацию с Apple и jailbreak: из-за ошибки в bootrom с помощью эксплоита Limera1n можно было поставить jailbreak не на определенную версию iOS, а на целое поколение «яблок»: iPod touch 3-го поколения, iPhone 3GS и все устройства на базе чипа A4. 

Чем ниже находится уязвимость, тем сложнее ее исправить. Да и сама аппаратная начинка устройств разная: где-то две камеры, где-то аппаратный считыватель отпечатка пальца и т. д. А потому производителям приходится писать свои драйверы, программы и модернизировать операционную систему. Сейчас популярно создавать фирменный внешний стиль ОС и оснащать ее множеством приложений. Как правило, они имеют очень высокие привилегии, порой даже недоступные сторонним разработчикам.  

В первую очередь речь идет об устройствах на операционной системе Android. Среди исследователей безопасности Android-устройств даже бытует шутка, что «каждое Android-устройство обладает уникальностью снежинки». C одной стороны, это свойство добавляет проблем атакующему, поскольку мало шансов, что на всех решениях с ОС Android сработает его эксплоит для уязвимости, связанной с повреждением памяти. С другой — самому производителю, избравшему данный подход к кастомизации ОС, со временем все труднее поддерживать огромное количество устройств, постепенно процесс пускается на самотек, а незакрытых уязвимостей становится все больше. И вот уже любой желающий может без усилий взломать такой телефон — ведь эксплоиты находятся в открытом доступе. И все, что может сделать пользователь для безопасности своего девайса, — заменить его другим. За редкостью прецедентов, не будем рассматривать случаи, когда пользователь сам патчит свой девайс или «накатывает» альтернативную операционную систему типа CyanogenMod.

В качестве примера можно привести уязвимость в предустановленном от производителя приложении на Samsung ATIV S с операционной системой Windows Phone 8. На этих устройствах компания оставляет свое приложение WP8Diag для диагностики. К сожалению для пользователей и к счастью для атакующего, оно работает под высокими правами и содержит уязвимости, позволяющие сделать jailbreak для данного смартфона.

Разработчик операционной системы (ОС)

Сегодня на рынке представлено огромное количество операционных систем для мобильных устройств: iOS, Android, WindowsPhone, BlackBerry, Firefox OS, Tizen... Хотя, конечно, широко популярны из них лишь две-три. Разработчики ОС отвечают за ее ядро и модель безопасности, в рамках которых выполняются сторонние приложения. Также они, как правило, создают модель распространения приложений, имеющую большое значение в связи с наличием вредоносного программного обеспечения для мобильных ОС.

Как и любой код, код мобильных ОС содержит уязвимости, которые злоумышленники активно используют, в основном для повышения своих привилегий в системе. Специфика таких операционных систем заключается в том, что каждое приложение работает в своей «песочнице» (sandbox) и ограничено в правах. И главное, что нужно сделать атакующему, — выйти из «песочницы» и поднять свои права на устройстве. А дальше вредоносный код способен на что угодно! 

Еще свежа в памяти уязвимость на Android-смартфонах на базе процессора Exynos. Из-за ошибки в /dev/exynos-mem ядра ОС Android, все устройства на этом процессоре (прежде всего пострадала почти вся линейка Samsung Galaxy) оказались уязвимыми, и любое приложение могло поднять свои права в системе до root, а дальше — по своему усмотрению... 

Есть еще один интересный момент, о котором часто забывают обычные пользователи, но всегда помнят специалисты, активно эксплуатирующие мобильные устройства. Windows Phone 8 разделяет часть кода с Windows 8, а Android и другие linux-based ОС — часть кода с ОС Linux. На практике это означает, что иногда можно портировать эксплоит, написанный для операционной системы для настольного ПК, на мобильную ОС, естественно, учитывая ARM-архитектуру.

Оператор сотовой связи

МТС, «МегаФон», «Билайн», Tele2 и т. д. ответственны за безопасность данных, отправляемых по сетям сотовой связи. Большинство знает, что вся информация перемещаются в зашифрованном виде. В сетях GSM для передачи данных между телефоном и базовой станцией используется алгоритм A5 (также есть модификация A5/2). Но мало кому известно, что оператор может в любой момент отключить шифрование. Тогда базовая станция сообщит устройствам в сети, что сведения передаются в открытом виде. Любопытный случай был несколько лет назад во время экономического саммита в Санкт-Петербурге. В момент, когда оператор отключил шифрование, старый простенький телефон Nokia (не смартфон!) отчетливо показал на экране «открытый замочек», что означало “Cipher not provided by operator. Insecure transmission”. А сегодня ни одна современная мобильная операционная система не информирует о таких «инициативах» операторов, оставляя пользователей в неведении, и даже не предоставляет API для получения подобной информации. 

Интересно отметить, что компания Google в курсе данной проблемы, исследователи обращались к ней через Issue Tracker (https://code.google.com/p/android/issues/detail?id=5353) с уведомлением еще в 2009 году. Однако сегодня, как и пять лет назад, в ответ абсолютная тишина.

Таким образом, «плохие парни» или просто «ребята с хорошими возможностями» могут, находясь рядом с жертвой, развернуть поддельную базовую станцию, подсоединив к ней жертву, отключить шифрование и прослушивать все ее разговоры. В связи с интенсивным развитием направления open hardware и появлением таких недорогих «железок», как HackRF, BladeRF, подобные возможности станут доступными более широкому кругу лиц.

И хотя это ошибка не оператора связи, а специфика протокола GSM, для жертвы злоумышленников большого значения данный факт иметь не будет.

Разработчики сторонних приложений

Речь идет о специалистах, которые распространяют свои приложения через магазины, включая AppStrore для iOS, Windows Phone Marketplace для Windows Phone, Google Play и еще около 20 неофициальных магазинов для Android. Здесь пользователи могут бесплатно или за деньги скачивать различные приложения, начиная от игр и приложений для социальных сетей и заканчивая программами для мобильного банкинга. 

Поскольку мобильная разработка достаточно молода и развивается огромными темпами, толковых рекомендаций и документов по безопасности в этой сфере немного. Кроме того, практика показывает, что в погоне за аудиторией о безопасности вспоминают только в конце или вообще после инцидента. В процессе написания программ разработчики часто допускают ошибки, приводящие к появлению уязвимостей, не используют функции безопасности, зато применяют устаревшие библиотеки или небезопасные фреймворки для кросс-платформенной разработки, весьма модные сегодня.
Все это приводит к успешным реализациям атак в отношении приложений устройства или даже его серверной части. При помощи уязвимостей, злоумышленники способны получить данные любого приложения или вообще проникнуть в систему и скомпрометировать устройство целиком. Примеры подобных атак мы обычно активно показываем в процессе наших исследований безопасности мобильного банкинга (2012 http://www.dsecrg.ru/files/pub/pdf/Mobile_Banking_Security_2012.pdf , 2013 http://dsec.ru/upload/medialibrary/56e/56e70f90cbcc8c092f036d8005351fd9.pdf). 

Корпоративная среда (компании, контролирующие устройства своих сотрудников)

В связи с широким распространением смартфонов компании столкнулись с таким понятием, как BYOD (bring your own device), а сейчас еще активно продвигается концепция WYOD (wear your own device), связанная с носимыми гаджетами («умные» часы или очки, например).

Разумеется, некоторые компании думают о безопасности своих данных и пытаются их защитить, в том числе и на мобильных устройствах. Для этого предприятия обычно разворачивают решения MDM (mobile device management), предусматривающие определенные ограничения для пользователей и наличие системы контроля в компании.

MDM очень часто вешают ярлыки на средства безопасности. Хотя в названии решения присутствует слово management, на всех хакерских конференциях уже не раз показывали, как можно атаковать и обходить такие системы, а данные извлекать из их «невскрываемых» контейнеров. Помимо прочего, это ПО является хорошим вектором атаки, поскольку после успешного нападения на него злоумышленник получает возможность контролировать все устройства.

Пользователь

Ну и в заключение самый страшный враг безопасности — Пользователь. Атаковать его легче всего. Растет уровень средств защиты, но еще быстрее растет количество владельцев мобильных устройств, а вот их знания в области информационной безопасности далеки от приемлемого уровня. 

В первую очередь на этом рубеже часто применяются приемы социальной инженерии. Злоумышленник, манипулируя информацией, может заставить пользователя сделать все, что он хочет: от отправки нужных ему данных до установки определенного приложения, как правило, вредоносного характера. Да порой и этого не требуется: ведь большинство пользователей не вникает, зачем, например, приложению «Фонарик» понадобились права на доступ в Интернет, возможность отправлять SMS и право на чтение списка контактов.  

Вслепую многие владельцы мобильных устройств ставят на них jailbreak или получают root-доступ, таким образом аннулируя все механизмы безопасности. Кто-то возразит, дескать, так можно повысить уровень защиты Android, установив ряд утилит. Но успех при проведении подобных «спецопераций» гарантирован лишь единицам. От человеческого фактора никуда не деться, и злоумышленники этим всегда пользуются.
Говоря обо всех перечисленных проблемах, нельзя не упомянуть о главном свойстве портативных устройств — их мобильности. Наши девайсы всегда с нами, на них много критичной личной информации, их легко потерять, и они часто работают не в доверенных сетях. Устройства подсоединяются к различным Wi-Fi-сетям в кафе, барах, ресторанах, бизнес-центрах, аэропортах и т. д. Они «запоминают» различные сети и впоследствии охотно вновь подключаются к ним — просто на основании имени и настроек безопасности сети. Злоумышленники могут без особого труда активировать точку доступа с параметрами сети, которые шлет в эфир мобильное устройство, чтобы захватить контроль над ним. Далее, они могут изменять данные, собирать или вообще пытаться запустить эксплоит против устройства, поднимаясь до наивысшего уровня доступа. Кроме того, благодаря подобным запросам в эфир, есть возможность составить неплохое описание как самого владельца, так и его привычек: где он бывает, кем работает и т. д.

ПК

Напоследок еще один момент, о котором очень часто забывают, когда речь ведется о мобильной безопасности. Мобильное устройство не автономный продукт, оно активно взаимодействует со сторонними сервисами в Интернете, с персональным компьютером.

Приложения обычно имеют клиент-серверную архитектуру, и для того, чтобы получить данные владельца, порой проще взломать или атаковать сам сервис, чем конкретного мобильного пользователя. В контексте этого вопроса показателен последний инцидент с утечкой приватных фотографий голливудских звезд, полученных из сервиса бэкапов Apple.

Также достаточно часто умный телефон мы подключаем к не менее умному компьютеру, соединяя две развитые экосистемы. В результате уже сегодня становятся возможными сценарии, при которых вредоносное программное обеспечение с ПК заражает мобильное устройство и, наоборот, мобильный гаджет заражает компьютер. Так, для первого сценария в мире Android есть Droidpak.A, через adb устанавливающий на устройство FakeBank.B, а в мире iOS совсем недавно появился WireLurker, который с Mac способен заражать iOS устройства с jailbreak и без него (с помощью enterprise provisioning). А для второго сценария показателен пример Android-зловреда под названием Claco.A, который на Windows скидывает SSucl.A.

Словом, все в этом мире взаимозависимо, а уж тем более тесны связи в мире ИБ, где безопасность системы оценивается уровнем защищенности самого слабого звена. 
 

Дмитрий Евдокимов, директор исследовательского центра Digital Security

Опубликовано 20.11.2014

Похожие статьи