В рамках ежегодной конференции CanSecWest проводится соревнование по взлому различных программных окружений. В первый же день российский участник Сергей Глазунов продемонстрировал успешную атаку на актуальную версию Google Chrome с использованием двух ранее не известных уязвимостей. Корпорация сразу обновила браузер, но это не помогло — некто под ником PinkiePie показал ещё один рабочий эксплойт. Результат закономерный, и он лишь подтверждает мысль, что абсолютно надёжных программ не бывает.
Браузер Google по праву считается одним из самых защищённых — хакеры крайне редко демонстрируют способы обхода всех уровней его защиты. Недавно в Google решили увеличить размер вознаграждения за успешный взлом, и эффективность такого материального стимулирования сразу дала себя знать. Сергей Глазунов сумел воспользоваться уязвимостями в подсистеме работы с дополнениями. Его эксплоит был показан на машине с Windows 7 и браузером Chrome со всеми доступными на тот момент обновлениями. При входе на специальным образом сформированную страницу разработчику удалось организовать выполнение произвольного кода на целевой системе с правами запустившего браузер пользователя. В Google отметили высокое качество работы Сергея и согласились выплатить ему 60 000 долларов за успешную атаку.
Практически сразу был выпущен Chrome 17.0.963.78 с устранением обнаруженных россиянином проблем, но чуть позже другой участник продемонстрировал ещё один эксплоит. PinkiePie (в прессе фигурирует только ник исследователя проблем безопасности) также смог обойти все уровни защиты программы, воспользовавшись тремя ранее неизвестными уязвимостями Chrome (в подсистеме загрузки плагинов и в коде работы с памятью GPU). Его эксплоит позволяет запустить произвольный код с правами пользователя на атакуемой системе. В Google решили выплатить за успешный взлом ещё 60 000 долларов, таким образом призовой фонд в 1 000 000 долларов уменьшился на 120 тысяч. Разумеется, компания сразу выпустила второе обновление с номером версии 17.0.963.79. Технические подробности хакер обещает опубликовать после того, как соответствующие исправления внесут в WebKit и другие продукты на его основе. Отсюда можно сделать вывод, что проблемы есть не только в Chrome.
Новости об успешных взломах браузеров на подобных конкурсах забавны, но они демонстрируют серьёзную проблему: пользователи сейчас более активно работают с веб-приложениями и различными сложными онлайн-сервисами, чем несколько лет назад, а браузеры становятся основными каналами доставки вредоносного кода в атакуемые системы. Попытки сделать эти программы надёжными обречены на провал: дыры в них будут находить всегда. И не только на конкурсах. Выход один — заниматься проблемами безопасности комплексно. Прежде всего о том должны позаботиться разработчики ОС — потенциально уязвимые программы следует запускать в изолированном окружении, и их доступ к ресурсам системы необходимо ограничивать. Также стоит повсеместно внедрять системы мандатного контроля доступа. Тогда и антивирусное ПО не понадобится, тем более что оно не обеспечивает должного уровня защиты. Через мои руки прошло немало машин с актуальными лицензионными антивирусами и весёлыми семейками троянов.