Специалист Google Project Zero Янн Хорн (Jann Horn) изучил ядро Android, поставляемое компанией Samsung со своими телефонами Galaxy A50, и заявил, что механизмы безопасности, добавленные инженерами Samsung в ядро, не только не обеспечивают полноценной защиты, но и создают дополнительные векторы для атак.
Хорн отмечает, что не проверял ядро в других устройствах Samsung, но считает, что специфичные для этого производителя модификации могут в целом создавать уязвимости и затруднять противодействие атакам. Хуже того, подобная практика вообще распространена среди производителей смартфонов: они нередко добавляют нечто спорное в код ядра Linux, причем upstream-разработчики эти изменения не рассматривают и не могут проконтролировать.
В частности ядро Samsung включает в себя функцию, которая защищает пользовательские данные от чтения или изменения злоумышленниками. Но Хорн обнаружил, что эта функция не только не справляется со своей задачей, но и имеет уязвимости, которые можно использовать для выполнения произвольного кода. Проблема затрагивала дополнительную подсистему безопасности Samsung, которая называется PROCA или Process Authenticator.
PoC-экплоит исследователя демонстрирует, что злоумышленник может получить доступ к БД учетных записей, содержащей конфиденциальные токены аутентификации.
Эксплуатация этой проблемы также сопряжена со старой уязвимостью — багом раскрытия данных в ядре Linux, который имеет идентификатор CVE-2018-17972. Эта проблема давно была исправлена в ядре Linux и ядре Android, но, как оказалось, не в ядре Android, которая компания Samsung использует для своих телефонов.
«Защитные механизмы Samsung не обеспечивают полноценной защиты от злоумышленников, пытающихся взломать ваш телефон, они лишь блокируют простейшие root-инструменты, не кастомизированные для устройств Samsung. Я считаю, что такие модификации не стоят затрат, так как они затрудняют переход на новое ядро (что должно происходить чаще, чем сейчас) и добавляют дополнительное пространство для атаки», — пишет Хорн.
Он отмечает, что механизм PROCA предназначен для ограничения атакующего, который, по сути, уже получил права на чтение и запись в ядре. И, по мнению Хорна, Samsung могла бы создать более эффективную защиту, направив свои ресурсы на то, чтобы злоумышленник вообще не получил такого доступа.
Разработчики Samsung уже исправили эти и другие уязвимости (включая CVE-2018-17972) в рамках февральского вторника обновлений.