iOS - не может взломать даже ФБР, и дырявое ведро под названием Android.
Android и iOS можно и даже нужно сравнивать. Не затем, чтобы в очередной раз доказать, что iOS намного лучше. А потому, что iOS проигрывает.
Думаю 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, используя немного другие данные. Взгляни:
- Android — 1308 уязвимостей.
- iOS — 1275 уязвимостей.
Это количество всех когда-либо найденных уязвимостей в iOS и Android по данным cvedetails.com. Android занимает первое место, iOS немного отстает. Уже только этой информации достаточно, чтобы развеять миф о том, что Android — решето решетом, а iOS — неприступная крепость. Но мы пойдем немного дальше и взглянем на сами уязвимости.
На момент написания статьи последние три уязвимости Android были такими:
- 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.
- 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.
- 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.
Приведена статистика на основе 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 закроет их в течение двух недель.