Android: незащищенность внутренней памяти

2 Сентября, 2014 19:00
По материалам Группы компаний БАКОТЕК
Клод Сяо (Claud Xiao), исследователь компании Palo Alto Networks, на конференции по информационной безопасности в Тайване (HITCON), представил доклад на тему «Незащищенность внутренней памяти в OC Android». В своем докладе, Клод затронул тему технологии получения доступа к персональным данным во внутренней памяти ОС Android при помощи использования функционала консольной утилиты Android Debug Bridge (ADB).

ОС Android включает в себя многоуровневую защиту от кражи персональных данных. Тем не менее, около 85% всех активных Android-устройств уязвимы к такого типа атакам. В подкрепление этому, Клод продемонстрировал как злоумышленник может обойти все защитные механизмы и заполучить доступ к логинам, паролям и другим данным.

Для того чтобы понять, как организована эта атака, очень важно знать, как приложения используют внутреннюю память ОС Android.

Внутренняя память Android.

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

untitled1-500x101

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

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

До сих пор продолжаются дебаты на тему того, как хранить пароли во внутренней памяти, если она доступна только для тех приложений, под которые выделена. Считается, что это безопасное место.

К сожалению, это не всегда так.

Утилита Android Debug Bridge (ADB).

Эта программа дает возможность пользователям подключать Android-устройство к ПК и вводить команды. Функционал утилиты предусматривает возможность резервного копирования и восстановления, что позволяет пользователям копировать данные с телефона на ПК и обратно, включая данные, которые хранятся во внутренней памяти. Это означает, что ко всем тем паролям и другим данным, безопасность которых предполагали разработчики Android, злоумышленник получит доступ, как только вскроет систему резервного копирования.

Атака на внутреннюю память через ADB.

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

  1. Android-устройство должно быть подключено к ПК через USB.
  2. Android-устройство должно поддерживать систему бэкапа и восстановления в ADB.
  3. На Android-устройстве должна быть включена функция отладки ADB.
  4. Экран Android-устройства должен быть разблокирован.
  5. Если в ADB активирована функция аутентификации, то на ПК должны быть учетные данные для прохождения аутентификации.
  6. Необходимо нажать кнопку «Сделать резервную копию» на Android-устройстве.

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

Вот как может произойти кража данных: 

  • Можно получить доступ к устройству через USB. Самый простой способ сделать это – физически контролировать телефон, одолжив или украв его, но это не единственный способ. Если злоумышленник установит контроль над ПК, к которому подключено Android устройство (для зарядки или еще чего-нибудь), то ему не нужно будет физически контролировать устройство. Это может быть достигнуто путем заражения компьютера вредоносными программами, которые будут ждать подключения устройства Android. Или же через подключение устройства к поддельному зарядному адаптеру.
  • Устройство должно иметь поддержку системы бэкапа в ADB, которая появилась только в ОС Android версии 4.0. По состоянию на 7 июля, бэкап в ADB поддерживают 85,8 % всех активных Android-устройств.
  • untitled11-500x410
  • На этих устройствах должна быть включена функция отладки ADB. По умолчанию она отключена, но находятся энтузиасты, которые включают ее. Также отладочные утилиты часто рекомендуют пользователям оставлять включенной данную функцию. Некоторые производители включают отладку ADB. К тому же, каждый может купить устройство, которое активирует USB-отладку в телефоне.
  • Блокировка экрана защищает от резервного копирования в ADB, но многие не используют ее вообще. Но если даже используют, есть несколько уязвимостей в Android версии ниже 4.4.4, которые позволяют злоумышленнику обойти это.
  • В версиях Android 4.2.2 и выше (примерно 54,3 % активных устройств) предусмотрена ADB- аутентификация. Это означает, что ПК пытается включить ADB-отладку, при этом на телефоне появляется диалоговое окно с просьбой аутентифицировать данный компьютер. Если пользователь сделал это раньше и поставил галочку «Всегда разрешать с этого компьютера», то в случае заражения данного ПК, злоумышленник может обойти защиту. В случае использования Android-версии 4.2.2 и ниже, эту защиту можно обойти, используя уязвимость данных версий ОС.

  • untitled2
  • И наконец, если инициирован ADB-бэкап, на телефоне появляется окно с просьбой для пользователя нажать кнопку «Сделать резервную копию данных». Если злоумышленник имеет физический доступ к устройству, он может нажать кнопку, но если нет – функция  “adb shell sendkey” может симулировать этот «клик» и обойти защиту.
untitled3

Многие из этих защитных механизмов были внедрены в наиболее свежих версиях ОС Android, и это означает, что Google понимает риски, которые представляет ADB. К сожалению, ни один из них «не защищает от глупцов». Если обойти все защитные механизмы, то можно получить доступ к множеству приложений и их данным.

Уязвимые приложения

Фактический ущерб от атаки на ADB-бэкап зависит от того, хранятся ли данные во внутренней памяти, защищены они или нет. Единственный способ защитить данные – отключить систему резервного копирования для конкретного приложения. Для разработчиков это наиболее легкий способ предотвратить атаку, но им воспользовались лишь немногие.

Среди 12351 приложений (доступных в Google Play и с рейтингом более 500000 инсталляций) только 556 явно отключили систему резервного копирования. Другие 156 приложений внедрили бэкап-агент, который определяет данные, подлежащие резервному копированию. Еще 92,4% приложений не устанавливают никаких ограничений на бэкап данных из внутренней памяти.

Кол-во установок на приложение      Кол-во приложений, управляющих

500 000 000 – 1000 000 000                                          4

100 000 000 – 500 000 000                                            35

50 000 000 – 100 000 000                                              38

10 000 000 – 50 000 000                                                524

5 000 000 – 10 000 000                                                  766

1 000 000 – 5 000 000                                                    5043

500 000 – 1 000 000                                                       5229

Эта таблица включает в себя (как и обсуждалось ранее) встроенные почтовый клиент и браузер Android, а также другие почтовые, SSH-, FTP-приложения, многие из которых сохраняют учетные данные без дополнительного шифрования.

Рекомендации

Из всего вышесказанного следует, что большинство разработчиков либо не знают, либо всерьез не рассматривают потенциальные риски кражи персональных данных, хранящихся во внутренней памяти. Google может повлиять на эту ситуацию путем внесения изменений в Android: по умолчанию выключить функцию «Разрешить создание резервной копии». В свою очередь, разработчики могут либо вносить изменения в файлы AndroidManifest.xml, либо внедрять агенты резервного копирования, которые ограничат копирование персональных данных.

Если пользователи хотят защитить свои Android-устройства от атак такого типа, им следует выполнять несколько правил: 

  • включать ADB-отладку только в случае необходимости;
  • устанавливать последние обновления для ОС Android;
  • использовать блокировку экрана.

Как альтернативу, компания Palo Alto Networks предлагает платформу для защиты мобильных устройств Global Protect.

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

Эти принципы позволяют предприятиям обеспечить безопасность для приложений и данных.

В основе решения используется набор технологий для анализа и обнаружения, как работают мобильные приложения и угрозы. Анализируя миллионы мобильных приложений и изучение их функций, компания Palo Alto Networks построила базу данных сведений о том, как приложения используют сеть, домены, URL-адреса и протоколы, которые они используют, и многое другое. Это интеллект охватывает все приложения, в том числе приложения, которыми вы планируете управлять (для того, чтобы безопасно обеспечить доступ при минимизации риска), и те, которые вы хотите заблокировать (по соображениям безопасности).

Как работает Global Protect можно подробно увидеть на схеме ниже:

.png_01

 

Комментарии: