Самат Галимов

Гугл наконец-то опубликовал нормальный разбор «что делать», а то PR-опусы как исследователей безопасности (мы всё умрём) так и Intel (ничего не происходит) надоели.

Коротко: гугл починил у себя все три уязвимости и не заметил проседания производительности в продакшене.

Детали: CVE-2017-5753 нужно фиксить отдельно в каждом бинарнике, способном выполнять недоверенный код (читай браузеры, ОС и прочий JIT) — они не пишут, как именно это нужно делать; CVE-2017-5715 чинится обновлением CPU или перекомпиляцией важных бинарников (ОС и гипервизоры) компилятором, умеющим хитрый хак (Google назвал этот хак Retpoline и опубликовал его для GCC и LLVM); CVE-2017-5754 чинится обновлением ОС. Обратите внимание, что гугл не называет эти баги именами собственными, видимо не хочет добавлять хайпа.

На сладкое: status page проектов гугла относительно этих уязвимостей. Мы в Медузе не используем виртуальные машины (только baremetal, только хардкор) и у нас почти нет untrusted code execution, так что в этой серии я участвую только как зритель.

Продолжение истории: чуваки уже смогли эксплуатировать CVE-2017-5753 в Firefox для кражи паролей из джаваскрипта. Mozilla выпустил обновление только что. В обновлении они уменьшают точность таймеров и API получения времени до 20µs (sic, 20 микросекунд), пока не починят корень проблемы. Напомню, что атака основана на замере скорости выполнения операций процессором, так что не имея точного времени произвести её будет нельзя.