25 мая 2015
Беседка №39: о разрешениях для Android-приложений
Илья Субботин
Очередной выпуск Беседки посвящен с виду безобидному процессу, таящему в себе потенциальную опасность для безопасности частной жизни пользователей гаджетов на базе Android — предоставлению приложениям тех или иных разрешений.
У многих пользователей процесс предоставления разрешений [приложениям] на Android-устройствах по аналогии с установкой ПО на ПК зачастую вызывает ступор и замешательство. С какой стати приложению для работы может требоваться доступ к камере, контактам и т.д.? Ответ на вопрос может кардинально отличаться в зависимости от позиции, будь то хитрый и скрытный разработчик или стандартный гласный процесс [предоставления разрешений], требуемый Google.
Можно вспомнить всколыхнувший мировую паутину прошлогодний скандал с разрешениями Facebook Messenger. Номинально, список предоставляемых прав означал, что Facebook мог в любое время записывать аудио и видео, получать доступ к файлам, изменять их, отправлять что-либо друзьям без вашего разрешения.
Как выяснилось, суть проблемы с разрешениями кроется в особенностях структуры экосистемы Android-приложений и в том, что различным по своей сути приложениям требуются схожие разрешения. Например, для работы любого приложения-«фонарика» требуется разрешение на осуществление фото- и видео-съёмки без вашего подтверждения. Так получается из-за того, что диод LED, использующийся в качестве фонарика, является составной и неотделимой частью компоновки схемы камеры. Вот поэтому разрешение и носит такой бескомпромиссный характер. Говоря техническим языком, если приложение «может» включать фонарик, оно может и снимать фото и видео, поэтому в требования Google и включен запрос о предоставлении подобных прав.
С другой стороны, хитроумные разработчики будут переступать через «потребности» приложения, включая в него разрешения, позволяющие получать прибыль от продажи рекламы или посредством покупок внутри приложения. Такие покупки, в частности, могут служить источником большого риска, если на вашем устройстве не настроен запрос пароля для покупки в Google Play. Разрешения для таких функций, как определение местоположения, историю приложений и телефонной книги резонно встречаются в картографических приложениях, навигаторах, браузерах или приложениях для соцсетей, но им не место в играх или «фонариках».
Наиболее осторожными стоит быть с бесплатными приложениями, т.к. они зачастую передают ваши персональные данные третьим лицам или продают рекламу. Понимание этого аспекта, а также внимательное ознакомление с требуемыми разрешениями при остановке, станет первым шагом в борьбе с обманом, однако, стоит помнить еще один момент. Заплатить доллар за приложение с ограниченным набором разрешений будет более мудрым шагом, нежели использование бесплатного приложения, которое требует намного большего, чем от него требуется.
Ну и, напоследок, стоит напомнить, что если вам не очень то и нужно то или иное приложение, то нет необходимости его устанавливать. Но если вы решились, уделите время, чтобы понять то, на что вы даёте свое согласие, это минимизирует возможный риск.
Оригинальная статья, автор — Кен Колбёрн
Elir:В процессе установки приложений из каталога Google Play Store мы зачастую не задумываемся об этом мимолетном и малозаметном, но немаловажном аспекте экосистемы Android. Далеко не все из нас — опытные пользователи и некоторые, возможно, даже и не задумывались о безопасности своей частной жизни и персональной информации, скачивая очередную «украшалку» для своего устройства. Задуматься есть над чем, будьте внимательны!
Давно пора убрать из настроек галочку «установка из непроверенных источников», за рут блокировать телефон на уровне чипсета, а потом и вовсе закрыть ось, как это сделано в WP. А то ишь чего удумали! Своевольничать!
а как же навител ломаный ставить тогда?
З.Ы. это единственная прога, которую я не из Маркета устанавливаю 🙂
А для этого придется обращаться к знающим людям 😀 Которые будут накатывать его как обновление к оси 😀
Дождетесь ведь. Прошивку рекавери заблокируют, а неподписанные обновления ставиться не будут =)
Я знаю как без рекавери, узбагойтесь))))
Через ADB? 🙂
Заливать напрямую через DOS 😀
А… Мы ж про мобильную винду?
Мы вообще-то про андроид ну да ладно. Короче все упирается в нахождение драйвера для чипсета мобильного устройства для настольной винды или для доса. Т.е. подойдет как нормальный драйвер так и бинарный. Разница будет только в том, откуда вы будете открывать кубышку- из под винды или какого-нибудь 2К. Можно вскрыть содержимое почти любого смартфона, в обход нормальной работы всех этих загрузчиков и прочих программных ограничений. Вы работаете напрямую с внутренним накопителем. Все что потом останется- ручками заменить содержимое разделов на нужное. А то и сами разделы, включая загрузочный раздел. Все упирается просто в драйвер.
Чет мне страшновато такой глубокой хирургией заниматься… Хотя и слова все понятные, и операции знакомые, и даже опыт работы с дампами и их побайтовой правкой имеется, пусть и давний. Ну и основное и самое первое — где ж драйвера-то искать? На XDA?
Описанный мною подход используется в львиной доле «прошивальщиков» для китайских родных смартфонов. Т.е. надо включить переводчик с китайского на русский, лазить по китайским сайтам производителей и дергать оттуда сразу дрова или сначала прошивальщики, а потом какой-нибудь прогой дергать драйвер из винды, который туда прошиваьщик поставил. Заморочено немного, но более чем реально. Современный смартфон — это просто компьютер и делать с ним можно все то-же, что и с компьютером. Иначе бы «кирпичи» не прошивались 😀
Да это понятно, сам свой первый смарт измучил вдоль и поперек, даже скрипт для переразбивки внутренней памяти сделал, вон недавно только плюс в карму за него с 4PDA прилетел, хотя у меня этого смарта уже полтора года как нет. Но, насколько изучил тему, все равно требуются определенные навыки (как, в принципе, и в любом другом серьезном деле). Плюс некоторые системные знания по архитектуре андроида и того, что производители вокруг него накручивают. А их (навыков) получение требует времени, а допущенные в процессе получения ошибки неиллюзорно превращают девайс в кирпич и прочие разновидности инвалидов. Так что осваивать пока подожду 🙂
Хорошо, теперь выдыхаю)
>> Давно пора убрать из настроек галочку «установка из непроверенных источников»,
Саша, хочешь научу на iOS без jailbreak ставить приложения не из AppStore?
>> а потом и вовсе закрыть ось
Добро пожаловать в дивный новый мир. Никогда не видел заблокированные загрузчики или систему безопасности Knox?
>>Саша, хочешь научу на iOS без jailbreak ставить приложения не из AppStore?
Через аккаунт разработчика?
Ага 🙂
Ну это платно. Проще уж джейл сделать.
Я к тому, что легальный способ технически всегда будет. И у Apple, и у Google, и у всех остальных.
Есть еще некая китайская замена-подмена iTunes)))))
Знаю как ставить без джейлбрейка на iOs))))) Ты представляешь как вырастет стоимость услуг, когда никто кроме тебя не может? Даешь монополию! 😀
Apple обещала в iOS 9 полностью закрыть возможность джейла. Если смогут — вот тогда и посмотрим, сколько будет стоить поставить нелегальное приложение 🙂
Всё правильно! Даешь распространение идей Сбербанка по всему миру! Мы им еще покажем кузькину мать!
«за рут блокировать телефон на уровне чипсета» и отрубать правую руку ))))))
И еще клеймо на лоб — «Хотел рут? На, получи!» 😀
тихо Вы, а то ведь увидят и сделают. =)
Надо просто голову включать, когда что-то ставишь или на что-то нажимаешь. Тогда проблем не будет и на андроиде, и на айос, и даже на обычной, стационарной винде без антивируса — у меня система живет так (дополнением к убунту) уже пару лет точно, инцидентов не было.
на iOS вот не надо голову включать.
всё работает и все довольны ^.^
«на iOS вот не надо голову включать.»
Вся суть ™
Вся суть, в том — что в iOS, весь этот вопрос проработан куда лучше.
1) Приложение запрашивает доступ к контактам, GPS, микрофону, и фото, и всему остальному, в момент доступа, и ты понимаешь, зачем это надо. И ты всегда можешь сказать нет. В Android — у тебя особо выбора нет, ставишь приложение — тебе выкатывается список, и ты либо ставишь, либо не ставишь, если понимаешь — что просит слишком многого. А если приложение очень нужно, то видимо можно поступиться безопасностью, и разрешить поставить его.
В iOS — ты спокойно ставишь приложение, и когда оно запрашивает доступ, ты можешь просто сказать нет, и если этот функционал не связан с тем, что ты запретил — приложение дальше нормально работает.
2) Для некоторых сервисов (например GPS) еще и переспросит через несколько дней, что приложение такое-то недавно получило доступ к GPS, и может отслеживать твое местоположение в фоновом режиме. Доверяете ли вы этому приложению, позволить ему и дальше определять ваше местоположение?
3) В любой момент можно выборочно/полностью отобрать права у приложения, т.к. все это есть в настройках системы.
В стоковой прошивке, без всяких джейлов или рутований, и прочего.
P.S. И в чем плохого, что можно не включать голову для работы с ОС? Например, когда я программирую на ноуте, я не хочу думать об ОС, которая на нем, о бекапах, о том, что какое-то приложение может получить доступ к нежелательным данным, или еще что-то. ОС нужна для того, чтобы запускать программы. И если ОС сделана так, чтобы не отвлекать тебя от программы, в которой ты находишься, когда она берет на себя обязанности и сохранности данных (автоматические бекапы), и безопасности, вроде прав доступа и хранения паролей, и многого другого, это хорошо. Пусть весь ваш мозг/ум/внимание, достается той программе, которая запущена, а не ОС.
Всё по теме, кроме тех приложений, про которые иОС не спрашивает. В андроиде это решается установкой LBE SM или аналога. В итоге запрещает гугл апс лазить укда не просят.
Все равно не получается непривязанность. Хоть раз, но все настроить надо — следовательно, это падает в карму
Пустая статья — только трёп про разрешения, а полезной информации ноль. Я лично сюда зашёл в поисках совета по ограничению разрешений, т.е. если приложению требуется куча разных разрешений, то я сам мог бы выбрать куда пускать, а куда не пускать
Погуглите xposed и модуль к нему xprivacy. Это если у вас не lollipop ещё. Может знает кто для 5-го андроида решение?
У меня все из коробки работает:
Год я ходил с miui и привык этому фунционалу. Поэтому и нашел xposed на cyanogen. Теперь нужно что-то на lollipop. Ну не miui же ставить? Вот если бы когда я менял телефон mi4 работал бы с lte, то таких вопросов не задавал бы.
На XDA с февраля где-то болтается тема «[OFFICIAL] Xposed for Lollipop». Неужели там ничего не работает?
Все таки я берегу нервы и стараюсь избегать программных продуктов, в описании которых маячит незаметное слово «alpha». Последний мой опыт(windows 10 как основная система для дома) довольно негативен.
А чего с десяткой не так? В семье на двух относительно нормальных десктопах и одном овощном ноуте гоняем. Ноут так вообще преобразился (до этого семерка стояла). Болидом гоночным не стал, разумеется, но работать стало ощутимо комфортнее. Вроде нормально всё работает.
Интересно, дрова от семерки для десятки подойдут? А то у меня на нетбуке «славная» intel gma 3600.
Тут как повезёт, надо пробовать. А еще лучше — спросить у мирового разума в яндексе и гугле для начала. Лично у меня на все три компа всё воткнулось абсолютно без проблем, тьфу-тьфу-тьфу. И даже работает, как ни странно ))) Ждем, пока МС официально релиз уже выкатит, чтоб нормально всю технику обновить.
Баги в основном. Например, на текущей версии нельзя зайти свойства сетевого соединения и даже выключить сетевой адаптер, соответсвенно если бы это была единственная система, к примеру, на ноуте в командировке, был бы ой. Еще она без спроса тянет обновления, все. Соответственно и драйвера тоже. Мне вот вытягивает драйвер amd для видеокарты, тоже толи альфа, толи бета. Из-за него курсор мыши становился просто огромным или пропадал звук по hdmi(заново ставлю нормальный драйвер и так до следующего раза). Бывало не открывались системные оснастки типа управление компьютером. Некоторые программы или не устанавливаются или вываливаются с ошибкой: у меня не заработал MetaTrader 4, хотя новая версия пашет, а мне надо именно старую, NetLimiter 4 вываливается при попытке регистрации. Еще, из придирок, периодически всплывает надпись «Активируйте виндовс» или как-то так, а так же если ничего не предпринять — то постоянно сливает в интернет данные(какие — кто знает…). Так что, я думаю, вы просто ей не пользовались.
Хм. Понятно. Не, я предполагал, что мне просто повезло с железом, софтом и сценариями использования. Но не думал, что настолько 🙂
Все верно. Нужен Интел на Интеле. Глюков с сетью, описанных выше, на виртуалках не отмечено
Видяха на десктопе от амд, вафля от асуса… всё работает.
Не спорю. Комбинациям несть числа. К счастью, мои личные экземпляры Windows уже года четыре, как виртуальные, поэтому и к глюкам нет вопросов)) Но краткое правило — «Интел на Интеле». В продакшне только так, а лучше сертифицированный брэнд с выездной гарантией. Десктопные же Windows, мне, к счастью, не нужны
Если доведется возвращаться к серверам — учту 🙂
«Последний мой опыт(windows 10 как основная система для дома) довольно негативен.»
И это после того, как Вам перед установкой в явном виде написали, что в качестве основной системы использовать настоятельно не рекомендуется. И Вы лично нажали ОК 😉
У меня навернулся ssd и решил я ощутить азарт от использования новой системы 😀 А основная система, это для дома основная. Риск был невелик — дома есть еще компьютеры и на работе тоже. Так что это был безопасный эксперимент с погружением, так сказать.
Понятно)
А вот Цианоген и MIUI даже в релизных вариантах всегда имеют оговорку «ставишь на свой страх и риск». Так что если установить на бетаверсию Цианогена альфаверсию Xposed, то хуже не станет)
12 циан пришел на oneplus как ОТА-обновление, то есть это все же релиз, а не бета. Так или иначе альфа на то и альфа, что бы быть слишком сырой.
потому, что надо было уходить на Циан-Циан))) А не ЦианС)))
Циан 12S пришел вполне официально и меня устраивает. Какой смысл рыпаться на кастом почти такой же, но без поддержки коммьюнити в той же мере?
Пардон, Вы путаете — коммьюнити как раз у «чистого» Циана без S. Циановское. И с поддержкой там намного лучше, чем у производителя нашего ОРО
Не спорю, если речь идет о самой системе. Но косяки-то лезут не из циана, они лезут из модема, камеры, железа вообщем. Но железо в андроиде жестко скреплено с ПО, потому оставаться на ОФ прошивке по мне более спокойно.
Вас не осуждаю ни минуты — у самого жена под угрозой смертной казни не дает обновить, по-моему, 40-ю прошивку))) Ну, а я, не дождавшись Оксигена, свалил на ночнушки, в чем и не раскаиваюсь
Раньше прыгнул бы в омут с головой. Возраст как будто заставляет лениться. Почитывал ветку ночнушек, периодически у людей полностью сброс происходит, а я даже перед ОТА обновленим делаю бэкап через titanium и на всякий через рекавери, чтоб заного вме не настраивать.
это досужие домыслы. Сам не молод. Сброс, как положено, был при переходе с 5.0 на 5.1 (12 на 12.1). Ну не ставится он без полного вайпа. Точка, все. А дальше Вы сами знаете — бэкап из рекавери, бэкап титаном. Карма «телефона для прошивальщиков»
>>Поэтому и нашел xposed на cyanogen.
У Cyanogen же встроенная рулилка правами есть (хоть и не настолько продвинутая).
Я так понял ту резалку вырезали аж в 8-ом циане, а текущий 12-ый.
На 11 она есть.
А ведь да. И на 12 тоже есть, надеюсь оно работает. Спасибо. Теперь не нужны сторонние средства.
И где эту красоту искать?
В русской локали — Настройки — Конфиденциальность — Защищенный режим. Там в опциях справку почитайте, разъяснено как управлять этим.
Обалдеть. Спасибо. Поизучаю-потестирую на досуге.
Я сейчас смотрю на 11 cyanogen и до меня что-то не доходит где эта рулилка. Можешь уточнить?
Настройки — Конфиденциальность — Защищенный режим. В 12-ом, по крайней мере.
Спасибо, нашел. Поковыряюсь сегодня.
Могу:
Настройки => Конфиденциальность => Защищённый режим => Долгий тап по приложению.
*пристально посмотрел в настройки вкаченного на Galaxy S3 CM 11
И где, простите?
Настройки => Конфиденциальность => Защищённый режим => Долгий тап по приложению.
Угу, уже изучаю, спасибо.
В HTC-шном MiUI 5 не удаётся управлять системными приложениями. Так и задумано?
На каждый аппарат имхо miui перепиливают, поэтому, я думаю, надо спрашивать на 4pda в ветке miui именно вашего аппарата.
И не только на HTC. Да, это так и задумано: ограничить можно только прикладные приложения.
3C Toolbox, например
Как вариант LBE sequrity manager
Раньше, когда у меня спрашивали какой антивирус для компьютера лучше, я давал совет реже посещать сайты типа большиесиськилюбятвзаддоупора.ком и трекеров, сейчас можно сказать примерно то же самое: есть сомнения в разрешениях, поставь другое аналогичное приложение, чего заморачиваться и изводить себя)
Я антивирусами не пользуюсь уже года 3 (раньше все время юзал касперского) — по «левым» сайтам не лазию и проблем нет (а раньше комп тупил конкретно). И приложения качаю только из Маркета — так что тоже никогда не было каких то эксцессов
Вот вы говорите, что надо реже посещать «такие сайты», но ведь «реже» не равно «никогда», то есть если очень хочется, то можно… Так какой антивирус вы все же посоветуете? =)
Linux — посещай что хочешь и как хочешь.
Я себе такой на работу установил. Какой антивирус вы бы могли порекомендовать подруге своей мамы или бабушки? Обязательное условие — должны работать «вот эти шарики». =)
Установил маме на нетбук Ubuntu. Уговорил перейти на другие шарики.
Вы — герой. Но подвиги удел лишь героев…
Вам сильно повезло с мамой. У меня с женой, которую видишь ежедневно, в свое время этот номер не прокатил.
У меня и жена в своем время успешно пользовалась Ubuntu (когда дома был единственный компьютер). Сейчас, правда, на ее ноутбуке Windows. Но это потому, что она работу на дом берет и ей надо идеальную совместимость MS Office.
Если честно, я тоже не могу сказать, что всё было прямо так из рук вон плохо. Были периоды, когда все работало нормально и вопросов и проблем не вызывало. Но! Когда что-то после очередного обновления ломалось (то звук пропадет, то камера в скайпе работать перестанет, то красивые окошки в таскбаре показываться перестают), это происходило ну настолько, блин, не вовремя, что раза после 20-го я задолбался и вернул обратно «семерку» как загружаемую по умолчанию систему. Это при том, что я около года даже на рабочем ноуте сам сидел в Кубунте с опенофисом и вайном, а винду и всякие там 1С и офисы при необходимости запускал на виртуалке в VMware. На 4-х Гб ОЗУ! 🙂 Оцените степень преданности идее ))
Wine.
Ну или жёсткое ограничение прав с AdBlock’ом (Эльдар, не бейте, такие мамы и бабушки всёравно наврятли читают MR) и песочницами.
Повторюсь, но мы же понимаем, что это работает только на работе и с близкими людьми. Можно поддерживать ubuntu на компьютере мамы, можно вкорячить солярис самому нелюбимому товарищу. Но не когда у тебя спрашивает совета мамина подруга или просто знакомый.
Вот присоединюсь. И вообще голова не болит. Правда, когда я года два пытался полностью слезть с винды на разные там *buntu, голова порой болела ого-го как… Так и стоят никсы в итоге второй осью, запускаемой время от времени, по необходимости.
Что за халтуру я только что прочитал?
Очень не нравится, что нельзя сейчас выдавать только часть разрешений. Меня, например, жутко бесят московские «парковки», которым требуется аж автозапуск при старте телефона. А потом они начинают раз в час вылетать, тупить и отжирать до 3% батареи. Все в фоне. Это при том, что лично мне приложение нужно раз в пару месяцев.
Уж из автозапуска приложение можно вынести кучей способов. С рутом вообще без проблем.
Ну вот меня эта куча (и тем более заморочки с рутом) никак не устраивает. Нужен один удобный способ. Я в итоге через диспетчер приложений остановил эту хрень, не особо интуитивный вариант.
Это не поможет в перспективе. Нужно autoruns или autostarts, уж не помню как оно называется. Убивать запущенное — очень вторично 🙂
Да вот на удивление даже после N перезагрузок и установки обновлений для «парковок», они все еще в статусе «отключено». Забавно, может, хуавей так допилил стоковый диспетчер. Хотя выглядит как на чистом андроиде. А за подсказку спасибо.
А, тогда да, значит у вас как раз аналог чистки автозапуска 🙂
Так есть же программы которые позволяют откл часть разрешений, нужен рут.
Названия в студию!
xprivacy, например.
Эту мы уже обсудили 5 часов назад =)
3C Toolbox, еще раз.
Кстати, когда игрался с разными менеджерами разрешений, столкнулся с тем, что многие приложения просто вылетают при попытке запуска с ошибкой, даже если зарезаны разрешения, не имеющие отношения к основному функционалу. Помнится, фейсбук вылетал при запрете определения местоположения, а яндес.диск — при запрете автозапуска. Пришлось тупо открутить все обратно, т.к. разбираться с комбинациями разрешений для каждого приложения, во-первых, было некогда; во-вторых, была железобетонная уверенность, что это поможет только до следующего обновления приложения из маркета. Спасибо коллегам за подсказку, пощупаю встроенный в Cyanogen менеджер разрешений еще. Возможно, штатный функционал не будет давать такого эффекта.
xprivacy может не просто убрирать права, а подсовывать левые данные приложению.
У меня еще не настолько паранойя победила лень, чтобы так глубоко в этом разбираться 🙂 Но за подсказку спасибо, возможно, воспользуюсь. А он же модулем к икспозед идет? Просто у меня на одном из аппаратов икспозед адски тормозил всю систему и повышал энергопотребление, даже не имея ни одного установленного модуля. С тех пор я к нему с некоторым недоверием отношусь.
да, модуль к xposed. Проблем с ним у меня пока не было.
Когда год назад с этой проблемой разбирался, пришли с коллегами к выводу, что успех взаимодействия с xposed сильно зависит от смартфона и внесенных в системный софт производителем изменений. Так что все на свой страх и риск, если ничего не поменялось за этот год.
В очередной раз сталкиваюсь с тем, что на AMR статьи ни о чём, а комментарии познавательны
Такое впечатление что гугл имеет процет с каждой установки вирусняков и прочих рекламщиков на телефоны пользвателей. Иначе как объяснить, почему убрали опцию конфигурации индивидуальных настроек доступа для каждого приложения.
В ориентированных на пользователя прошивках на андроид уже встроен функционал ограничения доступа к персональным данным. Далее скриншоты Cyanogenmod.
1) Доступ программ к ресурсам (разрешать, блокировать, спрашивать) и статистика такого доступа.
2) Защищенный режим (доступ у программы есть, но видит пустоту).
3) Только зарядка по USB (Подключали где-то телефон к USB для зарядки? Данные с встроенной памяти могли быть скопированы).
Зайдешь в маркет, посмотришь на требуемые разрешения и сразу всё желание что-либо ставить пропадает.