Ежегодные соревнования «белых» взломщиков Pwn2Own 2021 состоялись и в этом году. Конечно, онлайн, поскольку пандемия никуда не делась. Участников попросили попробовать взломать 23 разных продукта, чтобы продемонстрировать ранее неизвестные уязвимости и способы их эксплуатации.
Участники соревнования успешно взломали Ubuntu Desktop, Windows 10, Сhrome, Safari, Parallels Desktop, Microsoft Exchange, Microsoft Teams и Zoom. Как всегда, взламывались продукты с последними обновлениями, а не устаревшие версии. Призовой фонд соревнования в этом году составил $1 500 000, из них было выплачено $1 200 000.
Участники предприняли три попытки взломать Ubuntu Desktop. Из них засчитано две: победители этой секции показали способ локального повышения привилегий через эксплуатацию ранее неизвестных уязвимостей. Они связаны с переполнением буфера и двойным освобождением памяти. Подробности станут известны через 90 дней — именно столько дается разработчикам взломанных продуктов для ликвидации проблем. Ну а призовой фонд здесь составил $30 000.
Что касается третьей попытки, то она удалась лишь частично. Эксплоит при этом сработал, дав возможность получить root-привилегии. Но, как оказалось, эта проблема уже была известна разработчикам Ubuntu и они как раз ее фиксили.
Еще одна успешная атака была предпринята в отношении движка Chromium — Google Chrome и Microsoft Edge. Участникам секции удалось создать эксплоит, дающий злоумышленнику возможность выполнить код при открытии специально подготовленной страницы в Chrome и Edge (был создан один универсальный эксплоит для двух браузеров). Награда за успех здесь была больше, чем в случае Ubuntu, — сразу $100 000. Исправление, насколько известно, планируется опубликовать в ближайшие часы. После этого будут технические подробности.
Что еще?
Кроме уже названных, были и другие успешные атаки. В их числе:
- Удачный взлом Zoom, для чего использовалось сразу три уязвимости в ПО Zoom и еще одна — в ОС Windows. За это автору взлома заплатили $200 000. Суть взлома: можно выполнить свой код, отправив сообщение собеседнику, без необходимости совершения со стороны получателя каких-либо действий.
- Взлом Microsoft Exchange, который заключается в обходе аутентификации и локальном повышении привилегий на сервере для получения прав администратора. Успех повторила и вторая команда, но, как оказалось, уязвимость была той же, поэтому премию в $200 000 получила первая команда.
- Взлом Microsoft Teams с выполнением кода на сервере. Приз — $200 000.
- Эксплуатация уязвимости в Safari, с целочисленным переполнением в Safari и переполнением буфера в ядре macOS для обхода “песочницы” и выполнением кода на уровне ядра. Премия — $200 000.
- Взлом Parallels Desktop (выход из виртуальной машины и выполнение кода в основной системе). Атака совершена через эксплуатацию трех разных уязвимостей — утечки неинициализированной памяти, переполнения стека и целочисленного переполнения. Премия — $200 000.
- Дополнительные взломы Parallels Desktop. Логическая ошибка и переполнение буфера, позволившие выполнить код во внешней ОС через действия внутри виртуальной машины, — две премии по $40 000.
- И три эксплуатации уязвимостей в Windows 10: целочисленное переполнение, обращение к уже освобожденной памяти и состояние гонки, позволившие добиться получения привилегий SYSTEM. Было выплачено три премии по $40 000.
Ну и на номинации Firefox, VMware ESXi, Hyper-V client, MS Office 365, MS SharePoint, MS RDP и Adobe Reader не оказалось претендентов. Кроме того, никто не пробовал взломать информационную систему электромобиля Tesla, хотя премия там составляла целых $600 000.
JPEGEC
Странно звучит. Реально разработчики убунту десктопа фиксят уязвимости баша, вима, постфикса и прочих где нашли уязвимость?
Denis_Andreevich
Я не эксперт в области свободного ПО, но уверен, что у Canonical есть свои разработчики, которые хорошо знакомы с исходниками ключевых программ. Те в свою очередь могут контребьютить в мастер-ветку.
JPEGEC
Очень сомнительно. Скорее поверю что свой пакет соберут с патчами поверх оригинального кода.
LynXzp
Нет смысла напрямую контрибьютить в мастер ветки всего ПО, достаточно создать нормальный issue и/или PR, и все будет принято. Патчи хорошо, но кто их поддерживать будет? С течением времени это буду уже форки, а не патчи.
JPEGEC
Я предположу что вы не подавали ченч реквесты в опенсорс. Там тот еще зверинец.
Так же ради интереса загляните в какой из пакетов того же debian. Там норма по 10 патчей от дистростроителей. Притом присутсвуют годами, ожидая когда авторы софта поправят багу.
Автор того же deadbeaf очень быстро бросил попытки пытаться пропихнуть свои исправления, и тащит все либы прямо в пакете.
LynXzp
Подавал. Парочку принимали сражу же. Кстати одно issue было отправлено 31 декабря вечером в deadbeef и исправлено 1 января в первой половине дня. Подавал на совместимость с FreeBSD софта написанного для MacOS, там я в issue вежливо спросил нельзя ли исправить, и показал какие я внес изменения которые бы позволили работать и там и там, автор просто внес эти изменения в мастер без дополнительных вопросов.
Но были случаи разные, например со словами «это уже исправлено в предыдущей версии», хотя я ясно указал что это проблема в новой. Были просто проигнорированы, но скорее в софте уже не поддерживаемом, но используемом. Был отправлен в workaround exist, no need to fix и т.п. Часто просят потанцевать и поприседать правильно оформляя патчи / issue. Но в общем случае все не так плохо.
JPEGEC
Разумеется не так все и плохо, адекватных больше. Но и не так легко и просто как «просто подать и все будет ок». А закрывать нужно прямо сейчас, поэтому патчи к пакету в дистрибутиве.