Pull to refresh

Comments 40

Если уязвимостью считается то, что пользователь может установить себе вредоносную программу, самостоятельно подтвердив её установку, и дав права… Похоже я нашёл ещё несколько платформ, на которых есть похожая уязвимость =)
Во всех системах этого нет, тк там производится проверка подписи приложения.
Приложение как раз подписано верно и сертификатом, который выдала сама Apple.
UFO just landed and posted this here
Когда вирус устанавливается «в один клик» — это не вирус. Хороший, годный вирус устанавливается без всяких кликов =)
То есть, это я к чему. Представим себе такую воображаемую корпорацию, в которой отделу дали задание «Разработать вирус под iOS». Просто мысленный эксперимент. Я бы не месте руководства такой вирус не принял.
За остальные не скажу, но Андроид не позволяет ставить приложение с другой подписью поверх уже установленного. пользователю придётся удалить легитимное и поставить фейковое. данные приложения при этом не будут сохранены.
Правда были баги и в этой системе тоже.
у вас есть ios устройство? я как то видел установку приложения, подписанного enterprise сертификатом, на айфон с публичного сайта. клик по ссылке — установка приложения на спрингборд. я не помню наличие запроса для подтверждения.
проверьте, пожалуйста, на эмуляторе gameboy из ссылки ниже.
Подтверждение спрашивает, эмулятор не устанавливается, видимо что-то сломано…
okay, подтверждение уже хорошо, значит память меня подвела. И по крайней мере тихой установки не произойдёт.
По крайней мере с iOS 6 всегда спрашивало прежде чем ставить.
UFO just landed and posted this here
тот джейлбрейк использовал ошибку, которая была оперативно устранена
а безошибочных приложений, действительно не бывает
UFO just landed and posted this here
это только в случае обнаружении зловреда человеком, знающим что такое enterprise profile, и куда писать для его отзыва. при локальном распространении или даже таргетированных атаках высока вероятность оставаться не обнаруженным вплоть до достижения цели.
UFO just landed and posted this here
Какими проверками, простите? Достаточно открыть любое предприятие в любой стране, мне для валидации даже не позвонили.
UFO just landed and posted this here
Видимо, вам не повезло. Такой сертификат выдают на раз два. Достаточно предоставить все данные на юридическое лицо и по телефону сказать «ай нид сертификэт ту мэйк инхауз апликатионс». У нас это заняло недели две и большую часть времени просто ожидали, когда нам позвонят, и когда предоставят собственно сертификат после звонка.
UFO just landed and posted this here
Эм, так вроде какой-то эмулятор gameboy у меня еще года полтора назад спокойно ставился в обход appstore.

А вот и он — www.gba4iosapp.com
UFO just landed and posted this here
Эппл вроде уже отозвала. Точнее не отозвала, а сделала невалидным с определенной даты. Если перевести время назад — приложение с отозванным сертификатом можно установить.
тут дело не в самом факте установки, а в сохранении данных ранее установленного легитимного.
Кто-нибудь знает, как сделать приложение с чужим bundle id? Это ведь надо создать такое приложение в своём аккаунте (на developer.apple.com), а Apple там не даёт добавлять bundle id, который уже существует.
Разве что с wildcard provisioning profile попробовать.
так тут речь об установке не из apple store.
неважно откуда устанавливается приложение, bundle id для него создается на developer.apple.com. А там Вам не позволят использовать уже существующий bundle id.
Как написали выше, возможен вариант с использованием wildcard bundle id, но я не уверен, что приложение с wildcard bundle id (например, ru.habrahabr.*) перезапишет приложение с explicit bundle id (например, ru.habrahabr.habr). Думается мне, что они станут раздельно.
А нет, все-таки работает вариант с wildcard bundle id, ниже описал шаги для воспроизведения.
Я пробовал подобное на 5-й оси, кажется, и такое не проходило (новое приложение просто затирало данные старого). Правда у меня был не энтерпрайз сертификат.
Ну такие приложения не первый день существуют.
Работает эта тема, только что проверил на своем приложении из AppStore:
В приложении из аппстора стоит bundle id com.becoast.gcar. На developer.apple.com в enterprise аккаунте создал wildcard bundle id: com.becoast.* (com.becoast.gcar — не позволяет создать, так как уже используется). Далее создал соответствующий provision профиль. В тестовом приложении указал bundle id: com.becoast.gcar и подписал его с provision для com.becoast.*. Залил на девайс, в результате приложение из аппстора перезаписано тестовым.
Не, так не интересно, оба приложения подписаны с помощью одного аккаунта
Упс, проверил на Adobe Reader, приложение спокойно получает доступ к чему не должно, IOS8
Я использовал два акааунта, один enterprise для подписи тестового приложения, второй аккаунт девелопера, которым подписывались приложение из app store, они никак между собой не связаны
Был не прав, не нужен даже энтерпрайз аккаунт, проверил на Adobe Reader
Для полной степени уязвимости все-таки понадобится enterprise, иначе не получится распространять «вирус».
UFO just landed and posted this here
Моя первая мысль была такая же. Не вижу случаев, где такое решение могло бы стать узким или неудобным местом.
Опять же, пользователю сначала надо подтвердить, что он доверяет фирме, на которую выдан enterprize сертификат. Для этого выскакивает весьма заметный диалог. Конечно, последующие установки от этого разработчика пойдут без подтверждения, но первый раз подтвердить всё же придётся.
Sign up to leave a comment.