Спецпроекты

Безопасность Пользователю Стратегия безопасности Техника

Новая «дыра» в macOS позволяет «взломать» MacBook в один клик

Уязвимость нулевого дня в операционной системе Apple macOS High Sierra позволяет обходить ключевой элемент защиты и полностью cкомпрометировать машину.
Недружественное расширение В операционной системе macOS, используемой на MacBook и настольных компьютерах Apple, обнаружена ранее неизвестная уязвимость, которая позволяет злоумышленнику сымитировать клик мышью во всплывающем окне с уведомлением безопасности и таким образом «одобрить» установку любого расширения ядра, в том числе вредоносного. По факту это означает получение доступа к ядру и полной компрометации системы злоумышленником. Уязвимость выявил известный эксперт Патрик Уордл (Patrick Wardle), ведущий исследователь фирмы Digital Security. О своей находке Уордл рассказал на конференции Defcon 2018. Синтезированный клик Ещё раньше Уордл описывал, как злоумышленники с локальным доступом могут использовать уязвимости в сторонних расширениях для ядра операционной системы для обхода требования Apple к наличию у кода ядра цифровых подписей. В ответ Apple повысили уровень безопасности macOS, реализовав новую функцию: User Assisted Kernel Extension Loading (Загрузка расширений ядра с активным участием пользователя). Эта функция подразумевает, что загрузка любого разрешения требует однозначного разрешения от пользователя. Уязвимость в macOS High Sierra позволяет обходить ключевой элемент защиты и полностью cкомпрометировать машину Проблема в том, что злоумышленники в прошлом применяли различные методы «синтезирования кликов», позволявших злоумышленникам обходить защитные механизмы, включая имитацию нажатия по кнопке Allow (Разрешить) в окне предупреждения Security Warning. В последних версиях операционной системы Apple были реализованы защитные механизмы, направленные как раз на то, чтобы фильтровать или избирательно игнорировать «синтезированные события» - например, «фальшивые» клики мышью, - как раз чтобы предотвращать подобные атаки. Трудности интерпретации Однако довольно нелепый баг в High Sierra делает все эти предосторожности бесполезными: как выяснил Уордл, по какой-то причине система интерпретирует два последовательных «синтетических» события мыши mousedown (то есть, имитируемых нажатия клавиши) как реальное нажатие (down) и отпускание (up) физической клавиши мыши, если курсор располагается над кнопкой «Разрешить». Причём второе событие интерпретируется так, будто оно исходит непосредственно от операционной системы, поэтому его фильтрации не происходит. Таким образом, эту «странность» можно использовать для обхода ключевого защитного механизма операционной системы - и тем самым получить полный доступ к ядру. Уордл утверждает, что обнаружил «баг» совершенно случайно и был очень удивлён результатами. «Я по ошибке скопировал и вставил код для «синтезированного» события down дважды, забыв сменить значение нужного параметра на up. Не заметив своей «ошибки», я скомпилировал и запустил код и, честно говоря, был изумлён, когда увидел, что в итоге у меня сгенерился полный «клик», - рассказал эксперт. «Ситуация, по меньшей мере, удивительная, - говорит Олег Галушкин, директор по информационной безопасности компании SEC Consult Services. - В самом деле, две строки кода фактически делают бесполезным один из ключевых защитных рубежей операционной системы. На репутации Apple и её программных разработок эта история может сказаться весьма негативно. Как бы там ни было, следует помнить, что даже в самых зрелых и надёжных продуктах защитные механизмы могут давать критические сбои». В следующей версии macOS Apple планирует вообще запретить "синтезированные" события. Это решит проблему, однако, как отметил Уордл, это также может негативно сказаться на множестве приложений, использующих эту функциональность.

Роман Георгиев

Короткая ссылка