- Android и iOS: кто защищен лучше?
- Почему Android может быть безопаснее iOS. Объясняет русский Хакер
- Предыстория: iOS – один, а Android – великое множество
- Рут и джейлбрейк: два названия одной проблемы
- Статистика: когда числа врут
- Почему же iPhone лучше защищен, чем безымянный Android Васи?
- Хочу защищенный смартфон. Что выбрать?
Android и iOS: кто защищен лучше?
24 июня в онлайн-версии журнала PC Week опубликована статья инженера компании A1QA Дмитрия Ильюка “Механизмы обеспечения безопасности в Android и iOS: кто защищен лучше?”. Это взгляд тестировшика на безопасность мобильных девайсов. Предлагаем вам оценить статью.
У безопасности как таковой есть одна печальная особенность зачастую о ней вспоминают лишь тогда, когда думать о ней уже поздно. В мире мобильных девайсов ситуация выглядит еще более тревожно. Сегодня общественность достаточно хорошо осведомлена о последствиях взлома десктопных и веб-приложений, однако до сих пор мало кто задумывается о безопасности использования смартфонов и планшетов.
Всех заинтересованных в защищенности мобильных девайсов лиц можно условно разбить на три категории: рядовые пользователи, компании-разработчики либо владельцы продукта и корпорации. Для каждой группы характерны свои требования к безопасности и связанные с ней риски. В данной статье будут вкратце рассмотрены основные механизмы защиты операционных систем Android и iOS и их эффективность с точки зрения каждой заинтересованной стороны.
С точки зрения разработчиков основной риск безопасности взлом их приложения и, как следствие, потеря клиентов и бизнеса. Если рассматривать способность Pмобильных приложений противостоять локальным и веб-атакам, то обе операционные системы находятся примерно в равных условиях. Следуя практикам Pбезопасной разработки, разработчикам вполне под силу создать хорошо защищенное приложение и для Android, и для iOS.
Как правило, приложения для Android представляют собой программы, написанные на языке Java, который является невосприимчивым к атакам на переполнение Pбуфера, в отличие от программ для iOS, написанных на Objective-C. Приложения для Android можно легко декомпилировать и изменить исходный код на Pвредоносный, поэтому разработчики должны применять техники обфускации кода.
Как уже говорилось, приложения, написанные на Objective-C, потенциально уязвимы к переполнению буфера, однако в арсенале iOS-разработчиков присутствуют Pнеобходимые механизмы, способные предотвратить успешную эксплуатацию таких уязвимостей. К таким механизмам, прежде всего, относятся параметры компиляции, такие как PIE (Position Independent Executable), SSP (Stack Smashing Protection) и ARC (Automatic Reference Counting). Данные параметры обеспечивают эффективное управление памятью и отсутствие ошибок, которые приводят к переполнениям буфера. В дополнение к этому на презентации восьмой версии iOS был представлен новый язык программирования Swift, призванный заменить собой Objective-C. По заявлениям компании Apple, новый язык является более простым в изучении и более безопасным, чем его предшественник. Не приведет ли появляение нового языка программирования к появлению новых уязвимостей, мы сможем узнать уже ближе к концу 2014 г.
Таким образом, Android и iOS-приложения могут быть одинаково хорошо защищенными, и вероятность взлома этих приложений напрямую зависит от мастерства разработчиков.
Безопасность рядовых пользователей мобильных девайсов зависит от безопасности мобильной ОС, которой они пользуются. Даже если на девайсе установлены только хорошо защищенные приложения, конечные пользователи все равно могут быть успешно атакованы через бреши в самой операционной системе. Если по критерию защищенности мобильных приложений обе ОС находятся на примерно одинаковом уровне, то с точки зрения безопасности самой системы Android и iOS значительно различаются между собой.
Прежде чем говорить о различиях в механизмах защиты двух ОС, стоит отметить наличие в них базовых принципов безопасности, таких как доступность системного раздела только для чтения и разграничение выполняемых процессов на уровне ядра. И в Android, и в iOS системный раздел не доступен для записи, что предотвращает случайное либо целенаправленное изменение файлов системы. Также в обоих ОС реализован принцип песочницы (sandbox). Это значит, что каждое приложение работает в изолированном контейнере и не имеет доступа к системным файлам либо ресурсам других приложений. В системе iOS почти все приложения выполняются под непривилегированным пользователем mobile. В Android каждому приложению соответствует свой уникальный пользователь, что обеспечивает разграничение прав выполняемых приложений на уровне ядра операционной системы.
Основные различия в механизмах безопасности Android и iOS относятся к принципам разграничения доступа на уровне ядра, к процессу верификации загружаемого в магазины ПО и к принципам контроля прав доступа устанавливаемых приложений.
Перед тем, как появиться в магазине App Store, iOS-приложения тщательно проверяются на наличие уязвимостей и на соответствие стандартам разработки Apple. Также каждое приложение, устанавливаемое на iOS, должно быть подписано уникальным сертификатом программы iOS Developer Program, который выдается компанией Apple только после необходимых верификаций разработчика. Описанные меры обеспечивают отсутствие вредоносного ПО в магазине приложений App Store.
Google не проверяет приложения перед загрузкой их в Google Play, но проводит регулярные сканирования своего магазина на предмет наличия потенциально вредоносного ПО. Такой подход компании Google может показаться достаточно небезопасным. И действительно, в магазине Google Play размещено большое количество потенциально вредоносного ПО (malware). Однако, согласно исследованиям компании Hewlett-Packard и соответствующему документу HP Security Research Cyber Risk Report 2013, большинство таких программ на самом деле не несут в себе ничего вредоносного и на деле являются обычными рекламными приложениями.
Конечно же в магазине Google Play присутствуют и настоящие вредоносные приложения типа malware, но при должных пользовательских навыках можно полностью оградить себя от воздействия такого рода ПО. Дело в том, что при установке нового приложения на девайс под управлением Android пользователю показывается полный перечень прав доступа, требуемых данному приложению. По этому перечню пользователь может определить потенциально вредоносное ПО и отменить его установку. Например, если приложение Фонарь собирается запрашивать права на доступ к контактным данным либо на доступ к интернету, то данное приложение с определенной долей вероятности можно отнести к вредоносному ПО.
В iOS раздача прав доступа приложениям реализована более гибко. Каждая категория доступа, будь то доступ к камере или к GPS, должна быть подтверждена либо отклонена пользователем.
А что насчет уязвимостей в самой операционной системе? Казалось бы, Android как полностью открытая ОС должна насчитывать огромное количество уязвимостей, найденных специалистами по всему миру. Однако iOS опережает Android по количеству известных уязвимостей (CVE), причем превосходство это довольно значительное: на середину 2014 года iOS всех версий суммарно насчитывает 335 уязвимостей, когда Android только 36. Количество уязвимостей в операционной системе Apple, вероятно, продолжит расти, т.к. с презентацией бета-версии iOS 8 появились новые векторы для атаки: сторонние клавиатуры, множество новых API-вызовов в новом SDK и система управления умным домом HomeKit. Несмотря на такое большое количество уязвимостей, пользователям iOS не стоит беспокоиться о своей защищенности, т.к. Apple, как правило, закрывает новые уязвимости достаточно быстро.
Google, в свою очередь, делает упор на усиление безопасности своей операционной системы. В Android версии 4.4 появился модуль SELinux, который в принудительном режиме осуществляет контроль доступа на уровне ядра (в Android 4.3 SELinux по умолчанию отключен). Данный модуль работает независимо от базовой модели безопасности Linux, основанной на пользователях и группах.
Таким образом, в контексте собственной безопасности операционной системы победителем не является ни одна из двух ОС. И Android, и iOS имеют мощные механизмы защиты от хакерских атак, и обе компании, Google и Apple, уделяют безопасности своих систем повышенное внимание.
В последние годы активно растет число пользователей, которые используют свои личные мобильные девайсы для выполнения рабочих задач. Эта тенденция, получившая название BYOD (Bring Your Own Device), несет в себе определенные риски безопасности для корпораций. При помощи уязвимого либо просто утерянного смартфона или планшета злоумышленники могут получить несанкционированный доступ к секретной документации компании либо к ее внутренним ресурсам, например к почте. В связи с этим возникает потребность в использовании решений типа Mobile Device Management (MDM), позволяющих централизованно управлять политиками безопасности мобильных девайсов, работающих в сетях компании.
С точки зрения безопасности на уровне корпорации ОС от Apple имеет ряд преимуществ перед Android. iOS имеет в своем арсенале мощные средства для централизованного управления девайсами, такие как профили конфигурации, возможность удаленного полного сброса и встроенная поддержка сторонних MDM-решений. Android в чистом виде таких возможностей не имеет. Для интеграции с MDM-системами на Android необходимо предварительно устанавливать специальное ПО.
Стоит отдельно отметить, что компания Samsung ушла далеко вперед в вопросах корпоративной безопасности по сравнению с другими производителями девайсов на Android. Речь идет о программе SAFE (Samsung For Enterprise) и надстройке KNOX, которая представляет собой хорошо защищенный контейнер для всех рабочих активностей пользователей с поддержкой сторонних MDM-систем. Таким образом, все аппараты от Samsung, работающие на Android 4.3 и выше, полностью соответствуют принципам защищенного бизнеса. Тем не менее, Apple имеет гораздо меньшую линейку продуктов, нежели производители Android-девайсов, поэтому ей не составляет труда обеспечить поддержку систем корпоративной безопасности для всех своих смартфонов, планшетов и актуальных версий ОС. В категории наиболее безопасной для использования на уровне компаний операционной системы победителем выходит iOS.
Конечно, в рамках одной статьи невозможно полностью описать все имеющиеся в двух операционных системах возможности по обеспечению безопасности. Для тех, кто хочет углубить свое понимание механизмов защиты, Google и Apple разместили на своих сайтах подробные их описания. Резюмируем основные плюсы и недостатки двух операционных систем с точки зрения безопасности, упомянутые в данной статье:
Плюсы
Открытость для исследователей безопасности
Иммунитет приложений к переполнениям буфера
Строгий контроль доступа на уровне ядра (SELinux)
Минусы
Большое количество потенциально вредоносного ПО в магазине Google Play
Слабые возможности в обеспечении корпоративной безопасности
Большое число версий ОС и моделей девайсов от различных вендоров, что усложняет стандартизацию методов защиты
Плюсы
Тщательный контроль загружаемых в App Store приложений, и, как следствие, практически полное отсутствие вредоносного ПО в магазине приложений
Быстрая реакция Apple на инциденты безопасности
Большие возможности по поддержке систем корпоративной безопасности
Минусы
Большое количество известных уязвимостей в самой операционной системе
Рост числа возможных векторов для атаки (интеграция в экосистему Apple, система HomeKit)
В заключение хотелось бы сказать, что на самом деле сегодня мало кто будет выбирать телефон, учитывая его защищенность как основной критерий. И это правильно, потому что системы Android и iOS по возможностям защиты своих пользователей сегодня находятся на одном уровне. Однако, если безопасность девайса играет решающую роль, то наилучшим выбором будет любой девайс от Apple либо любой девайс от Samsung, работающий на Android 4.3 и выше.
Источник
Почему Android может быть безопаснее iOS. Объясняет русский Хакер
Известно, что iPhone сложнее взломать, чем среднестатистический смартфон на Android. Поэтому принято считать, что iOS автоматически защищена лучше, чем операционная система Google. На самом деле, все с точностью наоборот.
Предыстория: iOS – один, а Android – великое множество
Нет, никто не сошел с ума. Но один из авторов «Хакера», Евгений Зобнин, попробовал составить численную статистику и разобраться с известными уязвимостями. По-русски: сначала посчитал все «дырки» в системах, которые позволяют получить доступ к данным пользователя. А потом выкинул из них все те, которые не относятся к Android.
Как не относятся к Android? Почему iOS – дырявое ведро, ведь доказано обратное? Все оказывается очень просто. Когда мы говорим «iPhone», мы подразумеваем целую экосистему, включающую сам смартфон, операционную систему, сервера Apple и команды разработчиков. Когда мы говорим «смартфон на Android», мы тоже представляем себе целую цепочку. Команда Apple одна. Оболочка – тоже одна. Проблемы тоже распространяются на все устройства. Как и отсутствие «дырок в системе».
С Android все хуже. Каждая мало-мальски «серьезная» компания не только адаптирует общедоступные драйвера, но и калечит операционную систему: вносит дополнительные функции, собственные оболочки, дорабатывает системные приложения и добавляет кучу программного мусора. Поэтому таких цепочек, какие мы представляем при слове «iPhone» – великое множество. Конечно, не отдельная для каждой модели смартфона, и даже не отдельная для каждой компании. Но как минимум своя собственная у каждого крупного бренда.
А еще смартфоны под управлением Android используют процессоры 2 крупных разработчиков (если рассматривать планшеты – все еще 3): MediaTek и Qualcomm. Каждая из компаний, производящих процессоры (точнее, однокристальные платформы, SoC), выпускает собственные драйвера. Аналогично – производители модулей в составе смартфона.
У Apple – 1 команда разработки и доработки. У Android их огромное число. Проблемы вносит и исправляет каждая, часто отдельно от других.
Рут и джейлбрейк: два названия одной проблемы
Как поясняет Евгений, для анализа статистики уязвимостей каждой из мобильных операционных систем стоит рассмотреть джейлбрейк – получение прав рут. Сколько требуется времени, чтобы получить рут на iPhone? В зависимости от версии:
- iOS 6.0 — взломана в тот же день;
- iOS 7.0 — взломана спустя 95 дней;
- iOS 7.1 — взломана спустя 25 дней;
- iOS 8.0 — взломана спустя 35 дней;
- iOS 8.1.1 — взломана спустя 12 дней;
- iOS 9.0 — взломана спустя 28 дней;
- iOS 9.1 — взломана спустя 142 дня;
- iOS 10 — взломана спустя 106 дней.
Для Android все несколько хуже. У MediaTek системный загрузчик фактически не защищен: любой пользователь или зловредная программа, установленная пользователем (и получившая при установке от него необходимые права) могут получит рут и полный контроль над операционной системой в несколько касаний. У операционных систем для аппаратов на базе процессоров Qualcomm для этого требуется немного больше времени и сил.
Впрочем, есть смартфоны, у которых разблокировать загрузчик легально нельзя. У Xiaomi, например, для этого необходимо сначала получить разрешение у компании. И только потом приступить к сложной замене фирменного защищенного загрузчика взломанным. Уже он даст доступ к системе.
Защита Android зависит от разработчика смартфона, а не операционной системы.
Статистика: когда числа врут
Если рассмотреть общую статистику уязвимостей операционных систем, благодаря которым злоумышленник (человек или программа) может получить доступ к данным или аппаратным ресурсам смартфона, iOS намного надежнее:
- Android — 1308 уязвимостей.
- iOS — 1275 уязвимостей.
Но если детально рассмотреть эти цифры, все становится неоднозначно. Например, среди последних уязвимостей Android как минимум 2 – вина не операционной системы, а разработчика драйверов для USB и Wi-Fi (Qualcomm). Встречаются и ошибки непрофессиональных разработчиков китайских устройств – таких команд великое множество, и но фоне 10 смартфонов крупных брендов ошибки в программном обеспечении 100 свежих моделей «китайцев» мгновенно портят статистику.
Получается, что проблемы можно разделить на 2 категории: «дыры» в системе и ошибки в драйверах сторонних разработчиков. Евгений рассмотрел выборку из репрезентативную (правильную) 100 последних известных проблем. Для Android:
- 29 — драйверы Qualcomm;
- 28 — уязвимости Android;
- 20 — ядро CAF, развиваемое Qualcomm;
- 9 — драйверы Mediatek;
- 7 — драйверы Broadcom;
- 4 — уязвимости в прошивках производителей;
- 3 — драйверы Nvidia;
И iOS:
- 99 — уязвимости iOS;
- 1 — драйвер Qualcomm.
Разработчики iOS в 3,5 раза чаще разработчиков Android допускают критические ошибки, приводящие к возможности заражения или потере данных.
Почему же iPhone лучше защищен, чем безымянный Android Васи?
Не смотря на статистику, баги iOS быстро исправляются. Апдейты системы получают все пользователи актуальных версий смартфонов, без исключения. У Android-смартфонов печальнее: только некоторые бренды уделяют должное внимание своевременному обновлению своих прошивок.
Самое неприятное, что крупные компании «забывают» обновлять свои устройства даже чаще, чем «китайцы». Еще на памяти ситуация с LG и Sony, отказывавшим в обновлении устройствам моложе года.
Могу ошибаться, но стабильные обновления выпускает только Google (включая партнерские смартфоны проекта Android One), Samsung, OnePlus и Xiaomi. Причем последняя «штопает дыры» еженедельно, даже не спрашивая покупателя – нужно ли.
Ошибки в Android могут распространяться с устаревшей системой 2-3 года. Ошибки в iOS просто исчезают после выпуска новой версии. Если бы не это, покупатели смартфонов Apple были бы жутко разочарованы – компания допускает очень много критических ошибок.
Хочу защищенный смартфон. Что выбрать?
Cамая надежная защита – купить смартфон бренда, уделяющего достаточное внимание обновлениям операционной системы.
- Лучше всего – Google Nexus, Pixel или смартфон проекта Android One. Все они работают под управлением чистого Android, обладают наименьшим числом программных багов и получают обновления системы в течении 3 лет.
- Среди остальных брендов доверие вызывают Samsung, Xiaomi, OnePlus. Xiaomi критические апдейты и свежие версии ОС для всего модельного ряда, не забывая даже свой первый массовый смартфон.
- Если ни один из вариантов невозможен, нужно выбирать смартфон, для которого существует официальная версия LineageOS. Она обновляется на всех поддерживаемых устройствах и спасет в том случае, если производитель «забьет».
- Купить iPhone. Какие бы проблемы не нашлись – Apple закроет дыры для злоумышленников в течении 2 недель.
Источник