Чёрный день для “андроида”: ошибка в системе ставит под удар один миллиард устройств

Тема уязвимостей в программном обеспечении навязла в зубах ещё к концу “нулевых”. Но кроме того на этом исхоженном поле, пускай и редко, случается отыскать самородок угрожающих размеров. Как раз о таком сказала пару дней назад американская контора Bluebox Security: найденная её экспертами неточность в ОС Android ставит под удар почти один миллиард устройств. К счастью, не компьютеров, а “всего лишь” смартфонов, планшетов и другого недокомпьютерного железа: уязвимо всё, на чём трудится Android предположений от 1.6 впредь до самой свежей. Все они имеют баг под скромным номером 8219321.

Чтобы выяснить опасность находки, необходимо отыскать в памяти, как организована дистрибуция приложений для Android. Пара упрощая, возможно заявить, что, производя новую версию программы («пакет» формата APK), разработчик сопровождает её контрольной суммой (хеш) и заверяет собственной «цифровой подписью». Потому, что хеш и подпись подделать нереально (задействована стойкая криптография), то теоретически без ведома автора нереально незаметно поменять и ни один бит в APK-файле: перед тем как инсталлировать пакет на конкретное устройство, ОС проверит контрольную сумму и при её несовпадения с эталонной откажется устанавливать программу. Неприятность в том, что то ли механизм проверки, то ли механизм хеша и постановки подписи был с гнильцой. Действуя определённым образом, возможно поменять содержимое APK-файла незаметно для совокупности.

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

Представьте такую обстановку. Преступник находит APK-пакет с каким-нибудь ответственным системным обновлением от компании X, внедряет в него вредоносный код и размещает, скажем, на популярном форуме – якобы для удобства. Пользователи, скачавшие данный пакет, найти подделку не смогут: автоматическая проверка контрольной суммы пройдёт гладко, а в подписи так же, как и прежде фигурирует компания X. Пакет будет установлен – соответственно, в ОС проберётся и вредоносный код. Потому, что системным приложениям по определению предоставляется максимум прав, malware возьмёт доступ ко всем данным и ресурсам заражённого устройства.

Как много устройств подвержено данной проблеме? По данным статистики, публикуемой Гугл, рыночная часть любой версии Android старше 1.6 образовывает менее 0,1%. Следовательно, более 99% эксплуатируемых сейчас устройств содержат баг 8219321. Bluebox оценивает их число в 900 миллионов. Но помните, что параллельно с “официальной” ветвью Android от Гугл существует множество неофициальных форков – изготовленных как большими вендорами наподобие Amazon.com, так и бесчисленной массой безымянных китайских производителей. Их вычислять никто не пробовал, да и вряд ли это вероятно. Так что итоговая фактическая численность возможно уязвимых смартфонов, планшетов и других недокомпьютеров точно очень сильно превышает один миллиард.

Android 1.6 Donut, вышедшая четыре года назад, на данный момент есть самой ранней из предположений совокупности, сохранивших заметное присутствие на рынке. Но, и её часть оценивается всего в 0,1%, так что на этом графике от Гугл она кроме того не продемонстрирована (а будучи видимой, заняла бы узкую полосочку, сравнимую с 3.2 Honeycomb).

В случае если учесть масштабы вероятной эпидемии, неудивительно, что Bluebox, сделавшая собственное открытие ещё зимний период, до последнего момента держала все подробности в тайне. В известность были поставлены только Гугл и большие Android-вендоры. И лишь пару дней назад авторы находки опубликовали некоторые сведенья о сути уязвимости и показали скриншот приложения, модифицированного так, – как подтверждение практической осуществимости атаки. Любопытно, кстати, что заплатка, ликвидирующая баг в ОС, состоит всего из пары строчек кода. Но производителей ещё необходимо вынудить эти две строки в собственные версии Android внести! Фактически говоря, при замечаемых безумных темпах эволюции модельного последовательности и невообразимой фрагментированности платформы задача представляется неосуществимой. Так как кроме того именитые вендоры прекращают помощь собственных устройств через год–два по окончании выпуска, что уж сказать про китайский ноунейм.

Имеется, действительно, и второй метод обезопасисть пользователей – принудительно контролировать любой APK-пакет, попадающий в магазин приложений. Гугл как раз так и поступила – и пользователи, устанавливающие ПО лишь из Гугл Play (запретившие установку пакетов из посторонних источников; в настройках совокупности имеется соответствующий пункт), смогут быть спокойны. Но в этот самый момент силами одного игрока не совладать. На многих Android-устройствах включен доступ к другим апп-сторам, а на тех, что применяют Android без гугловской лицензии, Гугл Play недоступен вовсе. Понятное дело, достучаться до обладателей каждого магазина приложений и вынудить их контролировать пакеты чуть ли вероятно. А ведь лишь популярных других апп-сторов насчитывается дюжина (включая отечественный “Яндекс.Store”).

В разработке Android принимают участие организации из самых различных опытных областей. Имеется среди них кроме того АНБ. Стоп… Та самая АНБ?! (Графика: Davidsancar.)

Что ж, как известно, на протяжении проверки Гугл Play ни одного пакета, модифицированного с применением бага 8219321, распознано не было. Так что неприятность оставалась теоретической и давала слово остаться такой вплоть до конца июля, в то время, когда Bluebox собирается обнародовать подробности на конференции Black Hat. Но её опередили. Пару дней назад компания viaForensics опубликовала собственный эксплойт того же бага – утилиту, разрешающую распаковать, модифицировать и запаковать обратно APK-файл с сохранением его подписи и контрольной суммы.

Как предотвратить заражение, вы уже понимаете: не устанавливать «левые» пакеты и по возможности ограничиться гугловским апп-стором. Простые, стандартные, в неспециализированном-то, правила. Но вот кто донесёт их до человека с улицы?

P. S. Проверить собственные Android-устройства на наличие бага 8219321 возможно посредством бесплатного приложения от Bluebox Security.

МОЙ Сутки ЗА 5 Мин./MY DAY IN 5 MINUTES (ЧАСТЬ 7)


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