Pull to refresh
145.67

В опенсорсе меньше уязвимостей? Похоже, что да

Reading time3 min
Views11K


Безопасность через неясность работает в некоторых редких ситуациях: например, указать нестандартный порт SSH для защиты от брута или закамуфлировать критически важный объект, как сова на фотографии (см. приёмы обфускации кода). Да, есть такие экзотические методы. Но обычно наилучшую защиту обеспечивает максимальная открытость кода.

Чем меньше секретов в коде программы — тем безопаснее.

Насколько справедливо это парадоксальное утверждение? Посмотрим на статистику.

Статистика Project Zero за 2019–2021 годы говорит сама за себя. В таблице указаны 0day, то есть самые опасные уязвимости, найденные специалистами Project Zero:

Вендор Всего багов Исправлено за 90 дней Исправлено в льготный период Просрочили все сроки Среднее время исправления (дней)
Apple 84 73 (87%) 7 (8%) 4 (5%) 69
Microsoft 80 61 (76%) 15 (19%) 4 (5%) 83
Google 56 53 (95%) 2 (4%) 1 (2%) 44
Linux 25 24 (96%) 0 (0%) 1 (4%) 25
Adobe 19 15 (79%) 4 (21%) 0 (0%) 65
Mozilla 10 9 (90%) 1 (10%) 0 (0%) 46
Samsung 10 8 (80%) 2 (20%) 0 (0%) 72
Oracle 7 3 (43%) 0 (0%) 4 (57%) 109
Другие* 55 48 (87%) 3 (5%) 4 (7%) 44
ВСЕГО 346 294 (84%) 34 (10%) 18 (5%) 61
*Apache, ASWF, Avast, AWS, c-ares, Canonical, F5, Facebook, git, Github, glibc, gnupg, gnutls, gstreamer, haproxy, Hashicorp, insidesecure, Intel, Kubernetes, libseccomp, libx264, Logmein, Node.js, opencontainers, QT, Qualcomm, RedHat, Reliance, SCTPLabs, Signal, systemd, Tencent, Tor, udisks, usrsctp, Vandyke, VietTel, webrtc, Zoom

Project Zero — это группа вайтхэтов, то есть этичных хакеров, которых спонсирует Google. Они ищут 0day-уязвимости во всех продуктах, после чего дают разработчикам стандартные 90 дней (+ещё 14) на закрытие уязвимости, прежде чем обнародовать её в открытом доступе.

Важно заметить, что информация в открытом доступе публикуется даже в том случае, если баг ещё не закрыт. Так что этой уязвимостью могут воспользоваться все желающие без исключения, в том числе блэкхеты.

Это очень важный психологический и воспитательный момент, который заставляет компании более оперативно реагировать на сигналы от хакеров.

Как видим, тезис о безопасности опенсорса имеет под собой основания. В опенсорсе действительно меньше уязвимостей, а каждую из них быстрее устраняют, чем в проприетарных системах вроде Windows, macOS и iOS.

К сожалению, в бочке мёда есть ложка дёгтя.

Абсолютной надёжности не бывает


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


Они поставили под сомнение тезис о надёжности опенсорса, снова подняв проблему выгорания мейнтейнеров, которые бескорыстно несут на себе тяжкий груз.

Посторонний человек может даже сделать вывод, что безопасность опенсорса — это какой-то миф. Дело в том, что тезис об абсолютной надёжности был неправильным изначально. Своей относительно высокой безопасностью Open Source заслужил слишком высокую репутацию, которая далека от реальности.

Преимущество свободного софта стали настолько очевидными для всех, что этот факт принимался как данность. Однако абсолютной надёжности и полной безопасности не существует, по определению.


Эшелонированная оборона

На самом деле баги есть везде. Речь идёт только о том, что в опенсорсе их гораздо меньше, чем в закрытом коде. И они быстрее закрываются.

Самая опасная вещь — смартфон


Больше всего уязвимостей находят в мобильных системах. При этом уязвимости в смартфонах закрываются медленнее всего.

Примечание. На первый взгляд кажется, что в iOS находят гораздо больше уязвимостей, чем в Android. На самом деле статистика сильно искажена из-за методики выпуска обновлений безопасности Apple, которая выпускает патчи для приложений iMessage, Facetime и Safari/WebKit в виде обновлений iOS. То есть уязвимости в отдельных приложениях записыаваются в статистику уязвимостей iOS.

Вендор Всего багов Среднее время исправления

iOS

76

70

Android (Samsung)

10

72

Android (Pixel)

6

72

В эту статистику попала и последний 0day для iOS, который эксплуатировался несколько лет и был закрыт только 13 сентября 2021 года в iOS 14.8 (CVE-2021-30860). В данном случае зловред устанавливается через скрытые сообщения iMessage незаметно для пользователей. Для взлома достаточно знать только телефонный номер жертвы и AppleID. Подробнее см. технический отчёт Project Zero.

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

Пользователи Android могут рутануть смарфон и поставить свободную прошивку LineageOS (продолжение известного проекта CyanogenMod), см. инструкцию на Хабре и дополнение к ней. Естественно, код прошивки LineageOS открыт для изучения.

Что ж, сторонники свободного ПО часто говорят, что открытый код безопаснее. Благодаря непрерывному аудиту в нём меньше закладок и опасных багов. Судя по статистике Project Zero, так оно и есть.

Tags:
Hubs:
+4
Comments10

Articles

Information

Website
www.globalsign.com
Registered
Founded
1996
Employees
501–1,000 employees
Location
Япония