Найти тему
eastbladerr

Android безопаснее iOS?

Странный заголовок, не правда ли? Автор, должно быть, рехнулся, если решил сравнить безопасность iOS, которую не может взломать даже ФБР, и дырявое ведро под названием Android. Но я серьезен: Android и iOS можно и даже нужно сравнивать. Не затем, чтобы в очередной раз доказать, что iOS намного лучше. А потому, что iOS проигрывает.

-2

Я убежден, что iPhone гораздо безопаснее смартфонов на Android. Это очевидный факт, который проистекает из того, что Apple полностью контролирует экосистему своих устройств: свое железо, свой единственный App Store, быстрые апдейты напрямую от разработчиков iOS, в ОС никто не вносит правок, кроме самой Apple. Компания не только развивает iOS, но и управляет всем вокруг нее, включая сами устройства.

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

Для начала небольшая табличка:

  • iPhone OS 1.0 — взломана спустя 11 дней;
  • iPhone OS 2.0 — взломана спустя 35 дней;
  • iPhone OS 3.0 — взломана спустя 2 дня;
  • iOS 4.0 — взломана спустя 2 дня;
  • iOS 5.0 — взломана спустя 1 день;
  • 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 дней.

Она показывает, сколько дней прошло между релизом новой версии iOS и первым джейлбрейком. В контексте обсуждения безопасности это очень важная таблица, потому что технически джейлбрейк — это не что иное, как получение прав root. А права root, в свою очередь, дают полный контроль над устройством, и получить их можно только одним путем — обойдя защитные механизмы ОС.

Ты можешь сказать, что Android тоже рутят все кому не лень, и будешь прав. Однако здесь есть множество нюансов, включая такие факторы, как частая возможность получить root «легально» (разблокировав загрузчик), существование огромного количества устройств на процессорах MTK, в которых загрузчик в принципе не заблокирован, а также дыры, которые не относятся напрямую к Android и появились благодаря криворукости компании-производителя.

В общем, сходную таблицу для Android составить практически невозможно, но мы можем сравнить iOS и Android, используя немного другие данные. Взгляни:

  1. Android — 1308 уязвимостей.
  2. iOS — 1275 уязвимостей.

Это количество всех когда-либо найденных уязвимостей в iOS и Android по данным cvedetails.com. Android занимает первое место, iOS немного отстает. Уже только этой информации достаточно, чтобы развеять миф о том, что Android — решето решетом, а iOS — неприступная крепость. Но мы пойдем немного дальше и взглянем на сами уязвимости.

На момент написания статьи последние три уязвимости Android были такими:

  1. The lockscreen on Elephone P9000 devices (running Android 6.0) allows physically proximate attackers to bypass a wrong-PIN lockout feature by pressing backspace after each PIN guess.
  2. In all Qualcomm products with Android releases from CAF using the Linux kernel, a race condition in a WLAN driver can lead to a Use After Free condition.
  3. In all Qualcomm products with Android releases from CAF using the Linux kernel, a race condition in a USB driver can lead to a Use After Free condition.

Один баг в реализации экрана блокировки в дешевом китайском куске пластика под названием Elephone P9000 и две уязвимости в фирменных драйверах Qualcomm, автор которых — сама Qualcomm и которые имеют такое же отношение к Android, какое драйвер для видеокарты Nvidia имеет к Windows.

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

  • 29 — драйверы Qualcomm;
  • 28 — уязвимости Android;
  • 20 — ядро CAF, развиваемое Qualcomm;
  • 9 — драйверы Mediatek;
  • 7 — драйверы Broadcom;
  • 4 — уязвимости в прошивках производителей;
  • 3 — драйверы Nvidia.

Итого: почти половина уязвимостей найдена в драйверах (и фирменном ядре) Qualcomm, меньше трети — в коде самого Android. Та же выборка для iOS:

  • 99 — уязвимости iOS;
  • 1 — драйвер Qualcomm.

Ты, конечно же, можешь возразить, что мой анализ слишком примитивен, я взял весь срез уязвимостей, включив в него DoS, уязвимости с низким рейтингом и тому подобное. Но давай посмотрим правде в глаза. Я привел статистику на основе 100 уязвимостей, это 8% из всех зарегистрированных за все время существования ОС багов. Если это нерепрезентативная выборка, то я не знаю, какая будет репрезентативной.

А теперь взглянем на самые известные и страшные баги, о которых не так давно трубили на каждом углу. Вот неполный список для iOS:

  • CVE-2009-2204 (до 3.0.1) — просмотр вредоносного сообщения SMS может привести к неожиданному сбою устройства или выполнению произвольного кода;
  • CVE-2010-3832 (до 4.2) — удаленное исполнение кода в процессоре GSM-модема;
  • CVE-2012-0672 (до 5.1.1) — удаленное исполнение кода с помощью специальным образом сформированной web-страницы;
  • CVE-2016-4631 (до 9.3.3) — удаленное исполнение кода с помощью показа изображения в формате TIFF на веб-странице, в письме, сообщении и подобном;
  • Trident (до 9.3.5) — пользователь кликает по ссылке, после чего троян делает джейлбрейк и размещается в системе;
  • Broadpwn (до 10.3.3) — удаленное исполнение кода через отправку особым образом сформированных Wi-Fi-фреймов (этот же баг присутствует в смартфонах на Android).

Для Android можно привести такой же список, и более чем наполовину он будет состоять из найденных в 2015–2016 годах багов Stagefright. Разница только в том, что о багах iOS быстро забывают, они просто перестают быть актуальными из-за обновления всех устройств до новой версии ОС. А вот о багах Android помнят долго, ведь уязвимости даже двух- и трехлетней давности остаются актуальными для миллионов устройств.

Если говорить об уязвимостях, iOS определенно не самая защищенная ОС, а Android не самая дырявая. А вот среднестатистический смартфон на Android — это решето. Все эти модификации, добавленные производителем, баги в фирменных загрузчиках, вечные проблемы с обновлениями — все это сводит на нет старания Google сделать Android безопаснее.

Поэтому, если ты выбираешь смартфон на Android, следуй нескольким советам.

  • Лучший выбор — это Nexus, Pixel и смартфоны Android One. Они работают под управлением «чистого» Android и получают оперативные обновления в течение трех лет (два года обычных обновлений и один год обновлений безопасности).
  • Если лучший выбор невозможен, посмотри в сторону смартфона, для которого есть официальная поддержка LineageOS, в первую очередь это Samsung и OnePlus. Если производитель перестанет обновлять устройство, у тебя всегда будет возможность перейти на LineageOS и продолжать получать обновления.
  • Не надейся, что твой китайский смартфон на процессоре MTK будет сложно взломать. Человек с самой начальной подготовкой сольет с него данные на счет раз.

Если же твой выбор — iPhone, то у тебя вообще никаких проблем. Сколько бы багов ни было найдено в iOS, Apple закроет их в течение двух недель.